commit 8e0ee43bc2c3e19db56a4adaa9a9b04ce885cd84 Author: Linus Torvalds Date: Mon Mar 23 16:12:14 2009 -0700 Linux 2.6.29 commit 003086497f07f7f1e67c0c295e261740f822b377 Author: Kyle McMartin Date: Mon Mar 23 15:25:49 2009 -0400 Build with -fno-dwarf2-cfi-asm With a sufficiently new compiler and binutils, code which wasn't previously generating .eh_frame sections has begun to. Certain architectures (powerpc, in this case) may generate unexpected relocation formats in response to this, preventing modules from loading. While the new relocation types should probably be handled, revert to the previous behaviour with regards to generation of .eh_frame sections. (This was reported against Fedora, which appears to be the only distro doing any building against gcc-4.4 at present: RH bz#486545.) Signed-off-by: Kyle McMartin Acked-by: Roland McGrath Cc: Alexandre Oliva Cc: Sam Ravnborg Signed-off-by: Linus Torvalds commit 1db4b2d221f14b9715c717dbd9a476469a687080 Author: Jody McIntyre Date: Mon Mar 23 13:13:34 2009 -0400 trivial: fix orphan dates in ext2 documentation Revert the change to the orphan dates of Windows 95, DOS, compression. Add a new orphan date for OS/2. Signed-off-by: Jody McIntyre Acked-by: Pavel Machek Signed-off-by: Linus Torvalds commit d56ffd38a93841a07c839a375049a56b51e9567c Merge: 12a37b5 61fa9dc Author: Linus Torvalds Date: Mon Mar 23 09:25:58 2009 -0700 Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-2.6 * git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-2.6: (32 commits) ucc_geth: Fix oops when using fixed-link support dm9000: locking bugfix net: update dnet.c for bus_id removal dnet: DNET should depend on HAS_IOMEM dca: add missing copyright/license headers nl80211: Check that function pointer != NULL before using it sungem: missing net_device_ops be2net: fix to restore vlan ids into BE2 during a IF DOWN->UP cycle be2net: replenish when posting to rx-queue is starved in out of mem conditions bas_gigaset: correctly allocate USB interrupt transfer buffer smsc911x: reset last known duplex and carrier on open sh_eth: Fix mistake of the address of SH7763 sh_eth: Change handling of IRQ netns: oops in ip[6]_frag_reasm incrementing stats net: kfree(napi->skb) => kfree_skb net: fix sctp breakage ipv6: fix display of local and remote sit endpoints net: Document /proc/sys/net/core/netdev_budget tulip: fix crash on iface up with shirq debug virtio_net: Make virtio_net support carrier detection ... commit 12a37b5e2c93f6550b82490c3de6d4eedc509c39 Merge: 53da1d9 0702b30 Author: Linus Torvalds Date: Mon Mar 23 09:25:24 2009 -0700 Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/sparc-2.6 * git://git.kernel.org/pub/scm/linux/kernel/git/davem/sparc-2.6: sparc64: Fix crash with /proc/iomem sparc64: Reschedule KGDB capture to a software interrupt. sbus: Auto-load openprom module when device opened. commit 53da1d9456fe7f87a920a78fdbdcf1225d197cb7 Author: Miklos Szeredi Date: Mon Mar 23 16:07:24 2009 +0100 fix ptrace slowness This patch fixes bug #12208: Bug-Entry : http://bugzilla.kernel.org/show_bug.cgi?id=12208 Subject : uml is very slow on 2.6.28 host This turned out to be not a scheduler regression, but an already existing problem in ptrace being triggered by subtle scheduler changes. The problem is this: - task A is ptracing task B - task B stops on a trace event - task A is woken up and preempts task B - task A calls ptrace on task B, which does ptrace_check_attach() - this calls wait_task_inactive(), which sees that task B is still on the runq - task A goes to sleep for a jiffy - ... Since UML does lots of the above sequences, those jiffies quickly add up to make it slow as hell. This patch solves this by not rescheduling in read_unlock() after ptrace_stop() has woken up the tracer. Thanks to Oleg Nesterov and Ingo Molnar for the feedback. Signed-off-by: Miklos Szeredi CC: stable@kernel.org Signed-off-by: Linus Torvalds commit b0dcb4a91ddb79f2e213205cf8d86b467f8559c7 Merge: 59fcbdd 345953c Author: Linus Torvalds Date: Mon Mar 23 08:03:09 2009 -0700 Merge branch 'merge' of git://git.kernel.org/pub/scm/linux/kernel/git/galak/powerpc * 'merge' of git://git.kernel.org/pub/scm/linux/kernel/git/galak/powerpc: powerpc/mm: Fix Respect _PAGE_COHERENT on classic ppc32 SW TLB load machines commit 345953cf9a44b19c98f8c0fe6ca7724202bcdb94 Author: Kumar Gala Date: Sat Mar 14 09:23:03 2009 -0500 powerpc/mm: Fix Respect _PAGE_COHERENT on classic ppc32 SW TLB load machines Grant picked up the wrong version of "Respect _PAGE_COHERENT on classic ppc32 SW" (commit a4bd6a93c3f14691c8a29e53eb04dc734b27f0db) It was missing the code to actually deal with the fixup of _PAGE_COHERENT based on the CPU feature. Signed-off-by: Kumar Gala commit 61fa9dcf9329cb92c220f7b656410fbe5e72f933 Author: Anton Vorontsov Date: Sun Mar 22 21:30:52 2009 -0700 ucc_geth: Fix oops when using fixed-link support commit b1c4a9dddf09fe99b8f88252718ac5b357363dc4 ("ucc_geth: Change uec phy id to the same format as gianfar's") introduced a regression in the ucc_geth driver that causes this oops when fixed-link is used: Unable to handle kernel paging request for data at address 0x00000000 Faulting instruction address: 0xc0151270 Oops: Kernel access of bad area, sig: 11 [#1] TMCUTU NIP: c0151270 LR: c0151270 CTR: c0017760 REGS: cf81fa60 TRAP: 0300 Not tainted (2.6.29-rc8) MSR: 00009032 CR: 24024042 XER: 20000000 DAR: 00000000, DSISR: 20000000 TASK = cf81cba0[1] 'swapper' THREAD: cf81e000 GPR00: c0151270 cf81fb10 cf81cba0 00000000 c0272e20 c025f354 00001e80 cf86b08c GPR08: d1068200 cffffb74 06000000 d106c200 42024042 10085148 0fffd000 0ffc81a0 GPR16: 00000001 00000001 00000000 007ffeb0 00000000 0000c000 cf83f36c cf83f000 GPR24: 00000030 cf83f360 cf81fb20 00000000 d106c200 20000000 00001e80 cf83f360 NIP [c0151270] ucc_geth_open+0x330/0x1efc LR [c0151270] ucc_geth_open+0x330/0x1efc Call Trace: [cf81fb10] [c0151270] ucc_geth_open+0x330/0x1efc (unreliable) [cf81fba0] [c0187638] dev_open+0xbc/0x12c [cf81fbc0] [c0187e38] dev_change_flags+0x8c/0x1b0 This patch fixes the issue by removing offending (and somewhat duplicate) code from init_phy() routine, and changes _probe() function to use uec_mdio_bus_name(). Also, since we fully construct phy_bus_id in the _probe() routine, we no longer need ->phy_address and ->mdio_bus fields in ucc_geth_info structure. I wish the patch would be a bit shorter, but it seems like the only way to fix the issue in a sane way. Luckily, the patch has been tested with real PHYs and fixed-link, so no further regressions expected. Reported-by: Joakim Tjernlund Signed-off-by: Anton Vorontsov Tested-by: Joakim Tjernlund Signed-off-by: David S. Miller commit e3162d381fc359ebe5c98a3e216888a7cb200051 Author: David Brownell Date: Sun Mar 22 21:28:39 2009 -0700 dm9000: locking bugfix This fixes a locking bug in the dm9000 driver. It calls request_irq() without setting IRQF_DISABLED ... which is correct for handlers that support IRQ sharing, since that behavior is not guaranteed for shared IRQs. However, its IRQ handler then wrongly assumes that IRQs are blocked. So the fix just uses the right spinlock primitives in the IRQ handler. NOTE: this is a classic example of the type of bug which lockdep currently masks by forcibly setting IRQF_DISABLED on IRQ handlers that did not request that flag. Signed-off-by: David Brownell Signed-off-by: David S. Miller commit 6580f57d485f70851218813fa053d971915f61fb Author: Stephen Rothwell Date: Sun Mar 22 21:22:48 2009 -0700 net: update dnet.c for bus_id removal Signed-off-by: Stephen Rothwell Signed-off-by: David S. Miller commit 59fcbddaff6f862cc1584b488866d9c4a5579085 Merge: 39678e5 b0fe551 Author: Linus Torvalds Date: Sun Mar 22 11:41:02 2009 -0700 Merge git://git.kernel.org/pub/scm/linux/kernel/git/sam/kbuild-fixes * git://git.kernel.org/pub/scm/linux/kernel/git/sam/kbuild-fixes: kconfig: improve seed in randconfig kconfig: fix randconfig for choice blocks commit 39678e5e38055753ae08007ec8bcae31b122a0d0 Merge: f762dd6 7a2cf4a Author: Linus Torvalds Date: Sun Mar 22 11:38:57 2009 -0700 Merge branch 'fix-includes' of git://git.kernel.org/pub/scm/linux/kernel/git/gerg/m68knommu * 'fix-includes' of git://git.kernel.org/pub/scm/linux/kernel/git/gerg/m68knommu: m68k: merge the non-MMU and MMU versions of siginfo.h m68k: use the MMU version of unistd.h for all m68k platforms m68k: merge the non-MMU and MMU versions of signal.h m68k: merge the non-MMU and MMU versions of ptrace.h m68k: use MMU version of setup.h for both MMU and non-MMU m68k: merge the non-MMU and MMU versions of sigcontext.h m68k: merge the non-MMU and MMU versions of swab.h m68k: merge the non-MMU and MMU versions of param.h commit f762dd68218665bb87d4e4a0eeac86fde7530293 Author: Gertjan van Wingerde Date: Sat Mar 21 23:18:57 2009 +0100 Update my email address Update all previous incarnations of my email address to the correct one. Signed-off-by: Gertjan van Wingerde Signed-off-by: Linus Torvalds commit 2aac0cf88681bfa092f731553bc7fbd23516be73 Author: Tyler Hicks Date: Fri Mar 20 02:23:57 2009 -0500 eCryptfs: NULL crypt_stat dereference during lookup If ecryptfs_encrypted_view or ecryptfs_xattr_metadata were being specified as mount options, a NULL pointer dereference of crypt_stat was possible during lookup. This patch moves the crypt_stat assignment into ecryptfs_lookup_and_interpose_lower(), ensuring that crypt_stat will not be NULL before we attempt to dereference it. Thanks to Dan Carpenter and his static analysis tool, smatch, for finding this bug. Signed-off-by: Tyler Hicks Acked-by: Dustin Kirkland Cc: Dan Carpenter Cc: Serge Hallyn Signed-off-by: Linus Torvalds commit 8faece5f906725c10e7a1f6caf84452abadbdc7b Author: Tyler Hicks Date: Fri Mar 20 01:25:09 2009 -0500 eCryptfs: Allocate a variable number of pages for file headers When allocating the memory used to store the eCryptfs header contents, a single, zeroed page was being allocated with get_zeroed_page(). However, the size of an eCryptfs header is either PAGE_CACHE_SIZE or ECRYPTFS_MINIMUM_HEADER_EXTENT_SIZE (8192), whichever is larger, and is stored in the file's private_data->crypt_stat->num_header_bytes_at_front field. ecryptfs_write_metadata_to_contents() was using num_header_bytes_at_front to decide how many bytes should be written to the lower filesystem for the file header. Unfortunately, at least 8K was being written from the page, despite the chance of the single, zeroed page being smaller than 8K. This resulted in random areas of kernel memory being written between the 0x1000 and 0x1FFF bytes offsets in the eCryptfs file headers if PAGE_SIZE was 4K. This patch allocates a variable number of pages, calculated with num_header_bytes_at_front, and passes the number of allocated pages along to ecryptfs_write_metadata_to_contents(). Thanks to Florian Streibelt for reporting the data leak and working with me to find the problem. 2.6.28 is the only kernel release with this vulnerability. Corresponds to CVE-2009-0787 Signed-off-by: Tyler Hicks Acked-by: Dustin Kirkland Reviewed-by: Eric Sandeen Reviewed-by: Eugene Teo Cc: Greg KH Cc: dann frazier Cc: Serge E. Hallyn Cc: Florian Streibelt Cc: stable@kernel.org Signed-off-by: Linus Torvalds commit 18a0d89e54ca0f6f33582f99ae39867b2c975559 Author: Benjamin Herrenschmidt Date: Fri Mar 20 09:22:30 2009 +1100 radeonfb: Whack the PCI PM register until it sticks This fixes a regression introduced when we switched to using the core pci_set_power_state(). The chip seems to need the state to be written over and over again until it sticks, so we do that. Note that the code is a bit blunt, without timeout, etc... but that's pretty much because I put back in there the code exactly as it used to be before the regression. I still add a call to pci_set_power_state() at the end so that ACPI gets called appropriately on x86. Signed-off-by: Benjamin Herrenschmidt Tested-by: Raymond Wooninck Acked-by: Rafael J. Wysocki Cc: Jesse Barnes Cc: Andrew Morton Signed-off-by: Linus Torvalds commit 4b97926ddf51b3919c859e2086fef3c8c3c46c61 Author: Ilya Yanok Date: Sat Mar 21 16:58:47 2009 -0700 dnet: DNET should depend on HAS_IOMEM Signed-off-by: Ilya Yanok Signed-off-by: David S. Miller commit e2fc4d19292ef2eb208f76976ddc3320cc5839b6 Author: Maciej Sosnowski Date: Sat Mar 21 13:31:23 2009 -0700 dca: add missing copyright/license headers In two dca files copyright and license headers are missing. This patch adds them there. Signed-off-by: Maciej Sosnowski Signed-off-by: David S. Miller commit c2f3252b8531c56990ea50e040cbcdf11a233436 Merge: 5ed0102 f3f9258 Author: David S. Miller Date: Fri Mar 20 14:53:36 2009 -0700 Merge branch 'master' of git://git.kernel.org/pub/scm/linux/kernel/git/linville/wireless-2.6 commit f3f9258678b081c3ef2f036aef450cd2053ef419 Author: Jouni Malinen Date: Fri Mar 20 17:57:36 2009 +0200 nl80211: Check that function pointer != NULL before using it NL80211_CMD_GET_MESH_PARAMS and NL80211_CMD_SET_MESH_PARAMS handlers did not verify whether a function pointer is NULL (not supported by the driver) before trying to call the function. The former nl80211 command is available for unprivileged users, too, so this can potentially allow normal users to kill networking (or worse..) if mac80211 is built without CONFIG_MAC80211_MESH=y. Signed-off-by: Jouni Malinen Signed-off-by: John W. Linville commit 5ed0102fbf36f58091089907213b4bd191ca2e0c Author: Stephen Hemminger Date: Thu Mar 19 23:58:01 2009 -0700 sungem: missing net_device_ops Sungem driver only got partially converted to net_device_ops. Since this could cause bugs, please push this to 2.6.29 Signed-off-by: Stephen Hemminger Signed-off-by: David S. Miller commit 1ab1ab7543de53c945ea24140409ef67ed173eb4 Author: Sathya Perla Date: Thu Mar 19 23:56:46 2009 -0700 be2net: fix to restore vlan ids into BE2 during a IF DOWN->UP cycle This is a patch to reconfigure vlan-ids during an i/f down/up cycle Signed-off-by: Sathya Perla Signed-off-by: David S. Miller commit ea1dae11e0baca5d633207fe50fc3cd30a5d68ee Author: Sathya Perla Date: Thu Mar 19 23:56:20 2009 -0700 be2net: replenish when posting to rx-queue is starved in out of mem conditions This is a patch to replenish the rx-queue when it is in a starved state (due to out-of-mem conditions) Signed-off-by: Sathya Perla Signed-off-by: David S. Miller commit 65c24491b4fef017c64e39ec64384fde5e05e0a0 Author: Jeff Moyer Date: Wed Mar 18 17:04:21 2009 -0700 aio: lookup_ioctx can return the wrong value when looking up a bogus context The libaio test harness turned up a problem whereby lookup_ioctx on a bogus io context was returning the 1 valid io context from the list (harness/cases/3.p). Because of that, an extra put_iocontext was done, and when the process exited, it hit a BUG_ON in the put_iocontext macro called from exit_aio (since we expect a users count of 1 and instead get 0). The problem was introduced by "aio: make the lookup_ioctx() lockless" (commit abf137dd7712132ee56d5b3143c2ff61a72a5faa). Thanks to Zach for pointing out that hlist_for_each_entry_rcu will not return with a NULL tpos at the end of the loop, even if the entry was not found. Signed-off-by: Jeff Moyer Acked-by: Zach Brown Acked-by: Jens Axboe Cc: Benjamin LaHaise Cc: Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 87c3a86e1c220121d0ced59d1a71e78ed9abc6dd Author: Davide Libenzi Date: Wed Mar 18 17:04:19 2009 -0700 eventfd: remove fput() call from possible IRQ context Remove a source of fput() call from inside IRQ context. Myself, like Eric, wasn't able to reproduce an fput() call from IRQ context, but Jeff said he was able to, with the attached test program. Independently from this, the bug is conceptually there, so we might be better off fixing it. This patch adds an optimization similar to the one we already do on ->ki_filp, on ->ki_eventfd. Playing with ->f_count directly is not pretty in general, but the alternative here would be to add a brand new delayed fput() infrastructure, that I'm not sure is worth it. Signed-off-by: Davide Libenzi Cc: Benjamin LaHaise Cc: Trond Myklebust Cc: Eric Dumazet Signed-off-by: Jeff Moyer Cc: Zach Brown Cc: Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit d0115552cdb0b4d4146975889fee2e9355515c4b Author: Linus Torvalds Date: Thu Mar 19 15:53:19 2009 -0700 Move cc-option to below arch-specific setup Sam Ravnborg says: "We have several architectures that plays strange games with $(CC) and $(CROSS_COMPILE). So we need to postpone any use of $(call cc-option..) until we have included the arch specific Makefile so we try with the correct $(CC) version." Requested-by: Sam Ravnborg Signed-off-by: Linus Torvalds commit caa81d671f485dc54960e37a888d3b55349850a9 Merge: 2d8620c 0fb1d9b Author: Linus Torvalds Date: Thu Mar 19 14:56:35 2009 -0700 Merge branch 'for-linus' of git://git390.marist.edu/pub/scm/linux-2.6 * 'for-linus' of git://git390.marist.edu/pub/scm/linux-2.6: [S390] make page table upgrade work again [S390] make page table walking more robust [S390] Dont check for pfn_valid() in uaccess_pt.c [S390] ftrace/mcount: fix kernel stack backchain [S390] topology: define SD_MC_INIT to fix performance regression [S390] __div64_31 broken for CONFIG_MARCH_G5 commit 2d8620cb880c796c9a9b59fe8d4ff37d726acfea Merge: fe2fd6c 96fe2ab Author: Linus Torvalds Date: Thu Mar 19 14:50:15 2009 -0700 Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jikos/hid * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jikos/hid: HID: fix waitqueue usage in hiddev HID: fix incorrect free in hiddev commit fe2fd6cc346cc7199a52250e8fb594852b2a321b Merge: a8e7d49 913d952 Author: Linus Torvalds Date: Thu Mar 19 14:49:55 2009 -0700 Merge git://git.kernel.org/pub/scm/linux/kernel/git/mason/btrfs-unstable * git://git.kernel.org/pub/scm/linux/kernel/git/mason/btrfs-unstable: Btrfs: Clear space_info full when adding new devices Btrfs: Fix locking around adding new space_info commit a8e7d49aa7be728c4ae241a75a2a124cdcabc0c5 Author: Linus Torvalds Date: Thu Mar 19 11:32:05 2009 -0700 Fix race in create_empty_buffers() vs __set_page_dirty_buffers() Nick Piggin noticed this (very unlikely) race between setting a page dirty and creating the buffers for it - we need to hold the mapping private_lock until we've set the page dirty bit in order to make sure that create_empty_buffers() might not build up a set of buffers without the dirty bits set when the page is dirty. I doubt anybody has ever hit this race (and it didn't solve the issue Nick was looking at), but as Nick says: "Still, it does appear to solve a real race, which we should close." Acked-by: Nick Piggin Signed-off-by: Linus Torvalds commit 68df3755e383e6fecf2354a67b08f92f18536594 Author: Linus Torvalds Date: Thu Mar 19 11:10:17 2009 -0700 Add '-fwrapv' to gcc CFLAGS This makes sure that gcc doesn't try to optimize away wrapping arithmetic, which the kernel occasionally uses for overflow testing, ie things like if (ptr + offset < ptr) which technically is undefined for non-unsigned types. See http://bugzilla.kernel.org/show_bug.cgi?id=12597 for details. Not all versions of gcc support it, so we need to make it conditional (it looks like it was introduced in gcc-3.4). Reminded-by: Alan Cox Signed-off-by: Linus Torvalds commit 0702b30dd821ac8a4103ddbe545518713fdca9be Merge: 192d7a4 a1e4ee2 Author: David S. Miller Date: Wed Mar 18 23:53:57 2009 -0700 Merge branch 'master' of /home/davem/src/GIT/linux-2.6/ commit 192d7a4667c6d11d1a174ec4cad9a3c5d5f9043c Author: Mikulas Patocka Date: Wed Mar 18 23:53:16 2009 -0700 sparc64: Fix crash with /proc/iomem When you compile kernel on Sparc64 with heap memory checking and type "cat /proc/iomem", you get a crash, because pointers in struct resource are uninitialized. Most code fills struct resource with zeros, so I assume that it is responsibility of the caller of request_resource to initialized it, not the responsibility of request_resource functuion. After 2.6.29 is out, there could be a check for uninitialized fields added to request_resource to avoid crashes like this. Signed-off-by: Mikulas Patocka Signed-off-by: David S. Miller commit 42cc77c861e8e850e86252bb5b1e12e006261973 Author: David S. Miller Date: Wed Mar 18 23:51:57 2009 -0700 sparc64: Reschedule KGDB capture to a software interrupt. Otherwise it might interrupt switch_to() midstream and use half-cooked register window state. Reported-by: Chris Torek Signed-off-by: David S. Miller commit 170ebf85160dd128e1c4206cc197cce7d1424705 Author: Tilman Schmidt Date: Wed Mar 18 23:44:23 2009 -0700 bas_gigaset: correctly allocate USB interrupt transfer buffer Every USB transfer buffer has to be allocated individually by kmalloc. Impact: bugfix, no functional change Signed-off-by: Tilman Schmidt Tested-by: Kolja Waschk Signed-off-by: David S. Miller commit 44c1d6f99d4c86638bffabf0b7a232d0fe7ae574 Author: Steve Glendinning Date: Wed Mar 18 23:37:18 2009 -0700 smsc911x: reset last known duplex and carrier on open smsc911x_phy_adjust_link is called periodically by the phy layer (as it's run in polling mode), and it only updates the hardware when it sees a change in duplex or carrier. This patch clears the last known values every time the interface is brought up, instead of only when the module is loaded. Without this patch the adjust_link function never updates the hardware after an ifconfig down; ifconfig up. On a full duplex link this causes the tx error counter to increment, even though packets are correctly transmitted, as the default MAC_CR register setting is for half duplex. The tx errors are "no carrier" errors, which should be ignored in full-duplex mode. When MAC_CR is set to "full duplex" mode they are correctly ignored by the hardware. Note that even with this patch the tx error counter can increment if packets are transmitted between "ifconfig up" and the first phy poll interval. An improved solution would use the phy interrupt with phylib, but I haven't managed to make this work 100% robustly yet. Signed-off-by: Steve Glendinning Signed-off-by: David S. Miller commit 2e2a6a9f710255c87cef670fb71fc9e74bef1da2 Author: Nobuhiro Iwamatsu Date: Mon Mar 16 19:52:23 2009 +0000 sh_eth: Fix mistake of the address of SH7763 Address of SH_TSU_ADDR and ARSTR of SH7763 was wrong. This revise it. Signed-off-by: Nobuhiro Iwamatsu Signed-off-by: David S. Miller commit 0e0fde3c8d65524b8dfd834332d6e4a92711a66a Author: Nobuhiro Iwamatsu Date: Mon Mar 16 19:50:57 2009 +0000 sh_eth: Change handling of IRQ Handling of IRQ of the SH7763/SH7764 CPU which sh_eth supported was changed. This revises it for this change. Signed-off-by: Nobuhiro Iwamatsu Signed-off-by: David S. Miller commit 2bad35b7c9588eb5e65c03bcae54e7eb6b1a6504 Author: Jorge Boncompte [DTI2] Date: Wed Mar 18 23:26:11 2009 -0700 netns: oops in ip[6]_frag_reasm incrementing stats dev can be NULL in ip[6]_frag_reasm for skb's coming from RAW sockets. Quagga's OSPFD sends fragmented packets on a RAW socket, when netfilter conntrack reassembles them on the OUTPUT path you hit this code path. You can test it with something like "hping2 -0 -d 2000 -f AA.BB.CC.DD" With help from Jarek Poplawski. Signed-off-by: Jorge Boncompte [DTI2] Signed-off-by: David S. Miller commit e4a389a9b5c892446b5de2038bdc0cca8703c615 Author: Roel Kluin Date: Wed Mar 18 23:12:13 2009 -0700 net: kfree(napi->skb) => kfree_skb struct sk_buff pointers should be freed with kfree_skb. Signed-off-by: Roel Kluin Signed-off-by: David S. Miller commit cb0dc77de0d23615a845e45844a2e22fc224d7fe Author: Al Viro Date: Wed Mar 18 19:12:42 2009 -0700 net: fix sctp breakage broken by commit 5e739d1752aca4e8f3e794d431503bfca3162df4; AFAICS should be -stable fodder as well... Signed-off-by: Al Viro Aced-by: Vlad Yasevich Signed-off-by: David S. Miller commit 1b1d8f73a44fe1796a73a97ebcb08cad18b97f07 Author: Bjørn Mork Date: Wed Mar 18 18:56:54 2009 -0700 ipv6: fix display of local and remote sit endpoints This fixes the regressions cause by commit 1326c3d5a4b792a2b15877feb7fb691f8945d203 (v2.6.28-rc6-461-g23a12b1) broke the display of local and remote addresses of an SIT tunnel in iproute2. nt->parms is used by ipip6_tunnel_init() and therefore need to be initialized first. Tracked as http://bugzilla.kernel.org/show_bug.cgi?id=12868 Reported-by: Jan Engelhardt Signed-off-by: Bjørn Mork Signed-off-by: David S. Miller commit e9c6a586f5335938b11be0a2554af58a2860e4ef Author: Stanislaw Gruszka Date: Wed Mar 18 18:51:06 2009 -0700 net: Document /proc/sys/net/core/netdev_budget The NAPI poll parameter netdev_budget is not documented in kernel-docs. Since it may have a substantial effect on at least some network loads, it should be. Signed-off-by: Stanislaw Gruszka Signed-off-by: David S. Miller commit 69145635d4db0a0382885b14634aa5b721f3aa1a Author: Kyle McMartin Date: Wed Mar 18 18:49:01 2009 -0700 tulip: fix crash on iface up with shirq debug Tulip is currently doing request_irq before it has done its initialization. This is usually not a problem because it hasn't enable interrupts yet, but with DEBUG_SHIRQ on, we call the irq handler when registering the interrupt as a sanity check. This can result in a NULL ptr dereference, so call tulip_init_ring before request_irq, and add a free_ring function to do the freeing now shared with tulip_close. Tested with a shell loop running ifup, ifdown in a loop a few hundred times with DEBUG_SHIRQ on. Signed-off-by: Kyle McMartin Signed-off-by: David S. Miller commit 4783256ef92f5aecd6d54693b16386f2a0021c2a Author: Pantelis Koukousoulas Date: Wed Mar 18 18:40:02 2009 -0700 virtio_net: Make virtio_net support carrier detection Impact: Make NetworkManager work with virtio_net For now the semantics are simple: There is always carrier. This allows a seamless experience with e.g., qemu/kvm where NetworkManager just configures and sets up everything automagically. If/when a generally agreed-upon way to control carrier on/off in the emulator/hypervisor level emerges, it will be trivial to extend the driver to support that too, but for now even this 2-liner makes user experience that much better. Signed-off-by: Pantelis Koukousoulas Signed-off-by: Rusty Russell Signed-off-by: David S. Miller commit 17d04500e2528217de5fe967599f98ee84348a9c Author: Jay Vosburgh Date: Wed Mar 18 18:38:25 2009 -0700 bonding: Fix updating of speed/duplex changes This patch corrects an omission from the following commit: commit f0c76d61779b153dbfb955db3f144c62d02173c2 Author: Jay Vosburgh Date: Wed Jul 2 18:21:58 2008 -0700 bonding: refactor mii monitor The un-refactored code checked the link speed and duplex of every slave on every pass; the refactored code did not do so. The 802.3ad and balance-alb/tlb modes utilize the speed and duplex information, and require it to be kept up to date. This patch adds a notifier check to perform the appropriate updating when the slave device speed changes. Signed-off-by: Jay Vosburgh Signed-off-by: David S. Miller commit 690103137267e9ed893febf7ff061af63e8235a9 Author: Michael Chan Date: Wed Mar 18 18:11:51 2009 -0700 bnx2: Fix problem of using wrong IRQ handler. The MSI-X handler was chosen before the call to pci_enable_msix(). If MSI-X was not available, the wrong MSI-X handler would be used in INTA mode. This would cause a screaming interrupt problem because INTA would not be cleared by the MSI-X handler. Fixed by assigning MSI-X handler after pci_enable_msix() returns successfully. Also update version to 1.9.3. Thomas Chenault helped us find this problem. Signed-off-by: Michael Chan Signed-off-by: David S. Miller commit a1e4ee22863d41a6fbb24310d7951836cb6dafe7 Merge: 85bff88 d0573fa Author: Linus Torvalds Date: Wed Mar 18 09:34:17 2009 -0700 Merge git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/staging-2.6 * git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/staging-2.6: Staging: benet: remove driver now that it is merged in drivers/net/ commit 85bff8857c62ab2bc3ed204de3fcde74781bbdb2 Merge: d941d0e 76a67ec Author: Linus Torvalds Date: Wed Mar 18 09:27:20 2009 -0700 Merge branch 'for-2.6.29' of git://linux-nfs.org/~bfields/linux * 'for-2.6.29' of git://linux-nfs.org/~bfields/linux: nfsd: nfsd should drop CAP_MKNOD for non-root NFSD: provide encode routine for OP_OPENATTR commit d0573facf21d1e5cfbc1ddac272b7592722e6c01 Author: Greg Kroah-Hartman Date: Wed Mar 18 09:22:17 2009 -0700 Staging: benet: remove driver now that it is merged in drivers/net/ The benet driver is now in the proper place in drivers/net/benet, so we can remove the staging version. Acked-by: Sathya Perla Cc: David S. Miller Signed-off-by: Greg Kroah-Hartman commit d941d0ed6bf274ca267dd4de5861ffd24e1ae8f8 Merge: 8144737 9aac397 Author: Linus Torvalds Date: Wed Mar 18 09:05:40 2009 -0700 Merge branch 'merge' of git://git.kernel.org/pub/scm/linux/kernel/git/benh/powerpc * 'merge' of git://git.kernel.org/pub/scm/linux/kernel/git/benh/powerpc: powerpc/ps3: ps3_defconfig updates powerpc/mm: Respect _PAGE_COHERENT on classic ppc32 SW powerpc/5200: Enable CPU_FTR_NEED_COHERENT for MPC52xx ps3/block: Replace mtd/ps3vram by block/ps3vram commit 8144737def6abc49457124424887436531bd6a50 Merge: 99dbe10 6e2b757 Author: Linus Torvalds Date: Wed Mar 18 09:04:25 2009 -0700 Merge git://git.kernel.org/pub/scm/linux/kernel/git/rusty/linux-2.6-for-linus * git://git.kernel.org/pub/scm/linux/kernel/git/rusty/linux-2.6-for-linus: module: fix refptr allocation and release order commit 99dbe10968b495c14badbd50aee59a7f0459c8e6 Merge: bd27e6d 8a0845c Author: Linus Torvalds Date: Wed Mar 18 09:03:18 2009 -0700 Merge git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/usb-2.6 * git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/usb-2.6: USB: storage: Unusual USB device Prolific 2507 variation added USB: Add device id for Option GTM380 to option driver USB: Add Vendor/Product ID for new CDMA U727 to option driver USB: Updated unusual-devs entry for USB mass storage on Nokia 6233 USB: Option: let cdc-acm handle Sony Ericsson F3507g / Dell 5530 USB: EHCI: expedite unlinks when the root hub is suspended USB: EHCI: Fix isochronous URB leak USB: option.c: add ZTE 622 modem device USB: wusbcore/wa-xfer, fix lock imbalance USB: misc/vstusb, fix lock imbalance USB: misc/adutux, fix lock imbalance USB: image/mdc800, fix lock imbalance USB: atm/cxacru, fix lock imbalance USB: unusual_devs: Add support for GI 0431 SD-Card interface USB: serial: new cp2101 device id USB: serial: ftdi: enable UART detection on gnICE JTAG adaptors blacklist interface0 USB: serial: add FTDI USB/Serial converter devices USB: usbfs: keep async URBs until the device file is closed USB: usbtmc: add protocol 1 support USB: usbtmc: fix stupid bug in open() commit bd27e6d3d27ce1485a64a4851c4dcf58e663b132 Merge: 58cefd2 f1aa298 Author: Linus Torvalds Date: Wed Mar 18 07:39:11 2009 -0700 Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tiwai/sound-2.6 * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tiwai/sound-2.6: ALSA: Fix vunmap and free order in snd_free_sgbuf_pages() ALSA: mixart, fix lock imbalance ALSA: pcm_oss, fix locking typo ALSA: oss-mixer - Fixes recording gain control ALSA: hda - Workaround for buggy DMA position on ATI controllers ALSA: hda - Fix DMA mask for ATI controllers ALSA: opl3sa2 - Fix NULL dereference when suspending snd_opl3sa2 commit 0fb1d9bcbcf701a45835aa150c57ca54ea685bfa Author: Martin Schwidefsky Date: Wed Mar 18 13:27:37 2009 +0100 [S390] make page table upgrade work again After TASK_SIZE now gives the current size of the address space the upgrade of a 64 bit process from 3 to 4 levels of page table needs to use the arch_mmap_check hook to catch large mmap lengths. The get_unmapped_area* functions need to check for -ENOMEM from the arch_get_unmapped_area*, upgrade the page table and retry. Signed-off-by: Martin Schwidefsky commit f481bfafd36e621d6cbc62d4b25f74811410aef7 Author: Martin Schwidefsky Date: Wed Mar 18 13:27:36 2009 +0100 [S390] make page table walking more robust Make page table walking on s390 more robust. The current code requires that the pgd/pud/pmd/pte loop is only done for address ranges that are below the end address of the last vma of the address space. But this is not always true, e.g. the generic page table walker does not guarantee this. Change TASK_SIZE/TASK_SIZE_OF to reflect the current size of the address space. This makes the generic page table walker happy but it breaks the upgrade of a 3 level page table to a 4 level page table. To make the upgrade work again another fix is required. Signed-off-by: Martin Schwidefsky commit 2887fc5aa60803b9d6d38c79248805f08d8b0e28 Author: Gerald Schaefer Date: Wed Mar 18 13:27:35 2009 +0100 [S390] Dont check for pfn_valid() in uaccess_pt.c pfn_valid() actually checks for a valid struct page and not for a valid pfn. Using xip mappings w/o struct pages, this will result in -EFAULT returned by the (page table walk) user copy functions, even though there is valid memory. Those user copy functions don't need a struct page, so this patch just removes the pfn_valid() check. Signed-off-by: Gerald Schaefer Signed-off-by: Martin Schwidefsky commit cf087343805ebfea2b1234b06fd5f12273e865b1 Author: Heiko Carstens Date: Wed Mar 18 13:27:34 2009 +0100 [S390] ftrace/mcount: fix kernel stack backchain With packed stack the backchain is at a different location. Just use __SF_BACKCHAIN as an offset to store the backchain. Signed-off-by: Heiko Carstens Signed-off-by: Martin Schwidefsky commit f55d63854e426e95d7858c2662c2353262a5af70 Author: Heiko Carstens Date: Wed Mar 18 13:27:33 2009 +0100 [S390] topology: define SD_MC_INIT to fix performance regression The default values for SD_MC_INIT cause an additional cpu usage of up to 40% on some network benchmarks compared to the plain SD_CPU_INIT values. So just define SD_MC_INIT to SD_CPU_INIT. More tuning needs to be done. Signed-off-by: Heiko Carstens Signed-off-by: Martin Schwidefsky commit 4fa81ed27781a12f6303b9263056635ae74e3e21 Author: Martin Schwidefsky Date: Wed Mar 18 13:27:32 2009 +0100 [S390] __div64_31 broken for CONFIG_MARCH_G5 The implementation of __div64_31 for G5 machines is broken. The comments in __div64_31 are correct, only the code does not do what the comments say. The part "If the remainder has overflown subtract base and increase the quotient" is only partially realized, the base is subtracted correctly but the quotient is only increased if the dividend had the last bit set. Using the correct instruction fixes the problem. Cc: stable@kernel.org Reported-by: Frans Pop Tested-by: Frans Pop Signed-off-by: Martin Schwidefsky commit f1aa2986795387ff785d1c13ad9cb9159b202e87 Merge: a232ee6 dde332b Author: Takashi Iwai Date: Wed Mar 18 08:04:36 2009 +0100 Merge branch 'fix/opl3sa2-suspend' into for-linus commit a232ee66e015da806936dc410684f5639035f066 Merge: 6af845e c673ba1 Author: Takashi Iwai Date: Wed Mar 18 08:04:16 2009 +0100 Merge branch 'fix/hda' into for-linus commit 6af845e4eb36fb91b322aaf77ec1cab2220a48ad Author: Takashi Iwai Date: Tue Mar 17 14:00:06 2009 +0100 ALSA: Fix vunmap and free order in snd_free_sgbuf_pages() In snd_free_sgbuf_pags(), vunmap() is called after releasing the SG pages, and it causes errors on Xen as Xen manages the pages differently. Although no significant errors have been reported on the actual hardware, this order should be fixed other way round, first vunmap() then free pages. Cc: Jan Beulich Cc: Signed-off-by: Takashi Iwai commit 82f5d57163abed2e5ff271d03217b6f90c616eb8 Author: Jiri Slaby Date: Wed Mar 11 20:11:41 2009 +0100 ALSA: mixart, fix lock imbalance There is an omitted unlock in one snd_mixart_hw_params fail path. Fix it. Signed-off-by: Jiri Slaby Cc: Signed-off-by: Takashi Iwai commit 91054598f794fb5d8a0b1e747ff8e2e8fc2115b3 Author: Jiri Slaby Date: Wed Mar 11 20:11:40 2009 +0100 ALSA: pcm_oss, fix locking typo s/mutex_lock/mutex_unlock/ on 2 fail paths in snd_pcm_oss_proc_write. Probably a typo, lock should be unlocked when leaving the function. Signed-off-by: Jiri Slaby Cc: Signed-off-by: Takashi Iwai commit 36c7b833e5d2501142a371e4e75281d3a29fbd6b Author: Viral Mehta Date: Tue Mar 10 15:43:18 2009 +0100 ALSA: oss-mixer - Fixes recording gain control At the time of initialization, SNDRV_MIXER_OSS_PRESENT_PVOLUME bit is not set for MIC (slot 7). So, the same should not be checked when an application tries to do gain control for audio recording devices. Just check slot->present for SNDRV_MIXER_OSS_PRESENT_CVOLUME independently. Verified with a simple application which opens /dev/dsp for recording and /dev/mixer for volume control. Have tested two usb audio mic devices. Signed-off-by: Viral Mehta Signed-off-by: Takashi Iwai commit c673ba1c23941173c16ff24c7cb34199e826c8b5 Author: Takashi Iwai Date: Tue Mar 17 07:49:14 2009 +0100 ALSA: hda - Workaround for buggy DMA position on ATI controllers The position-buffer on ATI controllers are unreliable as well as on VIA chips, thus the same workaround for DMA position reading as VIA is useful for ATI. Cc: Signed-off-by: Takashi Iwai commit 09240cf429505891d6123ce14a29f58f2a60121e Author: Takashi Iwai Date: Tue Mar 17 07:47:18 2009 +0100 ALSA: hda - Fix DMA mask for ATI controllers ATI controllers (at least some SB0600 models) appear buggy to handle 64bit DMA. As a workaround, reset GCAP bit0 and let the driver to use only 32bit DMA on these controllers. Cc: Signed-off-by: Takashi Iwai commit 58cefd2b1e062147502302179503dc51907426d1 Merge: ee568b2 d33a197 Author: Linus Torvalds Date: Tue Mar 17 20:55:40 2009 -0700 Merge branch 'for_linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tytso/ext4 * 'for_linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tytso/ext4: ext4: fix bb_prealloc_list corruption due to wrong group locking ext4: fix bogus BUG_ONs in in mballoc code ext4: Print the find_group_flex() warning only once ext4: fix header check in ext4_ext_search_right() for deep extent trees. commit 9aac397525dc7945b1582a80cef5860516bca452 Author: Geoff Levand Date: Fri Mar 13 06:52:22 2009 +0000 powerpc/ps3: ps3_defconfig updates Update ps3_defconfig. Sets these options: CONFIG_PS3_VRAM=m CONFIG_BLK_DEV_DM=m CONFIG_USB_HIDDEV=y CONFIG_EXT4_FS=y Signed-off-by: Geoff Levand Signed-off-by: Benjamin Herrenschmidt commit c71327ad9f925a4ddbf24db80ce66165104c4ed0 Merge: f507cd2 a4bd6a9 Author: Benjamin Herrenschmidt Date: Wed Mar 18 13:16:30 2009 +1100 Merge commit 'gcl/merge' into merge commit 6e2b75740bed35df98b8113300579e13ed2ce848 Author: Masami Hiramatsu Date: Mon Mar 16 18:13:36 2009 -0400 module: fix refptr allocation and release order Impact: fix ref-after-free crash on failed module load Fix refptr bug: Change refptr allocation and release order not to access a module data structure pointed by 'mod' after freeing mod->module_core. This bug will cause kernel panic(e.g. failed to find undefined symbols). This bug was reported on systemtap bugzilla. http://sources.redhat.com/bugzilla/show_bug.cgi?id=9927 Signed-off-by: Masami Hiramatsu Cc: Eric Dumazet Signed-off-by: Rusty Russell commit f10023a4ef3f5cc05457b059c6880bc447adfa1f Merge: 4ada810 640c65e Author: David S. Miller Date: Tue Mar 17 14:29:22 2009 -0700 Merge branch 'master' of git://git.kernel.org/pub/scm/linux/kernel/git/linville/wireless-2.6 commit 8a0845c51b2e300f5204a323b874f7f58ea0eff7 Author: Thomas Bartosik Date: Mon Mar 16 16:04:38 2009 +0100 USB: storage: Unusual USB device Prolific 2507 variation added The "c-enter" USB to Toshiba 1.8" IDE enclosure needs special treatment to work flawlessly. This patch is absolutely trivial, as the integrated USB-IDE bridge is already identified to be an "unusual" device, only the bcdDevice is different (lower) to the bcdDeviceMin already included in the kernel. It is a Prolific 2507 bridge. T: Bus=02 Lev=01 Prnt=01 Port=02 Cnt=01 Dev#= 4 Spd=480 MxCh= 0 D: Ver= 2.00 Cls=00(>ifc ) Sub=00 Prot=00 MxPS=64 #Cfgs= 1 P: Vendor=067b ProdID=2507 Rev= 0.01 S: Manufacturer=Prolific Technology Inc. S: Product=ATAPI-6 Bridge Controller S: SerialNumber=00000272 C:* #Ifs= 1 Cfg#= 1 Atr=c0 MxPwr=100mA I:* If#= 0 Alt= 0 #EPs= 2 Cls=08(stor.) Sub=06 Prot=50 Driver=usb-storage E: Ad=01(O) Atr=02(Bulk) MxPS= 512 Ivl=0ms E: Ad=82(I) Atr=02(Bulk) MxPS= 512 Ivl=0ms Signed-off-by: Thomas Bartosik Cc: stable Signed-off-by: Greg Kroah-Hartman commit e7f2f0d77a7b483a26054f29ba8393831b25a8a4 Author: Achilleas Kotsis Date: Mon Mar 16 16:35:02 2009 +0200 USB: Add device id for Option GTM380 to option driver Option GTM380 in Modem mode uses Product ID 0x7201. This has been tested and works on production systems for over 6 months. Signed-off-by: Achilleas Kotsis Cc: stable Signed-off-by: Greg Kroah-Hartman commit 56a21827439a4d715b510bfaf488534e6f4ad2f8 Author: Dirk Hohndel Date: Sat Mar 14 20:47:39 2009 -0700 USB: Add Vendor/Product ID for new CDMA U727 to option driver * newer versions of the Novatel Wireless U727 CDMA 3G USB stick have a different Product ID (0x5010); adding this ID makes them work just fine with the option driver Signed-off-by: Dirk Hohndel Cc: stable Signed-off-by: Greg Kroah-Hartman commit 716a9c8561d9c50ec454f4fbd39a265892feda2c Author: Moritz Muehlenhoff Date: Sat Mar 14 00:43:21 2009 +0100 USB: Updated unusual-devs entry for USB mass storage on Nokia 6233 Current firmware revision 5.60 still behaves the same, so update the quirk up a (non-existing) 99.99 revision. http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=493415 Signed-off-by: Moritz Muehlenhoff Tested-by: Jan Heitkoetter Cc: stable Signed-off-by: Phil Dibowitz commit 0cc6bfe901b946df125d8e37186d8e45f876457d Author: Dan Williams Date: Thu Mar 12 06:53:00 2009 -0400 USB: Option: let cdc-acm handle Sony Ericsson F3507g / Dell 5530 The generic cdc-acm driver is now the best one to handle Sony Ericsson F3507g-based devices (which the Dell 5530 is a rebrand of), now that all the pieces are in place (ie, cac477e8f1038c41b6f29d3161ce351462ef3df7). Removing the IDs from option allows cdc-acm to handle the device. Signed-off-by: Dan Williams Cc: stable Signed-off-by: Greg Kroah-Hartman commit 391016f6e2fe3b9979b4c6880a76e5e434d6947c Author: Alan Stern Date: Mon Mar 16 14:21:56 2009 -0400 USB: EHCI: expedite unlinks when the root hub is suspended This patch (as1225) fixes a bug in ehci-hcd. The condition for whether unlinked QHs can become IDLE should not be that the controller is halted, but rather that the controller isn't running. In other words when the root hub is suspended, the hardware doesn't own any QHs. This fixes a problem that can show up during hibernation: If a QH is only partially unlinked when the root hub is frozen, then when the root hub is thawed the QH won't be in the IDLE state. As a result it can't be used properly for new URB submissions. Signed-off-by: Alan Stern Reported-by: Brandon Philips Tested-by: Brandon Philips Acked-by: David Brownell Cc: Stable Signed-off-by: Greg Kroah-Hartman commit 508db8c954d55ed30f870d2c24d741ba6269d13c Author: Karsten Wiese Date: Thu Feb 26 01:47:48 2009 +0100 USB: EHCI: Fix isochronous URB leak ehci-hcd uses usb_get_urb() and usb_put_urb() in an unbalanced way causing isochronous URB's kref.counts incrementing once per usb_submit_urb() call. The culprit is *usb being set to NULL when usb_put_urb() is called after URB is given back. Due to other fixes there is no need for ehci-hcd to deal with usb_get_urb() nor usb_put_urb() anymore, so patch removes their usages in ehci-hcd. Patch also makes ehci_to_hcd(ehci)->self.bandwidth_allocated adjust, if a stream finishes. Signed-off-by: Karsten Wiese Cc: David Brownell Cc: stable Signed-off-by: Greg Kroah-Hartman commit 9ea19b82f3126da4e47d6b94563a3c2cd586f6e2 Author: Albert Pauw Date: Sun Mar 1 09:37:52 2009 +0100 USB: option.c: add ZTE 622 modem device Please consider this small patch for the usb option-card driver. This patch adds the ZTE 622 usb modem device. Signed-off-by: Albert Pauw Cc: stable Signed-off-by: Greg Kroah-Hartman commit 49fa09215c03116449184057f062c6aea2f1d0b4 Author: Jiri Slaby Date: Wed Mar 11 21:47:40 2009 +0100 USB: wusbcore/wa-xfer, fix lock imbalance Fix locking on one wa_urb_enqueue_b's fail path. There was omitted unlock. Signed-off-by: Jiri Slaby Cc: Inaky Perez-Gonzalez Signed-off-by: Greg Kroah-Hartman commit a08b43aee46ed4272ad7bee2c785edcf313339b3 Author: Jiri Slaby Date: Wed Mar 11 21:47:39 2009 +0100 USB: misc/vstusb, fix lock imbalance Make sure we don't leak locked vstdev->lock in vstusb_write. Unlock properly on one fail path. Signed-off-by: Jiri Slaby Signed-off-by: Greg Kroah-Hartman commit 46c9844c4014be53c67622dcd3ba4302f36e9cac Author: Jiri Slaby Date: Wed Mar 11 21:47:38 2009 +0100 USB: misc/adutux, fix lock imbalance Don't unlock adutux_mutex when not held. Signed-off-by: Jiri Slaby Signed-off-by: Greg Kroah-Hartman commit 909b6c3fc20ea772dc63a03986d74148fcbb1a1d Author: Jiri Slaby Date: Wed Mar 11 21:47:37 2009 +0100 USB: image/mdc800, fix lock imbalance There is an omitted unlock in mdc800_usb_probe's fail path. Add it. Signed-off-by: Jiri Slaby Cc: Henning Zabel Signed-off-by: Greg Kroah-Hartman commit eeafa64b7a4134da24d48ed944e48541f8171152 Author: Jiri Slaby Date: Wed Mar 11 21:47:36 2009 +0100 USB: atm/cxacru, fix lock imbalance We do not hold mutex in one place in cxacru_cm, but unlock it on fail path. Fix this. Signed-off-by: Jiri Slaby Cc: Simon Arlott Signed-off-by: Greg Kroah-Hartman commit c497e715f93d148d751c055401568684eea0bf6b Author: Jan Dumon Date: Tue Mar 10 17:29:47 2009 +0100 USB: unusual_devs: Add support for GI 0431 SD-Card interface Enable the SD-Card interface on the GI 0431 HSUPA stick from Option. The unusual_devs.h entry is necessary because the device descriptor is vendor-specific. That prevents usb-storage from binding to it as an interface driver. T: Bus=07 Lev=01 Prnt=01 Port=01 Cnt=02 Dev#= 15 Spd=480 MxCh= 0 D: Ver= 2.00 Cls=ff(vend.) Sub=ff Prot=ff MxPS=64 #Cfgs= 1 P: Vendor=0af0 ProdID=7501 Rev= 0.00 S: Manufacturer=Option N.V. S: Product=Globetrotter HSUPA Modem C:* #Ifs=11 Cfg#= 1 Atr=a0 MxPwr=500mA I:* If#= 0 Alt= 0 #EPs= 2 Cls=ff(vend.) Sub=ff Prot=ff Driver=hso E: Ad=81(I) Atr=02(Bulk) MxPS= 512 Ivl=0ms E: Ad=01(O) Atr=02(Bulk) MxPS= 512 Ivl=4ms I:* If#= 1 Alt= 0 #EPs= 2 Cls=ff(vend.) Sub=ff Prot=ff Driver=(none) E: Ad=82(I) Atr=02(Bulk) MxPS= 512 Ivl=0ms E: Ad=02(O) Atr=02(Bulk) MxPS= 512 Ivl=4ms I:* If#= 2 Alt= 0 #EPs= 2 Cls=ff(vend.) Sub=ff Prot=ff Driver=(none) E: Ad=83(I) Atr=02(Bulk) MxPS= 512 Ivl=0ms E: Ad=03(O) Atr=02(Bulk) MxPS= 512 Ivl=4ms I:* If#= 3 Alt= 0 #EPs= 2 Cls=ff(vend.) Sub=ff Prot=ff Driver=hso E: Ad=84(I) Atr=02(Bulk) MxPS= 512 Ivl=0ms E: Ad=04(O) Atr=02(Bulk) MxPS= 512 Ivl=4ms I:* If#= 4 Alt= 0 #EPs= 2 Cls=ff(vend.) Sub=ff Prot=ff Driver=(none) E: Ad=85(I) Atr=02(Bulk) MxPS= 512 Ivl=0ms E: Ad=05(O) Atr=02(Bulk) MxPS= 512 Ivl=4ms I:* If#= 5 Alt= 0 #EPs= 2 Cls=ff(vend.) Sub=ff Prot=ff Driver=(none) E: Ad=86(I) Atr=02(Bulk) MxPS= 512 Ivl=0ms E: Ad=06(O) Atr=02(Bulk) MxPS= 512 Ivl=4ms I:* If#= 6 Alt= 0 #EPs= 2 Cls=ff(vend.) Sub=ff Prot=ff Driver=hso E: Ad=87(I) Atr=02(Bulk) MxPS= 512 Ivl=0ms E: Ad=07(O) Atr=02(Bulk) MxPS= 512 Ivl=4ms I:* If#= 7 Alt= 0 #EPs= 2 Cls=ff(vend.) Sub=ff Prot=ff Driver=hso E: Ad=88(I) Atr=02(Bulk) MxPS= 512 Ivl=0ms E: Ad=08(O) Atr=02(Bulk) MxPS= 512 Ivl=4ms I:* If#= 8 Alt= 0 #EPs= 2 Cls=ff(vend.) Sub=ff Prot=ff Driver=(none) E: Ad=89(I) Atr=02(Bulk) MxPS= 512 Ivl=0ms E: Ad=09(O) Atr=02(Bulk) MxPS= 512 Ivl=4ms I:* If#= 9 Alt= 0 #EPs= 3 Cls=ff(vend.) Sub=ff Prot=ff Driver=hso E: Ad=8a(I) Atr=03(Int.) MxPS= 64 Ivl=2ms E: Ad=8b(I) Atr=02(Bulk) MxPS= 512 Ivl=0ms E: Ad=0a(O) Atr=02(Bulk) MxPS= 512 Ivl=4ms I:* If#=10 Alt= 0 #EPs= 2 Cls=08(stor.) Sub=06 Prot=50 Driver=usb-storage E: Ad=0b(O) Atr=02(Bulk) MxPS= 512 Ivl=0ms E: Ad=8c(I) Atr=02(Bulk) MxPS= 512 Ivl=0ms Signed-off-by: Jan Dumon Signed-off-by: Phil Dibowitz Cc: stable Signed-off-by: Greg Kroah-Hartman commit c6535668798b0644e1af5934c2aec0e912280449 Author: Robert M. Kenney Date: Thu Feb 26 14:58:39 2009 -0500 USB: serial: new cp2101 device id From: Robert M. Kenney Cc: stable Signed-off-by: Greg Kroah-Hartman commit b0d659002168146ec6b03d1ef062d8dcf05ff510 Author: Michael Hennerich Date: Fri Mar 6 14:07:43 2009 -0800 USB: serial: ftdi: enable UART detection on gnICE JTAG adaptors blacklist interface0 Signed-off-by: Michael Hennerich Signed-off-by: Bryan Wu Signed-off-by: Andrew Morton Cc: stable Signed-off-by: Greg Kroah-Hartman commit 7f82b6dd7015aabca2fd55fb690248f742cd67f3 Author: Axel Wachtler Date: Thu Mar 5 14:09:22 2009 -0800 USB: serial: add FTDI USB/Serial converter devices Add the following devices to the USB FTDI SIO device table: Bus 001 Device 009: ID 03eb:2109 Atmel Corp. http://www.atmel.com/dyn/products/tools_card.asp?tool_id=4187 Bus 001 Device 008: ID 1cf1:0001 http://www.dresden-elektronik.de/shop/prod75.html Bus 001 Device 007: ID 1c1f:0004 http://www.dresden-elektronik.de/shop/prod64.html Signed-off-by: Axel Wachtler Signed-off-by: Robert Richter Signed-off-by: Andrew Morton Cc: stable Signed-off-by: Greg Kroah-Hartman commit 6ff10464096540e14d7575a72c50d0316d003714 Author: Alan Stern Date: Mon Mar 9 13:44:02 2009 -0400 USB: usbfs: keep async URBs until the device file is closed The usbfs driver manages a list of completed asynchronous URBs. But it is too eager to free the entries on this list: destroy_async() gets called whenever an interface is unbound or a device is removed, and it deallocates the outstanding struct async entries for all URBs on that interface or device. This is wrong; the user program should be able to reap an URB any time after it has completed, regardless of whether or not the interface is still bound or the device is still present. This patch (as1222) moves the code for deallocating the completed list entries from destroy_async() to usbdev_release(). The outstanding entries won't be freed until the user program has closed the device file, thereby eliminating any possibility that the remaining URBs might still be reaped. This fixes a bug in which a program can hang in the USBDEVFS_REAPURB ioctl when the device is unplugged. Reported-and-tested-by: Martin Poupe Signed-off-by: Alan Stern Cc: stable Signed-off-by: Greg Kroah-Hartman commit 228dd05dbfdd0fced8ab1a28ed73b500ba6bb0a6 Author: Greg Kroah-Hartman Date: Wed Mar 11 13:51:42 2009 -0700 USB: usbtmc: add protocol 1 support The driver already supports the 1 protocol support, so just add it to the MODULE_DEVICE_TABLE entry so it properly picks up these devices. Thanks to Jouni Rynö for pointing this out. Reported-by: Jouni Ryno Cc: stable Signed-off-by: Greg Kroah-Hartman commit 5b10916ea0a62920204517e1c4ce14560b4f96ab Author: Greg Kroah-Hartman Date: Tue Mar 10 20:42:55 2009 -0700 USB: usbtmc: fix stupid bug in open() open() will never succeed, as we always return -ENODEV. Fix this obvious bug. Thanks to Jouni Ryno for reporting it. Reported-by: Jouni Ryno Cc: stable Signed-off-by: Greg Kroah-Hartman commit 4ada8107f465b97326751de66d3c11ed78bf8214 Merge: 303c6a0 d1238d5 Author: David S. Miller Date: Tue Mar 17 13:12:47 2009 -0700 Merge branch 'master' of git://git.kernel.org/pub/scm/linux/kernel/git/kaber/nf-2.6 commit 303c6a0251852ecbdc5c15e466dcaff5971f7517 Author: Herbert Xu Date: Tue Mar 17 13:11:29 2009 -0700 gro: Fix legacy path napi_complete crash On the legacy netif_rx path, I incorrectly tried to optimise the napi_complete call by using __napi_complete before we reenable IRQs. This simply doesn't work since we need to flush the held GRO packets first. This patch fixes it by doing the obvious thing of reenabling IRQs first and then calling napi_complete. Reported-by: Frank Blaschka Signed-off-by: Herbert Xu Signed-off-by: David S. Miller commit 76a67ec6fb79ff3570dcb5342142c16098299911 Author: J. Bruce Fields Date: Mon Mar 16 18:34:20 2009 -0400 nfsd: nfsd should drop CAP_MKNOD for non-root Since creating a device node is normally an operation requiring special privilege, Igor Zhbanov points out that it is surprising (to say the least) that a client can, for example, create a device node on a filesystem exported with root_squash. So, make sure CAP_MKNOD is among the capabilities dropped when an nfsd thread handles a request from a non-root user. Reported-by: Igor Zhbanov Cc: stable@kernel.org Signed-off-by: J. Bruce Fields commit 84f09f46b4ee9e4e9b6381f8af31817516d2091b Author: Benny Halevy Date: Wed Mar 4 23:05:35 2009 +0200 NFSD: provide encode routine for OP_OPENATTR Although this operation is unsupported by our implementation we still need to provide an encode routine for it to merely encode its (error) status back in the compound reply. Thanks for Bill Baker at sun.com for testing with the Sun OpenSolaris' client, finding, and reporting this bug at Connectathon 2009. This bug was introduced in 2.6.27 Signed-off-by: Benny Halevy Cc: stable@kernel.org Signed-off-by: J. Bruce Fields commit ee568b25ee9e160b32d1aef73d8b2ee9c05d34db Author: Linus Torvalds Date: Tue Mar 17 10:02:35 2009 -0700 Avoid 64-bit "switch()" statements on 32-bit architectures Commit ee6f779b9e0851e2f7da292a9f58e0095edf615a ("filp->f_pos not correctly updated in proc_task_readdir") changed the proc code to use filp->f_pos directly, rather than through a temporary variable. In the process, that caused the operations to be done on the full 64 bits, even though the offset is never that big. That's all fine and dandy per se, but for some unfathomable reason gcc generates absolutely horrid code when using 64-bit values in switch() statements. To the point of actually calling out to gcc helper functions like __cmpdi2 rather than just doing the trivial comparisons directly the way gcc does for normal compares. At which point we get link failures, because we really don't want to support that kind of crazy code. Fix this by just casting the f_pos value to "unsigned long", which is plenty big enough for /proc, and avoids the gcc code generation issue. Reported-by: Alexey Dobriyan Cc: Zhang Le Signed-off-by: Linus Torvalds commit 30390880debce4a68fd23e87a787f27609e4bf4a Author: Masami Hiramatsu Date: Mon Mar 16 18:57:22 2009 -0400 prevent boosting kprobes on exception address Don't boost at the addresses which are listed on exception tables, because major page fault will occur on those addresses. In that case, kprobes can not ensure that when instruction buffer can be freed since some processes will sleep on the buffer. kprobes-ia64 already has same check. Signed-off-by: Masami Hiramatsu Cc: Ananth N Mavinakayanahalli Signed-off-by: Linus Torvalds commit 18439c39e826191c0ef08c3a3271ce7ece46a860 Merge: 9e8912e b35f8ca Author: Linus Torvalds Date: Tue Mar 17 08:59:33 2009 -0700 Merge git://git.kernel.org/pub/scm/linux/kernel/git/agk/linux-2.6-dm * git://git.kernel.org/pub/scm/linux/kernel/git/agk/linux-2.6-dm: dm crypt: wait for endio to complete before destruction dm crypt: fix kcryptd_async_done parameter dm io: respect BIO_MAX_PAGES limit dm table: rework reference counting fix dm ioctl: validate name length when renaming commit a4bd6a93c3f14691c8a29e53eb04dc734b27f0db Author: Kumar Gala Date: Tue Mar 17 09:17:50 2009 -0600 powerpc/mm: Respect _PAGE_COHERENT on classic ppc32 SW Since we now set _PAGE_COHERENT in the Linux PTE we shouldn't be clearing it out before we setup the SW TLB. Today all the SW TLB machines (603/e300) that we support are non-SMP, however there are some errata on some devices that cause us to set _PAGE_COHERENT via CPU_FTR_NEED_COHERENT. Signed-off-by: Kumar Gala Signed-off-by: Grant Likely commit c9310920e6e7ae0a5c0accbd57d34c194cb31780 Author: Piotr Ziecik Date: Tue Mar 17 09:17:50 2009 -0600 powerpc/5200: Enable CPU_FTR_NEED_COHERENT for MPC52xx BestComm, a DMA engine in MPC52xx SoC, requires snooping when CPU caches are enabled to work properly. Adding CPU_FTR_NEED_COHERENT fixes NFS problems on MPC52xx machines introduced by 'powerpc/mm: Fix handling of _PAGE_COHERENT in BAT setup code' (sha1: 4c456a67f501b8b15542c7c21c28812bf88f484b). Signed-off-by: Piotr Ziecik Signed-off-by: Grant Likely commit 9e8912e04e612b43897b4b722205408b92f423e5 Author: Linus Torvalds Date: Tue Mar 17 08:13:17 2009 -0700 Fast TSC calibration: calculate proper frequency error bounds In order for ntpd to correctly synchronize the clocks, the frequency of the system clock must not be off by more than 500 ppm (or, put another way, 1:2000), or ntpd will end up giving up on trying to synchronize properly, and ends up reseting the clock in jumps instead. The fast TSC PIT calibration sometimes failed this test - it was assuming that the PIT reads always took about one microsecond each (2us for the two reads to get a 16-bit timer), and that calibrating TSC to the PIT over 15ms should thus be sufficient to get much closer than 500ppm (max 2us error on both sides giving 4us over 15ms: a 270 ppm error value). However, that assumption does not always hold: apparently some hardware is either very much slower at reading the PIT registers, or there was other noise causing at least one machine to get 700+ ppm errors. So instead of using a fixed 15ms timing loop, this changes the fast PIT calibration to read the TSC delta over the individual PIT timer reads, and use the result to calculate the error bars on the PIT read timing properly. We then successfully calibrate the TSC only if the maximum error bars fall below 500ppm. In the process, we also relax the timing to allow up to 25ms for the calibration, although it can happen much faster depending on hardware. Reported-and-tested-by: Jesper Krogh Cc: john stultz Cc: Thomas Gleixner Acked-by: Ingo Molnar Signed-off-by: Linus Torvalds commit a6a80e1d8cf82b46a69f88e659da02749231eb36 Author: Linus Torvalds Date: Tue Mar 17 07:58:26 2009 -0700 Fix potential fast PIT TSC calibration startup glitch During bootup, when we reprogram the PIT (programmable interval timer) to start counting down from 0xffff in order to use it for the fast TSC calibration, we should also make sure to delay a bit afterwards to allow the PIT hardware to actually start counting with the new value. That will happens at the next CLK pulse (1.193182 MHz), so the easiest way to do that is to just wait at least one microsecond after programming the new PIT counter value. We do that by just reading the counter value back once - which will take about 2us on PC hardware. Reported-and-tested-by: john stultz Signed-off-by: Linus Torvalds commit dde332b660cf0bc2baaba678b52768a0fb6e6da2 Author: Krzysztof Helt Date: Mon Mar 16 21:32:25 2009 +0100 ALSA: opl3sa2 - Fix NULL dereference when suspending snd_opl3sa2 Fix the OOPS during a opl3sa2 card suspend and resume if the driver is loaded but the card is not found. Signed-off-by: Krzysztof Helt Cc: Signed-off-by: Takashi Iwai commit d33a1976fbee1ee321d6f014333d8f03a39d526c Author: Eric Sandeen Date: Mon Mar 16 23:25:40 2009 -0400 ext4: fix bb_prealloc_list corruption due to wrong group locking This is for Red Hat bug 490026: EXT4 panic, list corruption in ext4_mb_new_inode_pa ext4_lock_group(sb, group) is supposed to protect this list for each group, and a common code flow to remove an album is like this: ext4_get_group_no_and_offset(sb, pa->pa_pstart, &grp, NULL); ext4_lock_group(sb, grp); list_del(&pa->pa_group_list); ext4_unlock_group(sb, grp); so it's critical that we get the right group number back for this prealloc context, to lock the right group (the one associated with this pa) and prevent concurrent list manipulation. however, ext4_mb_put_pa() passes in (pa->pa_pstart - 1) with a comment, "-1 is to protect from crossing allocation group". This makes sense for the group_pa, where pa_pstart is advanced by the length which has been used (in ext4_mb_release_context()), and when the entire length has been used, pa_pstart has been advanced to the first block of the next group. However, for inode_pa, pa_pstart is never advanced; it's just set once to the first block in the group and not moved after that. So in this case, if we subtract one in ext4_mb_put_pa(), we are actually locking the *previous* group, and opening the race with the other threads which do not subtract off the extra block. Signed-off-by: Eric Sandeen Signed-off-by: "Theodore Ts'o" commit 7a2cf4af1554d891b440cc3a649d01ed222206c3 Author: Greg Ungerer Date: Tue Mar 17 08:47:11 2009 +1000 m68k: merge the non-MMU and MMU versions of siginfo.h It is trivial to merge the non-MMU and MMU versions of siginfo.h. Without a single file "make headers_install" is broken for m68k (since each of the sub-varients of siginfo.h are not installed). Signed-off-by: Greg Ungerer commit 9df3d51b59bd6aa48aee76e0cde4b89d854f3694 Author: Greg Ungerer Date: Mon Mar 16 22:12:28 2009 +1000 m68k: use the MMU version of unistd.h for all m68k platforms The MMU version of unistd.h can be use on non-MMU platrorms as well. Without a single file "make headers_install" is broken for m68k (since each of the sub-varients of unistd.h are not installed). Signed-off-by: Greg Ungerer commit 8dba99e077ae999c85b41c4567c852313528c7a7 Author: Greg Ungerer Date: Mon Mar 16 22:10:08 2009 +1000 m68k: merge the non-MMU and MMU versions of signal.h It is trivial to merge the non-MMU and MMU versions of signal.h. Without a single file "make headers_install" is broken for m68k (since each of the sub-varients of signal.h are not installed). Signed-off-by: Greg Ungerer commit 230d1866a9f9b08c2ab4cb1b60f33fe230ee0a87 Author: Greg Ungerer Date: Mon Mar 16 22:07:39 2009 +1000 m68k: merge the non-MMU and MMU versions of ptrace.h It is trivial to merge the non-MMU and MMU versions of ptrace.h. Without a single file "make headers_install" is broken for m68k (since each of the sub-varients of ptrace.h are not installed). Signed-off-by: Greg Ungerer commit c5f5d3e6ed4405999d5becaffe18415182fa8eb5 Author: Greg Ungerer Date: Mon Mar 16 22:03:25 2009 +1000 m68k: use MMU version of setup.h for both MMU and non-MMU The MMU version of setup.h can be used for all m68k platforms. Without a single file "make headers_install" is broken for m68k (since each of the sub-varients of setup.h are not installed). Signed-off-by: Greg Ungerer commit 640c65eae673d2caf6e7bf61c1eb4e9513b88fda Author: Jouni Malinen Date: Mon Mar 16 21:47:33 2009 +0200 zd1211rw: Do not panic on device eject when associated zd_op_tx() must not return an arbitrary error value since that can leave mac80211 trying to retransmit the frame and with the extra data pushed into the beginning of the skb on every attempt, this will end up causing a kernel panic (skb_under_panic from skb_push call). This can happen, e.g., when ejecting the device when associated. Signed-off-by: Jouni Malinen Signed-off-by: John W. Linville commit 055249d20de06c290fe7625be0a7164bef3958f5 Author: Jouni Malinen Date: Fri Mar 13 13:59:39 2009 +0200 mac80211: Fix panic on fragmentation with power saving It was possible to hit a kernel panic on NULL pointer dereference in dev_queue_xmit() when sending power save buffered frames to a STA that woke up from sleep. This happened when the buffered frame was requeued for transmission in ap_sta_ps_end(). In order to avoid the panic, copy the skb->dev and skb->iif values from the first fragment to all other fragments. Signed-off-by: Jouni Malinen Signed-off-by: John W. Linville commit 5ec905a8df3fa877566ba98298433fbfb3d688cc Author: Luis R. Rodriguez Date: Thu Mar 12 18:18:50 2009 -0400 ath9k: AR9280 PCI devices must serialize IO as well Cc: stable@kernel.org Signed-off-by: Luis R. Rodriguez Signed-off-by: John W. Linville commit 6158425be398936af1fd04451f78ffad01529cb0 Author: Luis R. Rodriguez Date: Thu Mar 12 18:18:49 2009 -0400 ath9k: implement IO serialization All 802.11n PCI devices (Cardbus, PCI, mini-PCI) require serialization of IO when on non-uniprocessor systems. PCI express devices not not require this. This should fix our only last standing open ath9k kernel.org bugzilla bug report: http://bugzilla.kernel.org/show_bug.cgi?id=12110 A port is probably required to older kernels and I can work on that. Cc: stable@kernel.org Signed-off-by: Luis R. Rodriguez Signed-off-by: John W. Linville commit 6f16bf3bdb94b567e2b6663378efb2dbf40db133 Author: John W. Linville Date: Wed Mar 11 11:05:25 2009 -0400 lib80211: silence excessive crypto debugging messages When they were part of the now defunct ieee80211 component, these messages were only visible when special debugging settings were enabled. Let's mirror that with a new lib80211 debugging Kconfig option. Signed-off-by: John W. Linville commit 19695ec03d492f1eeb760727d3bd10c7d2f31c1d Merge: 8e91f17 1b958a3 Author: Linus Torvalds Date: Mon Mar 16 12:49:12 2009 -0700 Merge branch 'release' of git://git.kernel.org/pub/scm/linux/kernel/git/lenb/linux-acpi-2.6 * 'release' of git://git.kernel.org/pub/scm/linux/kernel/git/lenb/linux-acpi-2.6: acpi-wmi: unsigned cannot be less than 0 thinkpad-acpi: fix module autoloading for older models acer-wmi: Unmark as 'experimental' acpi-wmi: Unmark as 'experimental' acer-wmi: double free in acer_rfkill_exit() platform/x86: depends instead of select for laptop platform drivers asus-laptop: use select instead of depends on eeepc-laptop: restore acpi_generate_proc_event() asus-laptop: restore acpi_generate_proc_event() acpi: check for pxm_to_node_map overflow ACPI: remove doubled status checking ACPI suspend: Blacklist Toshiba Satellite L300 that requires to set SCI_EN directly on resume Revert "ACPI: make some IO ports off-limits to AML" suspend: switch the Asus Pundit P1-AH2 to old ACPI sleep ordering commit b35f8caa0890169000fec22902290d9a15274cbd Author: Milan Broz Date: Mon Mar 16 17:44:36 2009 +0000 dm crypt: wait for endio to complete before destruction The following oops has been reported when dm-crypt runs over a loop device. ... [ 70.381058] Process loop0 (pid: 4268, ti=cf3b2000 task=cf1cc1f0 task.ti=cf3b2000) ... [ 70.381058] Call Trace: [ 70.381058] [] ? crypt_dec_pending+0x5e/0x62 [dm_crypt] [ 70.381058] [] ? crypt_endio+0xa2/0xaa [dm_crypt] [ 70.381058] [] ? crypt_endio+0x0/0xaa [dm_crypt] [ 70.381058] [] ? bio_endio+0x2b/0x2e [ 70.381058] [] ? dec_pending+0x224/0x23b [dm_mod] [ 70.381058] [] ? clone_endio+0x79/0xa4 [dm_mod] [ 70.381058] [] ? clone_endio+0x0/0xa4 [dm_mod] [ 70.381058] [] ? bio_endio+0x2b/0x2e [ 70.381058] [] ? loop_thread+0x380/0x3b7 [ 70.381058] [] ? do_lo_send_aops+0x0/0x165 [ 70.381058] [] ? autoremove_wake_function+0x0/0x33 [ 70.381058] [] ? loop_thread+0x0/0x3b7 When a table is being replaced, it waits for I/O to complete before destroying the mempool, but the endio function doesn't call mempool_free() until after completing the bio. Fix it by swapping the order of those two operations. The same problem occurs in dm.c with md referenced after dec_pending. Again, we swap the order. Cc: stable@kernel.org Signed-off-by: Milan Broz Signed-off-by: Alasdair G Kergon commit b2174eebd1fadb76454dad09a1dacbc17081e6b0 Author: Huang Ying Date: Mon Mar 16 17:44:33 2009 +0000 dm crypt: fix kcryptd_async_done parameter In the async encryption-complete function (kcryptd_async_done), the crypto_async_request passed in may be different from the one passed to crypto_ablkcipher_encrypt/decrypt. Only crypto_async_request->data is guaranteed to be same as the one passed in. The current kcryptd_async_done uses the passed-in crypto_async_request directly which may cause the AES-NI-based AES algorithm implementation to panic. This patch fixes this bug by only using crypto_async_request->data, which points to dm_crypt_request, the crypto_async_request passed in. The original data (convert_context) is gotten from dm_crypt_request. [mbroz@redhat.com: reworked] Cc: stable@kernel.org Signed-off-by: Huang Ying Cc: Herbert Xu Signed-off-by: Milan Broz Signed-off-by: Andrew Morton Signed-off-by: Alasdair G Kergon commit d659e6cc98766a1a61d6bdd283f95d149abd7719 Author: Mikulas Patocka Date: Mon Mar 16 17:44:30 2009 +0000 dm io: respect BIO_MAX_PAGES limit dm-io calls bio_get_nr_vecs to get the maximum number of pages to use for a given device. It allocates one additional bio_vec to use internally but failed to respect BIO_MAX_PAGES, so fix this. This was the likely cause of: https://bugzilla.redhat.com/show_bug.cgi?id=173153 Cc: stable@kernel.org Signed-off-by: Mikulas Patocka Signed-off-by: Alasdair G Kergon commit f80a557008462a0a4adef25407f1872e793d8dd5 Author: Mikulas Patocka Date: Mon Mar 16 17:44:26 2009 +0000 dm table: rework reference counting fix Fix an error introduced in dm-table-rework-reference-counting.patch. When there is failure after table initialization, we need to use dm_table_destroy, not dm_table_put, to free the table. dm_table_put may be used only after dm_table_get. Cc: Kiyoshi Ueda Signed-off-by: Mikulas Patocka Reviewed-by: Jonathan Brassow Reviewed-by: Alasdair G Kergon Signed-off-by: Alasdair G Kergon commit bc0fd67feba2e0770aad85393500ba77c6489f1c Author: Milan Broz Date: Mon Mar 16 16:56:01 2009 +0000 dm ioctl: validate name length when renaming When renaming a mapped device validate the length of the new name. The rename ioctl accepted any correctly-terminated string enclosed within the data passed from userspace. The other ioctls enforce a size limit of DM_NAME_LEN. If the name is changed and becomes longer than that, the device can no longer be addressed by name. Fix it by properly checking for device name length (including terminating zero). Cc: stable@kernel.org Signed-off-by: Milan Broz Reviewed-by: Jonathan Brassow Reviewed-by: Alasdair G Kergon Signed-off-by: Alasdair G Kergon commit 8e91f178a2bb4a3e52e76f6263c251ffb816eb17 Merge: 8032b52 ea8dbdd Author: Linus Torvalds Date: Mon Mar 16 07:56:58 2009 -0700 Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-2.6 * git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-2.6: (21 commits) r8169: revert "r8169: read MAC address from EEPROM on init (2nd attempt)" r8169: use hardware auto-padding. igb: remove ASPM L0s workaround netxen: remove old flash check. mv643xx_eth: fix unicast address filter corruption on mtu change xfrm: Fix xfrm_state_find() wrt. wildcard source address. emac: Fix clock control for 405EX and 405EXr chips ixgbe: fix multiple unicast address support via-velocity: Fix DMA mapping length errors on transmit. qlge: bugfix: Pad outbound frames smaller than 60 bytes. qlge: bugfix: Move netif_napi_del() to common call point. qlge: bugfix: Tell hw to strip vlan header. qlge: bugfix: Increase filter on inbound csum. dnet: replace obsolete *netif_rx_* functions with *napi_* net: Add be2net driver. dnet: Fix warnings on 64-bit. dnet: Dave DNET ethernet controller driver (updated) ipv6: Fix BUG when disabled ipv6 module is unloaded bnx2x: Using DMAE to initialize the chip bnx2x: Casting page alignment ... commit 8032b526d1a3bd91ad633dd3a3b5fdbc47ad54f1 Author: Rusty Russell Date: Mon Mar 16 09:05:07 2009 +1030 linux.conf.au 2009: Tuz Impact: help prevent extinction of species The Tasmanian Devil is a shy iconic Australian creature named for its spine-chilling screech. It is threatened with extinction due to a scientifically interesting but horrific transmissible facial cancer. This one is standing in for Tux for one release using the far less-known Devil Facial Tux Disguise. Save The Tasmanian Devil http://tassiedevil.com.au Signed-off-by: Linux.conf.au Hobart Team Signed-off-by: Rusty Russell Signed-off-by: Linus Torvalds commit d1238d5337e8e53cddea77c2a26d26b6eb5a982f Author: Christoph Paasch Date: Mon Mar 16 15:52:11 2009 +0100 netfilter: conntrack: check for NEXTHDR_NONE before header sanity checking NEXTHDR_NONE doesn't has an IPv6 option header, so the first check for the length will always fail and results in a confusing message "too short" if debugging enabled. With this patch, we check for NEXTHDR_NONE before length sanity checkings are done. Signed-off-by: Christoph Paasch Signed-off-by: Pablo Neira Ayuso Signed-off-by: Patrick McHardy commit ee6f779b9e0851e2f7da292a9f58e0095edf615a Author: Zhang Le Date: Mon Mar 16 14:44:31 2009 +0800 filp->f_pos not correctly updated in proc_task_readdir filp->f_pos only get updated at the end of the function. Thus d_off of those dirents who are in the middle will be 0, and this will cause a problem in glibc's readdir implementation, specifically endless loop. Because when overflow occurs, f_pos will be set to next dirent to read, however it will be 0, unless the next one is the last one. So it will start over again and again. There is a sample program in man 2 gendents. This is the output of the program running on a multithread program's task dir before this patch is applied: $ ./a.out /proc/3807/task --------------- nread=128 --------------- i-node# file type d_reclen d_off d_name 506442 directory 16 1 . 506441 directory 16 0 .. 506443 directory 16 0 3807 506444 directory 16 0 3809 506445 directory 16 0 3812 506446 directory 16 0 3861 506447 directory 16 0 3862 506448 directory 16 8 3863 This is the output after this patch is applied $ ./a.out /proc/3807/task --------------- nread=128 --------------- i-node# file type d_reclen d_off d_name 506442 directory 16 1 . 506441 directory 16 2 .. 506443 directory 16 3 3807 506444 directory 16 4 3809 506445 directory 16 5 3812 506446 directory 16 6 3861 506447 directory 16 7 3862 506448 directory 16 8 3863 Signed-off-by: Zhang Le Acked-by: Al Viro Signed-off-by: Linus Torvalds commit ec8d540969da9a70790e9028d57b5b577dd7aa77 Author: Christoph Paasch Date: Mon Mar 16 15:51:29 2009 +0100 netfilter: conntrack: fix dropping packet after l4proto->packet() We currently use the negative value in the conntrack code to encode the packet verdict in the error. As NF_DROP is equal to 0, inverting NF_DROP makes no sense and, as a result, no packets are ever dropped. Signed-off-by: Christoph Paasch Signed-off-by: Pablo Neira Ayuso Signed-off-by: Patrick McHardy commit 626ba8fbac9156a94a80be46ffd2f2ce9e4e89a0 Author: Pablo Neira Ayuso Date: Mon Mar 16 15:50:51 2009 +0100 netfilter: ctnetlink: fix crash during expectation creation This patch fixes a possible crash due to the missing initialization of the expectation class when nf_ct_expect_related() is called. Reported-by: BORBELY Zoltan Signed-off-by: Pablo Neira Ayuso Signed-off-by: Patrick McHardy commit b1e93a68ca41e7e73766f95ba32ca05cf9052e15 Author: Pablo Neira Ayuso Date: Mon Mar 16 15:06:42 2009 +0100 netfilter: conntrack: don't deliver events for racy packets This patch skips the delivery of conntrack events if the packet was drop due to a race condition in the conntrack insertion. Signed-off-by: Pablo Neira Ayuso Signed-off-by: Patrick McHardy commit a05ef46731a1953590062e09a92c2c83ed32a086 Author: Greg Ungerer Date: Mon Mar 16 18:00:25 2009 +1000 m68k: merge the non-MMU and MMU versions of sigcontext.h It is trivial to merge the non-MMU and MMU versions of sigcontext.h. Without a single file "make headers_install" is broken for m68k (since each of the sub-varients of sigconext.h are not installed). Signed-off-by: Greg Ungerer commit 9863a0babc2f0d920dfb4ddecf4e5b5342cb986b Author: Greg Ungerer Date: Mon Mar 16 17:54:49 2009 +1000 m68k: merge the non-MMU and MMU versions of swab.h It is trivial to merge the non-MMU and MMU versions of swab.h. Without a single file "make headers_install" is broken for m68k (since each of the sub-varients of swab.h are not installed). Signed-off-by: Greg Ungerer commit f9847004bf94ba5457738cb5e0f868821864ff50 Author: Greg Ungerer Date: Mon Mar 16 17:52:16 2009 +1000 m68k: merge the non-MMU and MMU versions of param.h It is trivial to merge the non-MMU and MMU versions of param.h. Without a single file "make headers_install" is broken for m68k (since each of the sub-varients of param.h are not installed). Signed-off-by: Greg Ungerer commit 1b958a3e5353c2995f3550a20010bdb403f33831 Merge: 27ce341 da51199 Author: Len Brown Date: Mon Mar 16 00:38:52 2009 -0400 Merge branches 'misc-up-now' and 'platform-drivers' into release commit da511997d2bbc09f5e39385e0ed209578db07c91 Author: Roel Kluin Date: Wed Mar 4 11:55:30 2009 -0800 acpi-wmi: unsigned cannot be less than 0 include/linux/pci-acpi.h:74: typedef u32 acpi_status; result is unsigned, so an error returned by acpi_bus_register_driver() will not be noticed. Signed-off-by: Roel Kluin Signed-off-by: Andrew Morton Signed-off-by: Len Brown commit b36a50f92d1c4300a88f606b4d2bbdc4f442a2d7 Author: Mathieu Chouquet-Stringer Date: Sat Mar 14 16:35:26 2009 +0100 thinkpad-acpi: fix module autoloading for older models Looking at the source, there seems to be a missing * to match my DMI string. I mean for newer IBM and Lenovo's laptops you match either one of the following: MODULE_ALIAS("dmi:bvnIBM:*:svnIBM:*:pvrThinkPad*:rvnIBM:*"); MODULE_ALIAS("dmi:bvnLENOVO:*:svnLENOVO:*:pvrThinkPad*:rvnLENOVO:*"); While for older Thinkpads, you do this (for instance): IBM_BIOS_MODULE_ALIAS("1[0,3,6,8,A-G,I,K,M-P,S,T]"); with IBM_BIOS_MODULE_ALIAS being MODULE_ALIAS("dmi:bvnIBM:bvr" __type "ET??WW") Note there's no * terminating the string. As result, udev doesn't load anything because modprobe cannot find anything matching this (my machine actually): udevtest: run: '/sbin/modprobe dmi:bvnIBM:bvr1IET71WW(2.10):bd06/16/2006:svnIBM:pn236621U:pvrNotAv Signed-off-by: Mathieu Chouquet-Stringer Acked-by: Henrique de Moraes Holschuh Signed-off-by: Len Brown commit 54b1ec893e869c815d390afa42aacf1499858112 Author: Carlos Corbacho Date: Sat Feb 14 09:53:59 2009 +0000 acer-wmi: Unmark as 'experimental' This driver has been around and used long enough that we can drop the 'experimental'. Signed-off-by: Carlos Corbacho Signed-off-by: Len Brown commit 5fcdd177d063f1d8d569d746ab1bf206b0dfb2e8 Author: Carlos Corbacho Date: Sat Feb 14 09:53:53 2009 +0000 acpi-wmi: Unmark as 'experimental' ACPI-WMI isn't experimental anymore, and there are other drivers that now depend on it that aren't either. Signed-off-by: Carlos Corbacho Signed-off-by: Len Brown commit 013d67fd4f0da8f6af60a376f1a254266ab658ef Author: Dan Carpenter Date: Sat Feb 14 09:53:48 2009 +0000 acer-wmi: double free in acer_rfkill_exit() This is acer_rfkill_exit() from drivers/platform/x86/acer-wmi.c. The code frees wireless_rfkill->data again instead of bluetooth_rfkill->data. This was found using a code checker (http://repo.or.cz/w/smatch.git/). Signed-off-by: Dan Carpenter Signed-off-by: Carlos Corbacho Signed-off-by: Len Brown commit d263da311ab403e3a84fa24920edc826147a550c Author: Corentin Chary Date: Wed Feb 25 09:37:09 2009 +0100 platform/x86: depends instead of select for laptop platform drivers "I hate `select' and will gleefully leap on any s/select/depends/ patch, whether it works or not :)" Andrew Morton select INPUT is not needed here, because if someone doesn't want INPUT, he won't want these drivers either. Signed-off-by: Corentin Chary Signed-off-by: Len Brown commit e73e2c62f7646d54e30ef8863ac0be0b8e4ef0eb Author: Corentin Chary Date: Sun Feb 15 19:30:21 2009 +0100 asus-laptop: use select instead of depends on Like thinkpad_acpi or eeepc-laptop, asus-laptop will now use "select" instead of "depends on" for LEDS_CLASS, NEW_LEDS and BACKLIGHT_CLASS_DEVICE Signed-off-by: Corentin Chary Signed-off-by: Len Brown commit 7950b71c3bd7b27b2874088a6c4efe3e13579f8b Author: Corentin Chary Date: Sun Feb 15 19:30:20 2009 +0100 eeepc-laptop: restore acpi_generate_proc_event() Restore acpi_generate_proc_event() for backward compatibility with old acpi scripts. Signed-off-by: Corentin Chary Signed-off-by: Len Brown commit 6050c8dd70b21a9d927983aeb6357fecffa7fb23 Author: Corentin Chary Date: Sun Feb 15 19:30:19 2009 +0100 asus-laptop: restore acpi_generate_proc_event() Restore acpi_generate_proc_event() for backward compatibility with old acpi scripts. Signed-off-by: Corentin Chary Signed-off-by: Len Brown commit 27ce34198345886854643b9572f9a06d2e7500d2 Author: Cyrill Gorcunov Date: Wed Mar 4 11:55:29 2009 -0800 acpi: check for pxm_to_node_map overflow It is hardly (if ever) possible but in case of broken _PXM entry we could reach out of pxm_to_node_map array bounds in acpi_map_pxm_to_node() call. Signed-off-by: Cyrill Gorcunov Signed-off-by: Andrew Morton Signed-off-by: Len Brown commit 176f9c1804df09f3e9b998c0642e212592ac6283 Author: Jiri Slaby Date: Wed Mar 4 11:55:27 2009 -0800 ACPI: remove doubled status checking There was a misplaced status test (two consequent tests without a statement in between) in acpi_bus_init for ages. Remove it, since the function which should be checked (acpi_os_initialize1) has BUG_ONs on failure paths. Signed-off-by: Jiri Slaby Signed-off-by: Andrew Morton Signed-off-by: Len Brown commit 45e7798886af101c4a908a896bbba5a84ee5cc32 Author: Zhang Rui Date: Sun Mar 15 22:13:44 2009 -0400 ACPI suspend: Blacklist Toshiba Satellite L300 that requires to set SCI_EN directly on resume This is a supplement of commit 65df78473ffbf3bff5e2034df1638acc4f3ddd50. http://bugzilla.kernel.org/show_bug.cgi?id=12798 Signed-off-by: Zhang Rui Signed-off-by: Len Brown commit 7b46ecd5fcebf381a7bde966db352d8fb1b8e944 Author: Len Brown Date: Wed Feb 25 18:00:18 2009 -0500 Revert "ACPI: make some IO ports off-limits to AML" This reverts commit 5ec5d38a1c8af255ffc481c81eef13e9155524b3. because it caused spurious dmesg warmings. We'll implement the check for off-limit ports in a more clever way in the future. http://bugzilla.kernel.org/show_bug.cgi?id=12758 Signed-off-by: Len Brown commit a140449584522c3eea1bb381f746d40939e6f62a Author: Andy Whitcroft Date: Wed Feb 11 18:11:22 2009 +0000 suspend: switch the Asus Pundit P1-AH2 to old ACPI sleep ordering Switch the Asus Pundit P1-AH2 (M2N8L motherboard) to the old ACPI 1.0 sleep ordering by default. Without this it will not suspend/resume correctly. Signed-off-by: Andy Whitcroft Tested-by: Dustin Kirkland Signed-off-by: Len Brown commit ea8dbdd17099a9a5864ebd4c87e01e657b19c7ab Author: françois romieu Date: Sun Mar 15 01:10:50 2009 +0000 r8169: revert "r8169: read MAC address from EEPROM on init (2nd attempt)" It fails on the following systems: - RTL8169sc/8110sc (XID 18000000) reported by Tim Durack (x86) - RTL8169sb/8110sb (XID 10000000) reported by Mikael Pettersson (ARM) The patch appeared to work on x86 for the following systems: RTL8169sb/8110sb 10000000 PCI (EXT) RTL8110s 04000000 PCI (EXT) RTL8102e 24a00000 PCI-E (LOM) RTL8168c/8111c 3c2000c0 PCI-E (LOM) RTL8168b/8111b 38000000 PCI-E (LOM) RTL8168b/8111b 38000000 PCI-E (EXT) The patch exposes two problems: 1) while not completely wrong, mac addresses are not read correctly from the EEPROM 2) the MAC address registers are not correctly set Signed-off-by: Francois Romieu Tested-by: Mikael Pettersson Signed-off-by: David S. Miller commit 97d477a914b146e7e6722ded21afa79886ae8ccd Author: françois romieu Date: Sun Mar 15 01:09:54 2009 +0000 r8169: use hardware auto-padding. It shortens the code and fixes the current pci_unmap leak with padded skb reported by Dave Jones. Signed-off-by: Francois Romieu Signed-off-by: David S. Miller commit b0fe551000179c868d46266278a890eab878baca Author: Ingo Molnar Date: Thu Mar 12 15:15:31 2009 +0100 kconfig: improve seed in randconfig 'make randconfig' uses glibc's rand function, and the seed of that PRNG is set via: srand(time(NULL)); But 'time()' only increases once every second - freezing the randconfig result within a single second. My Nehalem testbox does randconfig much faster than 1 second and i have a few scripts that do 'randconfig until condition X' loops. Those scripts currently waste a lot of CPU time due to randconfig changing its seed only once per second currently. Change the seed to be micrseconds based. (I checked the statistical spread of the seed - the now.tv_sec*now.tv_usec multiplication there further improves it.) Signed-off-by: Ingo Molnar Cc: Roman Zippel [sam: fix for systems where usec is zero - noticed by Geert Uytterhoeven] Signed-off-by: Sam Ravnborg commit 184832c981fd38b1052f2dfa0262e793fa6c67d3 Author: Sam Ravnborg Date: Sun Mar 15 11:05:12 2009 +0100 kconfig: fix randconfig for choice blocks Ingo Molnar reported that 'make randconfig' was not covering choice blocks properly, resulting in certain config options being left out of randconfig testing altogether. With the following patch we: - properly randomize choice value for normal choice blocks - properly randomize for multi choice blocks - added several comments to explain what is going on The root cause of the bug was that SYMBOL_VALID was set on the symbol representing the choice block so clearing this did the trick initially. But testign revealed a few more issues that is now fixed. Reported-by: Ingo Molnar Cc: Ingo Molnar Cc: Roman Zippel Signed-off-by: Sam Ravnborg commit 5bee17f18b595937e6beafeee5197868a3f74a06 Author: Kyle McMartin Date: Sat Mar 14 19:40:59 2009 -0400 parisc: sba_iommu: fix build bug when CONFIG_PARISC_AGP=y CC drivers/parisc/sba_iommu.o drivers/parisc/sba_iommu.c:1373: error: expected identifier or '(' before '}' token make[2]: *** [drivers/parisc/sba_iommu.o] Error 1 make[1]: *** [drivers/parisc] Error 2 make: *** [drivers] Error 2 Don't know how this has gone missed for so long... clearly I need to do builds on my C8000 more often. Signed-off-by: Kyle McMartin Signed-off-by: Linus Torvalds commit fbd8104c2eb2f00a031a3e472a0fc08e40d04c0b Merge: 18553c3 1522ac3 Author: Linus Torvalds Date: Sun Mar 15 13:34:56 2009 -0700 Merge master.kernel.org:/home/rmk/linux-2.6-arm * master.kernel.org:/home/rmk/linux-2.6-arm: (23 commits) [ARM] Fix virtual to physical translation macro corner cases [ARM] update mach-types [ARM] 5421/1: ftrace: fix crash due to tracing of __naked functions MX1 fix include [ARM] 5419/1: ep93xx: fix build warnings about struct i2c_board_info [ARM] 5418/1: restore lr before leaving mcount ARM: OMAP: board-omap3beagle: set i2c-3 to 100kHz ARM: OMAP: Allow I2C bus driver to be compiled as a module ARM: OMAP: sched_clock() corrected ARM: OMAP: Fix compile error if pm.h is included [ARM] orion5x: pass dram mbus data to xor driver [ARM] S3C64XX: Fix s3c64xx_setrate_clksrc [ARM] S3C64XX: sparse warnings in arch/arm/plat-s3c64xx/irq.c [ARM] S3C64XX: sparse warnings in arch/arm/plat-s3c64xx/s3c6400-clock.c [ARM] S3C64XX: Fix USB host clock mux list [ARM] S3C64XX: Fix name of USB host clock. [ARM] S3C64XX: Rename IRQ_UHOST to IRQ_USBH [ARM] S3C64XX: Do gpiolib configuration earlier [ARM] S3C64XX: Staticise s3c64xx_init_irq_eint() [ARM] SMDK6410: Declare iodesc table static ... commit 682337fe062e939578d933c74157ae9a36baa4ce Author: Alexander Duyck Date: Sat Mar 14 22:26:40 2009 -0700 igb: remove ASPM L0s workaround The L0s workaround should be moved into a pci quirk and so it is not necessary in the driver. This update removes the L0s workaround from the igb driver. This was the second half of the PCI quirk patch that Matthew Wilcox did not pick up when he picked up the quirk patch. Signed-off-by: Alexander Duyck Signed-off-by: Jeff Kirsher Signed-off-by: David S. Miller commit 18553c38bcdef9b0cc69a784cd033a8a21bfa012 Merge: 326d851 bfbd442 Author: Linus Torvalds Date: Sat Mar 14 13:43:18 2009 -0700 Merge branch 'for-linus' of git://git.kernel.dk/linux-2.6-block * 'for-linus' of git://git.kernel.dk/linux-2.6-block: Fix Xilinx SystemACE driver to handle empty CF slot block: fix memory leak in bio_clone() block: Add gfp_mask parameter to bio_integrity_clone() commit bfbd442f69ec9c58590ffc6e93ac8d6809caa48b Author: Grant Likely Date: Mon Mar 9 13:42:24 2009 +0100 Fix Xilinx SystemACE driver to handle empty CF slot The SystemACE driver does not handle an empty CF slot gracefully. An empty CF slot ends up hanging the system. This patch adds a check for the CF state and stops trying to process requests if the slot is empty. Signed-off-by: Grant Likely Signed-off-by: Jens Axboe commit 059ea3318c8ede71851a52b4359fbf1ab0cec301 Author: Li Zefan Date: Mon Mar 9 10:42:45 2009 +0100 block: fix memory leak in bio_clone() If bio_integrity_clone() fails, bio_clone() returns NULL without freeing the newly allocated bio. Signed-off-by: Li Zefan Signed-off-by: Jens Axboe commit 87092698c665e0a358caf9825ae13114343027e8 Author: un'ichi Nomura Date: Mon Mar 9 10:40:52 2009 +0100 block: Add gfp_mask parameter to bio_integrity_clone() Stricter gfp_mask might be required for clone allocation. For example, request-based dm may clone bio in interrupt context so it has to use GFP_ATOMIC. Signed-off-by: Kiyoshi Ueda Signed-off-by: Jun'ichi Nomura Acked-by: Martin K. Petersen Cc: Alasdair G Kergon Signed-off-by: Jens Axboe commit 326d8519fc97be186c55ac605c3a7c957c758ae1 Merge: 228b5b7 a83860c Author: Linus Torvalds Date: Sat Mar 14 12:02:21 2009 -0700 Merge branch 'upstream' of git://ftp.linux-mips.org/pub/scm/upstream-linus * 'upstream' of git://ftp.linux-mips.org/pub/scm/upstream-linus: MIPS: Mark Eins: Fix configuration. MIPS: Fix TIF_32BIT undefined problem when seccomp is disabled commit 228b5b7e840f79c8751614ae2b83e97e361634ce Merge: 37e79a4 5fa0ae1 Author: Linus Torvalds Date: Sat Mar 14 12:01:37 2009 -0700 Merge git://git.kernel.org/pub/scm/linux/kernel/git/jejb/scsi-rc-fixes-2.6 * git://git.kernel.org/pub/scm/linux/kernel/git/jejb/scsi-rc-fixes-2.6: (31 commits) [SCSI] qla2xxx: Update version number to 8.03.00-k4. [SCSI] qla2xxx: Correct overwrite of pre-assigned init-control-block structure size. [SCSI] qla2xxx: Correct truncation in return-code status checking. [SCSI] qla2xxx: Correct vport delete bug. [SCSI] qla2xxx: Use correct value for max vport in LOOP topology. [SCSI] qla2xxx: Correct address range checking for option-rom updates. [SCSI] fcoe: Change fcoe receive thread nice value from 19 (lowest priority) to -20 [SCSI] fcoe: fix handling of pending queue, prevent out of order frames (v3) [SCSI] fcoe: Out of order tx frames was causing several check condition SCSI status [SCSI] fcoe: fix kfree(skb) [SCSI] fcoe: ETH_P_8021Q is already in if_ether and fcoe is not using it anyway [SCSI] libfc: do not change the fh_rx_id of a recevied frame [SCSI] fcoe: Correct fcoe_transports initialization vs. registration [SCSI] fcoe: Use setup_timer() and mod_timer() [SCSI] libfc, fcoe: Remove unnecessary cast by removing inline wrapper [SCSI] libfc, fcoe: Cleanup function formatting and minor typos [SCSI] libfc, fcoe: Fix kerneldoc comments [SCSI] libfc: Cleanup libfc_function_template comments [SCSI] libfc: check for err when recv and state is incorrect [SCSI] libfc: rename rp to rdata in fc_disc_new_target() ... commit 37e79a43acf963676fc358e7c9154c0d42c4f569 Merge: f1823ac e9c1670 Author: Linus Torvalds Date: Sat Mar 14 12:00:42 2009 -0700 Merge branch 'upstream-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jgarzik/libata-dev * 'upstream-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jgarzik/libata-dev: ata_piix: add workaround for Samsung DB-P70 libata: Keep shadow last_ctl up to date during resets sata_mv: fix MSI irq race condition commit f1823acfbcc7d29029d6db757644bc820664af37 Merge: ff9cb43 9f4c899 Author: Linus Torvalds Date: Sat Mar 14 12:00:18 2009 -0700 Merge branch 'bugfixes' of git://git.linux-nfs.org/projects/trondmy/nfs-2.6 * 'bugfixes' of git://git.linux-nfs.org/projects/trondmy/nfs-2.6: NFS: Fix the fix to Bugzilla #11061, when IPv6 isn't defined... SUNRPC: xprt_connect() don't abort the task if the transport isn't bound SUNRPC: Fix an Oops due to socket not set up yet... Bug 11061, NFS mounts dropped NFS: Handle -ESTALE error in access() NLM: Fix GRANT callback address comparison when IPv6 is enabled NLM: Shrink the IPv4-only version of nlm_cmp_addr() NFSv3: Fix posix ACL code NFS: Fix misparsing of nfsv4 fs_locations attribute (take 2) SUNRPC: Tighten up the task locking rules in __rpc_execute() commit ff9cb43ce09a9069f0ec95375d2f403578ec4977 Merge: 2a4c13b 712e53e Author: Linus Torvalds Date: Sat Mar 14 11:59:22 2009 -0700 Merge branch 'upstream-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/mfasheh/ocfs2 * 'upstream-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/mfasheh/ocfs2: ocfs2: Use xs->bucket to set xattr value outside ocfs2: Fix a bug found by sparse check. ocfs2: tweak to get the maximum inline data size with xattr ocfs2: reserve xattr block for new directory with inline data commit 2a4c13baebe30613cfa2c99d6a076f3a114dad9c Merge: bf9bc99 a00d0bb Author: Linus Torvalds Date: Sat Mar 14 11:59:05 2009 -0700 Merge branch 'for_linus' of git://git.kernel.org/pub/scm/linux/kernel/git/mchehab/linux-2.6 * 'for_linus' of git://git.kernel.org/pub/scm/linux/kernel/git/mchehab/linux-2.6: V4L/DVB (10978): Report tuning algorith correctly V4L/DVB (10977): STB6100 init fix, the call to stb6100_set_bandwidth needs an argument V4L/DVB (10976): Bug fix: For legacy applications stv0899 performs search only first time after insmod. V4L/DVB (10975): Bug: Use signed types, Offsets and range can be negative V4L/DVB (10974): Use Diseqc 3/3 mode to send data V4L/DVB (10972): zl10353: i2c_gate_ctrl bug fix V4L/DVB (10834): zoran: auto-select bt866 for AverMedia 6 Eyes V4L/DVB (10832): tvaudio: Avoid breakage with tda9874a V4L/DVB (10789): m5602-s5k4aa: Split up the initial sensor probe in chunks. commit bf9bc995a59d8c152a4d7e6465d6afa1e098b3e8 Merge: 6d71135 e8f208e Author: Linus Torvalds Date: Sat Mar 14 11:58:38 2009 -0700 Merge git://git.kernel.org/pub/scm/linux/kernel/git/kyle/parisc-2.6.29 * git://git.kernel.org/pub/scm/linux/kernel/git/kyle/parisc-2.6.29: parisc: update defconfigs parisc: define x->x mmio accessors parisc: dino: struct device - replace bus_id with dev_name(), dev_set_name() parisc: convert cpu_check_affinity to new cpumask api parisc: convert (read|write)bwlq to inlines parisc: fix use of new cpumask api in irq.c parisc: update parisc for new irq_desc parisc: update MAINTAINERS parisc: fix wrong assumption about bus->self parisc: fix 64bit build parisc: add braces around arguments in assembler macros parisc: fix dev_printk() compile warnings for accessing a device struct parisc: remove unused local out_putf label parisc: fix `struct pt_regs' declared inside parameter list warning parisc: fix section mismatch warnings parisc: remove klist iterators parisc: BUG_ON() cleanup commit 6d71135d635f84b584df55096627ed750c069e61 Merge: 1d88552 5d82720 Author: Linus Torvalds Date: Sat Mar 14 11:58:10 2009 -0700 Merge git://git.kernel.org/pub/scm/linux/kernel/git/bart/ide-2.6 * git://git.kernel.org/pub/scm/linux/kernel/git/bart/ide-2.6: ide: save the returned value of dma_map_sg ide-floppy: do not map dataless cmds to an sg commit 1d885526f2f3fffacee2ecb541270bd00168adff Author: Daisuke Nishimura Date: Fri Mar 13 13:52:00 2009 -0700 vmscan: pgmoved should be cleared after updating recent_rotated pgmoved should be cleared after updating recent_rotated. Signed-off-by: Daisuke Nishimura Cc: Rik van Riel Cc: Lee Schermerhorn Acked-by: KOSAKI Motohiro Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 84814d642a4f1f294bd675ab11aae1ca54c6cedb Author: Tyler Hicks Date: Fri Mar 13 13:51:59 2009 -0700 eCryptfs: don't encrypt file key with filename key eCryptfs has file encryption keys (FEK), file encryption key encryption keys (FEKEK), and filename encryption keys (FNEK). The per-file FEK is encrypted with one or more FEKEKs and stored in the header of the encrypted file. I noticed that the FEK is also being encrypted by the FNEK. This is a problem if a user wants to use a different FNEK than their FEKEK, as their file contents will still be accessible with the FNEK. This is a minimalistic patch which prevents the FNEKs signatures from being copied to the inode signatures list. Ultimately, it keeps the FEK from being encrypted with a FNEK. Signed-off-by: Tyler Hicks Cc: Serge Hallyn Acked-by: Dustin Kirkland Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 15e7b8767605dc0cb9bd4594caabfec392385210 Author: Johannes Weiner Date: Fri Mar 13 13:51:58 2009 -0700 nommu: ramfs: don't leak pages when adding to page cache fails When a ramfs nommu mapping is expanded, contiguous pages are allocated and added to the pagecache. The caller's reference is then passed on by moving whole pagevecs to the file lru list. If the page cache adding fails, make sure that the error path also moves the pagevec contents which might still contain up to PAGEVEC_SIZE successfully added pages, of which we would leak references otherwise. Signed-off-by: Johannes Weiner Cc: David Howells Cc: Enrik Berkhan Cc: Nick Piggin Cc: Peter Zijlstra Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 020fe22ff14320927f394de222cbb11708bcc7a8 Author: Enrik Berkhan Date: Fri Mar 13 13:51:56 2009 -0700 nommu: ramfs: pages allocated to an inode's pagecache may get wrongly discarded The pages attached to a ramfs inode's pagecache by truncation from nothing - as done by SYSV SHM for example - may get discarded under memory pressure. The problem is that the pages are not marked dirty. Anything that creates data in an MMU-based ramfs will cause the pages holding that data will cause the set_page_dirty() aop to be called. For the NOMMU-based mmap, set_page_dirty() may be called by write(), but it won't be called by page-writing faults on writable mmaps, and it isn't called by ramfs_nommu_expand_for_mapping() when a file is being truncated from nothing to allocate a contiguous run. The solution is to mark the pages dirty at the point of allocation by the truncation code. Signed-off-by: Enrik Berkhan Signed-off-by: David Howells Cc: Peter Zijlstra Cc: Nick Piggin Cc: Johannes Weiner Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit de9307c68624b03d2922a02a661ce31e20f078cc Author: Dhananjay Phadke Date: Fri Mar 6 14:52:12 2009 +0000 netxen: remove old flash check. Remove flash size check which made sense only for ancient boards with 1MB flash. The check is based on values read from specific locations and fails with firmware size changes. This prevents driver from getting right mac addresses. Signed-off-by: Dhananjay Phadke Signed-off-by: David S. Miller commit 8d03c7a0c550e7ab24cadcef5e66656bfadec8b9 Author: Eric Sandeen Date: Sat Mar 14 11:51:46 2009 -0400 ext4: fix bogus BUG_ONs in in mballoc code Thiemo Nagel reported that: # dd if=/dev/zero of=image.ext4 bs=1M count=2 # mkfs.ext4 -v -F -b 1024 -m 0 -g 512 -G 4 -I 128 -N 1 \ -O large_file,dir_index,flex_bg,extent,sparse_super image.ext4 # mount -o loop image.ext4 mnt/ # dd if=/dev/zero of=mnt/file oopsed, with a BUG_ON in ext4_mb_normalize_request because size == EXT4_BLOCKS_PER_GROUP It appears to me (esp. after talking to Andreas) that the BUG_ON is bogus; a request of exactly EXT4_BLOCKS_PER_GROUP should be allowed, though larger sizes do indicate a problem. Fix that an another (apparently rare) codepath with a similar check. Reported-by: Thiemo Nagel Signed-off-by: Eric Sandeen Signed-off-by: "Theodore Ts'o" commit 5a89392225c6147d10328a64b06b756561e97edf Author: Lennert Buytenhek Date: Fri Mar 13 15:48:02 2009 -0700 mv643xx_eth: fix unicast address filter corruption on mtu change When mv643xx_eth_open() is called to up an interface, port_start() will first re-program the unicast address filter, and then re-initialise the PORT_CONFIG register, but that will disable unicast promiscuous mode if it was enabled by the unicast address filter setup. This isn't a problem on ifconfig up, as ->set_rx_mode() will be called shortly afterwards which will program the filters again, but it does trigger when changing the MTU, which calls mv643xx_eth_stop() and then mv643xx_eth_open() by hand to repopulate the receive rings with skbuffs of the new size. Swap the initialisation of the PORT_START register and the call to the unicast filter setup function to fix this. Signed-off-by: Lennert Buytenhek Signed-off-by: David S. Miller commit a83860c2da9303c864a53c299d17f608f9643541 Author: Ralf Baechle Date: Fri Mar 13 21:17:57 2009 +0100 MIPS: Mark Eins: Fix configuration. Signed-off-by: Ralf Baechle commit 3b289d6e35a1a535c19a5b079f0500526754e650 Author: Zhang Le Date: Thu Mar 12 18:00:50 2009 +0800 MIPS: Fix TIF_32BIT undefined problem when seccomp is disabled Signed-off-by: Zhang Le Signed-off-by: Ralf Baechle commit 1c339eb183bb48095feaa46057ac4f4f0603dbf9 Author: Scott James Remnant Date: Fri Mar 13 14:30:08 2009 -0700 sbus: Auto-load openprom module when device opened. The openprom module is missing the char-major-10-139 alias that would cause it to be auto-loaded when a device of that type is opened. This patch adds the alias. Signed-off-by: Scott James Remnant Signed-off-by: Tim Gardner Signed-off-by: David S. Miller commit 08ec9af1c0622b0858099a8644a33af02dd3019f Author: David S. Miller Date: Fri Mar 13 14:22:40 2009 -0700 xfrm: Fix xfrm_state_find() wrt. wildcard source address. The change to make xfrm_state objects hash on source address broke the case where such source addresses are wildcarded. Fix this by doing a two phase lookup, first with fully specified source address, next using saddr wildcarded. Reported-by: Nicolas Dichtel Signed-off-by: David S. Miller commit 9616a75505be9b87f9625c4d87d8b07a45ddad4d Author: Benjamin Herrenschmidt Date: Fri Mar 13 13:48:46 2009 -0700 emac: Fix clock control for 405EX and 405EXr chips The EMAC variant in the 405EX and 405EXr chips needs the "440EP" type clock control workaround to avoid lockups of the Rx side during reset. Signed-off-by: Benjamin Herrenschmidt Tested-by: Felix Radensky Signed-off-by: David S. Miller commit e90d400c2b65c7bf038d3646780f4a81f602cd19 Author: Chris Leech Date: Tue Mar 10 16:00:24 2009 +0000 ixgbe: fix multiple unicast address support Multiple unicast address support appears to have been broken with the change to support net_device_ops. This a regression from 2.6.28 to 2.6.29. I'm not 100% on whether ndo_set_multicast_list can be NULL after this or not. If ndo_set_rx_mode is set everything _should_ be using it. Signed-off-by: Chris Leech Acked-by: Peter P Waskiewicz Jr Signed-off-by: Jeff Kirsher Signed-off-by: David S. Miller commit 59f8e169e25c5fce91826412c38359ecaf940b82 Author: Dave Jones Date: Fri Mar 13 13:37:46 2009 -0700 via-velocity: Fix DMA mapping length errors on transmit. From: Dave Jones The dma-debug changes caught that this driver uses the wrong DMA mapping length when skb_padto() does something. With suggestions from Eric Dumazet. Signed-off-by: David S. Miller commit 5d82720a7f41f0c877e026c7d17e3bf20ccdbae0 Author: FUJITA Tomonori Date: Fri Mar 13 21:16:13 2009 +0100 ide: save the returned value of dma_map_sg dma_map_sg could return a value different to 'nents' argument of dma_map_sg so the ide stack needs to save it for the later usage (e.g. for_each_sg). The ide stack also needs to save the original sg_nents value for pci_unmap_sg. Signed-off-by: FUJITA Tomonori [bart: backport to Linus' tree] Signed-off-by: Bartlomiej Zolnierkiewicz commit 3eb76c1ccde496c3c0bfda23d1c803e40b762ce6 Author: Borislav Petkov Date: Fri Mar 13 21:16:12 2009 +0100 ide-floppy: do not map dataless cmds to an sg since it fails the virt_to_page() translation check with DEBUG_VIRTUAL enabled. Signed-off-by: Borislav Petkov [bart: backport to Linus' tree] Signed-off-by: Bartlomiej Zolnierkiewicz commit e9c1670c2a14ef9cc20d86b24b829f3947aad34e Author: Tejun Heo Date: Tue Mar 3 13:52:16 2009 +0900 ata_piix: add workaround for Samsung DB-P70 Samsung DB-P70 somehow botched the first ICH9 SATA port. The board doesn't expose the first port but somehow SStatus reports link online while failing SRST protocol leading to repeated probe failures and thus long boot delay. Because the BIOS doesn't carry any identifying DMI information, the port can't be blacklisted safely. Fortunately, the controller does have subsystem vendor and ID set. It's unclear whether the subsystem IDs are used only for the board but it can be safely worked around by disabling SIDPR access and just using SRST works around the problem. Even when the workaround is triggered on an unaffected board the only side effect will be missing SCR access. Signed-off-by: Tejun Heo Reported-by: Joseph Jang Reported-by: Jonghyon Sohn Signed-off-by: Jeff Garzik commit e3e4385f6181f434c0d786998ad1d0eef4e21c9b Author: Stuart MENEFY Date: Tue Mar 10 11:38:13 2009 +0000 libata: Keep shadow last_ctl up to date during resets libata keeps a shadow copy of the ATA CTL register (which is write only), and only writes to the hardware when the required value doesn't match the shadow. However this copy wasn't being maintained when performing reset functions. This could cause problems for the first operation after a reset when the correct value might not be written to the CTL register. This problem was observed when hotplugging a drive: the identify command was being issued with interrupts enabled, when they should have been disabled. Signed-off-by: Stuart Menefy Signed-off-by: Jeff Garzik commit 9d51af7bd2f1d730cb6eeeb9ff837e3441ad4e07 Author: Mark Lord Date: Tue Mar 10 16:28:51 2009 -0400 sata_mv: fix MSI irq race condition Fix a (rare) race condition in mv_interrupt() when using MSI. The value of hpriv->main_irq_mask_addr can change on on the fly, and without this patch we could end up writing back a stale copy to the hardware. Signed-off-by: Mark Lord Signed-off-by: Jeff Garzik commit 855b0993f216a9b0f9cb33573bd05e314105d86c Author: Ron Mercer Date: Wed Mar 11 11:55:43 2009 +0000 qlge: bugfix: Pad outbound frames smaller than 60 bytes. With some asic configurations xmit of frames smaller than 60 bytes may fail. Signed-off-by: Ron Mercer Signed-off-by: David S. Miller commit 6612a6344aba8ba7b5af67cd006453bfedbb2967 Author: Ron Mercer Date: Wed Mar 11 11:55:42 2009 +0000 qlge: bugfix: Move netif_napi_del() to common call point. Moving netif_napi_del() up the call chain so it will get called from all exit points. Signed-off-by: Ron Mercer Signed-off-by: David S. Miller commit a7a655f22c75f48e0afe8b86be03ecd70bd68b07 Author: Ron Mercer Date: Wed Mar 11 11:55:41 2009 +0000 qlge: bugfix: Tell hw to strip vlan header. Signed-off-by: Ron Mercer Signed-off-by: David S. Miller commit c3c6496dc3d94d87bb0da86cf0bf48764577bf77 Author: Ron Mercer Date: Wed Mar 11 11:55:40 2009 +0000 qlge: bugfix: Increase filter on inbound csum. Chip does not do UDP checksum when fragmentation occurs. Signed-off-by: Ron Mercer Signed-off-by: David S. Miller commit 9fae6c3f648e38f023b99b5f5a5280907b2e796e Author: Ilya Yanok Date: Fri Mar 13 09:51:46 2009 -0700 dnet: replace obsolete *netif_rx_* functions with *napi_* *netif_rx_* functions is obsolete and removed in newer kernels so we need to use corresponding *napi_* functions instead. Signed-off-by: Ilya Yanok Signed-off-by: David S. Miller commit a00d0bb86b20a86a72f4df9d6e31dda94c02b4fa Author: Matthias Schwarzzot Date: Tue Jan 27 16:29:44 2009 -0300 V4L/DVB (10978): Report tuning algorith correctly Signed-off-by: Manu Abraham Signed-off-by: Mauro Carvalho Chehab commit 26f26fa8e3a0822aa43ee0a80bd0196fa2554c42 Author: Hans Werner Date: Tue Jan 27 16:09:12 2009 -0300 V4L/DVB (10977): STB6100 init fix, the call to stb6100_set_bandwidth needs an argument in Hz not kHz, and a comment incorrectly says MHz instead of Hz. I don't know if this caused real problems anywhere Signed-off-by: Manu Abraham Signed-off-by: Mauro Carvalho Chehab commit 1d06059c13fc64b67027334507f734ec0f2f4b6c Author: Igor M. Liplianin Date: Sun Nov 9 11:35:13 2008 -0300 V4L/DVB (10976): Bug fix: For legacy applications stv0899 performs search only first time after insmod. For legacy applications stv0899 performs search only first time after insmod due to not set DVBFE_ALGO_SEARCH_AGAIN bit Signed-off-by: Igor M. Liplianin Signed-off-by: Manu Abraham Signed-off-by: Mauro Carvalho Chehab commit b5d067b8e331ce78f4a81eb220965ffa36069d3f Author: Manu Abraham Date: Tue Jan 27 11:03:16 2009 -0300 V4L/DVB (10975): Bug: Use signed types, Offsets and range can be negative Code simplification: use in kernel macros Signed-off-by: Manu Abraham Signed-off-by: Mauro Carvalho Chehab commit d284e4f71dd42826fb60df33846ba310310c6c51 Author: Sigmund Augdal Date: Mon Jan 26 19:08:48 2009 -0300 V4L/DVB (10974): Use Diseqc 3/3 mode to send data Signed-off-by: Sigmund Augdal Signed-off-by: Manu Abraham Signed-off-by: Mauro Carvalho Chehab commit e8f208e8f727515bc605f241a5f854b41f77d0ed Author: Kyle McMartin Date: Fri Mar 13 01:33:34 2009 -0400 parisc: update defconfigs Signed-off-by: Kyle McMartin commit 0cb385e3ff54ee095d9873209f4da764dfb17fec Author: Kyle McMartin Date: Tue Feb 17 12:42:52 2009 -0500 parisc: define x->x mmio accessors Bloody inconsiderate driver writers... Signed-off-by: Kyle McMartin commit d4995244bd4c02eb7bea3c63aee81a2f2b64910e Author: Kay Sievers Date: Mon Jan 26 03:53:16 2009 +0000 parisc: dino: struct device - replace bus_id with dev_name(), dev_set_name() Acked-by: Greg Kroah-Hartman Signed-off-by: Kay Sievers Signed-off-by: Kyle McMartin commit 8b6649c575e0d8312f62fe643ae43558892da2e1 Author: Kyle McMartin Date: Mon Feb 16 03:20:54 2009 -0500 parisc: convert cpu_check_affinity to new cpumask api cpumask arg to the affinity function is now const, sort that out through the irq_desc implementations. Signed-off-by: Kyle McMartin commit 9dfe914da83ebc88f85d94b4d30d0e45882766d1 Author: Kyle McMartin Date: Mon Feb 16 03:05:02 2009 -0500 parisc: convert (read|write)bwlq to inlines Kills the 'value computed but not used' due to leX_to_cpu. Signed-off-by: Kyle McMartin commit 7c4be70e6d07582a111a1b66942c8a1d45528dfb Author: Kyle McMartin Date: Mon Feb 16 02:53:03 2009 -0500 parisc: fix use of new cpumask api in irq.c cpumask api needs to take a pointer to irq_desc[cpu].affinity Signed-off-by: Kyle McMartin commit 5a8247ca4c6441cafbb852cb1048d1056734a90c Author: Mike Travis Date: Tue Jan 13 03:05:25 2009 +0000 parisc: update parisc for new irq_desc Impact: cleanup, update to new cpumask API Irq_desc.affinity and irq_desc.pending_mask are now cpumask_var_t's so access to them should be using the new cpumask API. Signed-off-by: Mike Travis Signed-off-by: Kyle McMartin commit 763461194817bc39905c7c41d08e8d9548a3916d Author: Grant Grundler Date: Mon Dec 1 00:21:35 2008 -0700 parisc: update MAINTAINERS Signed-off-By: Grant Grundler Reviewed-by: Matthew Wilcox Acked-by: Helge Deller Signed-off-by: Kyle McMartin commit 9785d646c10b0707412516ffe56b71b9eb18861f Author: Grant Grundler Date: Wed Jan 28 22:30:55 2009 -0700 parisc: fix wrong assumption about bus->self Kenji Kaneshige posted a patch series to linux-pci to fix a wrong assumption about pci_bus->self==NULL for all PCI host bus controllers. While PARISC platforms to not behave this way, I prefer to have the code consistent across architectures. The following patch replaces pci_bus->self with pci_bus->parent when used as a test to check for "root bus controller". Signed-off-by: Grant Grundler Signed-off-by: Kyle McMartin commit c1da90fd099531e9449019dc53a5a02a5eaef2b4 Author: Helge Deller Date: Mon Jan 26 22:24:38 2009 +0100 parisc: fix 64bit build Signed-off-by: Helge Deller Signed-off-by: Kyle McMartin commit 2cfeb9a6755d4d7be1026422b6aced48e3bad492 Author: Helge Deller Date: Sun Jan 18 18:13:53 2009 +0100 parisc: add braces around arguments in assembler macros Add braces around the macro arguments, else for example "shl %r1, 5-3, %r2" would not expand to what you would assume. Signed-off-by: Helge Deller Signed-off-by: Kyle McMartin commit 7f384ce780c6091968fc848b14f17b45cb849e14 Author: Helge Deller Date: Tue Jan 13 21:14:51 2009 +0100 parisc: fix dev_printk() compile warnings for accessing a device struct Fix compile warnings: drivers/scsi/zalon.c: In function `zalon_probe': drivers/scsi/zalon.c:140: warning: passing arg 1 of `dev_driver_string' from incompatible pointer type drivers/scsi/zalon.c:140: warning: passing arg 1 of `dev_name' from incompatible pointer type Signed-off-by: Helge Deller Signed-off-by: Kyle McMartin commit ddd1f6c66dd964c106377f2be37b318794f112f4 Author: Helge Deller Date: Tue Jan 13 20:54:25 2009 +0100 parisc: remove unused local out_putf label Signed-off-by: Helge Deller Signed-off-by: Kyle McMartin commit e448372c79c49ef80df23496339ce0915abef76e Author: Helge Deller Date: Tue Jan 13 20:52:46 2009 +0100 parisc: fix `struct pt_regs' declared inside parameter list warning Fix those compile warnings: uaccess.h:244: warning: `struct pt_regs' declared inside parameter list uaccess.h:244: warning: its scope is only this definition or declaration, which is probably not what you want Signed-off-by: Helge Deller Signed-off-by: Kyle McMartin commit 24dc029f71c1411c5974a79848d68bb3e34263b9 Author: Helge Deller Date: Tue Jan 13 20:51:29 2009 +0100 parisc: fix section mismatch warnings Signed-off-by: Helge Deller Signed-off-by: Kyle McMartin commit bfe4f4f800ccbb499a1120735016a20d3feacd4f Author: James Bottomley Date: Fri Jan 9 18:57:06 2009 -0600 parisc: remove klist iterators commit 11c3b5c3e08f4d855cbef52883c266b9ab9df879 Author: Greg Kroah-Hartman Date: Tue Dec 16 12:24:56 2008 -0800 driver core: move klist_children into private structure Broke our parisc build pretty badly because we touch the klists directly in three cases (AGP, SBA and GSC). Although GregKH will revert this patch, there's no reason we should be using the iterators directly, we can just move to the standard device_for_each_child() API. Signed-off-by: James Bottomley Tested-by: Helge Deller Tested-by: Kyle McMartin Signed-off-by: Kyle McMartin commit 8980a7baf93e478205e32ec7d6ef3bfb6c0bdfa7 Author: Helge Deller Date: Tue Jan 6 12:57:01 2009 +0100 parisc: BUG_ON() cleanup - convert a few "if (xx) BUG();" to BUG_ON(xx) - remove a few printk()s, as we get a backtrace with BUG_ON() anyway Signed-off-by: Helge Deller Signed-off-by: Kyle McMartin commit f507cd22035fdadd5dbb476dd05e9e7ee21c3b84 Author: Geert Uytterhoeven Date: Fri Mar 6 02:54:09 2009 +0000 ps3/block: Replace mtd/ps3vram by block/ps3vram Convert the PS3 Video RAM Storage Driver from an MTD driver to a plain block device driver. The ps3vram driver exposes unused video RAM on the PS3 as a block device suitable for storage or swap. Fast data transfer is achieved using a local cache in system RAM and DMA transfers via the GPU. The new driver is ca. 50% faster for reading, and ca. 10% for writing. Signed-off-by: Geert Uytterhoeven Acked-by: Geoff Levand Signed-off-by: Benjamin Herrenschmidt commit 5f77af93266e107bd46c010c51d772c0fb003232 Author: Antti Palosaari Date: Tue Mar 10 13:06:40 2009 -0300 V4L/DVB (10972): zl10353: i2c_gate_ctrl bug fix zl10353 i2c-gate was always closed and due to that devices having tuner behind i2c-gate were broken. Add module configuration which allows disabling i2c-gate only when really needed. Signed-off-by: Antti Palosaari Signed-off-by: Mauro Carvalho Chehab commit 041b62374c7fedc11a8a1eeda2868612d3d1436c Author: Linus Torvalds Date: Thu Mar 12 19:39:28 2009 -0700 Linus 2.6.29-rc8 commit aa8e4fc68d8024cd3132035d13c3cefa7baeac8f Author: Linus Torvalds Date: Thu Mar 12 19:32:51 2009 -0700 bitmap: fix end condition in bitmap_find_free_region Guennadi Liakhovetski noticed that the end condition for the loop in bitmap_find_free_region() is wrong, and the "return if error" was also using the wrong conditional that would only trigger if the bitmap was an exact multiple of the allocation size, which is not necessarily the case with dma_alloc_from_coherent(). Such a failure would end up in bitmap_find_free_region() accessing beyond the end of the bitmap. Reported-by: Guennadi Liakhovetski Cc: Andrew Morton Signed-off-by: Linus Torvalds commit 712e53e46a1da35fcd88c05aa0c675b10f7c0e9d Author: Tao Ma Date: Thu Mar 12 08:37:34 2009 +0800 ocfs2: Use xs->bucket to set xattr value outside A long time ago, xs->base is allocated a 4K size and all the contents in the bucket are copied to the it. Now we use ocfs2_xattr_bucket to abstract xattr bucket and xs->base is initialized to the start of the bu_bhs[0]. So xs->base + offset will overflow when the value root is stored outside the first block. Then why we can survive the xattr test by now? It is because we always read the bucket contiguously now and kernel mm allocate continguous memory for us. We are lucky, but we should fix it. So just get the right value root as other callers do. Signed-off-by: Tao Ma Acked-by: Joel Becker Signed-off-by: Mark Fasheh commit 74e77eb30d0ecbb12964d005b439c8b84a505b84 Author: Tao Ma Date: Thu Mar 12 06:24:23 2009 +0800 ocfs2: Fix a bug found by sparse check. We need to use le32_to_cpu to test rec->e_cpos in ocfs2_dinode_insert_check. Signed-off-by: Tao Ma Acked-by: Joel Becker Signed-off-by: Mark Fasheh commit d9ae49d6e2b1ac9166e58ae3c9345135604beaa6 Author: Tiger Yang Date: Thu Mar 5 11:06:15 2009 +0800 ocfs2: tweak to get the maximum inline data size with xattr Replace max_inline_data with max_inline_data_with_xattr to ensure it correct when xattr inlined. Signed-off-by: Tiger Yang Acked-by: Joel Becker Signed-off-by: Mark Fasheh commit 6c9fd1dc0a597e575617a7de7086c8a3efa8f524 Author: Tiger Yang Date: Fri Mar 6 10:19:30 2009 +0800 ocfs2: reserve xattr block for new directory with inline data If this is a new directory with inline data, we choose to reserve the entire inline area for directory contents and force an external xattr block. Signed-off-by: Tiger Yang Acked-by: Joel Becker Signed-off-by: Mark Fasheh commit 9ead64974b05501bbac0d63a47c99fa786d064ba Merge: 0b80e3a 75bccd8 Author: Linus Torvalds Date: Thu Mar 12 16:35:26 2009 -0700 Merge git://git.kernel.org/pub/scm/linux/kernel/git/sam/kbuild-fixes * git://git.kernel.org/pub/scm/linux/kernel/git/sam/kbuild-fixes: kbuild: remove unused -r option for module-init-tool depmod kbuild: fix 'make rpm' when CONFIG_LOCALVERSION_AUTO=y and using SCM tree kbuild: fix mkspec to cleanup RPM_BUILD_ROOT kbuild: fix C libary confusion in unifdef.c due to getline() commit 0b80e3adc289de13cc70b33d90812ef136b6ea01 Merge: 188de5e 45e575a Author: Linus Torvalds Date: Thu Mar 12 16:34:59 2009 -0700 Merge git://git.kernel.org/pub/scm/linux/kernel/git/rusty/linux-2.6-for-linus * git://git.kernel.org/pub/scm/linux/kernel/git/rusty/linux-2.6-for-linus: cpumask: mm_cpumask for accessing the struct mm_struct's cpu_vm_mask. cpumask: tsk_cpumask for accessing the struct task_struct's cpus_allowed. commit 188de5ec56dc27e0556ad1bc41ec6bd84418d7bf Merge: 5216a3c 363911d Author: Linus Torvalds Date: Thu Mar 12 16:32:36 2009 -0700 Merge git://git.kernel.org/pub/scm/linux/kernel/git/pkl/squashfs-linus * git://git.kernel.org/pub/scm/linux/kernel/git/pkl/squashfs-linus: Squashfs: Valid filesystems are flagged as bad by the corrupted fs patch commit 5216a3c6d10c891015474fbf7126c92a1845bf74 Merge: ab03eca 51b3e27 Author: Linus Torvalds Date: Thu Mar 12 16:25:04 2009 -0700 Merge branch 'hwmon-for-linus' of git://jdelvare.pck.nerim.net/jdelvare-2.6 * 'hwmon-for-linus' of git://jdelvare.pck.nerim.net/jdelvare-2.6: hwmon: (f75375s) Remove unnecessary and confusing initialization hwmon: (it87) Properly decode -128 degrees C temperature hwmon: (lm90) Document support for the MAX6648/6692 chips hwmon: (abituguru3) Fix I/O error handling commit ab03eca8d4754ef2ba9821d581975b10b8f317e7 Author: Jody McIntyre Date: Thu Mar 12 17:39:23 2009 -0400 trivial: fix bad links in the ext2 and ext3 documentation Trivial patch to fix bad links in the ext2 and ext3 documentation. Signed-off-by: Jody McIntyre Signed-off-by: Linus Torvalds commit 8be3e1f1cabaf85486a1c68873299cfade8ef243 Merge: c12e56e d899871 Author: Linus Torvalds Date: Thu Mar 12 16:22:51 2009 -0700 Merge branch 'fixes-20090312' of git://git.kernel.org/pub/scm/linux/kernel/git/willy/pci * 'fixes-20090312' of git://git.kernel.org/pub/scm/linux/kernel/git/willy/pci: PCIe: portdrv: call pci_disable_device during remove pci: Fix typo in message while disabling HT MSI mapping pci: don't disable too many HT MSI mapping powerpc/pseries: The RPA PCI hotplug driver depends on EEH PCIe: AER: during disable, check subordinate before walking PCI: Add PCI quirk to disable L0s ASPM state for 82575 and 82598 commit c12e56ef6951f4fce1afe9ef6aab9243ea9a9b04 Author: Faisal Latif Date: Thu Mar 12 14:34:59 2009 -0700 RDMA/nes: Don't allow userspace QPs to use STag zero STag zero is a special STag that allows consumers to access any bus address without registering memory. The nes driver unfortunately allows STag zero to be used even with QPs created by unprivileged userspace consumers, which means that any process with direct verbs access to the nes device can read and write any memory accessible to the underlying PCI device (usually any memory in the system). Such access is usually given for cluster software such as MPI to use, so this is a local privilege escalation bug on most systems running this driver. The driver was using STag zero to receive the last streaming mode data; to allow STag zero to be disabled for unprivileged QPs, the driver now registers a special MR for this data. Cc: Signed-off-by: Faisal Latif Signed-off-by: Roland Dreier Signed-off-by: Linus Torvalds commit 7ef0d7377cb287e08f3ae94cebc919448e1f5dff Author: Nick Piggin Date: Thu Mar 12 14:31:38 2009 -0700 fs: new inode i_state corruption fix There was a report of a data corruption http://lkml.org/lkml/2008/11/14/121. There is a script included to reproduce the problem. During testing, I encountered a number of strange things with ext3, so I tried ext2 to attempt to reduce complexity of the problem. I found that fsstress would quickly hang in wait_on_inode, waiting for I_LOCK to be cleared, even though instrumentation showed that unlock_new_inode had already been called for that inode. This points to memory scribble, or synchronisation problme. i_state of I_NEW inodes is not protected by inode_lock because other processes are not supposed to touch them until I_LOCK (and I_NEW) is cleared. Adding WARN_ON(inode->i_state & I_NEW) to sites where we modify i_state revealed that generic_sync_sb_inodes is picking up new inodes from the inode lists and passing them to __writeback_single_inode without waiting for I_NEW. Subsequently modifying i_state causes corruption. In my case it would look like this: CPU0 CPU1 unlock_new_inode() __sync_single_inode() reg <- inode->i_state reg -> reg & ~(I_LOCK|I_NEW) reg <- inode->i_state reg -> inode->i_state reg -> reg | I_SYNC reg -> inode->i_state Non-atomic RMW on CPU1 overwrites CPU0 store and sets I_LOCK|I_NEW again. Fix for this is rather than wait for I_NEW inodes, just skip over them: inodes concurrently being created are not subject to data integrity operations, and should not significantly contribute to dirty memory either. After this change, I'm unable to reproduce any of the added warnings or hangs after ~1hour of running. Previously, the new warnings would start immediately and hang would happen in under 5 minutes. I'm also testing on ext3 now, and so far no problems there either. I don't know whether this fixes the problem reported above, but it fixes a real problem for me. Cc: "Jorge Boncompte [DTI2]" Reported-by: Adrian Hunter Cc: Jan Kara Cc: Signed-off-by: Nick Piggin Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit f272b7bc447553410dde691aa31fc531adf9c175 Author: KOSAKI Motohiro Date: Thu Mar 12 14:31:36 2009 -0700 memcg: use correct scan number at reclaim Even when page reclaim is under mem_cgroup, # of scan page is determined by status of global LRU. Fix that. Signed-off-by: KOSAKI Motohiro Signed-off-by: KAMEZAWA Hiroyuki Cc: Daisuke Nishimura Cc: Balbir Singh Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 02d46e07e538c285accb5c000a7db3a97eff1fbf Author: Mark Brown Date: Thu Mar 12 14:31:36 2009 -0700 mfd: add support for WM8351 revision B No software visible difference from revision A. Signed-off-by: Mark Brown Cc: Samuel Ortiz Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 1ba869ec581fd9078b684c56c399ffe3d2345e27 Author: Michael Spang Date: Thu Mar 12 14:31:34 2009 -0700 acer-wmi: fix regression in backlight detection Currently we disable the Acer WMI backlight device if there is no ACPI backlight device. As a result, we end up with no backlight device at all. We should instead disable it if there is an ACPI device, as the other laptop drivers do. This regression was introduced in febf2d9 ("Acer-WMI: fingers off backlight if video.ko is serving this functionality"). Each laptop driver with backlight support got a similar change around febf2d9. The changes to the other drivers look correct; see e.g. a598c82f for a similar but correct change. The regression is also in 2.6.28. Signed-off-by: Michael Spang Acked-by: Thomas Renninger Cc: Zhang Rui Cc: Andi Kleen Cc: Carlos Corbacho Cc: Len Brown Cc: "Rafael J. Wysocki" Cc: [2.6.28.x] Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 7c48ed3383bfb2106694807361ec187fe8a4333d Author: Ben Dooks Date: Thu Mar 12 14:31:33 2009 -0700 mmc: s3cmci: fix s3c2410_dma_config() arguments. The s3cmci driver is calling s3c2410_dma_config with incorrect data for the DCON register. The S3C2410_DCON_HWTRIG is implicit in the channel configuration and the device selection of S3C2410_DCON_CH0_SDI is incorrect as the DMA system may not select channel 0. Signed-off-by: Ben Dooks Acked-by: Pierre Ossman Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 1b53dc74ef957f134d93e989150f983e92fb88e3 Author: Michael Kerrisk Date: Thu Mar 12 14:31:32 2009 -0700 MAINTAINERS: downgrade support for man-pages Unfortunately, Linux Foundation funding for my work on man-pages/testing/doc under the auspices of the LF documentation fellowship unfortunately ran out a short while ago (after earlier attempts to seek funding, only Google stepped forward with a bit of further funding for the position), so the patch below acknowledges something closer to reality. Unfortunately, there will (probably very) soon be a further downgrade from "Maintained" to "Odd Fixes" or "Orphan", unless some funding miracle occurs. So, if anyone is looking to become man-pages maintainer, there may soon be an opening (okay, don't trample me in the rush ;-).) Signed-off-by: Michael Kerrisk Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit a4e3f91b98d86ae0b5c816fe45190bb29ac32f71 Author: Daniel Mack Date: Thu Mar 12 14:31:30 2009 -0700 ds2760_battery.c: fix division by zero The 'battery remaining capacity' calculation in drivers/power/ds2760_battery.c lacks a parameter check to a division operation which causes the kernel to oops on my board. [ 21.233750] Division by zero in kernel. [ 21.237646] [] (__div0+0x0/0x20) from [] (Ldiv0+0x8/0x10) [ 21.244816] [] (ds2760_battery_read_status+0x0/0x2a4) from [] (ds2760_battery_get_property+0x30/0xdc) [ 21.255803] r8:c03a22c0 r7:c7886100 r6:00000009 r5:c782fe7c r4:c7886084 [ 21.262518] [] (ds2760_battery_get_property+0x0/0xdc) from [] (power_supply_show_property+0x48/0x114) [ 21.273480] r6:c7996000 r5:00000009 r4:00000000 [ 21.278111] [] (power_supply_show_property+0x0/0x114) from [] (power_supply_uevent+0x188/0x280) [ 21.288537] r8:00000001 r7:c7886100 r6:c7996000 r5:000000b4 r4:00000000 [ 21.295222] [] (power_supply_uevent+0x0/0x280) from [] (dev_uevent+0xd4/0x10c) [ 21.304199] [] (dev_uevent+0x0/0x10c) from [] (kobject_uevent_env+0x180/0x390) [ 21.313170] r5:00000000 r4:c78860ac [ 21.316725] [] (kobject_uevent_env+0x0/0x390) from [] (kobject_uevent+0x14/0x18) [ 21.325850] [] (kobject_uevent+0x0/0x18) from [] (power_supply_changed_work+0x5c/0x70) [ 21.335506] [] (power_supply_changed_work+0x0/0x70) from [] (run_workqueue+0xbc/0x144) [ 21.345167] r4:c7812040 [ 21.347716] [] (run_workqueue+0x0/0x144) from [] (worker_thread+0xa8/0xbc) [ 21.356296] r7:c7812040 r6:c7820b00 r5:c782ffa4 r4:c7812048 [ 21.361957] [] (worker_thread+0x0/0xbc) from [] (kthread+0x5c/0x94) [ 21.369971] r7:00000000 r6:c004d8a4 r5:c7812040 r4:c782e000 [ 21.375612] [] (kthread+0x0/0x94) from [] (do_exit+0x0/0x688) Signed-off-by: Daniel Mack Cc: Szabolcs Gyurko Acked-by: Matt Reimer Acked-by: Anton Vorontsov Cc: David Woodhouse Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit a3cfbb53b1764a3d1f58ddc032737ab9edaa7d41 Author: Li Zefan Date: Thu Mar 12 14:31:29 2009 -0700 vfs: add missing unlock in sget() In sget(), destroy_super(s) is called with s->s_umount held, which makes lockdep unhappy. Signed-off-by: Li Zefan Cc: Al Viro Acked-by: Peter Zijlstra Cc: Paul Menage Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit e5bc49ba7439b9726006d031d440cba96819f0f8 Author: Oleg Nesterov Date: Thu Mar 12 14:31:28 2009 -0700 pipe_rdwr_fasync: fix the error handling to prevent the leak/crash If the second fasync_helper() fails, pipe_rdwr_fasync() returns the error but leaves the file on ->fasync_readers. This was always wrong, but since 233e70f4228e78eb2f80dc6650f65d3ae3dbf17c "saner FASYNC handling on file close" we have the new problem. Because in this case setfl() doesn't set FASYNC bit, __fput() will not do ->fasync(0), and we leak fasync_struct with ->fa_file pointing to the freed file. Signed-off-by: Oleg Nesterov Cc: Al Viro Cc: Andi Kleen Cc: Jonathan Corbet Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 8d0df7a3d1ecbaf5d5602a59055c8ca993855bed Author: Daniel Mack Date: Thu Mar 12 14:31:25 2009 -0700 drivers/w1/masters/w1-gpio.c: fix read_bit() W1 master implementations are expected to return 0 or 1 from their read_bit() function. However, not all platforms do return these values from gpio_get_value() - namely PXAs won't. Hence the w1 gpio-master needs to break the result down to 0 or 1 itself. Signed-off-by: Daniel Mack Cc: Ville Syrjala Cc: Evgeniy Polyakov Cc: David Brownell Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 00699e8472cc0209d57b5c5614bc2ec98e665004 Author: akpm@linux-foundation.org Date: Thu Mar 12 14:31:24 2009 -0700 uml: fix WARNING: vmlinux: 'memcpy' exported twice Fix the following warning on x86_64: LD vmlinux.o MODPOST vmlinux.o WARNING: vmlinux: 'memcpy' exported twice. Previous export was in vmlinux For x86_64, this symbol is already exported from arch/um/sys-x86_64/ksyms.c. Reported-by: Boaz Harrosh Signed-off-by: WANG Cong Tested-by: Boaz Harrosh Cc: Jeff Dike Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 86d6f2bf61eb2a28fa63c0a19330d36226426477 Author: Renzo Davoli Date: Thu Mar 12 14:31:23 2009 -0700 UML on UML fixed: it did not start It is currently impossible to run a user-mode linux machine inside another user-mode linux (UML on UML). It breaks after a few instructions. When it tries to check whether SYSEMU is installed (the inner) UML receives an inconsistent result (from the outer UML). This is the output of a broken attempt: $ ./linux mem=256m ubd0=cow Locating the bottom of the address space ... 0x0 Locating the top of the address space ... 0xc0000000 Core dump limits : soft - 0 hard - NONE Checking that ptrace can change system call numbers...OK Checking ptrace new tags for syscall emulation...unsupported Checking syscall emulation patch for ptrace...check_sysemu : expected SIGTRAP, got status = 256 $ The problem is the following: PTRACE_SYSCALL/SINGLESTEP is currently managed inside arch_ptrace for ARCH=um. PTRACE_SYSEMU/SUSEMU_SINGLESTEP is not captured in arch_ptrace's switch, therefore it is erroneously passed back to ptrace_request (in kernel/ptrace). This simple patch simply forces ptrace to return an error on PTRACE_SYSEMU/SUSEMU_SINGLESTEP as it is unsupported on ARCH=um, and fixes the problem. [akpm@linux-foundation.org: coding-style fixes] Signed-off-by: Renzo Davoli Reviewed-by: WANG Cong Cc: Jeff Dike Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 1522ac3ec95ff0230e7aa516f86b674fdf72866c Author: Russell King Date: Thu Mar 12 17:03:48 2009 +0000 [ARM] Fix virtual to physical translation macro corner cases The current use of these macros works well when the conversion is entirely linear. In this case, we can be assured that the following holds true: __va(p + s) - s = __va(p) However, this is not always the case, especially when there is a non-linear conversion (eg, when there is a 3.5GB hole in memory.) In this case, if 's' is the size of the region (eg, PAGE_SIZE) and 'p' is the final page, the above is most definitely not true. So, we must ensure that __va() and __pa() are only used with valid kernel direct mapped RAM addresses. This patch tweaks the code to achieve this. Tested-by: Charles Moschel Signed-off-by: Russell King commit 305b07680f6c6a7e59f996c5bd85f009caff5bb1 Author: Russell King Date: Thu Mar 12 18:03:01 2009 +0000 [ARM] update mach-types Signed-off-by: Russell King commit 446c92b2901bedb3725d29b4e73def8aba623ffc Author: Uwe Kleine-König Date: Thu Mar 12 18:03:16 2009 +0100 [ARM] 5421/1: ftrace: fix crash due to tracing of __naked functions This is a fix for the following crash observed in 2.6.29-rc3: http://lkml.org/lkml/2009/1/29/150 On ARM it doesn't make sense to trace a naked function because then mcount is called without stack and frame pointer being set up and there is no chance to restore the lr register to the value before mcount was called. Reported-by: Matthias Kaehlcke Tested-by: Matthias Kaehlcke Cc: Abhishek Sagar Cc: Steven Rostedt Cc: Ingo Molnar Signed-off-by: Uwe Kleine-König Signed-off-by: Russell King commit 9311c593f24f28de2a339da602644f0f7ae0fc60 Merge: c06b488 20214fc Author: Russell King Date: Thu Mar 12 21:32:52 2009 +0000 Merge branch 'for-rmk' of git://git.pengutronix.de/git/imx/linux-2.6 commit d89987193631bf23d1735c55d13a06d4b8d0e9bd Author: Alex Chiang Date: Sat Mar 7 19:35:47 2009 -0700 PCIe: portdrv: call pci_disable_device during remove The PCIe port driver calls pci_enable_device() during probe but never calls pci_disable_device() during remove. Cc: stable@kernel.org Signed-off-by: Alex Chiang Signed-off-by: Matthew Wilcox commit 6a958d5b28e4a180458e0d319d2e4bb5c4b7da3e Author: Prakash Punnoor Date: Fri Mar 6 10:10:35 2009 +0100 pci: Fix typo in message while disabling HT MSI mapping "Enabling" should read "Disabling" Signed-off-by: Prakash Punnoor Signed-off-by: Matthew Wilcox commit 7726c3308a92b4a4c3bd059059498fca0e6f8e48 Author: Prakash Punnoor Date: Fri Mar 6 00:45:12 2009 +0100 pci: don't disable too many HT MSI mapping Prakash's system needs MSI disabled on some bridges, but not all. This seems to be the minimal fix for 2.6.29, but should be replaced during 2.6.30. Signed-off-by: Prakash Punnoor Signed-off-by: Matthew Wilcox commit 3f3b902ed8147c42a4a9764014c758e6b3f42f51 Author: Michael Ellerman Date: Fri Mar 6 14:39:14 2009 +1100 powerpc/pseries: The RPA PCI hotplug driver depends on EEH The RPA PCI hotplug driver calls EEH routines, so should depend on EEH. Also PPC_PSERIES implies PPC64, so remove that. Signed-off-by: Michael Ellerman Signed-off-by: Matthew Wilcox commit cb4cb4ac7338c28b047760be187355ed9c783e72 Author: Alex Chiang Date: Thu Mar 5 19:28:40 2009 -0700 PCIe: AER: during disable, check subordinate before walking Commit 47a8b0cc (Enable PCIe AER only after checking firmware support) wants to walk the PCI bus in the remove path to disable AER, and calls pci_walk_bus for downstream bridges. Unfortunately, in the remove path, we remove devices and bridges in a depth-first manner, starting with the furthest downstream bridge and working our way backwards. The furthest downstream bridges will not have a dev->subordinate, and we hit a NULL deref in pci_walk_bus. Check for dev->subordinate first before attempting to walk the PCI hierarchy below us. Acked-by: Andrew Patterson Signed-off-by: Alex Chiang Signed-off-by: Matthew Wilcox commit 649426efcfbc67a8b033497151816cbac9fd0cfa Author: Alexander Duyck Date: Thu Mar 5 13:57:28 2009 -0500 PCI: Add PCI quirk to disable L0s ASPM state for 82575 and 82598 This patch is intended to disable L0s ASPM link state for 82598 (ixgbe) parts due to the fact that it is possible to corrupt TX data when coming back out of L0s on some systems. The workaround had been added for 82575 (igb) previously, but did not use the ASPM api. This quirk uses the ASPM api to prevent the ASPM subsystem from re-enabling the L0s state. Instead of adding the fix in igb to the ixgbe driver as well it was decided to move it into a pci quirk. It is necessary to move the fix out of the driver and into a pci quirk in order to prevent the issue from occuring prior to driver load to handle the possibility of the device being passed to a VM via direct assignment. Signed-off-by: Alexander Duyck Signed-off-by: Jeff Kirsher CC: Jesse Barnes Signed-off-by: Matthew Wilcox commit 9f4c899c0d90e1b51b6864834f3877b47c161a0e Author: Trond Myklebust Date: Thu Mar 12 14:51:32 2009 -0400 NFS: Fix the fix to Bugzilla #11061, when IPv6 isn't defined... Stephen Rothwell reports: Today's linux-next build (powerpc ppc64_defconfig) failed like this: fs/built-in.o: In function `.nfs_get_client': client.c:(.text+0x115010): undefined reference to `.__ipv6_addr_type' Fix by moving the IPV6 specific parts of commit d7371c41b0cda782256b1df759df4e8d4724584c ("Bug 11061, NFS mounts dropped") into the '#ifdef IPV6..." section. Also fix up a couple of formatting issues. Signed-off-by: Trond Myklebust commit f1c7404e37a8970bd58cc10a6d96534d42b9aac6 Merge: 8c57a8f 0796e75 Author: Linus Torvalds Date: Thu Mar 12 09:27:53 2009 -0700 Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/sparc-2.6 * git://git.kernel.org/pub/scm/linux/kernel/git/davem/sparc-2.6: sunhme: Fix qfe parent detection. sparc64: Fix lost interrupts on sun4u. sparc64: wait_event_interruptible_timeout may return -ERESTARTSYS jsflash: stop defining MAJOR_NR commit 8c57a8fa4e9226a44c4e98327852936df3b6791b Merge: 0789d8f 0a7c808 Author: Linus Torvalds Date: Thu Mar 12 09:25:10 2009 -0700 Merge branch 'upstream' of git://ftp.linux-mips.org/pub/scm/upstream-linus * 'upstream' of git://ftp.linux-mips.org/pub/scm/upstream-linus: MIPS: IP27: Enable RAID5 module MIPS: TXx9: update defconfigs MIPS: NEC VR5500 processor support fixup MIPS: Fix build of non-CONFIG_SYSVIPC version of sys_32_ipc commit 2842c3b5449f31470b61db716f1926b594fb6156 Author: Theodore Ts'o Date: Thu Mar 12 12:20:01 2009 -0400 ext4: Print the find_group_flex() warning only once This is a short-term warning, and even printk_ratelimit() can result in too much noise in system logs. So only print it once as a warning. Signed-off-by: "Theodore Ts'o" commit 51b3e2700177b89fdb0d985926ce777a7ad52b15 Author: Andrew Klossner Date: Thu Mar 12 13:36:39 2009 +0100 hwmon: (f75375s) Remove unnecessary and confusing initialization f75375_probe calls i2c_get_clientdata to initialize the data pointer, but there isn't yet any client data to get, and the value is never used before the variable is assigned a new value seven lines later. The call doesn't hurt anything and wastes only a couple of cycles. The reason to fix it is because this module serves as an example to hackers writing new hwmon drivers, and this part of the example is confusing. Signed-off-by: Andrew Klossner Signed-off-by: Jean Delvare commit e267d25005c861fe6afda343f044536342c9f8b4 Author: Jean Delvare Date: Thu Mar 12 13:36:39 2009 +0100 hwmon: (it87) Properly decode -128 degrees C temperature The it87 driver is reporting -128 degrees C as +128 degrees C. That's not a terribly likely temperature value but let's still get it right, especially when it simplifies the code. Signed-off-by: Jean Delvare commit 1a51e068c900eb6ea23ce597361ebf3b19a57b23 Author: Darrick J. Wong Date: Thu Mar 12 13:36:38 2009 +0100 hwmon: (lm90) Document support for the MAX6648/6692 chips Update documentation to prevent further confusion/duplication. Signed-off-by: Darrick J. Wong Signed-off-by: Jean Delvare commit 3bb9db79235e19dbb18ba6f4a428a97c69115319 Author: Jean Delvare Date: Thu Mar 12 13:36:38 2009 +0100 hwmon: (abituguru3) Fix I/O error handling Fix a logic bug reported by Roel Kluin, by rewriting the error handling code in a clearer way. Signed-off-by: Jean Delvare Cc: Roel Kluin Acked-by: Alistair John Strachan Acked-by: Hans de Goede commit 6b7c5b947c671a96e39f9526a5fd70c178b8dfd1 Author: Sathya Perla Date: Wed Mar 11 23:32:03 2009 -0700 net: Add be2net driver. Signed-off-by: Sathya Perla Signed-off-by: David S. Miller commit 2c5849ea38fdad477d72dcf1c8c4842db4b33aae Author: David S. Miller Date: Wed Mar 11 23:28:57 2009 -0700 dnet: Fix warnings on 64-bit. Signed-off-by: David S. Miller commit 4796417417a62e2ae83d92cb92e1ecf9ec67b5f5 Author: Ilya Yanok Date: Wed Mar 11 23:26:02 2009 -0700 dnet: Dave DNET ethernet controller driver (updated) Driver for Dave DNET ethernet controller found on Dave/DENX QongEVB-LITE FPGA. Heavily based on Dave sources, I've just adopted it to current kernel version and done some code cleanup. Signed-off-by: Ilya Yanok Signed-off-by: David S. Miller commit 45e575ab9bfada5a5ef1b6174f8e749b1ecf0864 Author: Rusty Russell Date: Thu Mar 12 14:35:44 2009 -0600 cpumask: mm_cpumask for accessing the struct mm_struct's cpu_vm_mask. This allows us to change the representation (to a dangling bitmap or cpumask_var_t) without breaking all the callers: they can use mm_cpumask() now and won't see a difference as the changes roll into linux-next. Signed-off-by: Rusty Russell commit 76e6eee03353f01bfca707d4dbb1f10a4ee27dc0 Author: Rusty Russell Date: Thu Mar 12 14:35:43 2009 -0600 cpumask: tsk_cpumask for accessing the struct task_struct's cpus_allowed. This allows us to change the representation (to a dangling bitmap or cpumask_var_t) without breaking all the callers: they can use tsk_cpumask() now and won't see a difference as the changes roll into linux-next. Signed-off-by: Rusty Russell commit 363911d027d1de1c6df79eb3f487f5476b9619f4 Author: Phillip Lougher Date: Thu Mar 12 03:23:48 2009 +0000 Squashfs: Valid filesystems are flagged as bad by the corrupted fs patch The corrupted filesystem patch added a check against zlib trying to output too much data in the presence of data corruption. This check triggered if zlib_inflate asked to be called again (Z_OK) with avail_out == 0 and no more output buffers available. This check proves to be rather dumb, as it incorrectly catches the case where zlib has generated all the output, but there are still input bytes to be processed. This patch does a number of things. It removes the original check and replaces it with code to not move to the next output buffer if there are no more output buffers available, relying on zlib to error if it wants an extra output buffer in the case of data corruption. It also replaces the Z_NO_FLUSH flag with the more correct Z_SYNC_FLUSH flag, and makes the error messages more understandable to non-technical users. Signed-off-by: Phillip Lougher Reported-by: Stefan Lippers-Hollmann commit 0789d8fccb5673001b54536d8f2f87f5db0d646f Merge: ebdcc81 c141b29 Author: Linus Torvalds Date: Wed Mar 11 14:29:03 2009 -0700 Merge branch 'for-linus' of git://oss.sgi.com/xfs/xfs * 'for-linus' of git://oss.sgi.com/xfs/xfs: xfs: only issues a cache flush on unmount if barriers are enabled xfs: prevent lockdep false positive in xfs_iget_cache_miss xfs: prevent kernel crash due to corrupted inode log format commit 0a7c808fccc86418acf0e0b4b119094fb56af952 Author: Ralf Baechle Date: Wed Mar 11 21:08:50 2009 +0100 MIPS: IP27: Enable RAID5 module Signed-off-by: Ralf Baechle commit dc58f81346787c82ac47aef1be911ed9edf16024 Author: Atsushi Nemoto Date: Wed Mar 4 23:45:44 2009 +0900 MIPS: TXx9: update defconfigs Enable following features: * MTD (PHYSMAP) * LED (LEDS_GPIO) * RBTX4939 * 7SEGLED * IDE (IDE_TX4938, IDE_TX4939) * SMC91X * RTC_DRV_TX4939 Signed-off-by: Atsushi Nemoto Signed-off-by: Ralf Baechle commit a644b2774d41409519bb33a16bd577cb41bb3095 Author: Shinya Kuribayashi Date: Tue Mar 3 18:05:51 2009 +0900 MIPS: NEC VR5500 processor support fixup Current VR5500 processor support lacks of some functions which are expected to be configured/synthesized on arch initialization. Here're some VR5500A spec notes: * All execution hazards are handled in hardware. * Once VR5500A stops the operation of the pipeline by WAIT instruction, it could return from the standby mode only when either a reset, NMI request, or all enabled interrupts is/are detected. In other words, if interrupts are disabled by Status.IE=0, it keeps in standby mode even when interrupts are internally asserted. Notes on WAIT: The operation of the processor is undefined if WAIT insn is in the branch delay slot. The operation is also undefined if WAIT insn is executed when Status.EXL and Status.ERL are set to 1. * VR5500A core only implements the Load prefetch. With these changes, it boots fine. Signed-off-by: Shinya Kuribayashi Signed-off-by: Ralf Baechle commit c189846ecf900cd6b3ad7d3cef5b45a746ce646b Author: Xiaotian Feng Date: Mon Mar 9 09:45:12 2009 +0800 MIPS: Fix build of non-CONFIG_SYSVIPC version of sys_32_ipc Signed-off-by: Xiaotian Feng Signed-off-by: Ralf Baechle commit ebdcc81c71937b30e09110c02a1e8a21fa770b6f Merge: 01f6750 260cf8a Author: Linus Torvalds Date: Wed Mar 11 12:14:55 2009 -0700 Merge branch 'drm-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/airlied/drm-2.6 * 'drm-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/airlied/drm-2.6: drm: fix EDID parser problem with positive/negative hsync/vsync commit 01f675029dfdcbd83b451bff4138de0d43752c4a Merge: 932088b d801cec Author: Linus Torvalds Date: Wed Mar 11 12:14:04 2009 -0700 Merge branch 'merge' of git://git.kernel.org/pub/scm/linux/kernel/git/benh/powerpc * 'merge' of git://git.kernel.org/pub/scm/linux/kernel/git/benh/powerpc: radeonfb/aty128fb: Disable broken early resume hook for PowerBooks hvc_console: Remove tty->low_latency on pseries backends powerpc: fix linkstation and storcenter compilation breakage powerpc/4xx: Enable SERIAL_OF support by default for Virtex platforms commit 932088b136c3aeace052cc23179f54022ce3f723 Merge: f809e5a dc529a4 Author: Linus Torvalds Date: Wed Mar 11 12:09:45 2009 -0700 Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/anholt/drm-intel * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/anholt/drm-intel: drm/i915: fix 945 fence register writes for fence 8 and above. drm/i915: Protect active fences on i915 drm/i915: Check to see if we've pinned all available fences drm/i915: Check fence status on every pin. drm/i915: First recheck for an empty fence register. drm/i915: Fix bad \n in MTRR failure notice. drm/i915: Don't restore palettes through VGA registers. i915: add newline to i915_gem_object_pin failure msg drm: Return EINVAL on duplicate objects in execbuffer object list commit f809e5a21f05b4aaeef0f9b191c01438d392fa5a Merge: 3a95ea1 211b3d0 Author: Linus Torvalds Date: Wed Mar 11 12:04:51 2009 -0700 Merge branch 'x86-fixes-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip * 'x86-fixes-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip: x86: work around Fedora-11 x86-32 kernel failures on Intel Atom CPUs commit 3a95ea1155c5d44aa58dde2f64f0ddafe27fd1fb Author: OGAWA Hirofumi Date: Thu Mar 12 02:03:23 2009 +0900 Fix _fat_bmap() locking On swapon() path, it has already i_mutex. So, this uses i_alloc_sem instead of it. Signed-off-by: OGAWA Hirofumi Reported-by: Laurent GUERBY Signed-off-by: Linus Torvalds commit 01d37c428ae080563c0a3bb8bdfa88c65a6891d3 Author: Trond Myklebust Date: Wed Mar 11 14:09:39 2009 -0400 SUNRPC: xprt_connect() don't abort the task if the transport isn't bound If the transport isn't bound, then we should just return ENOTCONN, letting call_connect_status() and/or call_status() deal with retrying. Currently, we appear to abort all pending tasks with an EIO error. Signed-off-by: Trond Myklebust commit fba91afbec2c004e2c8733ae9e0ca6998e962c64 Author: Trond Myklebust Date: Wed Mar 11 14:06:41 2009 -0400 SUNRPC: Fix an Oops due to socket not set up yet... We can Oops in both xs_udp_send_request() and xs_tcp_send_request() if the call to xs_sendpages() returns an error due to the socket not yet being set up. Deal with that situation by returning a new error: ENOTSOCK, so that we know to avoid dereferencing transport->sock. Signed-off-by: Trond Myklebust commit dc529a4fe1ae4667c819437a94185e8581e1e680 Author: Eric Anholt Date: Tue Mar 10 22:34:49 2009 -0700 drm/i915: fix 945 fence register writes for fence 8 and above. The last 8 fence registers sit at a different offset, so when we went to set fence number 8 in the lower offset, we instead set PGETBL_CTL, and the GPU got all sorts of angry at us. fd.o bug #20567. Easily reproducible by running glxgears and killing it about 6 times. Signed-off-by: Eric Anholt commit d7619c4b9c95cc9a2e7f0f4f7ae21165ab5cb1e7 Author: Chris Wilson Date: Wed Feb 11 14:26:47 2009 +0000 drm/i915: Protect active fences on i915 The i915 also uses the fence registers for GPU access to tiled buffers so we cannot reallocate one whilst it is on the active list. By performing a LRU scan of the fenced buffers we also avoid waiting the possibility of waiting on a pinned, or otherwise unusable, buffer. Signed-off-by: Chris Wilson Signed-off-by: Eric Anholt commit 211b3d03c7400f48a781977a50104c9d12f4e229 Author: Ingo Molnar Date: Tue Mar 10 22:31:03 2009 +0100 x86: work around Fedora-11 x86-32 kernel failures on Intel Atom CPUs Impact: work around boot crash Work around Intel Atom erratum AAH41 (probabilistically) - it's triggering in the field. Reported-by: Linus Torvalds Tested-by: Kyle McMartin Signed-off-by: Ingo Molnar commit ff8cf9a93800e8118ea097c1aba7203d59a0f3f1 Author: John Dykstra Date: Wed Mar 11 09:22:51 2009 -0700 ipv6: Fix BUG when disabled ipv6 module is unloaded Do not try to "uninitialize" ipv6 if its initialization had been skipped because module parameter disable=1 had been specified. Reported-by: Thomas Backlund Signed-off-by: John Dykstra Acked-by: Brian Haley Signed-off-by: David S. Miller commit ad3bdefe877afb47480418fdb05ecd42842de65e Author: Wu Fengguang Date: Wed Mar 11 09:00:04 2009 +0800 proc: fix kflags to uflags copying in /proc/kpageflags Fix kpf_copy_bit(src,dst) to be kpf_copy_bit(dst,src) to match the actual call patterns, e.g. kpf_copy_bit(kflags, KPF_LOCKED, PG_locked). This misplacement of src/dst only affected reporting of PG_writeback, PG_reclaim and PG_buddy. For others kflags==uflags so not affected. Signed-off-by: Wu Fengguang Reviewed-by: KOSAKI Motohiro Cc: stable@kernel.org Signed-off-by: Linus Torvalds commit fc7170ba281c041852eeda52d4faf5db720c99ce Author: Chris Wilson Date: Wed Feb 11 14:26:46 2009 +0000 drm/i915: Check to see if we've pinned all available fences We need to check and report if there are no available fences - or else we spin endlessly waiting for a buffer to magically unpin itself. Signed-off-by: Chris Wilson Signed-off-by: Eric Anholt commit 22c344e9a03beeb7071a588a973012749f84a830 Author: Chris Wilson Date: Wed Feb 11 14:26:45 2009 +0000 drm/i915: Check fence status on every pin. As we may steal the fence register of an unpinned buffer for another, every time we repin the buffer we need to recheck whether it needs to be allocated a fence. Signed-off-by: Chris Wilson Signed-off-by: Eric Anholt commit 9b2412f9ad0a3913baa40c270d6e1fa3c6d50067 Author: Chris Wilson Date: Wed Feb 11 14:26:44 2009 +0000 drm/i915: First recheck for an empty fence register. If we wait upon a request and successfully unbind a buffer occupying a fence register, then that slot will be freed and cause a NULL derefrence upon rescanning. Signed-off-by: Chris Wilson Signed-off-by: Eric Anholt commit 260cf8a2cbe022131a4850ea6175ed716dc2663c Author: Pantelis Koukousoulas Date: Tue Mar 10 13:16:14 2009 +0200 drm: fix EDID parser problem with positive/negative hsync/vsync Comparing the layouts of struct detail_pixel_timing with x.org's struct detailed_timings and how those are handled, it appears that the hsync_positive and vsync_positive fields are backwards. This patch fixes https://bugs.freedesktop.org/show_bug.cgi?id=20019 for me. It was tested on 2 monitors, LG FLATRON L225WS 22" and a YAKUMO 17" for which more details are unknown. Signed-off-by: Pantelis Koukousoulas Signed-off-by: Dave Airlie commit d7371c41b0cda782256b1df759df4e8d4724584c Author: Ian Dall Date: Tue Mar 10 20:33:22 2009 -0400 Bug 11061, NFS mounts dropped Addresses: http://bugzilla.kernel.org/show_bug.cgi?id=11061 sockaddr structures can't be reliably compared using memcmp() because there are padding bytes in the structure which can't be guaranteed to be the same even when the sockaddr structures refer to the same socket. Instead compare all the relevant fields. In the case of IPv6 sin6_flowinfo is not compared because it only affects QoS and sin6_scope_id is only compared if the address is "link local" because "link local" addresses need only be unique to a specific link. Signed-off-by: Ian Dall Signed-off-by: Trond Myklebust commit a71ee337b31271e701f689d544b6153b75609bc5 Author: Suresh Jayaraman Date: Tue Mar 10 20:33:21 2009 -0400 NFS: Handle -ESTALE error in access() Hi Trond, I have been looking at a bugreport where trying to open applications on KDE on a NFS mounted home fails temporarily. There have been multiple reports on different kernel versions pointing to this common issue: http://bugzilla.kernel.org/show_bug.cgi?id=12557 https://bugs.launchpad.net/ubuntu/+source/linux/+bug/269954 http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=508866.html This issue can be reproducible consistently by doing this on a NFS mounted home (KDE): 1. Open 2 xterm sessions 2. From one of the xterm session, do "ssh -X " 3. "stat ~/.Xauthority" on the remote SSH session 4. Close the two xterm sessions 5. On the server do a "stat ~/.Xauthority" 6. Now on the client, try to open xterm This will fail. Even if the filehandle had become stale, the NFS client should invalidate the cache/inode and should repeat LOOKUP. Looking at the packet capture when the failure occurs shows that there were two subsequent ACCESS() calls with the same filehandle and both fails with -ESTALE error. I have tested the fix below. Now the client issue a LOOKUP after the ACCESS() call fails with -ESTALE. If all this makes sense to you, can you consider this for inclusion? Thanks, If the server returns an -ESTALE error due to stale filehandle in response to an ACCESS() call, we need to invalidate the cache and inode so that LOOKUP() can be retried. Without this change, the nfs client retries ACCESS() with the same filehandle, fails again and could lead to temporary failure of applications running on nfs mounted home. Signed-off-by: Suresh Jayaraman Signed-off-by: Trond Myklebust commit 57df675c60c5cf0748ddba9c7f85afde1530d74d Author: Chuck Lever Date: Tue Mar 10 20:33:20 2009 -0400 NLM: Fix GRANT callback address comparison when IPv6 is enabled The NFS mount command may pass an AF_INET server address to lockd. If lockd happens to be using a PF_INET6 listener, the nlm_cmp_addr() in nlmclnt_grant() will fail to match requests from that host because they will all have a mapped IPv4 AF_INET6 address. Adopt the same solution used in nfs_sockaddr_match_ipaddr() for NFSv4 callbacks: if either address is AF_INET, map it to an AF_INET6 address before doing the comparison. Signed-off-by: Chuck Lever Signed-off-by: Trond Myklebust commit 78851e1aa4c3b796d5f0bb11b445016726302b44 Author: Chuck Lever Date: Tue Mar 10 20:33:19 2009 -0400 NLM: Shrink the IPv4-only version of nlm_cmp_addr() Clean up/micro-optimatization: Make the AF_INET-only version of nlm_cmp_addr() smaller. This matches the style of nlm_privileged_requester(), and makes the AF_INET-only version of nlm_cmp_addr() nearly the same size as it was before IPv6 support. Signed-off-by: Chuck Lever Signed-off-by: Trond Myklebust commit ae46141ff08f1965b17c531b571953c39ce8b9e2 Author: Trond Myklebust Date: Tue Mar 10 20:33:18 2009 -0400 NFSv3: Fix posix ACL code Fix a memory leak due to allocation in the XDR layer. In cases where the RPC call needs to be retransmitted, we end up allocating new pages without clearing the old ones. Fix this by moving the allocation into nfs3_proc_setacls(). Also fix an issue discovered by Kevin Rudd, whereby the amount of memory reserved for the acls in the xdr_buf->head was miscalculated, and causing corruption. Signed-off-by: Trond Myklebust commit ef95d31e6de6be9602ce950b85fb7ab8af46ae42 Author: Trond Myklebust Date: Tue Mar 10 20:33:17 2009 -0400 NFS: Fix misparsing of nfsv4 fs_locations attribute (take 2) The changeset ea31a4437c59219bf3ea946d58984b01a45a289c (nfs: Fix misparsing of nfsv4 fs_locations attribute) causes the mountpath that is calculated at the beginning of try_location() to be clobbered when we later strncpy a non-nul terminated hostname using an incorrect buffer length. Signed-off-by: Trond Myklebust commit eb9b55ab4d73280597fd183b367d50452f4d7846 Author: Trond Myklebust Date: Tue Mar 10 20:33:16 2009 -0400 SUNRPC: Tighten up the task locking rules in __rpc_execute() We should probably not be testing any flags after we've cleared the RPC_TASK_RUNNING flag, since rpc_make_runnable() is then free to assign the rpc_task to another workqueue, which may then destroy it. We can fix any races with rpc_make_runnable() by ensuring that we only clear the RPC_TASK_RUNNING flag while holding the rpc_wait_queue->lock that the task is supposed to be sleeping on (and then checking whether or not the task really is sleeping). Signed-off-by: Trond Myklebust commit d801cec70d69d2d4121e133edd5c3237fe0e0078 Author: Benjamin Herrenschmidt Date: Wed Mar 11 10:45:17 2009 +1100 radeonfb/aty128fb: Disable broken early resume hook for PowerBooks radeonfb and aty128fb have a special hook called by the PowerMac platform code very very early on resume from sleep to bring the screen back. This is useful for debugging wakup problems, but unfortunately, this also became a source of problems of its own. The hook is called extremely early, with interrupts still off, and the code path involved with that code nowadays rely on things like taking mutexes, GFP_KERNEL allocations, etc... In addition, the driver now relies on the PCI core to restore the standard config space before calling resume which doesn't happen with this early code path. I'm keeping the code in but commented out along with a fixup call to pci_restore_state(). The reason is that I still want to make it easy to re-enable temporarily to track wake up problems, and it's possible that I can revive it at some stage if we make sleeping things save to call in early resume using a system state. In the meantime, this should fix several reported regressions. Signed-off-by: Benjamin Herrenschmidt commit 187cfc439f7b1a7c91ff72d561b2a7c9c0b83431 Author: Benjamin Herrenschmidt Date: Mon Mar 9 14:36:15 2009 +0000 hvc_console: Remove tty->low_latency on pseries backends The hvcs and hvsi backends both set tty->low_latency to one, along with more or less scary comments regarding bugs or races that would happen if not doing so. However, they also both call tty_flip_buffer_push() in conexts where it's illegal to do so since some recent tty changes (or at least it may have been illegal always but it nows blows) when low_latency is set (ie, hard interrupt or with spinlock held and irqs disabled). This removes the setting for now to get them back to working condition, we'll have to address the races described in the comments separately if they are still an issue (some of this might have been fixed already). Signed-off-by: Benjamin Herrenschmidt commit d301a9f3ffc93b45744535e0b60fb9d6f6825773 Merge: ed75d86 6b8036a Author: Benjamin Herrenschmidt Date: Wed Mar 11 10:40:29 2009 +1100 Merge commit 'gcl/merge' into merge commit 16b71fdf97599f1b1b7f38418ee9922d9f117396 Author: Samuel CUELLA Date: Tue Mar 10 12:56:00 2009 -0700 i810: fix kernel crash fix when struct fb_var_screeninfo is supplied Prevent the kernel from being crashed by a divide-by-zero operation when supplied an incorrectly filled 'struct fb_var_screeninfo' from userland. Previously i810_main.c:1005 (i810_check_params) was using the global 'yres' symbol previously defined at i810_main.c:145 as a module parameter value holder (i810_main.c:2174). If i810fb is compiled-in or if this param doesn't get a default value, this direct usage leads to a divide-by-zero at i810_main.c:1005 (i810_check_params). The patch simply replace the 'yres' global, perhaps undefined symbol usage by a given parameter structure lookup. This problem occurs with directfb, mplayer -vo fbdev, SDL library. It was also reported ( but non solved ) at: http://mail.directfb.org/pipermail/directfb-dev/2008-March/004050.html Signed-off-by: Samuel CUELLA Cc: Jiri Kosina Cc: Krzysztof Helt Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 9233ecc5c4b5f31921d914b3ef3baa3dc1ae4cc6 Author: Steven King Date: Tue Mar 10 12:55:58 2009 -0700 m68knommu: m528x build fix There isn't any mcfqspi.h in the tree, and without it everything inside the #ifdef CONFIG_SPI is uncompilable. Signed-off-by: Steven King Acked-by: Greg Ungerer Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 9333d826813a2722d3babfbfd0f65c21b75127b3 Author: Steven King Date: Tue Mar 10 12:55:57 2009 -0700 m68knommu: m5206e build fix Signed-off-by: Steven King Acked-by: Greg Ungerer Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 0612ea00a010e36fde61e7b7649a1105b0ef1080 Author: Paul E. McKenney Date: Tue Mar 10 12:55:57 2009 -0700 rcu: documentation 1Q09 update Update the RCU documentation to call out the need for callers of primitives like call_rcu() and synchronize_rcu() to prevent subsequent RCU readers from hazard. Signed-off-by: Paul E. McKenney Cc: Ingo Molnar Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit be50b8342dead8cacf57d4839240106b225d31f5 Author: Dhaval Giani Date: Tue Mar 10 12:55:56 2009 -0700 kernel/user.c: fix a memory leak when freeing up non-init usernamespaces users We were returning early in the sysfs directory cleanup function if the user belonged to a non init usernamespace. Due to this a lot of the cleanup was not done and we were left with a leak. Fix the leak. Reported-by: Serge Hallyn Signed-off-by: Dhaval Giani Acked-by: Serge Hallyn Tested-by: Serge Hallyn Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit d58ab5cf09679d8cb4824e22cae900c0eab5ab31 Author: Atsushi Nemoto Date: Tue Mar 10 12:55:55 2009 -0700 mtd: physmap: fix NULL pointer dereference in error path commit e480814f138cd5d78a8efe397756ba6b6518fdb6 ("[MTD] [MAPS] physmap: fix wrong free and del_mtd_{partition,device}") introduces a NULL pointer dereference in physmap_flash_remove when called from the error path in physmap_flash_probe (if map_probe failed). Call del_mtd_{partition,device} only if info->cmtd was not NULL. Reported-by: pHilipp Zabel Signed-off-by: Atsushi Nemoto Cc: David Woodhouse Cc: "Rafael J. Wysocki" Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 9c1e8a4ebcc04226cb6f3a1bf1d72f4cafd6b089 Author: Lubomir Rintel Date: Tue Mar 10 12:55:54 2009 -0700 intel-agp: fix a panic with 1M of shared memory, no GTT entries When GTT size is equal to amount of video memory, the amount of GTT entries is computed lower than zero, which is invalid and leads to off-by-one error in intel_i915_configure() Originally posted here: http://bugzilla.kernel.org/show_bug.cgi?id=12539 http://bugzilla.redhat.com/show_bug.cgi?id=445592 Signed-off-by: Lubomir Rintel Cc: Lubomir Rintel Cc: Dave Airlie Reviewed-by: Eric Anholt Cc: Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 229cc58ba2b5a83b0b55764c6cb98695c106238a Author: Will Newton Date: Tue Mar 10 12:55:53 2009 -0700 mtd_dataflash: fix probing of AT45DB321C chips. Commit 771999b65f79264acde4b855e5d35696eca5e80c ("[MTD] DataFlash: bugfix, binary page sizes now handled") broke support for probing AT45DB321C flash chips. These chips do not support the "page size" status bit, so if we match the JEDEC id return early. [akpm@linux-foundation.org: coding-style fixes] Signed-off-by: Will Newton Cc: David Woodhouse Acked-by: David Brownell Cc: Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 1b23336ad98b3666c216617227c7767cd60a22be Author: Paul E. McKenney Date: Tue Mar 10 12:55:52 2009 -0700 idr: make idr_remove_all() do removal -before- free_layer() Fix a problem in the IDR system, where an idr_remove_all() hands a data element to call_rcu() (via free_layer()) before making that data element inaccessible to new readers. This is very bad, and results in readers still having a reference to this data element at the end of the grace period. Tests on large machines that concurrently map and unmap user-space memory within the same multithreaded process result in crashes within about five minutes. Applying this patch increases the kernel's longevity to the three-to-eight-hour range. There appear to be other similar problems in idr_get_empty_slot() and sub_remove(), but I fixed the easy one in idr_remove_all() first. It is therefore no surprise that failures still occur. Located-by: Milton Miller II Tested-by: Milton Miller II Signed-off-by: Paul E. McKenney Cc: Manfred Spraul Cc: Ingo Molnar Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 260219cc48cfb22486e5d0d706c978228a080d63 Author: Alexey Dobriyan Date: Tue Mar 10 12:55:51 2009 -0700 devpts: remove graffiti Very annoying when working with containters. Signed-off-by: Alexey Dobriyan Cc: Alan Cox Cc: "H. Peter Anvin" Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 2f68891314b14e7e0ef07b4e77a8ea6e917fc74b Author: Yinghai Lu Date: Tue Mar 10 12:55:50 2009 -0700 x86/agp: tighten check to update amd nb aperture Impact: fix bug to make agp work with dri Jeffrey reported that dri does work with 64bit, but doesn't work with 32bit it turns out NB aperture is 32M, aperture on agp is 128M 64bit is using 64M for vaidation for 64 iommu/gart 32bit is only using 32M..., and will not update the nb aperture. So try to compare nb apterture and agp apterture before leaving not touch nb aperture. Reported-by: Jeffrey Trull Tested-by: Jeffrey Trull Signed-off-by: Yinghai Lu Acked-by: Dave Airlie Cc: Ingo Molnar Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 5a891ed5adef39aca0b7662c58a2566c7a16237e Author: Alexey Dobriyan Date: Tue Mar 10 12:55:49 2009 -0700 xtensa: fix compilation somewhat * ->put_char changes * HIGHMEM is bogus it seems, there is no kmap_atomic() et al * some includes Signed-off-by: Alexey Dobriyan Acked-by: Chris Zankel Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 8ef1f0291a5d126f678b2f0225843c1ab550559c Author: Darrick J. Wong Date: Tue Mar 10 12:55:48 2009 -0700 lm85: add VRM10 support for adt7468 chip The adt7468 chip supports VRM10 sensors just like the adt7463; add a missing check for it. Signed-off-by: Darrick J. Wong Cc: Jean Delvare Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit c15ade65788b70797c947f7de3e049e6a23f407f Author: Darrick J. Wong Date: Tue Mar 10 12:55:47 2009 -0700 lm85: fix the version check that broke adt7468 probing The verstep check in the lm85 driver fails because the upper nibble of the version register is 0x7, not 0x6, on the adt7468 chip. Probing of all adt7468s was broken by 69fc1feba2d5856ff74dedb6ae9d8c490210825c ("hwmon: (lm85) Rework the device detection"), and this patch fixes that. Also add in a missing i2c_device_id that accidentally got dropped from the original patch. Signed-off-by: Darrick J. Wong Cc: Jean Delvare Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit b943c460ff8556a193b28e2145b513f8b978e869 Author: Randy Dunlap Date: Tue Mar 10 12:55:46 2009 -0700 menu: fix embedded menu snafu The COMPAT_BRK kconfig symbol does not depend on EMBEDDED, but it is in the midst of the EMBEDDED menu symbols, so it mucks up the EMBEDDED menu. Fix by moving it to just after all of the EMBEDDED menu symbols. Also, ANON_INODES has a similar problem, so move it to just above the EMBEDDED menu items since it is used in the EMBEDDED menu. Signed-off-by: Randy Dunlap Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 475049809977bf3975d78f2d2fd992e19ce2d59e Author: Roel Kluin Date: Tue Mar 10 12:55:45 2009 -0700 mm: get_nid_for_pfn() returns int get_nid_for_pfn() returns int Presumably the (nid < 0) case has never happened. We do know that it is happening on one system while creating a symlink for a memory section so it should also happen on the same system if unregister_mem_sect_under_nodes() were called to remove the same symlink. The test was actually added in response to a problem with an earlier version reported by Yasunori Goto where one or more of the leading pages of a memory section on the 2nd node of one of his systems was uninitialized because I believe they coincided with a memory hole. That earlier version did not ignore uninitialized pages and determined the nid by considering only the 1st page of each memory section. This caused the symlink to the 1st memory section on the 2nd node to be incorrectly created in /sys/devices/system/node/node0 instead of /sys/devices/system/node/node1. The problem was fixed by adding the test to skip over uninitialized pages. I suspect we have not seen any reports of the non-removal of a symlink due to the incorrect declaration of the nid variable in unregister_mem_sect_under_nodes() because - systems where a memory section could have an uninitialized range of leading pages are probably rare. - memory remove is probably not done very frequently on the systems that are capable of demonstrating the problem. - lingering symlink(s) that should have been removed may have simply gone unnoticed. [garyhade@us.ibm.com: wrote changelog] Signed-off-by: Roel Kluin Cc: Gary Hade Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 395a87bfefbc400011417e9eaae33169f9f036c0 Author: Eric Sandeen Date: Tue Mar 10 18:18:47 2009 -0400 ext4: fix header check in ext4_ext_search_right() for deep extent trees. The ext4_ext_search_right() function is confusing; it uses a "depth" variable which is 0 at the root and maximum at the leaves, but the on-disk metadata uses a "depth" (actually eh_depth) which is opposite: maximum at the root, and 0 at the leaves. The ext4_ext_check_header() function is given a depth and checks the header agaisnt that depth; it expects the on-disk semantics, but we are giving it the opposite in the while loop in this function. We should be giving it the on-disk notion of "depth" which we can get from (p_depth - depth) - and if you look, the last (more commonly hit) call to ext4_ext_check_header() does just this. Sending in the wrong depth results in (incorrect) messages about corruption: EXT4-fs error (device sdb1): ext4_ext_search_right: bad header in inode #2621457: unexpected eh_depth - magic f30a, entries 340, max 340(0), depth 1(2) http://bugzilla.kernel.org/show_bug.cgi?id=12821 Reported-by: David Dindorp Signed-off-by: Eric Sandeen Signed-off-by: "Theodore Ts'o" commit 96fe2ab830d7dffee1b3d8abf27ced4d7d5765e7 Author: Johannes Weiner Date: Tue Mar 10 22:44:01 2009 +0100 HID: fix waitqueue usage in hiddev DECLARE_WAITQUEUE doesn't initialize the wait descriptor's task_list to 'empty' but to zero. prepare_to_wait() will not enqueue the descriptor to the waitqueue and finish_wait() will do list_del_init() on a list head that contains NULL pointers, which oopses. This was introduced by 079034073 "HID: hiddev cleanup -- handle all error conditions properly". The prior code used an unconditional add_to_waitqueue() which didn't care about the wait descriptor's list head and enqueued the thing unconditionally. The new code uses prepare_to_wait() which DOES check the prior list state, so use DEFINE_WAIT instead. Signed-off-by: Johannes Weiner Cc: Oliver Neukum Cc: Jiri Kosina Signed-off-by: Andrew Morton Signed-off-by: Jiri Kosina commit 48e7a3c95c9f98c2cb6f894820e3cc2d0448e92f Author: Johannes Weiner Date: Tue Mar 10 22:43:56 2009 +0100 HID: fix incorrect free in hiddev If hiddev_open() fails, it wrongly frees the shared hiddev structure kept in hiddev_table instead of the hiddev_list structure allocated for the opened file descriptor. Existing references to this structure will then accessed free memory. This was introduced by 079034073 "HID: hiddev cleanup -- handle all error conditions properly". Signed-off-by: Johannes Weiner Cc: Oliver Neukum Cc: Jiri Kosina Signed-off-by: Andrew Morton Signed-off-by: Jiri Kosina commit 040aefa263aa9cd7bd5df50586c35e1e15e77f84 Author: Eric Anholt Date: Tue Mar 10 12:31:12 2009 -0700 drm/i915: Fix bad \n in MTRR failure notice. Signed-off-by: Eric Anholt commit 66824bd7b5dc22da367595359bfcd1149c4ce92a Author: Pierre Willenbrock Date: Wed Feb 25 17:49:51 2009 +0100 drm/i915: Don't restore palettes through VGA registers. The VGA registers just hit the pipe registers that we already set through MMIO. This fixes strange colors on resume. Signed-off-by: Pierre Willenbrock Signed-off-by: Eric Anholt commit 0fce81e3ccd093f4826de40fbd27fac9632f6170 Author: Kyle McMartin Date: Sat Feb 28 15:01:16 2009 -0500 i915: add newline to i915_gem_object_pin failure msg Prevents formatting nasty as below: [drm:i915_gem_object_pin] *ERROR* Failure to bind: -12<3>[drm:i915_gem_evict_something] *ERROR* inactive empty 1 request empty 1 flushing empty 1 Signed-off-by: Kyle McMartin Signed-off-by: Eric Anholt commit b70d11da61d751ad968c6f686d83ac1b0ae41466 Author: Kristian Høgsberg Date: Tue Mar 3 14:45:57 2009 -0500 drm: Return EINVAL on duplicate objects in execbuffer object list If userspace passes an object list with the same object appearing more than once, we end up hitting the BUG_ON() in i915_gem_object_set_to_gpu_domain() as it gets called a second time for the same object. Signed-off-by: Kristian Høgsberg Signed-off-by: Eric Anholt commit 1abaf3326bf2a2fabd6a0b6258e9cb33d734050a Merge: a651d79 d0fc63f Author: Linus Torvalds Date: Tue Mar 10 12:03:30 2009 -0700 Merge branch 'x86-fixes-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip * 'x86-fixes-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip: x86 mmiotrace: fix remove_kmmio_fault_pages() commit 913d952eb573c3d1f7487e83b5590e13e7cae2bd Author: Chris Mason Date: Tue Mar 10 13:17:18 2009 -0400 Btrfs: Clear space_info full when adding new devices The full flag on the space info structs tells the allocator not to try and allocate more chunks because the devices in the FS are fully allocated. When more devices are added, we need to clear the full flag so the allocator knows it has more space available. Signed-off-by: Chris Mason commit 4184ea7f908d95f329febc3665cf66da8568b467 Author: Chris Mason Date: Tue Mar 10 12:39:20 2009 -0400 Btrfs: Fix locking around adding new space_info Storage allocated to different raid levels in btrfs is tracked by a btrfs_space_info structure, and all of the current space_infos are collected into a list_head. Most filesystems have 3 or 4 of these structs total, and the list is only changed when new raid levels are added or at unmount time. This commit adds rcu locking on the list head, and properly frees things at unmount time. It also clears the space_info->full flag whenever new space is added to the FS. The locking for the space info list goes like this: reads: protected by rcu_read_lock() writes: protected by the chunk_mutex At unmount time we don't need special locking because all the readers are gone. Signed-off-by: Chris Mason commit a651d7997978bdecfc9891b05b9ee3dccb42f588 Merge: bad948f 467fc49 Author: Linus Torvalds Date: Tue Mar 10 09:31:19 2009 -0700 Merge branch 'sh/for-2.6.29' of git://git.kernel.org/pub/scm/linux/kernel/git/lethal/sh-2.6 * 'sh/for-2.6.29' of git://git.kernel.org/pub/scm/linux/kernel/git/lethal/sh-2.6: video: deferred io cleanup fix for sh_mobile_lcdcfb sh: Add media/soc_camera.h to board setup of Renesas AP325RXA commit 5fa0ae19822d60307059ee64b80ba9e5effdce58 Author: Andrew Vasquez Date: Thu Mar 5 11:07:05 2009 -0800 [SCSI] qla2xxx: Update version number to 8.03.00-k4. Signed-off-by: Andrew Vasquez Signed-off-by: James Bottomley commit ca42f2b5f58702e5751e1423bd2f7987b0760eab Author: Andrew Vasquez Date: Thu Mar 5 11:07:04 2009 -0800 [SCSI] qla2xxx: Correct overwrite of pre-assigned init-control-block structure size. The value is already pre-assigned prior to the qla2x00_mem_alloc(). Signed-off-by: Andrew Vasquez Signed-off-by: James Bottomley commit c6b2fca8205dc33e3bb444835769e4ea4c6bc58d Author: Andrew Vasquez Date: Thu Mar 5 11:07:03 2009 -0800 [SCSI] qla2xxx: Correct truncation in return-code status checking. QLA_* return codes are 'int' in size. There were still several legacy check-points which assumed a return-code width of 8-bits. This could cause incorrect assumptions of 'good' status if a return of QLA_FUNCTION_TIMEOUT. Signed-off-by: Andrew Vasquez Signed-off-by: James Bottomley commit ee546b6e048586381462ce7bb51c7ddc03819619 Author: Anirban Chakraborty Date: Thu Mar 5 11:07:02 2009 -0800 [SCSI] qla2xxx: Correct vport delete bug. Signed-off-by: Anirban Chakraborty Signed-off-by: James Bottomley commit 605aa2bcd5e9dddc4666f12e0c19822809186d6d Author: Lalit Chandivade Date: Thu Mar 5 11:07:01 2009 -0800 [SCSI] qla2xxx: Use correct value for max vport in LOOP topology. Use minimum value for max vport during firmware initialization in LOOP topology. Using max vport value from get resource count in LOOP topology causes firmware initialization failure. Signed-off-by: Lalit Chandivade Signed-off-by: Andrew Vasquez Signed-off-by: James Bottomley commit 6431c5dc5eeaa79863b4af300c081a01e2ccd0bb Author: Andrew Vasquez Date: Thu Mar 5 11:07:00 2009 -0800 [SCSI] qla2xxx: Correct address range checking for option-rom updates. Signed-off-by: Andrew Vasquez Signed-off-by: James Bottomley commit 4469c195da43bf8220f53da8b576c0e154c2b662 Author: Robert Love Date: Fri Feb 27 10:56:38 2009 -0800 [SCSI] fcoe: Change fcoe receive thread nice value from 19 (lowest priority) to -20 This change makes the fcoe Rx threads have the same nice value as lpfc and qla2xxx Rx threads. Signed-off-by: Robert Love Signed-off-by: James Bottomley commit 55c8bafba549e3e82f6999db8c5a62fc3c255c14 Author: Chris Leech Date: Fri Feb 27 10:56:32 2009 -0800 [SCSI] fcoe: fix handling of pending queue, prevent out of order frames (v3) In fcoe_check_wait_queue() the queue length could temporarily drop to 0, before the last frame was successfully sent. This resulted in out of order data frames within a single sequence, leading to IO timeout errors. This builds on the approach from Vasu Dev to only fix the queue management in fcoe_check_wait_queue, where my first patch added locking to the transmit path even when the pending queue was not in use. This patch continues to use fcoe_pending_queue.qlen instead of introducing a new length counter, but takes precautions to ensure it never drops to 0 before the final frame in the queue has successfully been passed to the netdev qdisc layer. It also includes some cleanup of fcoe_check_wait_queue and removes the fcoe_insert_wait_queue(_head) wrapper functions. Signed-off-by: Chris Leech Signed-off-by: Robert Love Signed-off-by: James Bottomley commit c826a3145736e3baabebccfd0aecfbb6dae059f2 Author: Vasu Dev Date: Fri Feb 27 10:56:27 2009 -0800 [SCSI] fcoe: Out of order tx frames was causing several check condition SCSI status frames followed by these errors in log. [sdp] Result: hostbyte=DID_OK driverbyte=DRIVER_SENSE,SUGGEST_OK [sdp] Sense Key : Aborted Command [current] [sdp] Add. Sense: Data phase error This was causing some test apps to exit due to write failure under heavy load. This was due to a race around adding and removing tx frame skb in fcoe_pending_queue, Chris Leech helped me to find that brief unlocking period when pulling skb from fcoe_pending_queue in various contexts (fcoe_watchdog and fcoe_xmit) and then adding skb back into fcoe_pending_queue up on a failed fcoe_start_io could change skb/tx frame order in fcoe_pending_queue. Thanks Chris. This patch allows only single context to pull skb from fcoe_pending_queue at any time to prevent above described ordering issue/race by use of fcoe_pending_queue_active flag. This patch simplified fcoe_watchdog with modified fcoe_check_wait_queue by use of FCOE_LOW_QUEUE_DEPTH instead previously used several conditionals to clear and set lp->qfull. I think FCOE_MAX_QUEUE_DEPTH with FCOE_LOW_QUEUE_DEPTH will work better in re/setting lp->qfull and these could be fine tuned for performance. Signed-off-by: Vasu Dev Signed-off-by: Robert Love Signed-off-by: James Bottomley commit e904158159e9812d06646767b7c81846dc3b05e6 Author: Roel Kluin Date: Fri Feb 27 10:56:22 2009 -0800 [SCSI] fcoe: fix kfree(skb) Use kfree_skb instead of kfree for struct sk_buff pointers. Signed-off-by: Roel Kluin Signed-off-by: Robert Love Signed-off-by: James Bottomley commit 74846bf85e42b4ba851d3f0dd67aa1df245895f9 Author: Yi Zou Date: Fri Feb 27 10:56:16 2009 -0800 [SCSI] fcoe: ETH_P_8021Q is already in if_ether and fcoe is not using it anyway Signed-off-by: Yi Zou Signed-off-by: Robert Love Signed-off-by: James Bottomley commit 422819cfa3a2605a0b3bdc33aaef0bc2feaeaada Author: Yi Zou Date: Fri Feb 27 10:56:11 2009 -0800 [SCSI] libfc: do not change the fh_rx_id of a recevied frame We shouldn't be altering inbound frames. Signed-off-by: Yi Zou Signed-off-by: Robert Love Signed-off-by: James Bottomley commit 03ec862dff57ca3d1fcb439b99aadc45bc5c2f28 Author: Robert Love Date: Fri Feb 27 10:56:06 2009 -0800 [SCSI] fcoe: Correct fcoe_transports initialization vs. registration The registration function shouldn't initialize the mutex or list head. The fcoe SW transport should initialize itself before registering. Signed-off-by: Robert Love Signed-off-by: James Bottomley commit a468f328ad83f14556e5961ef1de80b32b428d32 Author: Robert Love Date: Fri Feb 27 10:56:00 2009 -0800 [SCSI] fcoe: Use setup_timer() and mod_timer() Use helper functions for watchdog timer setup. Signed-off-by: Robert Love Signed-off-by: James Bottomley commit fc47ff6b1b27fb736f255ed8cd490356e0cd228f Author: Robert Love Date: Fri Feb 27 10:55:55 2009 -0800 [SCSI] libfc, fcoe: Remove unnecessary cast by removing inline wrapper Comment from "Andrew Morton " > +{ > + return (struct fcoe_softc *)lport_priv(lp); unneeded/undesirable cast of void*. There are probably zillions of instances of this - there always are. This whole inline function was unnecessary. The FCoE layer knows that it's data structure is stored in the lport private data, it can just access it from lport_priv(). Signed-off-by: Robert Love Signed-off-by: James Bottomley commit b2ab99c9a300e572105d6db7f6efe0a4d1572167 Author: Robert Love Date: Fri Feb 27 10:55:50 2009 -0800 [SCSI] libfc, fcoe: Cleanup function formatting and minor typos 1) There were a few functions with a strange layout, i.e. all arguments on the second line, when not necessary. Where ever possible I moved the return value to the same line as the function name. However, when the line was too long to have a single argument on the same line I moved the return value to above line. For example: (, ) and (, ) 2) Removed one extra whitespace line 3) Fixed two typos Signed-off-by: Robert Love Signed-off-by: James Bottomley commit 34f42a070fc98f5dc07e9fa2338b7b8d1dc347eb Author: Robert Love Date: Fri Feb 27 10:55:45 2009 -0800 [SCSI] libfc, fcoe: Fix kerneldoc comments 1) Added '()' for function names in kerneldoc comments 2) Changed comment bookends from '**/' to '*/'. The comment on the the mailing list was that '**/' "is consistently unconventional. Not wrong, just odd." The Documentation/kernel-doc-nano-HOWTO.txt states that kerneldoc comment blocks should end with '**/' but most (if not all) instance I found under drivers/scsi/ were only using the '*/' so I converted to that style. 3) Removed incorrect linebreaks in kerneldoc comments where found 4) Removed a few unnecessary blank comment lines in kerneldoc comment blocks Signed-off-by: Robert Love Signed-off-by: James Bottomley commit db434ac6bff0d991d0b60166dc9d6405b873d0f7 Author: Eilon Greenstein Date: Mon Mar 9 00:52:21 2009 +0000 bnx2x: Using DMAE to initialize the chip There was a bug, which occasionally caused failure in PRAM initialization after the cold boot. Also incremented version number to 1.45.27. Signed-off-by: Vladislav Zolotarov Signed-off-by: Eilon Greenstein Signed-off-by: David S. Miller commit 6dc7d8c843024c2636cf52d3f93047acbcd765f2 Author: Eilon Greenstein Date: Mon Mar 9 00:52:17 2009 +0000 bnx2x: Casting page alignment Adding a proper cast to the argument of PAGE_ALIGN macro so that the output won't depend on its original type. Without this cast aligned value will be truncated to the size of the argument type. Reported-by: Bjorn Helgaas Signed-off-by: Vladislav Zolotarov Tested-by: Bjorn Helgaas Signed-off-by: Eilon Greenstein Signed-off-by: David S. Miller commit 916c775ff297dc60219a4f0e5527ba6ab4a88ed4 Author: Eilon Greenstein Date: Mon Mar 9 00:52:14 2009 +0000 bnx2x: Adding restriction on sge_buf_size sge_buff_size may not be more than 0xffff. Reported-by: Bjorn Helgaas Signed-off-by: Vladislav Zolotarov Tested-by: Bjorn Helgaas Signed-off-by: Eilon Greenstein Signed-off-by: David S. Miller commit 467fc4988986865b5dbcc8cc6a86c9b650cb0c6f Author: Magnus Damm Date: Tue Mar 10 06:08:49 2009 +0000 video: deferred io cleanup fix for sh_mobile_lcdcfb Fix deferred io cleanup patch in the sh_mobile_lcdcfb driver. If probe() fails early the sh_mobile_lcdc_stop() function will be called to clean up deferred io. This patch modifies the code to only call fb_deferred_io_cleanup() after deferred io has been initialized. With this patch applied we no longer hit BUG_ON() inside fb_deferred_io_cleanup(). Triggers on a Migo-R with the SYS QVGA panel board unmounted. Signed-off-by: Magnus Damm Signed-off-by: Paul Mundt commit ba087e6f69381de6c91d6634aa0f603a2fdc96a9 Author: Nobuhiro Iwamatsu Date: Fri Mar 6 02:51:14 2009 +0000 sh: Add media/soc_camera.h to board setup of Renesas AP325RXA Other compilation errors were revised by commit of "sh: ap325rxa: Revert ov772x support" (08c2f5b4d76f83213e379b12df504269d21c9e7c) but other compilation errors are given. We revert this commit and need to add new header(media/soc_camera.h). This change revises new compilation error. Signed-off-by: Nobuhiro Iwamatsu Signed-off-by: Paul Mundt commit bad948ffee7cbf73a7dd3e4b8272985d5c3c8b55 Merge: 99adcd9 5fd3a17 Author: Linus Torvalds Date: Mon Mar 9 20:50:11 2009 -0700 Merge branch 'for-linus' of git://neil.brown.name/md * 'for-linus' of git://neil.brown.name/md: md: fix deadlock when stopping arrays commit 99adcd9d67aaf04e28f5ae96df280f236bde4b66 Merge: 2d5516c 753b7ae Author: Linus Torvalds Date: Mon Mar 9 13:23:59 2009 -0700 Merge branch 'fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/davej/cpufreq * 'fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/davej/cpufreq: [CPUFREQ] Add p4-clockmod sysfs-ui removal to feature-removal schedule. Revert "[CPUFREQ] Disable sysfs ui for p4-clockmod." commit 2d5516cbb9daf7d0e342a2e3b0fc6f8c39a81205 Author: Oleg Nesterov Date: Mon Mar 2 22:58:45 2009 +0100 copy_process: fix CLONE_PARENT && parent_exec_id interaction CLONE_PARENT can fool the ->self_exec_id/parent_exec_id logic. If we re-use the old parent, we must also re-use ->parent_exec_id to make sure exit_notify() sees the right ->xxx_exec_id's when the CLONE_PARENT'ed task exits. Also, move down the "p->parent_exec_id = p->self_exec_id" thing, to place two different cases together. Signed-off-by: Oleg Nesterov Cc: Roland McGrath Cc: Andrew Morton Cc: David Howells Cc: Serge E. Hallyn Signed-off-by: Linus Torvalds commit 753b7aea8e4611433c13ac157f944d8b4bf42482 Author: Dave Jones Date: Mon Mar 9 15:14:37 2009 -0400 [CPUFREQ] Add p4-clockmod sysfs-ui removal to feature-removal schedule. Signed-off-by: Matthew Garrett Signed-off-by: Dave Jones commit 129f8ae9b1b5be94517da76009ea956e89104ce8 Author: Dave Jones Date: Mon Mar 9 15:07:33 2009 -0400 Revert "[CPUFREQ] Disable sysfs ui for p4-clockmod." This reverts commit e088e4c9cdb618675874becb91b2fd581ee707e6. Removing the sysfs interface for p4-clockmod was flagged as a regression in bug 12826. Course of action: - Find out the remaining causes of overheating, and fix them if possible. ACPI should be doing the right thing automatically. If it isn't, we need to fix that. - mark p4-clockmod ui as deprecated - try again with the removal in six months. It's not really feasible to printk about the deprecation, because it needs to happen at all the sysfs entry points, which means adding a lot of strcmp("p4-clockmod".. calls to the core, which.. bleuch. Signed-off-by: Dave Jones commit df0b4a5080ca668636831b641a6356500fb5c637 Merge: 39a3478 c035002 Author: Linus Torvalds Date: Mon Mar 9 09:15:40 2009 -0700 Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-2.6 * git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-2.6: (29 commits) p54: fix race condition in memory management cfg80211: test before subtraction on unsigned iwlwifi: fix error flow in iwl*_pci_probe rt2x00 : more devices to rt73usb.c rt2x00 : more devices to rt2500usb.c bonding: Fix device passed into ->ndo_neigh_setup(). vlan: Fix vlan-in-vlan crashes. net: Fix missing dev->neigh_setup in register_netdevice(). tmspci: fix request_irq race pkt_sched: act_police: Fix a rate estimator test. tg3: Fix 5906 link problems SCTP: change sctp_ctl_sock_init() to try IPv4 if IPv6 fails IPv6: add "disable" module parameter support to ipv6.ko sungem: another error printed one too early aoe: error printed 1 too early net pcmcia: worklimit reaches -1 net: more timeouts that reach -1 net: fix tokenring license dm9601: new vendor/product IDs netlink: invert error code in netlink_set_err() ... commit 39a3478c1c0122640b1a0ead0d7cccd0804b1750 Merge: 1c91ffc 6db6a5f Author: Linus Torvalds Date: Mon Mar 9 09:14:17 2009 -0700 Merge git://git.kernel.org/pub/scm/linux/kernel/git/rusty/linux-2.6-for-linus * git://git.kernel.org/pub/scm/linux/kernel/git/rusty/linux-2.6-for-linus: lguest: fix for CONFIG_SPARSE_IRQ=y lguest: fix crash 'unhandled trap 13 at ' commit 1c91ffc896cf839a3a0923c0062ff61c930a21e0 Merge: 6d5b5ac b9447ef Author: Linus Torvalds Date: Mon Mar 9 09:13:16 2009 -0700 Merge git://git.kernel.org/pub/scm/linux/kernel/git/mason/btrfs-unstable * git://git.kernel.org/pub/scm/linux/kernel/git/mason/btrfs-unstable: Btrfs: fix spinlock assertions on UP systems commit ed75d8635abde0c43d26152014e386706475120e Author: Guennadi Liakhovetski Date: Thu Mar 5 13:25:06 2009 +0000 powerpc: fix linkstation and storcenter compilation breakage Defining flash partition table in platform code is deprecated, and due to recent changes linkstation and storcenter do not compile any more with their default configurations because of undefined references to physmap_set_partitions(). Instead of fixing them by using the correct kernel configuration macro in preprocessor conditional, remove partition table definitions altogether. Instead add support for partition definition on the command-line and in device tree to the default configurations. Signed-off-by: Guennadi Liakhovetski Signed-off-by: Kumar Gala commit b9447ef80bd301b932ac4d85c9622e929de5fd62 Author: Chris Mason Date: Mon Mar 9 11:45:38 2009 -0400 Btrfs: fix spinlock assertions on UP systems btrfs_tree_locked was being used to make sure a given extent_buffer was properly locked in a few places. But, it wasn't correct for UP compiled kernels. This switches it to using assert_spin_locked instead, and renames it to btrfs_assert_tree_locked to better reflect how it was really being used. Signed-off-by: Chris Mason commit 6d5b5acca9e566515ef3f1ed617e7295c4f94345 Author: Heiko Carstens Date: Mon Mar 9 13:31:59 2009 +0100 Fix fixpoint divide exception in acct_update_integrals Frans Pop reported the crash below when running an s390 kernel under Hercules: Kernel BUG at 000738b4 verbose debug info unavailable! fixpoint divide exception: 0009 #1! SMP Modules linked in: nfs lockd nfs_acl sunrpc ctcm fsm tape_34xx cu3088 tape ccwgroup tape_class ext3 jbd mbcache dm_mirror dm_log dm_snapshot dm_mod dasd_eckd_mod dasd_mod CPU: 0 Not tainted 2.6.27.19 #13 Process awk (pid: 2069, task: 0f9ed9b8, ksp: 0f4f7d18) Krnl PSW : 070c1000 800738b4 (acct_update_integrals+0x4c/0x118) R:0 T:1 IO:1 EX:1 Key:0 M:1 W:0 P:0 AS:0 CC:1 PM:0 Krnl GPRS: 00000000 000007d0 7fffffff fffff830 00000000 ffffffff 00000002 0f9ed9b8 00000000 00008ca0 00000000 0f9ed9b8 0f9edda4 8007386e 0f4f7ec8 0f4f7e98 Krnl Code: 800738aa: a71807d0 lhi %r1,2000 800738ae: 8c200001 srdl %r2,1 800738b2: 1d21 dr %r2,%r1 >800738b4: 5810d10e l %r1,270(%r13) 800738b8: 1823 lr %r2,%r3 800738ba: 4130f060 la %r3,96(%r15) 800738be: 0de1 basr %r14,%r1 800738c0: 5800f060 l %r0,96(%r15) Call Trace: ( <000000000004fdea>! blocking_notifier_call_chain+0x1e/0x2c) <0000000000038502>! do_exit+0x106/0x7c0 <0000000000038c36>! do_group_exit+0x7a/0xb4 <0000000000038c8e>! SyS_exit_group+0x1e/0x30 <0000000000021c28>! sysc_do_restart+0x12/0x16 <0000000077e7e924>! 0x77e7e924 Reason for this is that cpu time accounting usually only happens from interrupt context, but acct_update_integrals gets also called from process context with interrupts enabled. So in acct_update_integrals we may end up with the following scenario: Between reading tsk->stime/tsk->utime and tsk->acct_timexpd an interrupt happens which updates accouting values. This causes acct_timexpd to be greater than the former stime + utime. The subsequent calculation of dtime = cputime_sub(time, tsk->acct_timexpd); will be negative and the division performed by cputime_to_jiffies(dtime) will generate an exception since the result won't fit into a 32 bit register. In order to fix this just always disable interrupts while accessing any of the accounting values. Reported by: Frans Pop Tested by: Frans Pop Cc: stable@kernel.org Cc: Martin Schwidefsky Signed-off-by: Heiko Carstens Signed-off-by: Linus Torvalds commit c06b4889c340da483d35a877ef9195c0401319b9 Merge: 74fac66 8ca7fe2 Author: Russell King Date: Mon Mar 9 09:42:15 2009 +0000 Merge branch 'omap-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/tmlind/linux-omap-2.6 commit 0796e75503adc6b0a119493ce2e599fb5fd8f96e Author: Friedrich Oslage Date: Sun Mar 8 20:13:42 2009 -0700 sunhme: Fix qfe parent detection. Signed-off-by: Friedrich Oslage Signed-off-by: David S. Miller commit 6db6a5f3ae2ca6b874b0fd97ae16fdc9b5cdd6cc Author: Rusty Russell Date: Mon Mar 9 10:06:28 2009 -0600 lguest: fix for CONFIG_SPARSE_IRQ=y Impact: remove lots of lguest boot WARN_ON() when CONFIG_SPARSE_IRQ=y We now need to call irq_to_desc_alloc_cpu() before set_irq_chip_and_handler_name(), but we can't do that from init_IRQ (no kmalloc available). So do it as we use interrupts instead. Also means we only alloc for irqs we use, which was the intent of CONFIG_SPARSE_IRQ anyway. Signed-off-by: Rusty Russell Cc: Ingo Molnar commit cbd88c8e6f5cdb8d4b9af01df825305200240382 Author: Rusty Russell Date: Mon Mar 9 10:06:22 2009 -0600 lguest: fix crash 'unhandled trap 13 at ' Impact: fix lguest boot crash on modern Intel machines The code in early_init_intel does: if (c->x86 > 6 || (c->x86 == 6 && c->x86_model >= 0xd)) { u64 misc_enable; rdmsrl(MSR_IA32_MISC_ENABLE, misc_enable); And that rdmsr faults (not allowed from non-0 PL). We can get around this by mugging the family ID part of the cpuid. 5 seems like a good number. Of course, this is a hack (how very lguest!). We could just indicate that we don't support MSRs, or implement lguest_rdmst. Reported-by: Patrick McHardy Signed-off-by: Rusty Russell Tested-by: Patrick McHardy commit d0fc63f7bd07cb779a06dc1cdd0c5a14e7f5d562 Author: Stuart Bennett Date: Sun Mar 8 20:21:35 2009 +0200 x86 mmiotrace: fix remove_kmmio_fault_pages() Impact: fix race+crash in mmiotrace The list manipulation in remove_kmmio_fault_pages() was broken. If more than one consecutive kmmio_fault_page was re-added during the grace period between unregister_kmmio_probe() and remove_kmmio_fault_pages(), the list manipulation failed to remove pages from the release list. After a second grace period the pages get into rcu_free_kmmio_fault_pages() and raise a BUG_ON() kernel crash. The list manipulation is fixed to properly remove pages from the release list. This bug has been present from the very beginning of mmiotrace in the mainline kernel. It was introduced in 0fd0e3da ("x86: mmiotrace full patch, preview 1"); An urgent fix for Linus. Tested by Stuart (on 32-bit) and Pekka (on amd and intel 64-bit systems, nouveau and nvidia proprietary). Signed-off-by: Stuart Bennett Signed-off-by: Pekka Paalanen LKML-Reference: <20090308202135.34933feb@daedalus.pq.iki.fi> Signed-off-by: Ingo Molnar commit 7a203f3b089be4410fe065dd9927027eade94557 Merge: dbb9be8 cda56ac Author: Linus Torvalds Date: Sun Mar 8 10:37:57 2009 -0700 Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/drzeus/mmc * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/drzeus/mmc: mmc: fix data timeout for SEND_EXT_CSD commit dbb9be8a79802d1d1fd487d54ad48ac0b7fc17df Merge: 05e12a6 64ca5ab Author: Linus Torvalds Date: Sun Mar 8 10:30:18 2009 -0700 Merge branch 'core-fixes-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip * 'core-fixes-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip: rcu: increment quiescent state counter in ksoftirqd() commit 05e12a699e2ec5bd9697754320dc77253a241bdf Merge: cd3c1cd 73bf1b6 Author: Linus Torvalds Date: Sun Mar 8 10:27:13 2009 -0700 Merge branch 'x86-fixes-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip * 'x86-fixes-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip: x86, pebs: correct qualifier passed to ds_write_config() from ds_request_pebs() x86, bts: remove bad warning x86: add Dell XPS710 reboot quirk x86, math-emu: fix init_fpu for task != current x86: EFI: Back efi_ioremap with init_memory_mapping instead of FIX_MAP x86: fix DMI on EFI commit cd3c1cde262b0f068d27d980648892b2843966d4 Merge: 5b61f6a c9a0c8a Author: Linus Torvalds Date: Sun Mar 8 10:25:13 2009 -0700 Merge git://git.kernel.org/pub/scm/linux/kernel/git/wim/linux-2.6-watchdog * git://git.kernel.org/pub/scm/linux/kernel/git/wim/linux-2.6-watchdog: [WATCHDOG] orion5x_wdt.c: 'ORION5X_TCLK' undeclared [WATCHDOG] gef_wdt.c: fsl_get_sys_freq() failure not noticed [WATCHDOG] ks8695_wdt.c: 'CLOCK_TICK_RATE' undeclared [WATCHDOG] rc32434_wdt: fix sections [WATCHDOG] rc32434_wdt: fix watchdog driver commit 5b61f6accfd6449150aefe13a7679ec360abcc16 Merge: 1401689 7ce9d5d Author: Linus Torvalds Date: Sun Mar 8 10:24:57 2009 -0700 Merge branch 'for_linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tytso/ext4 * 'for_linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tytso/ext4: ext4: fix ext4_free_inode() vs. ext4_claim_inode() race commit 14016899967739585b7450d486681f4c5deec149 Merge: 5dc18f5 f3f704d Author: Linus Torvalds Date: Sun Mar 8 10:24:39 2009 -0700 Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/cooloney/blackfin-2.6 * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/cooloney/blackfin-2.6: (28 commits) Blackfin arch: SPI_MMC is now mainlined MMC_SPI Blackfin arch: disable legacy /proc/scsi/ support by default Blackfin arch: remove duplicated ANOMALY_05000448 ifdef check Blackfin arch: add stubs for anomalies 447 and 448 Blackfin arch: cleanup bfin_sport.h header and export it to userspace Blackfin arch: fix bug - gdb signull case make trunk kernel panic frequently Blackfin arch: remove spurious dash when dcache is off Blackfin arch: mark init_pda as __init as only __init funcs all it Blackfin arch: fix bug - On bf548-ezkit, ethernet fails to work after wakeup from "mem" Blackfin arch: Random read/write errors are a bad thing Blackfin arch: update default kernel config, select KSZ8893M driver for BF518 Blackfin arch: Fix bug - KGDB single step into the middle of a 4 bytes instruction on bf561 after soft bp is hit Blackfin arch: Fix bug - make ksz8893m driver available when bfin_mac is enabled Blackfin arch: make sure people do not set the kernel load address too high Blackfin arch: fix bug - The SPORT_HYS bit is not set for BF561 0.5 Blackfin arch: update anomaly sheets to match latest public info Blackfin arch: Fix BUG - kernel fails to build in pm.c when allow wakeup fromi standby by GPIO Blackfin arch: PM_BFIN_WAKE_GP: update help Blackfin arch: fix bug - kgdb fails to continue after setting breakpoint on bf561-ezkit kernel with smp patch Blackfin arch: Enable Write Back Cache on all Blackfin Boards ... commit 5dc18f51a2c06ddab708184e30b7967fb71c1784 Merge: fd6ec5f 7cbd487 Author: Linus Torvalds Date: Sun Mar 8 10:23:05 2009 -0700 Merge branch 'fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/djbw/async_tx * 'fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/djbw/async_tx: dmatest: fix use after free in dmatest_exit ipu_idmac: fix spinlock type iop-adma, mv_xor: fix mem leak on self-test setup failure fsldma: fix off by one in dma_halt I/OAT: fail self-test if callback test reaches timeout I/OAT: update driver version and copyright dates I/OAT: list usage cleanup I/OAT: set tcp_dma_copybreak to 256k for I/OAT ver.3 I/OAT: cancel watchdog before dma remove I/OAT: fail initialization on zero channels detection I/OAT: do not set DCACTRL_CMPL_WRITE_ENABLE for I/OAT ver.3 I/OAT: add verification for proper APICID_TAG_MAP setting by BIOS dmaengine: update kerneldoc commit fd6ec5f3acfe7e94469d83374b83ff183953fa45 Merge: 83d5a32 d42ad15 Author: Linus Torvalds Date: Sun Mar 8 10:22:22 2009 -0700 Merge git://git.kernel.org/pub/scm/linux/kernel/git/bart/ide-2.6 * git://git.kernel.org/pub/scm/linux/kernel/git/bart/ide-2.6: ata: add CFA specific identify data words remove stale comment from AT91: initialize Compact Flash on AT91SAM9263 cpu ide: add at91_ide driver ide: allow to wrap interrupt handler ide-iops: fix odd-length ATAPI PIO transfers ide: NULL noise: drivers/ide/ide-*.c ide: expiry() returns int, negative expiry() return values won't be noticed commit 83d5a325107cd0befa2b863e795675bc8ff881d7 Merge: d0cdb07 968e594 Author: Linus Torvalds Date: Sun Mar 8 10:22:01 2009 -0700 Merge branch 'upstream-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jgarzik/libata-dev * 'upstream-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jgarzik/libata-dev: libata: Don't trust current capacity values in identify words 57-58 libata: make sure port is thawed when skipping resets sata_nv: fix module parameter description ahci: Add the Device IDs for MCP89 and remove IDs of MCP7B to/from ahci.c libata: don't use on-stack sense buffer libata: align ap->sector_buf libata: fix dma_unmap_sg misuse libata: change drive ready wait after hard reset to 5s commit d0cdb070ced5453fd1790d83c32bdc59d8ff9375 Merge: 153d8a1 f4f8056 Author: Linus Torvalds Date: Sun Mar 8 10:21:31 2009 -0700 Merge git://git.kernel.org/pub/scm/linux/kernel/git/pkl/squashfs-linus * git://git.kernel.org/pub/scm/linux/kernel/git/pkl/squashfs-linus: Squashfs: frag_size should be signed, as it can hold an error result Squashfs: fix documentation typo, Cramfs filesystem limit is 256 MiB Squashfs: Fix oops when reading fsfuzzer corrupted filesystems commit 153d8a122e04d285aaee0ba00af7564182b7b6de Merge: 2a50b25 211a40c Author: Linus Torvalds Date: Sun Mar 8 10:21:10 2009 -0700 Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jmorris/security-testing-2.6 * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jmorris/security-testing-2.6: smack: fixes for unlabeled host support commit 2a50b2560ee956808da0b644cb529608dee65274 Merge: ba933be ab96dde Author: Linus Torvalds Date: Sun Mar 8 10:14:19 2009 -0700 Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/dtor/input * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/dtor/input: Input: serio - fix protocol number for TouchIT213 commit ba933beb11b46b6d90d53b7220858148d8687ab1 Merge: 81d1ab8 c63c580 Author: Linus Torvalds Date: Sun Mar 8 10:13:28 2009 -0700 Merge branch 'release' of git://git.kernel.org/pub/scm/linux/kernel/git/aegl/linux-2.6 * 'release' of git://git.kernel.org/pub/scm/linux/kernel/git/aegl/linux-2.6: [IA64] fix PCI DMA flag propagation on SN (Altix) with PICs commit 81d1ab82c045fd4d2f3c803147f0a1c6bd2015fc Merge: d3dea1e 59247ea Author: Linus Torvalds Date: Sun Mar 8 10:08:57 2009 -0700 Merge branch 'for-linus' of git://git.kernel.dk/linux-2.6-block * 'for-linus' of git://git.kernel.dk/linux-2.6-block: block: fix missing bio back/front segment size setting in blk_recount_segments() loop: don't increment p->offset with (size_t) -EINVAL cciss: remove 30 second initial timeout on controller reset Fix kernel NULL pointer dereference in xen-blkfront commit d3dea1e2d5b08964a8d47a29b4f6807a60d40f4c Merge: 4302e5d c50ff7c Author: Linus Torvalds Date: Sun Mar 8 10:03:31 2009 -0700 Merge branch 'fix/hda' of git://git.kernel.org/pub/scm/linux/kernel/git/tiwai/sound-2.6 * 'fix/hda' of git://git.kernel.org/pub/scm/linux/kernel/git/tiwai/sound-2.6: ALSA: hda - Fix headphone-detect regression with multiple HP jacks ALSA: hda - Fix typos in slave controls in patch_sigmatel.c commit 4302e5d53b9166d45317e3ddf0a7a9dab3efd43b Author: Ralf Baechle Date: Thu Mar 5 11:45:48 2009 +0100 MIPS: compat: Implement is_compat_task. This is a build fix required after "x86-64: seccomp: fix 32/64 syscall hole" (commit 5b1017404aea6d2e552e991b3fd814d839e9cd67). MIPS doesn't have the issue that was fixed for x86-64 by that patch. This also doesn't solve the N32 issue which is that N32 seccomp processes will be treated as non-compat processes thus only have access to N64 syscalls. Signed-off-by: Ralf Baechle Signed-off-by: Linus Torvalds commit cda56ac29f2d8288d62978272856884d26e0b47b Author: Adrian Hunter Date: Tue Feb 10 16:32:33 2009 +0200 mmc: fix data timeout for SEND_EXT_CSD Commit 0d3e0460f307e84904968aad6cff97bd688583d8 "MMC: CSD and CID timeout values" inadvertently broke the timeout for the MMC command SEND_EXT_CSD. This patch puts it back again. Depending on the characteristics of the controller, this bug may prevent the use of MMC cards. Signed-off-by: Adrian Hunter Signed-off-by: Pierre Ossman commit ab96ddec7213004b632d24dc2cdcd2df5f16f50b Author: Dmitry Torokhov Date: Sat Mar 7 13:39:22 2009 -0800 Input: serio - fix protocol number for TouchIT213 Protocol 0x37 has been reserved for iNexio devices and Sahara was supposed to get 0x38. Reported-by: Claudio Nieder Signed-off-by: Dmitry Torokhov commit 75bccd881a49d2da796ec0852158f957dc023f61 Author: Gilles Espinasse Date: Sat Mar 7 13:57:25 2009 +0100 kbuild: remove unused -r option for module-init-tool depmod Following a thread on busybox mailing list depmod -r option is ignored by module-init-tools depmod -r option break busybox depmod. So the best solution look to remove -r from kernel Makefile Signed-off-by: Gilles Espinasse Signed-off-by: Sam Ravnborg commit b925dbfe3c59b637666670a60473a15d29e0a7a7 Author: Josh Hunt Date: Thu Feb 12 10:16:05 2009 -0800 kbuild: fix 'make rpm' when CONFIG_LOCALVERSION_AUTO=y and using SCM tree Running 'make rpm' fails when CONFIG_LOCALVERSION_AUTO=y and using a kernel source tree under SCM. This is due to KERNELRELEASE being different when the initial make is run and when make is run from rpmbuild. mkspec creates kernel.spec using KERNELRELEASE: echo "%files" echo '%defattr (-, root, root)' echo "%dir /lib/modules" echo "/lib/modules/$KERNELRELEASE" echo "/lib/firmware" echo "/boot/*" echo "" When CONFIG_LOCALVERSION_AUTO=y scripts/setlocalversion is called and grabs any additional version info from SCM. Next, the srctree is tarred up and SCM information is excluded. rpmbuild reruns make and in the process generates a new include/config/kernel.release and thus a new KERNELRELEASE. However this time the SCM information is gone so KERNELRELEASE no longer has the additional version information. When "make modules_install" runs, it uses the new KERNELRELEASE value to determine where to install the modules. This conflicts with where the spec file assumes they are going because of the mis-matching KERNELRELEASE versions. + INSTALL_MOD_PATH=/var/tmp/kernel-2.6.29rc4tip01479g5d85422-root + make -j16 modules_install INSTALL crypto/aead.ko INSTALL crypto/cbc.ko INSTALL crypto/chainiv.ko INSTALL crypto/crc32c.ko INSTALL crypto/crypto_algapi.ko INSTALL crypto/crypto_blkcipher.ko INSTALL crypto/crypto_hash.ko INSTALL crypto/cryptomgr.ko INSTALL crypto/ecb.ko INSTALL crypto/eseqiv.ko INSTALL crypto/krng.ko INSTALL crypto/md5.ko INSTALL crypto/pcbc.ko INSTALL crypto/rng.ko INSTALL drivers/block/cciss.ko INSTALL drivers/hid/hid-dummy.ko INSTALL drivers/scsi/iscsi_tcp.ko INSTALL drivers/scsi/libiscsi.ko INSTALL drivers/scsi/libiscsi_tcp.ko INSTALL drivers/scsi/scsi_transport_iscsi.ko INSTALL drivers/scsi/scsi_wait_scan.ko INSTALL fs/lockd/lockd.ko INSTALL fs/nfs/nfs.ko INSTALL fs/nfsd/nfsd.ko INSTALL lib/libcrc32c.ko INSTALL net/sunrpc/sunrpc.ko DEPMOD 2.6.29-rc4-tip + cp arch/x86/boot/bzImage /var/tmp/kernel-2.6.29rc4tip01479g5d85422-root/boot/vmlinuz-2.6.29-rc4-tip-01479-g5d85422 + cp System.map /var/tmp/kernel-2.6.29rc4tip01479g5d85422-root/boot/System.map-2.6.29-rc4-tip-01479-g5d85422 + cp .config /var/tmp/kernel-2.6.29rc4tip01479g5d85422-root/boot/config-2.6.29-rc4-tip-01479-g5d85422 + cp vmlinux vmlinux.orig + bzip2 -9 vmlinux + mv vmlinux.bz2 /var/tmp/kernel-2.6.29rc4tip01479g5d85422-root/boot/vmlinux-2.6.29-rc4-tip-01479-g5d85422.bz2 + mv vmlinux.orig vmlinux + /usr/lib/rpm/brp-compress Processing files: kernel-2.6.29rc4tip01479g5d85422-2 error: File not found: /var/tmp/kernel-2.6.29rc4tip01479g5d85422-root/lib/modules/2.6.29-rc4-tip-01479-g5d85422 RPM build errors: File not found: /var/tmp/kernel-2.6.29rc4tip01479g5d85422-root/lib/modules/2.6.29-rc4-tip-01479-g5d85422 make[1]: *** [rpm] Error 1 make: *** [rpm] Error 2 I have tested this patch on git -tip, Linus' git tree, and the kernel.org tar files, both with and without CONFIG_LOCALVERSION_AUTO=y. Signed-off-by: Josh Hunt Signed-off-by: Sam Ravnborg ---- commit a2ebcc7a863761b6d59a4183c600edf5af63b8d2 Author: Josh Hunt Date: Sun Feb 22 10:54:55 2009 -0800 kbuild: fix mkspec to cleanup RPM_BUILD_ROOT The contents of the %clean section in mkspec is currently commented out leaving RPM_BUILD_ROOT and its contents on the build machine. This patch removes it once the rpm build process is complete. Signed-off-by: Josh Hunt Signed-off-by: Sam Ravnborg commit d15bd1067b1fcb2b7250d22bc0c7c7fea0b759f7 Author: Justin P. Mattock Date: Sat Mar 7 13:31:29 2009 +0100 kbuild: fix C libary confusion in unifdef.c due to getline() This fixes an error when compiling the kernel. CHK include/linux/version.h HOSTCC scripts/unifdef scripts/unifdef.c:209: error: conflicting types for 'getline' /usr/include/stdio.h:651: note: previous declaration of 'getline' was here make[1]: *** [scripts/unifdef] Error 1 make: *** [__headers] Error 2 Signed-off-by: Justin P. Mattock Cc: Frederic Weisbecker Signed-off-by: Andrew Morton Signed-off-by: Sam Ravnborg commit c141b2928fe20396a9ecdec85526e4b66ae96c90 Author: Christoph Hellwig Date: Tue Mar 3 14:48:37 2009 -0500 xfs: only issues a cache flush on unmount if barriers are enabled Currently we unconditionally issue a flush from xfs_free_buftarg, but since 2.6.29-rc1 this gives a warning in the style of end_request: I/O error, dev vdb, sector 0 Signed-off-by: Christoph Hellwig Reviewed-by: Eric Sandeen Signed-off-by: Felix Blyakher commit 7d46be4a25fdfb503c20bad60a618adebfe2ac5c Author: Christoph Hellwig Date: Tue Mar 3 14:48:35 2009 -0500 xfs: prevent lockdep false positive in xfs_iget_cache_miss The inode can't be locked by anyone else as we just created it a few lines above and it's not been added to any lookup data structure yet. So use a trylock that must succeed to get around the lockdep warnings. Signed-off-by: Christoph Hellwig Reported-by: Alexander Beregalov Reviewed-by: Eric Sandeen Reviewed-by: Felix Blyakher Signed-off-by: Felix Blyakher commit ff392c497b43ddedbab5627b53928a654cc5486e Author: Christoph Hellwig Date: Tue Mar 3 14:48:36 2009 -0500 xfs: prevent kernel crash due to corrupted inode log format Andras Korn reported an oops on log replay causes by a corrupted xfs_inode_log_format_t passing a 0 size to kmem_zalloc. This patch handles to small or too large numbers of log regions gracefully by rejecting the log replay with a useful error message. Signed-off-by: Christoph Hellwig Reported-by: Andras Korn Reviewed-by: Eric Sandeen Signed-off-by: Felix Blyakher commit 74fac66e821475f5cb0f23bb5ecc7e18aa32fdc5 Merge: ef449e6 1264fa6 Author: Russell King Date: Fri Mar 6 21:53:05 2009 +0000 Merge branch 's3c-fixes' of git://aeryn.fluff.org.uk/bjdooks/linux commit 0ae4d4ae47d2ccbcad813b0d6d8fe12590c7d648 Author: Robert Love Date: Fri Feb 27 10:55:39 2009 -0800 [SCSI] libfc: Cleanup libfc_function_template comments Made the comments more like the comments for struct scsi_host_template. Signed-off-by: Robert Love Signed-off-by: James Bottomley commit efaf5c085dd2d31757b0ff7886970dfddd8d1808 Author: Robert Love Date: Fri Feb 27 10:55:34 2009 -0800 [SCSI] libfc: check for err when recv and state is incorrect If we've just created an interface and the an rport is logging in we may have a request on the wire (say PRLI). If we destroy the interface, we'll go through each rport on the disc->rports list and set each rport's state to NONE. Then the lport will reset the EM. The EM reset will send a CLOSED event to the prli_resp() handler which will notice that the state != PRLI. In this case it frees the frame pointer, decrements the refcount and unlocks the rport. The problem is that there isn't a frame in this case. It's just a pointer with an embedded error code. The free causes an Oops. This patch moves the error checking to be before the state checking. Signed-off-by: Robert Love Signed-off-by: James Bottomley commit d3b33327cab0c8e9cae2c12d908ca79433c0d1ac Author: Robert Love Date: Fri Feb 27 10:55:29 2009 -0800 [SCSI] libfc: rename rp to rdata in fc_disc_new_target() Just rename the variable as per our naming convention. Signed-off-by: Robert Love Signed-off-by: James Bottomley commit 23f11f9076fcd6ee20c56e413b11f1b5658e3f82 Author: Robert Love Date: Fri Feb 27 10:55:23 2009 -0800 [SCSI] libfc: correct RPORT_TO_PRIV usage We only need to use this macro when assigning a value to rport->dd_data. All other accesses should just use dd_data. Signed-off-by: Robert Love Signed-off-by: James Bottomley commit 5101ff99f59aefb72e0c96e82aa32048ac9f8425 Author: Robert Love Date: Fri Feb 27 10:55:18 2009 -0800 [SCSI] libfc: Don't violate transport template for rogue port creation Signed-off-by: Robert Love Signed-off-by: James Bottomley commit f7db2c150cf5082cf74555f30a1305938041de80 Author: Steve Ma Date: Fri Feb 27 10:55:13 2009 -0800 [SCSI] libfc: exch mgr is freed while lport still retrying sequences When a sequence cannot be delivered to the target, the local port will schedule retries, While this process is in progress, if we destroy the FCoE interface, the fcoe_sw_destroy routine is entered, and the fc_exch_mgr_free(lp->emp) is called. Thus if fc_exch_alloc() is called when retrying the sequence, the mempool_alloc() will fail to allocate the exchange because the mempool of the exchange manager has already been released. This patch is to cancel any pending retry work of the local port before we start to destroy the interface. Also, when resetting the local port, we should also stop the scheduled pending retries. Signed-off-by: Steve Ma Signed-off-by: Robert Love Signed-off-by: James Bottomley commit 26d9cab558f901051d0b69b2c445c8588931ce8d Author: Vasu Dev Date: Fri Feb 27 10:55:07 2009 -0800 [SCSI] libfc: fixed a read IO data integrity issue when a IO data frame lost The fc_fcp_complete_locked detected data underrun in this case and set the FC_DATA_UNDRUN but that was ignored by fc_io_compl for all cases including read underrun. Added code to not to ignore FC_DATA_UNDRUN for read IO and instead suggested scsi-ml to retry cmd to recover from lost data frame. Not sure if it is okay to ignore FC_DATA_UNDRUN for other case, so let code as is for other cases but removed or-ing with zero valued fsp->cdb_status for those cases. Signed-off-by: Vasu Dev Signed-off-by: Robert Love Signed-off-by: James Bottomley commit 6755db1cd4587084be85f860b7aa7c0cc9d776dc Author: Chris Leech Date: Fri Feb 27 10:55:02 2009 -0800 [SCSI] libfc: rport retry on LS_RJT from certain ELS This allows any rport ELS to retry on LS_RJT. The rport error handling would only retry on resource allocation failures and exchange timeouts. I have a target that will occasionally reject PLOGI when we do a quick LOGO/PLOGI. When a critical ELS was rejected, libfc would fail silently leaving the rport in a dead state. The retry count and delay are managed by fc_rport_error_retry. If the retry count is exceeded fc_rport_error will be called. When retrying is not the correct course of action, fc_rport_error can be called directly. Signed-off-by: Chris Leech Signed-off-by: Robert Love Signed-off-by: James Bottomley commit bc0e17f691085315ae9303eb5b0883fe16dfe6b1 Author: Vasu Dev Date: Fri Feb 27 10:54:57 2009 -0800 [SCSI] libfc, fcoe: fixed locking issues with lport->lp_mutex around lport->link_status The fcoe_xmit could call fc_pause in case the pending skb queue len is larger than FCOE_MAX_QUEUE_DEPTH, the fc_pause was trying to grab lport->lp_muex to change lport->link_status and that had these issues :- 1. The fcoe_xmit was getting called with bh disabled, thus causing "BUG: scheduling while atomic" when grabbing lport->lp_muex with bh disabled. 2. fc_linkup and fc_linkdown function calls lport_enter function with lport->lp_mutex held and these enter function in turn calls fcoe_xmit to send lport related FC frame, e.g. fc_linkup => fc_lport_enter_flogi to send flogi req. In this case grabbing the same lport->lp_mutex again in fc_puase from fcoe_xmit would cause deadlock. The lport->lp_mutex was used for setting FC_PAUSE in fcoe_xmit path but FC_PAUSE bit was not used anywhere beside just setting and clear this bit in lport->link_status, instead used a separate field qfull in fc_lport to eliminate need for lport->lp_mutex to track pending queue full condition and in turn avoid above described two locking issues. Also added check for lp->qfull in fc_fcp_lport_queue_ready to trigger SCSI_MLQUEUE_HOST_BUSY when lp->qfull is set to prevent more scsi-ml cmds while lp->qfull is set. This patch eliminated FC_LINK_UP and FC_PAUSE and instead used dedicated fields in fc_lport for this, this simplified all related conditional code. Also removed fc_pause and fc_unpause functions and instead used newly added lport->qfull directly in fcoe. Signed-off-by: Vasu Dev Signed-off-by: Robert Love Signed-off-by: James Bottomley commit a7e84f2b83f17f8f11da34ccef3ba5a862dc0182 Author: Vasu Dev Date: Fri Feb 27 10:54:51 2009 -0800 [SCSI] libfc: fixed a soft lockup issue in fc_exch_recv_abts The fc_seq_start_next grabs ep->ex_lock but this lock was already held here, so instead called fc_seq_start_next_locked to avoid soft lockup. Signed-off-by: Vasu Dev Signed-off-by: Robert Love Signed-off-by: James Bottomley commit 78342da3682ec843e3e6301af5c723c88a46c408 Author: Vasu Dev Date: Fri Feb 27 10:54:46 2009 -0800 [SCSI] libfc: handle RRQ exch timeout Cleanup exchange held due to RRQ when RRQ exch times out, in this case the ABTS is already done causing RRQ req therefore proceeding with cleanup in fc_exch_rrq_resp should be okay to restore exch resource. Signed-off-by: Vasu Dev Signed-off-by: Robert Love Signed-off-by: James Bottomley commit 571f824c3cd7b7f5a40ba100f7e576b6b0fe826a Author: Abhijeet Joglekar Date: Fri Feb 27 10:54:41 2009 -0800 [SCSI] libfc: when rport goes away (re-plogi), clean up exchanges to/from rport When a rport goes away, libFC does a plogi which will reset exchanges at the rport. Clean exchanges at our end, both in transport and libFC. If transport hooks into exch_mgr_reset, it will call back into fc_exch_mgr_reset() to clean up libFC exchanges. Signed-off-by: Abhijeet Joglekar Signed-off-by: Robert Love Signed-off-by: James Bottomley commit 1f6ff364ceda516f88351a8ab640e656beed0b26 Author: Abhijeet Joglekar Date: Fri Feb 27 10:54:35 2009 -0800 [SCSI] libfc: Pass lport in exch_mgr_reset fc_exch_mgr structure is private to fc_exch.c. To export exch_mgr_reset to transport, transport needs access to the exch manager. Change exch_mgr_reset to use lport param which is the shared structure between libFC and transport. Alternatively, fc_exch_mgr definition can be moved to libfc.h so that lport can be accessed from mp*. Signed-off-by: Abhijeet Joglekar Signed-off-by: Robert Love Signed-off-by: James Bottomley commit c0350024723b4a69e38655816484d934aca8eb30 Author: Christian Lamparter Date: Fri Mar 6 00:53:59 2009 +0100 p54: fix race condition in memory management This patch fixes a number of race conditions in the driver. Up until now, "entry" pointer was initialized before acquiring the right lock. Signed-off-by: Christian Lamparter Signed-off-by: John W. Linville commit bd05f28e1a15ae62994fe309a524695fe26dd834 Author: Roel Kluin Date: Tue Mar 3 22:55:21 2009 +0100 cfg80211: test before subtraction on unsigned freq_diff is unsigned, so test before subtraction Signed-off-by: Roel Kluin Signed-off-by: John W. Linville commit c63c58056e268b0d6bd6994b69030c144567990d Author: Jeremy Higdon Date: Wed Mar 4 12:09:46 2009 -0800 [IA64] fix PCI DMA flag propagation on SN (Altix) with PICs We recently discovered a problem with passing of DMA attributes on SN systems with the older PIC chips. [akpm@linux-foundation.org: coding-style fixes] Signed-off-by: Jeremy Higdon Cc: Cc: Jesse Barnes Signed-off-by: Andrew Morton Signed-off-by: Tony Luck commit 1264fa6f8c5bf561a86128b2d48ace53e3f1e66f Merge: efeff56 559595a Author: Ben Dooks Date: Fri Mar 6 17:13:52 2009 +0000 Merge branch 'master' of git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux-2.6 into s3c-fixes commit 20214fcd74bddc16d65d466212f5dd32aafe8868 Author: Darius Augulis Date: Mon Jan 12 16:22:57 2009 +0200 MX1 fix include Includes missed irqs.h in devices.c and mx1ads.c. Signed-off-by: Darius Augulis Signed-off-by: Sascha Hauer commit 73bf1b62f561fc8ecb00e2810efe4fe769f4933e Author: Markus Metzger Date: Thu Mar 5 08:57:21 2009 +0100 x86, pebs: correct qualifier passed to ds_write_config() from ds_request_pebs() ds_write_config() can write the BTS as well as the PEBS part of the DS config. ds_request_pebs() passes the wrong qualifier, which results in the wrong configuration to be written. Reported-by: Stephane Eranian Signed-off-by: Markus Metzger LKML-Reference: <20090305085721.A22550@sedona.ch.intel.com> Signed-off-by: Ingo Molnar commit 9ca0791dcaa666e8e8f4b4ca028b65b4bde9cb28 Author: Markus Metzger Date: Thu Mar 5 08:49:54 2009 +0100 x86, bts: remove bad warning In case a ptraced task is reaped (while the tracer is still attached), ds_exit_thread() is called before ptrace_exit(). The latter will release the bts_tracer and remove the thread's ds_ctx. The former will WARN() if the context is not NULL. Oleg Nesterov submitted patches that move ptrace_exit() before exit_thread() and thus reverse the order of the above calls. Remove the bad warning. I will add it again when Oleg's changes are in. Signed-off-by: Markus Metzger LKML-Reference: <20090305084954.A22000@sedona.ch.intel.com> Signed-off-by: Ingo Molnar commit c50ff7c04225c945b13d410d50fde6ff6c59d7ee Author: Takashi Iwai Date: Fri Mar 6 09:43:58 2009 +0100 ALSA: hda - Fix headphone-detect regression with multiple HP jacks The recent changes over the DAC detection mechanism in patch_sigmatel.c breaks the HP detection on the machines with multiple HP jacks. It's basically because of the workaround to support the multi-channel output. Since the HP detection is more important feature, disable the HP-swap workaroud temporarily. Reference: Novell bnc#482052 https://bugzilla.novell.com/show_bug.cgi?id=482052 Signed-off-by: Takashi Iwai commit 14b97595e0e1f47b6f809e180e5bcd8dcd995690 Author: Takashi Iwai Date: Fri Mar 6 09:42:07 2009 +0100 ALSA: hda - Fix typos in slave controls in patch_sigmatel.c "Headphone Playback ..." appears twice in slave_vols[] and slave_sws[]. They should be "Headphone Playback2 ..." Signed-off-by: Takashi Iwai commit 59247eaea50cc68cc6ce3d3fd3855f3301b65c96 Author: Jens Axboe Date: Fri Mar 6 08:55:24 2009 +0100 block: fix missing bio back/front segment size setting in blk_recount_segments() Commit 1e42807918d17e8c93bf14fbb74be84b141334c1 introduced a bug where we don't get front/back segment sizes in the bio in blk_recount_segments(). Fix this by tracking the back bio as well as the front bio in __blk_recalc_rq_segments(), this also cleans up the interface by getting rid of the segment size pointer passing. Tested-by: Thomas Gleixner Tested-by: Ingo Molnar Signed-off-by: Jens Axboe commit e08e7b5f01de7ec246b996c65e9c26c7cea0c62d Author: Mauro Carvalho Chehab Date: Thu Mar 5 16:19:14 2009 -0300 V4L/DVB (10834): zoran: auto-select bt866 for AverMedia 6 Eyes AFAIK, the bt866 is only seen on AverMedia 6 Eyes. However, no module selects it. Adds a proper select for this driver. Signed-off-by: Mauro Carvalho Chehab commit 4c6c390eb8ba0c569279266a98c604508c695ef8 Author: Vitaly Wool Date: Thu Mar 5 13:03:32 2009 -0300 V4L/DVB (10832): tvaudio: Avoid breakage with tda9874a The 'bytes' array is 64 bytes large but the easy standard programming (TDA9874A_ESP) has a number of 255, outside the shadow array size. This patch increases the size of the shadow array in order to accomodate this register. Signed-off-by: Vitaly Wool Signed-off-by: Mauro Carvalho Chehab commit d2c452306ab402d7a3572bc3bf8e575796529bf8 Author: Gregory Lardiere Date: Sun Feb 22 17:54:11 2009 -0300 V4L/DVB (10789): m5602-s5k4aa: Split up the initial sensor probe in chunks. The previous probe rotine tried to read 6 bytes in one chunk which currently isn't allowed. This is the rev. 10346 243399e67c41 readded with a high priority. Signed-off-by: Gregory Lardiere Signed-off-by: Erik Andrén Signed-off-by: Mauro Carvalho Chehab commit c9a0c8a6845b5efb64841f40b8efb4c387051d46 Author: Wim Van Sebroeck Date: Wed Feb 25 13:33:01 2009 +0100 [WATCHDOG] orion5x_wdt.c: 'ORION5X_TCLK' undeclared orion5x_wdt no longer compiled after the changes in commit ebe35aff883496c07248df82c8576c3b6e84bbbe ("Orion: prepare for runtime-determined timer tick rate"). The tick rate define (ORION5X_TCLK) was removed in favor of a runtime detection. The quick fix is to add the define in the watchdog driver. The fix is not correct for all supported orion5x platforms, but since the supported platforms right now are 133 Mhz and 166 Mhz, it won't be _that_ far off. ;-) A fix that uses the runtime-determined timer tick rate will be applied later. Signed-off-by: Wim Van Sebroeck Cc: Kristof Provost Acked-by: Lennert Buytenhek Cc: Nicolas Pitre Cc: Russell King Cc: Andrew Morton commit 623d563e52d4d4041612e24b33a5610a900dd778 Author: Reinette Chatre Date: Tue Mar 3 11:37:04 2009 -0800 iwlwifi: fix error flow in iwl*_pci_probe Both the agn and 3945 drivers has some problems with dealing with errors in their probe functions. Ensure that a goto will undo only things that was done before the goto was called. Signed-off-by: Reinette Chatre Signed-off-by: John W. Linville commit ef4bb70d876b4ae5787cc43727477d1a36cdc2e8 Author: Xose Vazquez Perez Date: Sat Feb 28 00:34:23 2009 +0100 rt2x00 : more devices to rt73usb.c add more usb_dev to rt73usb.c . IDs 'stolen' from the windows inf file(10/21/2008, 1.03.02.0000) plus some from the Ralink linux driver(2009_0206_RT73_Linux_STA_Drv1.1.0.2.tar.bz2) Signed-off-by: Xose Vazquez Perez Signed-off-by: John W. Linville commit 9eb77ab0762d8cfc4686e1ec5e9a52905f3a5009 Author: Xose Vazquez Perez Date: Sat Feb 28 00:26:09 2009 +0100 rt2x00 : more devices to rt2500usb.c add more usb_dev to rt2500usb.c . IDs 'stolen' from the windows inf file(02/12/2009, 2.01.01.0015). Signed-off-by: Xose Vazquez Perez Signed-off-by: John W. Linville commit ef449e6d21b6e560c7ec36ed285ec3a34e0b12ed Author: Hartley Sweeten Date: Thu Mar 5 17:33:50 2009 +0100 [ARM] 5419/1: ep93xx: fix build warnings about struct i2c_board_info Fix build warnings due to struct i2c_board_info in Patch "5311/1: add core support for built in i2c bus" is causing 11 of 39 the build warnings with Kautobuild for ep93xx_defconfig on kernel 2.6.29-rc5-git4. This patch fixes it. Signed-off-by: H Hartley Sweeten Signed-off-by: Russell King commit 33dd6f92a1a7ad85c54d47fd9d73371a32c0bde4 Author: Matthew Wilcox Date: Fri Feb 20 06:53:48 2009 -0700 [SCSI] sd: Don't try to spin up drives that are connected to an inactive port We currently try to spin up drives connected to standby and unavailable ports. This will never succeed and wastes a lot of time. Fail quickly if the sense data reports the port is in standby or unavailable state. Reported-by: Narayanan Rengarajan Tested-by: Narayanan Rengarajan Signed-off-by: Matthew Wilcox Signed-off-by: James Bottomley commit f3f704d375fcc92950f688ccb3dd0f650acace92 Author: Michael Hennerich Date: Fri Mar 6 00:27:57 2009 +0800 Blackfin arch: SPI_MMC is now mainlined MMC_SPI Signed-off-by: Mike Frysinger Signed-off-by: Michael Hennerich Signed-off-by: Bryan Wu commit 4aad7ec373a559177ee2c488455f6bf8928c030c Author: Mike Frysinger Date: Fri Mar 6 00:27:17 2009 +0800 Blackfin arch: disable legacy /proc/scsi/ support by default Signed-off-by: Mike Frysinger Signed-off-by: Bryan Wu commit 357fd373e194ec5bb02fe875a67c0874ab74b5a6 Author: Mike Frysinger Date: Fri Mar 6 00:24:01 2009 +0800 Blackfin arch: remove duplicated ANOMALY_05000448 ifdef check Signed-off-by: Mike Frysinger Signed-off-by: Bryan Wu commit d42ad15b759d05a87f22b484af63987eff38ea88 Author: Sergei Shtylyov Date: Thu Mar 5 17:20:55 2009 +0100 ata: add CFA specific identify data words Declare CFA specific identify data words 162 and 163 for future use. Signed-off-by: Sergei Shtylyov Signed-off-by: Jeff Garzik [bart: update patch summary/description] Signed-off-by: Bartlomiej Zolnierkiewicz commit 7dbc3f6ead13cb87d2318443ebd8f19a987149aa Author: Mike Frysinger Date: Fri Mar 6 00:20:49 2009 +0800 Blackfin arch: add stubs for anomalies 447 and 448 Signed-off-by: Mike Frysinger Signed-off-by: Bryan Wu commit ebcad5aaea26da3cb2ca90b7f31a67a027eb60db Author: Bartlomiej Zolnierkiewicz Date: Thu Mar 5 16:10:59 2009 +0100 remove stale comment from HDIO_GET_IDENTITY returns 256 words currently. Noticed by Norman Diamond. Signed-off-by: Bartlomiej Zolnierkiewicz commit e565f206082a725108a75bcf00bbe3db21a56474 Author: Stanislaw Gruszka Date: Thu Mar 5 16:10:58 2009 +0100 AT91: initialize Compact Flash on AT91SAM9263 cpu Signed-off-by: Stanislaw Gruszka Cc: Andrew Victor Acked-by: Sergei Shtylyov Acked-by: Andrew Victor Signed-off-by: Bartlomiej Zolnierkiewicz commit 6e5f1e1115bb041993f9f247036996364b4c84d5 Author: Stanislaw Gruszka Date: Thu Mar 5 16:10:58 2009 +0100 ide: add at91_ide driver This is IDE host driver for AT91 (SAM9, CAP9, AT572D940HF) Static Memory Controller with Compact Flash True IDE Mode logic. Driver have to switch 8/16 bit bus width when accessing Task Tile or Data Register. Moreover some extra things need to be done when setting PIO mode. Only PIO mode is used, hardware have no DMA support. If interrupt line is connected through GPIO extra quirk is needed to cope with fake interrupts. Signed-off-by: Stanislaw Gruszka Cc: Andrew Victor Acked-by: Sergei Shtylyov Signed-off-by: Bartlomiej Zolnierkiewicz commit 849d7130001ab740a5a4778a561049841fdd77c9 Author: Stanislaw Gruszka Date: Thu Mar 5 16:10:57 2009 +0100 ide: allow to wrap interrupt handler Signed-off-by: Stanislaw Gruszka Cc: Andrew Victor [bart: minor checkpatch.pl / CodingStyle fixups] Signed-off-by: Bartlomiej Zolnierkiewicz commit a509538d4fb4f99cdf0a095213d57cc3b2347615 Author: Sergei Shtylyov Date: Thu Mar 5 16:10:56 2009 +0100 ide-iops: fix odd-length ATAPI PIO transfers Commit 9567b349f7e7dd7e2483db99ee8e4a6fe0caca38 (ide: merge ->atapi_*put_bytes and ->ata_*put_data methods) introduced a regression WRT the odd-length ATAPI PIO transfers -- the final word didn't get written (causing command timeouts). Signed-off-by: Sergei Shtylyov Signed-off-by: Bartlomiej Zolnierkiewicz commit 71bfc7a7c73eaf1f99e309dba60822ba050e3ec5 Author: Hannes Eder Date: Thu Mar 5 16:10:56 2009 +0100 ide: NULL noise: drivers/ide/ide-*.c Fix this sparse warnings: drivers/ide/ide-disk_proc.c:130:11: warning: Using plain integer as NULL pointer drivers/ide/ide-floppy_proc.c:32:11: warning: Using plain integer as NULL pointer drivers/ide/ide-proc.c:234:11: warning: Using plain integer as NULL pointer drivers/ide/ide-tape.c:2141:11: warning: Using plain integer as NULL pointer Signed-off-by: Hannes Eder Cc: trivial@kernel.org Cc: kernel-janitors@vger.kernel.org Cc: Al Viro Signed-off-by: Bartlomiej Zolnierkiewicz commit e0c6dcd8d4257a129fc813ac68f20b77c6ae2a7a Author: Roel Kluin Date: Thu Mar 5 16:10:55 2009 +0100 ide: expiry() returns int, negative expiry() return values won't be noticed bart: It seems like the bug could cause insanely long timeouts for: - ATA_DMA_ERR error in dma_timer_expiry() - commands without ->expiry in tc86c001_timer_expiry() (TC86C001 IDE controller only) Signed-off-by: Roel Kluin Cc: Sergei Shtylyov Cc: Andrew Morton [bart: port it to the current tree] Signed-off-by: Bartlomiej Zolnierkiewicz commit 26952669f01646c3e7d0832c99b310b199fe2b20 Author: Roel Kluin Date: Tue Mar 3 15:10:05 2009 +0100 [WATCHDOG] gef_wdt.c: fsl_get_sys_freq() failure not noticed fsl_get_sys_freq() may return -1 when 'soc' isn't found, but in gef_wdt_probe() 'freq' is unsigned, so the test doesn't catch that. Signed-off-by: Roel Kluin Signed-off-by: Wim Van Sebroeck Signed-off-by: Andrew Morton commit b02c387892fc6b3cc59c78ab2f79413d55f50190 Author: Alexey Dobriyan Date: Thu Feb 12 13:42:41 2009 +0300 [WATCHDOG] ks8695_wdt.c: 'CLOCK_TICK_RATE' undeclared On arm-acs5k_tiny: drivers/watchdog/ks8695_wdt.c:68: error: 'CLOCK_TICK_RATE' undeclared (first use in this function) Signed-off-by: Alexey Dobriyan Signed-off-by: Wim Van Sebroeck Cc: stable commit d4cc510c61b050ef38e842a12feef71c56d7cf81 Author: Uwe Kleine-König Date: Wed Mar 4 11:48:46 2009 +0100 [ARM] 5418/1: restore lr before leaving mcount gcc seems to expect that lr isn't clobbered by mcount, because for a function starting with: static int func(void) { void *ra = __builtin_return_address(0); printk(KERN_EMERG "__builtin_return_address(0) = %pS\n", ra) ... the following assembler is generated by gcc 4.3.2: 0: e1a0c00d mov ip, sp 4: e92dd810 push {r4, fp, ip, lr, pc} 8: e24cb004 sub fp, ip, #4 ; 0x4 c: ebfffffe bl 0 10: e59f0034 ldr r0, [pc, #52] 14: e1a0100e mov r1, lr 18: ebfffffe bl 0 Without this patch obviously __builtin_return_address(0) yields func+0x10 instead of the return address of the caller. Note this patch fixes a similar issue for the routines used with dynamic ftrace even though this isn't currently selectable for ARM. Cc: Abhishek Sagar Cc: Steven Rostedt Cc: Ingo Molnar Signed-off-by: Uwe Kleine-König Signed-off-by: Russell King commit 968e594afdbc40b4270f9d4032ae8350475749d6 Author: Robert Hancock Date: Mon Feb 16 20:15:08 2009 -0600 libata: Don't trust current capacity values in identify words 57-58 Hanno Böck reported a problem where an old Conner CP30254 240MB hard drive was reported as 1.1TB in capacity by libata: http://lkml.org/lkml/2009/2/13/134 This was caused by libata trusting the drive's reported current capacity in sectors in identify words 57 and 58 if the drive does not support LBA and the current CHS translation values appear valid. Unfortunately it seems older ATA specs were vague about what this field should contain and a number of drives used values with wrong byte order or that were totally bogus. There's no unique information that it conveys and so we can just calculate the number of sectors from the reported current CHS values. While we're at it, clean up this function to use named constants for the identify word values. Signed-off-by: Robert Hancock Signed-off-by: Jeff Garzik commit d6515e6ff4ad3db4bd5ef2dd4e1026a7aca2482e Author: Tejun Heo Date: Wed Mar 4 15:59:30 2009 +0900 libata: make sure port is thawed when skipping resets When SCR access is available and the link is offline, softreset is skipped as it only wastes time and some controllers don't respond very well. However, the skip path forgot to thaw the port, which not only blocks further event notification from the port but also causes repeated EH invocations on the same event on drivers which rely on ->thaw() to clear events if the IRQ is shared with another device or port. This problem has always been there but is uncovered by recent sata_nv nf2/3 change which dropped hardreset support while maintaining SCR access. nf2/3 doesn't clear hotplug event mask from the interrupt handler but relies on ->thaw() to clear them. When the hardreset was there, the reset action was never skipped and the port was always thawed but, with the hardreset gone, ->prereset() determines that there's no need for softreset and both ->softreset() and ->thaw() are skipped. This leads to stuck hotplug event in the IRQ status register triggering hotplug event whenever IRQ is delieverd on the same IRQ. As the controller shares the same IRQ for both ports, this happens on every IO if one port is occpupied and the other isn't. This patch fixes the problem by making sure that the port is thawed on reset-skip path. bko#11615 reports this problem. Signed-off-by: Tejun Heo Cc: Robert Hancock Reported-by: Dan Andresan Reported-by: Arne Woerner Reported-by: Stefan Lippers-Hollmann Signed-off-by: Jeff Garzik commit 55f784c826af2506e417bcc484d7e0e4d27f1977 Author: Brandon Ehle Date: Sun Mar 1 00:02:49 2009 -0800 sata_nv: fix module parameter description Update MODULE_PARM_DESC for ADMA to reflect the fact that the option is disabled by default. Signed-off-by: Brandon Ehle Signed-off-by: Jeff Garzik commit 7adbe46b9289794f8fe629cd78c876169741177f Author: peerchen Date: Fri Feb 27 16:58:41 2009 +0800 ahci: Add the Device IDs for MCP89 and remove IDs of MCP7B to/from ahci.c Added the Device IDs for MCP89 AHCI controller. Removed the IDs of MCP7B because this chipset had been cancelled. Signed-off-by: Peer Chen Signed-off-by: Jeff Garzik commit b53570814692db79c3525523b6e9ec9874416c04 Author: Tejun Heo Date: Mon Mar 2 18:55:16 2009 +0900 libata: don't use on-stack sense buffer sense_buffer is used as DMA target and shouldn't be allocated on stack. Use ap->sector_buf instead. This problem is spotted by Chuck Ebbert. Signed-off-by: Tejun Heo Reported-by: Chuck Ebbert Signed-off-by: Jeff Garzik commit 84bda12af31f930e4200c5244aa111de2485d7b0 Author: Tejun Heo Date: Mon Mar 2 18:53:26 2009 +0900 libata: align ap->sector_buf ap->sector_buf is used as DMA target and should at least be aligned on cacheline. This caused problems on some embedded machines. Signed-off-by: Tejun Heo Signed-off-by: Jeff Garzik commit 5825627c9463581fd9e70f8285685889ae5bb9bb Author: FUJITA Tomonori Date: Fri Feb 27 17:35:43 2009 +0900 libata: fix dma_unmap_sg misuse libata passes the returned value of dma_map_sg() to dma_unmap_sg(),which is the misuse of dma_unmap_sg(). DMA-mapping.txt says: To unmap a scatterlist, just call: pci_unmap_sg(pdev, sglist, nents, direction); Again, make sure DMA activity has already finished. PLEASE NOTE: The 'nents' argument to the pci_unmap_sg call must be the _same_ one you passed into the pci_map_sg call, it should _NOT_ be the 'count' value _returned_ from the pci_map_sg call. Signed-off-by: FUJITA Tomonori Acked-by: Bartlomiej Zolnierkiewicz Acked-by: Tejun Heo Signed-off-by: Jeff Garzik commit e7d3ef13d52a126438f687a1a32da65ff926ed57 Author: Stuart Hayes Date: Wed Mar 4 11:59:46 2009 -0800 libata: change drive ready wait after hard reset to 5s This fixes problems during resume with drives that take longer than 1s to be ready. The ATA-6 spec appears to allow 5 seconds for a drive to be ready. On one affected system, this patch changes "PM: resume devices took..." message from 17 seconds to 4 seconds, and gets rid of a lot of ugly timeout/error messages. Without this patch, the libata code moves on after 1s, tries to send a soft reset (which the drive doesn't see because it isn't ready) which also times out, then an IDENTIFY command is sent to the drive which times out, and finally the error handler will try to send another hard reset which will finally get things working. Signed-off-by: Stuart Hayes Signed-off-by: Andrew Morton Signed-off-by: Jeff Garzik commit fb7b75abe58acfa586445e430c29412090ad2058 Author: Alon Bar-Lev Date: Thu Mar 5 19:42:43 2009 +0800 Blackfin arch: cleanup bfin_sport.h header and export it to userspace Signed-off-by: Alon Bar-Lev Signed-off-by: Mike Frysinger Signed-off-by: Bryan Wu commit a3941ec101a5ec54c1e929730afeb196441a171e Author: Roel Kluin Date: Thu Mar 5 08:03:53 2009 +0100 loop: don't increment p->offset with (size_t) -EINVAL Upon a 'transfer error block' size is set to -EINVAL, but this becomes positive since size is unsigned: p->offset still gets incremented. Signed-off-by: Roel Kluin Signed-off-by: Jens Axboe commit 5e18cfd04feca78cc08a6b8b71a60a610de81eaa Author: Jens Axboe Date: Fri Feb 27 08:10:26 2009 +0100 cciss: remove 30 second initial timeout on controller reset Commit 5e4c91c84b194b26cf592779e451f4b5be777cba forgot to remove the initial sleep, get rid of it. Thanks to Randy Dunlap for spotting this error. Signed-off-by: Jens Axboe commit a1a15ac5f9aeee521c048a88fc1aec848e623de7 Author: Kris Shannon Date: Mon Mar 2 19:47:37 2009 +1100 Fix kernel NULL pointer dereference in xen-blkfront When booting Xen Dom0 on a pre-release 3.2.1 hypervisor the system Oopses on a "Unable to handle kernel NULL pointer dereference" in xenwatch. From the backtrace it looks like backend_changed is calling bdget_disk with a NULL pointer. Checking for NULL and returning ENODEV instead allows the kernel to boot. commit 7786ce823b1c9a3de01a63857e3451890cb4e81c Author: Jie Zhang Date: Thu Mar 5 18:50:26 2009 +0800 Blackfin arch: fix bug - gdb signull case make trunk kernel panic frequently Use copy_to_user_page and copy_from_user_page instead of memcpy. copy_to_user_page does cache flush when necessary. Signed-off-by: Jie Zhang Signed-off-by: Bryan Wu commit 27276ba21fe590edc43305f483565aa02010bbbb Author: Mike Frysinger Date: Thu Mar 5 18:47:20 2009 +0800 Blackfin arch: remove spurious dash when dcache is off Signed-off-by: Mike Frysinger Signed-off-by: Bryan Wu commit 8e2a769414604e016fcb3d0f15a2050b5d0d90c0 Author: Mike Frysinger Date: Thu Mar 5 18:45:07 2009 +0800 Blackfin arch: mark init_pda as __init as only __init funcs all it Signed-off-by: Mike Frysinger Signed-off-by: Bryan Wu commit ba0dade4bbe6bb26b975323726f7214278d5e994 Author: Michael Hennerich Date: Thu Mar 5 18:41:24 2009 +0800 Blackfin arch: fix bug - On bf548-ezkit, ethernet fails to work after wakeup from "mem" Signed-off-by: Michael Hennerich Signed-off-by: Bryan Wu commit 00049522425e8390d1815e1579733644ad2bb0c7 Author: Robin Getz Date: Thu Mar 5 18:18:49 2009 +0800 Blackfin arch: Random read/write errors are a bad thing Random read/write errors are a bad thing - so don't let anyone (including the test bench) run on something we know is bad. Signed-off-by: Robin Getz Signed-off-by: Bryan Wu commit 72e2240f181871675d3a979766330c91d48a1673 Author: Patrick McHardy Date: Thu Mar 5 01:57:44 2009 -0800 bonding: Fix device passed into ->ndo_neigh_setup(). Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller commit 5047607f0170b1f797a2fe37bb45310c1e1d5ce0 Author: Graf Yang Date: Thu Mar 5 17:32:41 2009 +0800 Blackfin arch: update default kernel config, select KSZ8893M driver for BF518 Signed-off-by: Graf Yang Signed-off-by: Bryan Wu commit d7ff1a90b2d3d122b896056d63db919617e9b6cd Author: Sonic Zhang Date: Thu Mar 5 18:26:59 2009 +0800 Blackfin arch: Fix bug - KGDB single step into the middle of a 4 bytes instruction on bf561 after soft bp is hit Run IFLUSH twice to avoid loading wrong instruction after invalidating icache and following sequence is met. 1) The one instruction address is cached in the icache. 2) This instruction in SDRAM is changed. 3) IFLASH[P0] is executed only once in lackfin_icache_flush_range(). 4) This instruction is executed again, but not the changed new one. Signed-off-by: Sonic Zhang Signed-off-by: Bryan Wu commit c19577e34e641f802ad35fc0204ff68ea16fe7a3 Author: Graf Yang Date: Thu Mar 5 17:35:59 2009 +0800 Blackfin arch: Fix bug - make ksz8893m driver available when bfin_mac is enabled Signed-off-by: Graf Yang Signed-off-by: Bryan Wu commit f7e989ab64f926e34bafea0752431e1fd6a618f3 Author: Mike Frysinger Date: Thu Mar 5 17:33:36 2009 +0800 Blackfin arch: make sure people do not set the kernel load address too high Signed-off-by: Mike Frysinger Signed-off-by: Bryan Wu commit 843e22b056c07d39b8f97935173dab879abc613b Merge: 559595a f45964e Author: Russell King Date: Thu Mar 5 09:21:18 2009 +0000 Merge branch 'for-rmk' of git://git.marvell.com/orion commit 77827a7cf3aa415f8afec6d9d0537dda8de90ef1 Merge: 9d40bbd 559595a Author: David S. Miller Date: Wed Mar 4 23:59:54 2009 -0800 Merge branch 'master' of /home/davem/src/GIT/linux-2.6/ commit 9d40bbda599def1e1d155d7f7dca14fe8744bd2b Author: David S. Miller Date: Wed Mar 4 23:46:25 2009 -0800 vlan: Fix vlan-in-vlan crashes. As analyzed by Patrick McHardy, vlan needs to reset it's netdev_ops pointer in it's ->init() function but this leaves the compat method pointers stale. Add a netdev_resync_ops() and call it from the vlan code. Any other driver which changes ->netdev_ops after register_netdevice() will need to call this new function after doing so too. With help from Patrick McHardy. Tested-by: Patrick McHardy Signed-off-by: David S. Miller commit 54acd0efab072cb70e87206329d561b297f93bbb Author: David S. Miller Date: Wed Mar 4 23:01:02 2009 -0800 net: Fix missing dev->neigh_setup in register_netdevice(). Signed-off-by: David S. Miller commit 7acab7a9ca6b0c5b820f083424c57e6ac2031d9d Author: Enrik Berkhan Date: Thu Mar 5 14:42:30 2009 +0800 Blackfin arch: fix bug - The SPORT_HYS bit is not set for BF561 0.5 IMHO the setting should depend on ANOMALY_05000305 which is about the availability of the bit, not ANOMALY_05000265 which only describes the SPORT sensitivity to noise (checked for BF561 only, though). If that's not true for other BF variants, maybe the definition of ANOMALY_05000265 for BF561 should be changed to '(1)' instead. Signed-off-by: Enrik Berkhan Signed-off-by: Mike Frysinger Signed-off-by: Bryan Wu commit 87786945fe4b0e60e8f1db62d5ee8a3cec539a67 Author: Meelis Roos Date: Wed Mar 4 04:59:41 2009 +0000 tmspci: fix request_irq race Currently, tmspci tokenring driver crashes on device initialization because it requests its irq before initializing corresponding data structures. Fix this by moving request_irq call to a safer place. Signed-off-by: Meelis Roos Signed-off-by: David S. Miller commit a883bf564ea555447a76682bb2d8d4bc92e23e0e Author: Jarek Poplawski Date: Wed Mar 4 17:38:10 2009 -0800 pkt_sched: act_police: Fix a rate estimator test. A commit c1b56878fb68e9c14070939ea4537ad4db79ffae "tc: policing requires a rate estimator" introduced a test which invalidates previously working configs, based on examples from iproute2: doc/actions/actions-general. This is too rigorous: a rate estimator is needed only when police's "avrate" option is used. Reported-by: Joao Correia Diagnosed-by: John Dykstra Signed-off-by: Jarek Poplawski Signed-off-by: David S. Miller commit f4f8056a862a9950320429dfda708c88b4ce6025 Author: Roel Kluin Date: Thu Mar 5 00:55:31 2009 +0000 Squashfs: frag_size should be signed, as it can hold an error result Signed-off-by: Roel Kluin Signed-off-by: Phillip Lougher commit edf2e2811efa9304ebe14f778d33b764cfd58b7a Author: Phillip Lougher Date: Thu Mar 5 00:40:13 2009 +0000 Squashfs: fix documentation typo, Cramfs filesystem limit is 256 MiB Signed-off-by: Phillip Lougher commit 118e1ef6fabfc023126e6075f6ac0fc729cb5285 Author: Phillip Lougher Date: Thu Mar 5 00:31:12 2009 +0000 Squashfs: Fix oops when reading fsfuzzer corrupted filesystems This fixes a code regression caused by the recent mainlining changes. The recent code changes call zlib_inflate repeatedly, decompressing into separate 4K buffers, this code didn't check for the possibility that zlib_inflate might ask for too many buffers when decompressing corrupted data. Signed-off-by: Phillip Lougher commit 7ce9d5d1f3c8736511daa413c64985a05b2feee3 Author: Eric Sandeen Date: Wed Mar 4 18:38:18 2009 -0500 ext4: fix ext4_free_inode() vs. ext4_claim_inode() race I was seeing fsck errors on inode bitmaps after a 4 thread dbench run on a 4 cpu machine: Inode bitmap differences: -50736 -(50752--50753) etc... I believe that this is because ext4_free_inode() uses atomic bitops, and although ext4_new_inode() *used* to also use atomic bitops for synchronization, commit 393418676a7602e1d7d3f6e560159c65c8cbd50e changed this to use the sb_bgl_lock, so that we could also synchronize against read_inode_bitmap and initialization of uninit inode tables. However, that change left ext4_free_inode using atomic bitops, which I think leaves no synchronization between setting & unsetting bits in the inode table. The below patch fixes it for me, although I wonder if we're getting at all heavy-handed with this spinlock... Signed-off-by: Eric Sandeen Reviewed-by: Aneesh Kumar K.V Signed-off-by: "Theodore Ts'o" commit 9f8ac0b7b063be77f0de7a27fe5e6a0aa2cce58d Author: Matt Carlson Date: Wed Feb 25 14:21:20 2009 +0000 tg3: Fix 5906 link problems Commit 6833c043f9fc03696fde623914c4a0277df2a0bc introduced the phy auto-powerdown capability. While the APD feature only works for 5761 and 5784 asic revisions, the (harmless portion of the) code was applied to all 5705 and newer devices. However, the 5906 phy departs from the usual design. This commit was interfering with the 5906's ability to negotiate link against some switches. This patch corrects the problem. Signed-off-by: Matt Carlson Signed-off-by: Benjamin Li Signed-off-by: Michael Chan Signed-off-by: David S. Miller commit 7cbd4877e5b167b56a3d6033b926a9f925186e12 Author: Dan Williams Date: Wed Mar 4 16:06:03 2009 -0700 dmatest: fix use after free in dmatest_exit dmatest_cleanup_chanel will free dtc, so grab ->chan before it goes away and use it to do the release. Reported-by: Thierry Reding Signed-off-by: Dan Williams commit c74ef1f867d18171c8617519ee5fe40b02903934 Author: Luotao Fu Date: Thu Feb 26 12:29:20 2009 +0100 ipu_idmac: fix spinlock type fix a probably accidently dropped reference operator while calling spin_unlock_restore to an ipu lock. Signed-off-by: Luotao Fu Cc: Guennadi Liakhovetski Signed-off-by: Andrew Morton Signed-off-by: Dan Williams commit a09b09ae51ace43d28cd9bc1c8bb97986f2b55a6 Author: Roel Kluin Date: Wed Feb 25 13:56:21 2009 +0100 iop-adma, mv_xor: fix mem leak on self-test setup failure iop_adma_zero_sum_self_test has the brackets in the wrong place for the setup failure deallocation path. This error was duplicated in mv_xor_xor_self_test. Signed-off-by: Roel Kluin Signed-off-by: Dan Williams commit 900325a6ce33995688b7a680a34e7698f16f4d72 Author: Dan Williams Date: Mon Mar 2 15:33:46 2009 -0700 fsldma: fix off by one in dma_halt Prevent dev_err from firing even if we successfully detected 'dma-idle' before the full 1ms timeout has elapsed. Acked-by: Roel Kluin Signed-off-by: Dan Williams commit 0c33e1ca3d80647f2e72e44524fd21e79214da20 Author: Dan Williams Date: Mon Mar 2 13:31:35 2009 -0700 I/OAT: fail self-test if callback test reaches timeout If we miss interrupts in the self test then fail registration of this channel as it is unsuitable for use as a public channel. Signed-off-by: Maciej Sosnowski Signed-off-by: Dan Williams commit 211a22ce08dbb27eb1a66df8a4bdae5e96092bc8 Author: Maciej Sosnowski Date: Thu Feb 26 11:05:43 2009 +0100 I/OAT: update driver version and copyright dates Together with new fixes update driver version and extend copyright dates ranges. Signed-off-by: Maciej Sosnowski Signed-off-by: Shannon Nelson Acked-by: Jeff Kirsher Signed-off-by: Dan Williams commit aa2d0b8b97efa1033609ca89b9faa5d3a1232959 Author: Eric Sesterhenn Date: Thu Feb 26 11:05:30 2009 +0100 I/OAT: list usage cleanup Trivial cleanup, list_del(); list_add_tail() is equivalent to list_move_tail(). Semantic patch for coccinelle can be found at www.cccmz.de/~snakebyte/list_move_tail.spatch Signed-off-by: Eric Sesterhenn Signed-off-by: Maciej Sosnowski Signed-off-by: Shannon Nelson Acked-by: Jeff Kirsher Signed-off-by: Dan Williams commit 5de22343b2303b278ab562e5d166ffe306566d30 Author: Maciej Sosnowski Date: Thu Feb 26 11:05:17 2009 +0100 I/OAT: set tcp_dma_copybreak to 256k for I/OAT ver.3 Upcoming server platforms from Intel based on the Nehalem performance have significantly improved CPU based copy performance. However, the DMA engine can still be effective at higher I/O sizes for TCP traffic and at this time copybreak should be set to 256k for TCP traffic only. Signed-off-by: Maciej Sosnowski Signed-off-by: Shannon Nelson Acked-by: Jeff Kirsher Signed-off-by: Dan Williams commit 2b8a6bf896ef47cc7d84c503079cc7b99789f9fa Author: Maciej Sosnowski Date: Thu Feb 26 11:05:07 2009 +0100 I/OAT: cancel watchdog before dma remove Channel watchdog should be canceled before the rest of dma remove stuff. Signed-off-by: Maciej Sosnowski Signed-off-by: Shannon Nelson Acked-by: Jeff Kirsher Signed-off-by: Dan Williams commit 8b794b141c633083408d0bfb2229b3406d0ebf99 Author: Maciej Sosnowski Date: Thu Feb 26 11:04:54 2009 +0100 I/OAT: fail initialization on zero channels detection On some systems with I/OAT ver.2 when DCA is disabled in BIOS situations have been observed that zero DMA channels are detected instead of four. To avoid kernel panic driver should fail gracefully with appropriate message. Signed-off-by: Maciej Sosnowski Signed-off-by: Shannon Nelson Acked-by: Jeff Kirsher Signed-off-by: Dan Williams commit ea9c717d0148d4194f9bd04ecfa6b59b20fc0a08 Author: Maciej Sosnowski Date: Thu Feb 26 11:04:38 2009 +0100 I/OAT: do not set DCACTRL_CMPL_WRITE_ENABLE for I/OAT ver.3 Flag DCACTRL_CMPL_WRITE_ENABLE is valid only for I/OAT ver.2 so it should not be set for I/OAT ver.3. Signed-off-by: Maciej Sosnowski Signed-off-by: Shannon Nelson Acked-by: Jeff Kirsher Signed-off-by: Dan Williams commit 49bc46360d68156ce82b2b1a12badb80078453a0 Author: Maciej Sosnowski Date: Thu Feb 26 11:04:23 2009 +0100 I/OAT: add verification for proper APICID_TAG_MAP setting by BIOS BIOS versions for systems with I/OAT ver.2 have been found which fail to program APICID_TAG_MAP for DCA. The ioatdma driver should recognize incorrectly set APICID_TAG_MAP and disable DCA in that case. Signed-off-by: Maciej Sosnowski Signed-off-by: Shannon Nelson Acked-by: Jeff Kirsher Signed-off-by: Dan Williams commit d0cac39e4ec8097e4c7099d291b1fdcc0fe56b58 Author: David S. Miller Date: Wed Mar 4 14:43:47 2009 -0800 sparc64: Fix lost interrupts on sun4u. Based upon a report by Meelis Roos. Sparc64 SBUS and PCI controllers use a combination of IMAP and ICLR registers to manage device interrupts. The IMAP register contains the "valid" enable bit as well as CPU targetting information. Whereas the ICLR register is written with zero at the end of handling an interrupt to reset the state machine for that interrupt to IDLE so it can be sent again. For PCI slot and SBUS slot devices we can have multiple interrupts sharing the same IMAP register. There are individual ICLR registers but only one IMAP register for managing those. We represent each shared case with individual virtual IRQs so the generic IRQ layer thinks there is only one user of the IRQ instance. In such shared IMAP cases this is wrong, so if there are multiple active users then a free_irq() call will prematurely turn off the interrupt by clearing the Valid bit in the IMAP register even though there are other active users. Fix this by simply doing nothing in sun4u_disable_irq() and checking IRQF_DISABLED during IRQ dispatch. This situation doesn't exist in the hypervisor sun4v cases, so I left those alone. Tested-by: Meelis Roos Signed-off-by: David S. Miller commit 211a40c0870457b29100cffea0180fa5083caf96 Author: etienne Date: Wed Mar 4 07:33:51 2009 +0100 smack: fixes for unlabeled host support The following patch (against 2.6.29rc5) fixes a few issues in the smack/netlabel "unlabeled host support" functionnality that was added in 2.6.29rc. It should go in before -final. 1) smack_host_label disregard a "0.0.0.0/0 @" rule (or other label), preventing 'tagged' tasks to access Internet (many systems drop packets with IP options) 2) netmasks were not handled correctly, they were stored in a way _not equivalent_ to conversion to be32 (it was equivalent for /0, /8, /16, /24, /32 masks but not other masks) 3) smack_netlbladdr prefixes (IP/mask) were not consistent (mask&IP was not done), so there could have been different list entries for the same IP prefix; if those entries had different labels, well ... 4) they were not sorted 1) 2) 3) are bugs, 4) is a more cosmetic issue. The patch : -creates a new helper smk_netlbladdr_insert to insert a smk_netlbladdr, -sorted by netmask length -use the new sorted nature of smack_netlbladdrs list to simplify smack_host_label : the first match _will_ be the more specific -corrects endianness issues in smk_write_netlbladdr & netlbladdr_seq_show Signed-off-by: Acked-by: Casey Schaufler Reviewed-by: Paul Moore Signed-off-by: James Morris commit 64ca5ab913f1594ef316556e65f5eae63ff50cee Author: Eric Dumazet Date: Wed Mar 4 12:11:56 2009 -0800 rcu: increment quiescent state counter in ksoftirqd() If a machine is flooded by network frames, a cpu can loop 100% of its time inside ksoftirqd() without calling schedule(). This can delay RCU grace period to insane values. Adding rcu_qsctr_inc() call in ksoftirqd() solves this problem. Paul: "This regression was a result of the recent change from "schedule()" to "cond_resched()", which got rid of that quiescent state in the common case where a reschedule is not needed". Signed-off-by: Eric Dumazet Reviewed-by: Paul E. McKenney Signed-off-by: Andrew Morton Signed-off-by: Ingo Molnar commit dd4124a8a06bca89c077a16437edac010f0bb993 Author: Leann Ogasawara Date: Wed Mar 4 11:53:00 2009 -0800 x86: add Dell XPS710 reboot quirk Dell XPS710 will hang on reboot. This is resolved by adding a quirk to set bios reboot. Signed-off-by: Leann Ogasawara Signed-off-by: Tim Gardner Cc: "manoj.iyer" Cc: LKML-Reference: <1236196380.3231.89.camel@emiko> Signed-off-by: Ingo Molnar commit ab9e18587f4cdb5f3fb3854c732f27a36f98e8f6 Author: Daniel Glöckner Date: Wed Mar 4 19:42:27 2009 +0100 x86, math-emu: fix init_fpu for task != current Impact: fix math-emu related crash while using GDB/ptrace init_fpu() calls finit to initialize a task's xstate, while finit always works on the current task. If we use PTRACE_GETFPREGS on another process and both processes did not already use floating point, we get a null pointer exception in finit. This patch creates a new function finit_task that takes a task_struct parameter. finit becomes a wrapper that simply calls finit_task with current. On the plus side this avoids many calls to get_current which would each resolve to an inline assembler mov instruction. An empty finit_task has been added to i387.h to avoid linker errors in case the compiler still emits the call in init_fpu when CONFIG_MATH_EMULATION is not defined. The declaration of finit in i387.h has been removed as the remaining code using this function gets its prototype from fpu_proto.h. Signed-off-by: Daniel Glöckner Cc: Suresh Siddha Cc: "Pallipadi Venkatesh" Cc: Arjan van de Ven Cc: Bill Metzenthen LKML-Reference: Signed-off-by: Ingo Molnar commit dd39ecf522ba86c70809715af46e6557f6491131 Author: Huang Ying Date: Wed Mar 4 10:58:33 2009 +0800 x86: EFI: Back efi_ioremap with init_memory_mapping instead of FIX_MAP Impact: Fix boot failure on EFI system with large runtime memory range Brian Maly reported that some EFI system with large runtime memory range can not boot. Because the FIX_MAP used to map runtime memory range is smaller than run time memory range. This patch fixes this issue by re-implement efi_ioremap() with init_memory_mapping(). Reported-and-tested-by: Brian Maly Signed-off-by: Huang Ying Cc: Brian Maly Cc: Yinghai Lu LKML-Reference: <1236135513.6204.306.camel@yhuang-dev.sh.intel.com> Signed-off-by: Ingo Molnar commit 8ca7fe267f58462825729443f3e3b44ef4901cf0 Author: Koen Kooi Date: Wed Mar 4 10:07:42 2009 -0800 ARM: OMAP: board-omap3beagle: set i2c-3 to 100kHz Changing it do 100kHz is needed to make more devices works properly. Controlling the TI DLP Pico projector[1] doesn't work properly at 400kHz, 100kHz and lower work fine. EDID readout is unaffected by this change. [1] http://focus.ti.com/dlpdmd/docs/dlpdiscovery.tsp?sectionId=60&tabId=2234 Signed-off-by: Koen Kooi Acked-by: David Brownell Signed-off-by: Tony Lindgren commit e951651657610305c9af0045fd64c6a5b0bc4b80 Author: Aaro Koskinen Date: Wed Mar 4 10:07:41 2009 -0800 ARM: OMAP: Allow I2C bus driver to be compiled as a module Fixes a linker error when OMAP I2C bus driver is compiled as a module: ERROR: "i2c_register_board_info" [arch/arm/plat-omap/i2c.ko] undefined! The I2C utility functions used for board initialization should be always built-in. Signed-off-by: Aaro Koskinen Acked-by: Jarkko Nikula Signed-off-by: Tony Lindgren commit 80ea3bac3a47bc73efa334d0dd57099d0ff14216 Author: Aaro Koskinen Date: Wed Mar 4 10:07:41 2009 -0800 ARM: OMAP: sched_clock() corrected After my OMAP3 board has been running for a while, I'm seeing weird latency traces like this: sh-1574 0d.h2 153us : do_timer (tick_do_update_jiffies64) sh-1574 0d.h2 153us : update_wall_time (do_timer) sh-1574 0d.h2 153us!: omap_32k_read (update_wall_time) sh-1574 0d.h2 1883us : update_xtime_cache (update_wall_time) sh-1574 0d.h2 1883us : clocksource_get_next (update_wall_time) sh-1574 0d.h2 1883us+: _spin_lock_irqsave (clocksource_get_next) and after a while: sh-17818 0d.h3 153us : do_timer (tick_do_update_jiffies64) sh-17818 0d.h3 153us : update_wall_time (do_timer) sh-17818 0d.h3 153us!: omap_32k_read (update_wall_time) sh-17818 0d.h3 1915us : update_xtime_cache (update_wall_time) sh-17818 0d.h3 1915us+: clocksource_get_next (update_wall_time) sh-17818 0d.h3 1945us : _spin_lock_irqsave (clocksource_get_next) Turns out that sched_clock() is using cyc2ns(), which returns NTP adjusted time. The sched_clock() frequency should not be adjusted. The patch deletes omap_32k_ticks_to_nsecs() and rewrites sched_clock() to do the conversion using the constant multiplier. Signed-off-by: Aaro Koskinen Signed-off-by: Tony Lindgren commit 87d99d6f7ee3ec73b2b0212427b173502ec9d6cb Author: David Brownell Date: Wed Mar 4 10:07:40 2009 -0800 ARM: OMAP: Fix compile error if pm.h is included Change the error to a warning. Signed-off-by: David Brownell Signed-off-by: Tony Lindgren commit ff0c0874905fb312ca1491bbdac2653b0b48c20b Author: Brian Maly Date: Tue Mar 3 21:55:31 2009 -0500 x86: fix DMI on EFI Impact: reactivate DMI quirks on EFI hardware DMI tables are loaded by EFI, so the dmi calls must happen after efi_init() and not before. Currently Apple hardware uses DMI to determine the framebuffer mappings for efifb. Without DMI working you also have no video on MacBook Pro. This patch resolves the DMI issue for EFI hardware (DMI is now properly detected at boot), and additionally efifb now loads on Apple hardware (i.e. video works). Signed-off-by: Brian Maly Acked-by: Yinghai Lu Cc: ying.huang@intel.com LKML-Reference: <49ADEDA3.1030406@redhat.com> Signed-off-by: Ingo Molnar arch/x86/kernel/setup.c | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) commit 559595a985e106d2fa9f0c79b7f5805453fed593 Merge: 5ad8b7d 368a121 Author: Linus Torvalds Date: Wed Mar 4 07:49:07 2009 -0800 Merge branch 'merge' of git://git.kernel.org/pub/scm/linux/kernel/git/benh/powerpc * 'merge' of git://git.kernel.org/pub/scm/linux/kernel/git/benh/powerpc: powerpc: Run sbc610 USB fixup code only on the appropriate platform. commit 5ad8b7d12605e88d1e532061699102797fdefe08 Author: Helge Bahmann Date: Wed Mar 4 21:49:14 2009 +1000 drm: fix double lock typo [airlied: you shall not retype patches from other trees half asleep] Signed-of-by: Dave Airlie commit fb13d9f9e450bceafd88ac8a98f7a98e8096a5fe Author: Brian Haley Date: Wed Mar 4 03:20:26 2009 -0800 SCTP: change sctp_ctl_sock_init() to try IPv4 if IPv6 fails Change sctp_ctl_sock_init() to try IPv4 if IPv6 socket registration fails. Required if the IPv6 module is loaded with "disable=1", else SCTP will fail to load. Signed-off-by: Brian Haley Signed-off-by: Vlad Yasevich Signed-off-by: David S. Miller commit fe7ca2e1e847b65c12d245cbf402af89da96888a Author: Brian Haley Date: Wed Mar 4 03:18:11 2009 -0800 IPv6: add "disable" module parameter support to ipv6.ko Add "disable" module parameter support to ipv6.ko by specifying "disable=1" on module load. We just do the minimum of initializing inetsw6[] so calls from other modules to inet6_register_protosw() won't OOPs, then bail out. No IPv6 addresses or sockets can be created as a result, and a reboot is required to enable IPv6. Signed-off-by: Brian Haley Signed-off-by: David S. Miller commit c18e99cfba746ab0ad8d45e1f351ed990947c58c Author: Mike Frysinger Date: Wed Mar 4 17:36:49 2009 +0800 Blackfin arch: update anomaly sheets to match latest public info Signed-off-by: Mike Frysinger Signed-off-by: Bryan Wu commit ff19fed4fe54f2f1dd439ac02969333ea9a9b4ff Author: Michael Hennerich Date: Wed Mar 4 17:35:51 2009 +0800 Blackfin arch: Fix BUG - kernel fails to build in pm.c when allow wakeup fromi standby by GPIO This feature is not available on BF54x. Signed-off-by: Michael Hennerich Signed-off-by: Bryan Wu commit 199862892e83d04a294eebad45adc40c658b8630 Author: Michael Hennerich Date: Thu Mar 5 16:45:55 2009 +0800 Blackfin arch: PM_BFIN_WAKE_GP: update help Signed-off-by: Michael Hennerich Signed-off-by: Bryan Wu commit 0bf3d933085509916335480121761a1b225e6c23 Author: Sonic Zhang Date: Thu Mar 5 16:44:53 2009 +0800 Blackfin arch: fix bug - kgdb fails to continue after setting breakpoint on bf561-ezkit kernel with smp patch Free spinlock before call IPI handlers. Signed-off-by: Sonic Zhang Signed-off-by: Bryan Wu Header from folded patch 'blackfin_arch__fix_bug_-_kgdb_fails_to_continue_after_setting_breakpoint_on_bf561-ezkit_kernel_with_smp_patch-1': Blackfin arch: fix bug - kgdb fails to continue after setting breakpoint on bf561-ezkit kernel with smp patch Don't test l1 code in SMP kernel. Signed-off-by: Sonic Zhang Signed-off-by: Bryan Wu commit f4c13638185c91a269c63fcfb980d89180cf43a1 Author: Roel Kluin Date: Wed Mar 4 00:19:28 2009 -0800 sparc64: wait_event_interruptible_timeout may return -ERESTARTSYS wait_event_interruptible_timeout may return -ERESTARTSYS. Signed-off-by: Roel Kluin Signed-off-by: David S. Miller commit c21986a76220919bb06e4c04a89a8a62aeac107e Author: Christoph Hellwig Date: Wed Mar 4 00:18:11 2009 -0800 jsflash: stop defining MAJOR_NR Ever since early 2.5 kernels block drivers don't need to define MAJOR_NR anymore, so use the JSFD_MAJOR defined directly and kill it. Signed-off-by: Christoph Hellwig Signed-off-by: David S. Miller commit 4a8fd2cfdad4d043a1fadba2f3f340945d966825 Author: Roel Kluin Date: Wed Mar 4 00:08:39 2009 -0800 sungem: another error printed one too early Another error was printed one too early. Signed-off-by: Roel Kluin Signed-off-by: David S. Miller commit 948731115774c2e5ff7409360f35389459502211 Author: Roel Kluin Date: Wed Mar 4 00:07:57 2009 -0800 aoe: error printed 1 too early with while (i-- > 0); i reaches -1 after the loop, so the test below is printed one too early: 0 still means success. Signed-off-by: Roel Kluin Signed-off-by: David S. Miller commit b9bdcd9bd78d253dcc8e13c29f0acd67e080e7c1 Author: Roel Kluin Date: Wed Mar 4 00:05:56 2009 -0800 net pcmcia: worklimit reaches -1 with while (--worklimit >= 0); worklimit reaches -1 after the loop. In 3c589_cs.c this caused a warning not to be printed. In 3c574_cs.c contrastingly, el3_rx() treats worklimit differently: static int el3_rx(struct net_device *dev, int worklimit) { while (--worklimit >= 0) { ... } return worklimit; } el3_rx() is only called by function el3_interrupt(): twice: static irqreturn_t el3_interrupt(int irq, void *dev_id) { int work_budget = max_interrupt_work; while(...) { if (...) work_budget = el3_rx(dev, work_budget); if (...) work_budget = el3_rx(dev, work_budget); if (--work_budget < 0) { ... break; } } } The error path can occur 2 too early. Signed-off-by: Roel Kluin Signed-off-by: David S. Miller commit 858b9ced6e73a0f087294c398a1ae70a7eeed94f Author: Roel Kluin Date: Wed Mar 4 00:11:42 2009 -0800 net: more timeouts that reach -1 with while (timeout-- > 0); timeout reaches -1 after the loop, so the tests below are off by one. also don't do an '< 0' test on an unsigned. Signed-off-by: Roel Kluin Signed-off-by: David S. Miller commit 5fd3a17ed456637a224cf4ca82b9ad9d005bc8d4 Author: Dan Williams Date: Wed Mar 4 00:57:25 2009 -0700 md: fix deadlock when stopping arrays Resolve a deadlock when stopping redundant arrays, i.e. ones that require a call to sysfs_remove_group when shutdown. The deadlock is summarized below: Thread1 Thread2 ------- ------- read sysfs attribute stop array take mddev lock sysfs_remove_group sysfs_get_active wait for mddev lock wait for active Sysrq-w: -------- mdmon S 00000017 2212 4163 1 f1982ea8 00000046 2dcf6b85 00000017 c0b23100 f2f83ed0 c0b23100 f2f8413c c0b23100 c0b23100 c0b1fb98 f2f8413c 00000000 f2f8413c c0b23100 f2291ecc 00000002 c0b23100 00000000 00000017 f2f83ed0 f1982eac 00000046 c044d9dd Call Trace: [] ? debug_mutex_add_waiter+0x1d/0x58 [] __mutex_lock_common+0x1d9/0x338 [] ? __mutex_lock_common+0x1d9/0x338 [] mutex_lock_interruptible_nested+0x33/0x3a [] ? mddev_lock+0x14/0x16 [] mddev_lock+0x14/0x16 [] md_attr_show+0x2a/0x49 [] sysfs_read_file+0x93/0xf9 mdadm D 00000017 2812 4177 1 f0401d78 00000046 430456f8 00000017 f0401d58 f0401d20 c0b23100 f2da2c4c c0b23100 c0b23100 c0b1fb98 f2da2c4c 0a10fc36 00000000 c0b23100 f0401d70 00000003 c0b23100 00000000 00000017 f2da29e0 00000001 00000002 00000000 Call Trace: [] schedule_timeout+0x1b/0x95 [] ? schedule_timeout+0x1b/0x95 [] ? wait_for_common+0x34/0xdc [] ? trace_hardirqs_on_caller+0x18/0x145 [] ? trace_hardirqs_on+0xb/0xd [] wait_for_common+0xa0/0xdc [] ? default_wake_function+0x0/0x12 [] wait_for_completion+0x17/0x19 [] sysfs_addrm_finish+0x19f/0x1d1 [] sysfs_hash_and_remove+0x42/0x55 [] sysfs_remove_group+0x57/0x86 [] do_md_stop+0x13a/0x499 This has been there for a while, but is easier to trigger now that mdmon is closely watching sysfs. Cc: Reported-by: Jacek Danecki Signed-off-by: Dan Williams commit 4222474519ff5b31a526dfa1da7aa4b0e38bef5c Author: Meelis Roos Date: Tue Mar 3 23:48:50 2009 -0800 net: fix tokenring license Currently, modular tokenring ("tr") lacks a license and fails to load: tr: module license 'unspecified' taints kernel. tr: Unknown symbol proc_net_fops_create Beacuse of this, no tokenring driver can load if it depends on modular tr. Fix this by adding GPL module license as it is in the kernel. With this fix, tr module loads fine and tms380 driver also loads. Well, it does'nt work but that's a different bug. Signed-off-by: Meelis Roos Signed-off-by: David S. Miller commit a1a69c8db7f988f903349442a7538d21b56c38e9 Author: Peter Korsgaard Date: Tue Mar 3 23:48:16 2009 -0800 dm9601: new vendor/product IDs Add vendor/product IDs for new no name dm9601 compatible usb ethernet adaptors. Reported-by: Eric Lauriault Signed-off-by: Peter Korsgaard Signed-off-by: David S. Miller commit 4843b93c96ae5043c6279c4ec6fcd8ee3866ff5b Author: Pablo Neira Ayuso Date: Tue Mar 3 23:37:30 2009 -0800 netlink: invert error code in netlink_set_err() The callers of netlink_set_err() currently pass a negative value as parameter for the error code. However, sk->sk_err wants a positive error value. Without this patch, skb_recv_datagram() called by netlink_recvmsg() may return a positive value to report an error. Another choice to fix this is to change callers to pass a positive error value, but this seems a bit inconsistent and error prone to me. Indeed, the callers of netlink_set_err() assumed that the (usual) negative value for error codes was fine before this patch :). This patch also includes some documentation in docbook format for netlink_set_err() to avoid this sort of confusion. Signed-off-by: Pablo Neira Ayuso Signed-off-by: David S. Miller commit 368a12117dd8abf6eaefa37c21ac313b517128b9 Author: Tony Breeds Date: Tue Mar 3 17:59:30 2009 +0000 powerpc: Run sbc610 USB fixup code only on the appropriate platform. commit a969e76a7101bf5f3d369563df1ca1253dd6131b (powerpc: Correct USB support for GE Fanuc SBC610) introduced a fixup for NEC usb controllers. This fixup should only run on GEF SBC610 boards. Fixes Fedora bug #486511. (https://bugzilla.redhat.com/show_bug.cgi?id=486511) Signed-off-by: Tony Breeds Signed-off-by: Benjamin Herrenschmidt commit 8bf6774d7fe44ada94bb8df50f089c6e60bdfb26 Author: Michael Hennerich Date: Wed Mar 4 11:34:10 2009 +0800 Blackfin arch: Enable Write Back Cache on all Blackfin Boards Signed-off-by: Michael Hennerich Signed-off-by: Bryan Wu commit 9bd50df6aa9bdd583793a16b0b9379dfd78c079e Author: Philippe Gerum Date: Wed Mar 4 16:52:38 2009 +0800 Blackfin arch: Update adeos blackfin arch patch to 1.9-00 Signed-off-by: Philippe Gerum Signed-off-by: Bryan Wu commit fec6c6fec3e20637bee5d276fb61dd8b49a3f9cc Author: Linus Torvalds Date: Tue Mar 3 17:05:22 2009 -0800 Linux 2.6.29-rc7 commit 9c1a7747059a65dbc2d7703978841a37db699fbf Merge: 219f170 1777f1a Author: Linus Torvalds Date: Tue Mar 3 17:05:08 2009 -0800 Merge git://git.kernel.org/pub/scm/linux/kernel/git/herbert/crypto-2.6 * git://git.kernel.org/pub/scm/linux/kernel/git/herbert/crypto-2.6: crypto: ixp4xx - Fix qmgr_request_queue build failure crypto: api - Fix module load deadlock with fallback algorithms commit 1777f1a978153e8b887c1e1eb5160ac46098b142 Author: Krzysztof Hałasa Date: Wed Mar 4 08:01:22 2009 +0800 crypto: ixp4xx - Fix qmgr_request_queue build failure There is another user of IXP4xx queue manager, fix it. Signed-off-by: Krzysztof Hałasa Signed-off-by: Herbert Xu commit f45964ed6971db2e7ae6cb9b164def1d23b46612 Author: Saeed Bishara Date: Mon Mar 2 17:30:36 2009 +0200 [ARM] orion5x: pass dram mbus data to xor driver This data should be passed to the xor driver in order to initialize the address decoding windows of the xor unit. without this patch, the self tests of the xor will fail unless the address decoding windows were initialized by the boot loader. Signed-off-by: Saeed Bishara Signed-off-by: Nicolas Pitre commit 219f170a85fee524fa528ef75a0432b79af95d0b Merge: 3024e4a 54e9912 Author: Linus Torvalds Date: Tue Mar 3 14:33:20 2009 -0800 Merge branch 'sched-fixes-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip * 'sched-fixes-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip: sched: don't allow setuid to succeed if the user does not have rt bandwidth sched_rt: don't start timer when rt bandwidth disabled commit 3024e4a99744f5b59704a6570524a312f94f010f Merge: f2a4165 780eef9 Author: Linus Torvalds Date: Tue Mar 3 14:32:55 2009 -0800 Merge branch 'x86-fixes-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip * 'x86-fixes-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip: x86: oprofile: don't set counter width from cpuid on Core2 x86: fix init_memory_mapping() to handle small ranges commit f2a4165526a9746afc4ba5413b1756614a49d450 Merge: b24746c 340430c Author: Linus Torvalds Date: Tue Mar 3 14:32:37 2009 -0800 Merge branch 'tracing/mmiotrace' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip * 'tracing/mmiotrace' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip: x86 mmiotrace: fix race with release_kmmio_fault_page() x86 mmiotrace: improve handling of secondary faults x86 mmiotrace: split set_page_presence() x86 mmiotrace: fix save/restore page table state x86 mmiotrace: WARN_ONCE if dis/arming a page fails x86: add far read test to testmmiotrace x86: count errors in testmmiotrace.ko commit b24746c7be75384d182845375c96433d713981bb Merge: f41bf2a a682604 Author: Linus Torvalds Date: Tue Mar 3 14:32:04 2009 -0800 Merge branch 'core-fixes-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip * 'core-fixes-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip: rcu: Teach RCU that idle task is not quiscent state at boot commit f41bf2ab998daaa2ac27348d5813e0ae21c57ded Merge: 2450cf5 bdf602b Author: Linus Torvalds Date: Tue Mar 3 14:12:41 2009 -0800 Merge master.kernel.org:/home/rmk/linux-2.6-arm * master.kernel.org:/home/rmk/linux-2.6-arm: [ARM] fix lots of ARM __devexit sillyness [ARM] 5417/1: Set the correct cacheid for ARMv6 CPUs with ARMv7 style MMU [ARM] 5416/1: Use unused address in v6_early_abort [ARM] 5411/1: S3C64XX: Fix EINT unmask [ARM] at91: fix for Atmel AT91 powersaving [ARM] RiscPC: Fix etherh oops commit bdf602bd737eb07d63d6fa2da826b4751fdf9bab Author: Russell King Date: Tue Mar 3 13:43:47 2009 +0000 [ARM] fix lots of ARM __devexit sillyness `iop_adma_remove' referenced in section `.data' of drivers/built-in.o: defined in discarded section `.devexit.text' of drivers/built-in.o `mv_xor_remove' referenced in section `.data' of drivers/built-in.o: defined in discarded section `.devexit.text' of drivers/built-in.o `mv64xxx_i2c_unmap_regs' referenced in section `.devinit.text' of drivers/built-in.o: defined in discarded section `.devexit.text' of drivers/built-in.o `mv64xxx_i2c_remove' referenced in section `.data' of drivers/built-in.o: defined in discarded section `.devexit.text' of drivers/built-in.o `orion_nand_remove' referenced in section `.data' of drivers/built-in.o: defined in discarded section `.devexit.text' of drivers/built-in.o `pxafb_remove' referenced in section `.data' of drivers/built-in.o: defined in discarded section `.devexit.text' of drivers/built-in.o Acked-by: Uwe Kleine-König Signed-off-by: Russell King commit b57ee99fab25dbc12150fe66fe54dc52bc6de784 Author: Catalin Marinas Date: Tue Mar 3 11:44:12 2009 +0100 [ARM] 5417/1: Set the correct cacheid for ARMv6 CPUs with ARMv7 style MMU The cacheid_init() function assumes that if cpu_architecture() returns 7, the caches are VIPT_NONALIASING. The cpu_architecture() function returns the version of the supported MMU features (e.g. TEX remapping) but it doesn't make any assumptions about the cache type. The patch adds the checking of the Cache Type Register for the ARMv7 format. Signed-off-by: Catalin Marinas Signed-off-by: Russell King commit 25ef4a67e78e1322d55f0a38783537ed89addc02 Author: Seth Forshee Date: Mon Mar 2 22:39:36 2009 +0100 [ARM] 5416/1: Use unused address in v6_early_abort The target of the strex instruction to clear the exlusive monitor is currently the top of the stack. If the store succeeeds this corrupts r0 in pt_regs. Use the next stack location instead of the current one to prevent any chance of corrupting an in-use address. Signed-off-by: Seth Forshee Signed-off-by: Russell King commit 780eef9492b16a1543a3b2ae9f9526a735fc9856 Author: Tim Blechmann Date: Thu Feb 19 17:34:03 2009 +0100 x86: oprofile: don't set counter width from cpuid on Core2 Impact: fix stuck NMIs and non-working oprofile on certain CPUs Resetting the counter width of the performance counters on Intel's Core2 CPUs, breaks the delivery of NMIs, when running in x86_64 mode. This should fix bug #12395: http://bugzilla.kernel.org/show_bug.cgi?id=12395 Signed-off-by: Tim Blechmann Signed-off-by: Robert Richter LKML-Reference: <20090303100412.GC10085@erda.amd.com> Cc: Signed-off-by: Ingo Molnar commit 97d4b35fb44cd5a80bc10952e2b1de5d3a14117b Author: Tom Parker Date: Tue Mar 3 17:59:39 2009 +0800 Blackfin arch: fix bug - Error if one serial has hardware flow control and the other doesn't I have a system where UART0 is configured with hardware flow control, but UART1 doesn't have it enabled. Attempting to access UART1 in this configuration results in the following error in dmesg: <3>bfin-gpio: GPIO 0 is already reserved as Peripheral by bfin-uart ! <5>Stack from 0082bc7c: <5> 0082bc88 00404dd6 00000003 00000000 0054051e 004079da 0082bcb4 00000000 <5> 00000003 00000000 0052686c 0113f2a0 005fa3f0 00000032 20515249 00003035 <5> 00427228 00526e50 0113f2e0 005fa3f0 00000032 0113f2e0 0054b748 0000ffff <5> 22222222 22222222 004e1628 00427304 00000000 00000032 00000023 0054b748 <5> 00487a94 0054b7e8 0054b748 0000000b 00487fb8 0054b748 0054b748 00000001 <5> 0000000a 005fa3f0 009d4fe8 0101e3c0 0054b748 005fa3f0 0050b134 0054b748 <5> <5>Call Trace: <4>[<00485c16>] _uart_startup+0x56/0x178 <4>[<004865c8>] _uart_open+0x40/0x3e0 <4>[<0048661c>] _uart_open+0x94/0x3e0 <4>[<0047f1ce>] _init_dev+0x1fa/0x450 <4>[<004e1628>] ___mutex_unlock_slowpath+0x30/0xe8 <4>[<004815da>] _tty_open+0xf6/0x21c <4>[<0043dab0>] ___path_lookup_intent_open+0x34/0x7c <4>[<004375e4>] _chrdev_open+0x7c/0x134 <4>[<0043dc2c>] _open_namei+0x60/0x568 <4>[<00433fa2>] ___dentry_open+0x9e/0x188 <4>[<00437568>] _chrdev_open+0x0/0x134 <4>[<0043410c>] _nameidata_to_filp+0x30/0x3c <4>[<00434152>] _do_filp_open+0x3a/0x44 <4>[<00408826>] _task_running_tick+0x102/0x278 <4>[<0043418e>] _do_sys_open+0x32/0xac <4>[<0043ede4>] _sys_ioctl+0x28/0x50 <4>[<0043edbc>] _sys_ioctl+0x0/0x50 <4>[<00434224>] _sys_open+0x18/0x20 <4>[<0043420c>] _sys_open+0x0/0x20 <4>[<00418174>] _sys_setuid+0x0/0xc8 This is because the #ifdef's in bfin_serial_5xx.h are messed up. More specifically, they add/remove the uart_{rts,cts}_pin fields in bfin_serial_resources based on whether the particular port has rts/cts enabled, as opposed to when either port has it enabled. This patch fixed this. Signed-off-by: Tom Parker Signed-off-by: Sonic Zhang Signed-off-by: Bryan Wu commit 17edde520927070a6bf14a6a75027c0b843443e5 Author: Eric W. Biederman Date: Sun Feb 22 00:11:09 2009 -0800 netns: Remove net_alive It turns out that net_alive is unnecessary, and the original problem that led to it being added was simply that the icmp code thought it was a network device and wound up being unable to handle packets while there were still packets in the network namespace. Now that icmp and tcp have been fixed to properly register themselves this problem is no longer present and we have a stronger guarantee that packets will not arrive in a network namespace then that provided by net_alive in netif_receive_skb. So remove net_alive allowing packet reception run a little faster. Additionally document the strong reason why network namespace cleanup is safe so that if something happens again someone else will have a chance of figuring it out. Signed-off-by: Eric W. Biederman Signed-off-by: David S. Miller commit 2f20d2e667ab1ca44cde5fb361386dff5bb6081d Author: Eric W. Biederman Date: Sun Feb 22 00:10:18 2009 -0800 tcp: Like icmp use register_pernet_subsys To remove the possibility of packets flying around when network devices are being cleaned up use reisger_pernet_subsys instead of register_pernet_device. Signed-off-by: Eric W. Biederman Acked-by: Denis V. Lunev Signed-off-by: David S. Miller commit 6eb0777228f31932fc941eafe8b08848466630a1 Author: Eric W. Biederman Date: Sun Feb 22 00:09:14 2009 -0800 netns: Fix icmp shutdown. Recently I had a kernel panic in icmp_send during a network namespace cleanup. There were packets in the arp queue that failed to be sent and we attempted to generate an ICMP host unreachable message, but failed because icmp_sk_exit had already been called. The network devices are removed from a network namespace and their arp queues are flushed before we do attempt to shutdown subsystems so this error should have been impossible. It turns out icmp_init is using register_pernet_device instead of register_pernet_subsys. Which resulted in icmp being shut down while we still had the possibility of packets in flight, making a nasty NULL pointer deference in interrupt context possible. Changing this to register_pernet_subsys fixes the problem in my testing. Signed-off-by: Eric W. Biederman Acked-by: Denis V. Lunev Signed-off-by: David S. Miller commit 176c39af29bc4edaf37f663553eeaacd47b5bc9c Author: Daniel Lezcano Date: Tue Mar 3 01:06:45 2009 -0800 netns: fix addrconf_ifdown kernel panic When a network namespace is destroyed the network interfaces are all unregistered, making addrconf_ifdown called by the netdevice notifier. In the other hand, the addrconf exit method does a loop on the network devices and does addrconf_ifdown on each of them. But the ordering of the netns subsystem is not right because it uses the register_pernet_device instead of register_pernet_subsys. If we handle the loopback as any network device, we can safely use register_pernet_subsys. But if we use register_pernet_subsys, the addrconf exit method will do exactly what was already done with the unregistering of the network devices. So in definitive, this code is pointless. I removed the netns addrconf exit method and moved the code to the addrconf cleanup function. Signed-off-by: Daniel Lezcano Signed-off-by: David S. Miller commit ee554be9ddcb666445b6765d8b5cdbfe80a1e9cf Author: Mike Frysinger Date: Tue Mar 3 16:52:55 2009 +0800 Blackfin arch: fix compile failure when missing the anomaly definition make sure ANOMALY_05000278/ANOMALY_05000380 is defined for all parts Signed-off-by: Mike Frysinger Signed-off-by: Bryan Wu commit b325fddb7f869e6c95a88dc6573220f162e5b89f Author: Stephen Hemminger Date: Thu Feb 26 06:55:31 2009 +0000 ipv6: Fix sysctl unregistration deadlock Signed-off-by: David S. Miller commit 5a5990d3090b03745a9548a6f5edef02095675cf Author: Stephen Hemminger Date: Thu Feb 26 06:49:24 2009 +0000 net: Avoid race between network down and sysfs Signed-off-by: Stephen Hemminger Acked-by: "Eric W. Biederman" Signed-off-by: David S. Miller commit 0fc59d3a01820765e5f3a723733728758b0cf577 Author: Yinghai Lu Date: Mon Mar 2 23:36:13 2009 -0800 x86: fix init_memory_mapping() to handle small ranges Impact: fix failed EFI bootup in certain circumstances Ying Huang found init_memory_mapping() has problem with small ranges less than 2M when he tried to direct map the EFI runtime code out of max_low_pfn_mapped. It turns out we never considered that case and didn't check the range... Reported-by: Ying Huang Signed-off-by: Yinghai Lu Cc: Brian Maly LKML-Reference: <49ACDDED.1060508@kernel.org> Signed-off-by: Ingo Molnar commit 07555c9880da3e2e96e5eae00a03b44cc076deaf Author: Russell King Date: Mon Mar 2 22:29:37 2009 -0800 OMAP: enable smc911x support for LDP platform The following patch enables SMC911x support to work on the OMAP LDP board. Although the SMC911x driver will eventually be obsoleted, the smsc911x patches are rather invasive for the -rc kernels. Rather than risk destablising smsc911x, this simpler patch is preferred to allow the network interface to work. Signed-off-by: Russell King Acked-by: Tony Lindgren Signed-off-by: David S. Miller commit 3df2678737974accf437dad11e584c1871a3ede3 Author: Wei Yongjun Date: Mon Mar 2 06:46:51 2009 +0000 sctp: fix kernel panic with ERROR chunk containing too many error causes If ERROR chunk is received with too many error causes in ESTABLISHED state, the kernel get panic. This is because sctp limit the max length of cmds to 14, but while ERROR chunk is received, one error cause will add around 2 cmds by sctp_add_cmd_sf(). So many error causes will fill the limit of cmds and panic. This patch fixed the problem. This bug can be test by SCTP Conformance Test Suite . Signed-off-by: Wei Yongjun Signed-off-by: Vlad Yasevich Signed-off-by: David S. Miller commit d1dd524785e30cf3d64d395d829b207376acb0aa Author: Vlad Yasevich Date: Mon Mar 2 06:46:50 2009 +0000 sctp: fix crash during module unload An extra list_del() during the module load failure and unload resulted in a crash with a list corruption. Now sctp can be unloaded again. Signed-off-by: Vlad Yasevich Signed-off-by: David S. Miller commit 2450cf51a1bdba7037e91b1bcc494b01c58aaf66 Author: Linus Torvalds Date: Mon Mar 2 16:23:33 2009 -0800 Revert "menu: fix embedded menu snafu" This reverts commit 155b25bcc28631a5b5230191aa3f56c40dfffa3f, which was totally wrong - the "embedded" options still exists (very much so) even on non-embedded platforms. It's just that we don't bother with actually asking about them when we're not embedded, we just take their default values (which is usually 'y' - the options add features that may not be worth it in a constrained environment). Noticed-by: Andrew Morton Cc: Randy Dunlap Signed-off-by: Linus Torvalds commit 43e407071d97c1a07a4601896581554a6b3bfd67 Merge: 155b25b 299eb93 Author: Linus Torvalds Date: Mon Mar 2 16:11:36 2009 -0800 Merge branch 'drm-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/airlied/drm-2.6 * 'drm-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/airlied/drm-2.6: drm/i915: Fix use-before-null-check in i915_irq_emit(). drm: Avoid client deadlocks when the master disappears. drm: Wake up all lock waiters when the master disappears. drm: Don't return ERESTARTSYS to user-space. commit 299eb93c5f651b2bc368ada67d8471e4c575fa21 Author: Eric Anholt Date: Tue Feb 24 22:14:12 2009 -0800 drm/i915: Fix use-before-null-check in i915_irq_emit(). This could be triggered by a client asking to emit an irq when the device wasn't initialized. Signed-off-by: Eric Anholt Signed-off-by: Dave Airlie commit fda714c29cdf360464059044b221450decb4b913 Author: Thomas Hellstrom Date: Mon Mar 2 11:10:56 2009 +0100 drm: Avoid client deadlocks when the master disappears. This is done by 1) Wake up lock waiters when we close the master file descriptor. Not when the master structure is removed, since the latter requires the waiters themselves to release the refcount on the master structure -> Deadlock. 2) Send a SIGTERM to all clients waiting for the lock. Normally these clients will get a SIGPIPE when the X server dies, but clients may also spin trying to grab the DRM lock, without getting any sort of notification. Signed-off-by: Thomas Hellstrom Signed-off-by: Dave Airlie commit 171901d15deeef61aa8e1b0d0772404f39691b73 Author: Thomas Hellstrom Date: Mon Mar 2 11:10:55 2009 +0100 drm: Wake up all lock waiters when the master disappears. Currently only one waiter is woken up, leaving other waiters hanging waiting for the DRM lock. Signed-off-by: Thomas Hellstrom Signed-off-by: Dave Airlie commit 4d77c88e912e5eb9480432af09e950ca8995c253 Author: Thomas Hellstrom Date: Mon Mar 2 11:10:54 2009 +0100 drm: Don't return ERESTARTSYS to user-space. That return code is for in-kernel use only. Use EINTR instead. Signed-off-by: Thomas Hellstrom Signed-off-by: Dave Airlie commit 155b25bcc28631a5b5230191aa3f56c40dfffa3f Author: Randy Dunlap Date: Mon Mar 2 14:14:06 2009 -0800 menu: fix embedded menu snafu The COMPAT_BRK kconfig symbol does not depend on EMBEDDED, but it is in the midst of the EMBEDDED menu symbols, so it mucks up the EMBEDDED menu. Fix by moving it to just after all of the EMBEDDED menu symbols. Also, surround all of the EMBEDDED symbols with "if EMBEDDED"/"endif" so that this EMBEDDED block is clearer. Signed-off-by: Randy Dunlap Signed-off-by: Linus Torvalds commit d86a1c3de557c019696499ff211b91232fad0fe9 Merge: bd5e89c a087489 Author: Linus Torvalds Date: Mon Mar 2 15:48:00 2009 -0800 Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/drzeus/mmc * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/drzeus/mmc: sdhci: Add NO_BUSY_IRQ quirk for Marvell CAFE host chip sdhci: Add quirk for controllers with no end-of-busy IRQ commit bd5e89c8132f1cab75684344faa5e53517727c3e Merge: 2d44947 38f1df2 Author: Linus Torvalds Date: Mon Mar 2 15:47:19 2009 -0800 Merge branch 'fix/hda' of git://git.kernel.org/pub/scm/linux/kernel/git/tiwai/sound-2.6 * 'fix/hda' of git://git.kernel.org/pub/scm/linux/kernel/git/tiwai/sound-2.6: ALSA: hda - Add probe_mask default for Toshiba laptop with ALC268 ALSA: hda - Add quirk for new HP xw series ALSA: hda - Fix digital mic on dell-m4-1 and dell-m4-3 commit 2d44947a56f7a567f2e9250dc458a6288d774f9c Merge: 359aa09 5ce04e3 Author: Linus Torvalds Date: Mon Mar 2 15:47:01 2009 -0800 Merge branch 'x86-fixes-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip * 'x86-fixes-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip: fix warning in io_mapping_map_wc() x86: i915 needs pgprot_writecombine() and is_io_mapping_possible() commit 359aa09be9b2b343e01306cb4a6f29d7159d7498 Merge: c742b4b 52c0326 Author: Linus Torvalds Date: Mon Mar 2 15:46:09 2009 -0800 Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-2.6 * git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-2.6: (29 commits) zaurus: add usb id for motomagx phones usbnet: make usbnet_get_link() fall back to ethtool_op_get_link() veth: Fix carrier detect cdc_ether: add usb id for Ericsson F3507g r8169: read MAC address from EEPROM on init (2nd attempt) tcp: fix retrans_out leaks net headers: export dcbnl.h net headers: cleanup dcbnl.h netpoll: Add drop checks to all entry points gianfar: Do right check on num_txbdfree pkt_sched: sch_drr: Fix oops in drr_change_class. b44: Disable device on shutdown b44: Unconditionally enable interrupt routing on reset net: fix hp-plus build error libertas: fix misuse of netdev_priv() and dev->ml_priv ipv6: don't use tw net when accounting for recycled tw asix: new device ids tcp_scalable: Update malformed & dead url netfilter: xt_recent: fix proc-file addition/removal of IPv4 addresses netxen: handle pci bar 0 mapping failure ... commit c742b4bf7a180619831783dcdad6aec062587e54 Merge: fbfd8b5 d7f59dc Author: Linus Torvalds Date: Mon Mar 2 15:44:08 2009 -0800 Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jmorris/security-testing-2.6 * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jmorris/security-testing-2.6: selinux: Fix a panic in selinux_netlbl_inode_permission() commit fbfd8b5622a18afefb53a69d31fbddecba404f64 Author: Karsten Keil Date: Sun Mar 1 18:04:53 2009 +0100 Change email address Since I will loose the old address soon, please change it. Signed-off-by: Karsten Keil Signed-off-by: Linus Torvalds commit 6b3bf2049180c4d4d6f4432f9148621410c179a9 Merge: 36b3110 9ab7b25 Author: Linus Torvalds Date: Mon Mar 2 15:43:03 2009 -0800 Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/dtor/input * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/dtor/input: Input: elantech - touchpad driver miss-recognising logitech mice Input: synaptics - ensure we reset the device on resume Input: usbtouchscreen - fix eGalax HID ignoring Input: ambakmi - fix timeout handling in amba_kmi_write() Input: pxa930_trkball - fix write timeout handling Input: struct device - replace bus_id with dev_name(), dev_set_name() Input: bf54x-keys - fix debounce time validation Input: spitzkbd - mark probe function as __devinit Input: omap-keypad - mark probe function as __devinit Input: corgi_ts - mark probe function as __devinit Input: corgikbd - mark probe function as __devinit Input: uvc - the button on the camera is KEY_CAMERA Input: psmouse - make MOUSE_PS2_LIFEBOOK depend on X86 Input: atkbd - make forced_release_keys[] static Input: usbtouchscreen - allow reporting calibrated data commit 36b31106b725ac2ca4941d4ee8dbb67df72ed5dd Merge: 7b88ed6 8f64b32 Author: Linus Torvalds Date: Mon Mar 2 15:42:26 2009 -0800 Merge branch 'for_linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tytso/ext4 * 'for_linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tytso/ext4: ext4: don't call jbd2_journal_force_commit_nested without journal ext4: Reorder fs/Makefile so that ext2 root fs's are mounted using ext2 ext4: Remove duplicate call to ext4_commit_super() in ext4_freeze() commit 7b88ed671a7157e427811db208bb167c49f33352 Merge: 5b10174 5ce7868 Author: Linus Torvalds Date: Mon Mar 2 15:41:59 2009 -0800 Merge git://git.kernel.org/pub/scm/linux/kernel/git/jejb/scsi-rc-fixes-2.6 * git://git.kernel.org/pub/scm/linux/kernel/git/jejb/scsi-rc-fixes-2.6: [SCSI] mpt: fix disable lsi sas to use msi as default [SCSI] fix ABORTED_COMMAND looping forever problem [SCSI] sd: revive sd_index_lock [SCSI] cxgb3i: update the driver version to 1.0.1 [SCSI] cxgb3i: Fix spelling errors in documentation [SCSI] cxgb3i: added missing include in cxgb3i_ddp.h [SCSI] cxgb3i: Outgoing pdus need to observe skb's MAX_SKB_FRAGS [SCSI] cxgb3i: added per-task data to track transmit progress [SCSI] cxgb3i: transmit work-request fixes [SCSI] hptiop: Add new PCI device ID commit 5b1017404aea6d2e552e991b3fd814d839e9cd67 Author: Roland McGrath Date: Fri Feb 27 23:25:54 2009 -0800 x86-64: seccomp: fix 32/64 syscall hole On x86-64, a 32-bit process (TIF_IA32) can switch to 64-bit mode with ljmp, and then use the "syscall" instruction to make a 64-bit system call. A 64-bit process make a 32-bit system call with int $0x80. In both these cases under CONFIG_SECCOMP=y, secure_computing() will use the wrong system call number table. The fix is simple: test TS_COMPAT instead of TIF_IA32. Here is an example exploit: /* test case for seccomp circumvention on x86-64 There are two failure modes: compile with -m64 or compile with -m32. The -m64 case is the worst one, because it does "chmod 777 ." (could be any chmod call). The -m32 case demonstrates it was able to do stat(), which can glean information but not harm anything directly. A buggy kernel will let the test do something, print, and exit 1; a fixed kernel will make it exit with SIGKILL before it does anything. */ #define _GNU_SOURCE #include #include #include #include #include #include #include int main (int argc, char **argv) { char buf[100]; static const char dot[] = "."; long ret; unsigned st[24]; if (prctl (PR_SET_SECCOMP, 1, 0, 0, 0) != 0) perror ("prctl(PR_SET_SECCOMP) -- not compiled into kernel?"); #ifdef __x86_64__ assert ((uintptr_t) dot < (1UL << 32)); asm ("int $0x80 # %0 <- %1(%2 %3)" : "=a" (ret) : "0" (15), "b" (dot), "c" (0777)); ret = snprintf (buf, sizeof buf, "result %ld (check mode on .!)\n", ret); #elif defined __i386__ asm (".code32\n" "pushl %%cs\n" "pushl $2f\n" "ljmpl $0x33, $1f\n" ".code64\n" "1: syscall # %0 <- %1(%2 %3)\n" "lretl\n" ".code32\n" "2:" : "=a" (ret) : "0" (4), "D" (dot), "S" (&st)); if (ret == 0) ret = snprintf (buf, sizeof buf, "stat . -> st_uid=%u\n", st[7]); else ret = snprintf (buf, sizeof buf, "result %ld\n", ret); #else # error "not this one" #endif write (1, buf, ret); syscall (__NR_exit, 1); return 2; } Signed-off-by: Roland McGrath [ I don't know if anybody actually uses seccomp, but it's enabled in at least both Fedora and SuSE kernels, so maybe somebody is. - Linus ] Signed-off-by: Linus Torvalds commit ccbe495caa5e604b04d5a31d7459a6f6a76a756c Author: Roland McGrath Date: Fri Feb 27 19:03:24 2009 -0800 x86-64: syscall-audit: fix 32/64 syscall hole On x86-64, a 32-bit process (TIF_IA32) can switch to 64-bit mode with ljmp, and then use the "syscall" instruction to make a 64-bit system call. A 64-bit process make a 32-bit system call with int $0x80. In both these cases, audit_syscall_entry() will use the wrong system call number table and the wrong system call argument registers. This could be used to circumvent a syscall audit configuration that filters based on the syscall numbers or argument details. Signed-off-by: Roland McGrath Signed-off-by: Linus Torvalds commit a0874897b1ba106298e4303a25456a473fc40f3d Author: Andres Salomon Date: Mon Mar 2 21:48:20 2009 +0100 sdhci: Add NO_BUSY_IRQ quirk for Marvell CAFE host chip As described here: http://lkml.org/lkml/2009/2/20/265 The CAFE chip is broken due to commit e809517f6fa5803a5a1cd5602. Anton added a quirk here: http://lkml.org/lkml/2009/2/20/279 that fixes CAFE's problem. This adds the quirk for CAFE. Signed-off-by: Andres Salomon Signed-off-by: Pierre Ossman commit f945405cdecd9e0ae3e58ff84cabd19b4522965e Author: Ben Dooks Date: Fri Feb 20 20:33:08 2009 +0300 sdhci: Add quirk for controllers with no end-of-busy IRQ The Samsung SDHCI (and FSL eSDHC) controller block seems to fail to generate an INT_DATA_END after the transfer has completed and the bus busy state finished. Changes in e809517f6fa5803a5a1cd56026f0e2190fc13d5c to use the new busy method are the cause of the behaviour change. Signed-off-by: Ben Dooks Signed-off-by: Anton Vorontsov Signed-off-by: Pierre Ossman commit e84dcaa18b2785d8ab20a7cb25612d89feb89fa7 Author: Bernd Schmidt Date: Mon Mar 2 18:37:48 2009 +0800 Blackfin arch: fix bug - jump_to_zero test case failed on noMPU kernel The nompu code is now derived from the mpu code, and had the same problem - no null pointer detection on ICPLBs. Signed-off-by: Bernd Schmidt Cc: Mike Frysinger Signed-off-by: Bryan Wu commit 34d464f8aa3e762ec812a131bfd53ccb4f886f69 Author: Mike Frysinger Date: Mon Mar 2 18:14:47 2009 +0800 Blackfin arch: use common KGDB_TESTS rather than our own KGDB_TESTCASE Signed-off-by: Mike Frysinger Signed-off-by: Bryan Wu commit 0f29456a21ae55c43b4e2a64611f778b1fbe4bdf Author: Michael Hennerich Date: Mon Mar 2 18:06:13 2009 +0800 Blackfin arch: Make IRQ_EPPIx_ERROR naming consistent Signed-off-by: Michael Hennerich Signed-off-by: Bryan Wu commit 28e4cf22a3707d05eb697b9b8ae6a4ed39c99b45 Author: Sonic Zhang Date: Mon Mar 2 18:04:24 2009 +0800 Blackfin arch: Disable NAND option by default Signed-off-by: Sonic Zhang Signed-off-by: Bryan Wu commit a572e217c6f09fb02853d3196458b8bf30a9a321 Author: Mike Frysinger Date: Mon Mar 2 17:22:36 2009 +0800 Blackfin arch: drop untested and useless "generic" board file Signed-off-by: Mike Frysinger Signed-off-by: Bryan Wu commit 340430c572f7b2b275d39965e88bafa71693cb23 Author: Pekka Paalanen Date: Tue Feb 24 21:44:15 2009 +0200 x86 mmiotrace: fix race with release_kmmio_fault_page() There was a theoretical possibility to a race between arming a page in post_kmmio_handler() and disarming the page in release_kmmio_fault_page(): cpu0 cpu1 ------------------------------------------------------------------ mmiotrace shutdown enter release_kmmio_fault_page fault on the page disarm the page disarm the page handle the MMIO access re-arm the page put the page on release list remove_kmmio_fault_pages() fault on the page page not known to mmiotrace fall back to do_page_fault() *KABOOM* (This scenario also shows the double disarm case which is allowed.) Fixed by acquiring kmmio_lock in post_kmmio_handler() and checking if the page is being released from mmiotrace. Signed-off-by: Pekka Paalanen Cc: Stuart Bennett Cc: Steven Rostedt Signed-off-by: Ingo Molnar commit 3e39aa156a24ce386da378784edd0f748c770087 Author: Stuart Bennett Date: Thu Feb 5 11:02:02 2009 +0000 x86 mmiotrace: improve handling of secondary faults Upgrade some kmmio.c debug messages to warnings. Allow secondary faults on probed pages to fall through, and only log secondary faults that are not due to non-present pages. Patch edited by Pekka Paalanen. Signed-off-by: Stuart Bennett Signed-off-by: Pekka Paalanen Cc: Steven Rostedt Signed-off-by: Ingo Molnar commit 0b700a6a253b6a3b3059bb9a9247a73490ee33fb Author: Pekka Paalanen Date: Sun Mar 1 16:12:48 2009 +0200 x86 mmiotrace: split set_page_presence() From 36772dcb6ffbbb68254cbfc379a103acd2fbfefc Mon Sep 17 00:00:00 2001 From: Pekka Paalanen Date: Sat, 28 Feb 2009 21:34:59 +0200 Split set_page_presence() in kmmio.c into two more functions set_pmd_presence() and set_pte_presence(). Purely code reorganization, no functional changes. Signed-off-by: Pekka Paalanen Cc: Stuart Bennett Cc: Steven Rostedt Signed-off-by: Ingo Molnar commit 5359b585fb5edb3db34d6cd491e1475b098c61d3 Author: Pekka Paalanen Date: Sun Mar 1 16:11:58 2009 +0200 x86 mmiotrace: fix save/restore page table state From baa99e2b32449ec7bf147c234adfa444caecac8a Mon Sep 17 00:00:00 2001 From: Pekka Paalanen Date: Sun, 22 Feb 2009 20:02:43 +0200 Blindly setting _PAGE_PRESENT in disarm_kmmio_fault_page() overlooks the possibility, that the page was not present when it was armed. Make arm_kmmio_fault_page() store the previous page presence in struct kmmio_fault_page and use it on disarm. This patch was originally written by Stuart Bennett, but Pekka Paalanen rewrote it a little different. Signed-off-by: Pekka Paalanen Cc: Stuart Bennett Cc: Steven Rostedt Signed-off-by: Ingo Molnar commit e9d54cae8f03e7f963a12f44bd50d68f49b9ea36 Author: Stuart Bennett Date: Fri Jan 30 17:38:59 2009 +0000 x86 mmiotrace: WARN_ONCE if dis/arming a page fails Print a full warning once, if arming or disarming a page fails. Also, if initial arming fails, do not handle the page further. This avoids the possibility of a page failing to arm and then later claiming to have handled any fault on that page. WARN_ONCE added by Pekka Paalanen. Signed-off-by: Stuart Bennett Signed-off-by: Pekka Paalanen Cc: Steven Rostedt Signed-off-by: Ingo Molnar commit 5ff93697fcfe1e2b9e61db82961d8f50d1ad5d57 Author: Pekka Paalanen Date: Sun Mar 1 16:10:08 2009 +0200 x86: add far read test to testmmiotrace Apparently pages far into an ioremapped region might not actually be mapped during ioremap(). Add an optional read test to try to trigger a multiply faulting MMIO access. Also add more messages to the kernel log to help debugging. This patch is based on a patch suggested by Stuart Bennett who discovered bugs in mmiotrace related to normal kernel space faults. Signed-off-by: Pekka Paalanen Cc: Stuart Bennett Cc: Steven Rostedt Signed-off-by: Ingo Molnar commit fab852aaf761a00cfe16330429b7cac15cceaeb9 Author: Pekka Paalanen Date: Sun Mar 1 16:09:14 2009 +0200 x86: count errors in testmmiotrace.ko Check the read values against the written values in the MMIO read/write test. This test shows if the given MMIO test area really works as memory, which is a prerequisite for a successful mmiotrace test. Signed-off-by: Pekka Paalanen Cc: Stuart Bennett Cc: Steven Rostedt Signed-off-by: Ingo Molnar commit 5ce04e3de8c36ba37c56e94e3c4dc7973c7f546c Author: Pallipadi, Venkatesh Date: Sun Mar 1 08:53:27 2009 -0800 fix warning in io_mapping_map_wc() Signed-off-by: Venkatesh Pallipadi Signed-off-by: Ingo Molnar commit 38f1df27e3191d76e983cb9c6b4392582fd32fda Author: Takashi Iwai Date: Sun Mar 1 10:55:44 2009 +0100 ALSA: hda - Add probe_mask default for Toshiba laptop with ALC268 Some Toshiba laptops have another ALC268 codec on slot#3 that conflicts with the primary codec. The codec#3 is for the digital I/O, and should be fixed by the driver, but it'd need a bunch of changes. So, let's fix the probe problem temporarily by setting the default probe_mask value. Reference: kernel bugzilla #12735 http://bugzilla.kernel.org/show_bug.cgi?id=12735 Tested-by: Alexey Dobriyan Signed-off-by: Takashi Iwai commit 52c0326beaa3cb0049d0f1c51c6ad5d4a04e4430 Author: Dmitriy Taychenachev Date: Tue Feb 24 18:42:48 2009 +0000 zaurus: add usb id for motomagx phones The Motorola MOTOMAGX phones (Z6, E8, Zn5 so far) are providing combined ACM/BLAN USB configuration. Since it has Vendor Specific class, the corresponding drivers (cdc-acm, zaurus) can't find it just by interface info. This patch adds usb id so the zaurus driver can properly handle this combined device. Signed-off-by: Dmitriy Taychenachev Signed-off-by: David S. Miller commit 05ffb3e287dfa8ad9fdf29089837b54bc6473303 Author: Bjørn Mork Date: Sun Mar 1 20:45:40 2009 -0800 usbnet: make usbnet_get_link() fall back to ethtool_op_get_link() Make usbnet_get_link() fall back to ethtool_op_get_link() instead of defaulting to 1. This makes usbnet_get_link return valid results without the need for a driver specific check_connect or mii ops as long as the driver calls netif_carrier_{on,off}() as appropriate. cdc_ether is an example of such a driver. Signed-off-by: Bjørn Mork Signed-off-by: David S. Miller commit 2cf48a10aa1f45c7b1f1117a829f2f8a1a1309e2 Author: Eric W. Biederman Date: Wed Feb 25 19:47:29 2009 +0000 veth: Fix carrier detect The current implementation of carrier detect in veth is broken. It reports the link is down until both sides of the veth pair are administatively up and then forever after it reports link up. So fix veth so that it only reports link up when both interfaces of the pair are administratively up. Signed-off-by: Eric Biederman Signed-off-by: David S. Miller commit cac477e8f1038c41b6f29d3161ce351462ef3df7 Author: Bjørn Mork Date: Wed Feb 25 04:33:58 2009 +0000 cdc_ether: add usb id for Ericsson F3507g The Ericsson F3507g wireless broadband module provides a CDC Ethernet compliant interface, but identifies it as a "Mobile Direct Line" CDC subclass, thereby preventing the CDC Ethernet class driver from picking it up. This patch adds the device id to cdc_ether.c as a workaround. Ericsson has provided a "class" driver for this device: http://kerneltrap.org/mailarchive/linux-net/2008/10/28/3832094 But closer inspection of that driver reveals that it adds little more than duplication of code from cdc_ether.c. See also http://marc.info/?l=linux-usb&m=123334979706403&w=2 Signed-off-by: Bjørn Mork Signed-off-by: David S. Miller commit 6709fe9a27e43a4931938fe0d7f2cc5edef31386 Author: Ivan Vecera Date: Sun Mar 1 20:34:48 2009 -0800 r8169: read MAC address from EEPROM on init (2nd attempt) This is 2nd attempt to implement the initialization/reading of MAC address from EEPROM. The first used PCI's VPD and there were some problems, some devices are not able to read EEPROM content by VPD. The 2nd one uses direct access to EEPROM through bit-banging interface and my testing results seem to be much better. I tested 5 systems each with different Realtek NICs and I didn't find any problem. AFAIK Francois's NICs also works fine. Original description: This fixes the problem when MAC address is set by ifconfig or by ip link commands and this address is stored in the device after reboot. The power-off is needed to get right MAC address. This is problem when Xen daemon is running because it renames the device name from ethX to pethX and sets its MAC address to FE:FF:FF:FF:FF:FF. After reboot the device is still using FE:FF:FF:FF:FF:FF. Signed-off-by: Ivan Vecera Signed-off-by: David S. Miller commit d7f59dc4642ce2fc7b79fcd4ec02ffce7f21eb02 Author: Paul Moore Date: Fri Feb 27 15:00:03 2009 -0500 selinux: Fix a panic in selinux_netlbl_inode_permission() Rick McNeal from LSI identified a panic in selinux_netlbl_inode_permission() caused by a certain sequence of SUNRPC operations. The problem appears to be due to the lack of NULL pointer checking in the function; this patch adds the pointer checks so the function will exit safely in the cases where the socket is not completely initialized. Signed-off-by: Paul Moore Signed-off-by: James Morris commit 9ec06ff57a9badef3b6b019f35efc6b21fc27d03 Author: Ilpo Järvinen Date: Sun Mar 1 00:21:36 2009 -0800 tcp: fix retrans_out leaks There's conflicting assumptions in shifting, the caller assumes that dupsack results in S'ed skbs (or a part of it) for sure but never gave a hint to tcp_sacktag_one when dsack is actually in use. Thus DSACK retrans_out -= pcount was not taken and the counter became out of sync. Remove obstacle from that information flow to get DSACKs accounted in tcp_sacktag_one as expected. Signed-off-by: Ilpo Järvinen Tested-by: Denys Fedoryshchenko Signed-off-by: David S. Miller commit 709ab3261e3ed789c0bb31c6ab53c9eccb276522 Author: Chris Leech Date: Fri Feb 27 10:01:42 2009 +0000 net headers: export dcbnl.h The DCB netlink interface is required for building the userspace tools available at e1000.sourceforge.net Signed-off-by: Chris Leech Signed-off-by: David S. Miller commit 5c2522218059ca1f4174a568923b988aad3ddfda Author: Chris Leech Date: Fri Feb 27 10:01:36 2009 +0000 net headers: cleanup dcbnl.h 1) add an include for 2) change dcbmsg.dcb_family from unsigned char to __u8 to be more consistent with use of kernel types Signed-off-by: Chris Leech Acked-by: Sam Ravnborg Signed-off-by: David S. Miller commit 4ead443163b798661c2a2ede5e512e116a9e41e7 Author: Herbert Xu Date: Sun Mar 1 00:11:52 2009 -0800 netpoll: Add drop checks to all entry points The netpoll entry checks are required to ensure that we don't receive normal packets when invoked via netpoll. Unfortunately it only ever worked for the netif_receive_skb/netif_rx entry points. The VLAN (and subsequently GRO) entry point didn't have the check and therefore can trigger all sorts of weird problems. This patch adds the netpoll check to all entry points. I'm still uneasy with receiving at all under netpoll (which apparently is only used by the out-of-tree kdump code). The reason is it is perfectly legal to receive all data including headers into highmem if netpoll is off, but if you try to do that with netpoll on and someone gets a printk in an IRQ handler you're going to get a nice BUG_ON. Signed-off-by: Herbert Xu Signed-off-by: David S. Miller commit 6b8036a877fe7a85d4474ddb89993339303959e1 Author: Grant Likely Date: Sat Feb 28 21:30:38 2009 -0700 powerpc/4xx: Enable SERIAL_OF support by default for Virtex platforms Virtex FPGA designs have two serial port logic cores to choose from; the simple uartlite, and the full featured uart16550. Both cores are in common use so the defconfig should support both of them. Currently only console on uartlite is supported in the defconfig. This patch adds console support for the 16550 core. The Virtex reference designs do not work without this patch. Signed-off-by: Grant Likely commit 18963caaf55240d6a0491bdb27b7fef2882ffb15 Merge: 98f8948 778ef1e Author: David S. Miller Date: Sat Feb 28 15:36:58 2009 -0800 Merge branch 'master' of /home/davem/src/GIT/linux-2.6/ commit 98f8948f13b4d27c3695c49ac9a970a77166f9ee Merge: 7958a45 ab65f64 Author: David S. Miller Date: Sat Feb 28 15:34:24 2009 -0800 Merge branch 'master' of git://git.kernel.org/pub/scm/linux/kernel/git/linville/wireless-2.6 commit 9ab7b25e6a30d2292bd6d4913b71c918ee1e21b4 Author: Arjan Opmeer Date: Sat Feb 28 13:52:40 2009 -0800 Input: elantech - touchpad driver miss-recognising logitech mice Some Logitech mice react to the magic knock like Elantech touchpad would. This leads to those mice being misdetected as Elantech touchpads. Add a version query to elantech_detect() to distinguish the two. [dtor@mail.ru: - lower severity of some messages - when we are not sure yet if device is Elantech or not not responding to knock is not an error. ] Signed-off-by: Arjan Opmeer Signed-off-by: Dmitry Torokhov commit 4d368456808c977b8e9782dbe9542cf8ddedbab8 Author: Andy Whitcroft Date: Sat Feb 28 12:51:01 2009 -0800 Input: synaptics - ensure we reset the device on resume When resuming from suspend newer Synaptics touchpads do not recover correctly. Analysis of the resume sequence as applied in Linux was compared to that of other operating systems. This indicated that the other OSs were resetting the mouse before attempting to detect it (for all Synaptics touchpads, old and new). Applying this same modification fixes these newer Synaptics touchpads and brings the driver into line with common OS reset behaviour. Signed-off-by: Andy Whitcroft Signed-off-by: Andrew Morton Signed-off-by: Dmitry Torokhov commit 139ebe8dc80dd74cb2ac9f5603d18fbf5cff049f Author: Daniel Ritz Date: Sat Feb 28 12:50:54 2009 -0800 Input: usbtouchscreen - fix eGalax HID ignoring Commit ec42d4481e36cbdb5b2801f957e678211a9e5ae2 broke usbtouchscreen for some eGalax/EETI devices that claim to be HID, but are not. Devices confirmed to be real HID have the class set to HID and the protocol set to 'mouse'. Some have HID class but protocol set to 'none'. Those are not HID and should be driven by usbtouchscreen. Fix the device ignoring macro by adding match for the protocol too. Signed-off-by: Daniel Ritz Signed-off-by: Dmitry Torokhov commit 92b9af9e4f144535c65aee673cfad309f25fa465 Author: Ingo Molnar Date: Sat Feb 28 14:09:27 2009 +0100 x86: i915 needs pgprot_writecombine() and is_io_mapping_possible() Impact: build fix Theodore Ts reported that the i915 driver needs these symbols: ERROR: "pgprot_writecombine" [drivers/gpu/drm/i915/i915.ko] undefined! ERROR: "is_io_mapping_possible" [drivers/gpu/drm/i915/i915.ko] undefined! Reported-by: Theodore Ts'o wrote: Signed-off-by: Ingo Molnar commit 778ef1e6cbb049c9bcbf405936ee6f2b6e451892 Merge: 3c4f115 acfa511 Author: Linus Torvalds Date: Fri Feb 27 16:49:46 2009 -0800 Merge git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/staging-2.6 * git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/staging-2.6: Staging: w35und: fix usb_control_msg() error handling in wb35_probe() Staging: w35und: fix registration with wlan stack Staging: panel: fix oops on panel_cleanup_module Staging: rtl8187se: Fix oops and memory poison caused by builtin ieee80211. Staging: rtl8187se: fix Kconfig dependencies commit 3c4f1158cd887a1a8c1309fc6d07907160e8e820 Merge: 7187adb e747951 Author: Linus Torvalds Date: Fri Feb 27 16:49:26 2009 -0800 Merge git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/usb-2.6 * git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/usb-2.6: (21 commits) USB: musb: fix srp sysfs entry deletion USB: musb: resume suspended root hub on disconnect USB: musb: use right poll limit for low speed devices USB: musb: be careful with 64K+ transfer lengths, host side USB: musb: fix data toggle saving with shared FIFO USB: musb: host endpoint_disable() oops fixes USB: musb: fix urb_dequeue() method USB: musb: fix musb_host_tx() for shared endpoint FIFO USB: musb: be careful with 64K+ transfer lengths (gadget side) usb: musb: make Davinci *work* in mainline USB: usb_get_string should check the descriptor type USB: gadget: fix build error in omap_apollon_2420_defconfig USB: g_file_storage: automatically disable stalls under Atmel USB: usb-storage: add IGNORE_RESIDUE flag for Genesys Logic adapters USB: Quirk for Hummingbird huc56s / Conexant ACM modem USB: serial: add support for second revision of Ericsson F3507G WWAN card USB: cdc-acm: add usb id for motomagx phones USB: option: add BenQ 3g modem information usb: gadget: obex: select correct ep descriptors USB: EHCI: slow down ITD reuse ... commit 7187adbf08336bd69da11d42d2542de7b1cc6957 Merge: 535d8e8 5312dc6 Author: Linus Torvalds Date: Fri Feb 27 16:48:33 2009 -0800 Merge branch 'upstream' of git://ftp.linux-mips.org/pub/scm/upstream-linus * 'upstream' of git://ftp.linux-mips.org/pub/scm/upstream-linus: Revert "MIPS: Print irq handler description" MIPS: CVE-2009-0029: Enable syscall wrappers. MIPS: Alchemy: In plat_time_init() t reaches -1, tested: 0 MIPS: Only allow Cavium OCTEON to be configured for boards that support it commit 535d8e8f19376518e52e64f511440e502acda150 Merge: 6febf65 f6be37f Author: Linus Torvalds Date: Fri Feb 27 16:43:05 2009 -0800 Merge branch 'x86-fixes-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip * 'x86-fixes-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip: x86: enable DMAR by default xen: disable interrupts early, as start_kernel expects gpu/drm, x86, PAT: io_mapping_create_wc and resource_size_t gpu/drm, x86, PAT: Handle io_mapping_create_wc() errors in a clean way x86, Voyager: fix compile by lifting the degeneracy of phys_cpu_present_map x86, doc: fix references to Documentation/x86/i386/boot.txt commit 6febf65b2965858507e4d55afad20b24b2ad9a91 Merge: 174eef1 08c2f5b Author: Linus Torvalds Date: Fri Feb 27 16:40:00 2009 -0800 Merge branch 'sh/for-2.6.29' of git://git.kernel.org/pub/scm/linux/kernel/git/lethal/sh-2.6 * 'sh/for-2.6.29' of git://git.kernel.org/pub/scm/linux/kernel/git/lethal/sh-2.6: sh: ap325rxa: Revert ov772x support. serial: sh-sci: fix overrun error handling for SH7785 SCIF. sh: Storage class should be before const qualifier commit 174eef11a2c452cfa0c1e5bc6f759251fbc74d79 Merge: 5cf8cf4 b391d0f Author: Linus Torvalds Date: Fri Feb 27 16:28:18 2009 -0800 Merge branch 'for_linus' of git://git.kernel.org/pub/scm/linux/kernel/git/mchehab/linux-2.6 * 'for_linus' of git://git.kernel.org/pub/scm/linux/kernel/git/mchehab/linux-2.6: V4L/DVB (10696): Remove outdated README for the flexcop-driver V4L/DVB (10695): Update Technisat card documentation V4L/DVB (10694): [PATCH] software IRQ watchdog for Flexcop B2C2 DVB PCI cards V4L/DVB (10663): soc-camera: fix S_CROP breakage on PXA and SuperH V4L/DVB (10659): em28xx: register device to soundcard for sysfs commit 5cf8cf4146de03de67d1a8aefbece66b65f255cc Author: Christoph Hellwig Date: Thu Feb 26 21:32:51 2009 +0100 Fix FREEZE/THAW compat_ioctl regression Commit 8e961870bb9804110d5c8211d5d9d500451c4518 removed the FREEZE/THAW handling in xfs_compat_ioctl but never added any compat handler back, so now any freeze/thaw request from a 32-bit binary ond 64-bit userspace will fail. As these ioctls are 32/64-bit compatible two simple COMPATIBLE_IOCTL entries in fs/compat_ioctl.c will do the job. Signed-off-by: Christoph Hellwig Signed-off-by: Linus Torvalds commit 31d8b5631f095cb7100cfccc95c801a2547ffe2b Author: David Altobelli Date: Fri Feb 27 14:03:09 2009 -0800 hpilo: new pci device Future iLO devices will have an HP vendor id. Signed-off-by: David Altobelli Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit bea5606d08a36a5fdcf815073d3593ddd2c8549e Author: Andy Whitcroft Date: Fri Feb 27 14:03:09 2009 -0800 checkpatch: version 0.28 Signed-off-by: Andy Whitcroft Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 417495eda3ce50f9c6d28f8e9ddb3bbb25f07f4c Author: Andy Whitcroft Date: Fri Feb 27 14:03:08 2009 -0800 checkpatch: add __ref as a sparse modifier Add __ref as a sparse modifier. Signed-off-by: Andy Whitcroft Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 9360b0e50e9f3e0fd70a077b4ede9885ebc21720 Author: Andy Whitcroft Date: Fri Feb 27 14:03:08 2009 -0800 checkpatch: extend attribute testing to all modifiers We should allow testing of all modifiers not just attributes. Extend testing and test for all the know modifiers. Signed-off-by: Andy Whitcroft Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 667026e7b082ad59eb7194d6b5d159ed6c340e05 Author: Andy Whitcroft Date: Fri Feb 27 14:03:08 2009 -0800 checkpatch: a modifier is not an identifier at the end of a type We must make sure we do not misrecognise a modifier as an Identifier when trying to match types. Prevent us matching this: void * __ref Signed-off-by: Andy Whitcroft Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit a3340b35787975414d5f6fee83e00640688be2cb Author: Andy Whitcroft Date: Fri Feb 27 14:03:07 2009 -0800 checkpatch: pointer type star may have modifiers following We may have any modifier following a pointer type star. Handle this: void * __user * __user foo; Signed-off-by: Andy Whitcroft Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 00ef4ece05096a5c523e265b8ce6627fb5e171c2 Author: Andy Whitcroft Date: Fri Feb 27 14:03:07 2009 -0800 checkpatch: correctly handle type spacing in the face of modifiers We need to handle interspersed modifiers in the middle of pointer types, for example: void * __user * __user bar; Signed-off-by: Andy Whitcroft Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit e2f7aa4b8bc811ebf8afbdf423caf90a5a03cb08 Author: Andy Whitcroft Date: Fri Feb 27 14:03:06 2009 -0800 checkpatch: do not warn about -p0 patches when checking files We are triggering the -p0 check for our own diffs generated using --file command line option. Suppress this check for files. Signed-off-by: Andy Whitcroft Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit f4a8773676c21a68b0666fbe48af4fe1af89dfa9 Author: Andy Whitcroft Date: Fri Feb 27 14:03:05 2009 -0800 checkpatch: make in_atomic ok in the core We say that in_atomic() is ok in the core kernel, but then always report it regardless of where in the kernel it is. Keep quiet if it is used in kernel/*. Signed-off-by: Andy Whitcroft Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit cbb766766f3f2f6d9326c561b1020590642c6e39 Author: Vegard Nossum Date: Fri Feb 27 14:03:04 2009 -0800 mm: fix lazy vmap purging (use-after-free error) I just got this new warning from kmemcheck: WARNING: kmemcheck: Caught 32-bit read from freed memory (c7806a60) a06a80c7ecde70c1a04080c700000000a06709c1000000000000000000000000 f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f ^ Pid: 0, comm: swapper Not tainted (2.6.29-rc4 #230) EIP: 0060:[] EFLAGS: 00000286 CPU: 0 EIP is at __purge_vmap_area_lazy+0x117/0x140 EAX: 00070f43 EBX: c7806a40 ECX: c1677080 EDX: 00027b66 ESI: 00002001 EDI: c170df0c EBP: c170df00 ESP: c178830c DS: 007b ES: 007b FS: 00d8 GS: 0000 SS: 0068 CR0: 80050033 CR2: c7806b14 CR3: 01775000 CR4: 00000690 DR0: 00000000 DR1: 00000000 DR2: 00000000 DR3: 00000000 DR6: 00004000 DR7: 00000000 [] free_unmap_vmap_area_noflush+0x6e/0x70 [] remove_vm_area+0x2a/0x70 [] __vunmap+0x45/0xe0 [] vunmap+0x1e/0x30 [] text_poke+0x95/0x150 [] alternatives_smp_unlock+0x49/0x60 [] alternative_instructions+0x11b/0x124 [] check_bugs+0xbd/0xdc [] start_kernel+0x2ed/0x360 [] __init_begin+0x9e/0xa9 [] 0xffffffff It happened here: $ addr2line -e vmlinux -i c1096df7 mm/vmalloc.c:540 Code: list_for_each_entry(va, &valist, purge_list) __free_vmap_area(va); It's this instruction: mov 0x20(%ebx),%edx Which corresponds to a dereference of va->purge_list.next: (gdb) p ((struct vmap_area *) 0)->purge_list.next Cannot access memory at address 0x20 It seems that we should use "safe" list traversal here, as the element is freed inside the loop. Please verify that this is the right fix. Acked-by: Nick Piggin Signed-off-by: Vegard Nossum Cc: Pekka Enberg Cc: Ingo Molnar Cc: "Paul E. McKenney" Cc: [2.6.28.x] Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 7766970cc13e9071b356b1f2a48a9eb8675bfcce Author: Nick Piggin Date: Fri Feb 27 14:03:03 2009 -0800 mm: vmap fix overflow The new vmap allocator can wrap the address and get confused in the case of large allocations or VMALLOC_END near the end of address space. Problem reported by Christoph Hellwig on a 32-bit XFS workload. Signed-off-by: Nick Piggin Reported-by: Christoph Hellwig Cc: [2.6.28.x] Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 5170836679185357dc1b7660bad13287b39e1e33 Author: David Howells Date: Fri Feb 27 14:03:03 2009 -0800 Fix recursive lock in free_uid()/free_user_ns() free_uid() and free_user_ns() are corecursive when CONFIG_USER_SCHED=n, but free_user_ns() is called from free_uid() by way of uid_hash_remove(), which requires uidhash_lock to be held. free_user_ns() then calls free_uid() to complete the destruction. Fix this by deferring the destruction of the user_namespace. Signed-off-by: David Howells Acked-by: Serge Hallyn Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 8ca2f156b06bdcbfd1ab543355279246d05e2499 Author: Herton Ronaldo Krzesinski Date: Fri Feb 27 14:03:00 2009 -0800 w1: add missing Kconfig/Makefile entries for DS2431 slave driver Signed-off-by: Herton Ronaldo Krzesinski Acked-by: Evgeniy Polyakov Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit adc487204a9373d2b5a535412466326036147a72 Author: Benny Halevy Date: Fri Feb 27 14:02:59 2009 -0800 EXPORT_SYMBOL(d_obtain_alias) rather than EXPORT_SYMBOL_GPL Commit 4ea3ada2955e4519befa98ff55dd62d6dfbd1705 declares d_obtain_alias() as EXPORT_SYMBOL_GPL where it's supposed to replace d_alloc_anon which was previously declared as EXPORT_SYMBOL and thus available to any loadable module. This patch reverts that. Signed-off-by: Benny Halevy Acked-by: Linus Torvalds Cc: Christoph Hellwig Cc: "J. Bruce Fields" Cc: Trond Myklebust Acked-by: Al Viro Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit dca17146f4b72b8966016c406d94ad3e48289b79 Author: Ben Gardner Date: Fri Feb 27 14:02:58 2009 -0800 w1_ds2433: clear the validcrc flag after a write The w1_ds2433 driver does not read from the hardware if the CRC was valid on the last read. The validcrc flag should be cleared after a write so that the new value can be read. Signed-off-by: Ben Gardner Signed-off-by: Evgeniy Polyakov Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit e747951240b9f820b94fd5582663c66d798c8fd1 Author: Vikram Pandita Date: Sat Feb 21 15:31:44 2009 -0800 USB: musb: fix srp sysfs entry deletion The SRP sysfs attribute is dependent on gadget mode; any gadget may support SRP. But "rmmod musb_hdrc" didn't remove that attribute; fix. Signed-off-by: Vikram Pandita Acked-by: Felipe Balbi Signed-off-by: David Brownell Signed-off-by: Greg Kroah-Hartman commit 5c23c9078f8e3476982409b1075b54c8cd65e82c Author: Anand Gadiyar Date: Sat Feb 21 15:31:40 2009 -0800 USB: musb: resume suspended root hub on disconnect If this is not done, khubd will not be informed of the disconnect and will assume the device is still there. Easily seen when a hub is connected with no device attached to it; it will autosuspend. When the hub is disconnected, it still shows up in /proc/bus/usb/devices Signed-off-by: Anand Gadiyar Acked-by: Felipe Balbi Signed-off-by: David Brownell Signed-off-by: Greg Kroah-Hartman commit 136733d6124a152ed2b61c3d38008c6581fc8685 Author: Sergei Shtylyov Date: Sat Feb 21 15:31:35 2009 -0800 USB: musb: use right poll limit for low speed devices Remove wrongly applied upper limit on the interrupt transfer interval for low speed devices (not much of an error per se, according to USB specs). Signed-off-by: Sergei Shtylyov Signed-off-by: David Brownell Signed-off-by: Greg Kroah-Hartman commit 3ecdb9acf343bbcf2bb2c287dc524ab709cfad7e Author: Sergei Shtylyov Date: Sat Feb 21 15:31:23 2009 -0800 USB: musb: be careful with 64K+ transfer lengths, host side Feeding 32-bit length cast down to 'u16' to min() to calculate the FIFO count in musb_host_tx() risks sending a short packet prematurely for transfer sizes over 64 KB. Similarly, although data transfer size shouldn't exceed 65535 bytes for the control endpoint, making musb_h_ep0_continue() more robust WRT URBs with possibly oversized buffer will not hurt either... Signed-off-by: Sergei Shtylyov Signed-off-by: David Brownell Cc: Felipe Balbi Signed-off-by: Greg Kroah-Hartman commit 51d9f3e100a8f8cc2be89d5f13d37de61e2da38a Author: Sergei Shtylyov Date: Sat Feb 21 15:31:13 2009 -0800 USB: musb: fix data toggle saving with shared FIFO For some strange reason the host side musb_giveback() decides that it's always got an IN transfer when the hardware endpoint is using a shared FIFO. This causes musb_save_toggle() to read the toggle state from the RXCSR register instead of TXCSR, and may also cause unneeded reloading of RX endpoint registers. Signed-off-by: Sergei Shtylyov Signed-off-by: David Brownell Signed-off-by: Greg Kroah-Hartman commit dc61d238b8c850c34632ae1fbbdea529f8c41d16 Author: Sergei Shtylyov Date: Sat Feb 21 15:31:01 2009 -0800 USB: musb: host endpoint_disable() oops fixes The musb_h_disable() routine can oops in some cases: - It's not safe to read hep->hcpriv outside musb->lock, since it gets changed on completion IRQ paths. - The list iterators aren't safe to use in that way; just remove the first element while !list_empty(), so deletions on other code paths can't make trouble. We need two "scrub the list" loops because only one branch should touch hardware and advance the schedule. [ dbrownell@users.sourceforge.net: massively simplify patch description; add key points as code comments ] Signed-off-by: Sergei Shtylyov Signed-off-by: David Brownell Signed-off-by: Greg Kroah-Hartman commit a2fd814e6a9e172f7077b68a2a9391bbde777a92 Author: Sergei Shtylyov Date: Sat Feb 21 15:30:45 2009 -0800 USB: musb: fix urb_dequeue() method The urb_dequeue() method forgets to unlink 'struct musb_qh' from the control or bulk schedules when the URB being cancelled is the only one queued to its endpoint. That will cause musb_advance_schedule() to block once it reaches 'struct musb_qh' with now empty URB list, so URBs queued for other endpoints after the one being dequeued will not be served. Fix by unlinking the QH from the list except when it's already being handled (typically by musb_giveback). Since a QH with an empty URB list is now supposed to be freed, do that. And remove a now-useless check from musb_advance_schedule(). [ dbrownell@users.sourceforge.net: update patch description, and fold in a dequeue() comment patch ] Signed-off-by: Sergei Shtylyov Signed-off-by: David Brownell Cc: Felipe Balbi Signed-off-by: Greg Kroah-Hartman commit b7bdcb79de6de32e40dcc85a5e8c669bec2483d5 Author: Dmitry Krivoschekov Date: Sat Feb 21 15:30:15 2009 -0800 USB: musb: fix musb_host_tx() for shared endpoint FIFO The input queue should be used for TX on endpoints which share FIFO hardware. The host TX path wasn't doing that. Shared FIFOs are most often configured for periodic endpoints, which are mostly used for RX/IN transfers ... that's probably how this bug managed to linger for a long time. [ dbrownell@users.sourceforge.net: update patch description ] Signed-off-by: Dmitry Krivoschekov Signed-off-by: Sergei Shtylyov Acked-by: David Brownell Cc: Felipe Balbi Signed-off-by: Greg Kroah-Hartman commit c2c963217bb1e8d53622d41b9e9ae706d0d02c07 Author: Felipe Balbi Date: Sat Feb 21 15:29:42 2009 -0800 USB: musb: be careful with 64K+ transfer lengths (gadget side) request->actual is an unsigned and we should use the same variable type for fifo_count otherwise we might lose some data if request->length >= 64kbytes. [ dbrownell@users.sourceforge.net: fix compiler warning ] Signed-off-by: Felipe Balbi Signed-off-by: David Brownell Signed-off-by: Greg Kroah-Hartman commit 34f32c9701013ac5af89b82a6ae285e790b643e7 Author: David Brownell Date: Fri Feb 20 13:45:17 2009 -0800 usb: musb: make Davinci *work* in mainline Now that the musb build fixes for DaVinci got merged (RC3?), kick in the other bits needed to get it finally *working* in mainline: - Use clk_enable()/clk_disable() ... the "always enable USB clocks" code this originally relied on has since been removed. - Initialize the USB device only after the relevant I2C GPIOs are available, so the host side can properly enable VBUS. - Tweak init sequencing to cope with mainline's relatively late init of the I2C system bus for power switches, transceivers, and so on. Sanity tested on DM6664 EVM for host and peripheral modes; that system won't boot with CONFIG_PM enabled, so OTG can't yet be tested. Also verified on OMAP3. (Unrelated: correct the MODULE_PARM_DESC spelling of musb_debug.) Signed-off-by: David Brownell Cc: Felipe Balbi Signed-off-by: Greg Kroah-Hartman commit 67f5a4ba9741fcef3f4db3509ad03565d9e33af2 Author: Alan Stern Date: Fri Feb 20 16:33:08 2009 -0500 USB: usb_get_string should check the descriptor type This patch (as1218) fixes a problem with a radio-control joystick used in the "walkera 4#3" helicopter. This device responds to the initial Get-String-Descriptor request for string 0 (which is really the list of supported languages) by sending its config descriptor! The usb_get_string() routine needs to check whether it got the right type of descriptor. Oddly enough, this sort of check is already present in usb_get_descriptor(). The patch changes the error code from -EPROTO to -ENODATA, because -EPROTO shows up in so many other contexts to indicate a hardware failure rather than a firmware error. Signed-off-by: Alan Stern Tested-by: Guillermo Jarabo Cc: stable Signed-off-by: Greg Kroah-Hartman =================================================================== commit 54b9ed35aea88b05d711884a3c2dc21bba047bd8 Author: David Brownell Date: Wed Feb 11 22:31:12 2009 -0800 USB: gadget: fix build error in omap_apollon_2420_defconfig In apollon case, it only used udc, so udc configuration should select USB_OTG_UTILS also. Signed-off-by: Kyungmin Park Acked-by: David Brownell Signed-off-by: Greg Kroah-Hartman commit ce459ec1d278b19be8e0719dbfd47dd1d6687bfb Author: Alan Stern Date: Tue Feb 24 16:19:47 2009 -0500 USB: g_file_storage: automatically disable stalls under Atmel This patch (as1220) automatically disables stalls when g_file_storage finds itself running with an Atmel device controller, because the Atmel hardware/driver isn't capable of halting bulk endpoints correctly. Reported-by: Stanislaw Gruszka Signed-off-by: Alan Stern Acked-by: David Brownell Signed-off-by: Greg Kroah-Hartman commit 5126a2674ddac0804450f59da25a058cca629d38 Author: Alan Stern Date: Mon Feb 23 12:02:05 2009 -0500 USB: usb-storage: add IGNORE_RESIDUE flag for Genesys Logic adapters This patch (as1219) adds the IGNORE_RESIDUE flag to the unusual_devs entries for Genesys Logic's USB-IDE adapter. Although this device usually gets the residue correct, there is one command crucial to the operation of CD and DVD drives which it messes up. Tested-by: Mike Lampard Signed-off-by: Alan Stern Cc: stable Signed-off-by: Greg Kroah-Hartman commit c332b4e1bfd56fe9028d8ef9708cb06179dd1a23 Author: Adam Richter Date: Wed Feb 18 16:17:15 2009 -0800 USB: Quirk for Hummingbird huc56s / Conexant ACM modem Signed-off-by: Adam J. Richter Cc: Oliver Neukum Signed-off-by: Greg Kroah-Hartman commit 5d7a4755d53a5305d05d836d87ef7c9ff94d6fa7 Author: Patrik Kullman Date: Tue Feb 24 13:38:53 2009 -0800 USB: serial: add support for second revision of Ericsson F3507G WWAN card I noticed that my revision of the F3507G WWAN card isn't listed in drivers/usb/serial/option.c Signed-off-by: Andrew Morton Signed-off-by: Greg Kroah-Hartman commit 155df65ae11dfc322214c6f887185929c809df1b Author: Dmitriy Taychenachev Date: Wed Feb 25 12:36:51 2009 +0800 USB: cdc-acm: add usb id for motomagx phones The Motorola MOTOMAGX phones (Z6, E8, Zn5 so far) are providing combined ACM/BLAN USB configuration. Since it has Vendor Specific class, the corresponding drivers (cdc-acm, zaurus) can't find it just by interface info. This patch adds usb id so the cdc-acm driver can properly handle this combined device. Signed-off-by: Dmitriy Taychenachev Cc: stable Signed-off-by: Greg Kroah-Hartman commit 28fb66821f884870987a0b5ab064ef651d9f7c16 Author: Jesse Sung Date: Fri Feb 20 21:13:45 2009 -0800 USB: option: add BenQ 3g modem information This patch addes the BenQ 3g modem support to the option driver. From: Jesse Sung Cc: stable Signed-off-by: Greg Kroah-Hartman commit 29a46bf6f4f57df22f91573bb482a24237741347 Author: Felipe Balbi Date: Tue Feb 10 19:01:52 2009 +0200 usb: gadget: obex: select correct ep descriptors We where selecting wrong ep descriptors causing some troubles while sending files over obex interface. The problem was a typo while usb_find_endpoint() was being called for HS endpoints. Acked-by: David Brownell Signed-off-by: Felipe Balbi Signed-off-by: Greg Kroah-Hartman commit 9aa09d2f8f4bc440d6db1c3414d4009642875240 Author: Karsten Wiese Date: Sun Feb 8 16:07:58 2009 -0800 USB: EHCI: slow down ITD reuse Currently ITDs are immediately recycled whenever their URB completes. However, EHCI hardware can sometimes remember some ITD state. This means that when the ITD is reused before end-of-frame it may sometimes cause the hardware to reference bogus state. This patch defers reusing such ITDs by moving them into a new ehci member cached_itd_list. ITDs resting in cached_itd_list are moved back into their stream's free_list once scan_periodic() detects that the active frame has elapsed. This makes the snd_usb_us122l driver (in kernel since .28) work right when it's hooked up through EHCI. [ dbrownell@users.sourceforge.net: comment fixups ] Signed-off-by: Karsten Wiese Tested-by: Philippe Carriere Tested-by: Federico Briata Cc: stable Signed-off-by: David Brownell Signed-off-by: Greg Kroah-Hartman commit 9a6e184c804b33a2c2ea974efcd3c9798d30cb39 Author: Li Yang Date: Fri Feb 13 16:14:39 2009 +0800 USB: fsl_usb2_udc: fix potential queue head corruption Clear next TD field and status field in queue head initialization code to prevent unpredictable result caused by residue of usb reset. Signed-off-by: Li Yang Acked-by: David Brownell Signed-off-by: Greg Kroah-Hartman commit acfa5110b83b171ec509eaf2d1a9e93a5f4709bd Author: Pekka Enberg Date: Fri Jan 30 11:32:47 2009 +0200 Staging: w35und: fix usb_control_msg() error handling in wb35_probe() If successful, the usb_control_msg() function returns the number of bytes transferred. Fix up wb35_probe() to only bail out if the function returns a negative number. Also, fix up ieee80211_alloc_hw() error code to ENOMEM; otherwise GCC complains that err might be undefined (and is right about that). Acked-by: Pavel Machek Reported-and-tested-by: Sandro Bonazzola Signed-off-by: Pekka Enberg Signed-off-by: Greg Kroah-Hartman commit 05e361cae5e633c2b58967d1444cf6ae56662e5c Author: Pavel Machek Date: Fri Jan 30 10:05:25 2009 +0100 Staging: w35und: fix registration with wlan stack Initialize few more fields in wireless device structure so that wireless core actually accepts our registration. Signed-off-by: Pavel Machek Acked-by: Pekka Enberg Signed-off-by: Greg Kroah-Hartman commit 5789813e73220a0bfd85a44bc565a6ae624e8745 Author: Costantino Leandro Date: Tue Feb 17 11:10:48 2009 -0500 Staging: panel: fix oops on panel_cleanup_module Check for null pardevice (not registered, ej: panel never attached, inexistent parport, etc. ) before calling parport_release, parport_unregister_device, and related funcs on module release. Signed-off-by: Costantino Leandro Acked-by: Willy Tarreau Signed-off-by: Greg Kroah-Hartman commit 096c55d1de39c0de526dfeb8a68ba3b0200e5a93 Author: leandro Costantino Date: Tue Feb 17 11:16:26 2009 -0500 Staging: rtl8187se: Fix oops and memory poison caused by builtin ieee80211. when modprobe and removing rtl8187se ( just for testing, i do not have that card , and oops and a memory poison error happens on the builtin ieee80211 of that driver. I dont know if they will port it to the current ieeee80221 instead of the builtin ones, but just in case i attach a proposed fix for that problem. - Change for loop on ieee80211_crypto_deinit for list_for_each_safe to remove items. Is there an spinlock needed here? - Call ieee80211_crypto_deinit after exiting all registerd crypto protocols. Signed-off-by: Costantino Leandro Signed-off-by: Greg Kroah-Hartman commit 69e09c983e92cc8f4ebb9f145ba3b460f6374558 Author: Randy Dunlap Date: Wed Feb 11 13:20:44 2009 -0800 Staging: rtl8187se: fix Kconfig dependencies rtl8187se uses wireless extensions so it needs to depend on WIRELESS_EXT (or select it). rtl8187se uses fields in struct net_device that are only present if CONFIG_COMPAT_NET_DEV_OPS=y, so it needs to depend on that symbol also. drivers/staging/rtl8187se/r8180_core.c:5973: error: 'struct net_device' has no member named 'wireless_handlers' drivers/staging/rtl8187se/r8180_core.c:5982: error: 'struct net_device' has no member named 'wireless_handlers' drivers/staging/rtl8187se/r8180_core.c:201: error: 'struct net_device' has no member named 'stop' drivers/staging/rtl8187se/r8180_core.c:4584: error: 'struct net_device' has no member named 'get_stats' drivers/staging/rtl8187se/r8180_core.c:5969: error: 'struct net_device' has no member named 'open' drivers/staging/rtl8187se/r8180_core.c:5970: error: 'struct net_device' has no member named 'stop' drivers/staging/rtl8187se/r8180_core.c:5972: error: 'struct net_device' has no member named 'tx_timeout' drivers/staging/rtl8187se/r8180_core.c:5974: error: 'struct net_device' has no member named 'do_ioctl' drivers/staging/rtl8187se/r8180_core.c:5975: error: 'struct net_device' has no member named 'set_multicast_list' drivers/staging/rtl8187se/r8180_core.c:5976: error: 'struct net_device' has no member named 'set_mac_address' Signed-off-by: Randy Dunlap Signed-off-by: Greg Kroah-Hartman commit 5312dc6bc0df9c5ffae543b6f62e4d0970ad2cc6 Author: Ralf Baechle Date: Fri Feb 27 14:06:04 2009 +0000 Revert "MIPS: Print irq handler description" This reverts commit 558d1de8ba9ebb1cc3f3062f1371b9330772164f. commit dbda6ac0897603f6c6dfadbbc37f9882177ec7ac Author: Ralf Baechle Date: Sun Feb 8 16:00:26 2009 +0000 MIPS: CVE-2009-0029: Enable syscall wrappers. Thanks to David Daney helping with debugging and testing. Signed-off-by: Ralf Baechle Signed-off-by: David Daney commit 4b0d3f5c28c631c1aeb1860993572ad8468a4c11 Author: Roel Kluin Date: Sat Jan 31 12:23:34 2009 +0100 MIPS: Alchemy: In plat_time_init() t reaches -1, tested: 0 With a postfix decrement t reaches -1 rather than 0, so the fall-back will not occur. Signed-off-by: Roel Kluin Cc: mano@roarinelk.homelinux.net Signed-off-by: Ralf Baechle commit 5e6833892e7b745b164bae8b2edb75ccd1bee866 Author: David Daney Date: Mon Feb 2 11:30:59 2009 -0800 MIPS: Only allow Cavium OCTEON to be configured for boards that support it Signed-off-by: David Daney CC: Atsushi Nemoto Signed-off-by: Ralf Baechle commit bb543c969467f33c3a1a0ccfcfcd9a508cd81c54 Author: Takashi Iwai Date: Fri Feb 27 17:44:07 2009 +0100 ALSA: hda - Add quirk for new HP xw series Added model=hp-bpc for new HP xw series (103c:170b). Signed-off-by: Takashi Iwai commit ea18aa464452c3e6550320d247c0306aaa2d156f Author: Takashi Iwai Date: Fri Feb 27 17:36:33 2009 +0100 ALSA: hda - Fix digital mic on dell-m4-1 and dell-m4-3 Fix num_dmuxes initialization for dell-m4-1 and dell-m4-3 models of IDT 92HD71bxx codec, which was wrongly set to zero. Cc: Signed-off-by: Takashi Iwai commit efeff568677aa325f84d3ce37c219019887a79eb Author: Werner Almesberger Date: Fri Feb 27 08:03:07 2009 -0300 [ARM] S3C64XX: Fix s3c64xx_setrate_clksrc Some of the rate selection logic in s3c64xx_setrate_clksrc uses what appears to be parent clock selection logic. This patch corrects it. I also added a check for overly large dividers to prevent them from changing unrelated clocks. Signed-off-by: Werner Almesberger Signed-off-by: Ben Dooks commit fdca9bf2dae14218704ddd7dc60ad1b198c1d787 Author: Ben Dooks Date: Fri Feb 27 11:29:23 2009 +0000 [ARM] S3C64XX: sparse warnings in arch/arm/plat-s3c64xx/irq.c Fix the following sparse warnings in arch/arm/plat-s3c64xx/irq.c arch/arm/plat-s3c64xx/irq.c:210:23: warning: incorrect type in initializer (different address spaces) arch/arm/plat-s3c64xx/irq.c:210:23: expected void *reg_base arch/arm/plat-s3c64xx/irq.c:210:23: got void [noderef] *regs arch/arm/plat-s3c64xx/irq.c:215:2: warning: incorrect type in argument 1 (different address spaces) arch/arm/plat-s3c64xx/irq.c:215:2: expected void const volatile [noderef] * arch/arm/plat-s3c64xx/irq.c:215:2: got void * Signed-off-by: Ben Dooks commit 3782d3605522b836f53c6d11f76abf5404425c1b Author: Ben Dooks Date: Fri Feb 27 11:25:37 2009 +0000 [ARM] S3C64XX: sparse warnings in arch/arm/plat-s3c64xx/s3c6400-clock.c Fix the following sparse warnings in s3c6400-clock.c: 39:12: warning: symbol 'clk_ext_xtal_mux' was not declared. Should it be static? 66:12: warning: symbol 'clk_fout_apll' was not declared. Should it be static? 81:19: warning: symbol 'clk_mout_apll' was not declared. Should it be static? 91:12: warning: symbol 'clk_fout_epll' was not declared. Should it be static? 106:19: warning: symbol 'clk_mout_epll' was not declared. Should it be static? 126:19: warning: symbol 'clk_mout_mpll' was not declared. Should it be static? 148:12: warning: symbol 'clk_dout_mpll' was not declared. Should it be static? Signed-off-by: Ben Dooks commit 7958a45310519811134a5b911d863201786978ab Author: Rini van Zetten Date: Fri Feb 27 03:18:48 2009 -0800 gianfar: Do right check on num_txbdfree This patch fixes a wrong check on num_txbdfree. It could lead to num_txbdfree become nagative. Result was that the gianfar stops sending data. Changes from first version : - removed a space between parens (David Millers comment) - full email address in signed off line Signed-off-by: Rini van Zetten Acked-by: Andy Fleming Signed-off-by: David S. Miller commit 1844f747947bb89d7f12cd3034548805113f764b Author: Jarek Poplawski Date: Fri Feb 27 02:42:38 2009 -0800 pkt_sched: sch_drr: Fix oops in drr_change_class. drr_change_class lacks a check for NULL of tca[TCA_OPTIONS], so oops is possible. Reported-by: Denys Fedoryschenko Signed-off-by: Jarek Poplawski Signed-off-by: David S. Miller commit 54e991242850edc8c53f71fa5aa3ba7a93ce38f5 Author: Dhaval Giani Date: Fri Feb 27 15:13:54 2009 +0530 sched: don't allow setuid to succeed if the user does not have rt bandwidth Impact: fix hung task with certain (non-default) rt-limit settings Corey Hickey reported that on using setuid to change the uid of a rt process, the process would be unkillable and not be running. This is because there was no rt runtime for that user group. Add in a check to see if a user can attach an rt task to its task group. On failure, return EINVAL, which is also returned in CONFIG_CGROUP_SCHED. Reported-by: Corey Hickey Signed-off-by: Dhaval Giani Acked-by: Peter Zijlstra Signed-off-by: Ingo Molnar commit 08c2f5b4d76f83213e379b12df504269d21c9e7c Author: Paul Mundt Date: Fri Feb 27 15:41:14 2009 +0900 sh: ap325rxa: Revert ov772x support. This change depends on some v4l changes that have been pushed back to 2.6.30, so drop this and fall back on the old soc_camera code until then. Reported-by: Nobuhiro Iwamatsu Acked-by: Kuninori Morimoto Signed-off-by: Paul Mundt commit e92aa634a33739478958f4109d6bd35b36d13532 Author: Michael Buesch Date: Thu Feb 26 22:35:02 2009 -0800 b44: Disable device on shutdown Disable the SSB core on device shutdown. This has two advantages: 1) A clean device shutdown is always desired here, because we disable the device's global crystal in the next statement. 2) This fixes a bug where the device will come up with the enable-bit set on the next initialization (without a reboot inbetween). This causes breakage on the second initialization due to code that checks this bit (ssb_device_is_enabled() checks). Reported-by: Pantelis Koukousoulas Signed-off-by: Michael Buesch Signed-off-by: David S. Miller commit f8af11af85fecbfa7b95fd79c043b16ae0ee0d55 Author: Michael Buesch Date: Thu Feb 26 22:33:00 2009 -0800 b44: Unconditionally enable interrupt routing on reset Unconditionally setup the IRQ routing on chip reset. It's safe to call ssb_pcicore_dev_irqvecs_enable() unconditionally, because it has internal checks for redundant calls. This fixes problems where hardware will not come up properly due to quirks in the enable-bit hardware. Reported-by: Pantelis Koukousoulas Signed-off-by: Michael Buesch Signed-off-by: David S. Miller commit 9b58027bc23a73a036877f28422dad7a0a199f95 Author: Randy Dunlap Date: Thu Feb 26 21:02:19 2009 -0800 net: fix hp-plus build error hp-plus needs to call __alloc_eip_netdev() instead of __alloc_ei_netdev() since it is linked with 8390p.o. Fixes this build error: ERROR: "__alloc_ei_netdev" [drivers/net/hp-plus.ko] undefined! Signed-off-by: Randy Dunlap Signed-off-by: David S. Miller commit b391d0f08fb0858f7d2cc034ddcca6cd0545bd7d Author: Uwe Bugla Date: Mon Feb 23 10:56:11 2009 -0300 V4L/DVB (10696): Remove outdated README for the flexcop-driver This patch removes an outdated README for the flexcop-driver. Signed-off-by: Uwe Bugla Signed-off-by: Patrick Boettcher Signed-off-by: Mauro Carvalho Chehab commit f5a3258335eef2baf534243da00bcd0e760dd2b5 Author: Uwe Bugla Date: Mon Feb 23 10:54:20 2009 -0300 V4L/DVB (10695): Update Technisat card documentation Fixes for documentation of Technisat-based cards Signed-off-by: Uwe Bugla Signed-off-by: Patrick Boettcher Signed-off-by: Mauro Carvalho Chehab commit 382c5546d618f24dc7d6ae7ca33412083720efbf Author: Patrick Boettcher Date: Mon Feb 23 06:27:16 2009 -0300 V4L/DVB (10694): [PATCH] software IRQ watchdog for Flexcop B2C2 DVB PCI cards With (some) Technisat cards you cannot run multiple DVB applications in parallel and switch the channel at the same time. There seems to be a problem on the interfaces or even inside the flexcop-device that can't handle interruption on the streaming interface. This patch adds a watchdog to check whether data is supposed to come in (streaming PIDs are requested) and if no data is seen within 400ms (default) it resets the streaming/pid-filtering hardware. This patch is urgently needed to support the rev 2.8 of the hardware and solves problem occassionally seen on older hardware. Signed-off-by: Uwe Bugla Signed-off-by: Patrick Boettcher Signed-off-by: Mauro Carvalho Chehab commit 0ad675eb4533402fd7b03b25d1d4a0ab7a43ae6d Author: Guennadi Liakhovetski Date: Mon Feb 23 12:11:25 2009 -0300 V4L/DVB (10663): soc-camera: fix S_CROP breakage on PXA and SuperH Recent format-negotiation patches caused S_CROP breakage in pxa_camera.c and sh_mobile_ceu_camera.c drivers, fix it. Signed-off-by: Guennadi Liakhovetski Signed-off-by: Mauro Carvalho Chehab commit 7662b00c378fe638e84a853418cd833303fc050c Author: Nicola Soranzo Date: Thu Feb 19 13:41:56 2009 -0300 V4L/DVB (10659): em28xx: register device to soundcard for sysfs As explained in "Writing an ALSA driver" (T. Iwai), audio drivers should set the struct device for the card before registering the card instance. This will add the correct /sys/class/sound/cardN/device symlink, so HAL can see the device and ConsoleKit sets its ACL permissions for the logged-in user. For em28xx audio capture cards found e.g. in Hauppauge WinTV-HVR-900 (R2), this patch fixes errors like: ALSA lib pcm_hw.c:1429:(_snd_pcm_hw_open) Invalid value for card Error opening audio: Permission denied when running mplayer as a normal user. Signed-off-by: Nicola Soranzo Signed-off-by: Mauro Carvalho Chehab commit 41ba41d7c7e1d2a3c9cdfe16c1ee9f7af4693ae2 Author: Ben Dooks Date: Thu Feb 26 23:00:34 2009 +0000 [ARM] S3C64XX: Fix USB host clock mux list The clock list for the USB host bus clock was in the wrong order, move clk_48m to position 0. Signed-off-by: Ben Dooks Signed-off-by: Ben Dooks commit 19c5957081a6ffbf014e6c944e6aafee3c1632c3 Author: Ben Dooks Date: Thu Feb 26 23:00:33 2009 +0000 [ARM] S3C64XX: Fix name of USB host clock. The usb-host-bus clock should be named usb-bus-host. Signed-off-by: Ben Dooks Signed-off-by: Ben Dooks commit 4271c3bd46a0f0448118cf618c7210237a98e6bf Author: Ben Dooks Date: Thu Feb 26 23:00:27 2009 +0000 [ARM] S3C64XX: Rename IRQ_UHOST to IRQ_USBH The USB OHCI host device expects the IRQ definition to be named IRQ_USBH, so rename the S3C64XX IRQ header to match. Signed-off-by: Ben Dooks Signed-off-by: Ben Dooks commit 24d4076734b4ecf083a6be611040fe0743e59989 Author: Mark Brown Date: Fri Jan 23 17:06:23 2009 +0000 [ARM] S3C64XX: Do gpiolib configuration earlier arch_initcall() runs after the machine init function which means that any configuration of GPIO pins must currently be done later on, for example in callbacks from drivers. Move the initialisation earlier in order to allow machines to configure GPIOs directly in their init functions rather than having to have a callback invoked later on. Some other ARM platforms use this method. Other solutions for this include providing a special interface for setting up GPIOs en masse, adding callbacks to do the GPIO configuration from devices and doing the GPIO configuration implicitly. Signed-off-by: Mark Brown Signed-off-by: Ben Dooks commit 8bd8dbdf3725ce569467bd704840249869f626d6 Author: Mark Brown Date: Fri Jan 23 16:29:44 2009 +0000 [ARM] S3C64XX: Staticise s3c64xx_init_irq_eint() It's an initcall and does not need to be exported. Signed-off-by: Mark Brown Signed-off-by: Ben Dooks commit 027191a8c6602d3fb6dde3820517339e1daf191d Author: Mark Brown Date: Fri Jan 23 16:29:43 2009 +0000 [ARM] SMDK6410: Declare iodesc table static Shuts up a warning. Signed-off-by: Mark Brown Signed-off-by: Ben Dooks commit 778974797793e7dcd42e3701e09c686b6419cb35 Author: Mark Brown Date: Fri Jan 23 16:29:41 2009 +0000 [ARM] SMDK6410: Correct I2C device name for WM8580 The WM8580 driver registers itself as "wm8580" rather than "WM8580". Signed-off-by: Mark Brown Signed-off-by: Ben Dooks commit 789b4ad36c7037758309df98f1efa65d0c26527d Author: Mark Brown Date: Mon Jan 26 19:12:01 2009 +0000 [ARM] S3C64XX: Fix section mismatch for s3c64xx_register_clocks() Signed-off-by: Mark Brown Signed-off-by: Ben Dooks commit 28fd2d397bab5c7fb0eed0c20b6766c99ae34a8f Author: Ben Dooks Date: Fri Dec 12 00:24:33 2008 +0000 [ARM] S3C64XX: Set GPIO pin when select IRQ_EINT type Set the GPIO pin mode to external interrupt when configuring an IRQ_EINT's IRQ type. Signed-off-by: Ben Dooks commit 221be177e68e197a946bb991c8b91468e960be4e Merge: d499811 b50be33 Author: Linus Torvalds Date: Thu Feb 26 14:45:57 2009 -0800 Merge git://git.infradead.org/mtd-2.6 * git://git.infradead.org/mtd-2.6: [MTD] [MAPS] Remove MODULE_DEVICE_TABLE() from ck804rom driver. [JFFS2] fix mount crash caused by removed nodes [JFFS2] force the jffs2 GC daemon to behave a bit better [MTD] [MAPS] blackfin async requires complex mappings [MTD] [MAPS] blackfin: fix memory leak in error path [MTD] [MAPS] physmap: fix wrong free and del_mtd_{partition,device} [MTD] slram: Handle negative devlength correctly [MTD] map_rom has NULL erase pointer [MTD] [LPDDR] qinfo_probe depends on lpddr commit d49981150387c481779a544ec641f17882f4bbfb Merge: 392b8e4 28d57d4 Author: Linus Torvalds Date: Thu Feb 26 14:45:42 2009 -0800 Merge branch 'upstream-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/mfasheh/ocfs2 * 'upstream-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/mfasheh/ocfs2: ocfs2: add IO error check in ocfs2_get_sector() ocfs2: set gap to seperate entry and value when xattr in bucket ocfs2: lock the metaecc process for xattr bucket ocfs2: Use the right access_* method in ctime update of xattr. ocfs2/dlm: Make dlm_assert_master_handler() kill itself instead of the asserter ocfs2/dlm: Use ast_lock to protect ast_list ocfs2: Cleanup the lockname print in dlmglue.c ocfs2/dlm: Retract fix for race between purge and migrate ocfs2: Access and dirty the buffer_head in mark_written. commit 392b8e47bada8a1068ab0c0bdc44c58726dc395b Merge: 4bdc1b9 1ac00cc Author: Linus Torvalds Date: Thu Feb 26 14:45:25 2009 -0800 Merge branch 'merge' of git://git.kernel.org/pub/scm/linux/kernel/git/benh/powerpc * 'merge' of git://git.kernel.org/pub/scm/linux/kernel/git/benh/powerpc: powerpc/44x: Fix address decoding setup of PCI 2.x cells commit 4bdc1b96504f5f562b129afd48ca03d79aeb1fd9 Merge: 64e7130 bbe1944 Author: Linus Torvalds Date: Thu Feb 26 14:43:42 2009 -0800 Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jbarnes/pci-2.6 * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jbarnes/pci-2.6: PCI: AMD 813x B2 devices do not need boot interrupt quirk PCI: Enable PCIe AER only after checking firmware support PCI: pciehp: Handle interrupts that happen during initialization. PCI: don't enable too many HT MSI mappings PCI: add some sysfs ABI docs PCI quirk: enable MSI on 8132 commit 1ac00cc21337b0b667493d9af79d88537de90aa3 Author: Benjamin Herrenschmidt Date: Sun Feb 1 14:24:18 2009 +0000 powerpc/44x: Fix address decoding setup of PCI 2.x cells The PCI 2.x cells used on some 44x SoCs only let us configure the decode for the low 32-bit of the incoming PLB addresses. The top 4 bits (this is a 36-bit bus) are hard wired to different values depending on the specific SoC in use. Our code used to work "by accident" until I added support for the ISA memory holes and while at it added more validity checking of the addresses. This patch should bring it back to working condition. It still relies on the device-tree being correct but that's somewhat a pre-requisite for anything to work anyway. Signed-off-by: Benjamin Herrenschmidt Acked-by: Geert Uytterhoeven Acked-by: Josh Boyer commit bbe194433baeadc953f49e3795b41ffffc5486dd Author: Stefan Assmann Date: Thu Feb 26 10:46:48 2009 -0800 PCI: AMD 813x B2 devices do not need boot interrupt quirk Turns out that the new AMD 813x devices do not need the quirk_disable_amd_813x_boot_interrupt quirk to be run on them. If it is, no interrupts are seen on the PCI-X adapter. From: Stefan Assmann Reported-by: Jamie Wellnitz Tested-by: Jamie Wellnitz Cc: stable Signed-off-by: Greg Kroah-Hartman Signed-off-by: Jesse Barnes commit ab65f649d38d910f48843a275f3f0596cdbf28bf Author: Kiran Divekar Date: Thu Feb 19 19:32:39 2009 -0500 libertas: fix misuse of netdev_priv() and dev->ml_priv The mesh and radiotap interfaces need to use the same private data as the main wifi interface. If the main wifi interface uses netdev_priv(), but the other interfaces ->ml_priv, there's no way to figure out where the private data actually is in the WEXT handlers and netdevice callbacks. So make everything use ->ml_priv. Fixes botched netdev_priv() conversion introduced by "netdevice libertas: Fix directly reference of netdev->priv", though admittedly libertas' use of ->priv was somewhat "special". Signed-off-by: Kiran Divekar Acked-by: Dan Williams Tested-by: Chris Ball Signed-off-by: John W. Linville commit f6be37fdc62d0c0214bc49815d1180ebfbd716e2 Author: Kyle McMartin Date: Thu Feb 26 12:57:56 2009 -0500 x86: enable DMAR by default Now that the obvious bugs have been worked out, specifically the iwlagn issue, and the write buffer errata, DMAR should be safe to turn back on by default. (We've had it on since those patches were first written a few weeks ago, without any noticeable bug reports (most have been due to the dma-api debug patchset.)) Signed-off-by: Kyle McMartin Acked-by: David Woodhouse Signed-off-by: Ingo Molnar commit b50be33e42e2c87812b30aee1a2b2a5ac6cb3ffa Author: David Woodhouse Date: Fri Feb 27 04:51:33 2009 +0900 [MTD] [MAPS] Remove MODULE_DEVICE_TABLE() from ck804rom driver. We really don't want the BIOS flash mapping hacks to get automatically loaded. No idea why it isn't using pci_register_driver() though -- that should be fine... and is even _present_ but disabled by #if 0. Signed-off-by: David Woodhouse commit 28d57d437786eb3e44f1ca3f0f41e7cfe29c6dd4 Author: wengang wang Date: Fri Feb 13 10:11:47 2009 +0800 ocfs2: add IO error check in ocfs2_get_sector() Check for IO error in ocfs2_get_sector(). Signed-off-by: Wengang Wang Signed-off-by: Mark Fasheh commit 4442f518269c6b3686fcbcadad22dc4475309b16 Author: Tiger Yang Date: Fri Feb 20 11:11:50 2009 +0800 ocfs2: set gap to seperate entry and value when xattr in bucket This patch set a gap (4 bytes) between xattr entry and name/value when xattr in bucket. This gap use to seperate entry and name/value when a bucket is full. It had already been set when xattr in inode/block. Signed-off-by: Tiger Yang Signed-off-by: Mark Fasheh commit c8b9cf9a7cd25ba65166116d0a958f0bc709f0a7 Author: Tao Ma Date: Tue Feb 24 17:40:26 2009 -0800 ocfs2: lock the metaecc process for xattr bucket For other metadata in ocfs2, metaecc is checked in ocfs2_read_blocks with io_mutex held. While for xattr bucket, it is calculated by the whole buckets. So we have to add a spin_lock to prevent multiple processes calculating metaecc. Signed-off-by: Tao Ma Tested-by: Tristan Ye Signed-off-by: Mark Fasheh commit 89a907afe073b8971a83d0ad54f391542b64d327 Author: Tao Ma Date: Tue Feb 17 04:39:28 2009 +0800 ocfs2: Use the right access_* method in ctime update of xattr. In ctime updating of xattr, it use the wrong type of access for inode, so use ocfs2_journal_access_di instead. Reported-and-Tested-by: Tristan Ye Signed-off-by: Tao Ma Acked-by: Joel Becker Signed-off-by: Mark Fasheh commit 53ecd25e148615e0ed2a72635cc76f4773f97f90 Author: Sunil Mushran Date: Tue Feb 3 12:37:16 2009 -0800 ocfs2/dlm: Make dlm_assert_master_handler() kill itself instead of the asserter In dlm_assert_master_handler(), if we get an incorrect assert master from a node that, we reply with EINVAL asking the asserter to die. The problem is that an assert is sent after so many hoops, it is invariably the node that thinks the asserter is wrong, is actually wrong. So instead of killing the asserter, this patch kills the assertee. This patch papers over a race that is still being addressed. Signed-off-by: Sunil Mushran Acked-by: Joel Becker Signed-off-by: Mark Fasheh commit dabc47de7a23f57522dc762d9d2ad875700d3497 Author: Sunil Mushran Date: Tue Feb 3 12:37:15 2009 -0800 ocfs2/dlm: Use ast_lock to protect ast_list The code was using dlm->spinlock instead of dlm->ast_lock to protect the ast_list. This patch fixes the issue. Signed-off-by: Sunil Mushran Acked-by: Joel Becker Signed-off-by: Mark Fasheh commit c74ff8bb2235d848beb67fcfddae71ecbe3f92b1 Author: Sunil Mushran Date: Tue Feb 3 12:37:14 2009 -0800 ocfs2: Cleanup the lockname print in dlmglue.c The dentry lock has a different format than other locks. This patch fixes ocfs2_log_dlm_error() macro to make it print the dentry lock correctly. Signed-off-by: Sunil Mushran Acked-by: Joel Becker Signed-off-by: Mark Fasheh commit 7dc102b737e9f49dac426161294cb2d326a97d8e Author: Sunil Mushran Date: Tue Feb 3 12:37:13 2009 -0800 ocfs2/dlm: Retract fix for race between purge and migrate Mainline commit d4f7e650e55af6b235871126f747da88600e8040 attempts to delay the dlm_thread from sending the drop ref message if the lockres is being migrated. The problem is that we make the dlm_thread wait for the migration to complete. This causes a deadlock as dlm_thread also participates in the lockres migration process. A better fix for the original oss bugzilla#1012 is in testing. Signed-off-by: Sunil Mushran Acked-by: Joel Becker Signed-off-by: Mark Fasheh commit 47be12e4eec84c1846f29af64fe25a396b57a026 Author: Tao Ma Date: Fri Jan 9 07:32:48 2009 +0800 ocfs2: Access and dirty the buffer_head in mark_written. In __ocfs2_mark_extent_written, when we meet with the situation of c_split_covers_rec, the old solution just replace the extent record and forget to access and dirty the buffer_head. This will cause a problem when the unwritten extent is in an extent block. So access and dirty it. Signed-off-by: Tao Ma Signed-off-by: Mark Fasheh commit 64e71303e44f3697e4568147caa966de74bdb4fb Merge: babb29b 4e06bdd Author: Linus Torvalds Date: Thu Feb 26 10:37:00 2009 -0800 Merge git://git.kernel.org/pub/scm/linux/kernel/git/mason/btrfs-unstable * git://git.kernel.org/pub/scm/linux/kernel/git/mason/btrfs-unstable: Btrfs: try committing transaction before returning ENOSPC Btrfs: add better -ENOSPC handling commit babb29b0a33db53704594f63f271ca6c049eddc6 Merge: 6fc79d4 9e973e6 Author: Linus Torvalds Date: Thu Feb 26 10:36:35 2009 -0800 Merge branch 'for-linus' of git://git.kernel.dk/linux-2.6-block * 'for-linus' of git://git.kernel.dk/linux-2.6-block: xen/blkfront: use blk_rq_map_sg to generate ring entries block: reduce stack footprint of blk_recount_segments() cciss: shorten 30s timeout on controller reset block: add documentation for register_blkdev() block: fix bogus gcc warning for uninitialized var usage commit 6fc79d40d30b1595261607a155f039fb7b2d5606 Merge: 86883c2 f72b728 Author: Linus Torvalds Date: Thu Feb 26 10:36:19 2009 -0800 Merge branch 'merge' of git://git.kernel.org/pub/scm/linux/kernel/git/benh/powerpc * 'merge' of git://git.kernel.org/pub/scm/linux/kernel/git/benh/powerpc: powerpc: Fix 64bit __copy_tofrom_user() regression powerpc: Fix 64bit memcpy() regression powerpc: Fix load/store float double alignment handler commit 86883c2736e9697a38080a31c2794fa1316fd68f Author: Linus Torvalds Date: Thu Feb 26 10:32:31 2009 -0800 Make ieee1394_init a fs-initcall It needs to happen before any firewire driver actually registers itself, and that was previously handled by having the Makefile list the core ieee1394 files before the drivers. But now there are firewire drivers in drivers/media, and the Makefile games aren't enough. So just make ieee1394_init happen earlier in the init sequence, the way all other bus layers already do. Reported-and-tested-by: Ingo Molnar Cc: Stefan Richter Cc: Henrik Kurelid Cc: Mauro Carvalho Chehab Cc: Ben Backx Signed-off-by: Linus Torvalds commit cac64d00c256e65776d575e82aaf540632b66178 Author: Hiroshi Shimamoto Date: Wed Feb 25 09:59:26 2009 -0800 sched_rt: don't start timer when rt bandwidth disabled Impact: fix incorrect condition check No need to start rt bandwidth timer when rt bandwidth is disabled. If this timer starts, it may stop at sched_rt_period_timer() on the first time. Signed-off-by: Hiroshi Shimamoto Acked-by: Peter Zijlstra Signed-off-by: Ingo Molnar commit 3f53a38131a4e7a053c0aa060aba0411242fb6b9 Author: Pavel Emelyanov Date: Thu Feb 26 03:35:13 2009 -0800 ipv6: don't use tw net when accounting for recycled tw We already have a valid net in that place, but this is not just a cleanup - the tw pointer can be NULL there sometimes, thus causing an oops in NET_NS=y case. The same place in ipv4 code already works correctly using existing net, rather than tw's one. The bug exists since 2.6.27. Signed-off-by: Pavel Emelyanov Signed-off-by: David S. Miller commit 9e973e64ac6dc504e6447d52193d4fff1a670156 Author: Jens Axboe Date: Tue Feb 24 08:10:09 2009 +0100 xen/blkfront: use blk_rq_map_sg to generate ring entries On occasion, the request will apparently have more segments than we fit into the ring. Jens says: > The second problem is that the block layer then appears to create one > too many segments, but from the dump it has rq->nr_phys_segments == > BLKIF_MAX_SEGMENTS_PER_REQUEST. I suspect the latter is due to > xen-blkfront not handling the merging on its own. It should check that > the new page doesn't form part of the previous page. The > rq_for_each_segment() iterates all single bits in the request, not dma > segments. The "easiest" way to do this is to call blk_rq_map_sg() and > then iterate the mapped sg list. That will give you what you are > looking for. > Here's a test patch, compiles but otherwise untested. I spent more > time figuring out how to enable XEN than to code it up, so YMMV! > Probably the sg list wants to be put inside the ring and only > initialized on allocation, then you can get rid of the sg on stack and > sg_init_table() loop call in the function. I'll leave that, and the > testing, to you. [Moved sg array into info structure, and initialize once. -J] Signed-off-by: Jens Axboe Signed-off-by: Jeremy Fitzhardinge commit 1e42807918d17e8c93bf14fbb74be84b141334c1 Author: Jens Axboe Date: Mon Feb 23 09:03:10 2009 +0100 block: reduce stack footprint of blk_recount_segments() blk_recalc_rq_segments() requires a request structure passed in, which we don't have from blk_recount_segments(). So the latter allocates one on the stack, using > 400 bytes of stack for that. This can cause us to spill over one page of stack from ext4 at least: 0) 4560 400 blk_recount_segments+0x43/0x62 1) 4160 32 bio_phys_segments+0x1c/0x24 2) 4128 32 blk_rq_bio_prep+0x2a/0xf9 3) 4096 32 init_request_from_bio+0xf9/0xfe 4) 4064 112 __make_request+0x33c/0x3f6 5) 3952 144 generic_make_request+0x2d1/0x321 6) 3808 64 submit_bio+0xb9/0xc3 7) 3744 48 submit_bh+0xea/0x10e 8) 3696 368 ext4_mb_init_cache+0x257/0xa6a [ext4] 9) 3328 288 ext4_mb_regular_allocator+0x421/0xcd9 [ext4] 10) 3040 160 ext4_mb_new_blocks+0x211/0x4b4 [ext4] 11) 2880 336 ext4_ext_get_blocks+0xb61/0xd45 [ext4] 12) 2544 96 ext4_get_blocks_wrap+0xf2/0x200 [ext4] 13) 2448 80 ext4_da_get_block_write+0x6e/0x16b [ext4] 14) 2368 352 mpage_da_map_blocks+0x7e/0x4b3 [ext4] 15) 2016 352 ext4_da_writepages+0x2ce/0x43c [ext4] 16) 1664 32 do_writepages+0x2d/0x3c 17) 1632 144 __writeback_single_inode+0x162/0x2cd 18) 1488 96 generic_sync_sb_inodes+0x1e3/0x32b 19) 1392 16 sync_sb_inodes+0xe/0x10 20) 1376 48 writeback_inodes+0x69/0xb3 21) 1328 208 balance_dirty_pages_ratelimited_nr+0x187/0x2f9 22) 1120 224 generic_file_buffered_write+0x1d4/0x2c4 23) 896 176 __generic_file_aio_write_nolock+0x35f/0x393 24) 720 80 generic_file_aio_write+0x6c/0xc8 25) 640 80 ext4_file_write+0xa9/0x137 [ext4] 26) 560 320 do_sync_write+0xf0/0x137 27) 240 48 vfs_write+0xb3/0x13c 28) 192 64 sys_write+0x4c/0x74 29) 128 128 system_call_fastpath+0x16/0x1b Split the segment counting out into a __blk_recalc_rq_segments() helper to avoid allocating an onstack request just for checking the physical segment count. Signed-off-by: Jens Axboe commit 5e4c91c84b194b26cf592779e451f4b5be777cba Author: Jens Axboe Date: Mon Feb 23 08:53:35 2009 +0100 cciss: shorten 30s timeout on controller reset If reset_devices is set for kexec, then cciss will delay 30 seconds since the old 5i controller _may_ need that long to recover. Replace the long sleep with incremental sleep and tests to reduce the 30 seconds to worst case for 5i, so that other controllers will proceed quickly. Reviewed-by: Mike Miller Signed-off-by: Jens Axboe commit 9e8c0bccdc944bd09361672d47660810c027bcaa Author: Márton Németh Date: Fri Feb 20 08:12:51 2009 +0100 block: add documentation for register_blkdev() Add documentation for register_blkdev() function and for the parameters. Signed-off-by: Márton Németh Cc: Greg Kroah-Hartman Signed-off-by: Jens Axboe commit b2bf96833c5782befc3e7700f791fde754a47b01 Author: Jens Axboe Date: Thu Feb 19 08:50:26 2009 +0100 block: fix bogus gcc warning for uninitialized var usage Newer gcc throw this warning: fs/bio.c: In function ?bio_alloc_bioset?: fs/bio.c:305: warning: ?p? may be used uninitialized in this function since it cannot figure out that 'p' is only ever used if 'bs' is non-NULL. Signed-off-by: Jens Axboe commit a760a6656e6f00bb0144a42a048cf0266646e22c Author: Herbert Xu Date: Thu Feb 26 14:06:31 2009 +0800 crypto: api - Fix module load deadlock with fallback algorithms With the mandatory algorithm testing at registration, we have now created a deadlock with algorithms requiring fallbacks. This can happen if the module containing the algorithm requiring fallback is loaded first, without the fallback module being loaded first. The system will then try to test the new algorithm, find that it needs to load a fallback, and then try to load that. As both algorithms share the same module alias, it can attempt to load the original algorithm again and block indefinitely. As algorithms requiring fallbacks are a special case, we can fix this by giving them a different module alias than the rest. Then it's just a matter of using the right aliases according to what algorithms we're trying to find. Signed-off-by: Herbert Xu commit 8f64b32eb73fbfe9f38c4123121b63ee409278a7 Author: Eric Sandeen Date: Thu Feb 26 00:57:35 2009 -0500 ext4: don't call jbd2_journal_force_commit_nested without journal Running without a journal, I oopsed when I ran out of space, because we called jbd2_journal_force_commit_nested() from ext4_should_retry_alloc() without a journal. This should take care of it, I think. Signed-off-by: Eric Sandeen Signed-off-by: "Theodore Ts'o" commit d8ae4601a4b7ea1fa17fa395c3468c0e144d1275 Author: Theodore Ts'o Date: Sat Feb 28 09:50:01 2009 -0500 ext4: Reorder fs/Makefile so that ext2 root fs's are mounted using ext2 In fs/Makefile, ext3 was placed before ext2 so that a root filesystem that possessed a journal, it would be mounted as ext3 instead of ext2. This was necessary because a cleanly unmounted ext3 filesystem was fully backwards compatible with ext2, and could be mounted by ext2 --- but it was desirable that it be mounted with ext3 so that the journaling would be enabled. The ext4 filesystem supports new incompatible features, so there is no danger of an ext4 filesystem being mistaken for an ext2 filesystem. At that point, the relative ordering of ext4 with respect to ext2 didn't matter until ext4 gained the ability to mount filesystems without a journal starting in 2.6.29-rc1. Now that this is the case, given that ext4 is before ext2, it means that root filesystems that were using the plain-jane ext2 format are getting mounted using the ext4 filesystem driver, which is a change in behavior which could be surprising to users. It's doubtful that there are that many ext2-only root filesystem users that would also have ext4 compiled into the kernel, but to adhere to the principle of least surprise, the correct ordering in fs/Makefile is ext3, followed by ext2, and finally ext4. Signed-off-by: "Theodore Ts'o" commit 8b1a8ff8b321a9384304aeea4dbdb9747daf7ee8 Author: Theodore Ts'o Date: Sat Feb 28 00:08:53 2009 -0500 ext4: Remove duplicate call to ext4_commit_super() in ext4_freeze() Commit c4be0c1d added error checking to ext4_freeze() when calling ext4_commit_super(). Unfortunately the patch failed to remove the original call to ext4_commit_super(), with the net result that when freezing the filesystem, the superblock gets written twice, the first time without error checking. Signed-off-by: "Theodore Ts'o" commit a682604838763981613e42015cd0e39f2989d6bb Author: Paul E. McKenney Date: Wed Feb 25 18:03:42 2009 -0800 rcu: Teach RCU that idle task is not quiscent state at boot This patch fixes a bug located by Vegard Nossum with the aid of kmemcheck, updated based on review comments from Nick Piggin, Ingo Molnar, and Andrew Morton. And cleans up the variable-name and function-name language. ;-) The boot CPU runs in the context of its idle thread during boot-up. During this time, idle_cpu(0) will always return nonzero, which will fool Classic and Hierarchical RCU into deciding that a large chunk of the boot-up sequence is a big long quiescent state. This in turn causes RCU to prematurely end grace periods during this time. This patch changes the rcutree.c and rcuclassic.c rcu_check_callbacks() function to ignore the idle task as a quiescent state until the system has started up the scheduler in rest_init(), introducing a new non-API function rcu_idle_now_means_idle() to inform RCU of this transition. RCU maintains an internal rcu_idle_cpu_truthful variable to track this state, which is then used by rcu_check_callback() to determine if it should believe idle_cpu(). Because this patch has the effect of disallowing RCU grace periods during long stretches of the boot-up sequence, this patch also introduces Josh Triplett's UP-only optimization that makes synchronize_rcu() be a no-op if num_online_cpus() returns 1. This allows boot-time code that calls synchronize_rcu() to proceed normally. Note, however, that RCU callbacks registered by call_rcu() will likely queue up until later in the boot sequence. Although rcuclassic and rcutree can also use this same optimization after boot completes, rcupreempt must restrict its use of this optimization to the portion of the boot sequence before the scheduler starts up, given that an rcupreempt RCU read-side critical section may be preeempted. In addition, this patch takes Nick Piggin's suggestion to make the system_state global variable be __read_mostly. Changes since v4: o Changes the name of the introduced function and variable to be less emotional. ;-) Changes since v3: o WARN_ON(nr_context_switches() > 0) to verify that RCU switches out of boot-time mode before the first context switch, as suggested by Nick Piggin. Changes since v2: o Created rcu_blocking_is_gp() internal-to-RCU API that determines whether a call to synchronize_rcu() is itself a grace period. o The definition of rcu_blocking_is_gp() for rcuclassic and rcutree checks to see if but a single CPU is online. o The definition of rcu_blocking_is_gp() for rcupreempt checks to see both if but a single CPU is online and if the system is still in early boot. This allows rcupreempt to again work correctly if running on a single CPU after booting is complete. o Added check to rcupreempt's synchronize_sched() for there being but one online CPU. Tested all three variants both SMP and !SMP, booted fine, passed a short rcutorture test on both x86 and Power. Located-by: Vegard Nossum Tested-by: Vegard Nossum Tested-by: Paul E. McKenney Signed-off-by: Paul E. McKenney Signed-off-by: Ingo Molnar commit f72b728bf100f276628e378e1fe6c6acd5d09401 Author: Mark Nelson Date: Wed Feb 25 13:46:24 2009 +0000 powerpc: Fix 64bit __copy_tofrom_user() regression This fixes a regression introduced by commit a4e22f02f5b6518c1484faea1f88d81802b9feac ("powerpc: Update 64bit __copy_tofrom_user() using CPU_FTR_UNALIGNED_LD_STD"). The same bug that existed in the 64bit memcpy() also exists here so fix it here too. The fix is the same as that applied to memcpy() with the addition of fixes for the exception handling code required for __copy_tofrom_user(). This stops us reading beyond the end of the source region we were told to copy. Signed-off-by: Mark Nelson Signed-off-by: Benjamin Herrenschmidt commit e423b9ecd6aa434ce9ba72a21fdc61079e620e0a Author: Mark Nelson Date: Wed Feb 25 13:26:48 2009 +0000 powerpc: Fix 64bit memcpy() regression This fixes a regression introduced by commit 25d6e2d7c58ddc4a3b614fc5381591c0cfe66556 ("powerpc: Update 64bit memcpy() using CPU_FTR_UNALIGNED_LD_STD"). This commit allowed CPUs that have the CPU_FTR_UNALIGNED_LD_STD CPU feature bit present to do the memcpy() with unaligned load doubles. But, along with this came a bug where our final load double would read bytes beyond a page boundary and into the next (unmapped) page. This was caught by enabling CONFIG_DEBUG_PAGEALLOC, The fix was to read only the number of bytes that we need to store rather than reading a full 8-byte doubleword and storing only a portion of that. In order to minimise the amount of existing code touched we use the original do_tail for the src_unaligned case. Below is an example of the regression, as reported by Sachin Sant: Unable to handle kernel paging request for data at address 0xc00000003f380000 Faulting instruction address: 0xc000000000039574 cpu 0x1: Vector: 300 (Data Access) at [c00000003baf3020] pc: c000000000039574: .memcpy+0x74/0x244 lr: d00000000244916c: .ext3_xattr_get+0x288/0x2f4 [ext3] sp: c00000003baf32a0 msr: 8000000000009032 dar: c00000003f380000 dsisr: 40000000 current = 0xc00000003e54b010 paca = 0xc000000000a53680 pid = 1840, comm = readahead enter ? for help [link register ] d00000000244916c .ext3_xattr_get+0x288/0x2f4 [ext3] [c00000003baf32a0] d000000002449104 .ext3_xattr_get+0x220/0x2f4 [ext3] (unreliab le) [c00000003baf3390] d00000000244a6e8 .ext3_xattr_security_get+0x40/0x5c [ext3] [c00000003baf3400] c000000000148154 .generic_getxattr+0x74/0x9c [c00000003baf34a0] c000000000333400 .inode_doinit_with_dentry+0x1c4/0x678 [c00000003baf3560] c00000000032c6b0 .security_d_instantiate+0x50/0x68 [c00000003baf35e0] c00000000013c818 .d_instantiate+0x78/0x9c [c00000003baf3680] c00000000013ced0 .d_splice_alias+0xf0/0x120 [c00000003baf3720] d00000000243e05c .ext3_lookup+0xec/0x134 [ext3] [c00000003baf37c0] c000000000131e74 .do_lookup+0x110/0x260 [c00000003baf3880] c000000000134ed0 .__link_path_walk+0xa98/0x1010 [c00000003baf3970] c0000000001354a0 .path_walk+0x58/0xc4 [c00000003baf3a20] c000000000135720 .do_path_lookup+0x138/0x1e4 [c00000003baf3ad0] c00000000013645c .path_lookup_open+0x6c/0xc8 [c00000003baf3b70] c000000000136780 .do_filp_open+0xcc/0x874 [c00000003baf3d10] c0000000001251e0 .do_sys_open+0x80/0x140 [c00000003baf3dc0] c00000000016aaec .compat_sys_open+0x24/0x38 [c00000003baf3e30] c00000000000855c syscall_exit+0x0/0x40 Signed-off-by: Benjamin Herrenschmidt commit 49f297f8df9adb797334155470ea9ca68bdb041e Author: Michael Neuling Date: Thu Feb 19 18:52:20 2009 +0000 powerpc: Fix load/store float double alignment handler When we introduced VSX, we changed the way FPRs are stored in the thread_struct. Unfortunately we missed the load/store float double alignment handler code when updating how we access FPRs in the thread_struct. Below fixes this and merges the little/big endian case. Signed-off-by: Michael Neuling Signed-off-by: Benjamin Herrenschmidt commit 169d418b127b98a3e464e9c4b807ad083760f98c Merge: 70c01f0 1440566 Author: Linus Torvalds Date: Wed Feb 25 15:16:18 2009 -0800 Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tiwai/sound-2.6 * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tiwai/sound-2.6: ALSA: emu10k1 - Fix digital/analog switch on audigy2 ZS ALSA: hda - Quirk for Acer Aspire 6530G ALSA: hda - add another MacBook Pro 3,1 SSID ALSA: fix excessive background noise introduced by OSS emulation rate shrink ALSA: aw2: do not grab every saa7146 based device ALSA: hda - Fix parse of init_verbs sysfs entry ALSA: pcxhr.h replace signed one-bit bitfields commit 70c01f01a214d9cc2e5a96ac43941f48a200f53f Merge: c4eb1bf 5b59239 Author: Linus Torvalds Date: Wed Feb 25 15:14:37 2009 -0800 Merge branch 'release' of git://git.kernel.org/pub/scm/linux/kernel/git/aegl/linux-2.6 * 'release' of git://git.kernel.org/pub/scm/linux/kernel/git/aegl/linux-2.6: [IA64] Don't go beyond iosapic_intr_info's arraysize [IA64] Do not go beyond ARRAY_SIZE of unw.hash [IA64] enable setting DMAR on by default commit c4eb1bf63f3dc03611b79d6dd260dfa70c5e72f9 Merge: a36e4f0 c55af1f Author: Linus Torvalds Date: Wed Feb 25 15:12:48 2009 -0800 Merge branch 'upstream-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jgarzik/libata-dev * 'upstream-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jgarzik/libata-dev: [libata] pata_legacy: for VLB 32bit PIO don't try tricks with slop [libata] pata_amd: program FIFO sata_mv: fix SoC interrupt breakage pata_it821x: resume from hibernation fails with RAID volume commit c55af1f5abf606118b32e3ce9c3b1bbce5236e7e Author: Alan Cox Date: Wed Feb 11 13:08:42 2009 -0800 [libata] pata_legacy: for VLB 32bit PIO don't try tricks with slop These devices are generally used with ATA anyway and it seems that some ATAPI will need us to issue the right number of words. Therefore as we can't switch mid burst on VLB devices we should only use 32bit I/O for suitable block sizes. Signed-off-by: Andrew Morton Signed-off-by: Jeff Garzik commit c48052cc36e02fff6a9bb3cf83c4206b9127611f Author: Alan Cox Date: Wed Feb 11 13:08:41 2009 -0800 [libata] pata_amd: program FIFO With 32bit PIO we can use the posted write buffers, but only for 32bit I/O cycles. This means we must disable the FIFO for ATAPI where a final 16bit cycle may occur. Rework the FIFO logic so that we disable the FIFO then selectively re-enable it when we set the timings on AMD devices. Also fix a case where we scribbled on PCI config 0x41 of Nvidia chips when we shouldn't. Signed-off-by: Alan Cox Signed-off-by: Andrew Morton Signed-off-by: Jeff Garzik commit 6be96ac15e4d913e1f48299db083ada5321803b2 Author: Mark Lord Date: Thu Feb 19 10:38:04 2009 -0500 sata_mv: fix SoC interrupt breakage For some reason, sata_mv doesn't clear interrupt status during init when it's running on an SoC host adapter. If the bootloader has touched the SATA controller before starting Linux, Linux can end up enabling the SATA interrupt with events pending, which will cause the interrupt to be marked as spurious and then be disabled, which then breaks all further accesses to the controller. This patch makes the SoC path clear interrupt status on init like in the non-SoC case. Signed-off-by: Lennert Buytenhek Signed-off-by: Mark Lord Signed-off-by: Jeff Garzik commit 7ba07d16bd62f931efec1fc8e63bf1aeebfe42a9 Author: Ondrej Zary Date: Wed Feb 11 13:08:43 2009 -0800 pata_it821x: resume from hibernation fails with RAID volume Hibernation didn't work for me since I started to use IT8212 controller. I did some debugging (booting with no_console_suspend init=/bin/sh). Found that resume fails (2.6.28) with "serial number mismatch 'some garbage' != 'some other garbage'" and "revalidation failed" messages. That's because the controller firmware fills different serial number in the IDENTIFY every boot. The patch below fixes the resume simply clearing the serial number. The proper fix would be probably to fill in the serial number of the RAID volume instead. I assume that there must be something like that stored on the drives but I don't know where. Fix resume on pata_it821x RAID volume by clearing the serial number in IDENTIFY data, which is otherwise different on each boot. Signed-off-by: Ondrej Zary Acked-by: Alan Cox Signed-off-by: Andrew Morton Signed-off-by: Jeff Garzik commit a36e4f0cab6311110d1703eafb325baead9caff8 Merge: 0b0a080 8fed436 Author: Linus Torvalds Date: Wed Feb 25 12:22:06 2009 -0800 Merge git://git.kernel.org/pub/scm/linux/kernel/git/bart/ide-2.6 * git://git.kernel.org/pub/scm/linux/kernel/git/bart/ide-2.6: ide: fix refcounting in device drivers ide-cd: document capacity hack it821x: remove dead URL atiixp: fix missing parentheses amd74xx: device/vendor confusion ide: ide.c 'clear' fix, update "ide=nodma" documentation commit 0b0a0806b0d8635e046bf533225a25903b1cddce Author: Hugh Dickins Date: Tue Feb 24 20:51:52 2009 +0000 shmem: fix shared anonymous accounting Each time I exit Firefox, /proc/meminfo's Committed_AS goes down almost 400 kB: OVERCOMMIT_NEVER would be allowing overcommits it should prohibit. Commit fc8744adc870a8d4366908221508bb113d8b72ee "Stop playing silly games with the VM_ACCOUNT flag" changed shmem_file_setup() to set the shmem file's VM_ACCOUNT flag according to VM_NORESERVE not being set in the vma flags; but did so only _after_ the shmem_acct_size(flags, size) call which is expected to pre-account a shared anonymous object. It's all clearer if we switch shmem.c over to use VM_NORESERVE throughout in place of !VM_ACCOUNT. But I very nearly sent in a patch which mistakenly removed the accounting from tmpfs files: shmem_get_inode()'s memset was good for not setting VM_ACCOUNT, but now it needs to set VM_NORESERVE. Rather than setting that by default, then perhaps clearing it again in shmem_file_setup(), let's pass it as a flag to shmem_get_inode(): that allows us to remove the #ifdef CONFIG_SHMEM from shmem_file_setup(). Signed-off-by: Hugh Dickins Signed-off-by: Linus Torvalds commit 5b5923975f07836fc7a5388f9fa5f459828ae4ee Author: Roel Kluin Date: Sat Feb 21 23:40:27 2009 +0100 [IA64] Don't go beyond iosapic_intr_info's arraysize vi arch/ia64/kernel/iosapic.c +142 static struct iosapic_intr_info { ... } iosapic_intr_info[NR_IRQS]; But at line 510 we have: for (i = 0; i <= NR_IRQS; i++) { s/<=/ Signed-off-by: Tony Luck commit aa2f63c95439a11dfac35c60d9160dcd0189aed3 Author: Roel Kluin Date: Sun Feb 22 02:33:28 2009 +0100 [IA64] Do not go beyond ARRAY_SIZE of unw.hash static struct { ... :114 unsigned short hash[UNW_HASH_SIZE]; ... :2152 for (index = 0; index <= UNW_HASH_SIZE; ++index) { This is a bug, isn't it? s/<=/ Signed-off-by: Tony Luck commit 6b1ff036d4cde7834ef2f9dbea5747adaaac24e0 Author: Kyle McMartin Date: Sat Feb 14 04:11:29 2009 -0500 [IA64] enable setting DMAR on by default The previous commit which introduced the DMAR_DEFAULT_ON setting in drivers/pci/dmar.c neglected to add the ability for ia64 to enable the IOMMU by default. Rectify that mistake, doh! Signed-off-by: Kyle McMartin Signed-off-by: Tony Luck commit 8fed43684174b68f04d01d1210fd00536af790df Author: Bartlomiej Zolnierkiewicz Date: Wed Feb 25 20:28:24 2009 +0100 ide: fix refcounting in device drivers During host driver module removal del_gendisk() results in a final put on drive->gendev and freeing the drive by drive_release_dev(). Convert device drivers from using struct kref to use struct device so device driver's object holds reference on ->gendev and prevents drive from prematurely going away. Also fix ->remove methods to not erroneously drop reference on a host driver by using only put_device() instead of ide*_put(). Reported-by: Stanislaw Gruszka Tested-by: Stanislaw Gruszka Signed-off-by: Bartlomiej Zolnierkiewicz commit d3dd7107f4d843d0f01d0f77d49a7c5449130577 Author: Bartlomiej Zolnierkiewicz Date: Wed Feb 25 20:28:23 2009 +0100 ide-cd: document capacity hack Just copy the comment from drivers/scsi/sr.c::sr_done() (from which the capacity hack has been originated). Cc: Borislav Petkov Acked-by: Sergei Shtylyov Signed-off-by: Bartlomiej Zolnierkiewicz commit f38344b0a0898d2a8c13581ee61007719e16e1d7 Author: Bartlomiej Zolnierkiewicz Date: Wed Feb 25 20:28:22 2009 +0100 it821x: remove dead URL Signed-off-by: Bartlomiej Zolnierkiewicz commit f76bee16fc83f58d6c1b088977330f26ed7ae248 Author: Roel Kluin Date: Wed Feb 25 20:28:22 2009 +0100 atiixp: fix missing parentheses Fix missing parentheses so PIO/DMA timings for master device on the second channel are programmed correctly (IOW "8 0 24 16" offset values should be used instead of the current "8 0 16 16"). [ The bug went unnoticed because after PIO/DMA timings get programmed incorrectly for the third device they are overwritten with timings for the fourth device and since BIOS should also program timings for the third device everything should work fine until suspend/resume cycle or user requested transfer mode changes. ] Signed-off-by: Roel Kluin Cc: Sergei Shtylyov Cc: Andrew Morton [bart: update patch description] Signed-off-by: Bartlomiej Zolnierkiewicz commit 43a12216d3664a9fa6c8ceb398da6ef08fee7ff7 Author: Roel Kluin Date: Wed Feb 25 20:28:22 2009 +0100 amd74xx: device/vendor confusion Device and vendor ids were confused Signed-off-by: Roel Kluin Cc: Andrew Morton Acked-by: Sergei Shtylyov Signed-off-by: Bartlomiej Zolnierkiewicz commit 0af80c04e2f2e45ae09fceb17df8050f828a5c40 Author: David Fries Date: Wed Feb 25 20:28:21 2009 +0100 ide: ide.c 'clear' fix, update "ide=nodma" documentation Documentation/kernel-parameters.txt - ide=nodma is no longer valid. drivers/ide/Kconfig - The module is ide-core.ko not ide. drivers/ide/ide.c - It took me a while to figure out what the arguments %d.%d:%d to nodma module parameter ment, so I added a comment to each. - Added a comment to each of the sscanf lines. - There is a bug, if j is 0 it would previously clear all the other bits except the current device, changed in three different places. mask &= (1 << i) should be mask &= ~(1 << i). Signed-off-by: David Fries [bart: s/disk/device/ in ide.c, beautify patch description] Signed-off-by: Bartlomiej Zolnierkiewicz commit 55d8085671863fe4ee6a17b7814bd38180a44e1d Author: Jeremy Fitzhardinge Date: Wed Feb 25 09:42:25 2009 -0800 xen: disable interrupts early, as start_kernel expects This avoids a lockdep warning from: if (DEBUG_LOCKS_WARN_ON(unlikely(!early_boot_irqs_enabled))) return; in trace_hardirqs_on_caller(); Signed-off-by: Jeremy Fitzhardinge Cc: Mark McLoughlin Cc: Xen-devel Signed-off-by: Ingo Molnar commit c15d8a6499d04e5d2cac07f8120f207bb275f60f Merge: 4902135 e08fb4f Author: Linus Torvalds Date: Wed Feb 25 09:49:30 2009 -0800 Merge branch 'drm-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/airlied/drm-2.6 * 'drm-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/airlied/drm-2.6: drm/i915: convert DRM_ERROR to DRM_DEBUG in phys object pwrite path drm/i915: make hw page ioremap use ioremap_wc drm: edid revision 0 is valid drm: Correct unbalanced drm_vblank_put() during mode setting. drm: disable encoders before re-routing them drm: Fix ordering of bit fields in EDID structure leading huge vsync values. drm: Fix shifts of EDID vsync offset/width fields. drm/i915: handle bogus VBT panel timing drm/i915: remove PLL debugging messages commit 490213556ad5bc1b46857bce1bc2c6db41d3e63d Merge: f8dacde 73d5c38 Author: Linus Torvalds Date: Wed Feb 25 09:34:27 2009 -0800 Merge branch 'for-linus' of git://neil.brown.name/md * 'for-linus' of git://neil.brown.name/md: md: avoid races when stopping resync. md/raid10: Don't call bitmap_cond_end_sync when we are doing recovery. md/raid10: Don't skip more than 1 bitmap-chunk at a time during recovery. commit f8dacde8c0f7841ad91fbaba43fb0ebf1c2c80b7 Merge: 6004260 1b0e235 Author: Linus Torvalds Date: Wed Feb 25 09:31:56 2009 -0800 Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/sparc-2.6 * git://git.kernel.org/pub/scm/linux/kernel/git/davem/sparc-2.6: sparc64: Fix crashes in jbusmc_print_dimm() commit 60042600c57be5737cd9d6869e7144f7fe786274 Merge: 6aa03ab 084eb96 Author: Linus Torvalds Date: Wed Feb 25 09:31:21 2009 -0800 Merge git://git.infradead.org/iommu-2.6 * git://git.infradead.org/iommu-2.6: intel-iommu: fix endless "Unknown DMAR structure type" loop VT-d: handle Invalidation Queue Error to avoid system hang intel-iommu: fix build error with INTR_REMAP=y and DMAR=n commit 6aa03ab06978e97b3e0720f83280d7841051916b Author: Fenghua Yu Date: Wed Feb 25 14:06:26 2009 +0900 Fix iwlan DMA mapping direction When iwlan runs on IOMMU, IOMMU generates a lot of PTE write faults because PTE write bit is not set on some of PTE's. This is because iwlan driver calls DMA mapping with PCI_DMA_TODEVICE which is read only in mapping PTE. But iwlan device actually writes to the mapped page to update its contents. This issue is not exposed in swiotlb. But VT-d hardware can capture this fault and stop the fault transaction. The following patch fixes the issue. Signed-off-by: Fenghua Yu Reviewed-by: Bhavesh Davda Tested-by: Chris Wright Acked-by: Tomas Winkler Signed-off-by: David Woodhouse Signed-off-by: Linus Torvalds commit 4ab0d47d0ab311eb181532c1ecb6d02905685071 Author: Venkatesh Pallipadi Date: Tue Feb 24 17:35:12 2009 -0800 gpu/drm, x86, PAT: io_mapping_create_wc and resource_size_t io_mapping_create_wc should take a resource_size_t parameter in place of unsigned long. With unsigned long, there will be no way to map greater than 4GB address in i386/32 bit. On x86, greater than 4GB addresses cannot be mapped on i386 without PAE. Return error for such a case. Patch also adds a structure for io_mapping, that saves the base, size and type on HAVE_ATOMIC_IOMAP archs, that can be used to verify the offset on io_mapping_map calls. Signed-off-by: Venkatesh Pallipadi Signed-off-by: Suresh Siddha Cc: Dave Airlie Cc: Jesse Barnes Cc: Eric Anholt Cc: Keith Packard Signed-off-by: Ingo Molnar commit 6644107d57a8fa82b47e4c55da4d9d91a612f29c Author: Venkatesh Pallipadi Date: Tue Feb 24 17:35:11 2009 -0800 gpu/drm, x86, PAT: Handle io_mapping_create_wc() errors in a clean way io_mapping_create_wc can return NULL on error and io_mapping_free() should be called on one of the error-cleanup path. Signed-off-by: Venkatesh Pallipadi Signed-off-by: Suresh Siddha Cc: Dave Airlie Cc: Jesse Barnes Cc: Eric Anholt Cc: Keith Packard Signed-off-by: Ingo Molnar commit 1440566f2db470eddc58dc35025ccaeb0a52558a Merge: 308b892 1f9da55 Author: Takashi Iwai Date: Wed Feb 25 09:52:42 2009 +0100 Merge branch 'fix/misc' into for-linus commit 308b892cb4e3161cf2b629c0af61181bbc5606b9 Merge: 20f4d6c cc374c4 Author: Takashi Iwai Date: Wed Feb 25 09:52:38 2009 +0100 Merge branch 'fix/hda' into for-linus commit 0c9a3aaaf30e1d1994de58c554ef97a719e20892 Merge: fef7cc0 046ee5d Author: David S. Miller Date: Tue Feb 24 23:52:55 2009 -0800 Merge branch 'master' of git://git.kernel.org/pub/scm/linux/kernel/git/linville/wireless-2.6 commit fef7cc0893146550b286b13c0e6e914556142730 Author: Greg Kroah-Hartman Date: Tue Feb 24 23:52:24 2009 -0800 asix: new device ids This patch adds two new device ids to the asix driver. One comes directly from the asix driver on their web site, the other was reported by Armani Liao as needed for the MSI X320 to get the driver to work properly for it. Reported-by: Armani Liao Signed-off-by: Greg Kroah-Hartman Signed-off-by: David S. Miller commit e08fb4f6d1dc95eff5b3fc1d0412bcb5afcae7f2 Author: Dave Airlie Date: Wed Feb 25 14:52:30 2009 +1000 drm/i915: convert DRM_ERROR to DRM_DEBUG in phys object pwrite path This snuck in when I wrote phys object support. Signed-off-by: Dave Airlie commit dd0910b3c71b253c08111110f0399b924a8d5853 Author: Dave Airlie Date: Wed Feb 25 14:49:21 2009 +1000 drm/i915: make hw page ioremap use ioremap_wc However we still have another issue with ioremap_wc not falling back properly or somehow doing something else stupid, this probably needs to be tracked down. Signed-off-by: Dave Airlie commit d61e7380b402a481ab1fa8027068a24918f701c8 Author: Kyle McMartin Date: Tue Feb 24 20:31:53 2009 -0500 drm: edid revision 0 is valid edid->revision == 0 should be valid (at least, so the error message indicates. :) and wikipedia seems to indicate that EDID 1.0 existed. We can dump the entire check, since edid->revision is a u8, so it can't ever be less than 0. Marko reports in RH bz#476735 that his monitor claims to be EDID 1.0, and therefore hits the check and is stuck at 800x600 because of it. Reported-by: Marko Ristola Signed-off-by: Kyle McMartin Acked-by: Jesse Barnes Signed-off-by: Dave Airlie commit b3f5e7329df1a508ac58ebe7509fb7a47b9eab6a Author: Chris Wilson Date: Thu Feb 19 14:48:22 2009 +0000 drm: Correct unbalanced drm_vblank_put() during mode setting. The first time we install a mode, the vblank will be disabled for a pipe and so drm_vblank_get() in drm_vblank_pre_modeset() will fail. As we unconditionally call drm_vblank_put() afterwards, the vblank reference counter becomes unbalanced. Signed-off-by: Chris Wilson Acked-by: Jesse Barnes Signed-off-by: Dave Airlie commit 7bec756c74b1a5079d5074144bb77a6b3e7d7783 Author: Jesse Barnes Date: Mon Feb 23 16:09:34 2009 -0800 drm: disable encoders before re-routing them In some cases we may receive a mode config that has a different CRTC<->encoder map that the current configuration. In that case, we need to disable any re-routed encoders before setting the mode, otherwise they may not pick up the new CRTC (if the output types are incompatible for example). Tested-by: Kristian Høgsberg Signed-off-by: Jesse Barnes Signed-off-by: Dave Airlie commit fe56cf45f951b3810313584605c1d8a4f20b33a4 Author: Jesse Barnes Date: Mon Feb 23 15:36:41 2009 -0800 drm: Fix ordering of bit fields in EDID structure leading huge vsync values. Signed-off-by: Jesse Barnes Reviewed-by: Eric Anholt Signed-off-by: Dave Airlie commit c8766ac5933d6ee75e7ce379a1eb5ceb451fcb83 Author: Linus Torvalds Date: Mon Feb 23 08:44:33 2009 -0800 drm: Fix shifts of EDID vsync offset/width fields. Signed-off-by: Linus Torvalds Reviewed-by: Eric Anholt Signed-off-by: Dave Airlie commit 37df96736bfe6f5fd9a141d62946e1083d73e712 Author: Jesse Barnes Date: Mon Feb 23 15:36:42 2009 -0800 drm/i915: handle bogus VBT panel timing We've seen cases in the wild where the VBT sync data is wrong, so add some code to fix it up in that case, taking care to make sure that the total is greater than the sync end. Signed-off-by: Jesse Barnes Signed-off-by: Dave Airlie commit 7c04d1d97a8d918b7ae2ef478229862b71a65f06 Author: Jesse Barnes Date: Mon Feb 23 15:36:40 2009 -0800 drm/i915: remove PLL debugging messages These are normal; we walk through different values looking for the right one, so why flood the screen with messages? Signed-off-by: Jesse Barnes Reviewed-by: Eric Anholt Signed-off-by: Dave Airlie commit 73d5c38a9536142e062c35997b044e89166e063b Author: NeilBrown Date: Wed Feb 25 13:18:47 2009 +1100 md: avoid races when stopping resync. There has been a race in raid10 and raid1 for a long time which has only recently started showing up due to a scheduler changed. When a sync_read request finishes, as soon as reschedule_retry is called, another thread can mark the resync request as having completed, so md_do_sync can finish, ->stop can be called, and ->conf can be freed. So using conf after reschedule_retry is not safe. Similarly, when finishing a sync_write, calling md_done_sync must be the last thing we do, as it allows a chain of events which will free conf and other data structures. The first of these requires action in raid10.c The second requires action in raid1.c and raid10.c Cc: stable@kernel.org Signed-off-by: NeilBrown commit 78200d45cde2a79c0d0ae0407883bb264caa3c18 Author: NeilBrown Date: Wed Feb 25 13:18:47 2009 +1100 md/raid10: Don't call bitmap_cond_end_sync when we are doing recovery. For raid1/4/5/6, resync (fixing inconsistencies between devices) is very similar to recovery (rebuilding a failed device onto a spare). The both walk through the device addresses in order. For raid10 it can be quite different. resync follows the 'array' address, and makes sure all copies are the same. Recover walks through 'device' addresses and recreates each missing block. The 'bitmap_cond_end_sync' function allows the write-intent-bitmap (When present) to be updated to reflect a partially completed resync. It makes assumptions which mean that it does not work correctly for raid10 recovery at all. In particularly, it can cause bitmap-directed recovery of a raid10 to not recovery some of the blocks that need to be recovered. So move the call to bitmap_cond_end_sync into the resync path, rather than being in the common "resync or recovery" path. Cc: stable@kernel.org Signed-off-by: NeilBrown commit 09b4068a7fe442efc40e9dcbcf5ff37c3338ab15 Author: NeilBrown Date: Wed Feb 25 13:18:47 2009 +1100 md/raid10: Don't skip more than 1 bitmap-chunk at a time during recovery. When doing recovery on a raid10 with a write-intent bitmap, we only need to recovery chunks that are flagged in the bitmap. However if we choose to skip a chunk as it isn't flag, the code currently skips the whole raid10-chunk, thus it might not recovery some blocks that need recovering. This patch fixes it. In case that is confusing, it might help to understand that there is a 'raid10 chunk size' which guides how data is distributed across the devices, and a 'bitmap chunk size' which says how much data corresponds to a single bit in the bitmap. This bug only affects cases where the bitmap chunk size is smaller than the raid10 chunk size. Cc: stable@kernel.org Signed-off-by: NeilBrown commit a52b8bd338630f78a6bfe39fe17cb8469d2679ae Author: Joe Perches Date: Tue Feb 24 16:40:16 2009 -0800 tcp_scalable: Update malformed & dead url Signed-off-by: Joe Perches Signed-off-by: David S. Miller commit 694593e3374a67d95ece6a275a1f181644c2c4d8 Merge: 21209b6 e07a4b9 Author: Linus Torvalds Date: Tue Feb 24 15:42:08 2009 -0800 Merge branch 'proc-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/adobriyan/proc * 'proc-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/adobriyan/proc: proc: fix PG_locked reporting in /proc/kpageflags commit 21209b61b0ca0aafb04b5ab3561e3c8e7c7f776d Merge: a792cd1 531660e Author: Linus Torvalds Date: Tue Feb 24 15:40:19 2009 -0800 Merge branch 'i2c-for-linus' of git://jdelvare.pck.nerim.net/jdelvare-2.6 * 'i2c-for-linus' of git://jdelvare.pck.nerim.net/jdelvare-2.6: Add i2c_board_info for RiscPC PCF8583 i2c: Make sure i2c_algo_bit_data.timeout is HZ-independent i2c-dev: Clarify the unit of ioctl I2C_TIMEOUT i2c: Timeouts reach -1 i2c: Fix misplaced parentheses commit a792cd12cf07cf77c7d1d41b46b4f8327ecf82d0 Merge: 4daa068 e73bf9f Author: Linus Torvalds Date: Tue Feb 24 15:39:54 2009 -0800 Merge branch 'firedtv-merge' of git://git.kernel.org/pub/scm/linux/kernel/git/ieee1394/linux1394-2.6 * 'firedtv-merge' of git://git.kernel.org/pub/scm/linux/kernel/git/ieee1394/linux1394-2.6: firedtv: dvb_frontend_info for FireDTV S2, fix "frequency limits undefined" error firedtv: massive refactoring firedtv: rename files, variables, functions from firesat to firedtv firedtv: Use DEFINE_SPINLOCK firedtv: fix registration - adapter number could only be zero firedtv: use length_field() of PMT as length firedtv: fix returned struct for ca_info firedtv: cleanups and minor fixes ieee1394: remove superfluous assertions ieee1394: inherit ud vendor_id from node vendor_id ieee1394: add hpsb_node_read() and hpsb_node_lock() ieee1394: use correct barrier types between accesses of nodeid and generation firesat: copyrights, rename to firedtv, API conversions, fix remote control input firesat: avc resend firesat: update isochronous interface, add CI support firesat: add DVB-S support for DVB-S2 devices firesat: fix DVB-S2 device recognition DVB: add firesat driver commit 4daa0682af15b24e9d66ccde3a5d502682e572d8 Merge: f7e603a ebd3610 Author: Linus Torvalds Date: Tue Feb 24 15:39:34 2009 -0800 Merge branch 'for_linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tytso/ext4 * 'for_linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tytso/ext4: ext4: Fix deadlock in ext4_write_begin() and ext4_da_write_begin() ext4: Add fallback for find_group_flex commit 8b6f92b1bd187b4f57296e5cf2e43ba883dd1968 Merge: 467388f 325fb5b Author: David S. Miller Date: Tue Feb 24 13:49:05 2009 -0800 Merge branch 'master' of git://git.kernel.org/pub/scm/linux/kernel/git/kaber/nf-2.6 commit ddf9499b3d1e655f212f22b0a703506fcac90b25 Author: James Bottomley Date: Mon Feb 23 21:34:47 2009 +0000 x86, Voyager: fix compile by lifting the degeneracy of phys_cpu_present_map This was changed to a physmap_t giving a clashing symbol redefinition, but actually using a physmap_t consumes rather a lot of space on x86, so stick with a private copy renamed with a voyager_ prefix and made static. Nothing outside of the Voyager code uses it, anyway. Signed-off-by: James Bottomley Signed-off-by: H. Peter Anvin commit c8532db7f2661b63f658b9a08cf4053a3e6abb78 Author: Mark Brown Date: Tue Feb 24 15:55:48 2009 +0100 [ARM] 5411/1: S3C64XX: Fix EINT unmask Currently the unmask function for EINT interrupts was setting the mask bit rather than clearing it. This was also previously reported and fixed by Kyungmin Park and others. Acked-By: Ben Dooks Signed-off-by: Mark Brown Signed-off-by: Russell King commit 531660ef5604c75de6fdead9da1304051af17c09 Author: Russell King Date: Tue Feb 24 19:19:50 2009 +0100 Add i2c_board_info for RiscPC PCF8583 Add the necessary i2c_board_info structure to fix the lack of PCF8583 RTC on RiscPC. Signed-off-by: Russell King Signed-off-by: Jean Delvare Cc: Alessandro Zummo commit 082a4cf80966ebcd08bf775cd258171cdd85c1a1 Author: Jean Delvare Date: Tue Feb 24 19:19:49 2009 +0100 i2c: Make sure i2c_algo_bit_data.timeout is HZ-independent i2c_algo_bit_data.timeout is supposed to be in jiffies, so drivers should use set this value in terms of HZ. Ultimately I think this field should be discarded in favor of i2c_adapter.timeout, but that's left for a future patch. Signed-off-by: Jean Delvare Acked-by: Russell King Acked-by: Lennert Buytenhek Acked-by: Len Sorensen commit cd97f39b7cdf1c8a9c9f52865eec795b7f0c811d Author: Jean Delvare Date: Tue Feb 24 19:19:49 2009 +0100 i2c-dev: Clarify the unit of ioctl I2C_TIMEOUT The unit in which user-space can set the bus timeout value is jiffies for historical reasons (back when HZ was always 100.) This is however not good because user-space doesn't know how long a jiffy lasts. The timeout value should instead be set in a fixed time unit. Given the original value of HZ, this unit should be 10 ms, for compatibility. Signed-off-by: Jean Delvare Acked-by: Wolfram Sang commit a746b578d8406b2db0e9f0d040061bc1f78433cf Author: Roel Kluin Date: Tue Feb 24 19:19:48 2009 +0100 i2c: Timeouts reach -1 With a postfix decrement these timeouts reach -1 rather than 0, but after the loop it is tested whether they have become 0. As pointed out by Jean Delvare, the condition we are waiting for should also be tested before the timeout. With the current order, you could exit with a timeout error while the job is actually done. Signed-off-by: Roel Kluin Signed-off-by: Jean Delvare commit f29d2e0275a4f03ef2fd158e484508dcb0c64efb Author: Roel Kluin Date: Tue Feb 24 19:19:48 2009 +0100 i2c: Fix misplaced parentheses Fix misplaced parentheses. Signed-off-by: Roel Kluin Signed-off-by: Jean Delvare commit e07a4b9217d1e97d2f3a62b6b070efdc61212110 Author: Helge Bahmann Date: Fri Feb 20 16:24:12 2009 +0300 proc: fix PG_locked reporting in /proc/kpageflags Expr always evaluates to zero. Cc: Matt Mackall Signed-off-by: Andrew Morton Signed-off-by: Alexey Dobriyan commit 1f9f13c8d59c1d8da1a602b71d1ab96d1d37d69e Author: Andrew Patterson Date: Fri Feb 20 16:04:59 2009 -0700 PCI: Enable PCIe AER only after checking firmware support The PCIe port driver currently sets the PCIe AER error reporting bits for any root or switch port without first checking to see if firmware will grant control. This patch moves setting these bits to the AER service driver aer_enable_port routine. The bits are then set for the root port and any downstream switch ports after the check for firmware support (aer_osc_setup) is made. The patch also unsets the bits in a similar fashion when the AER service driver is unloaded. Reviewed-by: Alex Chiang Signed-off-by: Andrew Patterson Signed-off-by: Jesse Barnes commit dbc7e1e567ef8cfc4b792ef6acb51d4ceb15746a Author: Eric W. Biederman Date: Wed Jan 28 19:31:18 2009 -0800 PCI: pciehp: Handle interrupts that happen during initialization. Move the enabling of interrupts after all of the data structures are setup so that we can safely run the interrupt handler as soon as it is registered. Reviewed-by: Kenji Kaneshige Tested-by: Kenji Kaneshige Signed-off-by: Eric W. Biederman Signed-off-by: Jesse Barnes commit 1dec6b054dd1fc780e18b815068bf5677409eb2d Author: Yinghai Lu Date: Mon Feb 23 11:51:59 2009 -0800 PCI: don't enable too many HT MSI mappings Prakash reported that his c51-mcp51 ondie sound card doesn't work with MSI. But if he hacks out the HT-MSI quirk, MSI works fine. So this patch reworks the nv_msi_ht_cap_quirk(). It will now only enable ht_msi on own its root device, avoiding enabling it on devices following that root dev. Reported-by: Prakash Punnoor Tested-by: Prakash Punnoor Signed-off-by: Yinghai Lu Signed-off-by: Jesse Barnes commit d22157b3d7a24d953ef5cce4515436be65b2e121 Author: Chris Wright Date: Mon Feb 23 21:50:35 2009 -0800 PCI: add some sysfs ABI docs Add sysfs ABI docs for driver entries bind, unbind and new_id. These entries are pretty old, from 2.6.0 onwards AFAIK, so this documents current behaviour. Signed-off-by: Chris Wright Acked-by: Greg Kroah-Hartman Signed-off-by: Jesse Barnes commit e73bf9f135fe1e5db646e668676d22af3008e0c0 Author: Beat Michel Liechti Date: Tue Feb 24 15:52:49 2009 +0100 firedtv: dvb_frontend_info for FireDTV S2, fix "frequency limits undefined" error I found that the function fdtv_frontend_init in the file firedtv-fe.c was missing a case for FIREDTV_DVB_S2 which resulted in "frequency limits undefined" errors in syslog. Signed-off-by: Beat Michel Liechti Change by Stefan R: combine it with case case FIREDTV_DVB_S as originally suggested by Beat Michel. This enables FE_CAN_FEC_AUTO also for FireDTV-S2 devices which is possible as long as only DVB-S channels are used. FE_CAN_FEC_AUTO would be wrong for DVB-S2 channels, but those cannot be used yet since the driver is not yet converted to S2API. Signed-off-by: Stefan Richter commit 1f9da5544073d38e05139f8ce9da24e78653c73e Author: Takashi Iwai Date: Tue Feb 24 15:31:02 2009 +0100 ALSA: emu10k1 - Fix digital/analog switch on audigy2 ZS Fix the inverted logic of shared spdif switch. Reference: Novell bnc#478496 https://bugzilla.novell.com/show_bug.cgi?id=478496 Signed-off-by: Takashi Iwai commit 325fb5b4d26038cba665dd0d8ee09555321061f0 Author: Josef Drexler Date: Tue Feb 24 14:53:12 2009 +0100 netfilter: xt_recent: fix proc-file addition/removal of IPv4 addresses Fix regression introduded by commit 079aa88 (netfilter: xt_recent: IPv6 support): From http://bugzilla.kernel.org/show_bug.cgi?id=12753: Problem Description: An uninitialized buffer causes IPv4 addresses added manually (via the +IP command to the proc interface) to never match any packets. Similarly, the -IP command fails to remove IPv4 addresses. Details: In the function recent_entry_lookup, the xt_recent module does comparisons of the entire nf_inet_addr union value, both for IPv4 and IPv6 addresses. For addresses initialized from actual packets the remaining 12 bytes not occupied by the IPv4 are zeroed so this works correctly. However when setting the nf_inet_addr addr variable in the recent_mt_proc_write function, only the IPv4 bytes are initialized and the remaining 12 bytes contain garbage. Hence addresses added in this way never match any packets, unless these uninitialized 12 bytes happened to be zero by coincidence. Similarly, addresses cannot consistently be removed using the proc interface due to mismatch of the garbage bytes (although it will sometimes work to remove an address that was added manually). Reading the /proc/net/xt_recent/ entries hides this problem because this only uses the first 4 bytes when displaying IPv4 addresses. Steps to reproduce: $ iptables -I INPUT -m recent --rcheck -j LOG $ echo +169.254.156.239 > /proc/net/xt_recent/DEFAULT $ cat /proc/net/xt_recent/DEFAULT src=169.254.156.239 ttl: 0 last_seen: 119910 oldest_pkt: 1 119910 [At this point no packets from 169.254.156.239 are being logged.] $ iptables -I INPUT -s 169.254.156.239 -m recent --set $ cat /proc/net/xt_recent/DEFAULT src=169.254.156.239 ttl: 0 last_seen: 119910 oldest_pkt: 1 119910 src=169.254.156.239 ttl: 255 last_seen: 126184 oldest_pkt: 4 125434, 125684, 125934, 126184 [At this point, adding the address via an iptables rule, packets are being logged correctly.] $ echo -169.254.156.239 > /proc/net/xt_recent/DEFAULT $ cat /proc/net/xt_recent/DEFAULT src=169.254.156.239 ttl: 0 last_seen: 119910 oldest_pkt: 1 119910 src=169.254.156.239 ttl: 255 last_seen: 126992 oldest_pkt: 10 125434, 125684, 125934, 126184, 126434, 126684, 126934, 126991, 126991, 126992 $ echo -169.254.156.239 > /proc/net/xt_recent/DEFAULT $ cat /proc/net/xt_recent/DEFAULT src=169.254.156.239 ttl: 0 last_seen: 119910 oldest_pkt: 1 119910 src=169.254.156.239 ttl: 255 last_seen: 126992 oldest_pkt: 10 125434, 125684, 125934, 126184, 126434, 126684, 126934, 126991, 126991, 126992 [Removing the address via /proc interface failed evidently.] Possible solutions: - initialize the addr variable in recent_mt_proc_write - compare only 4 bytes for IPv4 addresses in recent_entry_lookup Signed-off-by: Patrick McHardy commit 154907957f9391b1af997b57507b16c018cc4995 Author: Stefan Richter Date: Mon Feb 23 14:21:10 2009 +0100 firedtv: massive refactoring Combination of the following changes: Mon, 23 Feb 2009 14:21:10 +0100 (CET) firedtv: reinstate debug logging option Henrik Kurelid tells me that FCP debug logging (which I removed during cleanups) is still useful when working on driver issues together with end users. So bring it back in an updated form with only 60% of the original code footprint. Logging can be enabled with # echo -1 > /sys/module/firedtv/parameters/debug 1 instead of -1 enables only FCP header logging, 2 instead of -1 enables only hexdumps of the entire FCP frames. 0 switches logging off again. Fri, 20 Feb 2009 20:54:27 +0100 (CET) firedtv: build fix for INPUT=m and DVB_FIREDTV=y Thu, 19 Feb 2009 20:40:39 +0100 firedtv: use msecs_to_jiffies Pointed out by Mauro Carvalho Chehab. Sun Feb 15 20:50:46 CET 2009 firedtv: some more housekeeping Fix an old checkpatch warning and a new compiler warning. Sun Feb 15 15:33:17 CET 2009 firedtv: rename a file once more At the moment, about a third of avc.c is specific to FireDTVs rather than generic AV/C code. Rename it to firedtv-avc.c. Sun Feb 15 15:33:17 CET 2009 firedtv: dvb demux: more compact channels backing store Replace struct firedtv_channel { bool active; int pid; } channel[16]; by unsigned long channel_active; u16 channel_pid[16];. Sun Feb 15 15:33:17 CET 2009 firedtv: dvb demux: some simplifications c->active was unnecessarily cleared twice. Also, by marking the channel inactive before the for loop, the loop becomes identical with fdtv_channel_collect(). Sun Feb 15 15:33:17 CET 2009 firedtv: dvb demux: remove a bogus loop This loop is unnecessary because - only active channel[].pid's will be sent to the device, - when a channel is activated, its pid is set to dvbdmxfeed->pid. Perhaps the original code was there because it was initially not fully covered by the fdtv->demux_mutex. Sun Feb 15 15:33:17 CET 2009 firedtv: dvb demux: fix mutex protection fdtv_start_feed() accessed the channel list unsafely. Fully serialize it with itself and fdtv_stop_feed(). Sun Feb 15 15:33:17 CET 2009 firedtv: dvb demux: fix missing braces Original code was: ... case DMX_TS_PES_OTHER: //Dirty fix to keep firesat->channel pid-list up to date for(k=0;k<16;k++){ if(firesat->channel[k].active == 0) firesat->channel[k].pid = dvbdmxfeed->pid; break; } channel = firesat_channel_allocate(firesat); break; default: ... Looks bogus in several respects. For now let's just add braces to the if because that seems to be what the author meant. Sun Feb 15 15:33:17 CET 2009 firedtv: allow build without input subsystem !CONFIG_INPUT is very unlikely on systems on which firedtv is of interest. But we can easily support it. Sun Feb 15 15:33:17 CET 2009 firedtv: replace EXTRA_CFLAGS by ccflags The former are deprecated. The latter can depend on Kconfig variables. Sun Feb 15 15:33:17 CET 2009 firedtv: concentrate ieee1394 dependencies Move the entire interface with drivers/ieee1394 to firedtv-1394.c. Move 1394-independent module initialization code to firedtv-dvb.c. This prepares interfacing with drivers/firewire. Sun Feb 15 15:33:17 CET 2009 firedtv: amend Kconfig menu prompt Sun Feb 15 15:33:17 CET 2009 firedtv: remove kernel version compatibility macro Sun Feb 15 15:33:17 CET 2009 firedtv: combine header files avc.h and firedtv-*.h are small and currently not shared with other drivers, hence concatenate them all into firedtv.h. Sun Feb 15 15:33:17 CET 2009 firedtv: misc style touch-ups Standardize on lower-case hexadecimal constants. Adjust whitespace. Omit unnecessary pointer type casts and an unnecessary list head initialization. Use dev_printk. Wed Feb 11 21:21:04 CET 2009 firedtv: avc, ci: remove unused constants Wed Feb 11 21:21:04 CET 2009 firedtv: avc: remove bitfields from read descriptor response operands Don't use bitfields in struct types of on-the-wire data. Wed Feb 11 21:21:04 CET 2009 firedtv: avc: remove bitfields from DSD command operands Don't use bitfields in struct types of on-the-wire data. Wed Feb 11 21:21:04 CET 2009 firedtv: avc: header file cleanup Remove unused constants and declarations. Move privately used constants into .c files. Wed Feb 11 21:21:04 CET 2009 firedtv: avc: remove bitfields from FCP frame types Don't use bitfields in struct types of on-the-wire data. Also move many privately used constants from avc.h to avc.c and remove some unused constants. Sun, 18 Jan 2009 16:30:00 +0100 (CET) firedtv: avc: fix offset in avc_tuner_get_ts The parentheses were wrong. It didn't matter though because this code only writes a 0 into an area which is already initialized to 0. Sun, 18 Jan 2009 16:30:00 +0100 (CET) firedtv: avc: reduce stack usage, remove two typedefs It is safe to share a memory buffer for command frame and response frame because the response data come in after the command frame was last used. Even less stack would be required if only the actual required frame size instead of the entire FCP register size was allocated. Also, rename the defined types AVCCmdFrm and AVCRspFrm to struct avc_command_frame and struct avc_response_frame. TODO: Remove the bitfields in these types. Sun, 18 Jan 2009 16:30:00 +0100 (CET) firedtv: cmp: move code to avc Sun, 18 Jan 2009 16:30:00 +0100 (CET) firedtv: iso: move code to firedtv-1394 Sun, 18 Jan 2009 16:30:00 +0100 (CET) firedtv: iso: remove unnecessary struct type definitions Sun, 18 Jan 2009 16:30:00 +0100 (CET) firedtv: iso: style changes and fixlets Add cleanup after failure in setup_iso_channel. Replace printk() by dv_err(). Decrease indentation level in rawiso_activity_cb(). Signed-off-by: Stefan Richter commit a70f81c1c0dac113ac4705e7701e2676e67905cd Author: Rambaldi Date: Sat Jan 17 14:47:34 2009 +0100 firedtv: rename files, variables, functions from firesat to firedtv Combination of the following changes: Sat, 17 Jan 2009 14:47:34 +0100 firedtv: rename variables and functions from firesat to firedtv Signed-off-by: Rambaldi Additional changes by Stefan Richter: Renamed struct firedtv *firedtv to struct firedtv *fdtv and firedtv_foo_bar() to fdtv_foo_bar() for brevity. Sat, 17 Jan 2009 13:07:44 +0100 firedtv: rename files from firesat to firedtv Signed-off-by: Rambaldi Additional changes by Stefan Richter: Name the directory "firewire" instead of "firedtv". Standardize on "-" instead of "_" in file names, because that's what drivers/firewire/ and drivers/media/dvb/dvb-usb/ use too. Build fix. Signed-off-by: Stefan Richter commit 291f006efeebeeb2073289e44efb8f97cf157220 Author: Julia Lawall Date: Thu Dec 25 15:34:25 2008 +0100 firedtv: Use DEFINE_SPINLOCK SPIN_LOCK_UNLOCKED is deprecated. The following makes the change suggested in Documentation/spinlocks.txt Signed-off-by: Julia Lawall Signed-off-by: Stefan Richter commit a40bf5591681f707afcf550cdcb4cc1697a29504 Author: Henrik Kurelid Date: Mon Dec 15 08:17:12 2008 +0100 firedtv: fix registration - adapter number could only be zero There was a bug causing the initialization to fail if adapter number was greater than zero. The adapter was however registered which caused the driver to oops the second time initialization was tried. Signed-off-by: Henrik Kurelid Signed-off-by: Stefan Richter commit 7199e523ef71d24cd8030ea454fca00bb52d58f0 Author: Henrik Kurelid Date: Fri Dec 5 10:00:16 2008 +0100 firedtv: use length_field() of PMT as length Parsed and used the length_field() of the PMT message instead of using the length field of the message struct, which does not seem to be filled correctly by e.g. MythTV. Signed-off-by: Henrik Kurelid Signed-off-by: Stefan Richter commit 096edfbf167ab277608d26ba8b7978da116a4996 Author: Henrik Kurelid Date: Thu Dec 4 22:40:52 2008 +0100 firedtv: fix returned struct for ca_info The SystemId of the ca_info message was filled with garbage. It now returns what the card returns. Signed-off-by: Henrik Kurelid Signed-off-by: Stefan Richter commit 8ae83cdf3297d7da301af36bdb6ff45bd331c6d0 Author: Stefan Richter Date: Sun Nov 2 13:45:00 2008 +0100 firedtv: cleanups and minor fixes Combination of the following changes: Sun, 2 Nov 2008 13:45:00 +0100 (CET) firedtv: increase FCP frame length for DVB-S2 tune QSPK The last three bytes didn't go out to the wire. Effect of the fix not yet tested. Sun, 2 Nov 2008 13:45:00 +0100 (CET) firedtv: replace mdelay by msleep These functions can sleep (and in fact sleep for the duration of a whole FCP transaction). Hence msleep is more appropriate here. Sun, 2 Nov 2008 13:45:00 +0100 (CET) firedtv: trivial reorganization in avc_api Reduce nesting level by factoring code out of avc_tuner_dsd() into helper functions. Sun, 2 Nov 2008 13:45:00 +0100 (CET) firedtv: trivial cleanups in avc_api Use dev_err(), no CamelCase function names, adjust comment style, put #if 0 around unused code and add FIXME comments, standardize on lower-case hexadecimal constants, use ALIGN() for some frame length calculations, make a local function static... The code which writes FCP command frames and reads FCP response frames is not yet brought into canonical kernel coding style because this involves changes of typedefs (on-the-wire bitfields). Sun, 2 Nov 2008 13:45:00 +0100 (CET) firedtv: don't retry oPCR updates endlessly In the theoretical case that the target node wasn't handling the lock transactions as expected or there was continued interference by other initiating nodes, these functions wouldn't return for ages. Sun, 2 Nov 2008 13:45:00 +0100 (CET) firedtv: remove bitfield typedefs from cmp, fix for big endian CPUs Use macros/ inline functions/ standard byte order accessors to read and write oPCR register values (big endian bitfields, on-the-wire data). The new code may not be the ultimate optimum, but it doesn't occur in a hot path. This fixes the CMP code for big endian CPUs. So far I tested it only on a little endian CPU though. For now, include instead of because drivers/ieee1394/*.h also include the former. I will fix this in drivers/ieee1394 and firedtv later. Sun, 2 Nov 2008 13:45:00 +0100 (CET) firedtv: trivial cleanups in cmp Reduce nesting level by means of early exit and goto. Remove obsolete includes, use dev_err(), no CamelCase function names... Sun, 2 Nov 2008 13:45:00 +0100 (CET) firedtv: trivial cleanups in firesat-ci Whitespace, variable names, comment style... Also, use dvb_generic_open() and dvb_generic_release() directly as our hooks in struct file_operations because firedtv's wrappers merely called these generic functions. Sun, 2 Nov 2008 13:45:00 +0100 (CET) firedtv: remove CA debug code This looks like it is not necessary to have available for endusers who cannot patch kernels for bug reporting and tests of fixes. Sun, 2 Nov 2008 13:45:00 +0100 (CET) firedtv: remove AV/C debug code This looks like it is not necessary to have available for endusers who cannot patch kernels for bug reporting and tests of fixes. Sun, 2 Nov 2008 13:45:00 +0100 (CET) firedtv: remove various debug code Most of this was already commented out. And that which wasn't is not relevant in normal use. Mon, 29 Sep 2008 19:22:48 +0200 (CEST) firedtv: register input device as child of a FireWire device Instead of one virtual input device which exists for the whole lifetime of the driver and receives events from all connected FireDTVs, register one input device for each firedtv device. These input devices will show up as children of the respective firedtv devices in the sysfs hierarchy. However, the implementation falls short because of a bug in userspace: Udev's path_id script gets stuck with 100% CPU utilization, maybe because of an assumption about the maximum ieee1394 device hierarchy depth. To avoid this bug, we use the fw-host device instead of the proper unit_directory device as parent of the input device. There is hope that the port to the new firewire stack won't be inhibited by this userspace bug because there are no fw-host devices there. Mon, 29 Sep 2008 19:21:52 +0200 (CEST) firedtv: fix string comparison and a few sparse warnings Sparse found a bug: while ((kv_buf + kv_len - 1) == '\0') should have been while (kv_buf[kv_len - 1] == '\0') We fix it by a better implementation without a temporary copy. Also fix sparse warnings of 0 instead of NULL and signedness mismatches. Mon, 29 Sep 2008 19:21:20 +0200 (CEST) firedtv: remove unused struct members and redefine an int as a bool. Mon, 29 Sep 2008 19:20:36 +0200 (CEST) firedtv: fix initialization of dvb_frontend.ops There was a NULL pointer reference if no dvb_frontend_info was found. Also, don't directly assign struct typed values to struct typed variables. Instead write out assignments to individual strcut members. This reduces module size by about 1 kB. Mon, 29 Sep 2008 19:19:41 +0200 (CEST) firedtv: remove unused dual subunit code from initialization No FireDTVs with more than one subunit exists, hence simplify the initialization for the special case of one subunit. The driver was able to check for more than one subunit but was broken for more than two subunits. While we are at it, add several missing cleanups after failure, and include a few dynamically allocated structures diretly into struct firesat instead of allocating them separately. Mon, 29 Sep 2008 19:19:08 +0200 (CEST) firedtv: add vendor_id and version to driver match table Now that nodemgr was enhanced to match against the root directory's vendor ID if there isn't one in the unit directory, use this to prevent firedtv to be bound to wrong devices by accident. Also add the AV/C software version ID to the match flags for completeness; specifier ID and software only make sense as a pair. Mon, 29 Sep 2008 19:18:30 +0200 (CEST) firedtv: use hpsb_node_read(), _write(), _lock() because they are simpler and treat the node generation more correctly. While we are at it, clean up and simplify surrounding code. Signed-off-by: Stefan Richter commit 00fc3072e484c1c6fdbd9c3b1851f866000a6cb9 Author: Stefan Richter Date: Mon Feb 16 23:42:31 2009 +0100 ieee1394: remove superfluous assertions hpsb_read, hpsb_write, hpsb_lock are sleeping functions which nobody is in danger to use in atomic context. Besides, in_interrupt does not cover all types of atomic context. Signed-off-by: Stefan Richter commit 9c939e4df432fe4ed17bdbf7bc14111ec51ef7c9 Author: Stefan Richter Date: Wed Aug 27 01:24:25 2008 +0200 ieee1394: inherit ud vendor_id from node vendor_id While Module_Vendor_ID in the configuration ROM's root directory is mandatory, there often aren't vendor IDs in unit directories. This affects the new firedtv driver which is meant to be auto-loaded and matched only for vendor-specific devices. We now always copy ne->vendor_id into ud->vendor_id before we scan a unit directory (and fill in a possibly present vendor ID from there). This way, the root directory's vendor ID is used as fallback in the "uevent" environment for modprobe'ing per module alias when a node was plugged in, and in the driver match routine when protocol drivers are bound to unit directories. It will however not be used as sysfs attribute of a unit directory device. Signed-off-by: Stefan Richter commit b33fdd6ca576d6c476c6aebf350d4556294d74ac Author: Stefan Richter Date: Wed Aug 27 13:40:02 2008 +0200 ieee1394: add hpsb_node_read() and hpsb_node_lock() These will be used by the firedtv driver. Like hpsb_node_write() they are much better APIs for high-level drivers than hpsb_write() and its siblings --- easier to use correctly and also terser. Unlike hspb_node_write(), the two new functions will only be used by one call site. Hence make them static inline instead of exported symbols. Signed-off-by: Stefan Richter commit 29f8ea8ab09bad0c3c0d67964559d27643e97903 Author: Stefan Richter Date: Wed Aug 27 01:18:32 2008 +0200 ieee1394: use correct barrier types between accesses of nodeid and generation A compiler barrier (explicit on the read side, implicit on the write side) is not quite enough for what has to be accomplished here. Use hardware memory barriers on systems which need them. (Of course a full fix of generation handling would require much more than this. The ieee1394 core's bus generation counter had to be tied to the controller's bus generation counter; cf. Kristian's stack. It's just that I have other current business with the code around these barrier()s, so why not do at least this small fix.) Signed-off-by: Stefan Richter commit 612262a53352af839a14b3395975a3440c95080a Author: Stefan Richter Date: Tue Aug 26 00:17:30 2008 +0200 firesat: copyrights, rename to firedtv, API conversions, fix remote control input Combination of the following changes: Tue, 26 Aug 2008 00:17:30 +0200 (CEST) firedtv: fix remote control input and update the scancode-to-keycode mapping to a current model. Per default, various media key keycodes are emitted which closely match what is printed on the remote. Userland can modify the mapping by means of evdev ioctls. (Not tested.) The old scancode-to-keycode mapping is left in the driver but cannot be modified by ioctls. This preserves status quo for old remotes. Tue, 26 Aug 2008 00:11:28 +0200 (CEST) firedtv: replace tasklet by workqueue job Non-atomic context is a lot nicer to work with. Sun, 24 Aug 2008 23:30:00 +0200 (CEST) firedtv: move some code back to ieee1394 core Partially reverts "ieee1394: remove unused code" of Linux 2.6.25. Sun, 24 Aug 2008 23:29:30 +0200 (CEST) firedtv: replace semaphore by mutex firesat->avc_sem and ->demux_sem have been used exactly like a mutex. The only exception is the schedule_remotecontrol tasklet which did a down_trylock in atomic context. This is not possible with mutex_trylock; however the whole remote control related code is non-functional anyway at the moment. This should be fixed eventually, probably by turning the tasklet into a worqueue job. Convert everything else from semaphore to mutex. Also rewrite a few of the affected functions to unlock the mutex at a single exit point, instead of in several branches. Sun, 24 Aug 2008 23:28:45 +0200 (CEST) firedtv: some header cleanups Unify #ifndef/#define/#endif guards against multiple inclusion. Drop extern keyword from function declarations. Remove #include's into header files where struct declarations suffice. Remove unused ohci1394 interface and related unused ieee1394 interfaces. Add a few missing #include's and remove a few apparently obsolete ones. Sort them alphabetically. Sun, 24 Aug 2008 23:27:45 +0200 (CEST) firedtv: nicer registration message and some initialization fixes Print the correct name in dvb_register_adapter(). While we are at it, replace two switch cascades by one for loop, remove a superfluous member of struct firesat and of two unused arguments of AVCIdentifySubunit(), and fix bogus kfree's in firesat_dvbdev_init(). Tue, 26 Aug 2008 14:24:17 +0200 (CEST) firesat: rename to firedtv Suggested by Andreas Monitzer. Besides DVB-S/-S2 receivers, the driver also supports DVB-C and DVB-T receivers, hence the previous project name is too narrow now. Not yet done: Rename source directory, files, types, variables... Sun, 24 Aug 2008 23:26:23 +0200 (CEST) firesat: add missing copyright notes Reported by Andreas Monitzer and Christian Dolzer. Signed-off-by: Stefan Richter commit 81c67b7f82769292a86b802590be5879413f9278 Author: Henrik Kurelid Date: Sun Aug 24 15:20:07 2008 +0200 firesat: avc resend - Add resending of AVC message to the card if no answer is received - Replace the homebrewed event_wait function with a standard wait queue - Clean up of log/error messages - Increase debug level of avc communication Signed-off-by: Henrik Kurelid Signed-off-by: Stefan Richter commit df4846c35247a0d038c5359d502cddd59d04bc40 Author: Henrik Kurelid Date: Fri Aug 1 10:00:45 2008 +0200 firesat: update isochronous interface, add CI support I have finally managed to get the CI support for the card working. The implementation is a bare minimum to get encrypted channels to work in kaffeine. It works fine with my T/CI card. Now and then I get an AVC timeout and have to retune a channel in order to get it to work. Once the CAM seemed to hang so I needed to remove and insert it again. I.e. there are a number of glitches. The latest version contains the following changes: - Implemented the new hpsb iso interface so that data can be received from the card - Reduced some timers for demux setup which caused scanning to timeout - Added possibility to unload driver - Added support for getting C/N ratio - Added two debug parameters to the driver; ca_debug and avc_comm_debug. - Added CI support that works for me in kaffeine - Started working on CI MMI support. It now supports: o Enter menu o Receiving MMI objects - Added support for 64-bit platforms - Corrected DVB-C modulations problems Signed-off-by: Henrik Kurelid Signed-off-by: Stefan Richter (rebased, whitespace) commit 2c22861459f094e899c034515a9bb92ac307ceae Author: Ben Backx Date: Sat Aug 9 14:35:55 2008 +0200 firesat: add DVB-S support for DVB-S2 devices ...so S2 owners now can at least watch DVB-S channels in linux. Signed-off-by: Ben Backx Signed-off-by: Stefan Richter commit f1bbb43a667067f24a729df78dc050348b1c7846 Author: Ben Backx Date: Sun Jun 22 16:00:53 2008 +0200 firesat: fix DVB-S2 device recognition This only makes sure that a DVB-S2 device is really recognized as a S2, nothing else is added yet. It's using the string containing the model that is stored in the configuration ROM, the older version was using some hardware revision dependent part of the ROM. Signed-off-by: Ben Backx Signed-off-by: Stefan Richter commit c81c8b68b46752721b0c1addfabb828da27e1489 Author: Greg Kroah-Hartman Date: Thu Mar 6 21:30:23 2008 -0800 DVB: add firesat driver Original code written by Christian Dolzer Cleaned up by Greg. Major cleanup and reorg by Manu Abraham Additions also by Ben Backx Cc: Christian Dolzer Cc: Andreas Monitzer Cc: Manu Abraham Cc: Fabio De Lorenzo Cc: Robert Berger Signed-off-by: Ben Backx Signed-off-by: Greg Kroah-Hartman Added missing dependency to dvb/firesat/Kconfig, Reported-by: Randy Dunlap Tweaked dvb/Makefile. Signed-off-by: Stefan Richter commit 467388f29fc9cebfb70e7a187107b6b5d772cb44 Merge: 028e141 f7e603a Author: David S. Miller Date: Tue Feb 24 03:49:55 2009 -0800 Merge branch 'master' of /home/davem/src/GIT/linux-2.6/ commit 028e1415a78733fcd2cba4b4c001826cc37a373e Author: Dhananjay Phadke Date: Tue Feb 24 03:44:23 2009 -0800 netxen: handle pci bar 0 mapping failure PCI bar 0 is used for memory mapped register access. If ioremap fails (returns NULL), register access results in crash. Use pci_ioremap_bar() instead of ioremap(), the latter fails on on 32 bit powerpc where pci resource address is > 32 bits. Signed-off-by: Dhananjay Phadke Signed-off-by: David S. Miller commit 044fad0dbb4e814c061916fe5a36851af2fd1135 Author: Dhananjay Phadke Date: Tue Feb 24 03:42:59 2009 -0800 netxen: fix physical port mapping The PCI function to physical port mapping is valid only for old firmware. New firmware (4.0.0+) abstracts this. So driver should never try to access phy using invalid mapping. The behavior is unpredictable when PCI functions 4-7 are enabled on the same NIC. Signed-off-by: Dhananjay Phadke Signed-off-by: David S. Miller commit d9a8798c4bab5ccd40e45e011f668099cfb3eb83 Author: Phil Sutter Date: Sun Feb 8 16:44:42 2009 +0100 [WATCHDOG] rc32434_wdt: fix sections Fix init and exit sections. Signed-off-by: Phil Sutter Signed-off-by: Wim Van Sebroeck Cc: stable commit 0af98d37e85e6958eb84987b1f60da3b54008317 Author: Phil Sutter Date: Sun Feb 8 16:44:42 2009 +0100 [WATCHDOG] rc32434_wdt: fix watchdog driver The existing driver code wasn't working. Neither the timeout was set correctly, nor system reset was being triggered, as the driver seemed to keep the WDT alive himself. There was also some unnecessary code. Signed-off-by: Phil Sutter Signed-off-by: Wim Van Sebroeck Cc: stable commit f7e603ad8f78cd3b59e33fa72707da0cbabdf699 Merge: cac7112 50fee1d Author: Linus Torvalds Date: Mon Feb 23 20:29:21 2009 -0800 Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-2.6 * git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-2.6: net: amend the fix for SO_BSDCOMPAT gsopt infoleak netns: build fix for net_alloc_generic commit cac711211a039ae2e2dc6322ffb3c2279d093bf1 Author: Krzysztof Sachanowicz Date: Mon Feb 23 22:21:55 2009 +0100 proc: proc_get_inode should de_put when inode already initialized de_get is called before every proc_get_inode, but corresponding de_put is called only when dropping last reference to an inode. This might cause something like remove_proc_entry: /proc/stats busy, count=14496 to be printed to the syslog. The fix is to call de_put in case of an already initialized inode in proc_get_inode. Signed-off-by: Krzysztof Sachanowicz Tested-by: Marcin Pilipczuk Acked-by: Al Viro Signed-off-by: Linus Torvalds commit 226485e9a91ee89c941d8cb7714f85644a8071d0 Author: Jesse Barnes Date: Mon Feb 23 15:41:09 2009 -0800 i915: suspend/resume interrupt state In the KMS case, enter/leavevt won't fix up the interrupt handler for us, so we need to do it at suspend/resume time. Make sure we don't fail the resume if the chip is hung either. Signed-off-by: Jesse Barnes Signed-off-by: Linus Torvalds commit 6c0594a306790ab03db345086c0c6c922a900bf6 Author: Karsten Wiese Date: Mon Feb 23 15:07:57 2009 +0100 Fix an oops in i915_gem_retire_requests() dev_priv->hw_status_page can be NULL, if i915_gem_retire_requests() is called from i915_gem_busy_ioctl(). Signed-off-by Karsten Wiese Signed-off-by: Linus Torvalds commit 50fee1dec5d71b8a14c1b82f2f42e16adc227f8b Author: Eugene Teo Date: Mon Feb 23 15:38:41 2009 -0800 net: amend the fix for SO_BSDCOMPAT gsopt infoleak The fix for CVE-2009-0676 (upstream commit df0bca04) is incomplete. Note that the same problem of leaking kernel memory will reappear if someone on some architecture uses struct timeval with some internal padding (for example tv_sec 64-bit and tv_usec 32-bit) --- then, you are going to leak the padded bytes to userspace. Signed-off-by: Eugene Teo Reported-by: Mikulas Patocka Signed-off-by: David S. Miller commit ebe47d47b7b7fed72dabcce4717da727b4e2367d Author: Clemens Noss Date: Mon Feb 23 15:37:35 2009 -0800 netns: build fix for net_alloc_generic net_alloc_generic was defined in #ifdef CONFIG_NET_NS, but used unconditionally. Move net_alloc_generic out of #ifdef. Signed-off-by: Clemens Noss Signed-off-by: David S. Miller commit 954a8b8162ecab1d5ddf6c5b993b2d4da3fcaef7 Author: Kyle McMartin Date: Thu Feb 19 16:48:14 2009 -0500 x86, doc: fix references to Documentation/x86/i386/boot.txt Impact: Documentation fix The amazing dancing boot.txt file has jumped places again. It should never have been in Documentation/x86/i386, since it never was 32-bit-specific, but it unfortunately ended up there for a while. Signed-off-by: Kyle McMartin Signed-off-by: H. Peter Anvin commit ea5a42c22ee123dfc8fa34c421cf95d6235e54d9 Merge: d38e84e bb402f1 Author: Linus Torvalds Date: Mon Feb 23 14:38:20 2009 -0800 Merge git://git.kernel.org/pub/scm/linux/kernel/git/herbert/crypto-2.6 * git://git.kernel.org/pub/scm/linux/kernel/git/herbert/crypto-2.6: crypto: ahash - Fix digest size in /proc/crypto commit d38e84ee39783e00bd0b83a8dd19e54709950912 Merge: 20f4d6c 486a87f Author: Linus Torvalds Date: Mon Feb 23 14:36:05 2009 -0800 Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-2.6 * git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-2.6: netns: fix double free at netns creation veth : add the set_mac_address capability sunlance: Beyond ARRAY_SIZE of ib->btx_ring sungem: another error printed one too early ISDN: fix sc/shmem printk format warning SMSC: timeout reaches -1 smsc9420: handle magic field of ethtool_eeprom sundance: missing parentheses? smsc9420: fix another postfixed timeout wimax/i2400m: driver loads firmware v1.4 instead of v1.3 vlan: Update skb->mac_header in __vlan_put_tag(). cxgb3: Add support for PCI ID 0x35. tcp: remove obsoleted comment about different passes TG3: &&/|| confusion ATM: misplaced parentheses? net/mv643xx: don't disable the mib timer too early and lock properly net/mv643xx: use GFP_ATOMIC while atomic atl1c: Atheros L1C Gigabit Ethernet driver net: Kill skb_truesize_check(), it only catches false-positives. net: forcedeth: Fix wake-on-lan regression commit 046ee5d26ac91316a8ac0a29c0b33139dc9da20d Author: Larry Finger Date: Tue Feb 17 14:31:12 2009 -0600 rtl8187: New USB ID's for RTL8187L Add new USB ID codes. These come from two postings on forums and mailing lists, and four are derived from the .inf that accompanies the latest Realtek Windows driver for the RTL8187L. Thanks to Viktor Ilijašić and Xose Vazquez Perez for reporting these new ID's. Signed-off-by: Larry Finger Signed-off-by: John W. Linville commit 40b130a947672d0ca886b718bfc4bd7641b6b39d Author: Vasanthakumar Thiagarajan Date: Mon Feb 16 13:55:07 2009 +0530 ath9k: Fix panic upon attach failure [246916.338046] [246916.338048] Pid: 29265, comm: insmod Not tainted (2.6.29-rc4-wl #64) 9461DUU [246916.338051] EIP: 0060:[] EFLAGS: 00010202 CPU: 0 [246916.338055] EIP is at rollback_registered+0x24/0x220 [246916.338057] EAX: 00000001 EBX: 00000000 ECX: 00000000 EDX: f122e8fc [246916.338059] ESI: 00000000 EDI: 00000000 EBP: f6595d30 ESP: f6595d1c [246916.338062] DS: 007b ES: 007b FS: 00d8 GS: 0033 SS: 0068 [246916.338064] Process insmod (pid: 29265, ti=f6594000 task=f7343fe0 task.ti=f6594000) [246916.338067] Stack: [246916.338068] c04a2920 22222222 f6595d48 00000000 f122f080 f6595d48 c02ca489 f122e8fc [246916.338076] f122e220 f122f080 f122e220 f6595d5c f8a03156 f122e220 f122f080 f122e220 [246916.338085] f6595d80 f87359af f122f080 00002000 f874e129 f122f150 f122f080 f6290000 [246916.338094] Call Trace: [246916.338096] [] ? unregister_netdevice+0x19/0x70 [246916.338100] [] ? ieee80211_unregister_hw+0x36/0xd0 [mac80211] [246916.338112] [] ? ath_detach+0xcf/0x250 [ath9k] [246916.338127] [] ? ath_attach+0x26c/0x740 [ath9k] [246916.338139] [] ? ath_pci_probe+0x13a/0x310 [ath9k] [246916.338151] [] ? _raw_spin_unlock+0x68/0x80 [246916.338158] [] ? local_pci_probe+0xe/0x10 [246916.338162] [] ? pci_device_probe+0x60/0x80 [246916.338169] [] ? driver_probe_device+0x82/0x1b0 [246916.338174] [] ? __driver_attach+0x89/0x90 [246916.338180] [] ? bus_for_each_dev+0x4b/0x70 [246916.338184] [] ? pci_device_remove+0x0/0x40 [246916.338190] [] ? driver_attach+0x19/0x20 [246916.338193] [] ? __driver_attach+0x0/0x90 [246916.338197] [] ? bus_add_driver+0x1b7/0x230 [246916.338203] [] ? pci_device_remove+0x0/0x40 [246916.338206] [] ? driver_register+0x69/0x140 [246916.338212] [] ? ath9k_init+0x0/0x54 [ath9k] [246916.338221] [] ? __pci_register_driver+0x4e/0x90 [246916.338225] [] ? ath9k_init+0x0/0x54 [ath9k] [246916.338232] [] ? ath_pci_init+0x17/0x19 [ath9k] [246916.338238] [] ? ath9k_init+0x17/0x54 [ath9k] [246916.338245] [] ? tracepoint_update_probe_range+0x7e/0xb0 [246916.338249] [] ? do_one_initcall+0x2a/0x170 [246916.338252] [] ? up_read+0x16/0x30 [246916.338256] [] ? __blocking_notifier_call_chain+0x4d/0x60 [246916.338265] [] ? sys_init_module+0x8a/0x1c0 [246916.338269] [] ? trace_hardirqs_on_thunk+0xc/0x10 [246916.338272] [] ? sysenter_do_call+0x12/0x43 [246916.338276] Code: 8d bc 27 00 00 00 00 55 89 e5 56 89 c6 53 83 ec 0c a1 74 27 4a c0 85 c0 0f 85 4b 01 00 00 e8 04 7d 00 00 85 c0 0f 84 c9 01 00 00 <8b> 86 18 03 00 00 85 c0 0f 84 86 01 00 00 83 e8 01 0f 85 71 01 [246916.338328] EIP: [] rollback_registered+0x24/0x220 SS:ESP 0068:f6595d1c [246916.338335] ---[ end trace 76357c56a75ea34e ]--- Signed-off-by: Vasanthakumar Thiagarajan Signed-off-by: John W. Linville commit 5c138dcee7d4a9e68cce546a45968bbf5dbfce80 Author: Andrey Borzenkov Date: Sun Feb 15 12:51:18 2009 +0300 orinoco: do not resgister NULL pm_notifier function With DEBUG_NOTIFIERS it results in [11330.890966] WARNING: at /home/bor/src/linux-git/kernel/notifier.c:88 notifier_call_chain+0x91/0xa0() [11330.890977] Hardware name: PORTEGE 4000 [11330.890983] Invalid notifier called! ... Without DEBUG_NOTIFIERS it most likely crashes on NULL pointer. Signed-off-by: Andrey Borzenkov Acked-by: David Kilroy Signed-off-by: John W. Linville commit cc374c477c9bf95f409fed16426856d86a97394f Author: Juan Jesus Garcia de Soria Date: Mon Feb 23 08:11:59 2009 +0100 ALSA: hda - Quirk for Acer Aspire 6530G The Acer Aspire 6530G needs the 4930G "model" for the front mic to work properly. Signed-off-by: Takashi Iwai commit 2d4663816064fabb68935f920bbd7ccdc7f9392d Author: Luke Yelavich Date: Mon Feb 23 13:00:33 2009 +1100 ALSA: hda - add another MacBook Pro 3,1 SSID Reference: Ubuntu bug #33245 https://bugs.launchpad.net/bugs/332456 Signed-off-by: Luke Yelavich Signed-off-by: Takashi Iwai commit 5370d96f85962769ea3df3a81cc885f257c51589 Author: Steve Chen Date: Sat Feb 21 08:05:04 2009 -0600 ALSA: fix excessive background noise introduced by OSS emulation rate shrink Incorrect variable was used to get the next sample which caused S2 to be stuck with the same value resulting in loud background noise. Signed-off-by: Steve Chen Cc: Signed-off-by: Takashi Iwai commit e8bf069c419c1dc0657e02636441fe1179a9db14 Author: Anssi Hannula Date: Sun Feb 22 14:42:54 2009 +0200 ALSA: aw2: do not grab every saa7146 based device Audiowerk2 driver snd-aw2 is bound to any saa7146 device as it does not check subsystem ids. Many DVB devices are saa7146 based, so aw2 driver grabs them as well. According to http://lkml.org/lkml/2008/10/15/311 aw2 devices have the subsystem ids set to 0, the saa7146 default. Fix conflicts with DVB devices by checking for subsystem ids = 0 specifically. Signed-off-by: Anssi Hannula Signed-off-by: Takashi Iwai commit 20f4d6c3a2a23c5d7d9cc7f42fbb943ca7a03d1f Author: Linus Torvalds Date: Sun Feb 22 20:19:40 2009 -0800 Linux 2.6.29-rc6 commit af23f573e817642479fdd05e2b5da5b268eacfaf Author: Randy Dunlap Date: Sun Feb 22 17:05:22 2009 -0800 acpi/doc: add missing param value Add missing parameter value to list of available values for acpi=. Signed-off-by: Randy Dunlap Signed-off-by: Linus Torvalds commit ebd3610b110bbb18ea6f9f2aeed1e1068c537227 Author: Jan Kara Date: Sun Feb 22 21:09:59 2009 -0500 ext4: Fix deadlock in ext4_write_begin() and ext4_da_write_begin() Functions ext4_write_begin() and ext4_da_write_begin() call grab_cache_page_write_begin() without AOP_FLAG_NOFS. Thus it can happen that page reclaim is triggered in that function and it recurses back into the filesystem (or some other filesystem). But this can lead to various problems as a transaction is already started at that point. Add the necessary flag. http://bugzilla.kernel.org/show_bug.cgi?id=11688 Signed-off-by: Jan Kara Signed-off-by: "Theodore Ts'o" commit 8310509252c51e2a0e9effb50fefe7e098a67868 Merge: 09c50b4 5004417 Author: Linus Torvalds Date: Sun Feb 22 16:26:09 2009 -0800 Merge branch 'drm-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/airlied/drm-2.6 * 'drm-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/airlied/drm-2.6: drm/i915: Add missing mutex_lock(&dev->struct_mutex) drm/i915: fix WC mapping in non-GEM i915 code. drm/i915: Fix regression in 95ca9d drm/i915: Retire requests from i915_gem_busy_ioctl. drm/i915: suspend/resume GEM when KMS is active drm/i915: Don't let a device flush to prepare buffers clear new write_domains. drm/i915: Cut two args to set_to_gpu_domain that confused this tricky path. commit 5004417d840e6dcb0052061fd04569b9c9f037a8 Author: Pierre Willenbrock Date: Mon Feb 23 10:12:15 2009 +1000 drm/i915: Add missing mutex_lock(&dev->struct_mutex) there might be a nicer way to fix this but this is the simplest for now. Signed-off-by: Pierre Willenbrock Signed-off-by: Dave Airlie commit 6fb88588555a18792a27f483887fe1f2af5f9c9b Author: Jesse Barnes Date: Mon Feb 23 10:08:21 2009 +1000 drm/i915: fix WC mapping in non-GEM i915 code. [airlied - taken from mailing list posting] Signed-off-by: Dave Airlie commit bab2d1f6531657e37dc84f26184f3f64e1e73ecd Author: Chris Wilson Date: Fri Feb 20 17:52:20 2009 +0000 drm/i915: Fix regression in 95ca9d The object is dereferenced before the NULL check. Oops. Fixes http://bugs.freedesktop.org/show_bug.cgi?id=20235 Signed-off-by: Chris Wilson Signed-off-by: Eric Anholt Signed-off-by: Dave Airlie commit f21289b355cee8738d80c2ae5cbd272c3f7b5689 Author: Eric Anholt Date: Wed Feb 18 09:44:56 2009 -0800 drm/i915: Retire requests from i915_gem_busy_ioctl. This ensures that the user gets the latest information from the hardware on whether the buffer is busy, potentially reducing the working set of objects that the user chooses. Signed-off-by: Eric Anholt Signed-off-by: Dave Airlie commit 5669fcacc58bf3a7386057addffd280d75380858 Author: Jesse Barnes Date: Tue Feb 17 15:13:31 2009 -0800 drm/i915: suspend/resume GEM when KMS is active In the KMS case, we need to suspend/resume GEM as well. So on suspend, make sure we idle GEM and stop any new rendering from coming in, and on resume, re-init the framebuffer and clear the suspended flag. Signed-off-by: Jesse Barnes Signed-off-by: Eric Anholt Signed-off-by: Dave Airlie commit efbeed96f7e20783b22d9529ef536b61f7ea8637 Author: Eric Anholt Date: Thu Feb 19 14:54:51 2009 -0800 drm/i915: Don't let a device flush to prepare buffers clear new write_domains. The problem was that object_set_to_gpu_domain would set the new write_domains that are getting set by this batchbuffer, then the accumulated flushes required for all the objects in preparation for this batchbuffer were posted, and the brand new write domain would get cleared by the flush being posted. Instead, hang on to the new (or old if we're not changing it) value and set it after the flush is queued. Results from this noticably included conformance test failures from reads shortly after writes (where the new write domain had been lost and thus not flushed and waited on), but is a suspected cause of hangs in some apps when a write domain is lost on a buffer that gets reused for instruction or commmand state. Signed-off-by: Eric Anholt Signed-off-by: Dave Airlie commit 8b0e378a20e48c691d374f39d8b0596e63598cfc Author: Eric Anholt Date: Thu Feb 19 14:40:50 2009 -0800 drm/i915: Cut two args to set_to_gpu_domain that confused this tricky path. While not strictly required, it helped while thinking about the following change. This change should be invariant. Signed-off-by: Eric Anholt Signed-off-by: Dave Airlie commit 09c50b4a52c01a1f450b8eec819089e228655bfb Author: Paul Moore Date: Fri Feb 20 16:33:02 2009 -0500 selinux: Fix the NetLabel glue code for setsockopt() At some point we (okay, I) managed to break the ability for users to use the setsockopt() syscall to set IPv4 options when NetLabel was not active on the socket in question. The problem was noticed by someone trying to use the "-R" (record route) option of ping: # ping -R 10.0.0.1 ping: record route: No message of desired type The solution is relatively simple, we catch the unlabeled socket case and clear the error code, allowing the operation to succeed. Please note that we still deny users the ability to override IPv4 options on socket's which have NetLabel labeling active; this is done to ensure the labeling remains intact. Signed-off-by: Paul Moore Signed-off-by: James Morris commit 586c25003707067f074043d80fb2071671c58db0 Author: Paul Moore Date: Fri Feb 20 16:32:55 2009 -0500 cipso: Fix documentation comment The CIPSO protocol engine incorrectly stated that the FIPS-188 specification could be found in the kernel's Documentation directory. This patch corrects that by removing the comment and directing users to the FIPS-188 documented hosted online. For the sake of completeness I've also included a link to the CIPSO draft specification on the NetLabel website. Thanks to Randy Dunlap for spotting the error and letting me know. Signed-off-by: Paul Moore Signed-off-by: James Morris commit d82ad6d6833ee8248e6c34e1b9fc3c4e61e3f035 Author: Andrei Birjukov Date: Sun Feb 22 22:37:21 2009 +0000 [ARM] at91: fix for Atmel AT91 powersaving We've discovered that our AT91SAM9260 board consumed too much power when returning from a slowclock low-power mode. RAM self-refresh is enabled in a bootloader in our case, this is how we saw a difference. Estimated ca. 30mA more on 4V battery than the same state before powersaving. After a small research we found that there seems to be a bogus sdram_selfrefresh_disable() call at the end of at91_pm_enter() call, which overwrites the LPR register with uninitialized value. Please find the suggested patch attached. This patch fixes correct restoring of LPR register of the Atmel AT91 SDRAM controller when returning from a power saving mode. Signed-off-by: Andrei Birjukov Acked-by: Andrew Victor Signed-off-by: Andrew Morton Signed-off-by: Russell King commit 683fdc5fe5fec5c4f27eb58a8781f212f50c8e01 Merge: f7f84f3 0f99fed Author: Linus Torvalds Date: Sun Feb 22 13:26:30 2009 -0800 Merge branch 'core/urgent' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip * 'core/urgent' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip: PM: Split up sysdev_[suspend|resume] from device_power_[down|up], fix commit 0f99fed4606dcbcbe813df831a39fd8f9653ef54 Author: Ingo Molnar Date: Sun Feb 22 22:07:03 2009 +0100 PM: Split up sysdev_[suspend|resume] from device_power_[down|up], fix Impact: module build fix Fix: ERROR: "sysdev_resume" [arch/x86/kernel/apm.ko] undefined! ERROR: "sysdev_suspend" [arch/x86/kernel/apm.ko] undefined! As these APIs are now used by the APM driver, which can be built as a module. Also fix a few extra (and inconsistent) newlines in comment blocks preceding these functions. Signed-off-by: Ingo Molnar commit f7f84f38cd916552c175f1f3d09cb6e85c1b29fc Author: Randy Dunlap Date: Sun Feb 22 12:15:45 2009 -0800 docbook: split kernel-api for device-drivers The kernel-api docbook was much larger than any of the others, so processing it took longer and needed some docbook extras in some cases, so split it into kernel-api (infrastructure etc.) and device drivers/device subsystems. This allows these docbooks to be generated in parallel. (This reduced the docbook processing time on my 4-proc system with make -j4 from about 5min:16sec to about 2min:01sec.) The chapters that were moved from kernel-api to device-drivers are: Driver Basics Device drivers infrastructure Parallel Port Devices Message-based devices Sound Devices 16x50 UART Driver Frame Buffer Library Input Subsystem Serial Peripheral Interface (SPI) I2C and SMBus Subsystem Signed-off-by: Randy Dunlap Acked-by: Sam Ravnborg Signed-off-by: Linus Torvalds commit 770824bdc421ff58a64db608294323571c949f4c Author: Rafael J. Wysocki Date: Sun Feb 22 18:38:50 2009 +0100 PM: Split up sysdev_[suspend|resume] from device_power_[down|up] Move the sysdev_suspend/resume from the callee to the callers, with no real change in semantics, so that we can rework the disabling of interrupts during suspend/hibernation. This is based on an earlier patch from Linus. Signed-off-by: Rafael J. Wysocki Signed-off-by: Linus Torvalds commit 936577c61d0c10b8929608a92c98d839b22053bc Author: Linus Torvalds Date: Sun Feb 22 10:27:49 2009 -0800 x86: Add IRQF_TIMER to legacy x86 timer interrupt descriptors Right now nobody cares, but the suspend/resume code will eventually want to suspend device interrupts without suspending the timer, and will depend on this flag to know. The modern x86 timer infrastructure uses the local APIC timers and never shows up as a device interrupt at all, so it isn't affected and doesn't need any of this. Cc: Rafael J. Wysocki Cc: Ingo Molnar Signed-off-by: Linus Torvalds commit 7c24af498f60e41b9363d3102a31f8cfa6589ca3 Merge: f8a1af6 5acfac5 Author: Linus Torvalds Date: Sun Feb 22 09:28:46 2009 -0800 Merge branch 'release' of git://git.kernel.org/pub/scm/linux/kernel/git/lenb/linux-acpi-2.6 * 'release' of git://git.kernel.org/pub/scm/linux/kernel/git/lenb/linux-acpi-2.6: ACPI: remove CONFIG_ACPI_SYSTEM fujitsu-laptop: Use RFKILL support bitmask from firmware x86_64: Fix S3 fail path x86_64: acpi/wakeup_64 cleanup battery: don't assume we are fully charged when not charging or discharging ACPI: EC: Add delay for slow MSI controller commit f8a1af6bbc63218cabce742a7a291ac7c08bbd00 Author: Mike Murphy Date: Sun Feb 22 01:19:23 2009 -0500 PATCH [2/2] Documentation/filesystems/sysfs.txt: fix descriptions of device attributes Fix descriptions of device attributes to be consistent with the actual implementations in include/linux/device.h Signed-off-by: Mike Murphy Signed-off-by: Linus Torvalds commit 245127dbe9ea1e5a93aae0d3ede09992f1e99f53 Author: Mike Murphy Date: Sun Feb 22 01:17:14 2009 -0500 PATCH [1/2] Documentation/driver-model/device.txt: fix struct device_attribute Fix the presented definition of struct device_attribute to match the actual definition in include/linux/device.h Signed-off-by: Mike Murphy Signed-off-by: Linus Torvalds commit 3d92e8f3ae9ba21cac30370eb254ed9dc20df043 Author: Geert Uytterhoeven Date: Sun Feb 22 09:38:47 2009 +0100 m68k: atari - Rename "mfp" to "st_mfp" http://kisskb.ellerman.id.au/kisskb/buildresult/72115/: | net/mac80211/ieee80211_i.h:327: error: syntax error before 'volatile' | net/mac80211/ieee80211_i.h:350: error: syntax error before '}' token | net/mac80211/ieee80211_i.h:455: error: field 'sta' has incomplete type | distcc[19430] ERROR: compile net/mac80211/main.c on sprygo/32 failed This is caused by | # define mfp ((*(volatile struct MFP*)MFP_BAS)) in arch/m68k/include/asm/atarihw.h, which conflicts with the new "mfp" enum in net/mac80211/ieee80211_i.h. Rename "mfp" to "st_mfp", as it's a way too generic name for a global #define. Signed-off-by: Geert Uytterhoeven Signed-off-by: Linus Torvalds commit 5ce7868e159a3ee4ddf95f8522643991fea97cf2 Author: Yinghai Lu Date: Wed Feb 18 11:25:32 2009 -0800 [SCSI] mpt: fix disable lsi sas to use msi as default Impact: fix bug the third param in module_param(,,) is perm instead of default value. we still need to assign default at first. Also, the default is now zero not one, so fix the parameter text to reflect that. Signed-off-by: Yinghai Lu Acked-by: Kashyap Desai Signed-off-by: James Bottomley commit 8cfd9e923be54ef66ce174a93f4592b444b96407 Author: Russell King Date: Sun Feb 22 12:36:55 2009 +0000 [ARM] RiscPC: Fix etherh oops The 8390 driver was structured by Al Viro to allow the flexibility required by platforms. lib8390.c contains the core code which drivers explicitly include: - 8390.c includes lib8390.c to provide the standard ISA based driver. - etherh.c includes it with the accessors defined for RiscPC platforms, where it is addressed via the MMIO accessors with a device dependent register spacing. Other platform drivers do something similar. However, b9a9b4b caused the kernel to contain not only the etherh private build of lib8390 (included in etherh.c) but also lib8390.c itself, and referred the new net_device_ops methods to the ISA version. The result of this is is not pretty: Unable to handle kernel paging request at virtual address 12032030 pgd = c8330000 [12032030] *pgd=00000000 Internal error: Oops: 18331805 [#1] Modules linked in: ipv6 CPU: 0 Not tainted (2.6.29-rc3 #167) PC is at do_set_multicast_list+0xd0/0x190 LR is at bitrev32+0x28/0x34 pc : [] lr : [] psr: a0000093 sp : c8321d9c ip : c8321d84 fp : c8321dbc r10: c80c6800 r9 : 00000000 r8 : c80c6b60 r7 : c80c6b80 r6 : cc80c800 r5 : c80c6800 r4 : 00000000 r3 : cc80c80c r2 : 00000004 r1 : 00000007 r0 : e0000000 Flags: NzCv IRQs off FIQs on Mode SVC_32 ISA ARM Segment user ... Fix up b9a9b4b by making etherh's net_device_ops refer to the internal lib8390 functions, and remove the build of the ISA 8390.c driver. Acked-by: David S. Miller Signed-off-by: Russell King commit 486a87f1e5624096bd1c09e9e716239597d48dca Author: Daniel Lezcano Date: Sun Feb 22 00:07:53 2009 -0800 netns: fix double free at netns creation This patch fix a double free when a network namespace fails. The previous code does a kfree of the net_generic structure when one of the init subsystem initialization fails. The 'setup_net' function does kfree(ng) and returns an error. The caller, 'copy_net_ns', call net_free on error, and this one calls kfree(net->gen), making this pointer freed twice. This patch make the code symetric, the net_alloc does the net_generic allocation and the net_free frees the net_generic. Signed-off-by: Daniel Lezcano Signed-off-by: David S. Miller commit ee923623177249cf22c43419ad0e8ff926dd1f58 Author: Daniel Lezcano Date: Sun Feb 22 00:04:45 2009 -0800 veth : add the set_mac_address capability Fix lost set_mac_address capability. Signed-off-by: Daniel Lezcano Signed-off-by: David S. Miller commit b956d41162b1f2c4b446107e9910e4719cbc75f4 Author: Roel Kluin Date: Sat Feb 21 23:46:36 2009 -0800 sunlance: Beyond ARRAY_SIZE of ib->btx_ring Do not go beyond ARRAY_SIZE of ib->btx_ring Signed-off-by: Roel Kluin Signed-off-by: David S. Miller commit 5acfac5a6473b459ed38c0edf515be030f3b5874 Merge: 5423a0c 56f382a ba193d6 6defa2f Author: Len Brown Date: Sat Feb 21 22:01:43 2009 -0500 Merge branches 'release', 'bugzilla-12011', 'bugzilla-12632', 'misc' and 'suspend' into release commit ba193d64abfe644e8752affa310a368eda01f46e Author: Bjorn Helgaas Date: Thu Feb 19 12:56:16 2009 -0700 ACPI: remove CONFIG_ACPI_SYSTEM Remove CONFIG_ACPI_SYSTEM. It was always set the same as CONFIG_ACPI, and it had no menu label, so there was no way to set it to anything other than "y". Some things under CONFIG_ACPI_SYSTEM (acpi_irq_handled, acpi_os_gpe_count(), event_is_open, register_acpi_notifier(), etc.) are used unconditionally by the CA, the OSPM, and drivers, so we depend on them always being present. Signed-off-by: Bjorn Helgaas Signed-off-by: Len Brown commit 4898c2b2f04051e19f4230683c0f0b15f71af887 Author: Tony Vroon Date: Mon Feb 2 11:11:10 2009 +0000 fujitsu-laptop: Use RFKILL support bitmask from firmware Up until now, we polled the rfkill status for every incoming FUJ02E3 ACPI event. It turns out that the firmware has a bitmask which indicates what rfkill-related state it can report. The rfkill_supported bitmask is now used to avoid polling for rfkill at all in the notification handler if there is no support. Also, it is used in the platform device callbacks. As before we register all callbacks and report "unknown" if the firmware does not give us status updates for that particular bit. This was fed through checkpatch.pl and tested on the S6420, S7020 and P8010 platforms. Signed-off-by: Tony Vroon Tested-by: Stephen Gildea Acked-by: Jonathan Woithe Signed-off-by: Len Brown commit 6defa2fe2019f3729933516fba5cfd75eecd07de Author: Jiri Slaby Date: Sun Feb 15 22:46:45 2009 +0100 x86_64: Fix S3 fail path As acpi_enter_sleep_state can fail, take this into account in do_suspend_lowlevel and don't return to the do_suspend_lowlevel's caller. This would break (currently) fpu status and preempt count. Technically, this means use `call' instead of `jmp' and `jmp' to the `resume_point' after the `call' (i.e. if acpi_enter_sleep_state returns=fails). `resume_point' will handle the restore of fpu and preempt count gracefully. Signed-off-by: Jiri Slaby Signed-off-by: Rafael J. Wysocki Signed-off-by: Len Brown commit e6bd6760c92dc8475c79c4c4a8a16ac313c0b93d Author: Jiri Slaby Date: Sun Feb 15 22:45:49 2009 +0100 x86_64: acpi/wakeup_64 cleanup - remove %ds re-set, it's already set in wakeup_long64 - remove double labels and alignment (ENTRY already adds both) - use meaningful resume point labelname - skip alignment while jumping from wakeup_long64 to the resume point - remove .size, .type and unused labels [v2] - added ENDPROCs Signed-off-by: Jiri Slaby Acked-by: Cyrill Gorcunov Acked-by: Pavel Machek Signed-off-by: Rafael J. Wysocki Signed-off-by: Len Brown commit 126c098296c8f96cf7f6ca0fdb47265ac7994f00 Author: James Bottomley Date: Thu Feb 19 21:48:54 2009 +0000 [SCSI] fix ABORTED_COMMAND looping forever problem Instead of terminating after five retries, commands terminated by ABORTED_COMMAND sense are retrying forever. The problem was introduced by: commit b60af5b0adf0da24c673598c8d3fb4d4189a15ce Author: Alan Stern Date: Mon Nov 3 15:56:47 2008 -0500 [SCSI] simplify scsi_io_completion() Which introduced an error whereby ABORTED_COMMAND now gets erroneously retried in scsi_io_completion. Fix this by returning the behaviour back to the default no retry. Reported-by: Sitsofe Wheeler Tested-by: Sitsofe Wheeler Signed-off-by: James Bottomley commit 4034cc68157bfa0b6622efe368488d3d3e20f4e6 Author: Tejun Heo Date: Sat Feb 21 11:04:45 2009 +0900 [SCSI] sd: revive sd_index_lock Commit f27bac2761cab5a2e212dea602d22457a9aa6943 which converted sd to use ida instead of idr incorrectly removed sd_index_lock around id allocation and free. idr/ida do have internal locks but they protect their free object lists not the allocation itself. The caller is responsible for that. This missing synchronization led to the same id being assigned to multiple devices leading to oops. Reported and tracked down by Stuart Hayes of Dell. Signed-off-by: Tejun Heo Cc: Stable Tree Signed-off-by: James Bottomley commit b7e7bd34465518f3527bf47a8055f35077d40c6c Author: Karen Xie Date: Fri Feb 13 21:39:09 2009 -0800 [SCSI] cxgb3i: update the driver version to 1.0.1 Signed-off-by: Karen Xie Signed-off-by: James Bottomley commit 802d52734adf0f288c49c05ed433872d7559c932 Author: Karen Xie Date: Fri Feb 13 21:39:04 2009 -0800 [SCSI] cxgb3i: Fix spelling errors in documentation Signed-off-by: Karen Xie Signed-off-by: James Bottomley commit 992040f54069c96a59343976950f174448f4a351 Author: Karen Xie Date: Fri Feb 13 21:38:59 2009 -0800 [SCSI] cxgb3i: added missing include in cxgb3i_ddp.h Signed-off-by: Karen Xie Reviewed-by: Mike Christie Signed-off-by: James Bottomley commit f62d0896e67195d4407ef81c6f77a92f72a63e88 Author: Karen Xie Date: Fri Feb 13 21:38:54 2009 -0800 [SCSI] cxgb3i: Outgoing pdus need to observe skb's MAX_SKB_FRAGS Need to make sure the outgoing pdu can fit into a single skb. When calulating the max. outgoing pdu payload size, take into consideration of - data can be held in the skb's fragment list, assume 512 bytes per fragment, and - data can be held in the headroom. Signed-off-by: Karen Xie Reviewed-by: Mike Christie Signed-off-by: James Bottomley commit 949847d195d2bb86f61c289a57edb9207c4a3bbf Author: Karen Xie Date: Fri Feb 13 21:38:49 2009 -0800 [SCSI] cxgb3i: added per-task data to track transmit progress added per-task struct cxgb3i_task_data to track the data transmiting progress and the state of the pdus to be transmitted. Signed-off-by: Karen Xie Reviewed-by: Mike Christie Signed-off-by: James Bottomley commit 1648b11ea7cec5b95e5a71364ac1f40bfef702d0 Author: Karen Xie Date: Fri Feb 13 21:38:44 2009 -0800 [SCSI] cxgb3i: transmit work-request fixes - resize the work-request credit array to be based on skb's MAX_SKB_FRAGS. - split the skb cb into tx and rx portion - increase the default transmit window to 128K. - stop queueing up the outgoing pdus if transmit window is full. Signed-off-by: Karen Xie Reviewed-by: Mike Christie Signed-off-by: James Bottomley commit b73a77494292b930642fbf87de3e3196593f7593 Author: HighPoint Linux Team Date: Thu Feb 12 11:28:31 2009 +0800 [SCSI] hptiop: Add new PCI device ID Signed-off-by: HighPoint Linux Team Signed-off-by: James Bottomley commit adfafefd104d840ee4461965f22624d77532675b Merge: 460c133 403f307 Author: Linus Torvalds Date: Sat Feb 21 14:17:26 2009 -0800 Merge branch 'hibernate' * hibernate: PM: Fix suspend_console and resume_console to use only one semaphore PM: Wait for console in resume PM: Fix pm_notifiers during user mode hibernation swsusp: clean up shrink_all_zones() swsusp: dont fiddle with swappiness PM: fix build for CONFIG_PM unset PM/hibernate: fix "swap breaks after hibernation failures" PM/resume: wait for device probing to finish Consolidate driver_probe_done() loops into one place commit 403f307576396f3362fbb65af190885b6036c72c Author: Arve Hjønnevåg Date: Sat Feb 14 02:07:24 2009 +0100 PM: Fix suspend_console and resume_console to use only one semaphore This fixes a race where a thread acquires the console while the console is suspended, and the console is resumed before this thread releases it. In this case, the secondary console semaphore would be left locked, and the primary semaphore would be released twice. This in turn would cause the console switch on suspend or resume to hang forever. Note that suspend_console does not actually lock the console for clients that use acquire_console_sem, it only locks it for clients that use try_acquire_console_sem. If we change suspend_console to fully lock the console, then the kernel may deadlock on suspend. One client of try_acquire_console_sem is acquire_console_semaphore_for_printk, which uses it to prevent printk from using the console while it is suspended. Signed-off-by: Arve Hjønnevåg Signed-off-by: Rafael J. Wysocki Cc: Len Brown Cc: Greg KH Signed-off-by: Linus Torvalds commit b090f9fa53d51c8a33370071de9e391919ee1fa7 Author: Arve Hjønnevåg Date: Sat Feb 14 02:06:17 2009 +0100 PM: Wait for console in resume Avoids later waking up to a blinking cursor if the device woke up and returned to sleep before the console switch happened. Signed-off-by: Brian Swetland Signed-off-by: Arve Hjønnevåg Signed-off-by: Rafael J. Wysocki Cc: Len Brown Cc: Greg KH Signed-off-by: Linus Torvalds commit ebae2604f2c3693717d9dc687c84578f0526480c Author: Andrey Borzenkov Date: Sat Feb 14 02:05:14 2009 +0100 PM: Fix pm_notifiers during user mode hibernation Snapshot device is opened with O_RDONLY during suspend and O_WRONLY durig resume. Make sure we also call notifiers with correct parameter telling them what we are really doing. Signed-off-by: Andrey Borzenkov Signed-off-by: Rafael J. Wysocki Cc: Len Brown Cc: Greg KH Acked-by: Pavel Machek Signed-off-by: Linus Torvalds commit 0cb57258fe01e9b21076b6a15b6aec7a24168228 Author: Johannes Weiner Date: Sat Feb 14 02:04:10 2009 +0100 swsusp: clean up shrink_all_zones() Move local variables to innermost possible scopes and use local variables to cache calculations/reads done more than once. No change in functionality (intended). Signed-off-by: Johannes Weiner Reviewed-by: KOSAKI Motohiro Signed-off-by: Rafael J. Wysocki Cc: Len Brown Cc: Greg KH Acked-by: Pavel Machek Signed-off-by: Linus Torvalds commit 3049103ddfc9aac111916bd2f39ac6976c431517 Author: Johannes Weiner Date: Sat Feb 14 02:03:08 2009 +0100 swsusp: dont fiddle with swappiness sc.swappiness is not used in the swsusp memory shrinking path, do not set it. Signed-off-by: Johannes Weiner Reviewed-by: KOSAKI Motohiro Signed-off-by: Rafael J. Wysocki Cc: Len Brown Cc: Greg KH Signed-off-by: Linus Torvalds commit 09664fda48c5dd63277f1f42888ca9d5dca6037a Author: Rafael J. Wysocki Date: Sat Feb 14 02:02:16 2009 +0100 PM: fix build for CONFIG_PM unset Compilation of kprobes.c with CONFIG_PM unset is broken due to some broken config dependncies. Fix that. Signed-off-by: Rafael J. Wysocki Cc: Len Brown Cc: Greg KH Reported-by: Ingo Molnar Tested-by: Masami Hiramatsu Signed-off-by: Linus Torvalds commit a1bb7d61233ba5fb5cd865f907a9ddcc8f8c02bd Author: Alan Jenkins Date: Sat Feb 14 02:01:14 2009 +0100 PM/hibernate: fix "swap breaks after hibernation failures" http://bugzilla.kernel.org/show_bug.cgi?id=12239 The image writing code dropped a reference to the current swap device. This doesn't show up if the hibernation succeeds - because it doesn't affect the image which gets resumed. But it means multiple _failed_ hibernations end up freeing the swap device while it is still use! swsusp_write() finds the block device for the swap file using swap_type_of(). It then uses blkdev_get() / blkdev_put() to open and close the block device. Unfortunately, blkdev_get() assumes ownership of the inode of the block_device passed to it. So blkdev_put() calls iput() on the inode. This is by design and other callers expect this behaviour. The fix is for swap_type_of() to take a reference on the inode using bdget(). Signed-off-by: Alan Jenkins Signed-off-by: Rafael J. Wysocki Cc: Len Brown Cc: Greg KH Signed-off-by: Linus Torvalds commit eed3ee08292d821282169708e5e8e89a0d0a0c63 Author: Arjan van de Ven Date: Sat Feb 14 02:00:19 2009 +0100 PM/resume: wait for device probing to finish the resume code does not currently wait for device probing to finish. Even without async function calls this is dicey and not correct, but with async function calls during the boot sequence this is going to get hit more... This patch adds the synchronization using the newly introduced helper. Signed-off-by: Arjan van de Ven Signed-off-by: Rafael J. Wysocki Cc: Len Brown Acked-by: Greg KH Signed-off-by: Linus Torvalds commit 216773a787c3c46ef26bf1742c1fdba37d26be45 Author: Arjan van de Ven Date: Sat Feb 14 01:59:06 2009 +0100 Consolidate driver_probe_done() loops into one place there's a few places that currently loop over driver_probe_done(), and I'm about to add another one. This patch abstracts it into a helper to reduce duplication. Signed-off-by: Arjan van de Ven Signed-off-by: Rafael J. Wysocki Cc: Len Brown Acked-by: Greg KH Signed-off-by: Linus Torvalds commit 56f382a08722186623400180adbb9d1be1721cee Author: Richard Hughes Date: Sun Jan 25 15:05:50 2009 +0000 battery: don't assume we are fully charged when not charging or discharging On hardware like the T61 it can take a couple of seconds for the battery to start charging after the power is connected, and we incorrectly tell userspace that we are fully charged, and then go back to charging. Only mark a battery as fully charged when the preset charge matches either the last full charge, or the design charge. http://bugzilla.kernel.org/show_bug.cgi?id=12632 Signed-off-by: Richard Hughes Acked-by: Alexey Starikovskiy Acked-by: Henrique de Moraes Holschuh Signed-off-by: Len Brown commit 5423a0cb3f74c16e90683f8ee1cec6c240a9556e Author: Alexey Starikovskiy Date: Sat Feb 21 12:18:13 2009 -0500 ACPI: EC: Add delay for slow MSI controller http://bugzilla.kernel.org/show_bug.cgi?id=12011 Signed-off-by: Alexey Starikovskiy Signed-off-by: Len Brown commit 460c1338fc05add0e8050d4945a46f207b13a5fc Merge: 710320d cc3ca22 Author: Linus Torvalds Date: Sat Feb 21 09:15:39 2009 -0800 Merge branch 'x86-fixes-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip * 'x86-fixes-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip: x86, mce: remove incorrect __cpuinit for mce_cpu_features() MAINTAINERS: paravirt-ops maintainers update commit 05bf9e839d9de4e8a094274a0a2fd07beb47eaf1 Author: Theodore Ts'o Date: Sat Feb 21 12:13:24 2009 -0500 ext4: Add fallback for find_group_flex This is a workaround for find_group_flex() which badly needs to be replaced. One of its problems (besides ignoring the Orlov algorithm) is that it is a bit hyperactive about returning failure under suspicious circumstances. This can lead to spurious ENOSPC failures even when there are inodes still available. Work around this for now by retrying the search using find_group_other() if find_group_flex() returns -1. If find_group_other() succeeds when find_group_flex() has failed, log a warning message. A better block/inode allocator that will fix this problem for real has been queued up for the next merge window. Signed-off-by: "Theodore Ts'o" commit 710320d57999016729da7c9cfee017b276f553bc Merge: 2ec77fc eca6acf Author: Linus Torvalds Date: Sat Feb 21 09:11:28 2009 -0800 Merge git://git.kernel.org/pub/scm/linux/kernel/git/sfrench/cifs-2.6 * git://git.kernel.org/pub/scm/linux/kernel/git/sfrench/cifs-2.6: [CIFS] Fix multiuser mounts so server does not invalidate earlier security contexts [CIFS] improve posix semantics of file create [CIFS] Fix oops in cifs_strfromUCS_le mounting to servers which do not specify their OS cifs: posix fill in inode needed by posix open cifs: properly handle case where CIFSGetSrvInodeNumber fails cifs: refactor new_inode() calls and inode initialization [CIFS] Prevent OOPs when mounting with remote prefixpath. [CIFS] ipv6_addr_equal for address comparison commit 4c41bd0ec953954158f92bed5d3062645062b98e Author: Thomas Gleixner Date: Mon Feb 16 21:29:31 2009 +0100 [JFFS2] fix mount crash caused by removed nodes At scan time we observed following scenario: node A inserted node B inserted node C inserted -> sets overlapped flag on node B node A is removed due to CRC failure -> overlapped flag on node B remains while (tn->overlapped) tn = tn_prev(tn); ==> crash, when tn_prev(B) is referenced. When the ultimate node is removed at scan time and the overlapped flag is set on the penultimate node, then nothing updates the overlapped flag of that node. The overlapped iterators blindly expect that the ultimate node does not have the overlapped flag set, which causes the scan code to crash. It would be a huge overhead to go through the node chain on node removal and fix up the overlapped flags, so detecting such a case on the fly in the overlapped iterators is a simpler and reliable solution. Cc: stable@kernel.org Signed-off-by: Thomas Gleixner Signed-off-by: David Woodhouse commit cc3ca22063784076bd240fda87217387a8f2ae92 Author: H. Peter Anvin Date: Fri Feb 20 23:35:51 2009 -0800 x86, mce: remove incorrect __cpuinit for mce_cpu_features() Impact: Bug fix on UP Checkin 6ec68bff3c81e776a455f6aca95c8c5f1d630198: x86, mce: reinitialize per cpu features on resume introduced a call to mce_cpu_features() in the resume path, in order for the MCE machinery to get properly reinitialized after a resume. However, this function (and its successors) was flagged __cpuinit, which becomes __init on UP configurations (on SMP suspend/resume requires CPU hotplug and so this would not be seen.) Remove the offending __cpuinit annotations for mce_cpu_features() and its successor functions. Cc: Andi Kleen Cc: Linus Torvalds Signed-off-by: H. Peter Anvin commit eca6acf91552a9b2e997cc76339115c95eac0217 Author: Steve French Date: Fri Feb 20 05:43:09 2009 +0000 [CIFS] Fix multiuser mounts so server does not invalidate earlier security contexts When two different users mount the same Windows 2003 Server share using CIFS, the first session mounted can be invalidated. Some servers invalidate the first smb session when a second similar user (e.g. two users who get mapped by server to "guest") authenticates an smb session from the same client. By making sure that we set the 2nd and subsequent vc numbers to nonzero values, this ensures that we will not have this problem. Fixes Samba bug 6004, problem description follows: How to reproduce: - configure an "open share" (full permissions to Guest user) on Windows 2003 Server (I couldn't reproduce the problem with Samba server or Windows older than 2003) - mount the share twice with different users who will be authenticated as guest. noacl,noperm,user=john,dir_mode=0700,domain=DOMAIN,rw noacl,noperm,user=jeff,dir_mode=0700,domain=DOMAIN,rw Result: - just the mount point mounted last is accessible: Signed-off-by: Steve French commit c3b2a0c640bff7df85d79fb4f89674949a267ec2 Author: Steve French Date: Fri Feb 20 04:32:45 2009 +0000 [CIFS] improve posix semantics of file create Samba server added support for a new posix open/create/mkdir operation a year or so ago, and we added support to cifs for mkdir to use it, but had not added the corresponding code to file create. The following patch helps improve the performance of the cifs create path (to Samba and servers which support the cifs posix protocol extensions). Using Connectathon basic test1, with 2000 files, the performance improved about 15%, and also helped reduce network traffic (17% fewer SMBs sent over the wire) due to saving a network round trip for the SetPathInfo on every file create. It should also help the semantics (and probably the performance) of write (e.g. when posix byte range locks are on the file) on file handles opened with posix create, and adds support for a few flags which would have to be ignored otherwise. Signed-off-by: Steve French commit 69765529d701c838df19ea1f5ad2f33a528261ae Author: Steve French Date: Tue Feb 17 01:29:40 2009 +0000 [CIFS] Fix oops in cifs_strfromUCS_le mounting to servers which do not specify their OS Fixes kernel bug #10451 http://bugzilla.kernel.org/show_bug.cgi?id=10451 Certain NAS appliances do not set the operating system or network operating system fields in the session setup response on the wire. cifs was oopsing on the unexpected zero length response fields (when trying to null terminate a zero length field). This fixes the oops. Acked-by: Jeff Layton CC: stable Signed-off-by: Steve French commit 44f68fadd865bb288ebdcea2b602f0b1cab27a0c Author: Jeff Layton Date: Wed Feb 11 08:08:28 2009 -0500 cifs: posix fill in inode needed by posix open function needed to prepare for posix open Signed-off-by: Jeff Layton Signed-off-by: Steve French commit 950ec52880fab89b957c7dc45e8b8476dd63741f Author: Jeff Layton Date: Wed Feb 11 08:08:26 2009 -0500 cifs: properly handle case where CIFSGetSrvInodeNumber fails ...if it does then we pass a pointer to an unintialized variable for the inode number to cifs_new_inode. Have it pass a NULL pointer instead. Also tweak the function prototypes to reduce the amount of casting. Signed-off-by: Jeff Layton Signed-off-by: Steve French commit 132ac7b77cc95a22d6118d327c96586759fbf006 Author: Jeff Layton Date: Tue Feb 10 07:33:57 2009 -0500 cifs: refactor new_inode() calls and inode initialization Move new inode creation into a separate routine and refactor the callers to take advantage of it. Signed-off-by: Jeff Layton Signed-off-by: Steve French commit e4cce94c9c8797b08faf6a79396df4d175e377fa Author: Igor Mammedov Date: Tue Feb 10 14:10:26 2009 +0300 [CIFS] Prevent OOPs when mounting with remote prefixpath. Fixes OOPs with message 'kernel BUG at fs/cifs/cifs_dfs_ref.c:274!'. Checks if the prefixpath in an accesible while we are still in cifs_mount and fails with reporting a error if we can't access the prefixpath Should fix Samba bugs 6086 and 5861 and kernel bug 12192 Signed-off-by: Igor Mammedov Acked-by: Jeff Layton Signed-off-by: Steve French commit 2ec77fc93ca8731368fbe8e71f805c0569d4bcee Merge: be71cb5 3d16118 Author: Linus Torvalds Date: Fri Feb 20 18:04:53 2009 -0800 Merge branch 'drm-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/airlied/drm-2.6 * 'drm-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/airlied/drm-2.6: (26 commits) drm/radeon: update sarea copies of last_ variables on resume. drm/i915: Keep refs on the object over the lifetime of vmas for GTT mmap. drm/i915: take struct mutex around fb unref drm: Use spread spectrum when the bios tells us it's ok. drm: Collapse identical i8xx_clock() and i9xx_clock(). drm: Bring PLL limits in sync with DDX values. drm: Add locking around cursor gem operations. drm: Propagate failure from setting crtc base. drm: Check for a NULL encoder when reverting on error path drm/i915: Cleanup the hws on ringbuffer constrution failure. drm/i915: Don't add panel_fixed_mode to the probed modes list at LVDS init. drm: Release user fbs in drm_release drm/i915: Unpin the fb on error during construction. drm/i915: Unpin the hws if we fail to kmap. drm/i915: Unpin the ringbuffer if we fail to ioremap it. drm/i915: unpin for an invalid memory domain. drm/i915: Release and unlock on mmap_gtt error path. drm/i915: Set framebuffer alignment based upon the fence constraints. drm: Do not leak a new reference for flink() on an existing name drm/i915: Fix potential AB-BA deadlock in i915_gem_execbuffer() ... commit be71cb5b526709b8e42c707dc9e8c5b034ac8d1c Merge: b5482d4 07a66d7 Author: Linus Torvalds Date: Fri Feb 20 18:03:07 2009 -0800 Merge branch 'x86-fixes-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip * 'x86-fixes-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip: x86: use the right protections for split-up pagetables x86, vmi: TSC going backwards check in vmi clocksource commit b5482d475c6eff1ebc0b1cee73421ef26f1d046c Merge: 264b299 822c05b Author: Linus Torvalds Date: Fri Feb 20 18:02:38 2009 -0800 Merge git://git.kernel.org/pub/scm/linux/kernel/git/jejb/scsi-rc-fixes-2.6 * git://git.kernel.org/pub/scm/linux/kernel/git/jejb/scsi-rc-fixes-2.6: [SCSI] qla2xxx: Update version number to 8.03.00-k3. [SCSI] qla2xxx: Mask out 'reserved' bits while processing FLT regions. [SCSI] qla2xxx: Correct slab-error overwrite during vport creation and deletion. [SCSI] qla2xxx: Properly acknowledge IDC notification messages. [SCSI] qla2xxx: Remove interrupt request bit check in the response processing path in multiq mode. [SCSI] lpfc: introduce missing kfree [SCSI] libiscsi: Fix scsi command timeout oops in iscsi_eh_timed_out [SCSI] qla2xxx: fix Kernel Panic with Qlogic 2472 Card. [SCSI] ibmvfc: Increase cancel timeout [SCSI] ibmvfc: Fix rport relogin [SCSI] ibmvfc: Fix command timeout errors [SCSI] sg: fix device number in blktrace data [SCSI] scsi_scan: add missing interim SDEV_DEL state if slave_alloc fails [SCSI] ibmvscsi: Correct DMA mapping leak commit 264b29900657f53fb4ddc8bf08f447c4c227b2cf Merge: b6adea3 2cfbd50 Author: Linus Torvalds Date: Fri Feb 20 17:59:14 2009 -0800 Merge git://git.kernel.org/pub/scm/linux/kernel/git/mason/btrfs-unstable * git://git.kernel.org/pub/scm/linux/kernel/git/mason/btrfs-unstable: Btrfs: check file pointer in btrfs_sync_file commit b6adea334c6c89d5e6c94f9196bbf3a279cb53bd Author: Mauro Carvalho Chehab Date: Fri Feb 20 15:38:52 2009 -0800 8250: fix boot hang with serial console when using with Serial Over Lan port Intel 8257x Ethernet boards have a feature called Serial Over Lan. This feature works by emulating a serial port, and it is detected by kernel as a normal 8250 port. However, this emulation is not perfect, as also noticed on changeset 7500b1f602aad75901774a67a687ee985d85893f. Before this patch, the kernel were trying to check if the serial TX is capable of work using IRQ's. This were done with a code similar this: serial_outp(up, UART_IER, UART_IER_THRI); lsr = serial_in(up, UART_LSR); iir = serial_in(up, UART_IIR); serial_outp(up, UART_IER, 0); if (lsr & UART_LSR_TEMT && iir & UART_IIR_NO_INT) up->bugs |= UART_BUG_TXEN; This works fine for other 8250 ports, but, on 8250-emulated SoL port, the chip is a little lazy to down UART_IIR_NO_INT at UART_IIR register. Due to that, UART_BUG_TXEN is sometimes enabled. However, as TX IRQ keeps working, and the TX polling is now enabled, the driver miss-interprets the IRQ received later, hanging up the machine until a key is pressed at the serial console. This is the 6 version of this patch. Previous versions were trying to introduce a large enough delay between serial_outp and serial_in(up, UART_IIR), but not taking forever. However, the needed delay couldn't be safely determined. At the experimental tests, a delay of 1us solves most of the cases, but still hangs sometimes. Increasing the delay to 5us was better, but still doesn't solve. A very high delay of 50 ms seemed to work every time. However, poking around with delays and pray for it to be enough doesn't seem to be a good approach, even for a quirk. So, instead of playing with random large arbitrary delays, let's just disable UART_BUG_TXEN for all SoL ports. [akpm@linux-foundation.org: fix warnings] Signed-off-by: Mauro Carvalho Chehab Cc: Alan Cox Cc: Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 3cf311409d37d904335eb720e8a6b2c17bee6698 Author: Yang Hongyang Date: Fri Feb 20 15:38:51 2009 -0800 atyfb: remove unused local variable `pwr_command' Signed-off-by: Yang Hongyang Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 01b24fee285b098c74318a8be801ef3711ec18d7 Author: Michael Buesch Date: Fri Feb 20 15:38:49 2009 -0800 spi_bitbang: add more lowlevel function documentation This adds more documentation of the lowlevel API to avoid future bugs. Signed-off-by: Michael Buesch Acked-by: David Brownell Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit f6fcba7014f9cc535fa75ef98c008b24e49e2212 Author: Tejun Heo Date: Fri Feb 20 15:38:48 2009 -0800 vmalloc: call flush_cache_vunmap() from unmap_kernel_range() Impact: proper vcache flush on unmap_kernel_range() flush_cache_vunmap() should be called before pages are unmapped. Add a call to it in unmap_kernel_range(). Signed-off-by: Tejun Heo Acked-by: Nick Piggin Acked-by: David S. Miller Cc: [2.6.28.x] Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 3fd076dd955a34c35dc456f4ef676e03cdced044 Author: Li Zefan Date: Fri Feb 20 15:38:48 2009 -0800 cpuset: various documentation fixes and updates I noticed the old commit 8f5aa26c75b7722e80c0c5c5bb833d41865d7019 ("cpusets: update_cpumask documentation fix") is not a complete fix, resulting in inconsistent paragraphs. This patch fixes it and does other fixes and updates: - s/migrate_all_tasks()/migrate_live_tasks()/ - describe more cpuset control files - s/cpumask_t/struct cpumask/ - document cpu hotplug and change of 'sched_relax_domain_level' may cause domain rebuild - document various ways to query and modify cpusets - the equivalent of "mount -t cpuset" is "mount -t cgroup -o cpuset,noprefix" Signed-off-by: Li Zefan Acked-by: Randy Dunlap Cc: Paul Menage Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 152de30bced150617e5731a9fe2364c9d04fe26c Author: Randy Dunlap Date: Fri Feb 20 15:38:47 2009 -0800 docsrc: use config instead of menuconfig BUILD_DOCSRC should be controlled by "config" instead of "menuconfig". I have no idea how I managed to use "menuconfig" here. Signed-off-by: Randy Dunlap Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit b28fe28f2a07ee325834179174a95495d2786561 Author: Dan Carpenter Date: Fri Feb 20 15:38:46 2009 -0800 sx.c: avoid referencing freed memory if copy_from_user() fails The "break" would just result in reusing a free'd pointer. I don't have the cards myself to test it though. :/ Signed-off-by: Dan Carpenter Cc: Ilpo Järvinen Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 9b6d25100ace1dcf9750803ff08f6b61f840be79 Author: Ilpo Järvinen Date: Fri Feb 20 15:38:45 2009 -0800 sx.c: fix dbl statement if - add missing braces Caused by 736d54533aed (sx.c: fix missed unlock_kernel() on error path in sx_fw_ioctl()). You guys keep breaking things this way in every single kernel release in at least couple of places... :-( Signed-off-by: Ilpo Järvinen Acked-by: Dan Carpenter Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit ad444684b78f12fb3f45a733722e2cbfe102d25c Author: Li Zefan Date: Fri Feb 20 15:38:43 2009 -0800 README: fix a wrong filename It should be Documentation/build/kconfig.txt. Introduced by commit 2af238e455ef5fd31c2f7a06c2db3f13d843b9bf ("kbuild: make *config usage docs"). Signed-off-by: Li Zefan Cc: Sam Ravnborg Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 3ef0e5ba467366125f04b423f4638baca54a4fc1 Author: Johannes Weiner Date: Fri Feb 20 15:38:41 2009 -0800 slab: introduce kzfree() kzfree() is a wrapper for kfree() that additionally zeroes the underlying memory before releasing it to the slab allocator. Currently there is code which memset()s the memory region of an object before releasing it back to the slab allocator to make sure security-sensitive data are really zeroed out after use. These callsites can then just use kzfree() which saves some code, makes users greppable and allows for a stupid destructor that isn't necessarily aware of the actual object size. Signed-off-by: Johannes Weiner Reviewed-by: Pekka Enberg Cc: Matt Mackall Acked-by: Christoph Lameter Cc: Nick Piggin Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit d9190913b71831f5e3d04de62cfb1fd069a9db35 Author: Wei Yongjun Date: Fri Feb 20 15:38:40 2009 -0800 mn10300: fix typo && -> || in arch/mn10300/unit-asb2305/pci.c Fix the typo && -> ||. Signed-off-by: Wei Yongjun Signed-off-by: David Howells Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 58bafe72ad937ec0813109254a154cf32be25fc4 Author: David Howells Date: Fri Feb 20 15:38:38 2009 -0800 mn10300: fix oprofile oprofile for MN10300 seems to have been broken by the advent of the new tracing framework. Signed-off-by: David Howells Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 41a9e64ca4d60dc412cfcd42d5be5dec1f1ed427 Author: Luca Bigliardi Date: Fri Feb 20 15:38:36 2009 -0800 uml: fix vde network backend in user mode linux * Replace kmalloc() with uml_kmalloc() (fix build failure) * Remove unnecessary UM_KERN_INFO in printk() (don't display '<6>' while printing info) Signed-off-by: Luca Bigliardi Cc: Jiri Kosina Reviewed-by: WANG Cong Cc: Jeff Dike Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 8cbb5bc374522a5f359e34856829732a7ed458a4 Author: Zachary Amsden Date: Fri Feb 20 11:27:46 2009 -0800 MAINTAINERS: paravirt-ops maintainers update Welcome to Alok Kataria, our new paravirt-ops maintainer. Cc: Chris Wright Cc: Alok Kataria Cc: Rusty Russell Signed-off-by: Ingo Molnar commit 4e06bdd6cbd5105376e7caf4e683ed131e777389 Author: Josef Bacik Date: Fri Feb 20 10:59:53 2009 -0500 Btrfs: try committing transaction before returning ENOSPC This fixes a problem where we could return -ENOSPC when we may actually have plenty of space, the space is just pinned. Instead of returning -ENOSPC immediately, commit the transaction first and then try and do the allocation again. This patch also does chunk allocation for metadata if we pass the 80% threshold for metadata space. This will help with stack usage since the chunk allocation will happen early on, instead of when the allocation is happening. Signed-off-by: Josef Bacik commit 6a63209fc02d5483371f07e4913ee8abad608051 Author: Josef Bacik Date: Fri Feb 20 11:00:09 2009 -0500 Btrfs: add better -ENOSPC handling This is a step in the direction of better -ENOSPC handling. Instead of checking the global bytes counter we check the space_info bytes counters to make sure we have enough space. If we don't we go ahead and try to allocate a new chunk, and then if that fails we return -ENOSPC. This patch adds two counters to btrfs_space_info, bytes_delalloc and bytes_may_use. bytes_delalloc account for extents we've actually setup for delalloc and will be allocated at some point down the line. bytes_may_use is to keep track of how many bytes we may use for delalloc at some point. When we actually set the extent_bit for the delalloc bytes we subtract the reserved bytes from the bytes_may_use counter. This keeps us from not actually being able to allocate space for any delalloc bytes. Signed-off-by: Josef Bacik commit 2cfbd50b536c878e58ab3681c4e944fa3d99b415 Author: Chris Mason Date: Fri Feb 20 10:55:10 2009 -0500 Btrfs: check file pointer in btrfs_sync_file fsync can be called by NFS with a null file pointer, and btrfs was oopsing in this case. Signed-off-by: Chris Mason commit 55290e1932102f57ea17e7cff895914c2dbdb4c4 Author: Takashi Iwai Date: Fri Feb 20 15:59:01 2009 +0100 ALSA: hda - Fix parse of init_verbs sysfs entry Fixed the parse of init_verbs hwdep sysfs entry. Simplieied using sscanf. Signed-off-by: Takashi Iwai commit d13c11f6f7324b4fe61720910ee54184c38d2fea Author: roel kluin Date: Mon Feb 16 04:02:04 2009 +0000 sungem: another error printed one too early Another error was printed one too early. Signed-off-by: Roel Kluin Signed-off-by: David S. Miller commit 0d5048a96fc51d976ac777e3d78762b4dd241693 Author: Randy Dunlap Date: Fri Feb 20 00:54:44 2009 -0800 ISDN: fix sc/shmem printk format warning Fix isdn/sc/shmem.c printk format warning: drivers/isdn/sc/shmem.c:57: warning: format '%d' expects type 'int', but argument 3 has type 'size_t' Signed-off-by: Randy Dunlap Signed-off-by: David S. Miller commit 2cf0dbed27af3f827a96db98c2535002902f6af0 Author: Roel Kluin Date: Fri Feb 20 00:52:19 2009 -0800 SMSC: timeout reaches -1 With a postfix decrement timeouts will reach -1 rather than 0, so the error path does not appear. Signed-off-by: Roel Kluin Signed-off-by: David S. Miller commit 196b7e1b9cca9e187bb61fa7d60f04f4ab2c0592 Author: Steve Glendinning Date: Sun Feb 15 22:55:01 2009 +0000 smsc9420: handle magic field of ethtool_eeprom ethtool.h says the driver should set the magic field in get_eeprom and verify it in set_eeprom. This patch adds this functionality using an arbitary driver-specific magic value constant (0x9420). Signed-off-by: Steve Glendinning Signed-off-by: David S. Miller commit 62660e28084df3d8067ab855f326d3027808c569 Author: Roel Kluin Date: Wed Feb 18 10:19:50 2009 +0100 sundance: missing parentheses? Signed-off-by: Roel Kluin Signed-off-by: David S. Miller commit 9df8f4e3ee760c14211a5f484e9ee4f0bc0c566b Author: Steve Glendinning Date: Mon Feb 16 07:46:06 2009 +0000 smsc9420: fix another postfixed timeout Roel Kluin recently fixed several instances where variables reach -1, but 0 is tested afterwards. This patch fixes another, so the timeout will be correctly detected and a warning printed. Signed-off-by: Steve Glendinning Signed-off-by: David S. Miller commit 494ef10ebacc23679350a17483879366d8bafebd Author: Inaky Perez-Gonzalez Date: Thu Feb 19 14:40:29 2009 -0800 wimax/i2400m: driver loads firmware v1.4 instead of v1.3 This is a one liner change to have the driver use by default the v1.4 of the i2400m firmware instead of v1.3. The v1.4 version of the firmware has been submitted to David Woodhouse for inclusion in the linux-firmware tree and it is already available at http://linuxwimax.org/Download. The reason for this change is that the 1.3 release of the user space software and firmware has a few issues that will make it difficult to use with currently deployed commercial networks such as Xohm and Clearwire. As well, the new 1.4 release of the user space software (which matches the 1.4 firmware) has intermitent issues with the 1.3 firmware. The 1.4 release in http://linuxwimax.org/Download has been widely deployed and tested with the codebase in 2.6.29-rc, the 1.4 firmware and the 1.4 user space components. We understand it is quite late in the rc process for such a change, but would like to ask for the change to be taken into consideration. Alternatively, a user could always force feed a 1.4 firmware into a driver that doesn't have this modification by: $ cd /lib/firmware $ mv i2400m-fw-usb-1.3.sbcf i2400m-fw-usb-1.3.real.sbcf $ ln -sf i2400m-fw-usb-1.4.sbc i2400m-fw-usb-1.3.sbcf Signed-off-by: Inaky Perez-Gonzalez Signed-off-by: David S. Miller commit 07a66d7c53a538e1a9759954a82bb6c07365eff9 Author: Ingo Molnar Date: Fri Feb 20 08:04:13 2009 +0100 x86: use the right protections for split-up pagetables Steven Rostedt found a bug in where in his modified kernel ftrace was unable to modify the kernel text, due to the PMD itself having been marked read-only as well in split_large_page(). The fix, suggested by Linus, is to not try to 'clone' the reference protection of a huge-page, but to use the standard (and permissive) page protection bits of KERNPG_TABLE. The 'cloning' makes sense for the ptes but it's a confused and incorrect concept at the page table level - because the pagetable entry is a set of all ptes and hence cannot 'clone' any single protection attribute - the ptes can be any mixture of protections. With the permissive KERNPG_TABLE, even if the pte protections get changed after this point (due to ftrace doing code-patching or other similar activities like kprobes), the resulting combined protections will still be correct and the pte's restrictive (or permissive) protections will control it. Also update the comment. This bug was there for a long time but has not caused visible problems before as it needs a rather large read-only area to trigger. Steve possibly hacked his kernel with some really large arrays or so. Anyway, the bug is definitely worth fixing. [ Huang Ying also experienced problems in this area when writing the EFI code, but the real bug in split_large_page() was not realized back then. ] Reported-by: Steven Rostedt Reported-by: Huang Ying Acked-by: Linus Torvalds Signed-off-by: Ingo Molnar commit e32740d9786b8a6c54f6e3d670567d9ef57b3b8c Author: Harvey Harrison Date: Thu Feb 19 11:58:37 2009 -0800 ALSA: pcxhr.h replace signed one-bit bitfields The usage and comments make it clear values of 1/0 were intended rather than -1/0 Noticed by sparse: sound/pci/pcxhr/pcxhr.h:100:20: error: dubious one-bit signed bitfield sound/pci/pcxhr/pcxhr.h:101:22: error: dubious one-bit signed bitfield sound/pci/pcxhr/pcxhr.h:102:24: error: dubious one-bit signed bitfield sound/pci/pcxhr/pcxhr.h:103:21: error: dubious one-bit signed bitfield sound/pci/pcxhr/pcxhr.h:104:25: error: dubious one-bit signed bitfield sound/pci/pcxhr/pcxhr.h:105:20: error: dubious one-bit signed bitfield Signed-off-by: Harvey Harrison Signed-off-by: Takashi Iwai commit 48ffc70b675aa7798a52a2e92e20f6cce9140b3d Author: Alok N Kataria Date: Wed Feb 18 12:33:55 2009 -0800 x86, vmi: TSC going backwards check in vmi clocksource Impact: fix time warps under vmware Similar to the check for TSC going backwards in the TSC clocksource, we also need this check for VMI clocksource. Signed-off-by: Alok N Kataria Cc: Zachary Amsden Signed-off-by: Ingo Molnar Cc: stable@kernel.org commit 3d16118dc825a654043dfe3e14371fdf2976994d Author: etienne Date: Fri Feb 20 09:44:45 2009 +1000 drm/radeon: update sarea copies of last_ variables on resume. This fixes a regression reported in bug #12613. [airlied: not I tweaked the patch slightly and fixed it by etienne did all the hardwork so gets authorship] Signed-off-by: etienne Signed-off-by: Dave Airlie commit ab00b3e5210954cbaff9207db874a9f03197e3ba Author: Jesse Barnes Date: Wed Feb 11 14:01:46 2009 -0800 drm/i915: Keep refs on the object over the lifetime of vmas for GTT mmap. This fixes potential fault at fault time if the object was unreferenced while the mapping still existed. Now, while the mmap_offset only lives for the lifetime of the object, the object also stays alive while a vma exists that needs it. Signed-off-by: Jesse Barnes Signed-off-by: Eric Anholt Signed-off-by: Dave Airlie commit 496818f08a78476abdb307e241911536221239fc Author: Jesse Barnes Date: Wed Feb 11 13:28:14 2009 -0800 drm/i915: take struct mutex around fb unref Need to do this in case the unref ends up doing a free. Signed-off-by: Jesse Barnes Signed-off-by: Eric Anholt Signed-off-by: Dave Airlie commit 43565a0648e664744ac9201c199681451355edcc Author: Kristian Høgsberg Date: Fri Feb 13 20:56:52 2009 -0500 drm: Use spread spectrum when the bios tells us it's ok. Lifted from the DDX modesetting. Signed-off-by: Kristian Høgsberg Signed-off-by: Eric Anholt Signed-off-by: Dave Airlie commit a29f5ca3d691995266a4b1df313e32ff0509a03c Author: Kristian Høgsberg Date: Fri Feb 13 20:56:51 2009 -0500 drm: Collapse identical i8xx_clock() and i9xx_clock(). They used to be different. Now they're identical. Signed-off-by: Kristian Høgsberg Signed-off-by: Eric Anholt Signed-off-by: Dave Airlie commit f3cade5c037054ce5f57651fe0b64eaa9781c753 Author: Kristian Høgsberg Date: Fri Feb 13 20:56:50 2009 -0500 drm: Bring PLL limits in sync with DDX values. Signed-off-by: Kristian Høgsberg Signed-off-by: Eric Anholt Signed-off-by: Dave Airlie commit 7f9872e06d749afdc2029aa6b7ffe88cb3b8c5c2 Author: Kristian Høgsberg Date: Fri Feb 13 20:56:49 2009 -0500 drm: Add locking around cursor gem operations. We need to hold the struct_mutex around pinning and the phys object operations. Signed-off-by: Kristian Høgsberg Signed-off-by: Eric Anholt Signed-off-by: Dave Airlie commit 5c3b82e2b229e78eb32f4ea12d16f3ebeeab3fc7 Author: Chris Wilson Date: Wed Feb 11 13:25:09 2009 +0000 drm: Propagate failure from setting crtc base. Check the error paths within intel_pipe_set_base() to first cleanup and then report back the error. Signed-off-by: Chris Wilson Signed-off-by: Eric Anholt Signed-off-by: Dave Airlie commit e62fb64e6187ea9d8bcedb17ccaa045ed92d4b55 Author: Chris Wilson Date: Wed Feb 11 16:39:21 2009 +0000 drm: Check for a NULL encoder when reverting on error path We need to skip the connectors with a NULL encoder to match the success path and avoid an OOPS. Signed-off-by: Chris Wilson Signed-off-by: Eric Anholt Signed-off-by: Dave Airlie commit 85a7bb98582b60b7e9130159d2464eb0bbac13f7 Author: Chris Wilson Date: Wed Feb 11 14:52:44 2009 +0000 drm/i915: Cleanup the hws on ringbuffer constrution failure. If we fail to create the ringbuffer, then we need to cleanup the allocated hws. Signed-off-by: Chris Wilson Signed-off-by: Eric Anholt Signed-off-by: Dave Airlie commit 67eabc0553a32c491fdb392ff2358a0384562050 Author: Steve Aarnio Date: Thu Feb 12 11:34:02 2009 -0800 drm/i915: Don't add panel_fixed_mode to the probed modes list at LVDS init. In the case where no EDID data is read from the device, adding the panel_fixed_mode pointer to the probed modes list causes data corruption. If the panel_fixed_mode pointer is added to the probed modes list at init time, a copy of the mode is added again at drm_get_modes() request time. Then, the panel_fixed_mode pointer is freed because it is seen as a duplicate mode. Unfortunately, this pointer is still stored and used in mode_fixup(). Because the panel_fixed_mode data is copied and returned at drm_get_modes() time, it is unnecessary to add this information at init time. Signed-off-by: Steve Aarnio Signed-off-by: Eric Anholt Signed-off-by: Dave Airlie commit ea39f835168f60b01e59d0f348da25d297e7cf94 Author: Kristian Høgsberg Date: Thu Feb 12 14:37:56 2009 -0500 drm: Release user fbs in drm_release Avoids leaking fbs and associated buffers on release. Signed-off-by: Kristian Høgsberg Tested-by: Tested-by: Chris Wilson Signed-off-by: Eric Anholt Signed-off-by: Dave Airlie commit b4476f52e43fadcb9402723a1a55ba1308757525 Author: Chris Wilson Date: Wed Feb 11 14:26:36 2009 +0000 drm/i915: Unpin the fb on error during construction. If we fail whilst constructing the fb, then we need to unpin it as well. Signed-off-by: Chris Wilson Signed-off-by: Eric Anholt Signed-off-by: Dave Airlie commit 3eb2ee77b0b6b7b2c10308d7b46d2a459fb5be10 Author: Chris Wilson Date: Wed Feb 11 14:26:34 2009 +0000 drm/i915: Unpin the hws if we fail to kmap. A missing unpin on the error path. Signed-off-by: Chris Wilson Signed-off-by: Eric Anholt Signed-off-by: Dave Airlie commit 47ed185a777632063d2748f59d14ec6fdeb26f67 Author: Chris Wilson Date: Wed Feb 11 14:26:33 2009 +0000 drm/i915: Unpin the ringbuffer if we fail to ioremap it. A missing unpin on the error path. Signed-off-by: Chris Wilson Signed-off-by: Eric Anholt Signed-off-by: Dave Airlie commit 491152b8778d7d290579c989e8607892accde920 Author: Chris Wilson Date: Wed Feb 11 14:26:32 2009 +0000 drm/i915: unpin for an invalid memory domain. A missing unreference and unpin after rejecting the relocation for an invalid memory domain. Signed-off-by: Chris Wilson Signed-off-by: Eric Anholt Signed-off-by: Dave Airlie commit 13af10627676879d1b20ee3cdba9a28f0906dd98 Author: Chris Wilson Date: Wed Feb 11 14:26:31 2009 +0000 drm/i915: Release and unlock on mmap_gtt error path. We failed to unlock the mutex after failing to create the mmap offset. Signed-off-by: Chris Wilson Signed-off-by: Eric Anholt Signed-off-by: Dave Airlie commit 2ebed176a7ee126448d34fc336afb2ea0238c280 Author: Chris Wilson Date: Wed Feb 11 14:26:30 2009 +0000 drm/i915: Set framebuffer alignment based upon the fence constraints. Set the request alignment to 0, and leave it up to i915_gem_object_pin() to set the appropriate alignment to match the fence covering the object. Eric Anholt mentioned that the pinning code is meant to choose the maximum of the request alignment and that of the fence covering the object... However currently, the pinning code will only apply the fence constraints if the supplied alignment is 0. Signed-off-by: Chris Wilson Signed-off-by: Eric Anholt Signed-off-by: Dave Airlie commit 8d59bae5d9aae10ab230561519bfb97962509bcb Author: Chris Wilson Date: Wed Feb 11 14:26:28 2009 +0000 drm: Do not leak a new reference for flink() on an existing name The name table should only hold a single reference, so avoid leaking additional references for secondary calls to flink(). Signed-off-by: Chris Wilson Signed-off-by: Eric Anholt Signed-off-by: Dave Airlie commit a35f2e2b83a789e189a501ebd722bc9a1310eb05 Author: Roland Dreier Date: Fri Feb 6 17:48:09 2009 -0800 drm/i915: Fix potential AB-BA deadlock in i915_gem_execbuffer() Lockdep warns that i915_gem_execbuffer() can trigger a page fault (which takes mmap_sem) while holding dev->struct_mutex, while drm_vm_open() (which is called with mmap_sem already held) takes dev->struct_mutex. So this is a potential AB-BA deadlock. The way that i915_gem_execbuffer() triggers a page fault is by doing copy_to_user() when returning new buffer offsets back to userspace; however there is no reason to hold the struct_mutex when doing this copy, since what is being copied is the contents of an array private to i915_gem_execbuffer() anyway. So we can fix the potential deadlock (and get rid of the lockdep warning) by simply moving the copy_to_user() outside of where struct_mutex is held. This fixes . Reported-by: Jesse Brandeburg Tested-by: Jesse Brandeburg Signed-off-by: Roland Dreier Signed-off-by: Eric Anholt Signed-off-by: Dave Airlie commit 96dec61d563fb8dff2c8427fdf85327a95b65c74 Author: Chris Wilson Date: Sun Feb 8 19:08:04 2009 +0000 drm/i915: refleak along pin() error path. A missing unreference if the user calls pin() a second time on a pinned buffer. Signed-off-by: Chris Wilson Signed-off-by: Eric Anholt Signed-off-by: Dave Airlie commit d6873102fd36c577f88174d8bd50f1d51645fc51 Author: Chris Wilson Date: Sun Feb 8 19:07:51 2009 +0000 drm/i915: hold mutex for unreference() in i915_gem_tiling.c Signed-off-by: Chris Wilson Signed-off-by: Eric Anholt Signed-off-by: Dave Airlie commit a198bc80ae59cf7c6da93bc8bd017b2198148ed7 Author: Chris Wilson Date: Fri Feb 6 16:55:20 2009 +0000 drm/i915: Cleanup trivial leak on execbuffer error path. Also spotted by Owain Ainsworth. Signed-off-by: Chris Wilson Signed-off-by: Eric Anholt Signed-off-by: Dave Airlie commit 3e49c4f4cf786b70bbc369b99e590de4bebac1b3 Author: Chris Wilson Date: Mon Feb 9 11:31:41 2009 +0000 drm: Free the object ref on error. Ensure that the object is unreferenced if we fail to allocate during drm_gem_flink_ioctl(). Signed-off-by: Chris Wilson Signed-off-by: Eric Anholt Signed-off-by: Dave Airlie commit ad45aa9e6e010283bbd8cf0c6309866233e113f2 Author: Chris Wilson Date: Mon Feb 9 11:31:41 2009 +0000 drm: Potential use-after-free on error path. Remove the member from the hash table before we free the structure! Signed-off-by: Chris Wilson Signed-off-by: Eric Anholt Signed-off-by: Dave Airlie commit 005568be363b90c9333c3bcbc1e7a53922816322 Author: Tobias Klauser Date: Mon Feb 9 22:02:42 2009 +0100 drm/i915: Storage class should be before const qualifier The C99 specification states in section 6.11.5: The placement of a storage-class specifier other than at the beginning of the declaration specifiers in a declaration is an obsolescent feature. Signed-off-by: Tobias Klauser Signed-off-by: Eric Anholt Signed-off-by: Dave Airlie commit 620565ef5f35f4196e5081417db381c16b0ae791 Merge: a5e7536 27e88bf Author: Linus Torvalds Date: Thu Feb 19 13:09:32 2009 -0800 Merge branch 'for-linus' of git://oss.sgi.com/xfs/xfs * 'for-linus' of git://oss.sgi.com/xfs/xfs: Revert "[XFS] remove old vmap cache" Revert "[XFS] use scalable vmap API" commit a5e753638874b9caabde01c8774e1a39e31cb614 Merge: 402a917 ec8148d Author: Linus Torvalds Date: Thu Feb 19 13:09:20 2009 -0800 Merge branch 'release' of git://git.kernel.org/pub/scm/linux/kernel/git/aegl/linux-2.6 * 'release' of git://git.kernel.org/pub/scm/linux/kernel/git/aegl/linux-2.6: [IA64] xen_domu build fix [IA64] fixes configs and add default config for ia64 xen domU [IA64] Remove redundant cpu_clear() in __cpu_disable path [IA64] Revert "prevent ia64 from invoking irq handlers on offline CPUs" [IA64] bte_copy of BTE_MAX_XFER trips BUG_ON. [IA64] Build fix for __early_pfn_to_nid() undefined link error commit ec8148de85a73a3be397a59b6d8f4f32cf2dd254 Author: Tony Luck Date: Thu Feb 19 12:05:00 2009 -0800 [IA64] xen_domu build fix arch/ia64/xen/xen_pv_ops.c:156: error: xen_init_ops causes a section type conflict arch/ia64/xen/xen_pv_ops.c:340: error: xen_iosapic_ops causes a section type conflict Signed-off-by: Tony Luck commit 1d5b20f490f61f36a58e6ecf1713a49a43620666 Author: Isaku Yamahata Date: Fri Jan 16 12:17:30 2009 +0900 [IA64] fixes configs and add default config for ia64 xen domU This patch fixes xen related Kconfigs and add default config file for ia64 xen domU. Signed-off-by: Isaku Yamahata Signed-off-by: Tony Luck commit c0acdea21437eff134cc3486bdc52907d9086af1 Author: Alex Chiang Date: Mon Feb 9 11:16:57 2009 -0700 [IA64] Remove redundant cpu_clear() in __cpu_disable path The second call to cpu_clear() is redundant, as we've already removed the CPU from cpu_online_map before calling migrate_platform_irqs(). Signed-off-by: Alex Chiang Signed-off-by: Tony Luck commit 66db2e6331612bbec193a358885854330596a92a Author: Alex Chiang Date: Mon Feb 9 11:16:16 2009 -0700 [IA64] Revert "prevent ia64 from invoking irq handlers on offline CPUs" This reverts commit e7b140365b86aaf94374214c6f4e6decbee2eb0a. Commit e7b14036 removes the targetted disabled CPU from the cpu_online_map after calls to migrate_platform_irqs and fixup_irqs. Paul McKenney states that the reasoning behind the patch was to prevent irq handlers from running on CPUs marked offline because: RCU happily ignores CPUs that don't have their bits set in cpu_online_map, so if there are RCU read-side critical sections in the irq handlers being run, RCU will ignore them. If the other CPUs were running, they might sequence through the RCU state machine, which could result in data structures being yanked out from under those irq handlers, which in turn could result in oopses or worse. Unfortunately, both ia64 functions above look at cpu_online_map to find a new CPU to migrate interrupts onto. This means we can potentially migrate an interrupt off ourself back to... ourself. Uh oh. This causes an oops when we finally try to process pending interrupts on the CPU we want to disable. The oops results from calling __do_IRQ with a NULL pt_regs: Unable to handle kernel NULL pointer dereference (address 0000000000000040) Call Trace: [] show_stack+0x50/0xa0 sp=e0000009c922fa00 bsp=e0000009c92214d0 [] show_regs+0x820/0x860 sp=e0000009c922fbd0 bsp=e0000009c9221478 [] die+0x1a0/0x2e0 sp=e0000009c922fbd0 bsp=e0000009c9221438 [] ia64_do_page_fault+0x950/0xa80 sp=e0000009c922fbd0 bsp=e0000009c92213d8 [] ia64_native_leave_kernel+0x0/0x270 sp=e0000009c922fc60 bsp=e0000009c92213d8 [] profile_tick+0xd0/0x1c0 sp=e0000009c922fe30 bsp=e0000009c9221398 [] timer_interrupt+0x170/0x3e0 sp=e0000009c922fe30 bsp=e0000009c9221330 [] handle_IRQ_event+0x80/0x120 sp=e0000009c922fe30 bsp=e0000009c92212f8 [] __do_IRQ+0x160/0x4a0 sp=e0000009c922fe30 bsp=e0000009c9221290 [] ia64_process_pending_intr+0x2b0/0x360 sp=e0000009c922fe30 bsp=e0000009c9221208 [] fixup_irqs+0xf0/0x2a0 sp=e0000009c922fe30 bsp=e0000009c92211a8 [] __cpu_disable+0x140/0x240 sp=e0000009c922fe30 bsp=e0000009c9221168 [] take_cpu_down+0x50/0xa0 sp=e0000009c922fe30 bsp=e0000009c9221148 [] stop_cpu+0xd0/0x200 sp=e0000009c922fe30 bsp=e0000009c92210f0 [] kthread+0xc0/0x140 sp=e0000009c922fe30 bsp=e0000009c92210c8 [] kernel_thread_helper+0xd0/0x100 sp=e0000009c922fe30 bsp=e0000009c92210a0 [] start_kernel_thread+0x20/0x40 sp=e0000009c922fe30 bsp=e0000009c92210a0 I don't like this revert because it is fragile. ia64 is getting lucky because we seem to only ever process timer interrupts in this path, but if we ever race with an IPI here, we definitely use RCU and have the potential of hitting an oops that Paul describes above. Patching ia64's timer_interrupt() to check for NULL pt_regs is insufficient though, as we still hit the above oops. As a short term solution, I do think that this revert is the right answer. The revert hold up under repeated testing (24+ hour test runs) with this setup: - 8-way rx6600 - randomly toggling CPU online/offline state every 2 seconds - running CPU exercisers, memory hog, disk exercisers, and network stressors - average system load around ~160 In the long term, we really need to figure out why we set pt_regs = NULL in ia64_process_pending_intr(). If it turns out that it is unnecessary to do so, then we could safely re-introduce e7b14036 (along with some other logic to be smarter about migrating interrupts). One final note: x86 also removes the disabled CPU from cpu_online_map and then re-enables interrupts for 1ms, presumably to handle any pending interrupts: arch/x86/kernel/irq_32.c (and irq_64.c): cpu_disable_common: [remove cpu from cpu_online_map] fixup_irqs(): for_each_irq: [break CPU affinities] local_irq_enable(); mdelay(1); local_irq_disable(); So they are doing implicitly what ia64 is doing explicitly. Signed-off-by: Alex Chiang Signed-off-by: Tony Luck commit 39d481cba27809598e755e184bc0d8ae1d22423e Author: Robin Holt Date: Tue Feb 3 18:40:59 2009 -0600 [IA64] bte_copy of BTE_MAX_XFER trips BUG_ON. BTE_MAX_XFER is wrong. It is one greater than the number of cache lines the BTE is actually able to transfer. If you request a transfer of exactly BTE_MAX_XFER size, you trip a very cryptic BUG_ON() which should certainly be made more clear. This patch fixes that constant and also cleans up the BUG_ON()s in arch/ia64/sn/kernel/bte.c to test one condition per line. Signed-off-by: Robin Holt Signed-off-by: Tony Luck commit 334f85b647bc46ff4d27ace55aa65f44d6a2f4db Author: Tony Luck Date: Thu Feb 19 11:22:36 2009 -0800 [IA64] Build fix for __early_pfn_to_nid() undefined link error ia64 only defines __early_pfn_to_nid() for SPARSEMEM && NUMA configurations, so the recent: commit: f2dbcfa738368c8a40d4a5f0b65dc9879577cb21 mm: clean up for early_pfn_to_nid() ends up with some link problems for certain configuration files. Fix arch/ia64/Kconfig to only define HAVE_ARCH_EARLY_PFN_TO_NID in the cases where we do provide this function. Signed-off-by: Tony Luck commit 27e88bf6af7d42adf790f7b2ed7d65475f191cf2 Author: Felix Blyakher Date: Wed Feb 18 15:56:51 2009 -0600 Revert "[XFS] remove old vmap cache" This reverts commit d2859751cd0bf586941ffa7308635a293f943c17. This commit caused regression. We'll try to fix use of new vmap API for next release. Signed-off-by: Christoph Hellwig Signed-off-by: Felix Blyakher commit 7fdf582447aa01658b624adc0a51a31e4278b68c Author: Felix Blyakher Date: Wed Feb 18 15:41:28 2009 -0600 Revert "[XFS] use scalable vmap API" This reverts commit 95f8e302c04c0b0c6de35ab399a5551605eeb006. This commit caused regression. We'll try to fix use of new vmap API for next release. Signed-off-by: Christoph Hellwig Signed-off-by: Felix Blyakher commit 402a917aca5daca69fcc91f43e6f1e6939cf393b Merge: bcf8951 9dd446f Author: Linus Torvalds Date: Thu Feb 19 09:52:12 2009 -0800 Merge master.kernel.org:/home/rmk/linux-2.6-arm * master.kernel.org:/home/rmk/linux-2.6-arm: [ARM] 5405/1: ep93xx: remove unused gesbc9312.h header [ARM] 5404/1: Fix condition in arm_elf_read_implies_exec() to set READ_IMPLIES_EXEC [ARM] omap: fix clock reparenting in omap2_clk_set_parent() [ARM] 5403/1: pxa25x_ep_fifo_flush() *ep->reg_udccs always set to 0 [ARM] 5402/1: fix a case of wrap-around in sanity_check_meminfo() [ARM] 5401/1: Orion: fix edge triggered GPIO interrupt support [ARM] 5400/1: Add support for inverted rdy_busy pin for Atmel nand device controller [ARM] 5391/1: AT91: Enable GPIO clocks earlier [ARM] 5390/1: AT91: Watchdog fixes [ARM] 5398/1: Add Wan ZongShun to MAINTAINERS for W90P910 [ARM] omap: fix _omap2_clksel_get_src_field() [ARM] omap: fix omap2_divisor_to_clksel() error return value commit bcf8951fc23476c9190a7df0bc501ff47d0c3a61 Merge: f54b2fe 07db1c1 Author: Linus Torvalds Date: Thu Feb 19 09:14:35 2009 -0800 Merge branch 'x86-fixes-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip * 'x86-fixes-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip: x86, mce: fix ifdef for 64bit thermal apic vector clear on shutdown x86, mce: use force_sig_info to kill process in machine check x86, mce: reinitialize per cpu features on resume x86, rcu: fix strange load average and ksoftirqd behavior commit f54b2fe4aef9aa74ddf2c856928c3e29f3371fe7 Merge: 83ff1af ed4a2f3 Author: Linus Torvalds Date: Thu Feb 19 09:14:22 2009 -0800 Merge branch 'tracing-fixes-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip * 'tracing-fixes-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip: tracing: limit the number of loops the ring buffer self test can make tracing: have function trace select kallsyms tracing: disable tracing while testing ring buffer tracing/function-graph-tracer: trace the idle tasks commit 83ff1af9d330348d1a6685b0c06d33847cd72723 Merge: a1342d3 23d75d9 Author: Linus Torvalds Date: Thu Feb 19 08:35:52 2009 -0800 Merge branch 'for-linus' of git://git390.marist.edu/pub/scm/linux-2.6 * 'for-linus' of git://git390.marist.edu/pub/scm/linux-2.6: [S390] fix "mem=" handling in case of standby memory [S390] Fix timeval regression on s390 [S390] sclp: handle empty event buffers commit a1342d3b8e5dbffae9d5520e2847d7d605c25266 Merge: ba95fd4 e432472 Author: Linus Torvalds Date: Thu Feb 19 08:35:29 2009 -0800 Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tiwai/sound-2.6 * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tiwai/sound-2.6: sound: virtuoso: revert "do not overwrite EEPROM on Xonar D2/D2X" ALSA: jack - Use card->shortname for input name ALSA: usb-audio - Workaround for misdetected sample rate with CM6207 ALSA: usb-audio - Fix non-continuous rate detection sound: usb-audio: fix uninitialized variable with M-Audio MIDI interfaces Revert "Sound: hda - Restore PCI configuration space with interrupts off" commit 9dd446f657ebebb209274878be5d01103fcfe988 Author: Hartley Sweeten Date: Thu Feb 19 17:09:04 2009 +0100 [ARM] 5405/1: ep93xx: remove unused gesbc9312.h header Remove the gesbc9312.h header since it is unused. Signed-off-by: H Hartley Sweeten Signed-off-by: Russell King commit 9da616fb9946c8d65387052e5a538b8f54ddb292 Author: Makito SHIOKAWA Date: Thu Feb 19 15:34:59 2009 +0100 [ARM] 5404/1: Fix condition in arm_elf_read_implies_exec() to set READ_IMPLIES_EXEC READ_IMPLIES_EXEC must be set when: o binary _is_ an executable stack (i.e. not EXSTACK_DISABLE_X) o processor architecture is _under_ ARMv6 (XN bit is supported from ARMv6) Signed-off-by: Makito SHIOKAWA Signed-off-by: Russell King commit 23d75d9cadd79bc9fd6553857d57c679cf18d4cb Author: Heiko Carstens Date: Thu Feb 19 15:19:01 2009 +0100 [S390] fix "mem=" handling in case of standby memory Standby memory detected with the sclp interface gets always registered with add_memory calls without considering the limitationt that the "mem=" kernel paramater implies. So fix this and only register standby memory that is below the specified limit. This fixes zfcpdump since it uses "mem=32M". In case there is appr. 2GB standby memory present all of usable memory would be used for the struct pages needed for standby memory. Signed-off-by: Heiko Carstens Signed-off-by: Martin Schwidefsky commit d5cd0343d2878b66e25e044f644563c6bf708833 Author: Christian Borntraeger Date: Thu Feb 19 15:19:00 2009 +0100 [S390] Fix timeval regression on s390 commit aa5e97ce4bbc9d5daeec16b1d15bb3f6b7b4f4d4 [PATCH] improve precision of process accounting. Introduced a timing regression: -bash-3.2# time ls real 0m0.006s user 0m1.754s sys 0m1.094s The problem was introduced by an error in cputime_to_timeval. Cputime is now 1/4096 microsecond, therefore, we have to divide the remainder with 4096 to get the microseconds. Signed-off-by: Christian Borntraeger Signed-off-by: Martin Schwidefsky commit e2e5a0f2b100a5204d27def8bbf73333d1710be2 Author: Peter Oberparleiter Date: Thu Feb 19 15:18:59 2009 +0100 [S390] sclp: handle empty event buffers Handle a malformed hardware response which some versions of the Support Element (SE) may present during SE restart and which otherwise would result in an endless loop in function sclp_dispatch_evbufs. Signed-off-by: Peter Oberparleiter Signed-off-by: Martin Schwidefsky commit 41f3103fcfffff096c34f5267d7c9a26b44d89d3 Author: Russell King Date: Thu Feb 19 13:25:16 2009 +0000 [ARM] omap: fix clock reparenting in omap2_clk_set_parent() When changing the parent of a clock, it is necessary to keep the clock use counts balanced otherwise things the parent state will get corrupted. Since we already disable and re-enable the clock, we might as well use the recursive versions instead. Signed-off-by: Russell King commit e432472db2ca42366240c32c38dc36de424ac7cd Merge: e6845d9 3b03cc5 Author: Takashi Iwai Date: Thu Feb 19 13:58:05 2009 +0100 Merge branch 'fix/usb-audio' into for-linus commit e6845d9101c5ad2b132473d515e77d74415f004b Merge: 379752f 6ce6c47 Author: Takashi Iwai Date: Thu Feb 19 13:58:01 2009 +0100 Merge branch 'fix/misc' into for-linus commit 379752fdf8d2e2be2e7da84300bbf73e4f78c36f Merge: d2f8d7e d14a7e0 Author: Takashi Iwai Date: Thu Feb 19 13:57:52 2009 +0100 Merge branch 'fix/hda' into for-linus commit 22eb36f49e24e922ca6594a99157a3fcb92d3824 Author: Roel Kluin Date: Thu Feb 19 11:57:46 2009 +0100 [ARM] 5403/1: pxa25x_ep_fifo_flush() *ep->reg_udccs always set to 0 *ep->reg_udccs is always set to 0. Signed-off-by: Roel Kluin Acked-by: Eric Miao Signed-off-by: Russell King commit 3fd9825c42c784a59b3b90bdf073f49d4bb42a8d Author: Nicolas Pitre Date: Wed Feb 18 22:29:22 2009 +0100 [ARM] 5402/1: fix a case of wrap-around in sanity_check_meminfo() In the non highmem case, if two memory banks of 1GB each are provided, the second bank would evade suppression since its virtual base would be 0. Fix this by disallowing any memory bank which virtual base address is found to be lower than PAGE_OFFSET. Reported-by: Lennert Buytenhek Signed-off-by: Nicolas Pitre Signed-off-by: Russell King commit ed4a2f374d71770796789ed559c35a36bab82f1a Merge: 5b058bc 4b3e3d2 Author: Ingo Molnar Date: Thu Feb 19 10:16:45 2009 +0100 Merge branch 'tip/tracing/urgent' of git://git.kernel.org/pub/scm/linux/kernel/git/rostedt/linux-2.6-trace into tracing/urgent commit 6ce6c473a7fd742fdb0db95841e2c4c6b37337c5 Author: Clemens Ladisch Date: Tue Feb 17 09:50:30 2009 +0100 sound: virtuoso: revert "do not overwrite EEPROM on Xonar D2/D2X" This reverts commit 7e86c0e6850504ec9516b953f316a47277825e33 ("do not overwrite EEPROM on Xonar D2/D2X") because it did not actually help with the problem. More user reports show that the overwriting of the EEPROM is not triggered by using this driver but by installing Linux, and that the installation of any other operating system (even one without any CMI8788 driver) has the same effect. In other words, the presence of this driver does not have any effect on the occurrence of the error. (So far, the available evidence seems to point to a BIOS bug.) Furthermore, it turns out that the EEPROM chip is protected against stray write commands by the command format and by requiring a separate write-enable command, so the error scenario in the previous commit (that SPI writes can be misinterpreted as an EEPROM write command) is not even theoretically possible. The mixer control that was removed as a consequence of the previous commit can only be partially emulated in userspace, which also means it cannot be seen be the in-kernel OSS API emulation, so it is better to revert that change. Signed-off-by: Clemens Ladisch Cc: Signed-off-by: Takashi Iwai commit e4dd61882e2cfe47ea72ecd825671e8e5ae29038 Author: Jarek Poplawski Date: Wed Feb 18 23:31:11 2009 -0800 vlan: Update skb->mac_header in __vlan_put_tag(). After moving mac addresses in __vlan_put_tag() skb->mac_header needs to be updated. Reported-by: Karl Hiramoto Signed-off-by: Jarek Poplawski Signed-off-by: David S. Miller commit bb402f16ecf9bcdb944b8fa730f0e43cae519673 Author: Lee Nipper Date: Thu Feb 19 14:46:26 2009 +0800 crypto: ahash - Fix digest size in /proc/crypto crypto_ahash_show changed to use cra_ahash for digestsize reference. Signed-off-by: Lee Nipper Signed-off-by: Herbert Xu commit 4b3e3d228429c75d398f1aa24532e468d3220c49 Author: Steven Rostedt Date: Wed Feb 18 22:50:01 2009 -0500 tracing: limit the number of loops the ring buffer self test can make Impact: prevent deadlock if ring buffer gets corrupted This patch adds a paranoid check to make sure the ring buffer consumer does not go into an infinite loop. Since the ring buffer has been set to read only, the consumer should not loop for more than the ring buffer size. A check is added to make sure the consumer does not loop more than the ring buffer size. Signed-off-by: Steven Rostedt commit 4d7a077c0c7bfdba04cf0aa0b79053cf4ebaacf8 Author: Steven Rostedt Date: Wed Feb 18 22:06:18 2009 -0500 tracing: have function trace select kallsyms Impact: fix output of function tracer to be useful The function tracer is pretty useless if KALLSYMS is not configured. Unless you are good at reading hex values, the function tracer should select the KALLSYMS configuration. Also, the dynamic function tracer will fail its self test if KALLSYMS is not selected. Signed-off-by: Steven Rostedt commit 0c5119c1e655e0719a69601b1049acdd5ec1c125 Author: Steven Rostedt Date: Wed Feb 18 18:33:57 2009 -0500 tracing: disable tracing while testing ring buffer Impact: fix to prevent hard lockup on self tests If one of the tracers are broken and is constantly filling the ring buffer while the test of the ring buffer is running, it will hang the box. The reason is that the test is a consumer that will not stop till the ring buffer is empty. But if the tracer is broken and is constantly producing input to the buffer, this test will never end. The result is a lockup of the box. This happened when KALLSYMS was not defined and the dynamic ftrace test constantly filled the ring buffer, because the filter failed and all functions were being traced. Something was being called that constantly filled the buffer. Signed-off-by: Steven Rostedt commit ba95fd47d177d46743ad94055908d22840370e06 Merge: 59af0a0 be987fd Author: Linus Torvalds Date: Wed Feb 18 18:33:04 2009 -0800 Merge branch 'for-linus' of git://git.kernel.dk/linux-2.6-block * 'for-linus' of git://git.kernel.dk/linux-2.6-block: block: fix deadlock in blk_abort_queue() for drivers that readd to timeout list block: fix booting from partitioned md array block: revert part of 18ce3751ccd488c78d3827e9f6bf54e6322676fb cciss: PCI power management reset for kexec paride/pg.c: xs(): &&/|| confusion fs/bio: bio_alloc_bioset: pass right object ptr to mempool_free block: fix bad definition of BIO_RW_SYNC bsg: Fix sense buffer bug in SG_IO commit 59af0a0b5848caf38f1bf7013905c3e9cdba4d1d Merge: f04b30d 3ebf74b Author: Linus Torvalds Date: Wed Feb 18 17:55:15 2009 -0800 Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/drzeus/mmc * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/drzeus/mmc: omap_hsmmc: Change while(); loops with finite version omap_hsmmc: recover from transfer failures omap_hsmmc: only MMC1 allows HCTL.SDVS != 1.8V omap_hsmmc: card detect irq bugfix sdhci: fix led naming mmc_test: fix basic read test s3cmci: Fix hangup in do_pio_write() Revert "sdhci: force high speed capability on some controllers" MMC: fix bug - SDHC card capacity not correct commit ce03aaddd4d67371494b36c8e8a57bc789e934d6 Author: Divy Le Ray Date: Wed Feb 18 17:47:57 2009 -0800 cxgb3: Add support for PCI ID 0x35. Add support for adapters with a PCI id equal to 0x35. Signed-off-by: Divy Le Ray Signed-off-by: David S. Miller commit 5209921cf15452cbe43097afce11d2846630cb51 Author: Ilpo Järvinen Date: Wed Feb 18 17:45:44 2009 -0800 tcp: remove obsoleted comment about different passes This is obsolete since the passes got combined. Signed-off-by: Ilpo Järvinen Signed-off-by: David S. Miller commit f72b534961ac38dde17824d7693292eeaadf10e8 Author: Roel Kluin Date: Wed Feb 18 17:42:42 2009 -0800 TG3: &&/|| confusion phyid Can't be both TG3_PHY_OUI_1 and TG3_PHY_OUI_2 and TG3_PHY_OUI_3. Signed-off-by: Roel Kluin Acked-by: Matt Carlson Signed-off-by: David S. Miller commit 858671f80ae5db68d6bcd2c6d3a13e366040ba9b Author: Roel Kluin Date: Wed Feb 18 17:41:38 2009 -0800 ATM: misplaced parentheses? Add missing parentheses Signed-off-by: Roel Kluin Signed-off-by: David S. Miller commit 57e8f26a10ac4af488292199bb0435555f6723f3 Author: Sebastian Siewior Date: Mon Feb 16 11:28:15 2009 +0000 net/mv643xx: don't disable the mib timer too early and lock properly mib_counters_update() also restarts the timer. So the timer is dequeued, the stats are read and then the timer is enqueued again. This is "okay" unless someone unloads the module. The locking here is also broken: mib_counters_update() grabs just a simple spinlock. The only thing the lock is good for is to protect the timer func against other callers namely mv643xx_eth_stop() && mv643xx_eth_get_ethtool_stats(). That means if the spinlock is taken via the ethtool path and than the timer kicks in then the box will lock up. Signed-off-by: Sebastian Andrzej Siewior Acked-by: Lennert Buytenhek Signed-off-by: David S. Miller commit 82a5bd6a7b1b60b5d357e2e4b93b914f57314016 Author: Sebastian Siewior Date: Sat Feb 14 23:26:18 2009 +0000 net/mv643xx: use GFP_ATOMIC while atomic dev_set_rx_mode() grabs netif_addr_lock_bh(): |BUG: sleeping function called from invalid context at /home/bigeasy/git/cryptodev-2.6/mm/slub.c:1599 |in_atomic(): 1, irqs_disabled(): 0, pid: 859, name: ifconfig |2 locks held by ifconfig/859: | #0: (rtnl_mutex){--..}, at: [] rtnl_lock+0x18/0x20 | #1: (_xmit_ETHER){-...}, at: [] dev_set_rx_mode+0x1c/0x30 |[] (dump_stack+0x0/0x14) from [] (__might_sleep+0x11c/0x13c) |[] (__might_sleep+0x0/0x13c) from [] (kmem_cache_alloc+0x30/0xd4) | r5:c78093a0 r4:c034a47c |[] (kmem_cache_alloc+0x0/0xd4) from [] (mv643xx_eth_set_rx_mode+0x70/0x188) |[] (mv643xx_eth_set_rx_mode+0x0/0x188) from [] (__dev_set_rx_mode+0x40/0xac) |[] (__dev_set_rx_mode+0x0/0xac) from [] (dev_set_rx_mode+0x24/0x30) | r6:00001043 r5:c78090f8 r4:c7809000 |[] (dev_set_rx_mode+0x0/0x30) from [] (dev_open+0xe4/0x114) | r5:c7809350 r4:c7809000 |[] (dev_open+0x0/0x114) from [] (dev_change_flags+0xb0/0x190) | r5:00000041 r4:c7809000 |[] (dev_change_flags+0x0/0x190) from [] (devinet_ioctl+0x2f0/0x710) | r7:c7221e70 r6:c7aadb00 r5:00000000 r4:00000001 |[] (devinet_ioctl+0x0/0x710) from [] (inet_ioctl+0xd4/0x110) |[] (inet_ioctl+0x0/0x110) from [] (sock_ioctl+0x1f4/0x254) | r4:c7242b40 |[] (sock_ioctl+0x0/0x254) from [] (vfs_ioctl+0x38/0x98) | r6:beec9bb8 r5:00008914 r4:c7242b40 |[] (vfs_ioctl+0x0/0x98) from [] (do_vfs_ioctl+0x484/0x4d4) | r6:00008914 r5:c7242b40 r4:c74db1c0 |[] (do_vfs_ioctl+0x0/0x4d4) from [] (sys_ioctl+0x40/0x64) |[] (sys_ioctl+0x0/0x64) from [] (ret_fast_syscall+0x0/0x2c) |[42949399.520000] r7:00000036 r6:beec9c80 r5:00000041 r4:beec9bb8 Signed-off-by: Sebastian Andrzej Siewior Acked-by: Lennert Buytenhek Signed-off-by: David S. Miller commit 43250ddd75a35d1f7926d989a10fefd30c37eaa7 Author: Jie Yang Date: Wed Feb 18 17:24:15 2009 -0800 atl1c: Atheros L1C Gigabit Ethernet driver Supporting AR8131, and AR8132. Signed-off-by: Jie Yang Signed-off-by: David S. Miller commit f04b30de3c82528f1ab4c58b3dd4c975f5341901 Author: Ingo Molnar Date: Wed Feb 18 14:48:43 2009 -0800 inotify: fix GFP_KERNEL related deadlock Enhanced lockdep coverage of __GFP_NOFS turned up this new lockdep assert: [ 1093.677775] [ 1093.677781] ================================= [ 1093.680031] [ INFO: inconsistent lock state ] [ 1093.680031] 2.6.29-rc5-tip-01504-gb49eca1-dirty #1 [ 1093.680031] --------------------------------- [ 1093.680031] inconsistent {RECLAIM_FS-ON-W} -> {IN-RECLAIM_FS-W} usage. [ 1093.680031] kswapd0/308 [HC0[0]:SC0[0]:HE1:SE1] takes: [ 1093.680031] (&inode->inotify_mutex){+.+.?.}, at: [] inotify_inode_is_dead+0x20/0x80 [ 1093.680031] {RECLAIM_FS-ON-W} state was registered at: [ 1093.680031] [] mark_held_locks+0x43/0x5b [ 1093.680031] [] lockdep_trace_alloc+0x6c/0x6e [ 1093.680031] [] kmem_cache_alloc+0x20/0x150 [ 1093.680031] [] idr_pre_get+0x27/0x6c [ 1093.680031] [] inotify_handle_get_wd+0x25/0xad [ 1093.680031] [] inotify_add_watch+0x7a/0x129 [ 1093.680031] [] sys_inotify_add_watch+0x20f/0x250 [ 1093.680031] [] sysenter_do_call+0x12/0x35 [ 1093.680031] [] 0xffffffff [ 1093.680031] irq event stamp: 60417 [ 1093.680031] hardirqs last enabled at (60417): [] call_rcu+0x53/0x59 [ 1093.680031] hardirqs last disabled at (60416): [] call_rcu+0x17/0x59 [ 1093.680031] softirqs last enabled at (59656): [] __do_softirq+0x157/0x16b [ 1093.680031] softirqs last disabled at (59651): [] do_softirq+0x74/0x15d [ 1093.680031] [ 1093.680031] other info that might help us debug this: [ 1093.680031] 2 locks held by kswapd0/308: [ 1093.680031] #0: (shrinker_rwsem){++++..}, at: [] shrink_slab+0x36/0x189 [ 1093.680031] #1: (&type->s_umount_key#4){+++++.}, at: [] shrink_dcache_memory+0x110/0x1fb [ 1093.680031] [ 1093.680031] stack backtrace: [ 1093.680031] Pid: 308, comm: kswapd0 Not tainted 2.6.29-rc5-tip-01504-gb49eca1-dirty #1 [ 1093.680031] Call Trace: [ 1093.680031] [] valid_state+0x12a/0x13d [ 1093.680031] [] mark_lock+0xc1/0x1e9 [ 1093.680031] [] ? check_usage_forwards+0x0/0x3f [ 1093.680031] [] __lock_acquire+0x2c6/0xac8 [ 1093.680031] [] ? register_lock_class+0x17/0x228 [ 1093.680031] [] lock_acquire+0x5d/0x7a [ 1093.680031] [] ? inotify_inode_is_dead+0x20/0x80 [ 1093.680031] [] __mutex_lock_common+0x3a/0x4cb [ 1093.680031] [] ? inotify_inode_is_dead+0x20/0x80 [ 1093.680031] [] mutex_lock_nested+0x2e/0x36 [ 1093.680031] [] ? inotify_inode_is_dead+0x20/0x80 [ 1093.680031] [] inotify_inode_is_dead+0x20/0x80 [ 1093.680031] [] dentry_iput+0x90/0xc2 [ 1093.680031] [] d_kill+0x21/0x45 [ 1093.680031] [] __shrink_dcache_sb+0x27f/0x355 [ 1093.680031] [] shrink_dcache_memory+0x15e/0x1fb [ 1093.680031] [] shrink_slab+0x121/0x189 [ 1093.680031] [] kswapd+0x39f/0x561 [ 1093.680031] [] ? isolate_pages_global+0x0/0x233 [ 1093.680031] [] ? autoremove_wake_function+0x0/0x43 [ 1093.680031] [] ? kswapd+0x0/0x561 [ 1093.680031] [] kthread+0x41/0x82 [ 1093.680031] [] ? kthread+0x0/0x82 [ 1093.680031] [] kernel_thread_helper+0x7/0x10 inotify_handle_get_wd() does idr_pre_get() which does a kmem_cache_alloc() without __GFP_FS - and is hence deadlockable under extreme MM pressure. Signed-off-by: Ingo Molnar Acked-by: Peter Zijlstra Cc: MinChan Kim Cc: Nick Piggin Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit be50344e604f956891fc0013f1ba78823a758124 Author: Michael Buesch Date: Wed Feb 18 14:48:41 2009 -0800 spi-gpio: sanitize MISO bitvalue gpio_get_value() returns 0 or nonzero, but getmiso() expects 0 or 1. Sanitize the value to a 0/1 boolean. Signed-off-by: Michael Buesch Acked-by: David Brownell Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 97bef7dd05563807539122c488a5dd93ed327722 Author: Bernhard Walle Date: Wed Feb 18 14:48:40 2009 -0800 Bernhard has moved Since I don't work for SUSE any more and the bwalle@suse.de address is invalid, correct it in the copyright headers and documentation. Signed-off-by: Bernhard Walle Cc: Greg KH Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 310d8c93f9f07499cd7ca82d7997774a89de00e7 Author: Randy Dunlap Date: Wed Feb 18 14:48:39 2009 -0800 x86: dell-laptop: depends on POWER_SUPPLY Build breaks when DELL_LAPTOP=y and POWER_SUPPLY=m. DELL_LAPTOP needs to depend on POWER_SUPPLY. dell-laptop.c:(.text+0x1ef3c4): undefined reference to `power_supply_is_system_supplied' dell-laptop.c:(.text+0x1ef45e): undefined reference to `power_supply_is_system_supplied' Signed-off-by: Randy Dunlap Cc: Matthew Garrett Cc: Ingo Molnar Cc: Thomas Gleixner Cc: "H. Peter Anvin" Cc: Len Brown Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 2db69a9340da12a4db44edb7506dd68799aeff55 Author: Bill Nottingham Date: Wed Feb 18 14:48:39 2009 -0800 vt: Declare PIO_CMAP/GIO_CMAP as compatbile ioctls. Otherwise, these don't work when called from 32-bit userspace on 64-bit kernels. Cc: Jiri Kosina Cc: Alan Cox Cc: [2.6.25.x, 2.6.26.x, 2.6.27.x, 2.6.28.x] Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit a1a5c3b9237662f326cc730e167e7524b5d05a36 Author: Krzysztof Helt Date: Wed Feb 18 14:48:38 2009 -0800 fbdev/drm: fix Kconfig submenu mess in "Graphics support" Submenus of the graphics support "Support for frame buffer devices" and "Direct Rendering Manager (XFree86 4.1.0 and higher DRI support)" are broken in half after latest changes for Intel 915 mode setting support. The DRM subsection is broken because one option is put outside the choice section it depends on. The frame buffers part is broken then due to circular dependency. Fix this by make Intel frame buffers depend on CONFIG_INTEL_AGP. Kconfigs are broken by d2f59357700487a8b944f4f7777d1e97cf5ea2ed ("drm/i915: select framebuffer support automatically"). This is probably not only way to fix this. Signed-off-by: Krzysztof Helt Cc: Ingo Molnar Cc: Dave Airlie Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 5a74db06cc8d36a325913aa4968ae169f997a466 Author: Philippe De Muyter Date: Wed Feb 18 14:48:36 2009 -0800 floppy: request and release only the ports we actually use The floppy driver requests an I/O port it doesn't need, and sometimes this causes a conflict with a motherboard device reported by PNPBIOS. This patch makes the floppy driver request and release only the ports it actually uses. It also factors out the request/release stuff and the io-ports list so they're all in one place now. The current floppy driver uses only these ports: 0x3f2 (FD_DOR) 0x3f4 (FD_STATUS) 0x3f5 (FD_DATA) 0x3f7 (FD_DCR/FD_DIR) but it requests 0x3f2-0x3f5 and 0x3f7, which includes the unused port 0x3f3. Some BIOSes report 0x3f3 as a motherboard resource. The PNP system driver reserves that, which causes a conflict when the floppy driver requests 0x3f2-0x3f5 later. Philippe reported that this conflict broke the floppy driver between 2.6.11 and 2.6.22. His PNPBIOS reports these devices: $ cat 00:07/id 00:07/resources # motherboard device PNP0c02 state = active io 0x80-0x80 io 0x10-0x1f io 0x22-0x3f io 0x44-0x5f io 0x90-0x9f io 0xa2-0xbf io 0x3f0-0x3f1 io 0x3f3-0x3f3 $ cat 00:03/id 00:03/resources # floppy device PNP0700 state = active io 0x3f4-0x3f5 io 0x3f2-0x3f2 Reference: http://lkml.org/lkml/2009/1/31/162 Signed-off-by: Bjorn Helgaas Signed-off-by: Philippe De Muyter Reported-by: Philippe De Muyter Tested-by: Philippe De Muyter Cc: Adam M Belay Cc: Robert Hancock Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit ffa7525c13eb3db0fd19a3e1cffe2ce6f561f5f3 Author: Adam Lackorzynski Date: Wed Feb 18 14:48:34 2009 -0800 jsm: additional device support I have a Digi Neo 8 PCI card (114f:00b1) Serial controller: Digi International Digi Neo 8 (rev 05) that works with the jsm driver after using the following patch. Signed-off-by: Adam Lackorzynski Cc: Scott H Kilau Cc: Wendy Xiong Acked-by: Alan Cox Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit cc2559bccc72767cb446f79b071d96c30c26439b Author: KAMEZAWA Hiroyuki Date: Wed Feb 18 14:48:33 2009 -0800 mm: fix memmap init for handling memory hole Now, early_pfn_in_nid(PFN, NID) may returns false if PFN is a hole. and memmap initialization was not done. This was a trouble for sparc boot. To fix this, the PFN should be initialized and marked as PG_reserved. This patch changes early_pfn_in_nid() return true if PFN is a hole. Signed-off-by: KAMEZAWA Hiroyuki Reported-by: David Miller Tested-by: KOSAKI Motohiro Cc: Mel Gorman Cc: Heiko Carstens Cc: [2.6.25.x, 2.6.26.x, 2.6.27.x, 2.6.28.x] Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit f2dbcfa738368c8a40d4a5f0b65dc9879577cb21 Author: KAMEZAWA Hiroyuki Date: Wed Feb 18 14:48:32 2009 -0800 mm: clean up for early_pfn_to_nid() What's happening is that the assertion in mm/page_alloc.c:move_freepages() is triggering: BUG_ON(page_zone(start_page) != page_zone(end_page)); Once I knew this is what was happening, I added some annotations: if (unlikely(page_zone(start_page) != page_zone(end_page))) { printk(KERN_ERR "move_freepages: Bogus zones: " "start_page[%p] end_page[%p] zone[%p]\n", start_page, end_page, zone); printk(KERN_ERR "move_freepages: " "start_zone[%p] end_zone[%p]\n", page_zone(start_page), page_zone(end_page)); printk(KERN_ERR "move_freepages: " "start_pfn[0x%lx] end_pfn[0x%lx]\n", page_to_pfn(start_page), page_to_pfn(end_page)); printk(KERN_ERR "move_freepages: " "start_nid[%d] end_nid[%d]\n", page_to_nid(start_page), page_to_nid(end_page)); ... And here's what I got: move_freepages: Bogus zones: start_page[2207d0000] end_page[2207dffc0] zone[fffff8103effcb00] move_freepages: start_zone[fffff8103effcb00] end_zone[fffff8003fffeb00] move_freepages: start_pfn[0x81f600] end_pfn[0x81f7ff] move_freepages: start_nid[1] end_nid[0] My memory layout on this box is: [ 0.000000] Zone PFN ranges: [ 0.000000] Normal 0x00000000 -> 0x0081ff5d [ 0.000000] Movable zone start PFN for each node [ 0.000000] early_node_map[8] active PFN ranges [ 0.000000] 0: 0x00000000 -> 0x00020000 [ 0.000000] 1: 0x00800000 -> 0x0081f7ff [ 0.000000] 1: 0x0081f800 -> 0x0081fe50 [ 0.000000] 1: 0x0081fed1 -> 0x0081fed8 [ 0.000000] 1: 0x0081feda -> 0x0081fedb [ 0.000000] 1: 0x0081fedd -> 0x0081fee5 [ 0.000000] 1: 0x0081fee7 -> 0x0081ff51 [ 0.000000] 1: 0x0081ff59 -> 0x0081ff5d So it's a block move in that 0x81f600-->0x81f7ff region which triggers the problem. This patch: Declaration of early_pfn_to_nid() is scattered over per-arch include files, and it seems it's complicated to know when the declaration is used. I think it makes fix-for-memmap-init not easy. This patch moves all declaration to include/linux/mm.h After this, if !CONFIG_NODES_POPULATES_NODE_MAP && !CONFIG_HAVE_ARCH_EARLY_PFN_TO_NID -> Use static definition in include/linux/mm.h else if !CONFIG_HAVE_ARCH_EARLY_PFN_TO_NID -> Use generic definition in mm/page_alloc.c else -> per-arch back end function will be called. Signed-off-by: KAMEZAWA Hiroyuki Tested-by: KOSAKI Motohiro Reported-by: David Miller Cc: Mel Gorman Cc: Heiko Carstens Cc: [2.6.25.x, 2.6.26.x, 2.6.27.x, 2.6.28.x] Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit ada723dcd681e2dffd7d73345cc8fda0eb0df9bd Author: Peter Zijlstra Date: Wed Feb 18 14:48:30 2009 -0800 fs/super.c: add lockdep annotation to s_umount Li Zefan said: Thread 1: for ((; ;)) { mount -t cpuset xxx /mnt > /dev/null 2>&1 cat /mnt/cpus > /dev/null 2>&1 umount /mnt > /dev/null 2>&1 } Thread 2: for ((; ;)) { mount -t cpuset xxx /mnt > /dev/null 2>&1 umount /mnt > /dev/null 2>&1 } (Note: It is irrelevant which cgroup subsys is used.) After a while a lockdep warning showed up: ============================================= [ INFO: possible recursive locking detected ] 2.6.28 #479 --------------------------------------------- mount/13554 is trying to acquire lock: (&type->s_umount_key#19){--..}, at: [] sget+0x5e/0x321 but task is already holding lock: (&type->s_umount_key#19){--..}, at: [] sget+0x1e2/0x321 other info that might help us debug this: 1 lock held by mount/13554: #0: (&type->s_umount_key#19){--..}, at: [] sget+0x1e2/0x321 stack backtrace: Pid: 13554, comm: mount Not tainted 2.6.28-mc #479 Call Trace: [] validate_chain+0x4c6/0xbbd [] __lock_acquire+0x676/0x700 [] lock_acquire+0x5d/0x7a [] ? sget+0x5e/0x321 [] down_write+0x34/0x50 [] ? sget+0x5e/0x321 [] sget+0x5e/0x321 [] ? cgroup_set_super+0x0/0x3e [] ? cgroup_test_super+0x0/0x2f [] cgroup_get_sb+0x98/0x2e7 [] cpuset_get_sb+0x4a/0x5f [] vfs_kern_mount+0x40/0x7b [] do_kern_mount+0x37/0xbf [] do_mount+0x5c3/0x61a [] ? copy_mount_options+0x2c/0x111 [] sys_mount+0x69/0xa0 [] sysenter_do_call+0x12/0x31 The cause is after alloc_super() and then retry, an old entry in list fs_supers is found, so grab_super(old) is called, but both functions hold s_umount lock: struct super_block *sget(...) { ... retry: spin_lock(&sb_lock); if (test) { list_for_each_entry(old, &type->fs_supers, s_instances) { if (!test(old, data)) continue; if (!grab_super(old)) <--- 2nd: down_write(&old->s_umount); goto retry; if (s) destroy_super(s); return old; } } if (!s) { spin_unlock(&sb_lock); s = alloc_super(type); <--- 1th: down_write(&s->s_umount) if (!s) return ERR_PTR(-ENOMEM); goto retry; } ... } It seems like a false positive, and seems like VFS but not cgroup needs to be fixed. Peter said: We can simply put the new s_umount instance in a but lockdep doesn't particularly cares about subclass order. If there's any issue with the callers of sget() assuming the s_umount lock being of sublcass 0, then there is another annotation we can use to fix that, but lets not bother with that if this is sufficient. Addresses http://bugzilla.kernel.org/show_bug.cgi?id=12673 Signed-off-by: Peter Zijlstra Tested-by: Li Zefan Reported-by: Li Zefan Cc: Al Viro Cc: Paul Menage Cc: Arjan van de Ven Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 27c0c8e511fa9e2389503926840fac606d90a049 Author: Atsushi Nemoto Date: Wed Feb 18 14:48:28 2009 -0800 atmel_serial might lose modem status change I found a problem of handling of modem status of atmel_serial driver. With the commit 1ecc26 ("atmel_serial: split the interrupt handler"), handling of modem status signal was splitted into two parts. The atmel_tasklet_func() compares new status with irq_status_prev, but irq_status_prev is not correct if signal status was changed while the port is closed. Here is a sequence to cause problem: 1. Remote side sets CTS (and DSR). 2. Local side close the port. 3. Local side clears RTS and DTR. 4. Remote side clears CTS and DSR. 5. Local side reopen the port. hw_stopped becomes 1. 6. Local side sets RTS and DTR. 7. Remote side sets CTS and DSR. Then CTS change interrupt can be received, but since CTS bit in irq_status_prev and new status is same, uart_handle_cts_change() will not be called (so hw_stopped will not be cleared, i.e. cannot send any data). I suppose irq_status_prev should be initialized at somewhere in open sequence. Itai Levi pointed out that we need to initialize atmel_port->irq_status as well here. His analysis is as follows: > Regarding the second part of the patch (which resets irq_status_prev), > it turns out that both versions of the patch (mine and Atsushi's) > still leave enough room for faulty behavior when opening the port. > > This is because we are not resetting both irq_status_prev and > irq_status in atmel_startup() to CSR, which leads faulty behavior in > the following sequences: > > First case: > 1. closing the port while CTS line = 1 (TX not allowed) > 2. setting CTS line = 0 (TX allowed) > 3. opening the port > 4. transmitting one char > 5. Cannot transmit more chars, although CTS line is 0 > > Second case: > 1. closing the port while CTS line = 0 (TX allowed) > 2. setting CTS line = 1 (TX not allowed) > 3. opening the port > 4. receiving some chars > 5. Now we can transmit, although CTS line is 1 > > This reason for this is that the tasklet is scheduled as a result of > TX or RX interrupts (not a status change!), in steps 4 above. Inside > the tasklet, the atmel_port->irq_status (which holds the value from > the previous session) is compared to atmel_port->irq_status_prev. > Hence, a status-change of the CTS line is faultily detected. > > Both cases were verified on 9260 hardware. [haavard.skinnemoen@atmel.com: folded with patch from Itai Levi] Signed-off-by: Atsushi Nemoto Signed-off-by: Haavard Skinnemoen Cc: Remy Bohmer Cc: Marc Pignat Cc: Itai Levi Cc: Alan Cox Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 287d859222e0adbc67666a6154aaf42d7d5bbb54 Author: Dan Williams Date: Wed Feb 18 14:48:26 2009 -0800 atmel-mci: fix initialization of dma slave data The conversion of atmel-mci to dma_request_channel missed the initialization of the channel dma_slave information. The filter_fn passed to dma_request_channel is responsible for initializing the channel's private data. This implementation has the additional benefit of enabling a generic client-channel data passing mechanism. Reviewed-by: Atsushi Nemoto Signed-off-by: Dan Williams Acked-by: Haavard Skinnemoen Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 9ccf3b5e8409927835c4d38cb2f380c9e4349e76 Author: Giuseppe Bilotta Date: Wed Feb 18 14:48:25 2009 -0800 lis3lv02d: add axes knowledge of HP Pavilion dv5 models Add support for HP Pavilion dv5. Since Intel-based models have an inverted x axis, while AMD-based models have an inverted y axis, we introduce a new macro that special-cases axis orientation based on two DMI entries: HP dv5 axis configuration is then based on both the PRODUCT and BOARD name. Signed-off-by: Giuseppe Bilotta Cc: Eric Piel Cc: Pavel Machek Tested-by: Palatis Tseng Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 137bad32342a613586347341d1307c2b9812ef44 Author: Giuseppe Bilotta Date: Wed Feb 18 14:48:24 2009 -0800 lis3lv02d: support both one- and two-byte sensors Sensors responding with 0x3B to WHO_AM_I only have one data register per direction, thus returning a signed byte from the position which is occupied by the MSB in sensors responding with 0x3A. Since multiple sensors share the reply to WHO_AM_I, we rename the defines to better indicate what they identify (family of single and double precision sensors). We support both kind of sensors by checking for the sensor type on init and defining appropriate data-access routines and sensor limits (for the joystick) depending on what we find. [akpm@linux-foundation.org: coding-style fixes] Signed-off-by: Giuseppe Bilotta Acked-by: Eric Piel Cc: Pavel Machek Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit ef2cfc790bf5f0ff189b01eabc0f4feb5e8524df Author: Pavel Machek Date: Wed Feb 18 14:48:23 2009 -0800 hp accelerometer: add freefall detection This adds freefall handling to hp_accel driver. According to HP, it should just work, without us having to set the chip up by hand. hpfall.c is example .c program that parks the disk when accelerometer detects free fall. It should work; for now, it uses fixed 20seconds protection period. Signed-off-by: Pavel Machek Cc: Thomas Renninger Cc: Éric Piel Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 3a5093ee6728c8cbe9c039e685fc1fca8f965048 Author: Alexey Dobriyan Date: Wed Feb 18 14:48:22 2009 -0800 eeepc: should depend on INPUT Otherwise with INPUT=m, EEEPC_LAPTOP=y one gets drivers/built-in.o: In function `input_sync': eeepc-laptop.c:(.text+0x18ce51): undefined reference to `input_event' drivers/built-in.o: In function `input_report_key': eeepc-laptop.c:(.text+0x18ce73): undefined reference to `input_event' drivers/built-in.o: In function `eeepc_hotk_check': eeepc-laptop.c:(.text+0x18d05f): undefined reference to `input_allocate_device' eeepc-laptop.c:(.text+0x18d10f): undefined reference to `input_register_device' eeepc-laptop.c:(.text+0x18d131): undefined reference to `input_free_device' drivers/built-in.o: In function `eeepc_backlight_exit': eeepc-laptop.c:(.text+0x18d546): undefined reference to `input_unregister_device' Signed-off-by: Alexey Dobriyan Cc: Len Brown Cc: Ingo Molnar Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 42f5e039c3f6512271636928ddc4e7f7a0371672 Author: Rafael J. Wysocki Date: Wed Feb 18 14:48:21 2009 -0800 pm: fix build for CONFIG_PM unset Compilation of kprobes.c with CONFIG_PM unset is broken due to some broken config dependncies. Fix that. Signed-off-by: Rafael J. Wysocki Reported-by: Ingo Molnar Tested-by: Masami Hiramatsu Cc: Len Brown Acked-by: Pavel Machek Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 67e055d144c5b2acdc1c63811fde031263bf92c5 Author: Li Zefan Date: Wed Feb 18 14:48:20 2009 -0800 cgroups: fix possible use after free In cgroup_kill_sb(), root is freed before sb is detached from the list, so another sget() may find this sb and call cgroup_test_super(), which will access the root that has been freed. Reported-by: Al Viro Signed-off-by: Li Zefan Acked-by: Paul Menage Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 1cf6e7d83bf334cc5916137862c920a97aabc018 Author: Nick Piggin Date: Wed Feb 18 14:48:18 2009 -0800 mm: task dirty accounting fix YAMAMOTO-san noticed that task_dirty_inc doesn't seem to be called properly for cases where set_page_dirty is not used to dirty a page (eg. mark_buffer_dirty). Additionally, there is some inconsistency about when task_dirty_inc is called. It is used for dirty balancing, however it even gets called for __set_page_dirty_no_writeback. So rather than increment it in a set_page_dirty wrapper, move it down to exactly where the dirty page accounting stats are incremented. Cc: YAMAMOTO Takashi Signed-off-by: Nick Piggin Acked-by: Peter Zijlstra Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 610d18f4128ebbd88845d0fc60cce67b49af881e Author: Davide Libenzi Date: Wed Feb 18 14:48:18 2009 -0800 timerfd: add flags check As requested by Michael, add a missing check for valid flags in timerfd_settime(), and make it return EINVAL in case some extra bits are set. Michael said: If this is to be any use to userland apps that want to check flag support (perhaps it is too late already), then the sooner we get it into the kernel the better: 2.6.29 would be good; earlier stables as well would be even better. [akpm@linux-foundation.org: remove unused TFD_FLAGS_SET] Acked-by: Michael Kerrisk Signed-off-by: Davide Libenzi Cc: [2.6.27.x, 2.6.28.x] Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit ef35ce231b3cb2a4b1808e826da263bf37ccb38a Author: Pavel Machek Date: Wed Feb 18 14:48:16 2009 -0800 Pavel has moved My @suse.cz address will stop working some day, so put working one into MAINTAINERS/CREDITS. It would be cool to get this to 2.6.29... it should not really break anything. Signed-off-by: Pavel Machek Cc: Jiri Kosina Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 8f19d472935c83d823fa4cf02bcc0a7b9952db30 Author: Eric Biederman Date: Wed Feb 18 14:48:16 2009 -0800 seq_file: properly cope with pread Currently seq_read assumes that the offset passed to it is always the offset it passed to user space. In the case pread this assumption is broken and we do the wrong thing when presented with pread. To solve this I introduce an offset cache inside of struct seq_file so we know where our logical file position is. Then in seq_read if we try to read from another offset we reset our data structures and attempt to go to the offset user space wanted. [akpm@linux-foundation.org: restore FMODE_PWRITE] [pjt@google.com: seq_open needs its fmode opened up to take advantage of this] Signed-off-by: Eric Biederman Cc: Alexey Dobriyan Cc: Al Viro Cc: Paul Turner Cc: [2.6.25.x, 2.6.26.x, 2.6.27.x, 2.6.28.x] Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 55ec82176eca52e4e0530a82a0eb59160a1a95a1 Author: Paul Turner Date: Wed Feb 18 14:48:15 2009 -0800 vfs: separate FMODE_PREAD/FMODE_PWRITE into separate flags Separate FMODE_PREAD and FMODE_PWRITE into separate flags to reflect the reality that the read and write paths may have independent restrictions. A git grep verifies that these flags are always cleared together so this new behavior will only apply to interfaces that change to clear flags individually. This is required for "seq_file: properly cope with pread", a post-2.6.25 regression fix. [akpm@linux-foundation.org: add comment] Signed-off-by: Paul Turner Cc: Eric Biederman Cc: Alexey Dobriyan Cc: Al Viro Cc: [2.6.25.x, 2.6.26.x, 2.6.27.x, 2.6.28.x] Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit b851ee7921fabdd7dfc96ffc4e9609f5062bd12b Author: Li Zefan Date: Wed Feb 18 14:48:14 2009 -0800 cgroups: update documentation about css_set hash table The css_set hash table was introduced in 2.6.26, so update the documentation accordingly. Signed-off-by: Li Zefan Acked-by: Paul Menage Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit b6d6c5175809934e04a606d9193ef04924a7a7d9 Author: Ed Cashin Date: Wed Feb 18 14:48:13 2009 -0800 aoe: ignore vendor extension AoE responses The Welland ME-747K-SI AoE target generates unsolicited AoE responses that are marked as vendor extensions. Instead of ignoring these packets, the aoe driver was generating kernel messages for each unrecognized response received. This patch corrects the behavior. Signed-off-by: Ed Cashin Reported-by: Tested-by: Cc: Cc: Alex Buell Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit c296861291669f305deef19b78042330d7135017 Author: Benjamin Herrenschmidt Date: Wed Feb 18 14:48:12 2009 -0800 vmalloc: add __get_vm_area_caller() We have get_vm_area_caller() and __get_vm_area() but not __get_vm_area_caller() On powerpc, I use __get_vm_area() to separate the ranges of addresses given to vmalloc vs. ioremap (various good reasons for that) so in order to be able to implement the new caller tracking in /proc/vmallocinfo, I need a "_caller" variant of it. (akpm: needed for ongoing powerpc development, so merge it early) [akpm@linux-foundation.org: coding-style fixes] Signed-off-by: Benjamin Herrenschmidt Reviewed-by: KOSAKI Motohiro Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 3ebf74b1de9f94da4291db3ea1ae11c5bedb5784 Author: Jean Pihet Date: Fri Feb 6 16:42:51 2009 +0100 omap_hsmmc: Change while(); loops with finite version Replace the infinite 'while() ;' loops with a finite loop version. Signed-off-by: Jean Pihet Acked-by: Tony Lindgren Signed-off-by: Pierre Ossman commit c232f457e409b34417166596ea3daf298ace95c9 Author: Jean Pihet Date: Wed Feb 11 13:11:39 2009 -0800 omap_hsmmc: recover from transfer failures Timeouts during a command that has a data phase can result in the next command issued after the command that failed not being processed, i.e. no interrupt ever occurs to indicate the command has completed. This failure can result in a deadlock. This patch resets the data state machine to clear the error in case of a command timeout. Tested on OMAP3430 chip and intensive MMC/SD device removal while transferring data. Signed-off-by: Andy Lowe Signed-off-by: Jean Pihet Signed-off-by: Adrian Hunter Signed-off-by: Andrew Morton Acked-by: Tony Lindgren Signed-off-by: Pierre Ossman commit eb25082657be3e7639e349fc926afdcbb0a4dc65 Author: David Brownell Date: Tue Feb 17 14:49:01 2009 -0800 omap_hsmmc: only MMC1 allows HCTL.SDVS != 1.8V Based on a patch from Tony Lindgren ... after initialization, never change HCTL.SDVS except for MMC1. The other controller instances only support 1.8V in that field, although they can suport other card/SDIO/eMMC/... voltages with level shifting solutions such as external transceivers. MMC2 behavior sanity tested on Overo/WLAN, OMAP3430 SDP, and custom hardware. MMC1 also sanity tested on those platforms plus Beagle. This also fixes a bug preventing MMC2 (and also presumably MMC3) from powering down when requested. Signed-off-by: David Brownell Acked-by: Tony Lindgren Signed-off-by: Pierre Ossman commit 249d0fa9d59b6165ecc224720d9ce9b7267cf1b8 Author: David Brownell Date: Wed Feb 4 14:42:03 2009 -0800 omap_hsmmc: card detect irq bugfix Work around lockdep issue when card detect IRQ handlers run in thread context ... it forces IRQF_DISABLED, which prevents all access to twl4030 card detect signals. Signed-off-by: David Brownell Acked-by: Tony Lindgren Signed-off-by: Pierre Ossman commit 5dbace0c9ba110c1a3810a89fa6bf12b7574b5a3 Author: Helmut Schaa Date: Sat Feb 14 16:22:39 2009 +0100 sdhci: fix led naming Fix the led device naming for the sdhci driver. The led class documentation defines the led name to have the form "devicename:colour:function" while not applicable sections should be left blank. To comply with the documentation the led device name is changed from "mmc*" to "mmc*::". Signed-off-by: Helmut Schaa Signed-off-by: Pierre Ossman commit 58a5dd3e0e77029d3db1f8fa75d0b54b38169d5d Author: Rabin Vincent Date: Fri Feb 13 22:55:26 2009 +0530 mmc_test: fix basic read test Due to a typo in the Basic Read test, it's currently identical to the Basic Write test. Fix this. Signed-off-by: Rabin Vincent Signed-off-by: Pierre Ossman commit 994244883739e4044bef76d4e5d7a9b66dc6c7b6 Author: Yauhen Kharuzhy Date: Wed Feb 11 13:25:52 2009 -0800 s3cmci: Fix hangup in do_pio_write() This commit fixes the regression what was added by commit 088a78af978d0c8e339071a9b2bca1f4cb368f30 "s3cmci: Support transfers which are not multiple of 32 bits." fifo_free() now returns amount of available space in FIFO buffer in bytes. But do_pio_write() writes to FIFO 32-bit words. Condition for return from cycle is (fifo_free() == 0), but when fifo has 1..3 bytes of free space then this condition will never be true and system hangs. This patch changes condition in the while() to (fifo_free() > 3). Signed-off-by: Yauhen Kharuzhy Signed-off-by: Andrew Morton Signed-off-by: Pierre Ossman commit e0ae4f5503235ba4449ffb5bcb4189edcef4d584 Author: Yinghai Lu Date: Tue Feb 17 20:40:09 2009 -0800 PCI quirk: enable MSI on 8132 David reported that LSI SAS doesn't work with MSI. It turns out that his BIOS doesn't enable it, but the HT MSI 8132 does support HT MSI. Add quirk to enable it Cc: stable@kernel.org Reported-by: David Lang Signed-off-by: Yinghai Lu Signed-off-by: Jesse Barnes commit 2678f60d2bc05a12580b93eb36f089f0e55693e0 Author: Takashi Iwai Date: Wed Feb 18 16:46:27 2009 +0100 ALSA: jack - Use card->shortname for input name Currently the jack layer refers to card->longname as a part of its input device name string. However, longname is often really long and way too ugly as an identifier, such as, "HDA Intel at 0xf8400000 irq 21". This patch changes the code to use card->shortname instead. The shortname string contains usually the h/w vendor and product names but without messy I/O port or IRQ numbers. Signed-off-by: Takashi Iwai commit eb132205ca2f7ad44d8c8c482815b6911200b6a0 Author: Jan Engelhardt Date: Wed Feb 18 16:42:19 2009 +0100 netfilter: make proc/net/ip* print names from foreign NFPROTO When extensions were moved to the NFPROTO_UNSPEC wildcard in ab4f21e6fb1c09b13c4c3cb8357babe8223471bd, they disappeared from the procfs files. Signed-off-by: Jan Engelhardt Signed-off-by: Patrick McHardy commit 5962fc6d5fff09c8e6fb8cadcb18327a0f4277f7 Author: Patrick McHardy Date: Wed Feb 18 15:30:34 2009 +0100 netfilter: nf_conntrack: don't try to deliver events for untracked connections The untracked conntrack actually does usually have events marked for delivery as its not special-cased in that part of the code. Skip the actual delivery since it impacts performance noticeably. Signed-off-by: Patrick McHardy commit 2c6764b743f9d25dd0806a417f06920dcbd0f599 Author: Eric Leblond Date: Wed Feb 18 15:29:49 2009 +0100 netfilter: nfnetlink_log: fix timeout handling NFLOG timeout was computed in timer by doing: flushtimeout*HZ/100 Default value of flushtimeout was HZ (for 1 second delay). This was wrong for non 100HZ computer. This patch modify the default delay by using 100 instead of HZ. Signed-off-by: Eric Leblond Signed-off-by: Patrick McHardy commit 5ca431f9ae8db8c6edb9c64bebe6d6521077afd6 Author: Eric Leblond Date: Wed Feb 18 15:29:23 2009 +0100 netfilter: nfnetlink_log: fix per-rule qthreshold override In NFLOG the per-rule qthreshold should overrides per-instance only it is set. With current code, the per-rule qthreshold is 1 if not set and it overrides the per-instance qthreshold. This patch modifies the default xt_NFLOG threshold from 1 to 0. Thus a value of 0 means there is no per-rule setting and the instance parameter has to apply. Signed-off-by: Eric Leblond Signed-off-by: Patrick McHardy commit 4aa3b2ee1945ed082430ae1fb988d60eef64ca07 Author: Eric Leblond Date: Wed Feb 18 15:28:46 2009 +0100 netfilter: nf_conntrack_ipv6: fix nf_log_packet message in icmpv6 conntrack This patch fixes a trivial typo that was adding a new line at end of the nf_log_packet() prefix. It also make the logging conditionnal by adding a LOG_INVALID test. Signed-off-by: Eric Leblond Signed-off-by: Patrick McHardy commit 4667ba15119fea265b79502a019a2e75b8c9dfe1 Merge: 5955c7a 92a0acc Author: Patrick McHardy Date: Wed Feb 18 15:16:18 2009 +0100 Merge branch 'master' of /repos/git/net-2.6 commit be987fdb55a4726e2fcbab7501f89276bdb57288 Author: Hannes Reinecke Date: Wed Feb 18 10:30:15 2009 +0100 block: fix deadlock in blk_abort_queue() for drivers that readd to timeout list blk_abort_queue() iterates the timeout list and aborts each request on the list, but if the driver error handling readds a request to the timeout list during this processing, we could be looping forever. Fix this by splicing current entries to a local list and run over that list instead. Signed-off-by: Jens Axboe commit 41b8c853a495438208faa5be03bbb0050859163b Author: Neil Brown Date: Wed Feb 18 10:33:59 2009 +0100 block: fix booting from partitioned md array Hi Tejun, it looks like your commit: block: don't depend on consecutive minor space f331c0296f2a9fee0d396a70598b954062603015 broke a particular case for booting from partitioned md/raid devices. That is the second time this has been broken recently. The previous time was fixed by block: do_mounts - accept root= 30f2f0eb4bd2c43d10a8b0d872c6e5ad8f31c9a0 Because the data isn't available when an md device is first created (we add disks and set it up after creation), the initial partition scan finds nothing. It is not until the device is opened that another partition scan happens and finds something. So at the point where the kernel parameter "root=/dev/md_d0p1" is being parsed, md_d0 exists, but md_d0p1 does not. However if we let blk_lookup_devt return the correct device number even though the device doesn't exist, then the attempt to mount it will successfully find the partition. I have tried in the past to find a way to get the partition table to be read as soon as the array is assembled but that proved impossible (at the time). I don't remember the details, and could possibly revisit it. However it would be really nice if blk_lookup_devt could be adjusted to again accept non existant partitions. Signed-off-by: Jens Axboe commit 78f707bfc723552e8309b7c38a8d0cc51012e813 Author: Jens Axboe Date: Tue Feb 17 13:59:08 2009 +0100 block: revert part of 18ce3751ccd488c78d3827e9f6bf54e6322676fb The above commit added WRITE_SYNC and switched various places to using that for committing writes that will be waited upon immediately after submission. However, this causes a performance regression with AS and CFQ for ext3 at least, since sync_dirty_buffer() will submit some writes with WRITE_SYNC while ext3 has sumitted others dependent writes without the sync flag set. This causes excessive anticipation/idling in the IO scheduler because sync and async writes get interleaved, causing a big performance regression for the below test case (which is meant to simulate sqlite like behaviour). ---- test case ---- int main(int argc, char **argv) { int fdes, i; FILE *fp; struct timeval start; struct timeval end; struct timeval res; gettimeofday(&start, NULL); for (i=0; i commit 82eb03cfd862a65363fa2826de0dbd5474cfe5e2 Author: Chip Coldwell Date: Mon Feb 16 13:11:56 2009 +0100 cciss: PCI power management reset for kexec The kexec kernel resets the CCISS hardware in three steps: 1. Use PCI power management states to reset the controller in the kexec kernel. 2. Clear the MSI/MSI-X bits in PCI configuration space so that MSI initialization in the kexec kernel doesn't fail. 3. Use the CCISS "No-op" message to determine when the controller firmware has recovered from the PCI PM reset. [akpm@linux-foundation.org: cleanups] Signed-off-by: Mike Miller Cc: Randy Dunlap Signed-off-by: Andrew Morton Signed-off-by: Jens Axboe commit c8cbec6bdf6329279fd14696020f6b59d1d3124d Author: Roel Kluin Date: Mon Feb 16 13:11:55 2009 +0100 paride/pg.c: xs(): &&/|| confusion &&/|| confusion Signed-off-by: Roel Kluin Cc: Bartlomiej Zolnierkiewicz Signed-off-by: Andrew Morton Signed-off-by: Jens Axboe commit a60e78e57a17d55bbd5a96da16fe9649d364b987 Author: Subhash Peddamallu Date: Mon Feb 16 10:27:07 2009 +0100 fs/bio: bio_alloc_bioset: pass right object ptr to mempool_free When freeing from bio pool use right ptr to account for bs->front_pad, instead of bio ptr, Signed-off-by: Subhash Peddamallu Signed-off-by: Jens Axboe commit 93dbb393503d53cd226e5e1f0088fe8f4dbaa2b8 Author: Jens Axboe Date: Mon Feb 16 10:25:40 2009 +0100 block: fix bad definition of BIO_RW_SYNC We can't OR shift values, so get rid of BIO_RW_SYNC and use BIO_RW_SYNCIO and BIO_RW_UNPLUG explicitly. This brings back the behaviour from before 213d9417fec62ef4c3675621b9364a667954d4dd. Signed-off-by: Jens Axboe commit c1c201200a359cf3b6e2e36a4236cdca77a3cd8e Author: Boaz Harrosh Date: Tue Feb 3 07:47:29 2009 +0100 bsg: Fix sense buffer bug in SG_IO When submitting requests via SG_IO, which does a sync io, a bsg_command is not allocated. So an in-Kernel sense_buffer was not set. However when calling blk_execute_rq() with no sense buffer one is provided from the stack. Now bsg at blk_complete_sgv4_hdr_rq() would check if rq->sense_len and a sense was requested by sg_io_v4 the rq->sense was copy_user() back, but by now it is already mangled stack memory. I have fixed that by forcing a sense_buffer when calling bsg_map_hdr(). The bsg_command->sense is provided in the write/read path like before, and on-the-stack buffer is provided when doing SG_IO. I have also fixed a dprintk message to print rq->errors in hex because of the scsi bit-field use of this member. For other block devices it does not matter anyway. Signed-off-by: Boaz Harrosh Acked-by: FUJITA Tomonori Signed-off-by: Jens Axboe commit 86a6a8749d5b8fd5c2b544fe9fd11101e3d0550f Author: Pierre Ossman Date: Mon Feb 2 21:13:49 2009 +0100 Revert "sdhci: force high speed capability on some controllers" This reverts commit a4b76193774b463b922cab2f92450efb20d29ef0. It turned out that the controller had problem running at the higher speed, so go back to trusting the hardware capability bits. Signed-off-by: Pierre Ossman commit 444122fd58fdc83c96877a92b3f6288cafddb08d Author: Yi Li Date: Thu Feb 5 15:31:57 2009 +0800 MMC: fix bug - SDHC card capacity not correct Signed-off-by: Yi Li Signed-off-by: Bryan Wu Signed-off-by: Pierre Ossman commit 92a0acce186cde8ead56c6915d9479773673ea1a Author: David S. Miller Date: Tue Feb 17 21:24:05 2009 -0800 net: Kill skb_truesize_check(), it only catches false-positives. A long time ago we had bugs, primarily in TCP, where we would modify skb->truesize (for TSO queue collapsing) in ways which would corrupt the socket memory accounting. skb_truesize_check() was added in order to try and catch this error more systematically. However this debugging check has morphed into a Frankenstein of sorts and these days it does nothing other than catch false-positives. Signed-off-by: David S. Miller commit 5955c7a2cfb6a35429adea5dc480002b15ca8cfc Author: Zlatko Calusic Date: Wed Feb 18 01:33:34 2009 +0100 Add support for VT6415 PCIE PATA IDE Host Controller Signed-off-by: Zlatko Calusic Signed-off-by: Linus Torvalds commit 3494252d5644993f407a45f01c3e8ad5ae38f93c Author: Rafael J. Wysocki Date: Fri Feb 13 23:41:12 2009 +0100 USB/PCI: Fix resume breakage of controllers behind cardbus bridges If a USB PCI controller is behind a cardbus bridge, we are trying to restore its configuration registers too early, before the cardbus bridge is operational. To fix this, call pci_restore_state() from usb_hcd_pci_resume() and remove usb_hcd_pci_resume_early() which is no longer necessary (the configuration spaces of USB controllers that are not behind cardbus bridges will be restored by the PCI PM core with interrupts disabled anyway). This patch fixes the regression from 2.6.28 tracked as http://bugzilla.kernel.org/show_bug.cgi?id=12659 [ Side note: the proper long-term fix is probably to just force the unplug event at suspend time instead of doing a plug/unplug at resume time, but this patch is fine regardless - Linus ] Signed-off-by: Rafael J. Wysocki Reported-by: Miles Lane Signed-off-by: Linus Torvalds commit 07db1c140eb233971341396e492cc73d4280e698 Author: Andi Kleen Date: Thu Feb 12 13:39:35 2009 +0100 x86, mce: fix ifdef for 64bit thermal apic vector clear on shutdown Impact: Bugfix The ifdef for the apic clear on shutdown for the 64bit intel thermal vector was incorrect and never triggered. Fix that. Signed-off-by: Andi Kleen Acked-by: Thomas Gleixner Signed-off-by: H. Peter Anvin commit 380851bc6b1b4107c61dfa2997f9095dcf779336 Author: Andi Kleen Date: Thu Feb 12 13:39:33 2009 +0100 x86, mce: use force_sig_info to kill process in machine check Impact: bug fix (with tolerant == 3) do_exit cannot be called directly from the exception handler because it can sleep and the exception handler runs on the exception stack. Use force_sig() instead. Based on a earlier patch by Ying Huang who debugged the problem. Signed-off-by: Andi Kleen Acked-by: Thomas Gleixner Signed-off-by: H. Peter Anvin commit 6ec68bff3c81e776a455f6aca95c8c5f1d630198 Author: Andi Kleen Date: Thu Feb 12 13:39:26 2009 +0100 x86, mce: reinitialize per cpu features on resume Impact: Bug fix This fixes a long standing bug in the machine check code. On resume the boot CPU wouldn't get its vendor specific state like thermal handling reinitialized. This means the boot cpu wouldn't ever get any thermal events reported again. Call the respective initialization functions on resume v2: Remove ancient init because they don't have a resume device anyways. Pointed out by Thomas Gleixner. v3: Now fix the Subject too to reflect v2 change Signed-off-by: Andi Kleen Acked-by: Thomas Gleixner Signed-off-by: H. Peter Anvin commit fd4b9b3650076ffadbdd6e360eb198f5d61747c0 Author: Nicolas Pitre Date: Tue Feb 17 20:45:50 2009 +0100 [ARM] 5401/1: Orion: fix edge triggered GPIO interrupt support The GPIO interrupts can be configured as either level triggered or edge triggered, with a default of level triggered. When an edge triggered interrupt is requested, the gpio_irq_set_type method is called which currently switches the given IRQ descriptor between two struct irq_chip instances: orion_gpio_irq_level_chip and orion_gpio_irq_edge_chip. This happens via __setup_irq() which also calls irq_chip_set_defaults() to assign default methods to uninitialized ones. The problem is that irq_chip_set_defaults() is called before the irq_chip reference is switched, leaving the new irq_chip (orion_gpio_irq_edge_chip in this case) with uninitialized methods such as chip->startup() causing a kernel oops. Many solutions are possible, such as making irq_chip_set_defaults() global and calling it from gpio_irq_set_type(), or calling __irq_set_trigger() before irq_chip_set_defaults() in __setup_irq(). But those require modifications to the generic IRQ code which might have adverse effect on other architectures, and that would still be a fragile arrangement. Manually copying the missing methods from within gpio_irq_set_type() would be really ugly and it would break again the day new methods with automatic defaults are added. A better solution is to have a single irq_chip instance which can deal with both edge and level triggered interrupts. It is also a good idea to switch the IRQ handler instead, as the edge IRQ handler allows for one edge IRQ event to be queued as the IRQ is actually masked only when that second IRQ is received, at which point the hardware can queue an additional IRQ event, making edge triggered interrupts a bit more reliable. Tested-by: Martin Michlmayr Signed-off-by: Nicolas Pitre Signed-off-by: Russell King commit e78ac4b9deb8f36d8c828b6d91232960f109d951 Merge: 29a0c5c a0490fa Author: Linus Torvalds Date: Tue Feb 17 14:30:06 2009 -0800 Merge branch 'sched-fixes-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip * 'sched-fixes-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip: sched: cpu hotplug fix commit 29a0c5ce5d008f398346d644456d62ab300d5e10 Merge: f8effd1 3997ad3 Author: Linus Torvalds Date: Tue Feb 17 14:29:42 2009 -0800 Merge branch 'timers-fixes-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip * 'timers-fixes-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip: timers: more consistently use clock vs timer commit f8effd1a4a1833eac90261d78abacfaefe3d99e4 Merge: 3501033 f9aa28a Author: Linus Torvalds Date: Tue Feb 17 14:29:15 2009 -0800 Merge branch 'tracing-fixes-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip * 'tracing-fixes-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip: doc: mmiotrace.txt, buffer size control change trace: mmiotrace to the tracer menu in Kconfig mmiotrace: count events lost due to not recording commit 35010334aa007480a833401b80922299cb1a15ef Merge: 8ce9a75 be71661 Author: Linus Torvalds Date: Tue Feb 17 14:27:39 2009 -0800 Merge branch 'x86-fixes-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip * 'x86-fixes-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip: x86, vm86: fix preemption bug x86, olpc: fix model detection without OFW x86, hpet: fix for LS21 + HPET = boot hang x86: CPA avoid repeated lazy mmu flush x86: warn if arch_flush_lazy_mmu_cpu is called in preemptible context x86/paravirt: make arch_flush_lazy_mmu/cpu disable preemption x86, pat: fix warn_on_once() while mapping 0-1MB range with /dev/mem x86/cpa: make sure cpa is safe to call in lazy mmu mode x86, ptrace, mm: fix double-free on race commit 8ce9a75a307e142a8871c649627555e0e4a1eefb Merge: b30b774 9af8814 Author: Linus Torvalds Date: Tue Feb 17 14:26:35 2009 -0800 Merge branch 'core-fixes-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip * 'core-fixes-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip: iommu: fix Intel IOMMU write-buffer flushing futex: fix reference leak Trivial conflicts fixed manually in drivers/pci/intel-iommu.c commit b30b77493039b7b95b4d569a66af425b02651edd Merge: c951aa6 26456dc Author: Linus Torvalds Date: Tue Feb 17 14:23:49 2009 -0800 Merge branch 'merge' of git://git.kernel.org/pub/scm/linux/kernel/git/benh/powerpc * 'merge' of git://git.kernel.org/pub/scm/linux/kernel/git/benh/powerpc: powerpc/vsx: Fix VSX alignment handler for regs 32-63 powerpc/ps3: Move ps3_mm_add_memory to device_initcall powerpc/mm: Fix numa reserve bootmem page selection powerpc/mm: Fix _PAGE_CHG_MASK to protect _PAGE_SPECIAL commit c951aa62d59210636cc63a569bcf3331be7f5b15 Merge: 23beafb a08f6e0 Author: Linus Torvalds Date: Tue Feb 17 14:23:35 2009 -0800 Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jbarnes/pci-2.6 * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jbarnes/pci-2.6: PCI: Documentation: fix minor PCIe HOWTO thinko PCI: fix missing kernel-doc and typos PCI: fix struct pci_platform_pm_ops kernel-doc PCI: fix rom.c kernel-doc warning PCI/MSI: fix msi_mask() shift fix commit 23beafbe3abd3f622931e83ef4e6b17642cf408e Merge: 48c0d9e 8eb2dfa Author: Linus Torvalds Date: Tue Feb 17 14:22:59 2009 -0800 Merge git://git.kernel.org/pub/scm/linux/kernel/git/herbert/crypto-2.6 * git://git.kernel.org/pub/scm/linux/kernel/git/herbert/crypto-2.6: crypto: lrw - Fix big endian support commit 48c0d9ece360ff6001e2ae36aa9b34446d0388a8 Merge: 0637810 2456242 Author: Linus Torvalds Date: Tue Feb 17 14:19:14 2009 -0800 Merge git://git.kernel.org/pub/scm/linux/kernel/git/mason/btrfs-unstable * git://git.kernel.org/pub/scm/linux/kernel/git/mason/btrfs-unstable: Btrfs: hold trans_mutex when using btrfs_record_root_in_trans Btrfs: make a lockdep class for the extent buffer locks Btrfs: fs/btrfs/volumes.c: remove useless kzalloc Btrfs: remove unused code in split_state() Btrfs: remove btrfs_init_path Btrfs: balance_level checks !child after access Btrfs: Avoid using __GFP_HIGHMEM with slab allocator Btrfs: don't clean old snapshots on sync(1) Btrfs: use larger metadata clusters in ssd mode Btrfs: process mount options on mount -o remount, Btrfs: make sure all pending extent operations are complete commit 0637810f24bad641d3d3f80fd3f63f3baffd9536 Merge: 51f2677 7dac745 Author: Linus Torvalds Date: Tue Feb 17 14:16:02 2009 -0800 Merge branch 'upstream-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jgarzik/libata-dev * 'upstream-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jgarzik/libata-dev: sata_nv: give up hardreset on nf2 libata-sff: fix 32-bit PIO ATAPI regression commit 51f267739a81db5eb511b95aeae338413690b8a2 Merge: 59dad0c 9297999 Author: Linus Torvalds Date: Tue Feb 17 14:15:23 2009 -0800 Merge git://git.kernel.org/pub/scm/linux/kernel/git/sam/kbuild-fixes * git://git.kernel.org/pub/scm/linux/kernel/git/sam/kbuild-fixes: kbuild: create the source symlink earlier in the objdir scripts: add x86 64 bit support to the markup_oops.pl script scripts: add x86 register parser to markup_oops.pl kbuild: add sys_* entries for syscalls in tags kbuild: fix tags generation of config symbols bootgraph: fix for use with dot symbols kbuild: add vmlinux to kernel rpm kbuild,setlocalversion: shorten the make time when using svn commit 59dad0cbe6fd52e68b1ee4b02cbf89d64a4655cc Merge: 1024d1c 211e3e0 Author: Linus Torvalds Date: Tue Feb 17 14:14:15 2009 -0800 Merge branch 'hwmon-for-linus' of git://jdelvare.pck.nerim.net/jdelvare-2.6 * 'hwmon-for-linus' of git://jdelvare.pck.nerim.net/jdelvare-2.6: MAINTAINERS: Switch hdaps to Frank Seidel hwmon: Fix ACPI resource check error handling hwmon: (f71882fg) Hide misleading error message commit 1024d1c24bb3f2c4dc568d96d3b5e22ea5865481 Merge: 5e51d16 7bf432d Author: Linus Torvalds Date: Tue Feb 17 14:09:03 2009 -0800 Merge branch 'for_linus' of git://git.kernel.org/pub/scm/linux/kernel/git/mchehab/linux-2.6 * 'for_linus' of git://git.kernel.org/pub/scm/linux/kernel/git/mchehab/linux-2.6: V4L/DVB (10626): ivtv: fix regression in get sliced vbi format V4L/DVB (10625): ivtv: fix decoder crash regression V4L/DVB (10619): gspca - main: Destroy the URBs at disconnection time. V4L/DVB (10572): Revert commit dda06a8e4610757def753ee3a541a0b1a1feb36b V4L/DVB (10533): fix LED status output V4L/DVB (10532): Correction of Stereo detection/setting and signal strength indication V4L/DVB (10527): tuner: fix TUV1236D analog/digital setup V4L/DVB (10516a): zoran: Update MAINTAINERS entry commit 5e51d16ddefa0874993f42a4b2beb13127feda76 Merge: 7f302fe 2b63938 Author: Linus Torvalds Date: Tue Feb 17 14:08:26 2009 -0800 Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jikos/hid * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jikos/hid: HID: fix bus endianity in file2alias HID: move tmff and zpff devices from ignore_list to blacklist HID: unlock properly on error paths in hidraw_ioctl() HID: blacklist Powercom USB UPS commit 7f302fe3173c61e0e4fcf0a6a906ae297225e3be Merge: 68cc830 dcd9651 Author: Linus Torvalds Date: Tue Feb 17 14:08:03 2009 -0800 Merge branch 'for-linus' of git://git.o-hand.com/linux-mfd * 'for-linus' of git://git.o-hand.com/linux-mfd: mfd: Fix sm501_register_gpio section mismatch mfd: fix sm501 section mismatches mfd: terminate pcf50633 i2c_device_id list mfd: Ensure all WM8350 IRQs are masked at startup mfd: fix htc-egpio iomem resource handling using resource_size mfd: Fix TWL4030 build on some ARM variants mfd: wm8350 tries reaches -1 mfd: Mark WM835x USB_SLV_500MA bit as accessible mfd: Improve diagnostics for WM8350 ID register probe mfd: Initialise WM8350 interrupts earlier mfd: Fix egpio kzalloc return test commit 68cc8301b45dee5de275a477a60f77f5560c8ca0 Merge: 11df586 12d60e2 Author: Linus Torvalds Date: Tue Feb 17 14:07:18 2009 -0800 Merge git://git.kernel.org/pub/scm/linux/kernel/git/wim/linux-2.6-watchdog * git://git.kernel.org/pub/scm/linux/kernel/git/wim/linux-2.6-watchdog: [WATCHDOG] iTCO_wdt: fix SMI_EN regression 2 commit 11df5864075f763ec0d1fdecd6a3f0af7d09a553 Merge: 2f60971 a3c1239 Author: Linus Torvalds Date: Tue Feb 17 14:05:59 2009 -0800 Merge branch 'for-upstream' of git://git.kernel.org/pub/scm/linux/kernel/git/dvrabel/uwb * 'for-upstream' of git://git.kernel.org/pub/scm/linux/kernel/git/dvrabel/uwb: wusb: whci-hcd: always lock whc->lock with interrupts disabled commit 2f6097129af5625db2fb5e601f89e5bf55cd1dcd Author: Roel Kluin Date: Mon Feb 16 12:49:16 2009 +0000 FRV: __pte_to_swp_entry doesn't expand correctly The macro doesn't expand correctly when its parameter isn't 'pte'. Signed-off-by: Roel Kluin Signed-off-by: David Howells Signed-off-by: Linus Torvalds commit 3512a79dbcc90e6edac98717607bd821bba50a14 Merge: 39a6576 0905426 Author: Linus Torvalds Date: Tue Feb 17 14:05:05 2009 -0800 Merge branch 'for_linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tytso/ext4 * 'for_linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tytso/ext4: ext4: Fix NULL dereference in ext4_ext_migrate()'s error handling ext4: Implement range_cyclic in ext4_da_writepages instead of write_cache_pages ext4: Initialize preallocation list_head's properly ext4: Fix lockdep warning ext4: Fix to read empty directory blocks correctly in 64k jbd2: Avoid possible NULL dereference in jbd2_journal_begin_ordered_truncate() Revert "ext4: wait on all pending commits in ext4_sync_fs()" jbd2: Fix return value of jbd2_journal_start_commit() commit 39a65762d4c48fd8a498f34b7fec74a6b0aebd55 Merge: 643aac1 516a1a7 Author: Linus Torvalds Date: Tue Feb 17 14:04:32 2009 -0800 Merge branch 'kvm-updates/2.6.29' of git://git.kernel.org/pub/scm/virt/kvm/kvm * 'kvm-updates/2.6.29' of git://git.kernel.org/pub/scm/virt/kvm/kvm: KVM: VMX: Flush volatile msrs before emulating rdmsr KVM: Fix assigned devices circular locking dependency KVM: x86: fix LAPIC pending count calculation KVM: Fix INTx for device assignment KVM: MMU: Map device MMIO as UC in EPT KVM: x86: disable kvmclock on non constant TSC hosts KVM: PIT: fix i8254 pending count read KVM: Fix racy in kvm_free_assigned_irq KVM: Add kvm_arch_sync_events to sync with asynchronize events KVM: mmu_notifiers release method KVM: Avoid using CONFIG_ in userspace visible headers KVM: ia64: fix fp fault/trap handler commit 643aac1e2a34aa1d46a2d95c2a4087873f01e25e Merge: ca77fde 1371be0 Author: Linus Torvalds Date: Tue Feb 17 14:04:00 2009 -0800 Merge git://git.kernel.org/pub/scm/linux/kernel/git/rusty/linux-2.6-for-linus * git://git.kernel.org/pub/scm/linux/kernel/git/rusty/linux-2.6-for-linus: cpumask: Use cpu_*_mask accessors code: alpha cpumask: fix powernow-k8: partial revert of 2fdf66b491ac706657946442789ec644cc317e1a commit ca77fde8e62cecb2c0769052228d15b901367af8 Author: David Woodhouse Date: Fri Feb 13 23:18:03 2009 +0000 Fix Intel IOMMU write-buffer flushing This is the cause of the DMA faults and disk corruption that people have been seeing. Some chipsets neglect to report the RWBF "capability" -- the flag which says that we need to flush the chipset write-buffer when changing the DMA page tables, to ensure that the change is visible to the IOMMU. Override that bit on the affected chipsets, and everything is happy again. Thanks to Chris and Bhavesh and others for helping to debug. Signed-off-by: David Woodhouse Tested-by: Chris Wright Reviewed-by: Bhavesh Davda Signed-off-by: Linus Torvalds commit 1a88b5364b535edaa321d70a566e358390ff0872 Author: Al Viro Date: Mon Feb 16 02:38:12 2009 +0000 Fix incomplete __mntput locking Getting this wrong caused WARNING: at fs/namespace.c:636 mntput_no_expire+0xac/0xf2() due to optimistically checking cpu_writer->mnt outside the spinlock. Here's what we really want: * we know that nobody will set cpu_writer->mnt to mnt from now on * all changes to that sucker are done under cpu_writer->lock * we want the laziest equivalent of spin_lock(&cpu_writer->lock); if (likely(cpu_writer->mnt != mnt)) { spin_unlock(&cpu_writer->lock); continue; } /* do stuff */ that would make sure we won't miss earlier setting of ->mnt done by another CPU. Anyway, for now we just move the spin_lock() earlier and move the test into the properly locked region. Signed-off-by: Al Viro Reported-and-tested-by: Li Zefan Signed-off-by: Linus Torvalds commit bf51935f3e988e0ed6f34b55593e5912f990750a Author: Paul E. McKenney Date: Tue Feb 17 06:01:30 2009 -0800 x86, rcu: fix strange load average and ksoftirqd behavior Damien Wyart reported high ksoftirqd CPU usage (20%) on an otherwise idle system. The function-graph trace Damien provided: > 799.521187 | 1) -0 | | rcu_check_callbacks() { > 799.521371 | 1) -0 | | rcu_check_callbacks() { > 799.521555 | 1) -0 | | rcu_check_callbacks() { > 799.521738 | 1) -0 | | rcu_check_callbacks() { > 799.521934 | 1) -0 | | rcu_check_callbacks() { > 799.522068 | 1) ksoftir-2324 | | rcu_check_callbacks() { > 799.522208 | 1) -0 | | rcu_check_callbacks() { > 799.522392 | 1) -0 | | rcu_check_callbacks() { > 799.522575 | 1) -0 | | rcu_check_callbacks() { > 799.522759 | 1) -0 | | rcu_check_callbacks() { > 799.522956 | 1) -0 | | rcu_check_callbacks() { > 799.523074 | 1) ksoftir-2324 | | rcu_check_callbacks() { > 799.523214 | 1) -0 | | rcu_check_callbacks() { > 799.523397 | 1) -0 | | rcu_check_callbacks() { > 799.523579 | 1) -0 | | rcu_check_callbacks() { > 799.523762 | 1) -0 | | rcu_check_callbacks() { > 799.523960 | 1) -0 | | rcu_check_callbacks() { > 799.524079 | 1) ksoftir-2324 | | rcu_check_callbacks() { > 799.524220 | 1) -0 | | rcu_check_callbacks() { > 799.524403 | 1) -0 | | rcu_check_callbacks() { > 799.524587 | 1) -0 | | rcu_check_callbacks() { > 799.524770 | 1) -0 | | rcu_check_callbacks() { > [ . . . ] Shows rcu_check_callbacks() being invoked way too often. It should be called once per jiffy, and here it is called no less than 22 times in about 3.5 milliseconds, meaning one call every 160 microseconds or so. Why do we need to call rcu_pending() and rcu_check_callbacks() from the idle loop of 32-bit x86, especially given that no other architecture does this? The following patch removes the call to rcu_pending() and rcu_check_callbacks() from the x86 32-bit idle loop in order to reduce the softirq load on idle systems. Reported-by: Damien Wyart Signed-off-by: Paul E. McKenney Signed-off-by: Ingo Molnar commit 211e3e0e1b116b10ba707db2fec972909fa647fd Author: Frank Seidel Date: Tue Feb 17 19:59:54 2009 +0100 MAINTAINERS: Switch hdaps to Frank Seidel As Rovert Love doesn't any more seem to be realy active on hdaps driver i'll happily take it over. Signed-off-by: Frank Seidel Cc: Robert Love Signed-off-by: Jean Delvare commit 18632f84fac770125c0982dfadec6b551e82144e Author: Hans de Goede Date: Tue Feb 17 19:59:54 2009 +0100 hwmon: Fix ACPI resource check error handling This patch fixes a number of cases where things were not properly cleaned up when acpi_check_resource_conflict() returned an error, causing oopses such as the one reported here: https://bugzilla.redhat.com/show_bug.cgi?id=483208 Signed-off-by: Hans de Goede Signed-off-by: Jean Delvare commit 603eaa1bdd3e0402085e815cc531bb0a32827a9e Author: Jean Delvare Date: Tue Feb 17 19:59:54 2009 +0100 hwmon: (f71882fg) Hide misleading error message If the F71882FG chip is at address 0x4e, then the probe at 0x2e will fail with the following message in the logs: f71882fg: Not a Fintek device This is misleading because there is a Fintek device, just at a different address. So I propose to degrade this message to a debug message. Signed-off-by: Jean Delvare Acked-by: Hans de Goede commit 5b058bcde961bf28678a70e44c079107313543b6 Author: Frederic Weisbecker Date: Tue Feb 17 18:35:34 2009 +0100 tracing/function-graph-tracer: trace the idle tasks When the function graph tracer is activated, it iterates over the task_list to allocate a stack to store the return addresses. But the per cpu idle tasks are not iterated by using do_each_thread / while_each_thread. So we have to iterate on them manually. This fixes somes weirdness in the traces and many losses of traces. Examples on two cpus: 0) Xorg-4287 | 2.906 us | } 0) Xorg-4287 | 3.965 us | } 0) Xorg-4287 | 5.302 us | } ------------------------------------------ 0) Xorg-4287 => -0 ------------------------------------------ 0) -0 | 2.861 us | } 0) -0 | 0.526 us | set_normalized_timespec(); 0) -0 | 7.201 us | } 0) -0 | 8.214 us | } 0) -0 | | clockevents_program_event() { 0) -0 | | lapic_next_event() { 0) -0 | 0.510 us | native_apic_mem_write(); 0) -0 | 1.546 us | } 0) -0 | 2.583 us | } 0) -0 | + 12.435 us | } 0) -0 | + 13.470 us | } 0) -0 | 0.608 us | _spin_unlock_irqrestore(); 0) -0 | + 23.270 us | } 0) -0 | + 24.336 us | } 0) -0 | + 25.417 us | } 0) -0 | 0.593 us | _spin_unlock(); 0) -0 | + 41.869 us | } 0) -0 | + 42.906 us | } 0) -0 | + 95.035 us | } 0) -0 | 0.540 us | menu_reflect(); 0) -0 | ! 100.404 us | } 0) -0 | 0.564 us | mce_idle_callback(); 0) -0 | | enter_idle() { 0) -0 | 0.526 us | mce_idle_callback(); 0) -0 | 1.757 us | } 0) -0 | | cpuidle_idle_call() { 0) -0 | | menu_select() { 0) -0 | 0.525 us | pm_qos_requirement(); 0) -0 | 0.518 us | tick_nohz_get_sleep_length(); 0) -0 | 2.621 us | } [...] 1) -0 | 0.518 us | touch_softlockup_watchdog(); 1) -0 | + 14.355 us | } 1) -0 | + 22.840 us | } 1) -0 | + 25.949 us | } 1) -0 | | handle_irq() { 1) -0 | 0.511 us | irq_to_desc(); 1) -0 | | handle_edge_irq() { 1) -0 | 0.638 us | _spin_lock(); 1) -0 | | ack_apic_edge() { 1) -0 | 0.510 us | irq_to_desc(); 1) -0 | | move_native_irq() { 1) -0 | 0.510 us | irq_to_desc(); 1) -0 | 1.532 us | } 1) -0 | 0.511 us | native_apic_mem_write(); ------------------------------------------ 1) -0 => cat-5073 ------------------------------------------ 1) cat-5073 | 3.731 us | } 1) cat-5073 | | run_local_timers() { 1) cat-5073 | 0.533 us | hrtimer_run_queues(); 1) cat-5073 | | raise_softirq() { 1) cat-5073 | | __raise_softirq_irqoff() { 1) cat-5073 | | /* nr: 1 */ 1) cat-5073 | 2.718 us | } 1) cat-5073 | 3.814 us | } Signed-off-by: Frederic Weisbecker Cc: Steven Rostedt Cc: Arnaldo Carvalho de Melo Signed-off-by: Ingo Molnar commit 7bf432d64c47f77111fbce5d48d7774df8b48948 Author: Hans Verkuil Date: Mon Feb 16 04:25:32 2009 -0300 V4L/DVB (10626): ivtv: fix regression in get sliced vbi format The new v4l2_subdev_call used s_fmt instead of g_fmt. Thanks-to: Andy Walls Signed-off-by: Hans Verkuil Signed-off-by: Mauro Carvalho Chehab commit ac9575f75c52bcb455120f8c43376b556acba048 Author: Hans Verkuil Date: Sat Feb 14 19:58:33 2009 -0300 V4L/DVB (10625): ivtv: fix decoder crash regression The video_ioctl2 conversion of ivtv in kernel 2.6.27 introduced a bug causing decoder commands to crash. The decoder commands should have been handled from the video_ioctl2 default handler, ensuring correct mapping of the argument between user and kernel space. Unfortunately they ended up before the video_ioctl2 call, causing random crashes. Thanks to hannes@linus.priv.at for testing and helping me track down the cause! Signed-off-by: Hans Verkuil Signed-off-by: Mauro Carvalho Chehab commit ad28127d7c7c617bca1d426f95b6ffa1fb8f700f Author: Adam Baker Date: Wed Feb 4 15:33:21 2009 -0300 V4L/DVB (10619): gspca - main: Destroy the URBs at disconnection time. If a device using the gspca framework is unplugged while it is still streaming then the call that is used to free the URBs that have been allocated occurs after the pointer it uses becomes invalid at the end of gspca_disconnect. Make another cleanup call in gspca_disconnect while the pointer is still valid (multiple calls are OK as destroy_urbs checks for pointers already being NULL. Signed-off-by: Adam Baker Signed-off-by: Jean-Francois Moine Signed-off-by: Mauro Carvalho Chehab commit 28100165c3f27f681fee8b60e4e44f64a739c454 Author: Mauro Carvalho Chehab Date: Mon Feb 16 15:27:44 2009 -0300 V4L/DVB (10572): Revert commit dda06a8e4610757def753ee3a541a0b1a1feb36b On Mon, 02 Feb 2009, Hartmut wrote: This change set is wrong. The affected functions cannot be called from an interrupt context, because they may process large buffers. In this case, interrupts are disabled for a long time. Functions, like dvb_dmx_swfilter_packets(), could be called only from a tasklet. This change set does hide some strong design bugs in dm1105.c and au0828-dvb.c. Please revert this change set and do fix the bugs in dm1105.c and au0828-dvb.c (and other files). On Sun, 15 Feb 2009, Oliver Endriss wrote: This changeset _must_ be reverted! It breaks all kernels since 2.6.27 for applications which use DVB and require a low interrupt latency. It is a very bad idea to call the demuxer to process data buffers with interrupts disabled! On Mon, 16 Feb 2009, Trent Piepho wrote: I agree, this is bad. The demuxer is far too much work to be done with IRQs off. IMHO, even doing it under a spin-lock is excessive. It should be a mutex. Drivers should use a work-queue to feed the demuxer. Thank you for testing this changeset and discovering the issues on it. Cc: Trent Piepho Cc: Hartmut Cc: Oliver Endriss Cc: Andreas Oberritter Signed-off-by: Mauro Carvalho Chehab commit 2f94fc465a6504443bb986ba9d36e28e2b422c6e Author: Tobias Lorenz Date: Thu Feb 12 14:56:19 2009 -0300 V4L/DVB (10533): fix LED status output This patch closes one of my todos that was since long on my list. Some people reported clicks and glitches in the audio stream, correlated to the LED color changing cycle. Thanks to Rick Bronson . Signed-off-by: Tobias Lorenz Signed-off-by: Mauro Carvalho Chehab commit d807dec59d3c850b332b5bf95fe33f18def00068 Author: Tobias Lorenz Date: Thu Feb 12 14:56:10 2009 -0300 V4L/DVB (10532): Correction of Stereo detection/setting and signal strength indication Thanks to Bob Ross - correction of stereo detection/setting - correction of signal strength indicator scaling Signed-off-by: Tobias Lorenz Signed-off-by: Mauro Carvalho Chehab commit ef88f2b563275d156beebc9f76ed134f3f90f210 Author: Mauro Carvalho Chehab Date: Fri Feb 13 08:24:34 2009 -0300 V4L/DVB (10527): tuner: fix TUV1236D analog/digital setup As reported by David Engel , ATSC115 doesn't work fine with mythtv. This software opens both analog and dvb interfaces of saa7134. What happens is that some tuner commands are going to the wrong place, as shown at the logs: Feb 12 20:37:48 opus kernel: tuner-simple 1-0061: using tuner params #0 (ntsc) Feb 12 20:37:48 opus kernel: tuner-simple 1-0061: freq = 67.25 (1076), range = 0, config = 0xce, cb = 0x01 Feb 12 20:37:48 opus kernel: tuner-simple 1-0061: Freq= 67.25 MHz, V_IF=45.75 MHz, Offset=0.00 MHz, div=1808 Feb 12 20:37:48 opus kernel: tuner 1-0061: tv freq set to 67.25 Feb 12 20:37:48 opus kernel: tuner-simple 1-000a: using tuner params #0 (ntsc) Feb 12 20:37:48 opus kernel: tuner-simple 1-000a: freq = 67.25 (1076), range = 0, config = 0xce, cb = 0x01 Feb 12 20:37:48 opus kernel: tuner-simple 1-000a: Freq= 67.25 MHz, V_IF=45.75 MHz, Offset=0.00 MHz, div=1808 Feb 12 20:37:48 opus kernel: tuner-simple 1-000a: tv 0x07 0x10 0xce 0x01 Feb 12 20:37:48 opus kernel: tuner-simple 1-0061: tv 0x07 0x10 0xce 0x01 This happens due to a hack at TUV1236D analog setup, where it replaces tuner address, at 0x61 for 0x0a, in order to save a few memory bytes. The code assumes that nobody else would try to access the tuner during that setup, but the point is that there's no lock to protect such access. So, this opens the possibility of race conditions to happen. Instead of hacking tuner address, this patch uses a temporary var with the proper tuner value to be used during the setup. This should save the issue, although we should consider to write some analog/digital lock at saa7134 driver. Signed-off-by: Mauro Carvalho Chehab commit f63145e28934a0b3ad8baf31adc195ec81423351 Author: Trent Piepho Date: Sat Jan 24 20:52:41 2009 -0300 V4L/DVB (10516a): zoran: Update MAINTAINERS entry Ronald Bultje hasn't been maintaining the zoran driver for some time. Re-direct people to the mailing lists and web pages. MAINTAINERS | 6 +++--- Signed-off-by: Trent Piepho Acked-by: Jean Delvare Acked-by: Ronald S. Bultje Signed-off-by: Mauro Carvalho Chehab commit 2b639386a2a26c84c8d26c649cf657ebd43a7bc8 Author: Jiri Slaby Date: Tue Feb 17 12:38:36 2009 +0100 HID: fix bus endianity in file2alias Fix endianness of bus member of hid_device_id in modpost. Signed-off-by: Jiri Slaby Reported-by: Nye Liu Cc: Jiri Kosina Signed-off-by: Jiri Kosina commit daedb3d6a91f9626ab4c921378ac52e44de833d5 Author: Anssi Hannula Date: Sat Feb 14 11:45:05 2009 +0200 HID: move tmff and zpff devices from ignore_list to blacklist The devices handled by hid-tmff and hid-zpff were added in the hid_ignore_list[] instead of hid_blacklist[] in hid-core.c, thus disabling them completely. hid_ignore_list[] causes hid layer to skip the device, while hid_blacklist[] indicates there is a specific driver in hid bus. Re-enable the devices by moving them to the correct list. Signed-off-by: Anssi Hannula Signed-off-by: Jiri Kosina commit dfd395aff4cb16d2480b280064bea1b19ededef1 Author: Dan Carpenter Date: Tue Feb 3 16:35:17 2009 +0300 HID: unlock properly on error paths in hidraw_ioctl() We can't return immediately because lock_kernel() is held. Signed-off-by: Dan Carpenter Signed-off-by: Jiri Kosina commit 35cfd1d964f3c2420862f2167a0eb85ff1208999 Author: Michael Tokarev Date: Sun Feb 1 16:11:04 2009 +0100 HID: blacklist Powercom USB UPS For quite some time users with various UPSes from Powercom were forced to play magic with bind/unbind in /sys in order to be able to see the UPSes. The beasts does not work as HID devices, even if claims to do so. cypress_m8 driver works with the devices instead, creating a normal serial port with which normal UPS controlling software works. The manufacturer confirmed the upcoming models with proper HID support will have different device IDs. In any way, it's wrong to have two completely different modules for one device in kernel. Blacklist the device in HID (add it to hid_ignore_list) to stop this mess, finally. Signed-off-By: Michael Tokarev Signed-off-by: Jiri Kosina commit 8eb2dfac41c71701bb741f496f0cb7b7e4a3c3f6 Author: Herbert Xu Date: Tue Feb 17 20:00:11 2009 +0800 crypto: lrw - Fix big endian support It turns out that LRW has never worked properly on big endian. This was never discussed because nobody actually used it that way. In fact, it was only discovered when Geert Uytterhoeven loaded it through tcrypt which failed the test on it. The fix is straightforward, on big endian the to find the nth bit we should be grouping them by words instead of bytes. So setbit128_bbe should xor with 128 - BITS_PER_LONG instead of 128 - BITS_PER_BYTE == 0x78. Tested-by: Geert Uytterhoeven Signed-off-by: Herbert Xu commit dcd9651ecd652a186dd9ad0dde76d43320b9c0a2 Author: Rakib Mullick Date: Tue Feb 17 09:21:52 2009 +0100 mfd: Fix sm501_register_gpio section mismatch WARNING: drivers/mfd/built-in.o(.text+0x1706): Section mismatch in reference from the function sm501_register_gpio() to the function .devinit.text:sm501_gpio_register_chip() The function sm501_register_gpio() references the function __devinit sm501_gpio_register_chip(). This is often because sm501_register_gpio lacks a __devinit annotation or the annotation of sm501_gpio_register_chip is wrong. Signed-off-by: Rakib Mullick Signed-off-by: Samuel Ortiz commit 158abca5f699a047ff7b67a64ab19e8ec824e37d Author: Alexey Dobriyan Date: Tue Feb 17 09:10:19 2009 +0100 mfd: fix sm501 section mismatches drv => driver renaming is needed otherwise modpost will spit false positives re pointing to __devinit function from regular data. Signed-off-by: Alexey Dobriyan Cc: Ben Dooks Signed-off-by: Andrew Morton Signed-off-by: Samuel Ortiz commit 8915e5402809ae6228e15c76417351dad752826e Author: Jean Delvare Date: Tue Feb 17 09:07:02 2009 +0100 mfd: terminate pcf50633 i2c_device_id list The i2c_device_id list is supposed to be zero-terminated. Signed-off-by: Jean Delvare Cc: Balaji Rao Signed-off-by: Samuel Ortiz Signed-off-by: Andrew Morton commit 2f161f4485535df85451a8cfdf2487c315f665f5 Author: Mark Brown Date: Fri Feb 6 15:28:15 2009 +0100 mfd: Ensure all WM8350 IRQs are masked at startup The IRQs might have been left enabled in hardware, generating spurious IRQs before the drivers have registered. Signed-off-by: Mark Brown Signed-off-by: Samuel Ortiz commit 9427c34bc72f05b519e8466f27c38a3327bae157 Author: Philipp Zabel Date: Wed Feb 4 21:27:48 2009 +0100 mfd: fix htc-egpio iomem resource handling using resource_size Fixes an off-by-one error in the iomem resource mapping. Signed-off-by: Philipp Zabel Signed-off-by: Samuel Ortiz commit a313d758cc7956d7f1e7a727c8fa571b6468fabf Author: Mark Brown Date: Wed Feb 4 21:26:07 2009 +0100 mfd: Fix TWL4030 build on some ARM variants Many ARM platforms do not provide a mach/cpu.h so rather than guarding the use of that header with CONFIG_ARM guard it with the guards used when testing for the OMAP variants in the body of the code. Signed-off-by: Mark Brown Acked-by: David Brownell Signed-off-by: Samuel Ortiz commit 29c6a2e6f88225ae2673aabd2de0fa2126653231 Author: Roel Kluin Date: Wed Feb 4 21:23:22 2009 +0100 mfd: wm8350 tries reaches -1 With a postfix decrement tries will reach -1 rather than 0, so the warning will not be issued even upon timeout. Signed-off-by: Roel Kluin Acked-by: Mark Brown Signed-off-by: Samuel Ortiz commit a39a021fd73ce06aad8d1081ac711a36930e6cb8 Author: Mark Brown Date: Wed Feb 4 21:10:58 2009 +0100 mfd: Mark WM835x USB_SLV_500MA bit as accessible The code is out of sync with the silicon. Signed-off-by: Mark Brown Signed-off-by: Samuel Ortiz commit 85c93ea7dca475a6ee3bf414befe94b2c42f1001 Author: Mark Brown Date: Wed Feb 4 21:09:38 2009 +0100 mfd: Improve diagnostics for WM8350 ID register probe Check the return value of the device I/O functions when reading the ID registers so we can provide a more useful diagnostic when we're having trouble talking to the device. Signed-off-by: Mark Brown Signed-off-by: Samuel Ortiz commit 62571c29a8343839e85e741db6a489f30686697c Author: Mark Brown Date: Wed Feb 4 20:49:52 2009 +0100 mfd: Initialise WM8350 interrupts earlier Ensure that the interrupt handling is configured before we do platform specific init. This allows the platform specific initialisation to configure things which use interrupts safely. Signed-off-by: Mark Brown Signed-off-by: Samuel Ortiz commit 720fd66dfad1b0286721dbb2ed4d6076c0aa953b Author: Julia Lawall Date: Wed Feb 4 20:44:01 2009 +0100 mfd: Fix egpio kzalloc return test Since ei is already known to be non-NULL, I assume that what was intended was to test the result of kzalloc. Signed-off-by: Julia Lawall Signed-off-by: Samuel Ortiz commit 7dac745b8e367c99175b8f0d014d996f0e5ed9e5 Author: Tejun Heo Date: Thu Feb 12 10:34:32 2009 +0900 sata_nv: give up hardreset on nf2 Kernel bz#12176 reports that nf2 hardreset simply doesn't work. Give up. Argh... Signed-off-by: Tejun Heo Cc: Robert Hancock Reported-by: Saro Signed-off-by: Jeff Garzik commit d1b3525b4126d7acad0493b62642b80b71442661 Author: Sergei Shtylyov Date: Sun Feb 15 23:24:24 2009 +0400 libata-sff: fix 32-bit PIO ATAPI regression Commit 871af1210f13966ab911ed2166e4ab2ce775b99d (libata: Add 32bit PIO support) has caused all kinds of errors on the ATAPI devices, so it has been empirically proven that one shouldn't try to read/write an extra data word when a device is not expecting it already. "Don't do it then"; however, still use a chance to do 32-bit read/write one last time when there are exactly 3 trailing bytes. Oh, and stop pointlessly swapping the bytes to and fro on big-endian machines by using io*_rep() accessors which shouldn't byte-swap. This patch should fix the kernel.org bug #12609. Signed-off-by: Sergei Shtylyov Signed-off-by: Jeff Garzik commit 3b03cc5b86e2052295b9b484f37226ee15c87924 Author: Joris van Rantwijk Date: Mon Feb 16 22:58:23 2009 +0100 ALSA: usb-audio - Workaround for misdetected sample rate with CM6207 The CM6207 incorrectly advertises its 96 kHz playback setting as 48 kHz in its USB device descriptor. This patch extends an existing workaround in usbaudio.c to also cover the CM6207. This resolves issue 0004249 in the ALSA bug tracker. Signed-off-by: Joris van Rantwijk Cc: Signed-off-by: Takashi Iwai commit 0412558c873f716efe902b397af0653a550f7341 Author: Takashi Iwai Date: Mon Feb 16 22:48:12 2009 +0100 ALSA: usb-audio - Fix non-continuous rate detection The detection of non-continuous rates (given via rate tables) isn't processed properly (e.g. for type II). This patch fixes and simplifies the detection code. Tested-by: Joris van Rantwijk Cc: Signed-off-by: Takashi Iwai commit 744f6592727a7ab9e3ca4266bedaa786825a31bb Author: Gregory CLEMENT Date: Mon Feb 16 21:21:47 2009 +0100 [ARM] 5400/1: Add support for inverted rdy_busy pin for Atmel nand device controller Add support for inverted rdy_busy pin for Atmel nand device controller It will fix building error on NeoCore926 board. Acked-by: Andrew Victor Acked-by: David Woodhouse Signed-off-by: Gregory CLEMENT Signed-off-by: Russell King commit a3c1239eb59c0a907f8be5587d42e950f44543f8 Author: David Vrabel Date: Mon Feb 16 14:37:12 2009 +0000 wusb: whci-hcd: always lock whc->lock with interrupts disabled Always lock whc->lock with spin_lock_irq() or spin_lock_irqsave(). Signed-off-by: David Vrabel commit e156ac4c571e3be741bc411e58820b74a9295c72 Author: Clemens Ladisch Date: Mon Feb 16 15:22:39 2009 +0100 sound: usb-audio: fix uninitialized variable with M-Audio MIDI interfaces Fix the snd_usbmidi_create_endpoints_midiman() function, which forgot to set the out_interval member of the endpoint info structure for Midiman/ M-Audio devices. Since kernel 2.6.24, any non-zero value makes the driver use interrupt transfers instead of bulk transfers. With EHCI controllers, these random interval values result in unbearably large latencies for output MIDI transfers. Signed-off-by: Clemens Ladisch Reported-by: David Tested-by: David Cc: Signed-off-by: Takashi Iwai commit d14a7e0bfc4aed6452a436c9836903fbd1a5d6ad Author: Takashi Iwai Date: Mon Feb 16 10:13:03 2009 +0100 Revert "Sound: hda - Restore PCI configuration space with interrupts off" This reverts commit 32e176c14d7a425b681ef003c9061001ddb7fc7b. That commit caused a regression with suspend on Thinkpad SL300. Reference: kernel bug#12711 http://bugzilla.kernel.org/show_bug.cgi?id=12711 Tested-by: Alexandre Rostovtsev Acked-by: Rafael J. Wysocki Signed-off-by: Takashi Iwai commit 34edaa88324004baf4884fb0388f86059d9c4878 Author: Tobias Diedrich Date: Mon Feb 16 00:13:20 2009 -0800 net: forcedeth: Fix wake-on-lan regression Commit f55c21fd9a92a444e55ad1ca4e4732d56661bf2e ("forcedeth: call restore mac addr in nv_shutdown path"), which was introduced to fix the regression tracked at http://bugzilla.kernel.org/show_bug.cgi?id=11358 causes the wake-on-lan mac to be reversed in the shutdown path. Apparently the forcedeth situation is rather messy in that the mac we need to writeback for a subsequent modprobe to work is exactly the reverse of what is needed for proper wake-on-lan. The following patch explains the situation in the comments and makes the call to nv_restore_mac_addr() conditional (only called if we are not really going for poweroff). Tobias Diedrich wrote: > Hmm, I had not tried WOL for some time. > With 2.6.29-rc3 is see the following behaviour: > > State WOL Behaviour > ------------------------------ > shutdown reversed MAC > disk/shutdown reversed MAC > disk/platform OK > > Apparently nv_restore_mac_addr() restores the MAC in the wrong order > for WOL (at least for my PCI_DEVICE_ID_NVIDIA_NVENET_15). platform > works, because the MAC is not touched in the nv_suspend() path. > > A possible fix might be to only call nv_restore_mac_addr() if > system_state != SYSTEM_POWER_OFF. With the following patch: shutdown OK disk/shutdown OK disk/platform OK kexec OK Signed-off-by: Tobias Diedrich Tested-by: Philipp Matthias Hahn Signed-off-by: David S. Miller commit 1371be0f7c8f6141b2dbfde6a7ae7885bedb9834 Author: Rusty Russell Date: Mon Feb 16 17:31:59 2009 -0600 cpumask: Use cpu_*_mask accessors code: alpha Impact: use new API, fix SMP bug. Use the new accessors rather than frobbing bits directly. This also removes the bug introduced in ee0c468b (alpha: compile fixes) which had Alpha setting bits on an on-stack cpumask, not the cpu_online_map. Cc: Richard Henderson Cc: FUJITA Tomonori Signed-off-by: Rusty Russell Signed-off-by: Mike Travis Acked-by: Ivan Kokshaysky Acked-by: Ingo Molnar commit a0abd520fd69295f4a3735e29a9448a32e101d47 Author: Rusty Russell Date: Mon Feb 16 17:31:58 2009 -0600 cpumask: fix powernow-k8: partial revert of 2fdf66b491ac706657946442789ec644cc317e1a Impact: fix powernow-k8 when acpi=off (or other error). There was a spurious change introduced into powernow-k8 in this patch: so that we try to "restore" the cpus_allowed we never saved. We revert that file. See lkml "[PATCH] x86/powernow: fix cpus_allowed brokage when acpi=off" from Yinghai for the bug report. Cc: Mike Travis Cc: Yinghai Lu Signed-off-by: Rusty Russell Acked-by: Ingo Molnar commit 090542641de833c6f756895fc2f139f046e298f9 Author: Dan Carpenter Date: Sun Feb 15 20:02:19 2009 -0500 ext4: Fix NULL dereference in ext4_ext_migrate()'s error handling This was found through a code checker (http://repo.or.cz/w/smatch.git/). It looks like you might be able to trigger the error by trying to migrate a readonly file system. Signed-off-by: Dan Carpenter Signed-off-by: "Theodore Ts'o" commit f9aa28adfc6a4b01268ebb6d88566cca8627905f Author: Pekka Paalanen Date: Sat Jan 3 21:09:27 2009 +0200 doc: mmiotrace.txt, buffer size control change Impact: prevents confusing the user when buffer size is inadequate The tracing framework offers a resizeable buffer, which mmiotrace uses to record events. If the buffer is full, the following events will be lost. Events should not be lost, so the documentation instructs the user to increase the buffer size. The buffer size is set via a debugfs file. Mmiotrace documentation was not updated the same time the debugfs file was changed. The old file was tracing/trace_entries and first contained the number of entries the buffer had space for, per cpu. Nowadays this file is replaced with the file tracing/buffer_size_kb, which tells the amount of memory reserved for the buffer, per cpu, in kilobytes. Previously, a flag had to be toggled via the debugfs file tracing/tracing_enabled when the buffer size was changed. This is no longer necessary. The mmiotrace documentation is updated to reflect the current state of the tracing framework. Signed-off-by: Pekka Paalanen Signed-off-by: Steven Rostedt Signed-off-by: Ingo Molnar commit 6bc5c366b1a45ca18fba6851f62db5743b3f6db5 Author: Pekka Paalanen Date: Sat Jan 3 21:23:51 2009 +0200 trace: mmiotrace to the tracer menu in Kconfig Impact: cosmetic change in Kconfig menu layout This patch was originally suggested by Peter Zijlstra, but seems it was forgotten. CONFIG_MMIOTRACE and CONFIG_MMIOTRACE_TEST were selectable directly under the Kernel hacking / debugging menu in the kernel configuration system. They were present only for x86 and x86_64. Other tracers that use the ftrace tracing framework are in their own sub-menu. This patch moves the mmiotrace configuration options there. Since the Kconfig file, where the tracer menu is, is not architecture specific, HAVE_MMIOTRACE_SUPPORT is introduced and provided only by x86/x86_64. CONFIG_MMIOTRACE now depends on it. Signed-off-by: Pekka Paalanen Signed-off-by: Steven Rostedt Signed-off-by: Ingo Molnar commit 391b170f10e669dd429aa47bce998c2fa839404c Author: Pekka Paalanen Date: Tue Jan 6 13:57:11 2009 +0200 mmiotrace: count events lost due to not recording Impact: enhances lost events counting in mmiotrace The tracing framework, or the ring buffer facility it uses, has a switch to stop recording data. When recording is off, the trace events will be lost. The framework does not count these, so mmiotrace has to count them itself. Signed-off-by: Pekka Paalanen Signed-off-by: Steven Rostedt Signed-off-by: Ingo Molnar commit 929799973ba4a40f7b8001e9cc461c13d04c4124 Author: Andi Kleen Date: Sat Jan 10 04:56:13 2009 +0100 kbuild: create the source symlink earlier in the objdir It's useful to already have the source symlink in a objdir when one just runs make *config. Then one can do mkdir obj-allyes cd obj-allyes make -C ../sourcedir O=$(pwd) allyesconfig ./source/scripts/config --disable debug_info make CC=icecc -j18 without having to interrupt the make first just to get the source symlink. Signed-off-by: Andi Kleen [sam: deleted the other source symlink statement] Signed-off-by: Sam Ravnborg commit 11df65c3c6f7fdc837a5be8787d31011e8bb93c1 Author: Arjan van de Ven Date: Sun Feb 15 11:30:55 2009 +0100 scripts: add x86 64 bit support to the markup_oops.pl script Signed-off-by: Arjan van de Ven Signed-off-by: Andrew Morton Signed-off-by: Sam Ravnborg commit c19ef7fd8e534c870166213e9e30de9c44b34a76 Author: Arjan van de Ven Date: Sun Feb 15 11:30:52 2009 +0100 scripts: add x86 register parser to markup_oops.pl An oops dump also contains the register values. This patch parses these for (32 bit) x86, and then annotates the disassembly with these values; this helps in analysis of the oops by the developer, for example, NULL pointer or other pointer bugs show up clearly this way. Signed-off-by: Arjan van de Ven Signed-off-by: Andrew Morton Signed-off-by: Sam Ravnborg commit 5123b327c107db9e560fd62d50c27a3816e5a078 Author: Rabin Vincent Date: Sun Jan 25 18:39:12 2009 +0530 kbuild: add sys_* entries for syscalls in tags Currently, it is no longer possible to use the tags file to jump to system call function definitions with sys_foo, because the definitions are obscured by use of the SYSCALL_DEFINE* macros. This patch adds the appropriate option to ctags to make it see through the macro. Also, it adds the ENTRY() work already done for Exuberant to Emacs too. Signed-off-by: Rabin Vincent Signed-off-by: Sam Ravnborg commit 953fae66d124486c9e284806429c52c5402f59ac Author: Alexey Dobriyan Date: Wed Feb 11 13:24:09 2009 -0800 kbuild: fix tags generation of config symbols commit 4f628248a578585472e19e4cba2c604643af8c6c aka "kbuild: reintroduce ALLSOURCE_ARCHS support for tags/cscope" breaks tags generation for Kconfig symbols. Steps to reproduce: make tags vi -t PROC_FS It should jump to 'config PROC_FS' line. Signed-off-by: Alexey Dobriyan Tested-by: Pete Wyckoff Signed-off-by: Andrew Morton Signed-off-by: Sam Ravnborg commit 0bb98e231803860e978c302b9faccaf776881137 Author: Michael Neuling Date: Sun Feb 15 10:20:30 2009 +0100 bootgraph: fix for use with dot symbols powerpc has dot symbols, so the dmesg output looks like: <4>[ 0.327310] calling .migration_init+0x0/0x9c @ 1 <4>[ 0.327595] initcall .migration_init+0x0/0x9c returned 1 after 0 usecs The below fixes bootgraph.pl so it handles this correctly. Signed-off-by: Michael Neuling Signed-off-by: Arjan van de Ven Signed-off-by: Andrew Morton Signed-off-by: Sam Ravnborg commit fc370ecfdb37b853bd8e2118c7ad9f99fa9ac5cd Author: Josh Hunt Date: Wed Feb 11 21:10:57 2009 -0800 kbuild: add vmlinux to kernel rpm We are building an automated system to test kernels weekly and need to provide an rpm to our QA dept. We would like to use the ability to create kernel rpms already in the kernel's Makefile, but need the vmlinux file included in the rpm for later debugging. This patch adds a compressed vmlinux to the kernel rpm when doing a make rpm-pkg or binrpm-pkg and upon install places the vmlinux file in /boot. Signed-off-by: Josh Hunt Signed-off-by: Sam Ravnborg commit d21d52d4a155e36d4dc93d642cd52cb63f7ef91b Author: Mike Frysinger Date: Thu Feb 5 16:13:32 2009 +0800 kbuild,setlocalversion: shorten the make time when using svn Don't bother doing `svn st` as it takes a retarded amount of time when the source is cold Signed-off-by: Mike Frysinger Signed-off-by: Bryan Wu Signed-off-by: Sam Ravnborg commit be716615fe596ee117292dc615e95f707fb67fd1 Author: Thomas Gleixner Date: Tue Jan 13 23:36:34 2009 +0100 x86, vm86: fix preemption bug Commit 3d2a71a596bd9c761c8487a2178e95f8a61da083 ("x86, traps: converge do_debug handlers") changed the preemption disable logic of do_debug() so vm86_handle_trap() is called with preemption disabled resulting in: BUG: sleeping function called from invalid context at include/linux/kernel.h:155 in_atomic(): 1, irqs_disabled(): 0, pid: 3005, name: dosemu.bin Pid: 3005, comm: dosemu.bin Tainted: G W 2.6.29-rc1 #51 Call Trace: [] copy_to_user+0x33/0x108 [] save_v86_state+0x65/0x149 [] handle_vm86_trap+0x20/0x8f [] do_debug+0x15b/0x1a4 [] debug_stack_correct+0x27/0x2c [] sysenter_do_call+0x12/0x2f BUG: scheduling while atomic: dosemu.bin/3005/0x10000001 Restore the original calling convention and reenable preemption before calling handle_vm86_trap(). Reported-by: Michal Suchanek Cc: stable@kernel.org Signed-off-by: Thomas Gleixner Signed-off-by: Ingo Molnar commit 516a1a7e9dc80358030fe01aabb3bedf882db9e2 Author: Avi Kivity Date: Sun Feb 15 02:32:07 2009 +0200 KVM: VMX: Flush volatile msrs before emulating rdmsr Some msrs (notable MSR_KERNEL_GS_BASE) are held in the processor registers and need to be flushed to the vcpu struture before they can be read. This fixes cygwin longjmp() failure on Windows x64. Signed-off-by: Avi Kivity commit 682edb4c01e690c7c7cd772dbd6f4e0fd74dc572 Author: Mark McLoughlin Date: Thu Feb 5 18:23:46 2009 +0000 KVM: Fix assigned devices circular locking dependency kvm->slots_lock is outer to kvm->lock, so take slots_lock in kvm_vm_ioctl_assign_device() before taking kvm->lock, rather than taking it in kvm_iommu_map_memslots(). Cc: stable@kernel.org Signed-off-by: Mark McLoughlin Acked-by: Marcelo Tosatti Signed-off-by: Avi Kivity commit b682b814e3cc340f905c14dff87ce8bdba7c5eba Author: Marcelo Tosatti Date: Tue Feb 10 20:41:41 2009 -0200 KVM: x86: fix LAPIC pending count calculation Simplify LAPIC TMCCT calculation by using hrtimer provided function to query remaining time until expiration. Fixes host hang with nested ESX. Signed-off-by: Marcelo Tosatti Signed-off-by: Alexander Graf Signed-off-by: Avi Kivity commit d7cff1c37664971aae32bb0de82231ed34933d8e Author: Sheng Yang Date: Tue Jan 6 16:25:10 2009 +0800 KVM: Fix INTx for device assignment Missing buckets and wrong parameter for free_irq() Signed-off-by: Sheng Yang Signed-off-by: Avi Kivity commit 2aaf69dcee864f4fb6402638dd2f263324ac839f Author: Sheng Yang Date: Wed Jan 21 16:52:16 2009 +0800 KVM: MMU: Map device MMIO as UC in EPT Software are not allow to access device MMIO using cacheable memory type, the patch limit MMIO region with UC and WC(guest can select WC using PAT and PCD/PWT). Signed-off-by: Sheng Yang Signed-off-by: Avi Kivity commit abe6655dd699069b53bcccbc65b2717f60203b12 Author: Marcelo Tosatti Date: Tue Feb 10 20:59:45 2009 -0200 KVM: x86: disable kvmclock on non constant TSC hosts This is better. Currently, this code path is posing us big troubles, and we won't have a decent patch in time. So, temporarily disable it. Signed-off-by: Glauber Costa Signed-off-by: Marcelo Tosatti Signed-off-by: Avi Kivity commit d2a8284e8fca9e2a938bee6cd074064d23864886 Author: Marcelo Tosatti Date: Tue Dec 30 15:55:05 2008 -0200 KVM: PIT: fix i8254 pending count read count_load_time assignment is bogus: its supposed to contain what it means, not the expiration time. Signed-off-by: Marcelo Tosatti Signed-off-by: Avi Kivity commit ba4cef31d5a397b64ba6d3ff713ce06c62f0c597 Author: Sheng Yang Date: Tue Jan 6 10:03:03 2009 +0800 KVM: Fix racy in kvm_free_assigned_irq In the past, kvm_get_kvm() and kvm_put_kvm() was called in assigned device irq handler and interrupt_work, in order to prevent cancel_work_sync() in kvm_free_assigned_irq got a illegal state when waiting for interrupt_work done. But it's tricky and still got two problems: 1. A bug ignored two conditions that cancel_work_sync() would return true result in a additional kvm_put_kvm(). 2. If interrupt type is MSI, we would got a window between cancel_work_sync() and free_irq(), which interrupt would be injected again... This patch discard the reference count used for irq handler and interrupt_work, and ensure the legal state by moving the free function at the very beginning of kvm_destroy_vm(). And the patch fix the second bug by disable irq before cancel_work_sync(), which may result in nested disable of irq but OK for we are going to free it. Signed-off-by: Sheng Yang Signed-off-by: Avi Kivity commit ad8ba2cd44d4d39fb3fe55d5dcc565b19fc3a7fb Author: Sheng Yang Date: Tue Jan 6 10:03:02 2009 +0800 KVM: Add kvm_arch_sync_events to sync with asynchronize events kvm_arch_sync_events is introduced to quiet down all other events may happen contemporary with VM destroy process, like IRQ handler and work struct for assigned device. For kvm_arch_sync_events is called at the very beginning of kvm_destroy_vm(), so the state of KVM here is legal and can provide a environment to quiet down other events. Signed-off-by: Sheng Yang Signed-off-by: Avi Kivity commit 85db06e514422ae429b5f85742d8111b70bd56f3 Author: Marcelo Tosatti Date: Wed Dec 10 21:23:26 2008 +0100 KVM: mmu_notifiers release method The destructor for huge pages uses the backing inode for adjusting hugetlbfs accounting. Hugepage mappings are destroyed by exit_mmap, after mmu_notifier_release, so there are no notifications through unmap_hugepage_range at this point. The hugetlbfs inode can be freed with pages backed by it referenced by the shadow. When the shadow releases its reference, the huge page destructor will access a now freed inode. Implement the release operation for kvm mmu notifiers to release page refs before the hugetlbfs inode is gone. Signed-off-by: Marcelo Tosatti Signed-off-by: Avi Kivity commit 7a0eb1960e8ddcb68ea631caf16815485af0e228 Author: Avi Kivity Date: Mon Jan 19 14:57:52 2009 +0200 KVM: Avoid using CONFIG_ in userspace visible headers Kconfig symbols are not available in userspace, and are not stripped by headers-install. Avoid their use by adding #defines in to suit each architecture. Signed-off-by: Avi Kivity commit d39123a486524fed9b4e43e08a8757fd90a5859a Author: Yang Zhang Date: Thu Jan 8 15:13:31 2009 +0800 KVM: ia64: fix fp fault/trap handler The floating-point registers f6-f11 is used by vmm and saved in kvm-pt-regs, so should set the correct bit mask and the pointer in fp_state, otherwise, fpswa may touch vmm's fp registers instead of guests'. In addition, for fp trap handling, since the instruction which leads to fp trap is completely executed, so can't use retry machanism to re-execute it, because it may pollute some registers. Signed-off-by: Yang Zhang Signed-off-by: Avi Kivity commit e49590b6dd356f8ef10ba3531a29e5086f6f2e3a Author: Chris Ball Date: Fri Feb 13 20:56:18 2009 -0500 x86, olpc: fix model detection without OFW Impact: fix "garbled display, laptop is unusable" bug Commit e51a1ac2dfca9ad869471e88f828281db7e810c0 ("x86, olpc: fix endian bug in openfirmware workaround") breaks model comparison on OLPC; the value 0xc2 needs to be scaled up by olpc_board(). The pre-patch version was wrong, but accidentally worked anyway (big-endian 0xc2 is big enough to satisfy all other board revisions, but little endian 0xc2 is not). Signed-off-by: Chris Ball Cc: Andrew Morton Acked-by: Andres Salomon Cc: Harvey Harrison Signed-off-by: Ingo Molnar commit 9af88143b277f52fc6ce0d69137f435c73c39c1a Author: David Woodhouse Date: Fri Feb 13 23:18:03 2009 +0000 iommu: fix Intel IOMMU write-buffer flushing This is the cause of the DMA faults and disk corruption that people have been seeing. Some chipsets neglect to report the RWBF "capability" -- the flag which says that we need to flush the chipset write-buffer when changing the DMA page tables, to ensure that the change is visible to the IOMMU. Override that bit on the affected chipsets, and everything is happy again. Thanks to Chris and Bhavesh and others for helping to debug. Should resolve: https://bugzilla.redhat.com/show_bug.cgi?id=479996 http://bugzilla.kernel.org/show_bug.cgi?id=12578 Signed-off-by: David Woodhouse Cc: Linus Torvalds Tested-and-acked-by: Chris Wright Reviewed-by: Bhavesh Davda Signed-off-by: Ingo Molnar commit 2b768b6cdbcf7fa0761e6c35c6ea288297582c43 Author: Andrew Victor Date: Wed Feb 11 21:39:05 2009 +0100 [ARM] 5391/1: AT91: Enable GPIO clocks earlier Enable the GPIO clocks earlier in the initialization sequence. This allow the board-setup code to read and set GPIO pins. Signed-off-by: Marc Pignat Signed-off-by: Andrew Victor Signed-off-by: Russell King commit 2af29b78618ac8b3a8746337002f108f8fdf56ad Author: Andrew Victor Date: Wed Feb 11 21:23:10 2009 +0100 [ARM] 5390/1: AT91: Watchdog fixes The recently merged AT91SAM9 watchdog driver uses the AT91SAM9X_WATCHDOG config variable, whereas the original version of the driver (and the platform support code) used AT91SAM9_WATCHDOG. This causes the watchdog platform_device to never be registered, and therefore the driver not to be initialized. This patch: - updates the platform support code to use AT91SAM9X_WATCHDOG. - includes to fix compile error (same fix as was applied to at91rm9200_wdt.c) - fixes comment regarding watchdog clock-rates in at91rm9200. Signed-off-by: Andrew Victor Signed-off-by: Russell King commit 98ad6e3b1f5f2303815c063ece91291a597f6044 Author: wanzongshun Date: Fri Feb 13 06:04:32 2009 +0100 [ARM] 5398/1: Add Wan ZongShun to MAINTAINERS for W90P910 Add Wan ZongShun to MAINTAINERS for W90P910. Signed-off-by: Wan ZongShun Signed-off-by: Russell King commit 2acf2c261b823d9d9ed954f348b97620297a36b5 Author: Aneesh Kumar K.V Date: Sat Feb 14 10:42:58 2009 -0500 ext4: Implement range_cyclic in ext4_da_writepages instead of write_cache_pages With delayed allocation we lock the page in write_cache_pages() and try to build an in memory extent of contiguous blocks. This is needed so that we can get large contiguous blocks request. If range_cyclic mode is enabled, write_cache_pages() will loop back to the 0 index if no I/O has been done yet, and try to start writing from the beginning of the range. That causes an attempt to take the page lock of lower index page while holding the page lock of higher index page, which can cause a dead lock with another writeback thread. The solution is to implement the range_cyclic behavior in ext4_da_writepages() instead. http://bugzilla.kernel.org/show_bug.cgi?id=12579 Signed-off-by: Aneesh Kumar K.V Signed-off-by: "Theodore Ts'o" commit d794bf8e0936dce45104565cd48c571061f4c1e3 Author: Aneesh Kumar K.V Date: Sat Feb 14 10:31:16 2009 -0500 ext4: Initialize preallocation list_head's properly When creating a new ext4_prealloc_space structure, we have to initialize its list_head pointers before we add them to any prealloc lists. Otherwise, with list debug enabled, we will get list corruption warnings. Signed-off-by: Aneesh Kumar K.V Signed-off-by: "Theodore Ts'o" commit abf239657b88fa7e75d5b44a65a4177e7bb8acce Author: Russell King Date: Sat Feb 14 13:25:38 2009 +0000 [ARM] omap: fix _omap2_clksel_get_src_field() _omap2_clksel_get_src_field() was returning the first entry which was either the default _or_ applicable to the SoC. This is wrong - we should be returning the first default which is applicable to the SoC. Signed-off-by: Russell King commit 9132f1b453924e7595ce2dc1853704b2a31f42de Author: Russell King Date: Sat Feb 14 13:24:10 2009 +0000 [ARM] omap: fix omap2_divisor_to_clksel() error return value The error checks for omap2_divisor_to_clksel() and comment disagree with the actual value returned on error. Fix this to return the correct error value. Signed-off-by: Russell King commit efab0b5d3eed6aa71f8e3233e4e11774eedc04dc Author: Andres Salomon Date: Wed Feb 11 13:27:02 2009 -0800 [JFFS2] force the jffs2 GC daemon to behave a bit better I've noticed some pretty poor behavior on OLPC machines after bootup, when gdm/X are starting. The GCD monopolizes the scheduler (which in turns means it gets to do more nand i/o), which results in processes taking much much longer than they should to start. As an example, on an OLPC machine going from OFW to a usable X (via auto-login gdm) takes 2m 30s. The majority of this time is consumed by the switch into graphical mode. With this patch, we cut a full 60s off of bootup time. After bootup, things are much snappier as well. Note that we have seen a CRC node error with this patch that causes the machine to fail to boot, but we've also seen that problem without this patch. Signed-off-by: Andres Salomon Signed-off-by: Andrew Morton Signed-off-by: David Woodhouse commit 12d60e28bed3f593aac5385acbdbb089eb8ae21e Author: Wim Van Sebroeck Date: Wed Jan 28 20:51:04 2009 +0000 [WATCHDOG] iTCO_wdt: fix SMI_EN regression 2 bugzilla: #12363 commit 7cd5b08be3c489df11b559fef210b81133764ad4 added a second regression: some Dell's and Compaq's lockup on boot. So we revert most of the code. The ICH9 reboot issue remains in place and will need some more fixing... :-( Signed-off-by: Wim Van Sebroeck commit 084eb960e81505680a9963665722d1bfd94af6a7 Author: Tony Battersby Date: Wed Feb 11 13:24:19 2009 -0800 intel-iommu: fix endless "Unknown DMAR structure type" loop I have a SuperMicro C2SBX motherboard with BIOS revision 1.0b. With vt-d enabled in the BIOS, Linux gets into an endless loop printing "DMAR:Unknown DMAR structure type" when booting. Here is the DMAR ACPI table: DMAR @ 0x7fe86dec 0000: 44 4d 41 52 98 00 00 00 01 6f 49 6e 74 65 6c 20 DMAR.....oIntel 0010: 4f 45 4d 44 4d 41 52 20 00 00 04 06 4c 4f 48 52 OEMDMAR ....LOHR 0020: 01 00 00 00 23 00 00 00 00 00 00 00 00 00 00 00 ....#........... 0030: 01 00 58 00 00 00 00 00 00 a0 e8 7f 00 00 00 00 ..X............. 0040: ff ff ef 7f 00 00 00 00 01 08 00 00 00 00 1d 00 ................ 0050: 01 08 00 00 00 00 1d 01 01 08 00 00 00 00 1d 02 ................ 0060: 01 08 00 00 00 00 1d 07 01 08 00 00 00 00 1a 00 ................ 0070: 01 08 00 00 00 00 1a 01 01 08 00 00 00 00 1a 02 ................ 0080: 01 08 00 00 00 00 1a 07 01 08 00 00 00 00 1a 07 ................ 0090: c0 00 68 00 04 10 66 60 ..h...f` Here are the messages printed by the kernel: DMAR:Host address width 36 DMAR:RMRR base: 0x000000007fe8a000 end: 0x000000007fefffff DMAR:Unknown DMAR structure type DMAR:Unknown DMAR structure type DMAR:Unknown DMAR structure type ... Although I not very familiar with ACPI, to me it looks like struct acpi_dmar_header::length == 0x0058 is incorrect, causing parse_dmar_table() to look at an invalid offset on the next loop. This offset happens to have struct acpi_dmar_header::length == 0x0000, which prevents the loop from ever terminating. This patch checks for this condition and bails out instead of looping forever. Signed-off-by: Tony Battersby Signed-off-by: Andrew Morton Signed-off-by: David Woodhouse commit ab00d68276295a1b4da7ad924a35a3566e9c2698 Author: Mike Frysinger Date: Wed Feb 11 13:12:19 2009 -0800 [MTD] [MAPS] blackfin async requires complex mappings Correct a build error. bfin-async uses complex mappings and so needs it. Signed-off-by: Mike Frysinger Signed-off-by: Bryan Wu Cc: David Woodhouse Signed-off-by: Andrew Morton Signed-off-by: David Woodhouse commit 10715b8751dfc403aeb7fbc35166417fa1664eda Author: Mike Frysinger Date: Wed Feb 11 13:12:18 2009 -0800 [MTD] [MAPS] blackfin: fix memory leak in error path Signed-off-by: Mike Frysinger Signed-off-by: Bryan Wu Signed-off-by: Andrew Morton Signed-off-by: David Woodhouse commit e480814f138cd5d78a8efe397756ba6b6518fdb6 Author: Atsushi Nemoto Date: Wed Feb 11 13:12:17 2009 -0800 [MTD] [MAPS] physmap: fix wrong free and del_mtd_{partition,device} commit 176bf2e0f10ecf1d20a97db3bd5bb2e6ba0b5668 ("physmap: fix leak of memory returned by parse_mtd_partitions") deals with a memory leak and frees the pointer array of mtd_partition after the call to add_mtd_partitions(). the problem is that mtd_table[x]->name still points to the freed memory. Aldo physmap_flash_remove() should call del_mtd_partitions() or del_mtd_device() only once. Signed-off-by: Atsushi Nemoto Reported-by: Matthias Kaehlcke Tested-by: Matthias Kaehlcke Signed-off-by: Andrew Morton Signed-off-by: David Woodhouse commit d2f8d7ee1a9b4650b4e43325b321801264f7c37a Author: Linus Torvalds Date: Fri Feb 13 15:31:30 2009 -0800 Linux 2.6.29-rc5 commit a08f6e04d74478d91f34a0484e69e89870adb33d Author: Alex Chiang Date: Fri Feb 13 12:03:17 2009 -0700 PCI: Documentation: fix minor PCIe HOWTO thinko Update doc to correctly refer to replacing the pci_register_driver API, and not the non-existent "pci_module_init" API. Signed-off-by: Alex Chiang Signed-off-by: Jesse Barnes commit f5ddcac435b6c6133a9c137c345abef53b93cf55 Author: Randy Dunlap Date: Fri Jan 9 17:03:20 2009 -0800 PCI: fix missing kernel-doc and typos Fix pci kernel-doc parameter missing notation, correct function name, and fix typo: Warning(linux-2.6.28-git10//drivers/pci/pci.c:1511): No description found for parameter 'exclusive' Signed-off-by: Randy Dunlap Signed-off-by: Jesse Barnes commit b33bfdef24565fe54da91adf3cd4eea13488d7fc Author: Randy Dunlap Date: Fri Jan 9 17:04:26 2009 -0800 PCI: fix struct pci_platform_pm_ops kernel-doc Fix struct pci_platform_pm_ops kernel-doc notation. Signed-off-by: Randy Dunlap Signed-off-by: Jesse Barnes commit 4cc59c721cba27a4644e29103afac0f91af8da3c Author: Randy Dunlap Date: Mon Feb 9 09:31:20 2009 -0800 PCI: fix rom.c kernel-doc warning Fix PCI kernel-doc warning: Warning(linux-2.6.29-rc4-git1/drivers/pci/rom.c:67): No description found for parameter 'pdev' Signed-off-by: Randy Dunlap cc: Jesse Barnes Signed-off-by: Jesse Barnes commit 0b49ec37a20bc7eb7178105aadaa8d1ecba825f8 Author: Matthew Wilcox Date: Sun Feb 8 20:27:47 2009 -0700 PCI/MSI: fix msi_mask() shift fix Hidetoshi Seto points out that commit bffac3c593eba1f9da3efd0199e49ea6558a40ce has wrong values in the array. Rather than correct the array, we can just use a bounds check and perform the calculation specified in the comment. As a bonus, this will not run off the end of the array if the device specifies an illegal value in the MSI capability. Signed-off-by: Matthew Wilcox Signed-off-by: Hidetoshi Seto Signed-off-by: Jesse Barnes commit b51ebdc40cf3a9eb4d3ace48dbd254bb0184481d Merge: fb5ae64 99cbb86 Author: Linus Torvalds Date: Fri Feb 13 08:19:11 2009 -0800 Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tiwai/sound-2.6 * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tiwai/sound-2.6: ASoC: Only register AC97 bus if it's not done already ALSA: hda - Add snd_hda_multi_out_dig_cleanup() ALSA: hda - Add missing terminator in slave dig-out array ALSA: hda - Change HP dv7 (103c:30f4) quirk from hp-m4 to hp-dv5 model ALSA: hda - Register (new) devices at reconfig ALSA: mtpav - Fix initial value for input hwport ALSA: hda - add id for Intel IbexPeak integrated HDMI codec ALSA: hda - compute checksum in HDMI audio infoframe ALSA: hda - enable HDMI audio pin out at module loading time ALSA: hda - allow multi-channel HDMI audio playback when ELD is not present ASoC: Update SDP3430 machine driver for snd_soc_card ALSA: hda - Add quirk for Asus z37e (1043:8284) sound: Remove OSSlib stuff from linux/soundcard.h ASoC: WM8990: Fix kcontrol's private value use in put callback ASoC: TLV320AIC3X: Fix kcontrol's private value use in put callback commit fb5ae64fdde29236e1a15e0366946df7060f41f2 Author: Serge E. Hallyn Date: Fri Feb 13 14:04:21 2009 +0000 User namespaces: Only put the userns when we unhash the uid uids in namespaces other than init don't get a sysfs entry. For those in the init namespace, while we're waiting to remove the sysfs entry for the uid the uid is still hashed, and alloc_uid() may re-grab that uid without getting a new reference to the user_ns, which we've already put in free_user before scheduling remove_user_sysfs_dir(). Reported-and-tested-by: KOSAKI Motohiro Signed-off-by: Serge E. Hallyn Acked-by: David Howells Tested-by: Ingo Molnar Signed-off-by: Linus Torvalds commit 99cbb86180bccd77f331f6e8eb7ce26aeea2cb72 Merge: 7c56c29 14fa43f Author: Takashi Iwai Date: Fri Feb 13 15:06:04 2009 +0100 Merge branch 'fix/asoc' into for-linus commit 7c56c29a3bee36f71c7e37de88c9261d61e97e58 Merge: b4583a4 9411e21 Author: Takashi Iwai Date: Fri Feb 13 15:05:59 2009 +0100 Merge branch 'fix/hda' into for-linus commit b4583a46ba359ddc8ecf4f87c183b65b96bbc2a2 Merge: ebb8802 32cf9a1 Author: Takashi Iwai Date: Fri Feb 13 15:05:56 2009 +0100 Merge branch 'fix/misc' into for-linus commit ebb88024aa1b14a86ecc3a9da013f6713664d94b Merge: d5b5623 43a9907 Author: Takashi Iwai Date: Fri Feb 13 15:05:51 2009 +0100 Merge branch 'fix/oss-header-fix' into for-linus commit 14fa43f53ff3a9c3d8b9662574b7369812a31a97 Author: Mark Brown Date: Thu Feb 12 19:33:19 2009 +0000 ASoC: Only register AC97 bus if it's not done already ASoC supports both explicit codec drivers for AC97 devices and a simple driver which uses the standard ALSA AC97 framework for codec support. When used with the generic AC97 codec support that will provide the ad hoc AC97 device for drivers like touchscreens to attach to so the core shouldn't do so. Reported-by: Manuel Lauss Signed-off-by: Mark Brown commit 3997ad317fdf9ecdb5702e2b4fd1f8229814ff8c Author: Peter Zijlstra Date: Thu Feb 12 15:00:52 2009 +0100 timers: more consistently use clock vs timer While reviewing the manpages, I noticed I'd missed some clock vs timer sites. Make sure that all timer functions call cpu_timer_sample_group() and not cpu_clock_sample_group(). This ensures that we enable the process wide timer in time, and therefore pay the O(n) thread group cost from the syscall. Not doing it here, will result in the first jiffy tick after setting the timer doing this, resulting in a very expensive tick (but only once) and a delay in actually starting the timer. Signed-off-by: Peter Zijlstra Signed-off-by: Ingo Molnar commit 9411e21cd0cc4fd046b4f448417b0e103e80951c Author: Takashi Iwai Date: Fri Feb 13 11:32:28 2009 +0100 ALSA: hda - Add snd_hda_multi_out_dig_cleanup() Added the helper function snd_hda_multi_out_dig_cleanup() to clean up the digital outputs with multi setup. This call is needed in cases the codec supports multiple digital outputs as slaves. Otherwise the slave widgets aren't properly cleaned up. For a single digital output (e.g. in patch_conexant.c), this call isn't needed. Signed-off-by: Takashi Iwai commit 3a08e30de2facffe8e1a25bf4fa62cbc920fbaf6 Author: Takashi Iwai Date: Fri Feb 13 11:37:08 2009 +0100 ALSA: hda - Add missing terminator in slave dig-out array Added the missing terminator for ad1989b_slave_dig_outs[]. Cc: Signed-off-by: Takashi Iwai commit b13e24644c138d0ddbc451403c30a96b09bfd556 Author: john stultz Date: Thu Feb 12 18:48:53 2009 -0800 x86, hpet: fix for LS21 + HPET = boot hang Between 2.6.23 and 2.6.24-rc1 a change was made that broke IBM LS21 systems that had the HPET enabled in the BIOS, resulting in boot hangs for x86_64. Specifically commit b8ce33590687888ebb900d09557b8807c4539022, which merges the i386 and x86_64 HPET code. Prior to this commit, when we setup the HPET timers in x86_64, we did the following: hpet_writel(HPET_TN_ENABLE | HPET_TN_PERIODIC | HPET_TN_SETVAL | HPET_TN_32BIT, HPET_T0_CFG); However after the i386/x86_64 HPET merge, we do the following: cfg = hpet_readl(HPET_Tn_CFG(timer)); cfg |= HPET_TN_ENABLE | HPET_TN_PERIODIC | HPET_TN_SETVAL | HPET_TN_32BIT; hpet_writel(cfg, HPET_Tn_CFG(timer)); However on LS21s with HPET enabled in the BIOS, the HPET_T0_CFG register boots with Level triggered interrupts (HPET_TN_LEVEL) enabled. This causes the periodic interrupt to be not so periodic, and that results in the boot time hang I reported earlier in the delay calibration. My fix: Always disable HPET_TN_LEVEL when setting up periodic mode. Signed-off-by: John Stultz Signed-off-by: Ingo Molnar commit 92258a3ed2f583c8720ef570f5c62b28e6c58d71 Author: Herton Ronaldo Krzesinski Date: Thu Feb 12 17:27:27 2009 -0200 ALSA: hda - Change HP dv7 (103c:30f4) quirk from hp-m4 to hp-dv5 model Change HP dv7 quirk: although reported to work with hp-m4 model (https://bugzilla.novell.com/show_bug.cgi?id=445321), the original report doesn't contain info about testing of internal microphone. Recently I received a report about internal mic not working (https://qa.mandriva.com/show_bug.cgi?id=44855#c193), this must be related with the forced line in on pin 0x0e done with hp-m4 model. Thus change the current quirk from STAC_HP_M4 to STAC_HP_DV5, later reported to be fixed on a provided kernel with this change (https://qa.mandriva.com/show_bug.cgi?id=44855#c196). Signed-off-by: Herton Ronaldo Krzesinski Signed-off-by: Takashi Iwai commit 26456dcfb8d8e43b1b64b2a14710694cf7a72f05 Author: Michael Neuling Date: Thu Feb 12 19:08:58 2009 +0000 powerpc/vsx: Fix VSX alignment handler for regs 32-63 Fix the VSX alignment handler for VSX registers > 32. 32-63 are stored in the VMX part of the thread_struct not the FPR part. Signed-off-by: Michael Neuling CC: stable@kernel.org (2.6.27 & .28 please) Signed-off-by: Benjamin Herrenschmidt commit 0047656e2a97d4452dd7df9e52591a7afe21a263 Author: Geoff Levand Date: Thu Feb 12 12:36:16 2009 +0000 powerpc/ps3: Move ps3_mm_add_memory to device_initcall Change the PS3 hotplug memory routine ps3_mm_add_memory() from a core_initcall to a device_initcall. core_initcall routines run before the powerpc topology_init() startup routine, which is a subsys_initcall, resulting in failure of ps3_mm_add_memory() when CONFIG_NUMA=y. When ps3_mm_add_memory() fails the system will boot with just the 128 MiB of boot memory Signed-off-by: Geoff Levand Signed-off-by: Benjamin Herrenschmidt commit 06eccea6c34e00c8fedce49229ed35fa84619fb7 Author: Dave Hansen Date: Thu Feb 12 12:36:04 2009 +0000 powerpc/mm: Fix numa reserve bootmem page selection Fix the powerpc NUMA reserve bootmem page selection logic. commit 8f64e1f2d1e09267ac926e15090fd505c1c0cbcb (powerpc: Reserve in bootmem lmb reserved regions that cross NUMA nodes) changed the logic for how the powerpc LMB reserved regions were converted to bootmen reserved regions. As the folowing discussion reports, the new logic was not correct. mark_reserved_regions_for_nid() goes through each LMB on the system that specifies a reserved area. It searches for active regions that intersect with that LMB and are on the specified node. It attempts to bootmem-reserve only the area where the active region and the reserved LMB intersect. We can not reserve things on other nodes as they may not have bootmem structures allocated, yet. We base the size of the bootmem reservation on two possible things. Normally, we just make the reservation start and stop exactly at the start and end of the LMB. However, the LMB reservations are not aware of NUMA nodes and on occasion a single LMB may cross into several adjacent active regions. Those may even be on different NUMA nodes and will require separate calls to the bootmem reserve functions. So, the bootmem reservation must be trimmed to fit inside the current active region. That's all fine and dandy, but we trim the reservation in a page-aligned fashion. That's bad because we start the reservation at a non-page-aligned address: physbase. The reservation may only span 2 bytes, but that those bytes may span two pfns and cause a reserve_size of 2*PAGE_SIZE. Take the case where you reserve 0x2 bytes at 0x0fff and where the active region ends at 0x1000. You'll jump into that if() statment, but node_ar.end_pfn=0x1 and start_pfn=0x0. You'll end up with a reserve_size=0x1000, and then call reserve_bootmem_node(node, physbase=0xfff, size=0x1000); 0x1000 may not be on the same node as 0xfff. Oops. In almost all the vm code, end_ is not inclusive. If you have an end_pfn of 0x1234, page 0x1234 is not included in the range. Using PFN_UP instead of the (>> >> PAGE_SHIFT) will make this consistent with the other VM code. We also need to do math for the reserved size with physbase instead of start_pfn. node_ar.end_pfn << PAGE_SHIFT is *precisely* the end of the node. However, (start_pfn << PAGE_SHIFT) is *NOT* precisely the beginning of the reserved area. That is, of course, physbase. If we don't use physbase here, the reserve_size can be made too large. From: Dave Hansen Tested-by: Geoff Levand Tested on PS3. Signed-off-by: Benjamin Herrenschmidt commit fbc78b07ba53ace155f27491c81a009e541a93ad Author: Philippe Gerum Date: Thu Feb 12 12:18:46 2009 +0000 powerpc/mm: Fix _PAGE_CHG_MASK to protect _PAGE_SPECIAL Fix _PAGE_CHG_MASK so that pte_modify() does not affect the _PAGE_SPECIAL bit. Signed-off-by: Philippe Gerum Signed-off-by: Benjamin Herrenschmidt commit 37bed90094fdb1eea6e4afec6a200d4e60143e55 Merge: 071a0bc 1d7b33f Author: Linus Torvalds Date: Thu Feb 12 17:47:15 2009 -0800 Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-2.6 * git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-2.6: (32 commits) wimax: fix oops in wimax_dev_get_by_genl_info() when looking up non-wimax iface net: 4 bytes kernel memory disclosure in SO_BSDCOMPAT gsopt try #2 netxen: fix compile waring "label ‘set_32_bit_mask’ defined but not used" on IA64 platform bnx2: Update version to 1.9.2 and copyright. bnx2: Fix jumbo frames error handling. bnx2: Update 5709 firmware. bnx2: Update 5706/5708 firmware. 3c505: do not set pcb->data.raw beyond its size Documentation/connector/cn_test.c: don't use gfp_any() net: don't use in_atomic() in gfp_any() IRDA: cnt is off by 1 netxen: remove pcie workaround sun3: print when lance_open() fails qlge: bugfix: Add missing rx buf clean index on early exit. qlge: bugfix: Fix RX scaling values. qlge: bugfix: Fix TSO breakage. qlge: bugfix: Add missing dev_kfree_skb_any() call. qlge: bugfix: Add missing put_page() call. qlge: bugfix: Fix fatal error recovery hang. qlge: bugfix: Use netif_receive_skb() and vlan_hwaccel_receive_skb(). ... commit 1d7b33f77b2d8b0b1ee767e6f8f05cbd9d72cb7c Author: Inaky Perez-Gonzalez Date: Thu Feb 12 17:00:20 2009 -0800 wimax: fix oops in wimax_dev_get_by_genl_info() when looking up non-wimax iface When a non-wimax interface is looked up by the stack, a bad pointer is returned when the looked-up interface is not found in the list (of registered WiMAX interfaces). This causes an oops in the caller when trying to use the pointer. Fix by properly setting the pointer to NULL if we don't exit from the list_for_each() with a found entry. Signed-off-by: Inaky Perez-Gonzalez Signed-off-by: David S. Miller commit df0bca049d01c0ee94afb7cd5dfd959541e6c8da Author: Clément Lecigne Date: Thu Feb 12 16:59:09 2009 -0800 net: 4 bytes kernel memory disclosure in SO_BSDCOMPAT gsopt try #2 In function sock_getsockopt() located in net/core/sock.c, optval v.val is not correctly initialized and directly returned in userland in case we have SO_BSDCOMPAT option set. This dummy code should trigger the bug: int main(void) { unsigned char buf[4] = { 0, 0, 0, 0 }; int len; int sock; sock = socket(33, 2, 2); getsockopt(sock, 1, SO_BSDCOMPAT, &buf, &len); printf("%x%x%x%x\n", buf[0], buf[1], buf[2], buf[3]); close(sock); } Here is a patch that fix this bug by initalizing v.val just after its declaration. Signed-off-by: Clément Lecigne Signed-off-by: David S. Miller commit 354b45fff90c3448c1eadabfad6ae7b8b8a2a237 Author: Yang Hongyang Date: Thu Feb 12 16:57:12 2009 -0800 netxen: fix compile waring "label ‘set_32_bit_mask’ defined but not used" on IA64 platform When compile the latest kernel on IA64 platform,I got a warning: drivers/net/netxen/netxen_nic_main.c:203: warning: label ‘set_32_bit_mask’ defined but not used We do not need label ‘set_32_bit_mask’ on IA64 platform,So move it to #else. Signed-off-by: Yang Hongyang Signed-off-by: David S. Miller commit a6952b5299ab506051f05395f7c26ff1352759ad Author: Michael Chan Date: Thu Feb 12 16:54:48 2009 -0800 bnx2: Update version to 1.9.2 and copyright. Signed-off-by: Michael Chan Signed-off-by: David S. Miller commit 990ec3804bb9fd37fcce3e165c95e8b79a783aa3 Author: Michael Chan Date: Thu Feb 12 16:54:13 2009 -0800 bnx2: Fix jumbo frames error handling. If errors are reported on a frame descriptor, we need to account for the buffer pages that may have been used for this error packet and recycle them. Otherwise, we may get the wrong pages for the next packet. Signed-off-by: Michael Chan Signed-off-by: Matt Carlson Signed-off-by: Benjamin Li Signed-off-by: David S. Miller commit 259436a505bedc59a0114f2d17fa56af71d94129 Author: Michael Chan Date: Thu Feb 12 16:53:48 2009 -0800 bnx2: Update 5709 firmware. New firmware fixes a data corruption issue when receiving and placing jumbo frames into host buffers. In some cases, the buffer descriptor is not updated correctly and this will lead to the driver linking the wrong number of pages into the SKB. Signed-off-by: Michael Chan Signed-off-by: David S. Miller commit 86f95f9eac4370ca7b9cf5d34dea24faae5e4be6 Author: Michael Chan Date: Thu Feb 12 16:53:22 2009 -0800 bnx2: Update 5706/5708 firmware. New firmware fixes a data corruption issue when receiving and placing jumbo frames into host buffers. In some cases, the buffer descriptor is not updated correctly and this will lead to the driver linking the wrong number of pages into the SKB. Signed-off-by: Michael Chan Signed-off-by: David S. Miller commit 501aa061bd68169a5b54c123641f8dfa9ad31545 Author: Roel Kluin Date: Thu Feb 12 16:52:31 2009 -0800 3c505: do not set pcb->data.raw beyond its size Ensure that we do not set pcb->data.raw beyond its size, print an error message and return false if we attempt to. A timout message was printed one too early. Signed-off-by: Roel Kluin Signed-off-by: David S. Miller commit f82da723398ff18d49275a5f03de6cae5f592e8e Author: Andrew Morton Date: Thu Feb 12 16:47:01 2009 -0800 Documentation/connector/cn_test.c: don't use gfp_any() cn_test_timer_func() is a timer handler and can never use GFP_KERNEL - there's no point in using gfp_any() here. Also, use setup_timer(). Signed-off-by: Andrew Morton Signed-off-by: David S. Miller commit 99709372736a216f99eb32b76fba835a2bfc93a8 Author: Andrew Morton Date: Thu Feb 12 16:43:17 2009 -0800 net: don't use in_atomic() in gfp_any() The problem is that in_atomic() will return false inside spinlocks if CONFIG_PREEMPT=n. This will lead to deadlockable GFP_KERNEL allocations from spinlocked regions. Secondly, if CONFIG_PREEMPT=y, this bug solves itself because networking will instead use GFP_ATOMIC from this callsite. Hence we won't get the might_sleep() debugging warnings which would have informed us of the buggy callsites. Solve both these problems by switching to in_interrupt(). Now, if someone runs a gfp_any() allocation from inside spinlock we will get the warning if CONFIG_PREEMPT=y. I reviewed all callsites and most of them were too complex for my little brain and none of them documented their interface requirements. I have no idea what this patch will do. Signed-off-by: Andrew Morton Signed-off-by: David S. Miller commit fb0886745a75ce98bde3aac421adc69fe61a1905 Author: Roel Kluin Date: Thu Feb 12 16:42:31 2009 -0800 IRDA: cnt is off by 1 If no prior break occurs, cnt reaches 101 after the loop, so we are still able to change speed when cnt has become 100. Signed-off-by: Roel Kluin Signed-off-by: David S. Miller commit acdb602fb3b7e13f3ffd2098549fab1bbfccba2f Author: Dhananjay Phadke Date: Thu Feb 12 16:41:14 2009 -0800 netxen: remove pcie workaround Remove workaround for pcie bug in early revisions of NX3031 (rev 41 or earlier). This is taken care of during firmware init. The workaround required writing pcie config reg of every pcie function on a card, not all of which are enabled. Signed-off-by: Dhananjay Phadke Signed-off-by: David S. Miller commit cff71e89a8bd1175962b603f88f333883726b851 Author: Roel Kluin Date: Thu Feb 12 16:40:20 2009 -0800 sun3: print when lance_open() fails With while (--i > 0) { ... } i reaches 0; print when lance_open() fails Signed-off-by: Roel Kluin Signed-off-by: David S. Miller commit 79d2b29e8ab2bd460b07ff783d679d6cd3032769 Author: Ron Mercer Date: Thu Feb 12 16:38:34 2009 -0800 qlge: bugfix: Add missing rx buf clean index on early exit. The large receive buffer queue is not properly tracking the current index in the case where an early exit occurs. This can happen when a page alloc or dma mapping fails. If this occurs the queue will get out of sync and invalid indexes can be written to the hardware. Signed-off-by: Ron Mercer Signed-off-by: David S. Miller commit def48b6e328c2ff9954c13e13ba8e1a03f0bde32 Author: Ron Mercer Date: Thu Feb 12 16:38:18 2009 -0800 qlge: bugfix: Fix RX scaling values. Receive packets were only scaling across 2 of the receive queues. The value was hardcoded to 2 instead of being based on how many rx queues were running. Signed-off-by: Ron Mercer Signed-off-by: David S. Miller commit 0d979f74a920bcc18eb451d363f02083a625294c Author: Ron Mercer Date: Thu Feb 12 16:38:03 2009 -0800 qlge: bugfix: Fix TSO breakage. Moved the buffer mapping to a point after TSO logic has modified the iph->check field. We were seeing stale data on the PCIe bus. Signed-off-by: Ron Mercer Signed-off-by: David S. Miller commit 06a3d510faf6fdec43daaf6f4d94fe24edf650cd Author: Ron Mercer Date: Thu Feb 12 16:37:48 2009 -0800 qlge: bugfix: Add missing dev_kfree_skb_any() call. We put the skb back if we can't get mapping for it. We don't want unmapped buffers on our receive buffer queue. Signed-off-by: Ron Mercer Signed-off-by: David S. Miller commit f2603c2c571978497019a50c4df84c185ffef356 Author: Ron Mercer Date: Thu Feb 12 16:37:32 2009 -0800 qlge: bugfix: Add missing put_page() call. We put the page back if we can't get mapping for it. We don't want unmapped buffers on our receive buffer queue. Signed-off-by: Ron Mercer Signed-off-by: David S. Miller commit 6497b607fb2d918e7588338761bfc6d53f49eeea Author: Ron Mercer Date: Thu Feb 12 16:37:13 2009 -0800 qlge: bugfix: Fix fatal error recovery hang. Signed-off-by: Ron Mercer Signed-off-by: David S. Miller commit 7a9deb661f5973b414df0c12b496d6ce49c8ed85 Author: Ron Mercer Date: Thu Feb 12 16:36:50 2009 -0800 qlge: bugfix: Use netif_receive_skb() and vlan_hwaccel_receive_skb(). Replace calls to vlan_hwaccel_rx() and netif_rx(). Thanks to Dave Miller for pointing out the the driver was making the wrong upcall for passing packets into the stack. Signed-off-by: Ron Mercer Signed-off-by: David S. Miller commit d4675b52a933831d4901217564cba5a434ddd922 Author: Roel Kluin Date: Thu Feb 12 16:33:27 2009 -0800 TG3: limit reaches -1 With while (limit--) { ... } limit reaches -1, so 0 means success. Signed-off-by: Roel Kluin Acked-by: Michael Chan Signed-off-by: David S. Miller commit 7ad9de6ac83bd825996d2de98c92e0f425c31050 Author: Thomas Gleixner Date: Thu Feb 12 21:16:09 2009 +0100 x86: CPA avoid repeated lazy mmu flush Impact: Flush the lazy MMU only once Pending mmu updates only need to be flushed once to bring the in-memory pagetable state up to date. Signed-off-by: Thomas Gleixner commit 34b0900d323122113683685b200aae9f9b75e63b Author: Thomas Gleixner Date: Thu Feb 12 21:30:48 2009 +0100 x86: warn if arch_flush_lazy_mmu_cpu is called in preemptible context Impact: Catch cases where lazy MMU state is active in a preemtible context arch_flush_lazy_mmu_cpu() has been changed to disable preemption so the checks in enter/leave will never trigger. Put the preemtible() check into arch_flush_lazy_mmu_cpu() to catch such cases. Signed-off-by: Thomas Gleixner commit d85cf93da66977dbc645352be1b2084a659d8a0b Author: Jeremy Fitzhardinge Date: Thu Feb 12 10:02:56 2009 -0800 x86/paravirt: make arch_flush_lazy_mmu/cpu disable preemption Impact: avoid access to percpu vars in preempible context They are intended to be used whenever there's the possibility that there's some stale state which is going to be overwritten with a queued update, or to force a state change when we may be in lazy mode. Either way, we could end up calling it with preemption enabled, so wrap the functions in their own little preempt-disable section so they can be safely called in any context (though preemption should never be enabled if we're actually in a lazy state). (Move out of line to avoid #include dependencies.) Signed-off-by: Jeremy Fitzhardinge Signed-off-by: Thomas Gleixner commit 2456242530a21cfee82646ebeeda65d3f74faa4c Author: Yan Zheng Date: Thu Feb 12 14:14:53 2009 -0500 Btrfs: hold trans_mutex when using btrfs_record_root_in_trans btrfs_record_root_in_trans needs the trans_mutex held to make sure two callers don't race to setup the root in a given transaction. This adds it to all the places that were missing it. Signed-off-by: Yan Zheng commit 4008c04a07c73ec3cb1be4c1391d2159a8f75d6d Author: Chris Mason Date: Thu Feb 12 14:09:45 2009 -0500 Btrfs: make a lockdep class for the extent buffer locks Btrfs is currently using spin_lock_nested with a nested value based on the tree depth of the block. But, this doesn't quite work because the max tree depth is bigger than what spin_lock_nested can deal with, and because locks are sometimes taken before the level field is filled in. The solution here is to use lockdep_set_class_and_name instead, and to set the class before unlocking the pages when the block is read from the disk and just after init of a freshly allocated tree block. btrfs_clear_path_blocking is also changed to take the locks in the proper order, and it also makes sure all the locks currently held are properly set to blocking before it tries to retake the spinlocks. Otherwise, lockdep gets upset about bad lock orderin. The lockdep magic cam from Peter Zijlstra Signed-off-by: Chris Mason commit 071a0bc2ceace31266836801510879407a3701fa Merge: 3a4c680 b1aabec Author: Linus Torvalds Date: Thu Feb 12 09:56:14 2009 -0800 Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/penberg/slab-2.6 * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/penberg/slab-2.6: mm: Export symbol ksize() commit 3a4c6800f31ea8395628af5e7e490270ee5d0585 Author: Nick Piggin Date: Thu Feb 12 04:34:23 2009 +0100 Fix page writeback thinko, causing Berkeley DB slowdown A bug was introduced into write_cache_pages cyclic writeout by commit 31a12666d8f0c22235297e1c1575f82061480029 ("mm: write_cache_pages cyclic fix"). The intention (and comments) is that we should cycle back and look for more dirty pages at the beginning of the file if there is no more work to be done. But the !done condition was dropped from the test. This means that any time the page writeout loop breaks (eg. due to nr_to_write == 0), we will set index to 0, then goto again. This will set done_index to index, then find done is set, so will proceed to the end of the function. When updating mapping->writeback_index for cyclic writeout, we now use done_index == 0, so we're always cycling back to 0. This seemed to be causing random mmap writes (slapadd and iozone) to start writing more pages from the LRU and writeout would slowdown, and caused bugzilla entry http://bugzilla.kernel.org/show_bug.cgi?id=12604 about Berkeley DB slowing down dramatically. With this patch, iozone random write performance is increased nearly 5x on my system (iozone -B -r 4k -s 64k -s 512m -s 1200m on ext2). Signed-off-by: Nick Piggin Reported-and-tested-by: Jan Kara Signed-off-by: Linus Torvalds commit b1aabecd55931ee754f6a913969516b26a0e682e Author: Kirill A. Shutemov Date: Tue Feb 10 15:21:44 2009 +0200 mm: Export symbol ksize() Commit 7b2cd92adc5430b0c1adeb120971852b4ea1ab08 ("crypto: api - Fix zeroing on free") added modular user of ksize(). Export that to fix crypto.ko compilation. Cc: Herbert Xu Signed-off-by: Kirill A. Shutemov Signed-off-by: Pekka Enberg commit 3f3420df505e47751ef76a652b5cb660e5360d6f Author: Julia Lawall Date: Thu Feb 12 10:16:03 2009 -0500 Btrfs: fs/btrfs/volumes.c: remove useless kzalloc The call to kzalloc is followed by a kmalloc whose result is stored in the same variable. The semantic match that finds the problem is as follows: (http://www.emn.fr/x-info/coccinelle/) // @r exists@ local idexpression x; statement S; expression E; identifier f,l; position p1,p2; expression *ptr != NULL; @@ ( if ((x@p1 = \(kmalloc\|kzalloc\|kcalloc\)(...)) == NULL) S | x@p1 = \(kmalloc\|kzalloc\|kcalloc\)(...); ... if (x == NULL) S ) <... when != x when != if (...) { <+...x...+> } x->f = E ...> ( return \(0\|<+...x...+>\|ptr\); | return@p2 ...; ) @script:python@ p1 << r.p1; p2 << r.p2; @@ print "* file: %s kmalloc %s return %s" % (p1[0].file,p1[0].line,p2[0].line) // Signed-off-by: Julia Lawall Signed-off-by: Chris Mason commit a48ddf08ba9bab91efd95e458737afa9d7699623 Author: Qinghuang Feng Date: Thu Feb 12 14:25:23 2009 -0500 Btrfs: remove unused code in split_state() These two lines are not used, remove them. Signed-off-by: Qinghuang Feng Signed-off-by: Chris Mason commit e00f7308658622fbd483cb0d9fe41165bf9050d0 Author: Jeff Mahoney Date: Thu Feb 12 14:11:25 2009 -0500 Btrfs: remove btrfs_init_path btrfs_init_path was initially used when the path objects were on the stack. Now all the work is done by btrfs_alloc_path and btrfs_init_path isn't required. This patch removes it, and just uses kmem_cache_zalloc to zero out the object. Signed-off-by: Chris Mason commit 7951f3cefbd711f4429a0cd014aa83a844c399a0 Author: Jeff Mahoney Date: Thu Feb 12 10:06:15 2009 -0500 Btrfs: balance_level checks !child after access The BUG_ON() is in the wrong spot. Signed-off-by: Jeff Mahoney Signed-off-by: Chris Mason commit b335b0034e252e79ec2e9c6697f5d663c4627bec Author: Yan Zheng Date: Thu Feb 12 10:06:04 2009 -0500 Btrfs: Avoid using __GFP_HIGHMEM with slab allocator btrfs_releasepage may call kmem_cache_alloc indirectly, and provide same GFP flags it gets to kmem_cache_alloc. So it's possible to use __GFP_HIGHMEM with the slab allocator. Signed-off-by: Yan Zheng commit e1df36d2f18254d0690a0fbe036cece74ec311b8 Author: Chris Mason Date: Thu Feb 12 09:45:08 2009 -0500 Btrfs: don't clean old snapshots on sync(1) Cleaning old snapshots can make sync(1) somewhat slow, and some users and applications still use it in a global fsync kind of workload. This patch changes btrfs not to clean old snapshots during sync, which is safe from a FS consistency point of view. The major downside is that it makes it difficult to tell when old snapshots have been reaped and the space they were using has been reclaimed. A new ioctl will be added for this purpose instead. Signed-off-by: Chris Mason commit 536ac8ae86e68bb5574d7cc81c7d229a86b82601 Author: Chris Mason Date: Thu Feb 12 09:41:38 2009 -0500 Btrfs: use larger metadata clusters in ssd mode Larger metadata clusters can significantly improve writeback performance on ssd drives with large erasure blocks. The larger clusters make it more likely a given IO will completely overwrite the ssd block, so it doesn't have to do an internal rwm cycle. On spinning media, lager metadata clusters end up spreading out the metadata more over time, which makes fsck slower, so we don't want this to be the default. Signed-off-by: Chris Mason commit b288052e1779261ae80138074989ef50358c4e58 Author: Chris Mason Date: Thu Feb 12 09:37:35 2009 -0500 Btrfs: process mount options on mount -o remount, Btrfs wasn't parsing any new mount options during remount, making it difficult to set mount options on a root drive. Signed-off-by: Chris Mason commit eb099670895f22970cd143875467c2768d6d87e5 Author: Josef Bacik Date: Thu Feb 12 09:27:38 2009 -0500 Btrfs: make sure all pending extent operations are complete Theres a slight problem with finish_current_insert, if we set all to 1 and then go through and don't actually skip any of the extents on the pending list, we could exit right after we've added new extents. This is a problem because by inserting the new extents we could have gotten new COW's to happen and such, so we may have some pending updates to do or even more inserts to do after that. So this patch will only exit if we have never skipped any of the extents in the pending list, and we have no extents to insert, this will make sure that all of the pending work is truly done before we return. I've been running with this patch for a few days with all of my other testing and have not seen issues. Thanks, Signed-off-by: Josef Bacik commit a0490fa35dc0022ef95f64802e8edf18c411c790 Author: Ingo Molnar Date: Thu Feb 12 11:35:40 2009 +0100 sched: cpu hotplug fix rq_attach_root() does a kfree() with the runqueue lock held. That's not a very wise move, fix it. Signed-off-by: Ingo Molnar commit 34aeb43e2d3800f4d8f96feb9f1b49cd506679d5 Author: Kuninori Morimoto Date: Tue Feb 10 09:04:00 2009 +0000 serial: sh-sci: fix overrun error handling for SH7785 SCIF. There was a typo for the overrun bit definition, causing it not to be handled correctly on SH7785, fix it up. Signed-off-by: Kuninori Morimoto Signed-off-by: Paul Mundt commit 270c5609e2540290d5d9b9f323b7b652cf0c5b75 Author: Tobias Klauser Date: Mon Feb 9 20:59:40 2009 +0000 sh: Storage class should be before const qualifier The C99 specification states in section 6.11.5: The placement of a storage-class specifier other than at the beginning of the declaration specifiers in a declaration is an obsolescent feature. Signed-off-by: Tobias Klauser Signed-off-by: Paul Mundt commit be03d9e8022030c16abf534e33e185bfc3d40eef Author: Suresh Siddha Date: Wed Feb 11 11:20:23 2009 -0800 x86, pat: fix warn_on_once() while mapping 0-1MB range with /dev/mem Jeff Mahoney reported: > With Suse's hwinfo tool, on -tip: > WARNING: at arch/x86/mm/pat.c:637 reserve_pfn_range+0x5b/0x26d() reserve_pfn_range() is not tracking the memory range below 1MB as non-RAM and as such is inconsistent with similar checks in reserve_memtype() and free_memtype() Rename the pagerange_is_ram() to pat_pagerange_is_ram() and add the "track legacy 1MB region as non RAM" condition. And also, fix reserve_pfn_range() to return -EINVAL, when the pfn range is RAM. This is to be consistent with this API design. Reported-and-tested-by: Jeff Mahoney Signed-off-by: Suresh Siddha Signed-off-by: Venkatesh Pallipadi Signed-off-by: Ingo Molnar commit 4f06b0436b2ddbd3b67b10e77098a6862787b3eb Author: Jeremy Fitzhardinge Date: Wed Feb 11 09:32:19 2009 -0800 x86/cpa: make sure cpa is safe to call in lazy mmu mode Impact: fix race leading to crash under KVM and Xen The CPA code may be called while we're in lazy mmu update mode - for example, when using DEBUG_PAGE_ALLOC and doing a slab allocation in an interrupt handler which interrupted a lazy mmu update. In this case, the in-memory pagetable state may be out of date due to pending queued updates. We need to flush any pending updates before inspecting the page table. Similarly, we must explicitly flush any modifications CPA may have made (which comes down to flushing queued operations when flushing the TLB). Signed-off-by: Jeremy Fitzhardinge Acked-by: Marcelo Tosatti Cc: Stable Kernel Signed-off-by: Ingo Molnar commit b578f3fcca1e78624dfb5f358776e63711d7fda2 Merge: 507e2fb ccc9c8b Author: Linus Torvalds Date: Wed Feb 11 16:28:08 2009 -0800 Merge git://git.infradead.org/users/cbou/battery-2.6.29 * git://git.infradead.org/users/cbou/battery-2.6.29: pcf50633_charger: Fix typo commit 1d93e52eb48df986a3c4d5ad8a520bf1f6837367 Author: Johannes Weiner Date: Wed Feb 11 08:47:19 2009 -0700 dmaengine: update kerneldoc Some of the kerneldoc comments in the dmaengine header describe already removed structure members. Remove them. Also add a short description for dma_device->device_is_tx_complete. Signed-off-by: Johannes Weiner Signed-off-by: Dan Williams commit 26a74f1f61c5bba1c0b46e67e91e921e941f76d7 Author: Takashi Iwai Date: Thu Feb 12 00:13:19 2009 +0100 ALSA: hda - Register (new) devices at reconfig The devices that have been newly added during reconfig must be registered. Otherwise they won't be visible to user-space. Signed-off-by: Takashi Iwai commit 32cf9a16f4af01573ddec1eb073111fc20a9d7d4 Author: Takashi Iwai Date: Thu Feb 12 00:06:42 2009 +0100 ALSA: mtpav - Fix initial value for input hwport Fix the initial value for input hwport. The old value (-1) may cause Oops when an realtime MIDI byte is received before the input port is explicitly given. Instead, now it's set to the broadcasting as default. Tested-by: Holger Dehnhardt Cc: Signed-off-by: Takashi Iwai commit 507e2fbaaacb6f164b4125b87c5002f95143174b Author: Ian Dall Date: Wed Feb 11 13:04:46 2009 -0800 w1: w1 temp calculation overflow fix Addresses http://bugzilla.kernel.org/show_bug.cgi?id=12646 When the temperature exceeds 32767 milli-degrees the temperature overflows to -32768 millidegrees. These are bothe well within the -55 - +125 degree range for the sensor. Fix overflow in left-shift of a u8. Signed-off-by: Ian Dall Signed-off-by: Evgeniy Polyakov Cc: Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 4d48a542b42747c36a5937447d9c3de7c897ea50 Author: Paul Clements Date: Wed Feb 11 13:04:45 2009 -0800 nbd: fix I/O hang on disconnected nbds Fix a problem that causes I/O to a disconnected (or partially initialized) nbd device to hang indefinitely. To reproduce: # ioctl NBD_SET_SIZE_BLOCKS /dev/nbd23 514048 # dd if=/dev/nbd23 of=/dev/null bs=4096 count=1 ...hangs... This can also occur when an nbd device loses its nbd-client/server connection. Although we clear the queue of any outstanding I/Os after the client/server connection fails, any additional I/Os that get queued later will hang. This bug may also be the problem reported in this bug report: http://bugzilla.kernel.org/show_bug.cgi?id=12277 Testing would need to be performed to determine if the two issues are the same. This problem was introduced by the new request handling thread code ("NBD: allow nbd to be used locally", 3/2008), which entered into mainline around 2.6.25. The fix, which is fairly simple, is to restore the check for lo->sock being NULL in do_nbd_request. This causes I/O to an uninitialized nbd to immediately fail with an I/O error, as it did prior to the introduction of this bug. Signed-off-by: Paul Clements Reported-by: Jon Nelson Acked-by: Pavel Machek Cc: [2.6.26.x, 2.6.27.x, 2.6.28.x] Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 9480c53e9b2aa13a06283ffb96bb8f1873ac4e9a Author: Jeremy Fitzhardinge Date: Wed Feb 11 13:04:41 2009 -0800 mm: rearrange exit_mmap() to unlock before arch_exit_mmap Christophe Saout reported [in precursor to: http://marc.info/?l=linux-kernel&m=123209902707347&w=4]: > Note that I also some a different issue with CONFIG_UNEVICTABLE_LRU. > Seems like Xen tears down current->mm early on process termination, so > that __get_user_pages in exit_mmap causes nasty messages when the > process had any mlocked pages. (in fact, it somehow manages to get into > the swapping code and produces a null pointer dereference trying to get > a swap token) Jeremy explained: Yes. In the normal case under Xen, an in-use pagetable is "pinned", meaning that it is RO to the kernel, and all updates must go via hypercall (or writes are trapped and emulated, which is much the same thing). An unpinned pagetable is not currently in use by any process, and can be directly accessed as normal RW pages. As an optimisation at process exit time, we unpin the pagetable as early as possible (switching the process to init_mm), so that all the normal pagetable teardown can happen with direct memory accesses. This happens in exit_mmap() -> arch_exit_mmap(). The munlocking happens a few lines below. The obvious thing to do would be to move arch_exit_mmap() to below the munlock code, but I think we'd want to call it even if mm->mmap is NULL, just to be on the safe side. Thus, this patch: exit_mmap() needs to unlock any locked vmas before calling arch_exit_mmap, as the latter may switch the current mm to init_mm, which would cause the former to fail. Signed-off-by: Jeremy Fitzhardinge Signed-off-by: Lee Schermerhorn Cc: Christophe Saout Cc: Keir Fraser Cc: Christophe Saout Cc: Alex Williamson Cc: [2.6.28.x] Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 3abdbf90a3ffb006108c831c56b092e35483b6ec Author: Jiri Slaby Date: Wed Feb 11 13:04:40 2009 -0800 parport: parport_serial, don't bind netmos ibm 0299 Since netmos 9835 with subids 0x1014(IBM):0x0299 is now bound with serial/8250_pci, because it has no parallel ports and subdevice id isn't in the expected form, return -ENODEV from probe function. This is performed in netmos preinit_hook. Signed-off-by: Jiri Slaby Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 89e1219004b3657cc014521663eeef0744f1c99d Author: Federico Cuello Date: Wed Feb 11 13:04:39 2009 -0800 writeback: fix break condition Commit dcf6a79dda5cc2a2bec183e50d829030c0972aaa ("write-back: fix nr_to_write counter") fixed nr_to_write counter, but didn't set the break condition properly. If nr_to_write == 0 after being decremented it will loop one more time before setting done = 1 and breaking the loop. [akpm@linux-foundation.org: coding-style fixes] Cc: Artem Bityutskiy Acked-by: Nick Piggin Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 6c5979631b4b03c9288776562c18036765e398c1 Author: Heiko Carstens Date: Wed Feb 11 13:04:38 2009 -0800 syscall define: fix uml compile bug With the new system call defines we get this on uml: arch/um/sys-i386/built-in.o: In function `sys_call_table': (.rodata+0x308): undefined reference to `sys_sigprocmask' Reason for this is that uml passes the preprocessor option -Dsigprocmask=kernel_sigprocmask to gcc when compiling the kernel. This causes SYSCALL_DEFINE3(sigprocmask, ...) to be expanded to SYSCALL_DEFINEx(3, kernel_sigprocmask, ...) and finally to a system call named sys_kernel_sigprocmask. However sys_sigprocmask is missing because of this. To avoid macro expansion for the system call name just concatenate the name at first define instead of carrying it through severel levels. This was pointed out by Al Viro. Signed-off-by: Heiko Carstens Cc: Geert Uytterhoeven Cc: Al Viro Reviewed-by: WANG Cong Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 0e4a9b59282914fe057ab17027f55123964bc2e2 Author: Carsten Otte Date: Wed Feb 11 13:04:37 2009 -0800 ext2/xip: refuse to change xip flag during remount with busy inodes For a reason that I was unable to understand in three months of debugging, mount ext2 -o remount stopped working properly when remounting from regular operation to xip, or the other way around. According to a git bisect search, the problem was introduced with the VM_MIXEDMAP/PTE_SPECIAL rework in the vm: commit 70688e4dd1647f0ceb502bbd5964fa344c5eb411 Author: Nick Piggin Date: Mon Apr 28 02:13:02 2008 -0700 xip: support non-struct page backed memory In the failing scenario, the filesystem is mounted read only via root= kernel parameter on s390x. During remount (in rc.sysinit), the inodes of the bash binary and its libraries are busy and cannot be invalidated (the bash which is running rc.sysinit resides on subject filesystem). Afterwards, another bash process (running ifup-eth) recurses into a subshell, runs dup_mm (via fork). Some of the mappings in this bash process were created from inodes that could not be invalidated during remount. Both parent and child process crash some time later due to inconsistencies in their address spaces. The issue seems to be timing sensitive, various attempts to recreate it have failed. This patch refuses to change the xip flag during remount in case some inodes cannot be invalidated. This patch keeps users from running into that issue. [akpm@linux-foundation.org: cleanup] Signed-off-by: Carsten Otte Cc: Nick Piggin Cc: Jared Hulbert Cc: Martin Schwidefsky Cc: Heiko Carstens Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit cfebe563bd0a3ff97e1bc167123120d59c7a84db Author: Li Zefan Date: Wed Feb 11 13:04:36 2009 -0800 cgroups: fix lockdep subclasses overflow I enabled all cgroup subsystems when compiling kernel, and then: # mount -t cgroup -o net_cls xxx /mnt # mkdir /mnt/0 This showed up immediately: BUG: MAX_LOCKDEP_SUBCLASSES too low! turning off the locking correctness validator. It's caused by the cgroup hierarchy lock: for (i = 0; i < CGROUP_SUBSYS_COUNT; i++) { struct cgroup_subsys *ss = subsys[i]; if (ss->root == root) mutex_lock_nested(&ss->hierarchy_mutex, i); } Now we have 9 cgroup subsystems, and the above 'i' for net_cls is 8, but MAX_LOCKDEP_SUBCLASSES is 8. This patch uses different lockdep keys for different subsystems. Signed-off-by: Li Zefan Acked-by: Paul Menage Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 01c4a4283137d24c9cc3785f1f312e895a18f273 Author: KOSAKI Motohiro Date: Wed Feb 11 13:04:35 2009 -0800 cgroups: add Li Zefan as a maintainer Add Li Zefan as co-maintainer. Acked-by: Paul Menage Acked-by: Li Zefan Signed-off-by: KOSAKI Motohiro Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit c318c7ac49f9139f55da619bbace6137e1509390 Author: Roel Kluin Date: Wed Feb 11 13:04:34 2009 -0800 rtc: t reaches -1, tested 0 With a postfix decrement t will reach -1 rather than 0, so neither the warning nor the `goto error_out' will occur. Signed-off-by: Roel Kluin Acked-by: Manuel Lauss Acked-by: Alessandro Zummo Cc: David Brownell Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit b4870bc5ee8c7a37541a3eb1208b5c76c13a078a Author: Randy Dunlap Date: Wed Feb 11 13:04:33 2009 -0800 kernel-doc: fix syscall wrapper processing Fix kernel-doc processing of SYSCALL wrappers. The SYSCALL wrapper patches played havoc with kernel-doc for syscalls. Syscalls that were scanned for DocBook processing reported warnings like this one, for sys_tgkill: Warning(kernel/signal.c:2285): No description found for parameter 'tgkill' Warning(kernel/signal.c:2285): No description found for parameter 'pid_t' Warning(kernel/signal.c:2285): No description found for parameter 'int' because the macro parameters all "look like" function parameters, although they are not: /** * sys_tgkill - send signal to one specific thread * @tgid: the thread group ID of the thread * @pid: the PID of the thread * @sig: signal to be sent * * This syscall also checks the @tgid and returns -ESRCH even if the PID * exists but it's not belonging to the target process anymore. This * method solves the problem of threads exiting and PIDs getting reused. */ SYSCALL_DEFINE3(tgkill, pid_t, tgid, pid_t, pid, int, sig) { ... This patch special-cases the handling SYSCALL_DEFINE* function prototypes by expanding them to long sys_foobar(type1 arg1, type1 arg2, ...) Signed-off-by: Randy Dunlap Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit f40b45a2e45b0f02aeedfcfbb28d8e2d4b8b86b1 Author: Randy Dunlap Date: Wed Feb 11 13:04:31 2009 -0800 kernel-doc: preferred ending marker and examples Fix kernel-doc-nano-HOWTO.txt to use */ as the ending marker in kernel-doc examples and state that */ is the preferred ending marker. Signed-off-by: Randy Dunlap Reported-by: Robert Love Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 2e9c23724328ae4e56c42a35a717a956d7d3001d Author: KAMEZAWA Hiroyuki Date: Wed Feb 11 13:04:29 2009 -0800 memcg: use __GFP_NOWARN in page cgroup allocation page_cgroup's page allocation at init/memory hotplug uses kmalloc() and vmalloc(). If kmalloc() failes, vmalloc() is used. This is because vmalloc() is very limited resource on 32bit systems. We want to use kmalloc() first. But in this kind of call, __GFP_NOWARN should be specified. Reported-by: Heiko Carstens Signed-off-by: KAMEZAWA Hiroyuki Acked-by: Balbir Singh Acked-by: Pekka Enberg Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit d4097456cd1d9285e876fc5d08a789462804cc28 Author: Uwe Kleine-Koenig Date: Wed Feb 11 13:04:28 2009 -0800 video/framebuffer: move the probe func into .devinit.text in Blackfin LCD driver Signed-off-by: Uwe Kleine-Koenig Signed-off-by: Mike Frysinger Signed-off-by: Bryan Wu Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 7dcce1334fa5879dc12bee001962e8f74bce60f1 Author: Marcel Selhorst Date: Wed Feb 11 13:04:27 2009 -0800 tpm: correct email address for tpm_infineon-driver Update my email address. Signed-off-by: Marcel Selhorst Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 508b9f8efdad123b202b228f71f59feba51e4fb5 Author: MinChan Kim Date: Wed Feb 11 13:04:27 2009 -0800 mm: fix mlocked page counter mismatch When I tested following program, I found that the mlocked counter is strange. It cannot free some mlocked pages. It is because try_to_unmap_file() doesn't check real page mappings in vmas. That is because the goal of an address_space for a file is to find all processes into which the file's specific interval is mapped. It is related to the file's interval, not to pages. Even if the page isn't really mapped by the vma, it returns SWAP_MLOCK since the vma has VM_LOCKED, then calls try_to_mlock_page. After this the mlocked counter is increased again. COWed anon page in a file-backed vma could be a such case. This patch resolves it. -- my test program -- int main() { mlockall(MCL_CURRENT); return 0; } -- before -- root@barrios-target-linux:~# cat /proc/meminfo | egrep 'Mlo|Unev' Unevictable: 0 kB Mlocked: 0 kB -- after -- root@barrios-target-linux:~# cat /proc/meminfo | egrep 'Mlo|Unev' Unevictable: 8 kB Mlocked: 8 kB Signed-off-by: MinChan Kim Acked-by: Lee Schermerhorn Acked-by: KOSAKI Motohiro Tested-by: Lee Schermerhorn Cc: Hugh Dickins Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 02ac597c9b86af49b2016aa98aee20ab59dbf0d2 Author: Jan Kara Date: Wed Feb 11 13:04:26 2009 -0800 ext3: revert "ext3: wait on all pending commits in ext3_sync_fs" This reverts commit c87591b719737b4e91eb1a9fa8fd55a4ff1886d6. Since journal_start_commit() is now fixed to return 1 when we started a transaction commit, there's some transaction waiting to be committed or there's a transaction already committing, we don't need to call ext3_force_commit() in ext3_sync_fs(). Furthermore ext3_force_commit() can unnecessarily create sync transaction which is expensive so it's worthwhile to remove it when we can. Cc: Eric Sandeen Cc: Signed-off-by: Jan Kara Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 8fe4cd0dc5ea43760c59eb256404188272cc95dd Author: Jan Kara Date: Wed Feb 11 13:04:25 2009 -0800 jbd: fix return value of journal_start_commit() journal_start_commit() returns 1 if either a transaction is committing or the function has queued a transaction commit. But it returns 0 if we raced with somebody queueing the transaction commit as well. This resulted in ext3_sync_fs() not functioning correctly (description from Arthur Jones): In the case of a data=ordered umount with pending long symlinks which are delayed due to a long list of other I/O on the backing block device, this causes the buffer associated with the long symlinks to not be moved to the inode dirty list in the second phase of fsync_super. Then, before they can be dirtied again, kjournald exits, seeing the UMOUNT flag and the dirty pages are never written to the backing block device, causing long symlink corruption and exposing new or previously freed block data to userspace. This can be reproduced with a script created by Eric Sandeen : #!/bin/bash umount /mnt/test2 mount /dev/sdb4 /mnt/test2 rm -f /mnt/test2/* dd if=/dev/zero of=/mnt/test2/bigfile bs=1M count=512 touch /mnt/test2/thisisveryveryveryveryveryveryveryveryveryveryveryveryveryveryveryverylongfilename ln -s /mnt/test2/thisisveryveryveryveryveryveryveryveryveryveryveryveryveryveryveryverylongfilename /mnt/test2/link umount /mnt/test2 mount /dev/sdb4 /mnt/test2 ls /mnt/test2/ This patch fixes journal_start_commit() to always return 1 when there's a transaction committing or queued for commit. Cc: Eric Sandeen Cc: Mike Snitzer Cc: Signed-off-by: Jan Kara Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit fc3501d411d34823fb9be248a95a0c44f945866f Author: Sven Wegener Date: Wed Feb 11 13:04:23 2009 -0800 mm: fix dirty_bytes/dirty_background_bytes sysctls on 64bit arches We need to pass an unsigned long as the minimum, because it gets casted to an unsigned long in the sysctl handler. If we pass an int, we'll access four more bytes on 64bit arches, resulting in a random minimum value. [rientjes@google.com: fix type of `old_bytes'] Signed-off-by: Sven Wegener Cc: Peter Zijlstra Cc: Dave Chinner Cc: Christoph Lameter Cc: David Rientjes Signed-off-by: David Rientjes Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 35887b1cf74dc751dd0574b26515142d3cea9376 Author: Andres Salomon Date: Wed Feb 11 13:04:23 2009 -0800 gx1fb: properly alloc cmap and plug cmap leak We weren't properly allocating the cmap for depths greater than 8bpp, which caused pain for things like DirectFB. Also, we never freed the cmap memory upon module unload.. Signed-off-by: Andres Salomon Cc: Marco La Porta Cc: Jordan Crouse Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit b14caecdbe7730bf82c8510f1ba52e00273e15c4 Author: Andres Salomon Date: Wed Feb 11 13:04:22 2009 -0800 gxfb: properly alloc cmap and plug cmap leak We weren't properly allocating the cmap for depths greater than 8bpp, which caused pain for things like DirectFB. Also, we never freed the cmap memory upon module unload.. Signed-off-by: Andres Salomon Cc: Marco La Porta Cc: Jordan Crouse Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 067f1293cc5916f8d88b602beeb8787d58515608 Author: Marco La Porta Date: Wed Feb 11 13:04:20 2009 -0800 lxfb: properly alloc cmap in all cases and don't leak the memory We weren't properly allocating the cmap for depths greater than 8bpp, which caused pain for things like DirectFB. Also, we never freed the cmap memory upon module unload.. [dilinger@debian.org: dropped unnecessary code and clean up patch] [dilinger@debian.org: add error checking and handling] Signed-off-by: Andres Salomon Cc: Jordan Crouse Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 57f63bc8fe79e6598e7253f10f53f58c9fdc57be Author: Robert Jarzmik Date: Wed Feb 11 13:04:19 2009 -0800 rtc: update maintainership of pxa rtc driver Signed-off-by: Robert Jarzmik Signed-off-by: Alessandro Zummo Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 1001c9fb8721ab395e21f571ed2aaa523cdd1e29 Author: Daisuke Nishimura Date: Wed Feb 11 13:04:18 2009 -0800 migration: migrate_vmas should check "vma" migrate_vmas() should check "vma" not "vma->vm_next" for for-loop condition. Signed-off-by: Daisuke Nishimura Cc: Christoph Lameter Cc: Johannes Weiner Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 17c9d12e126cb0de8d535dc1908c4819d712bc68 Author: Mel Gorman Date: Wed Feb 11 16:34:16 2009 +0000 Do not account for hugetlbfs quota at mmap() time if mapping [SHM|MAP]_NORESERVE Commit 5a6fe125950676015f5108fb71b2a67441755003 brought hugetlbfs more in line with the core VM by obeying VM_NORESERVE and not reserving hugepages for both shared and private mappings when [SHM|MAP]_NORESERVE are specified. However, it is still taking filesystem quota unconditionally. At fault time, if there are no reserves and attempt is made to allocate the page and account for filesystem quota. If either fail, the fault fails. The impact is that quota is getting accounted for twice. This patch partially reverts 5a6fe125950676015f5108fb71b2a67441755003. To help prevent this mistake happening again, it improves the documentation of hugetlb_reserve_pages() Reported-by: Andy Whitcroft Signed-off-by: Mel Gorman Acked-by: Andy Whitcroft Signed-off-by: Linus Torvalds commit 2fff78c784ed97a8e5aa225ef5228f0a6d862d82 Author: Peter Zijlstra Date: Wed Feb 11 18:10:10 2009 +0100 futex: fix reference leak Catalin noticed that (38d47c1b7075: futex: rely on get_user_pages() for shared futexes) caused an mm_struct leak. Some tracing with the function graph tracer quickly pointed out that futex_wait() has exit paths with unbalanced reference counts. This regression was discovered by kmemleak. Reported-by: Catalin Marinas Signed-off-by: Peter Zijlstra Tested-by: "Pallipadi, Venkatesh" Tested-by: Catalin Marinas Signed-off-by: Ingo Molnar commit 89c581b3fb2986e303f1299e6458e3e9b115fa3f Author: Reinette Chatre Date: Tue Feb 10 12:02:49 2009 -0800 iwlwifi: fix suspend/resume and its usage of pci saved state Here we do two things: First, revert "iwlwifi: save PCI state before suspend, restore after resume". That misguided patch led to being unable to use iwlwifi devices after resume. Next, indicate to PCI driver that the saved PCI state is valid during suspend. We restore PCI state and enable the device when network interface is created, similarly PCI state is saved and the device is disabled when network interface is removed. Thus, when .suspend is called the PCI state is saved and device is disabled. This is the case even if an interface is never created as PCI state is saved and device disabled during .probe. PCI driver assumes PCI state is saved in .suspend. Saving the state at this time will save state of disabled device and thus cause problems during resume (resuming a disabled device). We thus indicate directly to PCI driver that current PCI saved state is valid. Signed-off-by: Reinette Chatre Tested-by: Alex Riesen Signed-off-by: John W. Linville commit efb43f4b2ccf8066abc3920a0e6858e4350a65c7 Author: Hin-Tak Leung Date: Wed Feb 4 23:40:43 2009 +0000 zd1211rw: treat MAXIM_NEW_RF(0x08) as UW2453_RF(0x09) for TP-Link WN322/422G Three people (Petr Mensik ["si" should be U+0161 U+00ED], Stephen Ho on zd1211-devs and Ismael Ojeda Perez on linux-wireless) reported success in getting TP-Link WN322G/WN422G working by treating MAXIM_NEW_RF(0x08) as UW2453_RF(0x09) for rf chip hardware initialization. Signed-off-by: Hin-Tak Leung Tested-by: Petr Mensik Tested-by: Stephen Ho Tested-by: Ismael Ojeda Perez Signed-off-by: John W. Linville commit 14990c69b5f51dd57b4e0e2373de50239ac861e2 Author: Hin-Tak Leung Date: Sun Feb 8 02:13:56 2009 +0000 zd1211rw: adding 0ace:0xa211 as a ZD1211 device Christoph Biedl reported success in the sourceforge zd1211 mailing list on this addition. This product ID was supported by the vendor driver ZD1211LnxDrv 2.22.0.0 (and possibly earlier) and it probably should have been added earlier. Signed-off-by: Hin-Tak Leung Tested-by: Christoph Biedl Signed-off-by: John W. Linville commit f1b33cb1c25ac476cbf22783f9ca2016f99648ed Author: Johannes Berg Date: Fri Feb 6 00:27:32 2009 +0100 mac80211: restrict to AP in outgoing interface heuristic We try to find the correct outgoing interface for injected frames based on the TA, but since this is a hack for hostapd 11w, restrict the heuristic to AP mode interfaces. At some point we'll add the ability to give an interface index in radiotap or so and just remove this heuristic again. Signed-off-by: Johannes Berg Cc: stable@kernel.org [2.6.28.x] Signed-off-by: John W. Linville commit fcf6b1bca8cdfefc986909b57277af4628955bd8 Author: Bob Copeland Date: Sat Jan 10 14:42:54 2009 -0500 ath5k: fix bf->skb==NULL panic in ath5k_tasklet_rx Under memory pressure, we may not be able to allocate a new skb for new packets. If the allocation fails, ath5k_tasklet_rx will exit but will leave a buffer in the list with a NULL skb, eventually triggering a BUG_ON. Extract the skb allocation from ath5k_rxbuf_setup() and change the tasklet to allocate the next skb before accepting a packet. Changes-licensed-under: 3-Clause-BSD Signed-off-by: Bob Copeland Signed-off-by: John W. Linville commit 6c6f1f0f4db31a192916eaa31ec2f114fda7d5e5 Merge: 94dba89 fc631c8 Author: Linus Torvalds Date: Wed Feb 11 08:25:06 2009 -0800 Merge branch 'sched-fixes-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip * 'sched-fixes-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip: sched: revert recent sync wakeup changes commit 94dba895333a4321f27360e42b807260ae36bda4 Merge: 9ce04f9 4da94d49 Author: Linus Torvalds Date: Wed Feb 11 08:24:32 2009 -0800 Merge branch 'timers-fixes-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip * 'timers-fixes-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip: timers: fix TIMER_ABSTIME for process wide cpu timers timers: split process wide cpu clocks/timers, fix x86: clean up hpet timer reinit timers: split process wide cpu clocks/timers, remove spurious warning timers: split process wide cpu clocks/timers signal: re-add dead task accumulation stats. x86: fix hpet timer reinit for x86_64 sched: fix nohz load balancer on cpu offline commit 9ce04f9238cafcfd09a502f2bc8c13b5f44ec590 Merge: b3f2caa 06eb23b Author: Linus Torvalds Date: Wed Feb 11 08:23:22 2009 -0800 Merge branch 'x86-fixes-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip * 'x86-fixes-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip: ptrace, x86: fix the usage of ptrace_fork() i8327: fix outb() parameter order x86: fix math_emu register frame access x86: math_emu info cleanup x86: include correct %gs in a.out core dump x86, vmi: put a missing paravirt_release_pmd in pgd_dtor x86: find nr_irqs_gsi with mp_ioapic_routing x86: add clflush before monitor for Intel 7400 series x86: disable intel_iommu support by default x86: don't apply __supported_pte_mask to non-present ptes x86: fix grammar in user-visible BIOS warning x86/Kconfig.cpu: make Kconfig help readable in the console x86, 64-bit: print DMI info in the oops trace commit b3f2caaaa82440af06b39c2c92e4fa8122d75465 Merge: 93431dd f47a454 Author: Linus Torvalds Date: Wed Feb 11 08:22:26 2009 -0800 Merge branch 'tracing-fixes-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip * 'tracing-fixes-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip: tracing, x86: fix constraint for parent variable tracing, x86: fix fixup section to return to original code profiling: fix broken profiling regression commit 93431dd7afa908292753acccb68785efaa366f5b Merge: da8dbb8 95ec807 Author: Linus Torvalds Date: Wed Feb 11 08:21:29 2009 -0800 Merge branch 'for-linus' of git://git390.marist.edu/pub/scm/linux-2.6 * 'for-linus' of git://git390.marist.edu/pub/scm/linux-2.6: [S390] Update default configuration. [S390] dasd: fix race in dasd timer handling [S390] dasd: bus_id -> dev_name() conversion. [S390] Fix init irq proc build break. [S390] vdso: fix per cpu vdso pointer in lowcore commit da8dbb88db2af1e963090bd549a9a7dccffe991c Merge: 1385a7a f99fb8a Author: Linus Torvalds Date: Wed Feb 11 08:21:11 2009 -0800 Merge branch 'merge' of git://git.kernel.org/pub/scm/linux/kernel/git/benh/powerpc * 'merge' of git://git.kernel.org/pub/scm/linux/kernel/git/benh/powerpc: powerpc/mm: Fix _PAGE_COHERENT support on classic ppc32 HW commit 9f339e7028e2855717af3193c938f9960ad13b38 Author: Markus Metzger Date: Wed Feb 11 15:10:27 2009 +0100 x86, ptrace, mm: fix double-free on race Ptrace_detach() races with __ptrace_unlink() if the traced task is reaped while detaching. This might cause a double-free of the BTS buffer. Change the ptrace_detach() path to only do the memory accounting in ptrace_bts_detach() and leave the buffer free to ptrace_bts_untrace() which will be called from __ptrace_unlink(). The fix follows a proposal from Oleg Nesterov. Reported-by: Oleg Nesterov Signed-off-by: Markus Metzger Signed-off-by: Ingo Molnar commit fc631c82e1734d718ff0832558f64c8f5d185f26 Author: Peter Zijlstra Date: Wed Feb 11 14:27:17 2009 +0100 sched: revert recent sync wakeup changes Intel reported a 10% regression (mysql+sysbench) on a 16-way machine with these patches: 1596e29: sched: symmetric sync vs avg_overlap d942fb6: sched: fix sync wakeups Revert them. Reported-by: "Zhang, Yanmin" Bisected-by: Lin Ming Signed-off-by: Peter Zijlstra Signed-off-by: Ingo Molnar commit 4da94d49b2ecb0a26e716a8811c3ecc542c2a65d Author: Peter Zijlstra Date: Wed Feb 11 11:30:27 2009 +0100 timers: fix TIMER_ABSTIME for process wide cpu timers The POSIX timer interface allows for absolute time expiry values through the TIMER_ABSTIME flag, therefore we have to synchronize the timer to the clock every time we start it. Signed-off-by: Peter Zijlstra Signed-off-by: Ingo Molnar commit 3fccfd67df79c6351a156eb25a7a514e5f39c4d9 Author: Peter Zijlstra Date: Tue Feb 10 16:37:31 2009 +0100 timers: split process wide cpu clocks/timers, fix To decrease the chance of a missed enable, always enable the timer when we sample it, we'll always disable it when we find that there are no active timers in the jiffy tick. This fixes a flood of warnings reported by Mike Galbraith. Reported-by: Mike Galbraith Signed-off-by: Peter Zijlstra Signed-off-by: Ingo Molnar commit 95ec807e0a42188ec1ce29cf939816ad1e22f2d3 Author: Martin Schwidefsky Date: Wed Feb 11 10:37:32 2009 +0100 [S390] Update default configuration. Signed-off-by: Martin Schwidefsky commit 48cae885d5a896030588978f503c73c5ed5e62b1 Author: Stefan Weinhuber Date: Wed Feb 11 10:37:31 2009 +0100 [S390] dasd: fix race in dasd timer handling In dasd_device_set_timer and dasd_block_set_timer we interpret the return value of mod_timer in a wrong way. If the timer expires in the small window between our check of timer_pending and the call to mod_timer, then the timer will be set, mod_timer returns zero and we will call add_timer for a timer that is already pending. As del_timer and mod_timer do all the necessary checking themselves, we can simplify our code and remove the race a the same time. Signed-off-by: Stefan Weinhuber Signed-off-by: Martin Schwidefsky commit ca0b4b7d2cb57a2e24d7e48ce9b411b9baa3bf63 Author: Cornelia Huck Date: Wed Feb 11 10:37:30 2009 +0100 [S390] dasd: bus_id -> dev_name() conversion. bus_id usage crept in again; fix it. Signed-off-by: Cornelia Huck Signed-off-by: Heiko Carstens commit 0addff81513a71b279a5eca5bf7cba2052c8b737 Author: Sachin Sant Date: Wed Feb 11 10:37:29 2009 +0100 [S390] Fix init irq proc build break. Embed init_irq_proc(s390) within CONFIG_PROC_FS to fix a build break. Signed-off-by : Sachin Sant commit d5e842c4b79cc8e454c4fbbc1ce6a43d43184367 Author: Martin Schwidefsky Date: Wed Feb 11 10:37:28 2009 +0100 [S390] vdso: fix per cpu vdso pointer in lowcore The vdso_per_cpu_data entry in the lowcore structure uses __u32 instead of __u64. If the data page is above 4GB the pointer is truncated and the kernel crashes. Reported-by: Mijo Safradin Signed-off-by: Martin Schwidefsky commit 06eb23b1ba39c61ee5d5faeb42a097635693e370 Author: Oleg Nesterov Date: Mon Feb 9 02:02:33 2009 +0100 ptrace, x86: fix the usage of ptrace_fork() I noticed by pure accident we have ptrace_fork() and friends. This was added by "x86, bts: add fork and exit handling", commit bf53de907dfdaac178c92d774aae7370d7b97d20. I can't test this, ds_request_bts() returns -EOPNOTSUPP, but I strongly believe this needs the fix. I think something like this program int main(void) { int pid = fork(); if (!pid) { ptrace(PTRACE_TRACEME, 0, NULL, NULL); kill(getpid(), SIGSTOP); fork(); } else { struct ptrace_bts_config bts = { .flags = PTRACE_BTS_O_ALLOC, .size = 4 * 4096, }; wait(NULL); ptrace(PTRACE_SETOPTIONS, pid, NULL, PTRACE_O_TRACEFORK); ptrace(PTRACE_BTS_CONFIG, pid, &bts, sizeof(bts)); ptrace(PTRACE_CONT, pid, NULL, NULL); sleep(1); } return 0; } should crash the kernel. If the task is traced by its natural parent ptrace_reparented() returns 0 but we should clear ->btsxxx anyway. Signed-off-by: Oleg Nesterov Acked-by: Markus Metzger Signed-off-by: Ingo Molnar commit f47a454db9129d2e61b224a40f4365cdd4f83042 Author: Steven Rostedt Date: Tue Feb 10 11:53:23 2009 -0500 tracing, x86: fix constraint for parent variable The constraint used for retrieving and restoring the parent function pointer is incorrect. The parent variable is a pointer, and the address of the pointer is modified by the asm statement and not the pointer itself. It is incorrect to pass it in as an output constraint since the asm will never update the pointer. Signed-off-by: Steven Rostedt Signed-off-by: Ingo Molnar commit 1b0e235cc9bfae4bc0f5cd0cba929206fb0f6a64 Author: David S. Miller Date: Wed Feb 11 00:54:07 2009 -0800 sparc64: Fix crashes in jbusmc_print_dimm() Return was missing for the case where there is no dimm info match. Signed-off-by: David S. Miller commit 7d6d49b1f5551b87bd59c66c10747b89367760fd Merge: acd8957 e3944bf Author: Ingo Molnar Date: Wed Feb 11 09:49:01 2009 +0100 Merge branch 'tip/tracing/urgent' of git://git.kernel.org/pub/scm/linux/kernel/git/rostedt/linux-2.6-trace into tracing/urgent commit a57c0eb65576c810c408f0a086afac179242a21c Author: Wu Fengguang Date: Wed Feb 11 15:22:31 2009 +0800 ALSA: hda - add id for Intel IbexPeak integrated HDMI codec Signed-off-by: Wu Fengguang Signed-off-by: Takashi Iwai commit 9a957a24e3b4008d84e204cdf25849ae4d5592a2 Author: Wu Fengguang Date: Wed Feb 11 15:22:30 2009 +0800 ALSA: hda - compute checksum in HDMI audio infoframe Signed-off-by: Wu Fengguang Signed-off-by: Takashi Iwai commit 606c0cee695bbd0c2bf32132999e35cff5a6dd9e Author: Wu Fengguang Date: Wed Feb 11 15:22:29 2009 +0800 ALSA: hda - enable HDMI audio pin out at module loading time We found that enabling/disabling HDMI audio pin out at stream start/stop time will kill the leading 500ms or so sound samples. Avoid this by enabling pin out once and for ever at module loading time. The leading ~500ms audio samples will still be lost when switching from X-channel playback to Y-channel playback where X != Y. However there's no much we can do about it: the audio infoframe has to change and it looks like either G45 or YAMAHA requires some time to switch the configuration. Signed-off-by: Wu Fengguang Signed-off-by: Takashi Iwai commit a1667e4eea0a7085815d1532d7630bb4611271d0 Author: Wu Fengguang Date: Wed Feb 11 15:22:28 2009 +0800 ALSA: hda - allow multi-channel HDMI audio playback when ELD is not present The YAMAHA AV-X1800 requires audio infoframe to include speaker-channel mapping to play >2 channel HDMI audio. In theory that mapping should be derived from its speaker configurations contained in its ELD. However we currently cannot get ELD in console before the KMS functionalities are ready. This is a more or less general issue at least in the near future. As a workaround, we propose to allow playback of mult-channel audio when ELD is not available. Signed-off-by: Wu Fengguang Signed-off-by: Takashi Iwai commit f99fb8a2cbf0fd9ce9b2d5d298943d0d4dc479f7 Author: Kumar Gala Date: Tue Feb 10 10:57:46 2009 +0000 powerpc/mm: Fix _PAGE_COHERENT support on classic ppc32 HW The following commit: commit 64b3d0e8122b422e879b23d42f9e0e8efbbf9744 Author: Benjamin Herrenschmidt Date: Thu Dec 18 19:13:51 2008 +0000 powerpc/mm: Rework usage of _PAGE_COHERENT/NO_CACHE/GUARDED broke setting of the _PAGE_COHERENT bit in the PPC HW PTE. Since we now actually set _PAGE_COHERENT in the Linux PTE we shouldn't be clearing it out before we propogate it to the PPC HW PTE. Reported-by: Martyn Welch Signed-off-by: Kumar Gala Signed-off-by: Benjamin Herrenschmidt commit 7b7a799d664a46eec6cb7de200c90f40730497a7 Author: Meelis Roos Date: Tue Feb 10 17:29:42 2009 -0800 sunhme: Fix Quattro HME irq registration on proble failures Currently, the sunhme driver installs SBus Quattro interrupt handler when at least one HME card was initialized correctly and at least one Quattro card is present. This breaks when a Quattro card fails initialization for whatever reason - IRQ is registered and OOPS happens when it fires. The solution, as suggested by David Miller, was to keep track which cards of the Quattro bundles have been initialized, and request/free the Quattro IRQ only when all four devices have been successfully initialized. The patch only touches SBus initialization - PCI init already resets the card pointer to NULL on init failure. The patch has been tested on Sun E3500 with SBus and PCI single HME cards and one PCI Quattro HME card in a situation where any PCI card failed init when the SBus routines tried to init them by mistake. Additionally it replaces Quattro request_irq panic with error return - if this card fails to work, at least let the others work. Tested on E450 with PCI HME and PCI Quad HME. [ Minor coding style fixups -DaveM ] Signed-off-by: Meelis Roos Signed-off-by: David S. Miller commit fcffd0d8bbddac757cd856e635ac75e8eb4518bc Author: Meelis Roos Date: Tue Feb 10 17:19:19 2009 -0800 fore200: fix oops on failed firmware load Fore 200 ATM driver fails to handle request_firmware failures and oopses when no firmware file was found. Fix it by checking for the right return values and propaganting the return value up. Signed-off-by: Meelis Roos Signed-off-by: David S. Miller commit e672f7db767156bf71adf9c592cfe81b339523d6 Author: Chuck Ebbert Date: Tue Feb 10 17:18:17 2009 -0800 pkt_sched: type should be __u32 in header Using u32 in this header breaks the build of iptables. Signed-off-by: Chuck Ebbert Signed-off-by: David S. Miller commit 2ddc1ac1b9f00096869a48b97c28de72386200d2 Author: Rémi Denis-Courmont Date: Tue Feb 10 17:14:50 2009 -0800 Phonet: do not compute unused value Signed-off-by: Rémi Denis-Courmont Signed-off-by: David S. Miller commit a2bf4538714f83fc83ac175c4de296510ae596ae Author: Rémi Denis-Courmont Date: Tue Feb 10 17:14:31 2009 -0800 Phonet: fix double free in GPRS outbound packet error path Signed-off-by: Rémi Denis-Courmont Signed-off-by: David S. Miller commit 664f93b48aefeb44b42127fe1da534808e8e9494 Author: Paulius Zaleckas Date: Sun Feb 8 23:46:01 2009 +0000 mdio-gpio: Add mdc pin direction initialization mdc pin should always be output. Initialize it as output, so each board code does not need to do this. Signed-off-by: Paulius Zaleckas Signed-off-by: David S. Miller commit 1385a7ae654264fb2d9d3c6c3c7a3df28d29ab53 Merge: 1db8508 f6f35bb Author: Linus Torvalds Date: Tue Feb 10 15:54:50 2009 -0800 Merge master.kernel.org:/home/rmk/linux-2.6-arm * master.kernel.org:/home/rmk/linux-2.6-arm: [ARM] AACI: timeout will reach -1 [ARM] Storage class should be before const qualifier [ARM] pxa: stop and disable IRQ for each DMA channels at startup [ARM] pxa: make more SSCR0 bit definitions visible on multiple processors [ARM] pxa: fix missing of __REG() definition for ac97 registers access [ARM] pxa: fix NAND and MMC clock initialization for pxa3xx commit 1db8508cf483dc1ecf66141f90a7c03659d69512 Author: Stefan Richter Date: Tue Feb 10 23:27:32 2009 +0100 hugetlbfs: fix build failure with !CONFIG_HUGETLBFS Fix regression due to 5a6fe125950676015f5108fb71b2a67441755003, "Do not account for the address space used by hugetlbfs using VM_ACCOUNT" which added an argument to the function hugetlb_file_setup() but not to the macro hugetlb_file_setup(). Reported-by: Chris Clayton Signed-off-by: Stefan Richter Acked-by: Mel Gorman Signed-off-by: Linus Torvalds commit 272edb00493af32c609f43bdf1d75141756fd999 Author: Lopez Cruz, Misael Date: Tue Feb 10 02:05:07 2009 -0600 ASoC: Update SDP3430 machine driver for snd_soc_card This patch replaces "snd_soc_machine" structure by "snd_soc_card" in SP3430 driver. This change is needed in SDP3430 driver to reflect changes introduced by "ASoC: Rename snd_soc_card to snd_soc_machine" patch (875065491fba8eb13219f16c36e79a6fb4e15c68). Signed-off-by: Misael Lopez Cruz Acked-by: Jarkko Nikula Signed-off-by: Mark Brown commit c36c63c511fa088fcc247a8e888b04f248be8435 Merge: 226b791 0b2f828 Author: Linus Torvalds Date: Tue Feb 10 11:55:12 2009 -0800 Merge branch 'merge' of git://git.kernel.org/pub/scm/linux/kernel/git/benh/powerpc * 'merge' of git://git.kernel.org/pub/scm/linux/kernel/git/benh/powerpc: powerpc: Add missing sparsemem.h include powerpc/pci: mmap anonymous memory when legacy_mem doesn't exist powerpc/cell: Add missing #include for oprofile powerpc/ftrace: Fix math to calculate offset in TOC powerpc: Don't emulate mr. instructions powerpc/fsl-booke: Fix mapping functions to use phys_addr_t arch/powerpc: Eliminate double sizeof powerpc/cpm2: Fix set interrupt type powerpc/83xx: Fix TSEC0 workability on MPC8313E-RDB boards powerpc/83xx: Fix missing #{address,size}-cells in mpc8313erdb.dts powerpc/83xx: Build breakage for CONFIG_PM but no CONFIG_SUSPEND commit 226b79104f625f3f58a8388b8b32a4b90415bf02 Merge: 29ef011 aeb3987 Author: Linus Torvalds Date: Tue Feb 10 11:48:49 2009 -0800 Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/sparc-2.6 * git://git.kernel.org/pub/scm/linux/kernel/git/davem/sparc-2.6: sparc64: Fix probe_kernel_{read,write}(). sparc64: Kill .fixup section bloat. sparc64: Don't hook up pcr_ops on spitfire chips. sparc64: Call dump_stack() in die_nmi(). commit 29ef01179d37168a021293ede77afbf091a49af4 Merge: 5a6fe12 4906f99 Author: Linus Torvalds Date: Tue Feb 10 11:48:11 2009 -0800 Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-2.6 * git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-2.6: (23 commits) bridge: Fix LRO crash with tun IPv6: fix to set device name when new IPv6 over IPv6 tunnel device is created. gianfar: Fix boot hangs while bringing up gianfar ethernet netfilter: xt_sctp: sctp chunk mapping doesn't work netfilter: ctnetlink: fix echo if not subscribed to any multicast group netfilter: ctnetlink: allow changing NAT sequence adjustment in creation netfilter: nf_conntrack_ipv6: don't track ICMPv6 negotiation message netfilter: fix tuple inversion for Node information request netxen: fix msi-x interrupt handling de2104x: force correct order when writing to rx ring tun: Fix unicast filter overflow drivers/isdn: introduce missing kfree drivers/atm: introduce missing kfree sunhme: Don't match PCI devices in SBUS probe. 9p: fix endian issues [attempt 3] net_dma: call dmaengine_get only if NET_DMA enabled 3c509: Fix resume from hibernation for PnP mode. sungem: Soft lockup in sungem on Netra AC200 when switching interface up RxRPC: Fix a potential NULL dereference r8169: Don't update statistics counters when interface is down ... commit 5a6fe125950676015f5108fb71b2a67441755003 Author: Mel Gorman Date: Tue Feb 10 14:02:27 2009 +0000 Do not account for the address space used by hugetlbfs using VM_ACCOUNT When overcommit is disabled, the core VM accounts for pages used by anonymous shared, private mappings and special mappings. It keeps track of VMAs that should be accounted for with VM_ACCOUNT and VMAs that never had a reserve with VM_NORESERVE. Overcommit for hugetlbfs is much riskier than overcommit for base pages due to contiguity requirements. It avoids overcommiting on both shared and private mappings using reservation counters that are checked and updated during mmap(). This ensures (within limits) that hugepages exist in the future when faults occurs or it is too easy to applications to be SIGKILLed. As hugetlbfs makes its own reservations of a different unit to the base page size, VM_ACCOUNT should never be set. Even if the units were correct, we would double account for the usage in the core VM and hugetlbfs. VM_NORESERVE may be set because an application can request no reserves be made for hugetlbfs at the risk of getting killed later. With commit fc8744adc870a8d4366908221508bb113d8b72ee, VM_NORESERVE and VM_ACCOUNT are getting unconditionally set for hugetlbfs-backed mappings. This breaks the accounting for both the core VM and hugetlbfs, can trigger an OOM storm when hugepage pools are too small lockups and corrupted counters otherwise are used. This patch brings hugetlbfs more in line with how the core VM treats VM_NORESERVE but prevents VM_ACCOUNT being set. Signed-off-by: Mel Gorman Signed-off-by: Linus Torvalds commit e3944bfac961cd7fc82f3b3143c55dc375748569 Author: Steven Rostedt Date: Tue Feb 10 13:07:13 2009 -0500 tracing, x86: fix fixup section to return to original code Impact: fix to prevent a kernel crash on fault If for some reason the pointer to the parent function on the stack takes a fault, the fix up code will not return back to the original faulting code. This can lead to unpredictable results and perhaps even a kernel panic. A fault should not happen, but if it does, we should simply disable the tracer, warn, and continue running the kernel. It should not lead to a kernel crash. Signed-off-by: Steven Rostedt commit 822c05b6335534f74f90bd0edc12aeb5a591117a Author: Andrew Vasquez Date: Sun Feb 8 20:50:16 2009 -0800 [SCSI] qla2xxx: Update version number to 8.03.00-k3. Signed-off-by: Andrew Vasquez Signed-off-by: James Bottomley commit 9088608e00d0d9e2a772532d828312e11b118340 Author: Andrew Vasquez Date: Sun Feb 8 20:50:14 2009 -0800 [SCSI] qla2xxx: Mask out 'reserved' bits while processing FLT regions. Bits 31-8 are marked as reserved and should be ignored while interpreting a region's code. Signed-off-by: Andrew Vasquez Signed-off-by: James Bottomley commit cf5a163127118325296c90670093b14afebb8424 Author: Anirban Chakraborty Date: Sun Feb 8 20:50:13 2009 -0800 [SCSI] qla2xxx: Correct slab-error overwrite during vport creation and deletion. The clearing of a vha's req_ques were overrunning during vport creation. During deletion, vport queues should be torn-down after all cleanup has occurred. Signed-off-by: Anirban Chakraborty Signed-off-by: Andrew Vasquez Signed-off-by: James Bottomley commit 8a659571eccfde1df9bd057d67be51d1aaa0e2db Author: Andrew Vasquez Date: Sun Feb 8 20:50:12 2009 -0800 [SCSI] qla2xxx: Properly acknowledge IDC notification messages. To ensure smooth operations amongst the FCoE and NIC side components of the ISP81xx chip, the FCoE driver (qla2xxx) must ensure the 10gb NIC driver (qlge) does not timeout waiting for IDC (Inter-Driver Communication) acknowledgments. The acknowledgment requirements are trivial -- a simple mirroring of incoming mailbox registers during the AEN to a process-context capable mailbox command. Signed-off-by: Andrew Vasquez Signed-off-by: James Bottomley commit 618a752319503a64d1b66615e8ea2a0e7edaf914 Author: Anirban Chakraborty Date: Sun Feb 8 20:50:11 2009 -0800 [SCSI] qla2xxx: Remove interrupt request bit check in the response processing path in multiq mode. Correct response-queue-0 processing by instructing the firmware to run with interrupt-handshaking disabled, similarly to what is now done for all non-0 response queues. Since all response-queues now run in the same mode, the driver no longer needs the hot-path 'is-disabled-HCCR' test. Signed-off-by: Anirban Chakraborty Signed-off-by: Andrew Vasquez Signed-off-by: James Bottomley commit e916141c6889e2a35869d7057ef1cc5e5a2e86eb Author: Julia Lawall Date: Sun Feb 8 22:43:19 2009 +0100 [SCSI] lpfc: introduce missing kfree Error handling code following a kmalloc should free the allocated data. The semantic match that finds the problem is as follows: (http://www.emn.fr/x-info/coccinelle/) // @r exists@ local idexpression x; statement S; expression E; identifier f,l; position p1,p2; expression *ptr != NULL; @@ ( if ((x@p1 = \(kmalloc\|kzalloc\|kcalloc\)(...)) == NULL) S | x@p1 = \(kmalloc\|kzalloc\|kcalloc\)(...); ... if (x == NULL) S ) <... when != x when != if (...) { <+...x...+> } x->f = E ...> ( return \(0\|<+...x...+>\|ptr\); | return@p2 ...; ) @script:python@ p1 << r.p1; p2 << r.p2; @@ print "* file: %s kmalloc %s return %s" % (p1[0].file,p1[0].line,p2[0].line) // Signed-off-by: Julia Lawall Acked-by: James Smart Signed-off-by: James Bottomley commit 308cec14e6710b4d5b70e9778ce117be8371735d Author: Mike Christie Date: Fri Feb 6 12:06:20 2009 -0600 [SCSI] libiscsi: Fix scsi command timeout oops in iscsi_eh_timed_out Yanling Qi from LSI found the root cause of the panic, below is his analysis: Problem description: the open iscsi driver installs eh_timed_out handler to the blank_transport_template of the scsi middle level that causes panic of timed out command of other host Here are the details Iscsi Session creation During iscsi session creation time, the iscsi_tcp_session_create() of iscsi_tpc.c will create a scsi-host for the session. See the statement marked with the label A. The statement B replaces the shost->transportt point with a local struct variable. static struct iscsi_cls_session * iscsi_tcp_session_create(struct iscsi_endpoint *ep, uint16_t cmds_max, uint16_t qdepth, uint32_t initial_cmdsn, uint32_t *hostno) { struct iscsi_cls_session *cls_session; struct iscsi_session *session; struct Scsi_Host *shost; int cmd_i; if (ep) { printk(KERN_ERR "iscsi_tcp: invalid ep %p.\n", ep); return NULL; } A shost = iscsi_host_alloc(&iscsi_sht, 0, qdepth); if (!shost) return NULL; B shost->transportt = iscsi_tcp_scsi_transport; shost->max_lun = iscsi_max_lun; Please note the scsi host is allocated by invoking isccsi_host_alloc() in libiscsi.c Polluting the middle level blank_transport_template in iscsi_host_alloc() of libiscsi.c The iscsi_host_alloc() invokes the middle level function scsi_host_alloc() in hosts.c for allocating a scsi_host. Then the statement marked with C assigns the iscsi_eh_cmd_timed_out handler to the eh_timed_out callback function. struct Scsi_Host *iscsi_host_alloc(struct scsi_host_template *sht, int dd_data_size, uint16_t qdepth) { struct Scsi_Host *shost; struct iscsi_host *ihost; shost = scsi_host_alloc(sht, sizeof(struct iscsi_host) + dd_data_size); if (!shost) return NULL; C shost->transportt->eh_timed_out = iscsi_eh_cmd_timed_out; Please note the shost->transport is the middle level blank_transport_template as shown in the code segment below. We see two problems here. 1. iscsi_eh_cmd_timed_out is installed to the blank_transport_template that will cause some body else problem. 2. iscsi_eh_cmd_timed_out will never be invoked when iscsi command gets timeout because the statement B resets the pointer. Middle level blank_transport_template In the middle level function scsi_host_alloc() of hosts.c, the middle level assigns a blank_transport_template for those hosts not implementing its transport layer. All HBAs without supporting a specific scsi_transport will share the middle level blank_transport_template. Please see the statement D struct Scsi_Host *scsi_host_alloc(struct scsi_host_template *sht, int privsize) { struct Scsi_Host *shost; gfp_t gfp_mask = GFP_KERNEL; int rval; if (sht->unchecked_isa_dma && privsize) gfp_mask |= __GFP_DMA; shost = kzalloc(sizeof(struct Scsi_Host) + privsize, gfp_mask); if (!shost) return NULL; shost->host_lock = &shost->default_lock; spin_lock_init(shost->host_lock); shost->shost_state = SHOST_CREATED; INIT_LIST_HEAD(&shost->__devices); INIT_LIST_HEAD(&shost->__targets); INIT_LIST_HEAD(&shost->eh_cmd_q); INIT_LIST_HEAD(&shost->starved_list); init_waitqueue_head(&shost->host_wait); mutex_init(&shost->scan_mutex); shost->host_no = scsi_host_next_hn++; /* XXX(hch): still racy */ shost->dma_channel = 0xff; /* These three are default values which can be overridden */ shost->max_channel = 0; shost->max_id = 8; shost->max_lun = 8; /* Give each shost a default transportt */ D shost->transportt = &blank_transport_template; Why we see panic at iscsi_eh_cmd_timed_out() The mpp virtual HBA doesn’t have a specific scsi_transport. Therefore, the blank_transport_template will be assigned to the virtual host of the MPP virtual HBA by SCSI middle level. Please note that the statement C has assigned iscsi-transport eh_timedout handler to the blank_transport_template. When a mpp virtual command gets timedout, the iscsi_eh_cmd_timed_out() will be invoked to handle mpp virtual command timeout from the middle level scsi_times_out() function of the scsi_error.c. enum blk_eh_timer_return scsi_times_out(struct request *req) { struct scsi_cmnd *scmd = req->special; enum blk_eh_timer_return (*eh_timed_out)(struct scsi_cmnd *); enum blk_eh_timer_return rtn = BLK_EH_NOT_HANDLED; scsi_log_completion(scmd, TIMEOUT_ERROR); if (scmd->device->host->transportt->eh_timed_out) E eh_timed_out = scmd->device->host->transportt->eh_timed_out; else if (scmd->device->host->hostt->eh_timed_out) eh_timed_out = scmd->device->host->hostt->eh_timed_out; else eh_timed_out = NULL; if (eh_timed_out) { rtn = eh_timed_out(scmd); It is very easy to understand why we get panic in the iscsi_eh_cmd_timed_out(). A scsi_cmnd from a no-iscsi device definitely can not resolve out a session and session->lock. The panic can be happed anywhere during the differencing. static enum blk_eh_timer_return iscsi_eh_cmd_timed_out(struct scsi_cmnd *scmd) { struct iscsi_cls_session *cls_session; struct iscsi_session *session; struct iscsi_conn *conn; enum blk_eh_timer_return rc = BLK_EH_NOT_HANDLED; cls_session = starget_to_session(scsi_target(scmd->device)); session = cls_session->dd_data; debug_scsi("scsi cmd %p timedout\n", scmd); spin_lock(&session->lock); This patch fixes the problem by moving the setting of the iscsi_eh_cmd_timed_out to iscsi_add_host, which is after the LLDs have set their transport template to shost->transportt. Signed-off-by: Mike Christie Signed-off-by: James Bottomley commit 7f977ddd0eedfd5aac7865794f220f65aae8f361 Author: Shyam_Iyer@Dell.com Date: Thu Feb 5 20:12:37 2009 +0530 [SCSI] qla2xxx: fix Kernel Panic with Qlogic 2472 Card. Kernel Panic is observed with a Qlogic 2472 Card is plugged into the system and the qla2xxx driver is loaded: QLogic Fibre Channel HBA Driver: 8.02.01.02.11.0-k9 vendor=8086 device=3410 qla2xxx 0000:05:00.0: PCI INT A -> GSI 40 (level, low) -> IRQ 40 qla2xxx 0000:05:00.0: Found an ISP2432, irq 40, iobase 0xffffc2001091c000 qla2xxx 0000:05:00.0: Configuring PCI space... qla2xxx 0000:05:00.0: setting latency timer to 64 qla2xxx 0000:05:00.0: Configure NVRAM parameters... BUG: unable to handle kernel NULL pointer dereference at 0000000000000000 IP: [] strncpy+0x5/0x1e PGD 7c564067 PUD 78d8c067 PMD 0 Oops: 0000 [1] SMP last sysfs file: /sys/devices/pci0000:00/0000:00:1d.1/usb6/6-2/6-2:1.1/input/input4/event 4/dev CPU 1 Modules linked in: qla2xxx(+) squashfs usb_storage scsi_transport_fc scsi_tgt parport_pc parport arc4 ecb crypto_blkcipher acpi_cpufreq fan loop nfs nfs_acl lockd sunrpc nls_iso8859_1 nls_cp437 ipv6 af_packet st sr_mod ide_disk ide_cd_mod ide_core cdrom usbhid hid ff_memless sg sd_mod crc_t10dif uhci_hcd mptsas mptscsih ehci_hcd mptbase scsi_transport_sas rtc_cmos rtc_core rtc_lib usbcore scsi_mod thermal bnx2 button processor thermal_sys hwmon edd Supported: Yes Pid: 4415, comm: insmod Not tainted 2.6.27.13-1-default #1 RIP: 0010:[] [] strncpy+0x5/0x1e RSP: 0018:ffff88007b04fbc0 EFLAGS: 00010202 RAX: 00000000000000b7 RBX: ffff88007b9641e0 RCX: ffff88007c1b2ad7 RDX: 000000000000004f RSI: 0000000000000000 RDI: ffff88007c1b2ad7 RBP: ffff88007c1b0620 R08: 0000000000000010 R09: 0000000100000000 R10: 0000000000000046 R11: ffffffff803651c6 R12: ffff88007b074000 R13: ffff88007b964000 R14: ffff88007c1b2ac6 R15: 0000000000000000 FS: 00007f91a6c366f0(0000) GS:ffff88007dbeee40(0000) knlGS:0000000000000000 CS: 0010 DS: 0000 ES: 0000 CR0: 000000008005003b CR2: 0000000000000000 CR3: 000000007bd7c000 CR4: 00000000000006e0 DR0: 0000000000000000 DR1: 0000000000000000 DR2: 0000000000000000 DR3: 0000000000000000 DR6: 00000000ffff0ff0 DR7: 0000000000000400 Process insmod (pid: 4415, threadinfo ffff88007b04e000, task ffff880078586180) Stack: ffffffffa02d82c4 0000000000002432 ffff88007d385000 ffff88007c1b0620 ffff88007c1b0620 ffff88007c1b0000 ffff88007d385000 0000000000002432 ffffffffa02dcb1e 0000000000002432 ffffc2001091c000 ffff88007c1b0620 Call Trace: [] qla24xx_nvram_config+0x385/0x6c2 [qla2xxx] [] qla2x00_initialize_adapter+0x169/0x383 [qla2xxx] [] qla2x00_probe_one+0x6bc/0x9c6 [qla2xxx] [] pci_device_probe+0xb8/0x105 [] really_probe+0xdd/0x1e5 [] __driver_attach+0x46/0x6d [] bus_for_each_dev+0x44/0x78 [] bus_add_driver+0xef/0x235 [] driver_register+0xa2/0x11f [] __pci_register_driver+0x5d/0x90 [] qla2x00_module_init+0x126/0x159 [qla2xxx] [] _stext+0x41/0x110 [] sys_init_module+0xa0/0x1ba [] system_call_fastpath+0x16/0x1b [<00007f91a679b76a>] 0x7f91a679b76a Code: ff c1 41 39 c0 75 05 45 85 c0 75 bf 41 29 c0 44 89 c0 c3 31 d2 8a 04 16 88 04 17 48 ff c2 84 c0 75 f3 48 89 f8 c3 48 89 f9 eb 10 <8a> 06 3c 01 88 01 48 83 de ff 48 ff c1 48 ff ca 48 85 d2 75 eb RIP [] strncpy+0x5/0x1e RSP CR2: 0000000000000000 ---[ end trace 829d7d78dfafb785 ]--- The attached patch fixes the issue. Signed-off-by: Shyam Iyer Acked-by: Seokmann Ju Signed-off-by: James Bottomley commit 14ae6faca11889d80f795993dbe932d82305b564 Author: Brian King Date: Wed Feb 4 16:13:13 2009 -0600 [SCSI] ibmvfc: Increase cancel timeout During cancel testing it has been shown that 15 seconds is not nearly long enough for the VIOS to respond to a cancel under loaded situations. Increasing this timeout to 60 seconds allows time for the VIOS to cancel the outstanding commands and prevents us from escalating to a full host reset, which can take much longer. Signed-off-by: Brian King Signed-off-by: James Bottomley commit 0883e3b3a85b5860b7729f1279a52e95b87dea97 Author: Brian King Date: Wed Feb 4 16:13:12 2009 -0600 [SCSI] ibmvfc: Fix rport relogin The ibmvfc driver has a bug in its SCN handling. If it receives an ELS event such asn an N-Port SCN event or an unsolicited PLOGI, or any other SCN event which causes ibmvfc_reinit_host to be called, it is possible that we will call fc_remote_port_add for a target that already has an rport added, which can result in duplicate rports getting created for the same targets. Fix this by calling fc_remote_port_rolechg in this scenario instead to report any possible role change that may have occurred. Signed-off-by: Brian King Signed-off-by: James Bottomley commit d4b17a20f30faf0debbc225bfbf98dba4e351c4d Author: Brian King Date: Wed Feb 4 16:13:08 2009 -0600 [SCSI] ibmvfc: Fix command timeout errors Currently the ibmvfc driver sets the IBMVFC_CLASS_3_ERR flag in the VFC Frame if both the adapter and the device claim support for Class 3. However, this bit actually refers to Class 3 Error Recovery, which is currently not supported by the VIOS. Setting this bit can cause lots of command timeout responses from the VIOS resulting in general instability. Fix this by never setting this bit. Signed-off-by: Brian King Signed-off-by: James Bottomley commit 76e3a19d0691bbfcc559ce77ab3004818fab8f22 Author: Martin Peschke Date: Fri Jan 30 15:46:23 2009 +0100 [SCSI] sg: fix device number in blktrace data Hi, we have run into an issue with blktrace being started for sg devices. Please apply. Thanks, Martin From: Martin Peschke The device number denoting a generic SCSI devices (sg) in a blktrace trace is broken; major and minor are always 0. It looks like sdp->device->sdev_gendev.devt is not initialized properly. The fix below uses other data to make up a valid device number, similar to the way an sg device number is generated for sysfs output. Reported-by: Stefan Raspl Signed-off-by: Martin Peschke Acked-by: Douglas Gilbert Signed-off-by: James Bottomley commit c2f9e49f9bbfa2e111ab1e1628b96b560bae7cec Author: James Smart Date: Tue Jan 27 11:41:36 2009 -0500 [SCSI] scsi_scan: add missing interim SDEV_DEL state if slave_alloc fails We were running i/o and performing a bunch of hba resets in a loop. This forces a lot of target removes and then rescans. Since the resets are occuring during scan it's causing the scan i/o to timeout, invoking error recovery, etc. We end up getting some nasty crashing in scsi_scan.c due to references to old sdevs that are failing but had some lingering references that kept them around. Fix by setting device state to SDEV_DEL if the LLD's slave_alloc fails. Signed-off-by: James Smart Signed-off-by: James Bottomley commit e637d553199e264327714da437e6c808f2f4b096 Author: Robert Jennings Date: Thu Jan 22 13:40:09 2009 -0600 [SCSI] ibmvscsi: Correct DMA mapping leak The ibmvscsi client driver is not unmapping the SCSI command after encountering a DMA mapping error while trying to map an indirect scattergather list for the event pool. This leads to a leak of DMA entitlement that could result in the device failing future DMA operations in a CMO environment. Signed-off-by: Robert Jennings Acked-by: Brian King Signed-off-by: James Bottomley commit ba4439165f0f0d25b2fe065cf0c1ff8130b802eb Author: Aneesh Kumar K.V Date: Tue Feb 10 11:14:34 2009 -0500 ext4: Fix lockdep warning We should not call ext4_mb_add_n_trim while holding alloc_semp. ============================================= [ INFO: possible recursive locking detected ] 2.6.29-rc4-git1-dirty #124 --------------------------------------------- ffsb/3116 is trying to acquire lock: (&meta_group_info[i]->alloc_sem){----}, at: [] ext4_mb_load_buddy+0xd2/0x343 but task is already holding lock: (&meta_group_info[i]->alloc_sem){----}, at: [] ext4_mb_load_buddy+0xd2/0x343 http://bugzilla.kernel.org/show_bug.cgi?id=12672 Signed-off-by: Aneesh Kumar K.V Signed-off-by: "Theodore Ts'o" commit 44a678d04babaa751c0ee98e006ede9576fa9e00 Author: Mackenzie Morgan Date: Tue Feb 10 17:13:43 2009 +0100 ALSA: hda - Add quirk for Asus z37e (1043:8284) Added a quirk for Asus Z37E for fixing suspend/hibernation problem. Reference: https://bugs.edge.launchpad.net/ubuntu/+source/linux/+bug/25896 http://launchpadlibrarian.net/17053575/0001-Add-quirk-for-ASUS-Z37E-to-make-sound-audible-afte.patch https://bugtrack.alsa-project.org/alsa-bug/bug_view_page.php?bug_id=4282 Signed-off-by: Takashi Iwai commit 7be2baaa0322c59ba888aa5260a8c130666acd41 Author: Wei Yongjun Date: Tue Feb 10 09:53:42 2009 -0500 ext4: Fix to read empty directory blocks correctly in 64k The rec_len field in the directory entry is 16 bits, so there was a problem representing rec_len for filesystems with a 64k block size in the case where the directory entry takes the entire 64k block. Unfortunately, there were two schemes that were proposed; one where all zeros meant 65536 and one where all ones (65535) meant 65536. E2fsprogs used 0, whereas the kernel used 65535. Oops. Fortunately this case happens extremely rarely, with the most common case being the lost+found directory, created by mke2fs. So we will be liberal in what we accept, and accept both encodings, but we will continue to encode 65536 as 65535. This will require a change in e2fsprogs, but with fortunately ext4 filesystems normally have the dir_index feature enabled, which precludes having a completely empty directory block. Signed-off-by: Wei Yongjun Signed-off-by: "Theodore Ts'o" commit 7f5aa215088b817add9c71914b83650bdd49f8a9 Author: Jan Kara Date: Tue Feb 10 11:15:34 2009 -0500 jbd2: Avoid possible NULL dereference in jbd2_journal_begin_ordered_truncate() If we race with commit code setting i_transaction to NULL, we could possibly dereference it. Proper locking requires the journal pointer (to access journal->j_list_lock), which we don't have. So we have to change the prototype of the function so that filesystem passes us the journal pointer. Also add a more detailed comment about why the function jbd2_journal_begin_ordered_truncate() does what it does and how it should be used. Thanks to Dan Carpenter for pointing to the suspitious code. Signed-off-by: Jan Kara Signed-off-by: "Theodore Ts'o" Acked-by: Joel Becker CC: linux-ext4@vger.kernel.org CC: ocfs2-devel@oss.oracle.com CC: mfasheh@suse.de CC: Dan Carpenter commit b52af40923fc91a12e3c7152d833e0c0c6a508f6 Author: Clemens Ladisch Date: Tue Feb 10 09:21:07 2009 +0100 i8327: fix outb() parameter order In i8237A_resume(), when resetting the DMA controller, the parameters to dma_outb() were mixed up. Signed-off-by: Clemens Ladisch [ cleaned up the file a tiny bit. ] Signed-off-by: Ingo Molnar commit 9eddacf9e9c03578ef2c07c9534423e823d677f8 Author: Jan Kara Date: Tue Feb 10 06:46:05 2009 -0500 Revert "ext4: wait on all pending commits in ext4_sync_fs()" This undoes commit 14ce0cb411c88681ab8f3a4c9caa7f42e97a3184. Since jbd2_journal_start_commit() is now fixed to return 1 when we started a transaction commit, there's some transaction waiting to be committed or there's a transaction already committing, we don't need to call ext4_force_commit() in ext4_sync_fs(). Furthermore ext4_force_commit() can unnecessarily create sync transaction which is expensive so it's worthwhile to remove it when we can. http://bugzilla.kernel.org/show_bug.cgi?id=12224 Signed-off-by: Jan Kara Signed-off-by: "Theodore Ts'o" Cc: Eric Sandeen Cc: linux-ext4@vger.kernel.org commit c88ccea3143975294f5a52097546bcbb75975f52 Author: Jan Kara Date: Tue Feb 10 11:27:46 2009 -0500 jbd2: Fix return value of jbd2_journal_start_commit() The function jbd2_journal_start_commit() returns 1 if either a transaction is committing or the function has queued a transaction commit. But it returns 0 if we raced with somebody queueing the transaction commit as well. This resulted in ext4_sync_fs() not functioning correctly (description from Arthur Jones): In the case of a data=ordered umount with pending long symlinks which are delayed due to a long list of other I/O on the backing block device, this causes the buffer associated with the long symlinks to not be moved to the inode dirty list in the second phase of fsync_super. Then, before they can be dirtied again, kjournald exits, seeing the UMOUNT flag and the dirty pages are never written to the backing block device, causing long symlink corruption and exposing new or previously freed block data to userspace. This can be reproduced with a script created by Eric Sandeen : #!/bin/bash umount /mnt/test2 mount /dev/sdb4 /mnt/test2 rm -f /mnt/test2/* dd if=/dev/zero of=/mnt/test2/bigfile bs=1M count=512 touch /mnt/test2/thisisveryveryveryveryveryveryveryveryveryveryveryveryveryveryveryverylongfilename ln -s /mnt/test2/thisisveryveryveryveryveryveryveryveryveryveryveryveryveryveryveryverylongfilename /mnt/test2/link umount /mnt/test2 mount /dev/sdb4 /mnt/test2 ls /mnt/test2/ This patch fixes jbd2_journal_start_commit() to always return 1 when there's a transaction committing or queued for commit. Signed-off-by: Jan Kara Signed-off-by: "Theodore Ts'o" CC: Eric Sandeen CC: linux-ext4@vger.kernel.org commit f6f35bbe7c6494e66590cf519e21da2dd8d59e01 Author: Roel Kluin Date: Sun Feb 8 15:22:25 2009 +0100 [ARM] AACI: timeout will reach -1 With a postfix decrement the timeout will reach -1 rather than 0, so the warning will not be issued. Signed-off-by: Roel Kluin Signed-off-by: Russell King commit e0fc4f97ab6b11594d0b0658ef6cf02bd68f3b4e Author: Tobias Klauser Date: Mon Feb 9 21:35:39 2009 +0100 [ARM] Storage class should be before const qualifier The C99 specification states in section 6.11.5: The placement of a storage-class specifier other than at the beginning of the declaration specifiers in a declaration is an obsolescent feature. Signed-off-by: Tobias Klauser Signed-off-by: Russell King commit 0b2f82872ff855b92e9e8356b90ef429d96d6977 Author: Michael Neuling Date: Sun Feb 8 14:49:39 2009 +0000 powerpc: Add missing sparsemem.h include arch/powerpc/platforms/pseries/hotplug-memory.c uses remove_section_mapping() but doesn't include sparsemem.h which defines it. This can cause compilation fails for some configs. Signed-off-by: Michael Neuling Signed-off-by: Benjamin Herrenschmidt commit 5b11abfdb572bf9284e596dd198ac2aaf95b6616 Author: Benjamin Herrenschmidt Date: Sun Feb 8 14:27:21 2009 +0000 powerpc/pci: mmap anonymous memory when legacy_mem doesn't exist The new legacy_mem file in sysfs is causing problems with X on machines that don't support legacy memory access. The way I initially implemented it, we would fail with -ENXIO when trying to mmap it, thus exposing to X that we do support the API but there is no legacy memory. Unfortunately, X poor error handling is causing it to fail to start when it gets this error. This implements a workaround hack that instead maps anonymous memory instead (using shmem if VM_SHARED is set, just like /dev/zero does). Signed-off-by: Benjamin Herrenschmidt commit d87bf76679bd37593ae4a3133f5da9395a4963ac Author: Michael Neuling Date: Sun Feb 8 13:04:14 2009 +0000 powerpc/cell: Add missing #include for oprofile arch/powerpc/oprofile/cell/spu_profiler.c is missing a asm/time.h include which is required for ppc_proc_freq. This can cause compile failures for some config combinations. Signed-off-by: Michael Neuling Acked-by: Arnd Bergmann Signed-off-by: Benjamin Herrenschmidt commit f25f9074c24f1451a74942c4bc089bb53e47f462 Author: Steven Rostedt Date: Sat Feb 7 20:22:40 2009 +0000 powerpc/ftrace: Fix math to calculate offset in TOC Impact: fix dynamic ftrace with large modules in PPC64 The math to calculate the offset into the TOC that is taken from reading the trampoline is incorrect. The bottom half of the offset is a signed extended short. The current code was using an OR to create the offset when it should have been using an addition. Signed-off-by: Steven Rostedt Acked-by: Geoff Levand Signed-off-by: Benjamin Herrenschmidt commit eef336189b2b5ae68bfbef0df24176a4a152d981 Author: Ananth N Mavinakayanahalli Date: Fri Feb 6 02:02:00 2009 +0000 powerpc: Don't emulate mr. instructions Currently emulate_step() emulates mr. instructions without updating cr0 and this can be disastrous. Don't emulate mr. This bug has been around for a while, but I am not sure if its a worthy -stable candidate. I'll leave it to Ben do decide. Signed-off-by: Ananth N Mavinakayanahalli Signed-off-by: Benjamin Herrenschmidt commit 6c24b17453c8dc444a746e45b8a404498fc9fcf7 Author: Kumar Gala Date: Mon Feb 9 21:08:07 2009 -0600 powerpc/fsl-booke: Fix mapping functions to use phys_addr_t Fixed v_mapped_by_tlbcam() and p_mapped_by_tlbcam() to use phys_addr_t instead of unsigned long. In 36-bit physical mode we really need these functions to deal with phys_addr_t when trying to match a physical address or when returning one. Signed-off-by: Kumar Gala commit acd895795d35d7c6405f20301a846d16998795ec Author: Hugh Dickins Date: Mon Feb 9 19:20:50 2009 +0000 profiling: fix broken profiling regression Impact: fix broken /proc/profile on UP machines Commit c309b917cab55799ea489d7b5f1b77025d9f8462 "cpumask: convert kernel/profile.c" broke profiling. prof_cpu_mask was previously initialized to CPU_MASK_ALL, but left uninitialized in that commit. We need to copy cpu_possible_mask (cpu_online_mask is not enough). Signed-off-by: Hugh Dickins Signed-off-by: Ingo Molnar commit d315760ffa261c15ff92699ac6f514112543d7ca Author: Tejun Heo Date: Mon Feb 9 22:17:39 2009 +0900 x86: fix math_emu register frame access do_device_not_available() is the handler for #NM and it declares that it takes a unsigned long and calls math_emu(), which takes a long argument and surprisingly expects the stack frame starting at the zero argument would match struct math_emu_info, which isn't true regardless of configuration in the current code. This patch makes do_device_not_available() take struct pt_regs like other exception handlers and initialize struct math_emu_info with pointer to it and pass pointer to the math_emu_info to math_emulate() like normal C functions do. This way, unless gcc makes a copy of struct pt_regs in do_device_not_available(), the register frame is correctly accessed regardless of kernel configuration or compiler used. This doesn't fix all math_emu problems but it at least gets it somewhat working. Signed-off-by: Tejun Heo Signed-off-by: Ingo Molnar commit 4906f9985e310fc01f956256b0d58ac28b0dcb19 Author: Herbert Xu Date: Mon Feb 9 15:07:18 2009 -0800 bridge: Fix LRO crash with tun > Kernel BUG at drivers/net/tun.c:444 > invalid opcode: 0000 [1] SMP > last sysfs file: /class/net/lo/ifindex > CPU 0 > Modules linked in: tun ipt_MASQUERADE iptable_nat ip_nat xt_state ip_conntrack > nfnetlink ipt_REJECT xt_tcpudp iptable_filter d > Pid: 6912, comm: qemu-kvm Tainted: G 2.6.18-128.el5 #1 > RIP: 0010:[] [] > :tun:tun_chr_readv+0x2b1/0x3a6 > RSP: 0018:ffff8102202c5e48 EFLAGS: 00010246 > RAX: 0000000000000000 RBX: ffff8102202c5e98 RCX: 0000000004010000 > RDX: ffff810227063680 RSI: ffff8102202c5e9e RDI: ffff8102202c5e92 > RBP: 0000000000010ff6 R08: 0000000000000000 R09: 0000000000000001 > R10: ffff8102202c5e94 R11: 0000000000000202 R12: ffff8102275357c0 > R13: ffff81022755e500 R14: 0000000000000000 R15: ffff8102202c5ef8 > FS: 00002ae4398db980(0000) GS:ffffffff803ac000(0000) knlGS:0000000000000000 > CS: 0010 DS: 0000 ES: 0000 CR0: 000000008005003b > CR2: 00002ae4ab514000 CR3: 0000000221344000 CR4: 00000000000026e0 > Process qemu-kvm (pid: 6912, threadinfo ffff8102202c4000, task > ffff81022e58d820) > Stack: 00000000498735cb ffff810229d1a3c0 0000000000000000 ffff81022e58d820 > ffffffff8008a461 ffff81022755e528 ffff81022755e528 ffffffff8009f925 > 000005ea05ea0000 ffff8102209d0000 00001051143e1600 ffffffff8003c00e > Call Trace: > [] default_wake_function+0x0/0xe > [] enqueue_hrtimer+0x55/0x70 > [] hrtimer_start+0xbc/0xce > [] :tun:tun_chr_read+0x1a/0x1f > [] vfs_read+0xcb/0x171 > [] sys_read+0x45/0x6e > [] system_call+0x7e/0x83 > > > Code: 0f 0b 68 40 62 6f 88 c2 bc 01 f6 42 0a 08 74 0c 80 4c 24 41 > RIP [] :tun:tun_chr_readv+0x2b1/0x3a6 > RSP > <0>Kernel panic - not syncing: Fatal exception This crashed when an LRO packet generated by bnx2x reached a tun device through the bridge. We're supposed to drop it at the bridge. However, because the check was placed in br_forward instead of __br_forward, it's only effective if we are sending the packet through a single port. This patch fixes it by moving the check into __br_forward. Signed-off-by: Herbert Xu Signed-off-by: David S. Miller commit 43a990765a9e874350bae1009366d00809dbc9d8 Author: Arnd Bergmann Date: Tue Feb 10 00:00:22 2009 +0100 sound: Remove OSSlib stuff from linux/soundcard.h Removed OSSlib stuff from linux/soundcard.h to fix the warnings for 'make headers_check'. This patch breaks building against OSSlib with the kernel headers instead of its own headers. It should still work with any version of the library from the 2003 onwards which provide their own headers for the latest interface. Signed-off-by: Arnd Bergmann Cc: Jaswinder Singh Rajput Signed-off-by: Takashi Iwai commit 20461c1740cac5e02733221c9f653098a703f55a Author: Noriaki TAKAMIYA Date: Mon Feb 9 15:01:19 2009 -0800 IPv6: fix to set device name when new IPv6 over IPv6 tunnel device is created. When the user creates IPv6 over IPv6 tunnel, the device name created by the kernel isn't set to t->parm.name, which is referred as the result of ioctl(). Signed-off-by: Noriaki TAKAMIYA Signed-off-by: David S. Miller commit 8707bdd48ab705a459ac1b12014075a139d1d4f9 Author: Jarek Poplawski Date: Mon Feb 9 14:59:30 2009 -0800 gianfar: Fix boot hangs while bringing up gianfar ethernet Ira Snyder found that commit 8c7396aebb68994c0519e438eecdf4d5fa9c7844 "gianfar: Merge Tx and Rx interrupt for scheduling clean up ring" can cause hangs. It's because there was removed clearing of interrupts in gfar_schedule_cleanup() (which is called by an interrupt handler) in case when netif scheduling has been disabled. This patch brings back this action and a comment. Reported-by: Ira Snyder Reported-by: Peter Korsgaard Bisected-by: Ira Snyder Tested-by: Peter Korsgaard Tested-by: Ira Snyder Signed-off-by: Jarek Poplawski Signed-off-by: David S. Miller commit d4e2675a61890a84849a24affedf80d5cae8b199 Author: Qu Haoran Date: Mon Feb 9 14:34:56 2009 -0800 netfilter: xt_sctp: sctp chunk mapping doesn't work When user tries to map all chunks given in argument, kernel works on a copy of the chunkmap, but at the end it doesn't check the copy, but the orginal one. Signed-off-by: Qu Haoran Signed-off-by: Nicolas Dichtel Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller commit 1f9da256163e3ff91a12d0b861091f0e525139df Author: Pablo Neira Ayuso Date: Mon Feb 9 14:34:26 2009 -0800 netfilter: ctnetlink: fix echo if not subscribed to any multicast group This patch fixes echoing if the socket that has sent the request to create/update/delete an entry is not subscribed to any multicast group. With the current code, ctnetlink would not send the echo message via unicast as nfnetlink_send() would be skip. Signed-off-by: Pablo Neira Ayuso Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller commit c969aa7d2cd5621ad4129dae6b6551af422944c6 Author: Pablo Neira Ayuso Date: Mon Feb 9 14:33:57 2009 -0800 netfilter: ctnetlink: allow changing NAT sequence adjustment in creation This patch fixes an inconsistency in the current ctnetlink code since NAT sequence adjustment bit can only be updated but not set in the conntrack entry creation. This patch is used by conntrackd to successfully recover newly created entries that represent connections with helpers and NAT payload mangling. Signed-off-by: Pablo Neira Ayuso Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller commit 3f9007135c1dc896db9a9e35920aafc65b157230 Author: Eric Leblond Date: Mon Feb 9 14:33:20 2009 -0800 netfilter: nf_conntrack_ipv6: don't track ICMPv6 negotiation message This patch removes connection tracking handling for ICMPv6 messages related to Stateless Address Autoconfiguration, MLD, and MLDv2. They can not be tracked because they are massively using multicast (on pre-defined address). But they are not invalid and should not be detected as such. Signed-off-by: Eric Leblond Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller commit a51f42f3c940e5582c40454ece066d033bc7e24f Author: Eric Leblond Date: Mon Feb 9 14:33:03 2009 -0800 netfilter: fix tuple inversion for Node information request The patch fixes a typo in the inverse mapping of Node Information request. Following draft-ietf-ipngwg-icmp-name-lookups-09, "Querier" sends a type 139 (ICMPV6_NI_QUERY) packet to "Responder" which answer with a type 140 (ICMPV6_NI_REPLY) packet. Signed-off-by: Eric Leblond Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller commit 4c098bcd55fad34dcf224bf8343db6a9ac58fc68 Merge: d006b2b 284b066 Author: Linus Torvalds Date: Mon Feb 9 14:00:16 2009 -0800 Merge git://git.kernel.org/pub/scm/linux/kernel/git/mason/btrfs-unstable * git://git.kernel.org/pub/scm/linux/kernel/git/mason/btrfs-unstable: Btrfs: don't use spin_is_contended commit d006b2b620ebf87a1d5592fbd7ae75d4a6da8423 Merge: 7d16766 049a6ac Author: Linus Torvalds Date: Mon Feb 9 13:59:51 2009 -0800 Merge git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/usb-2.6 * git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/usb-2.6: USB: Storage: Update unusual_devs entry for Datafab KECF-USB USB: Correct Makefile to make isp1760 buildable USB: option: New mobile broadband modems to be supported USB: two more usb ids for ti_usb_3410_5052 USB: ftdi_sio: unlock_kernel() on error in set_serial_info() USB: usb-storage: add Pentax to the bad-vendor list USB: ftdi_sio: add support for the NDI Polaris system USB: usb-serial: fix the aircable_init failure path USB: usb-storage: remove WARN from last-sector hacks Revert USB: option: add Pantech cards USB: cdc-acm.c: remove duplicate lines for MTK gps support USB: fsl_qe_udc: Fix stalled TX requests bug USB: fsl_qe_udc: Fix muram corruption by disabled endpoints USB: fsl_qe_udc: Fix disconnects reporting during bus reset USB: fsl_qe_udc: Fix QE USB controller initialization USB: fsl_qe_udc: Fix recursive locking bug in ch9getstatus() USB: fsl_qe_udc: Fix oops on QE UDC probe failure commit 7d1676629e9262f441540ecb0cde57e5cafc632f Merge: 6707fbb 6136ac8 Author: Linus Torvalds Date: Mon Feb 9 13:58:40 2009 -0800 Merge git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/staging-2.6 * git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/staging-2.6: Staging: panel: fix lcd panel driver build failure Staging: android: fix up units in timed_gpio Staging: android: ram_console: Disable ECC when early init is enabled and validate buffer size Staging: at76_usb: Add support for OQO Model 01+ Staging: at76_usb: fix bugs introduced by "Staging: at76_usb: cleanup dma on stack issues" Revert Staging: at76_usb: update drivers/staging/at76_usb w/ mac80211 port commit 6707fbb56c8fd3121e334291d170934bcaca2e7f Merge: 896abeb 732553e Author: Linus Torvalds Date: Mon Feb 9 13:58:22 2009 -0800 Merge branch 'fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/davej/cpufreq * 'fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/davej/cpufreq: [CPUFREQ] powernow-k8: Get transition latency from ACPI _PSS table [CPUFREQ] Make ignore_nice_load setting of ondemand work as expected. commit 284b066af41579f62649048fdec5c5e7091703e6 Author: Chris Mason Date: Mon Feb 9 16:22:03 2009 -0500 Btrfs: don't use spin_is_contended Btrfs was using spin_is_contended to see if it should drop locks before doing extent allocations during btrfs_search_slot. The idea was to avoid expensive searches in the tree unless the lock was actually contended. But, spin_is_contended is specific to the ticket spinlocks on x86, so this is causing compile errors everywhere else. In practice, the contention could easily appear some time after we started doing the extent allocation, and it makes more sense to always drop the lock instead. Signed-off-by: Chris Mason commit 6136ac86b719716694884a84cd9d403207cc52b9 Author: Sachin P. Sant Date: Tue Feb 3 21:10:58 2009 +0530 Staging: panel: fix lcd panel driver build failure * Fix build break for lcd panel driver. Signed-off-by : Sachin Sant Cc: Willy Tarreau Signed-off-by: Greg Kroah-Hartman commit d88dfb8dc4bfb66066e7c68727c219faaa541206 Author: Greg Kroah-Hartman Date: Wed Feb 4 15:05:05 2009 -0800 Staging: android: fix up units in timed_gpio The last build fix I did messed up the units of the sysfs file. This puts them back to be milliseconds, like they originally were. Thanks to Juha Motorsportcom for pointing this out. Reported-by: Juha Motorsportcom Cc: Mike Lockwood Signed-off-by: Greg Kroah-Hartman commit 5701c0519b7a357a602fda5c96f26197ecfc4c85 Author: Arve Hjønnevåg Date: Fri Jan 30 20:21:09 2009 -0800 Staging: android: ram_console: Disable ECC when early init is enabled and validate buffer size Signed-off-by: Arve Hjønnevåg Signed-off-by: Greg Kroah-Hartman commit 07f269862a2981f1512de5393e2d0ce5b2ee8305 Author: Jamie Lentin Date: Wed Feb 4 13:38:44 2009 +0000 Staging: at76_usb: Add support for OQO Model 01+ Add USB device ID for OQO 01+'s internal wireless LAN An OQO employee mentions the chip's true identity here:- ftp://ftp.oqo.com/unsupported/linux/OQOLinux.html Signed-off-by: Jamie Lentin Signed-off-by: Greg Kroah-Hartman commit ea8f9fe634da9042c01ca2f4e459a7b187056021 Author: Jason Andryuk Date: Fri Jan 30 09:05:03 2009 -0500 Staging: at76_usb: fix bugs introduced by "Staging: at76_usb: cleanup dma on stack issues" Tracking down the firmware loading problem led to this commit. $ git bisect bad 0d1d1424330cc1934f2b2742f0cfa2c31e6a250b is first bad commit commit 0d1d1424330cc1934f2b2742f0cfa2c31e6a250b Author: Oliver Neukum Date: Thu Dec 18 13:16:40 2008 +0100 Staging: at76_usb: cleanup dma on stack issues - no DMA on stack - cleanup unclear endianness issue Signed-off-by: Oliver Neukum Signed-off-by: Greg Kroah-Hartman :040000 040000 c4fee9ea0fef25926229d810d19dc2f89cca9401 8b165a35d16280d2413b2700a6080ef290ca1009 M drivers The "no DMA on stack" conversion was incomplete with respect to updating the arguments passed to usb_control_msg. The value 40 is hardcoded as it was prior to conversion. The driver can now load firmware, but is not fully functional. Signed-off-by: Jason Andryuk Cc: John W. Linville Signed-off-by: Greg Kroah-Hartman commit 89cb7e7fd6c0917bb9236ea48bf538d4668ed009 Author: Greg Kroah-Hartman Date: Tue Feb 3 16:28:48 2009 -0800 Revert Staging: at76_usb: update drivers/staging/at76_usb w/ mac80211 port Reverts 02227c28391b5059a7710d6039c52912b0ee2c1d (Had to be done by hand due to other patches that had come after this.) Turns out that we don't want the mac80211 port of this driver just yet, as there is a different driver working on adding this support. So keep things old and different for now. This is being reverted at the request of the linux-wireless developers. Cc: Kalle Valo Cc: John W. Linville Signed-off-by: Greg Kroah-Hartman commit 049a6acb503ca7acc11d563db79a2d54f054e0d0 Author: Nick Holloway Date: Sun Jan 25 16:58:43 2009 +0000 USB: Storage: Update unusual_devs entry for Datafab KECF-USB This device suffers from the off-by-one error when reporting the capacity, so add US_FL_FIX_CAPACITY to the existing entry. Signed-off-by: Nick Holloway Signed-off-by: Greg Kroah-Hartman commit 26e1287594864169577327fef233befc9739be3b Author: Ivan Kuten Date: Fri Feb 6 17:42:34 2009 +0800 USB: Correct Makefile to make isp1760 buildable Signed-off-by: Ivan Kuten Signed-off-by: Michael Hennerich Signed-off-by: Bryan Wu Signed-off-by: Greg Kroah-Hartman commit c200b9c9e8ec93cdd262cfa1699ad92e883d4876 Author: Dirk De Schepper Date: Fri Feb 6 20:48:34 2009 +0000 USB: option: New mobile broadband modems to be supported - New Novatel and Dell mobile broadband modem products added - Dell pid variables used in stead of numerical PIDs for known products Signed-off-by: Dirk De Schepper Cc: stable Signed-off-by: Matthias Urlichs Signed-off-by: Greg Kroah-Hartman commit 97dcf0416e390fc5c997d4ea60e6f975c7b7a1c3 Author: Oliver Neukum Date: Wed Feb 4 16:38:33 2009 +0100 USB: two more usb ids for ti_usb_3410_5052 This patch adds device IDs and balances the counts to make the hot ID additioning mechanism work. Signed-off-by: Oliver Neukum Cc: stable Cc: Chris Adams Signed-off-by: Greg Kroah-Hartman commit 64905b48098761e779bb848e69365c018894ea81 Author: Dan Carpenter Date: Tue Feb 3 11:11:38 2009 +0300 USB: ftdi_sio: unlock_kernel() on error in set_serial_info() There was one error path where unlock_kernel() wasn't called. This was found with a code checker (http://repo.or.cz/w/smatch.git/) Compile tested only, sorry. Signed-off-by: Dan Carpenter Signed-off-by: Greg Kroah-Hartman commit 506e9469833c66ed6bb9acd902e208f7301b6adb Author: Alan Stern Date: Wed Feb 4 15:48:03 2009 -0500 USB: usb-storage: add Pentax to the bad-vendor list This patch (as1202) adds Pentax to usb-storage's list of bad vendors whose devices always need the CAPACITY_HEURISTICS flag. This is in addition to the existing entries: Nokia, Nikon, and Motorola. Signed-off-by: Alan Stern Tested-by: Virgo Pärna Cc: stable Signed-off-by: Greg Kroah-Hartman commit e38c287447e5a3ff905a59dd81269c14cd12ffa1 Author: Stephane Clerambault Date: Mon Feb 2 13:39:12 2009 -0800 USB: ftdi_sio: add support for the NDI Polaris system Add support for the NDI Polaris system *http://www.ndigital.com/). Cc: Ian Abbott Cc: Oliver Neukum Signed-off-by: Andrew Morton Signed-off-by: Greg Kroah-Hartman commit 78c8fb3717cdff35ad118e17ac7495d0cf21a61f Author: Dave Young Date: Sun Feb 1 18:54:54 2009 +0800 USB: usb-serial: fix the aircable_init failure path The failure path of aircable_init is wrong, fix the order of (goto) labels. Signed-off-by: Dave Young Acked-by: Naranjo Manuel Francisco Signed-off-by: Greg Kroah-Hartman commit 0d020aae0a154cffce680a7775c74788fa0bea92 Author: Alan Stern Date: Mon Feb 2 09:51:01 2009 -0500 USB: usb-storage: remove WARN from last-sector hacks This patch (as1201) removes the WARN() from the last-sector hacks in usb-storage, thereby making the code match the version now in .27-stable and .28-stable. The WARN() isn't needed, since there is no longer any intention of assuming that all storage devices have an even number of sectors, and it annoys users for no good reason. Signed-off-by: Alan Stern Signed-off-by: Greg Kroah-Hartman commit 6b40c0057a7935bcf63a38a924094c7e61d4731f Author: Greg Kroah-Hartman Date: Tue Feb 3 16:02:21 2009 -0800 Revert USB: option: add Pantech cards Revert 8b6346ec899713a90890c9e832f7eff91ea73504 as these devices really work just fine with the cdc-acm driver, as they follow the spec properly. Thanks to Chuck Ebbert for pointing out the problem here. Cc: Chuck Ebbert Cc: Dan Williams Cc: stable Signed-off-by: Greg Kroah-Hartman commit 2057ac86da09955c9f8671e36d4f6bd1e7a5d7d2 Author: James Treacy Date: Thu Jan 29 20:17:17 2009 -0500 USB: cdc-acm.c: remove duplicate lines for MTK gps support The same patch to add support for MTK gps loggers was submitted by two different people and applied twice. Remove the redundant lines. Signed-off-by: James Treacy Signed-off-by: Greg Kroah-Hartman commit af3ddbd76304f9f602c970f9b09a0c9d8cf8336c Author: Anton Vorontsov Date: Thu Dec 25 17:15:14 2008 +0300 USB: fsl_qe_udc: Fix stalled TX requests bug While disabling an endpoint the driver nuking any pending requests, thus completing them with -ESHUTDOWN status. But the driver doesn't clear the tx_req, which means that a next TX request (after ep_enable), might get stalled, since the driver won't queue the new reqests. This patch fixes a bug I'm observing with ethernet gadget while playing with ifconfig usb0 up/down (the up/down sequence disables and enables `in' and `out' endpoints). Signed-off-by: Anton Vorontsov Acked-by: David Brownell Signed-off-by: Greg Kroah-Hartman commit 82341b3690fce8f70998e3cfb79fbffff0eb7e6b Author: Anton Vorontsov Date: Thu Dec 25 17:15:11 2008 +0300 USB: fsl_qe_udc: Fix muram corruption by disabled endpoints Before freeing an endpoint's muram memory, we should stop all activity of the endpoint, otherwise the QE UDC controller might do nasty things with the muram memory that isn't belong to that endpoint anymore. The qe_ep_reset() effectively flushes the hardware fifos, finishes all late transaction and thus prevents the corruption. Signed-off-by: Anton Vorontsov Acked-by: David Brownell Signed-off-by: Greg Kroah-Hartman commit ef84e4055f3561495c4c0e0dfb0b9f4a6e20479d Author: Anton Vorontsov Date: Thu Dec 25 17:15:09 2008 +0300 USB: fsl_qe_udc: Fix disconnects reporting during bus reset Freescale QE UDC controllers can't report the "port change" states, so the only way to handle disconnects is to process bus reset interrupts. The bus reset can take some time, that is, few irqs. Gadgets may print the disconnection events, and this causes few repetitive messages in the kernel log. This patch fixes the issue by using the usb_state machine, if the usb controller has been already reset, just quit the reset irq early. Signed-off-by: Anton Vorontsov Acked-by: David Brownell Signed-off-by: Greg Kroah-Hartman commit 2247818a329687f30d1e5c3a62efc33d07c47522 Author: Anton Vorontsov Date: Thu Dec 25 17:15:07 2008 +0300 USB: fsl_qe_udc: Fix QE USB controller initialization qe_udc_reg_init() leaves the USB controller enabled before muram memory initialized. Sometimes the uninitialized muram memory confuses the controller, and it start sending the busy interrupts. Fix this by disabling the controller, it will be enabled later by the gadget driver, at bind time. Signed-off-by: Anton Vorontsov Signed-off-by: Greg Kroah-Hartman commit a30551db66afa1b53a4fa7ceadddb7122bdcf491 Author: Anton Vorontsov Date: Thu Dec 25 17:15:05 2008 +0300 USB: fsl_qe_udc: Fix recursive locking bug in ch9getstatus() The call chain is this: qe_udc_irq() <- grabs the udc->lock spinlock rx_irq() qe_ep0_rx() ep0_setup_handle() setup_received_handle() ch9getstatus() qe_ep_queue() <- tries to grab the udc->lock again It seems unsafe to temporarily drop the lock in the ch9getstatus(), so to fix that bug the lock-less __qe_ep_queue() function implemented and used by the ch9getstatus(). Signed-off-by: Anton Vorontsov Acked-by: David Brownell Signed-off-by: Greg Kroah-Hartman commit 94f341db3dd080851f918da37e84659ef760da26 Author: Anton Vorontsov Date: Thu Dec 25 17:15:02 2008 +0300 USB: fsl_qe_udc: Fix oops on QE UDC probe failure In case of probing errors the driver kfrees the udc_controller, but it doesn't set the pointer to NULL. When usb_gadget_register_driver is called, it checks for udc_controller != NULL, the check passes and the driver accesses nonexistent memory. Fix this by setting udc_controller to NULL in case of errors. While at it, also implement irq_of_parse_and_map()'s failure and cleanup cases. Signed-off-by: Anton Vorontsov Acked-by: David Brownell Signed-off-by: Greg Kroah-Hartman commit 896abeb743579fc8be0d16d15d6768a158a3a109 Merge: f06da26 9d9b87c Author: Linus Torvalds Date: Mon Feb 9 10:30:19 2009 -0800 Merge branch 'for-2.6.29' of git://linux-nfs.org/~bfields/linux * 'for-2.6.29' of git://linux-nfs.org/~bfields/linux: lockd: fix regression in lockd's handling of blocked locks commit 9d9b87c1218be78ddecbc85ec3bb91c79c1d56ab Author: J. Bruce Fields Date: Wed Feb 4 17:35:38 2009 -0500 lockd: fix regression in lockd's handling of blocked locks If a client requests a blocking lock, is denied, then requests it again, then here in nlmsvc_lock() we will call vfs_lock_file() without FL_SLEEP set, because we've already queued a block and don't need the locks code to do it again. But that means vfs_lock_file() will return -EAGAIN instead of FILE_LOCK_DENIED. So we still need to translate that -EAGAIN return into a nlm_lck_blocked error in this case, and put ourselves back on lockd's block list. The bug was introduced by bde74e4bc64415b1 "locks: add special return value for asynchronous locks". Thanks to Frank van Maarseveen for the report; his original test case was essentially for i in `seq 30`; do flock /nfsmount/foo sleep 10 & done Tested-by: Frank van Maarseveen Reported-by: Frank van Maarseveen Cc: Miklos Szeredi Signed-off-by: J. Bruce Fields commit f06da264cfb0f9444d41ca247213e419f90aa72a Author: Linus Torvalds Date: Mon Feb 9 08:57:29 2009 -0800 i915: Fix more size_t format string warnings The DRI people seem to have a hard time getting these right (see also commit aeb565dfc3ac4c8b47c5049085b4c7bfb2c7d5d7). Signed-off-by: Linus Torvalds commit ff7473300d429118aa97368ba5a16bc63aecfc75 Merge: d7c41b6 d2f5935 Author: Linus Torvalds Date: Mon Feb 9 08:52:28 2009 -0800 Merge branch 'drm-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/airlied/drm-2.6 * 'drm-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/airlied/drm-2.6: drm/i915: select framebuffer support automatically drm/i915: add get_vblank_counter function for GM45 drm/i915: capture last_vblank count at IRQ uninstall time too drm/i915: Unlock mutex on i915_gem_fault() error path drm/i915: Quiet the message on get/setparam ioctl with an unknown value. drm/i915: skip LVDS initialization on Apple Mac Mini drm/i915: sync SDVO code with stable userland modesetting driver drm/i915: Unref the object after failing to set tiling mode. drm/i915: add fence register management to execbuf drm/i915: Return error from i915_gem_object_get_fence_reg() when failing. drm/i915: Set up an MTRR covering the GTT at driver load. drm/i915: Skip SDVO/HDMI init when the chipset tells us it's not present. drm/i915: Suppress GEM teardown on X Server exit in KMS mode. drm/radeon: fix ioremap conflict with AGP mappings i915: fix unneeded locking in i915 LVDS get modes code. commit d7c41b616518457e3bfece12e3f59f15d7450eeb Merge: a8e807f 4f3e797 Author: Linus Torvalds Date: Mon Feb 9 08:52:02 2009 -0800 Merge git://git.kernel.org/pub/scm/linux/kernel/git/herbert/crypto-2.6 * git://git.kernel.org/pub/scm/linux/kernel/git/herbert/crypto-2.6: crypto: scatterwalk - Avoid flush_dcache_page on slab pages crypto: shash - Fix tfm destruction crypto: api - Fix zeroing on free crypto: shash - Fix module refcount crypto: api - Fix algorithm test race that broke aead initialisation commit a8e807f7607ab633de7be4e2f4c350923cc2cb63 Author: David Howells Date: Mon Feb 9 16:47:36 2009 +0000 FRV: in_interrupt() requires #inclusion of linux/hardirq.h not asm/hardirq.h now in_interrupt() requires #inclusion of linux/hardirq.h not asm/hardirq.h now. Signed-off-by: David Howells Signed-off-by: Linus Torvalds commit a5ef7ca0e2636bad0ccd07b996d775348ae2b65e Author: Kyle McMartin Date: Sun Feb 8 17:39:58 2009 -0500 x86: spinlocks: define dummy __raw_spin_is_contended Architectures other than mips and x86 are not using ticket spinlocks. Therefore, the contention on the lock is meaningless, since there is nobody known to be waiting on it (arguably /fairly/ unfair locks). Dummy it out to return 0 on other architectures. Signed-off-by: Kyle McMartin Acked-by: Ralf Baechle Acked-by: Ingo Molnar Signed-off-by: Linus Torvalds commit ae6af41f5a4841f06eb92bc86ad020ad44ae2a30 Author: Tejun Heo Date: Mon Feb 9 22:17:39 2009 +0900 x86: math_emu info cleanup Impact: cleanup * Come on, struct info? s/struct info/struct math_emu_info/ * Use struct pt_regs and kernel_vm86_regs instead of defining its own register frame structure. Signed-off-by: Tejun Heo Signed-off-by: Ingo Molnar commit 914c3d630b29b07d04908eab1b246812dadd5bd6 Author: Tejun Heo Date: Mon Feb 9 22:17:39 2009 +0900 x86: include correct %gs in a.out core dump Impact: dump the correct %gs into a.out core dump aout_dump_thread() read %gs but didn't include it in core dump. Fix it. Signed-off-by: Tejun Heo Signed-off-by: Ingo Molnar commit 55a8ba4b7f76bebd7e8ce3f74c04b140627a1bad Author: Alok Kataria Date: Fri Feb 6 10:29:35 2009 -0800 x86, vmi: put a missing paravirt_release_pmd in pgd_dtor Commit 6194ba6ff6ccf8d5c54c857600843c67aa82c407 ("x86: don't special-case pmd allocations as much") made changes to the way we handle pmd allocations, and while doing that it dropped a call to paravirt_release_pd on the pgd page from the pgd_dtor code path. As a result of this missing release, the hypervisor is now unaware of the pgd page being freed, and as a result it ends up tracking this page as a page table page. After this the guest may start using the same page for other purposes, and depending on what use the page is put to, it may result in various performance and/or functional issues ( hangs, reboots). Since this release is only required for VMI, I now release the pgd page from the (vmi)_pgd_free hook. Signed-off-by: Alok N Kataria Acked-by: Jeremy Fitzhardinge Signed-off-by: Ingo Molnar Cc: commit 3f4a739c6accd651a11fcf3c7a20ec8147c42660 Author: Yinghai Lu Date: Sun Feb 8 16:18:03 2009 -0800 x86: find nr_irqs_gsi with mp_ioapic_routing Impact: find right nr_irqs_gsi on some systems. One test-system has gap between gsi's: [ 0.000000] ACPI: IOAPIC (id[0x04] address[0xfec00000] gsi_base[0]) [ 0.000000] IOAPIC[0]: apic_id 4, version 0, address 0xfec00000, GSI 0-23 [ 0.000000] ACPI: IOAPIC (id[0x05] address[0xfeafd000] gsi_base[48]) [ 0.000000] IOAPIC[1]: apic_id 5, version 0, address 0xfeafd000, GSI 48-54 [ 0.000000] ACPI: IOAPIC (id[0x06] address[0xfeafc000] gsi_base[56]) [ 0.000000] IOAPIC[2]: apic_id 6, version 0, address 0xfeafc000, GSI 56-62 ... [ 0.000000] nr_irqs_gsi: 38 So nr_irqs_gsi is not right. some irq for MSI will overwrite with io_apic. need to get that with acpi_probe_gsi when acpi io_apic is used Signed-off-by: Yinghai Lu Signed-off-by: Ingo Molnar commit 704126ad81b8cb7d3d70adb9ecb143f4d3fb38af Author: Yu Zhao Date: Sun Jan 4 16:28:52 2009 +0800 VT-d: handle Invalidation Queue Error to avoid system hang When hardware detects any error with a descriptor from the invalidation queue, it stops fetching new descriptors from the queue until software clears the Invalidation Queue Error bit in the Fault Status register. Following fix handles the IQE so the kernel won't be trapped in an infinite loop. Signed-off-by: Yu Zhao Signed-off-by: David Woodhouse commit e736ad548db152776de61d7a26805cfae77ce5ce Author: Pallipadi, Venkatesh Date: Fri Feb 6 16:52:05 2009 -0800 x86: add clflush before monitor for Intel 7400 series For Intel 7400 series CPUs, the recommendation is to use a clflush on the monitored address just before monitor and mwait pair [1]. This clflush makes sure that there are no false wakeups from mwait when the monitored address was recently written to. [1] "MONITOR/MWAIT Recommendations for Intel Xeon Processor 7400 series" section in specification update document of 7400 series http://download.intel.com/design/xeon/specupdt/32033601.pdf Signed-off-by: Venkatesh Pallipadi Signed-off-by: Ingo Molnar commit 43f7392ba9e2585bf34f21399b1ed78692b5d437 Author: Joerg Roedel Date: Sat Jan 3 23:56:27 2009 +0100 intel-iommu: fix build error with INTR_REMAP=y and DMAR=n This fix should be safe since iommu->agaw is only used in intel-iommu.c. And this file is only compiled with DMAR=y. Signed-off-by: Joerg Roedel Signed-off-by: David Woodhouse commit 286ce0ac1c524849026f7472b3921b9acf557510 Merge: d5b5623 26a5522 Author: Russell King Date: Mon Feb 9 09:43:47 2009 +0000 Merge branch 'fix' of git://git.kernel.org/pub/scm/linux/kernel/git/ycmiao/pxa-linux-2.6 commit aeb398768345c74a9e4c01aa3ebf839e858312ec Author: David S. Miller Date: Sun Feb 8 22:32:31 2009 -0800 sparc64: Fix probe_kernel_{read,write}(). This is based upon a report from Chris Torek and his initial patch. From Chris's report: -------------------- This came up in testing kgdb, using the built-in tests -- turn on CONFIG_KGDB_TESTS, then echo V1 > /sys/module/kgdbts/parameters/kgdbts -- but it would affect using kgdb if you were debugging and looking at bad pointers. -------------------- When we get a copy_{from,to}_user() request and the %asi is set to something other than ASI_AIUS (which is userspace) then we branch off to a routine called memcpy_user_stub(). It just does a straight memcpy since we are copying from kernel to kernel in this case. The logic was that since source and destination are both kernel pointers we don't need to have exception checks. But for what probe_kernel_{read,write}() is trying to do, we have to have the checks, otherwise things like kgdb bad kernel pointer accesses don't do the right thing. Signed-off-by: David S. Miller commit 40bdac7dbc161639a498697f34fbd1ee800e51f4 Author: David S. Miller Date: Sun Feb 8 22:00:55 2009 -0800 sparc64: Kill .fixup section bloat. This is an implementation of a suggestion made by Chris Torek: -------------------- Something else I noticed in passing: the EX and EX_LD/EX_ST macros scattered throughout the various .S files make a fair bit of .fixup code, all of which does the same thing. At the cost of one symbol in copy_in_user.S, you could just have one common two-instruction retl-and-mov-1 fixup that they all share. -------------------- The following is with a defconfig build: text data bss dec hex filename 3972767 344024 584449 4901240 4ac978 vmlinux.orig 3968887 344024 584449 4897360 4aba50 vmlinux Signed-off-by: David S. Miller commit 4f3e797ad07d52d34983354a77b365dfcd48c1b4 Author: Herbert Xu Date: Mon Feb 9 14:22:14 2009 +1100 crypto: scatterwalk - Avoid flush_dcache_page on slab pages It's illegal to call flush_dcache_page on slab pages on a number of architectures. So this patch avoids doing so if PageSlab is true. In future we can move the flush_dcache_page call to those page cache users that actually need it. Reported-by: David S. Miller Signed-off-by: Herbert Xu commit b3df68f8f5a29888ae693fdb84ebabbc28ed9400 Author: Dhananjay Phadke Date: Sun Feb 8 19:20:19 2009 -0800 netxen: fix msi-x interrupt handling o Cut down msi-x vectors from 8 to 1 since only one is used for now. o Use separate handler for msi-x, that doesn't unnecessarily scrub msi status register. Signed-off-by: Dhananjay Phadke Signed-off-by: David S. Miller commit b991d2bc4a6e1821555bdc2a682f9aed24650c98 Author: Risto Suominen Date: Sun Feb 8 17:50:34 2009 -0800 de2104x: force correct order when writing to rx ring DescOwn should not be set, thus allowing the chip to use the descriptor, before everything else is set up correctly. Signed-off-by: Risto Suominen Signed-off-by: David S. Miller commit cfbf84fcbcda98bb91ada683a8dc8e6901a83ebd Author: Alex Williamson Date: Sun Feb 8 17:49:17 2009 -0800 tun: Fix unicast filter overflow Tap devices can make use of a small MAC filter set via the TUNSETTXFILTER ioctl. The filter has a set of exact matches plus a hash for imperfect filtering of additional multicast addresses. The current code is unbalanced, adding unicast addresses to the multicast hash, but only checking the hash against multicast addresses. This results in the filter dropping unicast addresses that overflow the exact filter. The fix is simply to disable the filter by leaving count set to zero if we find non-multicast addresses after the exact match table is filled. Signed-off-by: Alex Williamson Signed-off-by: David S. Miller commit 23b904f35128f3c596831cc3320bab1f2db81f60 Author: Julia Lawall Date: Sun Feb 8 17:00:49 2009 -0800 drivers/isdn: introduce missing kfree Error handling code following a kmalloc should free the allocated data. The semantic match that finds the problem is as follows: (http://www.emn.fr/x-info/coccinelle/) // @r exists@ local idexpression x; statement S; expression E; identifier f,l; position p1,p2; expression *ptr != NULL; @@ ( if ((x@p1 = \(kmalloc\|kzalloc\|kcalloc\)(...)) == NULL) S | x@p1 = \(kmalloc\|kzalloc\|kcalloc\)(...); ... if (x == NULL) S ) <... when != x when != if (...) { <+...x...+> } x->f = E ...> ( return \(0\|<+...x...+>\|ptr\); | return@p2 ...; ) @script:python@ p1 << r.p1; p2 << r.p2; @@ print "* file: %s kmalloc %s return %s" % (p1[0].file,p1[0].line,p2[0].line) // Signed-off-by: Julia Lawall Signed-off-by: David S. Miller commit bc111d570ba87cff48ec8dfa15a2a598e59c0f4b Author: Julia Lawall Date: Sun Feb 8 17:00:02 2009 -0800 drivers/atm: introduce missing kfree Error handling code following a kmalloc should free the allocated data. The semantic match that finds the problem is as follows: (http://www.emn.fr/x-info/coccinelle/) // @r exists@ local idexpression x; statement S; expression E; identifier f,l; position p1,p2; expression *ptr != NULL; @@ ( if ((x@p1 = \(kmalloc\|kzalloc\|kcalloc\)(...)) == NULL) S | x@p1 = \(kmalloc\|kzalloc\|kcalloc\)(...); ... if (x == NULL) S ) <... when != x when != if (...) { <+...x...+> } x->f = E ...> ( return \(0\|<+...x...+>\|ptr\); | return@p2 ...; ) @script:python@ p1 << r.p1; p2 << r.p2; @@ print "* file: %s kmalloc %s return %s" % (p1[0].file,p1[0].line,p2[0].line) // Signed-off-by: Julia Lawall Signed-off-by: David S. Miller commit d5b562330ec766292a3ac54ae5e0673610bd5b3d Author: Hugh Dickins Date: Sun Feb 8 20:56:58 2009 +0000 mm: fix error case in mlock downgrade reversion Commit 27421e211a39784694b597dbf35848b88363c248, Manually revert "mlock: downgrade mmap sem while populating mlocked regions", has introduced its own regression: __mlock_vma_pages_range() may report an error (for example, -EFAULT from trying to lock down pages from beyond EOF), but mlock_vma_pages_range() must hide that from its callers as before. Reported-by: Sami Farin Signed-off-by: Hugh Dickins Cc: stable@kernel.org Signed-off-by: Linus Torvalds commit 8e4921515c1a379539607eb443d51c30f4f7f338 Author: Linus Torvalds Date: Sun Feb 8 12:37:20 2009 -0800 Linux 2.6.29-rc4 commit 58edf8ee5e3319373dae9d9038e1a8469a83bb76 Merge: 1fb25cb f7de762 Author: Linus Torvalds Date: Sun Feb 8 12:35:26 2009 -0800 Merge git://git.kernel.org/pub/scm/linux/kernel/git/arjan/linux-2.6-async-update * git://git.kernel.org/pub/scm/linux/kernel/git/arjan/linux-2.6-async-update: async: use list_move_tail async: Rename _special -> _domain for clarity. async: Add some documentation. async: Handle kthread_run() return codes. async: Fix running list handling. commit 1fb25cb8b83e85f5bf1a4adb3c9a254c4ce92405 Author: Benjamin Herrenschmidt Date: Thu Feb 5 12:06:52 2009 +1100 radeonfb: Fix resume from D3Cold on some platforms For historical reason, this driver used its own saving/restoring of the PCI config space, and used the state of it on resume as an indication as to whether it needed to re-POST the chip or not. This methods breaks with the later core changes since the core will have restored things for us. This patch fixes it by removing that custom code, using standard core methods to save/restore state, and testing for the need to re-POST by comparing the content of a few key PLL registers. Signed-off-by: Benjamin Herrenschmidt Signed-off-by: Linus Torvalds commit b746bb77627cba62765ff2afeec9cc9a8cbb926c Author: Benjamin Herrenschmidt Date: Thu Feb 5 12:06:51 2009 +1100 aty128fb: Properly save PCI state before changing PCI PM level This fixes aty128fb to properly save the PCI config space -before- it potentially switches the PM state of the chip. This avoids a warning with the new PM core and is the right thing to do anyway. I also replaced the hand-coded switch to D2 with a call to the genericc pci_set_power_state() and removed the code that switches it back to D0 since the generic code is doing that for us nowadays. Signed-off-by: Benjamin Herrenschmidt Signed-off-by: Linus Torvalds commit b7468168631e03c70105491a0236137868613436 Author: Benjamin Herrenschmidt Date: Thu Feb 5 12:06:50 2009 +1100 atyfb: Properly save PCI state before changing PCI PM level This fixes atyfb to properly save the PCI config space -before- it potentially switches the PM state of the chip. This avoids a warning with the new PM core and is the right thing to do anyway. I also slightly cleaned up the code that checks whether we are running on a PowerMac to do a runtime check instead of a compile check only, and replaced a deprecated number with the proper symbolic constant. Finally, I removed the useless switch to D0 from resume since the core does it for us. Signed-off-by: Benjamin Herrenschmidt Signed-off-by: Linus Torvalds commit f7de7621f07495ad14fb23a812003bcf8f6af65a Author: Stefan Richter Date: Mon Feb 2 13:24:34 2009 +0100 async: use list_move_tail list.h provides a dedicated primitive for "list_del followed by list_add_tail"... list_move_tail. Signed-off-by: Arjan van de Ven Signed-off-by: Stefan Richter commit 766ccb9ed406c230d13c145def08ebea1b932982 Author: Cornelia Huck Date: Tue Jan 20 15:31:31 2009 +0100 async: Rename _special -> _domain for clarity. Rename the async_*_special() functions to async_*_domain(), which describes the purpose of these functions much better. [Broke up long lines to silence checkpatch] Signed-off-by: Cornelia Huck Signed-off-by: Arjan van de Ven commit f30d5b307c694e03368ab55f2f96b0ca4131e775 Author: Cornelia Huck Date: Mon Jan 19 13:45:33 2009 +0100 async: Add some documentation. Add some kerneldoc to the async interface. Signed-off-by: Cornelia Huck Signed-off-by: Arjan van de Ven commit 86532d8b167e71e24da8b564348b52977b76d15f Author: Cornelia Huck Date: Mon Jan 19 13:45:31 2009 +0100 async: Handle kthread_run() return codes. If we fail to create the manager thread, fall back to non-fastboot. If we fail to create an async thread, try again after waiting for a bit. Signed-off-by: Cornelia Huck Signed-off-by: Arjan van de Ven commit 7a89bbc74937cd74a6bcf109cfc7c032109639be Author: Cornelia Huck Date: Mon Jan 19 13:45:28 2009 +0100 async: Fix running list handling. async_schedule() should pass in async_running as the running list, and run_one_entry() should put the entry to be run on the provided running list instead of always on the generic one. Reported-by: Jonathan Corbet Signed-off-by: Cornelia Huck Signed-off-by: Arjan van de Ven commit d2f59357700487a8b944f4f7777d1e97cf5ea2ed Author: Ingo Molnar Date: Thu Feb 5 16:03:34 2009 +0100 drm/i915: select framebuffer support automatically Migration helper. The i915 driver recently added a 'depends on FB' rule to its Kconfig entry - which silently turns off DRM_I915 if someone has a working config but no CONFIG_FB selected, and upgrades to the latest upstream kernel. Norbert Preining reported this problem: Bug-Entry : http://bugzilla.kernel.org/show_bug.cgi?id=12599 Subject : dri /dev node disappeared with 2.6.29-rc1 So change it to "select FB", which auto-selects framebuffer support. This way the driver keeps working, regardless of whether FB was enabled before or not. Kconfig select's of interactive options can be problematic to dependencies and can cause build breakages - but in this case it's safe because it's a leaf entry with no dependencies of its own. ( There is some minor circular dependency fallout as FB_I810 and FB_INTEL also used 'depends on FB' constructs - update those to "select FB" too. ) Reported-by: Norbert Preining Signed-off-by: Ingo Molnar Signed-off-by: Dave Airlie commit 9880b7a527ffbb52f65c2de0a8d4eea86e24775e Author: Jesse Barnes Date: Fri Feb 6 10:22:41 2009 -0800 drm/i915: add get_vblank_counter function for GM45 As discussed in the long thread about vblank related timeouts, it turns out GM45 has different frame count registers than previous chips. This patch adds support for them, which prevents us from waiting on really stale sequence values in drm_wait_vblank (which rather than returning immediately ends up timing out or getting interrupted). Signed-off-by: Jesse Barnes Signed-off-by: Dave Airlie commit 14d200c5e5bd19219d930bbb9a5a22758c8f5bec Author: Jesse Barnes Date: Fri Feb 6 13:04:49 2009 -0800 drm/i915: capture last_vblank count at IRQ uninstall time too In dc1336ff4fe08ae7cfe8301bfd7f0b2cfd31d20a (set vblank enable flag correctly across IRQ uninstall), we made sure drivers that uninstall their interrupt handler set the vblank enabled flag correctly, so that when interrupts are re-enabled, vblank interrupts & counts work as expected. However I missed the last_vblank field: it needs to be updated as well, otherwise, at the next drm_update_vblank_count we'll end up comparing a current count to a stale one (the last one captured by the disable function), which may trigger the wraparound handling, leading to a jumpy counter and hangs in drm_wait_vblank. The jumpy counter can prevent the DRM_WAIT_ON from returning success if the difference between the current count and the requested count is greater than 2^23, leading to timeouts or hangs, if the ioctl is restarted in a loop (as is the case in libdrm < 2.4.4). Signed-off-by: Jesse Barnes Acked-by: Michel Dänzer Tested-by: Timo Aaltonen Signed-off-by: Dave Airlie commit 7d8d58b23fd01e60ed44d8d8c10b2df86e638faa Author: Chris Wilson Date: Wed Feb 4 14:15:10 2009 +0000 drm/i915: Unlock mutex on i915_gem_fault() error path If we failed to allocate a new fence register we would return VM_FAULT_SIGBUS without relinquishing the lock. Signed-off-by: Chris Wilson Signed-off-by: Eric Anholt Signed-off-by: Dave Airlie commit 122ee2a63bc49d21f402f6b6d2208306cdcc98c1 Author: Eric Anholt Date: Tue Feb 3 12:10:21 2009 -0800 drm/i915: Quiet the message on get/setparam ioctl with an unknown value. Getting an unknown get/setparam used to be more significant back when they didn't change much. However, now that we're in the git world we're using them instead of a monotonic version number to signal feature availability, so clients ask about unknown params on older kernels more often. Signed-off-by: Eric Anholt Signed-off-by: Dave Airlie commit 565dcd4635f4f8c0ac4dee38a5625bc325799b1e Author: Paul Collins Date: Wed Feb 4 23:05:41 2009 +1300 drm/i915: skip LVDS initialization on Apple Mac Mini The Apple Mac Mini falsely reports LVDS. Use DMI to check whether we are running on a Mac Mini, and skip LVDS initialization if that proves to be the case. Signed-off-by: Paul Collins Signed-off-by: Eric Anholt Signed-off-by: Dave Airlie commit e2f0ba97d60e59fe5c6237851933a9c38a8f9a24 Author: Jesse Barnes Date: Mon Feb 2 15:11:52 2009 -0800 drm/i915: sync SDVO code with stable userland modesetting driver Pull in an update from the 2D driver (hopefully the last one, future work should be done here and pulled back into xf86-video-intel as needed). Signed-off-by: Jesse Barnes Signed-off-by: Eric Anholt Signed-off-by: Dave Airlie commit 72daad40dc0be179e0dc85c17d5dc1e850b5e8e4 Author: Chris Wilson Date: Fri Jan 30 21:10:22 2009 +0000 drm/i915: Unref the object after failing to set tiling mode. Cleanup the object reference on the error paths. Signed-off-by: Chris Wilson Signed-off-by: Eric Anholt Signed-off-by: Dave Airlie commit 0f973f27888e4664b253ab2cf69c67c2eb80ab1b Author: Jesse Barnes Date: Mon Jan 26 17:10:45 2009 -0800 drm/i915: add fence register management to execbuf Adds code to set up fence registers at execbuf time on pre-965 chips as necessary. Also fixes up a few bugs in the pre-965 tile register support (get_order != ffs). The number of fences available to the kernel defaults to the hw limit minus 3 (for legacy X front/back/depth), but a new parameter allows userspace to override that as needed. Signed-off-by: Jesse Barnes Signed-off-by: Eric Anholt Signed-off-by: Dave Airlie commit d9ddcb96e05cfbadf3dbf66859bcaf5eae25af0b Author: Eric Anholt Date: Tue Jan 27 10:33:49 2009 -0800 drm/i915: Return error from i915_gem_object_get_fence_reg() when failing. Previously, the caller would continue along without knowing that the function failed, resulting in potential mis-rendering. Right now vm_fault just returns SIGBUS in that case, and we may need to disable signal handling to avoid that happening. Signed-off-by: Eric Anholt Signed-off-by: Dave Airlie commit ab657db12d7020629f26f30d287558a8d0e32b41 Author: Eric Anholt Date: Fri Jan 23 12:57:47 2009 -0800 drm/i915: Set up an MTRR covering the GTT at driver load. We'd love to just be using PAT, but even on chips with PAT it gets disabled sometimes due to an errata. It would probably be better to have pat_enabled exported and only bother with this when !pat_enabled. Signed-off-by: Eric Anholt Signed-off-by: Dave Airlie commit 725e30ad6601d7fe443d9215d6331758a9d7e0c8 Author: Eric Anholt Date: Thu Jan 22 13:01:02 2009 -0800 drm/i915: Skip SDVO/HDMI init when the chipset tells us it's not present. This saves startup time from probing SDVO, and saves setting up HDMI outputs on G4X devices that don't have them. Signed-off-by: Dave Airlie commit e806b4957412bf472d826bd8cc571da041248799 Author: Eric Anholt Date: Thu Jan 22 09:56:58 2009 -0800 drm/i915: Suppress GEM teardown on X Server exit in KMS mode. Fixes hangs when starting X for the second time. Signed-off-by: Eric Anholt Signed-off-by: Dave Airlie commit 9b8d5a124f133fe9a75397d20b874844a2e3d7e9 Author: Dave Airlie Date: Sat Feb 7 11:15:41 2009 +1000 drm/radeon: fix ioremap conflict with AGP mappings this solves a regression from http://bugzilla.kernel.org/show_bug.cgi?id=12441 Reported-by: Daniel Vetter Signed-off-by: Dave Airlie commit e83102cab0fd95d4508361b061146c978b3abd60 Merge: 7f9a50a 5294e25 Author: Linus Torvalds Date: Sat Feb 7 10:46:30 2009 -0800 Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jbarnes/pci-2.6 * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jbarnes/pci-2.6: PCI PM: make the PM core more careful with drivers using the new PM framework PCI PM: Read power state from device after trying to change it on resume PCI PM: Do not disable and enable bridges during suspend-resume PCI: PCIe portdrv: Simplify suspend and resume PCI PM: Fix saving of device state in pci_legacy_suspend PCI PM: Check if the state has been saved before trying to restore it PCI PM: Fix handling of devices without drivers PCI: return error on failure to read PCI ROMs PCI: properly clean up ASPM link state on device remove commit 7f9a50a5b89b87f8e754f59ae9968da28be618a5 Author: Rusty Russell Date: Sat Feb 7 18:15:56 2009 +1030 module: remove over-zealous check in __module_get() Impact: fix spurious BUG_ON() triggered under load module_refcount() isn't reliable outside stop_machine(), as demonstrated by Karsten Keil , networking can trigger it under load (an inc on one cpu and dec on another while module_refcount() is tallying can give false results, for example). Almost noone should be using __module_get, but that's another issue. Cc: Karsten Keil Signed-off-by: Rusty Russell Signed-off-by: Linus Torvalds commit f12b12a8aecfcafcf2f9df1c1658d2484959dfda Merge: ccfef64 2d29c6a Author: Linus Torvalds Date: Sat Feb 7 08:30:20 2009 -0800 Merge branch 'release' of git://git.kernel.org/pub/scm/linux/kernel/git/lenb/linux-acpi-2.6 * 'release' of git://git.kernel.org/pub/scm/linux/kernel/git/lenb/linux-acpi-2.6: (30 commits) ACPI: Kconfig text - Fix the ACPI_CONTAINER module name according to the real module name. eeepc-laptop: fix oops when changing backlight brightness during eeepc-laptop init ACPICA: Fix table entry truncation calculation ACPI: Enable bit 11 in _PDC to advertise hw coord ACPI: struct device - replace bus_id with dev_name(), dev_set_name() ACPI: add missing KERN_* constants to printks ACPI: dock: Don't eval _STA on every show_docked sysfs read ACPI: disable ACPI cleanly when bad RSDP found ACPI: delete CPU_IDLE=n code ACPI: cpufreq: Remove deprecated /proc/acpi/processor/../performance proc entries ACPI: make some IO ports off-limits to AML ACPICA: add debug dump of BIOS _OSI strings ACPI: proc_dir_entry 'video/VGA' already registered ACPI: Skip the first two elements in the _BCL package ACPI: remove BM_RLD access from idle entry path ACPI: remove locking from PM1x_STS register reads eeepc-laptop: use netlink interface eeepc-laptop: Implement rfkill hotplugging in eeepc-laptop eeepc-laptop: Check return values from rfkill_register eeepc-laptop: Add support for extended hotkeys ... commit 0b492fce3d72d982a7981905f85484a1e1ba7fde Author: David S. Miller Date: Sat Feb 7 02:20:25 2009 -0800 sunhme: Don't match PCI devices in SBUS probe. Unfortunately, the OF device tree nodes for SBUS and PCI hme devices have the same device node name on some systems. So if the name of the parent node isn't 'sbus', skip it. Based upon an excellent report and detective work by Meelis Roos and Eric Brower. Signed-off-by: David S. Miller Tested-by: Meelis Roos commit 2d29c6a075787f2c1bc49b86a084d2b878f72fc4 Merge: 2b25c9f 0a3db1c 9fdd54f 5ec5d38 4312495 370154b 4d93915 62663ea Author: Len Brown Date: Sat Feb 7 01:34:56 2009 -0500 Merge branches 'release', 'asus', 'bugzilla-12450', 'cpuidle', 'debug', 'ec', 'misc', 'printk' and 'processor' into release commit 370154bbefb627cb5f987f5646284755c7684bc8 Author: Thierry Vignaud Date: Sat Feb 7 01:12:19 2009 -0500 ACPI: Kconfig text - Fix the ACPI_CONTAINER module name according to the real module name. Signed-off-by: Andrew Morton Signed-off-by: Len Brown commit beeebc92ee04bff6a722ebf85e23131faedd4479 Author: Eric Van Hensbergen Date: Fri Feb 6 22:07:41 2009 -0800 9p: fix endian issues [attempt 3] When the changes were done to the protocol last release, some endian bugs crept in. This patch fixes those endian problems and has been verified to run on 32/64 bit and x86/ppc architectures. This version of the patch incorporates the correct annotations for endian variables. Signed-off-by: Eric Van Hensbergen Signed-off-by: David S. Miller commit b4bd07c20ba0c1fa7ad09ba257e0a5cfc2bf6bb3 Author: David S. Miller Date: Fri Feb 6 22:06:43 2009 -0800 net_dma: call dmaengine_get only if NET_DMA enabled Based upon a patch from Atsushi Nemoto -------------------- The commit 649274d993212e7c23c0cb734572c2311c200872 ("net_dma: acquire/release dma channels on ifup/ifdown") added unconditional call of dmaengine_get() to net_dma. The API should be called only if NET_DMA was enabled. -------------------- Signed-off-by: David S. Miller Acked-by: Dan Williams commit 152abd139cca049c9b559a7cca762fa7fd9fd264 Author: Ondrej Zary Date: Fri Feb 6 22:04:08 2009 -0800 3c509: Fix resume from hibernation for PnP mode. From: Ondrej Zary last year, I posted a patch which fixed hibernation on 3c509 cards. That was back in 2.6.24. It worked fine in 2.6.25. But then I stopped using hibernation (as it did not work with my new IT8212 RAID controller). Now I fixed it and noticed that 3c509 does not wake up properly anymore (in 2.6.28) - neither in PnP nor in ISA modes. ifconfig down/up makes the card work again in PnP mode. However, in ISA mode, ifconfig up ends with "No such device" error. Comparing the 3c509 driver between 2.6.25 and 2.6.28, there's only some statistics-related change. So the cause of the problem must be somewhere else. This patch makes the resume work in PnP mode, but it's still not enough for ISA mode. Signed-off-by: David S. Miller commit 7695fb04aca62e2d8a7ca6ede50f6211e1d71e53 Author: Darren Salt Date: Sat Feb 7 01:02:07 2009 -0500 eeepc-laptop: fix oops when changing backlight brightness during eeepc-laptop init I got the following oops while changing the backlight brightness during startup. When it happens, it prevents use of the hotkeys, Fn-Fx, and the lid button. It's a clear use-before-init, as I verified by testing with an appropriately-placed "else printk". BUG: unable to handle kernel NULL pointer dereference at 00000000 *pde = 00000000 Oops: 0002 [#1] PREEMPT SMP Pid: 160, comm: kacpi_notify Not tainted (2.6.28.1-eee901 #4) 901 EIP: 0060:[] [] eeepc_hotk_notify+26/da EFLAGS: 00010246 CPU: 1 Using defaults from ksymoops -t elf32-i386 -a i386 EAX: 00000009 EBX: 00000000 ECX: 00000009 EDX: f70dbf64 ESI: 00000029 EDI: f7335188 EBP: c02112c9 ESP: f70dbf80 DS: 007b ES: 007b FS: 00d8 GS: 0000 SS: 0068 f70731e0 f73acd50 c02164ac f7335180 f70aa040 c02112e6 f733518c c012b62f f70aa044 f70aa040 c012bdba f70aa04c 00000000 c012be6e 00000000 f70bdf80 c012e198 f70dbfc4 f70dbfc4 f70aa040 c012bdba 00000000 c012e0c9 c012e091 Call Trace: [] ? acpi_ev_notify_dispatch+4c/55 [] ? acpi_os_execute_deferred+1d/25 [] ? run_workqueue+71/f1 [] ? worker_thread+0/bf [] ? worker_thread+b4/bf [] ? autoremove_wake_function+0/2b [] ? worker_thread+0/bf [] ? kthread+38/5f [] ? kthread+0/5f [] ? kernel_thread_helper+7/10 Code: 00 00 00 00 c3 83 3d 60 5c 50 c0 00 56 89 d6 53 0f 84 c4 00 00 00 8d 42 e0 83 f8 0f 77 0f 8b 1d 68 5c 50 c0 89 d8 e8 a9 fa ff ff <89> 03 8b 1d 60 5c 50 c0 89 f2 83 e2 7f 0f b7 4c 53 10 8d 41 01 Signed-off-by: Darren Salt Signed-off-by: Andrew Morton Signed-off-by: Len Brown commit 71822faa3bc0af5dbf5e333a2d085f1ed7cd809f Author: Ilkka Virta Date: Fri Feb 6 22:00:36 2009 -0800 sungem: Soft lockup in sungem on Netra AC200 when switching interface up From: Ilkka Virta In the lockup situation the driver seems to go off in an eternal storm of interrupts right after calling request_irq(). It doesn't actually do anything interesting in the interrupt handler. Since connecting the link afterwards works, something later in initialization must fix this. Looking at gem_do_start() and gem_open(), it seems that the only thing done while opening the device after the request_irq(), is a call to napi_enable(). I don't know what the ordering requirements are for the initialization, but I boldly tried to move the napi_enable() call inside gem_do_start() before the link state is checked and interrupts subsequently enabled, and it seems to work for me. Doesn't even break anything too obvious... Signed-off-by: David S. Miller commit 386e4a8358239f90275e1f93d5ad11cdc93c6453 Author: Myron Stowe Date: Fri Jan 30 15:44:53 2009 -0700 ACPICA: Fix table entry truncation calculation During early boot, ACPI RSDT/XSDT table entries are gathered into the 'initial_tables[]' array. This array is currently statically defined (see ./drivers/acpi/tables.c). When there are more table entries than can be held in the 'initial_tables[]' array, the message "Truncating N table entries!" is output. As currently implemented, this message will always erroneously calculate N as 0. This patch fixes the calculation that determines how many table entries will be missing (truncated). This modification may be used under either the GPL or the BSD-style license used for Intel ACPI CA code. Signed-off-by: Myron Stowe Signed-off-by: Andrew Morton Signed-off-by: Len Brown commit 15bde72738f373aa060ececeda8e064e4f924360 Author: David Howells Date: Fri Feb 6 21:50:52 2009 -0800 RxRPC: Fix a potential NULL dereference Fix a potential NULL dereference bug during error handling in rxrpc_kernel_begin_call(), whereby rxrpc_put_transport() may be handed a NULL pointer. This was found with a code checker (http://repo.or.cz/w/smatch.git/). Reported-by: Dan Carpenter Signed-off-by: David Howells Signed-off-by: David S. Miller commit 355423d0849f4506bc71ab2738d38cb74429aaef Author: Ivan Vecera Date: Fri Feb 6 21:49:57 2009 -0800 r8169: Don't update statistics counters when interface is down Some Realtek chips (RTL8169sb/8110sb in my case) are unable to retrieve ethtool statistics when the interface is down. The process stays in endless loop in rtl8169_get_ethtool_stats. This is because these chips need to have receiver enabled (CmdRxEnb bit in ChipCmd register) that is cleared when the interface is going down. It's better to update statistics only when the interface is up and otherwise return copy of statistics grabbed when the interface was up (in rtl8169_close). It is interesting that PCI-E NICs (like 8168b/8111b...) are not affected. Signed-off-by: Ivan Vecera Acked-by: Francois Romieu Signed-off-by: David S. Miller commit d96f94c604453f87fe24154b87e1e9a3a72511f8 Author: Pallipadi, Venkatesh Date: Mon Feb 2 11:57:18 2009 -0800 ACPI: Enable bit 11 in _PDC to advertise hw coord Bit 11 in intel PDC definitions is meant for OS capability to handle hardware coordination of P-states. In Linux we have always supported hwardware coordination of P-states. Just let the BIOSes know that we support it, by setting this bit. Some BIOSes use this bit to choose between hardware or software coordination and without this change below, BIOSes switch to software coordination, which is not very optimal in terms of power consumption and extra wakeups from idle. Signed-off-by: Venkatesh Pallipadi Signed-off-by: Len Brown commit db1461ad431f0fd21afcd8ea6594ae38fdc57759 Author: Kay Sievers Date: Sun Jan 25 23:40:56 2009 +0100 ACPI: struct device - replace bus_id with dev_name(), dev_set_name() Signed-off-by: Kay Sievers Acked-by: Greg Kroah-Hartman Signed-off-by: Len Brown commit 4d9391557b68475b118ec7626607c37b14ae8c16 Author: Frank Seidel Date: Wed Feb 4 17:03:07 2009 +0100 ACPI: add missing KERN_* constants to printks According to kerneljanitors todo list all printk calls (beginning a new line) should have an according KERN_* constant. Those are the missing peaces here for the acpi subsystem. Signed-off-by: Frank Seidel Signed-off-by: Len Brown commit fc5a9f8841ee87d93376ada5d73117d4d6a373ea Author: Holger Macht Date: Tue Jan 20 12:18:24 2009 +0100 ACPI: dock: Don't eval _STA on every show_docked sysfs read Some devices trigger a DEVICE_CHECK on every evalutation of _STA. This can also be seen in commit 8b59560a3baf2e7c24e0fb92ea5d09eca92805db (ACPI: dock: avoid check _STA method). If an undock is processed, the dock driver sends a uevent and userspace might read the show_docked property in sysfs. This causes an evaluation of _STA of the particular device which causes the dock driver to immediately dock again. In any case, evaluation of _STA (show_docked) does not necessarily mean that we are docked, so check with the internal device structure. http://bugzilla.kernel.org/show_bug.cgi?id=12360 Signed-off-by: Holger Macht Signed-off-by: Len Brown commit ccfef64621ef1e8c7726581b38eb8b98fd2a8afb Merge: ae1a25d 0bf2f3a Author: Linus Torvalds Date: Fri Feb 6 18:52:55 2009 -0800 Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jmorris/security-testing-2.6 * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jmorris/security-testing-2.6: CRED: Fix SUID exec regression commit ae1a25da8448271a99745da03100d5299575a269 Merge: fd9fc84 42f15d7 Author: Linus Torvalds Date: Fri Feb 6 18:37:22 2009 -0800 Merge git://git.kernel.org/pub/scm/linux/kernel/git/mason/btrfs-unstable * git://git.kernel.org/pub/scm/linux/kernel/git/mason/btrfs-unstable: (37 commits) Btrfs: Make sure dir is non-null before doing S_ISGID checks Btrfs: Fix memory leak in cache_drop_leaf_ref Btrfs: don't return congestion in write_cache_pages as often Btrfs: Only prep for btree deletion balances when nodes are mostly empty Btrfs: fix btrfs_unlock_up_safe to walk the entire path Btrfs: change btrfs_del_leaf to drop locks earlier Btrfs: Change btrfs_truncate_inode_items to stop when it hits the inode Btrfs: Don't try to compress pages past i_size Btrfs: join the transaction in __btrfs_setxattr Btrfs: Handle SGID bit when creating inodes Btrfs: Make btrfs_drop_snapshot work in larger and more efficient chunks Btrfs: Change btree locking to use explicit blocking points Btrfs: hash_lock is no longer needed Btrfs: disable leak debugging checks in extent_io.c Btrfs: sort references by byte number during btrfs_inc_ref Btrfs: async threads should try harder to find work Btrfs: selinux support Btrfs: make btrfs acls selectable Btrfs: Catch missed bios in the async bio submission thread Btrfs: fix readdir on 32 bit machines ... commit fd9fc842bbab0cb5560b0d52ce4598c898707863 Author: Tyler Hicks Date: Fri Feb 6 18:06:51 2009 -0600 eCryptfs: Regression in unencrypted filename symlinks The addition of filename encryption caused a regression in unencrypted filename symlink support. ecryptfs_copy_filename() is used when dealing with unencrypted filenames and it reported that the new, copied filename was a character longer than it should have been. This caused the return value of readlink() to count the NULL byte of the symlink target. Most applications don't care about the extra NULL byte, but a version control system (bzr) helped in discovering the bug. Signed-off-by: Tyler Hicks Signed-off-by: Linus Torvalds commit eeb94855beeb7fde5f9e2ed72fe6a8b24cd5a3c7 Merge: 1d87b0d c09249f Author: Linus Torvalds Date: Fri Feb 6 18:36:02 2009 -0800 Merge branch 'x86/fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/frob/linux-2.6-roland * 'x86/fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/frob/linux-2.6-roland: x86-64: fix int $0x80 -ENOSYS return commit c09249f8d1b84344eca882547afdbffee8c09d14 Author: Roland McGrath Date: Fri Feb 6 18:15:18 2009 -0800 x86-64: fix int $0x80 -ENOSYS return One of my past fixes to this code introduced a different new bug. When using 32-bit "int $0x80" entry for a bogus syscall number, the return value is not correctly set to -ENOSYS. This only happens when neither syscall-audit nor syscall tracing is enabled (i.e., never seen if auditd ever started). Test program: /* gcc -o int80-badsys -m32 -g int80-badsys.c Run on x86-64 kernel. Note to reproduce the bug you need auditd never to have started. */ #include #include int main (void) { long res; asm ("int $0x80" : "=a" (res) : "0" (99999)); printf ("bad syscall returns %ld\n", res); return res != -ENOSYS; } The fix makes the int $0x80 path match the sysenter and syscall paths. Reported-by: Dmitry V. Levin Signed-off-by: Roland McGrath commit 1d87b0d388c65feb890f1e0aa832338a33d0760f Merge: d4cf109 92dc07b Author: Linus Torvalds Date: Fri Feb 6 18:10:04 2009 -0800 Merge branch 'to-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/frob/linux-2.6-roland * 'to-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/frob/linux-2.6-roland: elf core dump: fix get_user use commit 92dc07b1f988e8c237a38e23be660b9b8533e6fd Author: Roland McGrath Date: Fri Feb 6 17:34:07 2009 -0800 elf core dump: fix get_user use The elf_core_dump() code does its work with set_fs(KERNEL_DS) in force, so vma_dump_size() needs to switch back with set_fs(USER_DS) to safely use get_user() for a normal user-space address. Checking for VM_READ optimizes out the case where get_user() would fail anyway. The vm_file check here was already superfluous given the control flow earlier in the function, so that is a cleanup/optimization unrelated to other changes but an obvious and trivial one. Reported-by: Gerald Schaefer Signed-off-by: Roland McGrath commit 0bf2f3aec5474da80a60e1baca629af87ecb67b6 Author: David Howells Date: Fri Feb 6 11:45:46 2009 +0000 CRED: Fix SUID exec regression The patch: commit a6f76f23d297f70e2a6b3ec607f7aeeea9e37e8d CRED: Make execve() take advantage of copy-on-write credentials moved the place in which the 'safeness' of a SUID/SGID exec was performed to before de_thread() was called. This means that LSM_UNSAFE_SHARE is now calculated incorrectly. This flag is set if any of the usage counts for fs_struct, files_struct and sighand_struct are greater than 1 at the time the determination is made. All of which are true for threads created by the pthread library. However, since we wish to make the security calculation before irrevocably damaging the process so that we can return it an error code in the case where we decide we want to reject the exec request on this basis, we have to make the determination before calling de_thread(). So, instead, we count up the number of threads (CLONE_THREAD) that are sharing our fs_struct (CLONE_FS), files_struct (CLONE_FILES) and sighand_structs (CLONE_SIGHAND/CLONE_THREAD) with us. These will be killed by de_thread() and so can be discounted by check_unsafe_exec(). We do have to be careful because CLONE_THREAD does not imply FS or FILES. We _assume_ that there will be no extra references to these structs held by the threads we're going to kill. This can be tested with the attached pair of programs. Build the two programs using the Makefile supplied, and run ./test1 as a non-root user. If successful, you should see something like: [dhowells@andromeda tmp]$ ./test1 --TEST1-- uid=4043, euid=4043 suid=4043 exec ./test2 --TEST2-- uid=4043, euid=0 suid=0 SUCCESS - Correct effective user ID and if unsuccessful, something like: [dhowells@andromeda tmp]$ ./test1 --TEST1-- uid=4043, euid=4043 suid=4043 exec ./test2 --TEST2-- uid=4043, euid=4043 suid=4043 ERROR - Incorrect effective user ID! The non-root user ID you see will depend on the user you run as. [test1.c] #include #include #include #include static void *thread_func(void *arg) { while (1) {} } int main(int argc, char **argv) { pthread_t tid; uid_t uid, euid, suid; printf("--TEST1--\n"); getresuid(&uid, &euid, &suid); printf("uid=%d, euid=%d suid=%d\n", uid, euid, suid); if (pthread_create(&tid, NULL, thread_func, NULL) < 0) { perror("pthread_create"); exit(1); } printf("exec ./test2\n"); execlp("./test2", "test2", NULL); perror("./test2"); _exit(1); } [test2.c] #include #include #include int main(int argc, char **argv) { uid_t uid, euid, suid; getresuid(&uid, &euid, &suid); printf("--TEST2--\n"); printf("uid=%d, euid=%d suid=%d\n", uid, euid, suid); if (euid != 0) { fprintf(stderr, "ERROR - Incorrect effective user ID!\n"); exit(1); } printf("SUCCESS - Correct effective user ID\n"); exit(0); } [Makefile] CFLAGS = -D_GNU_SOURCE -Wall -Werror -Wunused all: test1 test2 test1: test1.c gcc $(CFLAGS) -o test1 test1.c -lpthread test2: test2.c gcc $(CFLAGS) -o test2 test2.c sudo chown root.root test2 sudo chmod +s test2 Reported-by: David Smith Signed-off-by: David Howells Acked-by: David Smith Signed-off-by: James Morris commit d4cf109f05ff04c6f5065c3e14165ef01a57dd53 Author: Dave Kleikamp Date: Fri Feb 6 14:59:26 2009 -0600 vfs: Don't call attach_nobh_buffers() with an empty list This is a modification of a patch by Bill Pemberton nobh_write_end() could call attach_nobh_buffers() with head == NULL. This would result in a trap when attach_nobh_buffers() attempted to access bh->b_this_page. This can be illustrated by running the writev01 testcase from LTP on jfs. This error was introduced by commit 5b41e74a "vfs: fix data leak in nobh_write_end()". That patch did not take into account that if PageMappedToDisk() is true upon entry to nobh_write_begin(), then no buffers will be allocated for the page. In that case, we won't have to worry about a failed write leaving unitialized data in the page. Of course, head != NULL implies !page_has_buffers(page), so no need to test both. Signed-off-by: Dave Kleikamp Cc: Bill Pemberton Cc: Dmitri Monakhov Signed-off-by: Linus Torvalds commit 6cec50838ed04a9833fb5549f698d3756bbe7e72 Merge: 5e3bd4e b0050ca Author: Linus Torvalds Date: Fri Feb 6 11:14:23 2009 -0800 Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tiwai/sound-2.6 * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tiwai/sound-2.6: ALSA: hda - Add missing COEF initialization for ALC887 ALSA: hda - Add missing initialization for ALC272 sound: usb-audio: handle wMaxPacketSize for FIXED_ENDPOINT devices ALSA: hda - Fix misc workqueue issues ALSA: hda - Add quirk for FSC Amilo Xi2550 commit 9e3a9d1ed8cc8db93e5c53e9a5b09065bd95de8b Author: Len Brown Date: Fri Feb 6 14:00:56 2009 -0500 ACPI: disable ACPI cleanly when bad RSDP found When ACPI is disabled in the BIOS of this VIA C3 box, it invalidates the RSDP, which Linux notices: ACPI Error (tbxfroot-0218): A valid RSDP was not found [20080926] Bug Linux neglected to disable ACPI at that stage, and later scribbled on smp_found_config: ACPI: No APIC-table, disabling MPS But this box doesn't run well in legacy PIC mode, it needed IOAPIC mode to perform correctly: http://lkml.org/lkml/2009/2/5/39 So exit ACPI mode cleanly when we first detect that it is hopeless. Signed-off-by: Len Brown commit 9fdd54f206722ecee7fd7ba9dba26140450e7c32 Author: Len Brown Date: Fri Feb 6 12:24:17 2009 -0500 ACPI: delete CPU_IDLE=n code CPU_IDLE=y has been default for ACPI=y since Nov-2007, and has shipped in many distributions since then. Here we delete the CPU_IDLE=n ACPI idle code, since nobody should be using it, and we don't want to maintain two versions. Signed-off-by: Len Brown commit 5e3bd4e4b1082e406351083784e3de4cdaa50d7a Merge: bcee402 8643153 Author: Linus Torvalds Date: Fri Feb 6 08:48:16 2009 -0800 Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/ieee1394/linux1394-2.6 * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/ieee1394/linux1394-2.6: ieee1394: dv1394: move deprecation message from module init to file open firewire: core: Remove card from list of cards when enable fails commit bcee402e764ccbdb507fe56936230af7cb57c813 Author: Uwe Kleine-König Date: Fri Feb 6 14:53:18 2009 +0100 Add Sascha Hauer to .mailmap This fixes the shortlog attribution e.g. for 106757b38fff Signed-off-by: Uwe Kleine-König Acked-by: Sascha Hauer Acked-by: Wolfram Sang Signed-off-by: Linus Torvalds commit 6d7f2caa77994e9c2d3cb648aa16f1e0c25b2af4 Author: Uwe Kleine-König Date: Fri Feb 6 14:53:19 2009 +0100 add another mailmap entry for Uwe Kleine-König I created commit 7971db5a4b4176ad5df590fce07a962c643a2740 on a machine where I forgot to set user.name and user.email before. The default values were not optimal. Signed-off-by: Uwe Kleine-König Acked-by: Wolfram Sang Signed-off-by: Linus Torvalds commit 08c6e3a57877ceda5c2f4c99ae7d433b8eef779a Author: Julia Lawall Date: Wed Feb 4 22:43:04 2009 +0100 arch/powerpc: Eliminate double sizeof Taking sizeof the result of sizeof is quite strange and does not seem to be what is wanted here. This was fixed using the following semantic patch. (http://www.emn.fr/x-info/coccinelle/) // @@ expression E; @@ - sizeof ( sizeof (E) - ) @@ type T; @@ - sizeof ( sizeof (T) - ) // Signed-off-by: Julia Lawall Acked-by: Scott Wood Signed-off-by: Kumar Gala commit 7f3ea17f316577e31db868f720ac575c74d20163 Author: paulfax Date: Tue Jan 27 02:44:07 2009 -0600 powerpc/cpm2: Fix set interrupt type This is a simple change to correct problems when using set_irq_type on platforms using CPM2. This code corrects the problem on most platform but may have issues on 8272 derived platforms for some interrupts. On 8272 PC2 & 3 are missing and PC 23 & 29 are added, which this patch does not address. Signed-off-by: Paul Bilke Reviewed-by: Anton Vorontsov Signed-off-by: Kumar Gala commit 04ec93fe9bc98e3bd8560f79f56fed66dfae40d5 Author: Li Zefan Date: Fri Feb 6 08:17:19 2009 +0000 fork.c: fix NULL pointer dereference when nr_threads == threads-max I happened to forked lots of processes, and hit NULL pointer dereference. It is because in copy_process() after checking max_threads, 0 is returned but not -EAGAIN. The bug is introduced by "CRED: Detach the credentials from task_struct" (commit f1752eec6145c97163dbce62d17cf5d928e28a27). Signed-off-by: Li Zefan Signed-off-by: David Howells Acked-by: James Morris Signed-off-by: Linus Torvalds commit e85477f516c2de7ed515fcf94ceab5282eba7fa4 Author: Anton Vorontsov Date: Thu Feb 5 23:10:40 2009 +0300 powerpc/83xx: Fix TSEC0 workability on MPC8313E-RDB boards TSEC0 is connected to Vitesse 7385 5-port switch. The switch isn't connected to any mdio bus, the link to the switch is fixed to Full-duplex 1000 Mb/s (no pause). This patch fixes following failure during bootup: mdio@24520:01 not found eth0: Could not attach to PHY IP-Config: Failed to open eth0 Signed-off-by: Anton Vorontsov Signed-off-by: Kumar Gala commit 1f0d4d16d9d4ffa65438425d092f7061476b95b3 Author: Anton Vorontsov Date: Thu Feb 5 23:10:32 2009 +0300 powerpc/83xx: Fix missing #{address,size}-cells in mpc8313erdb.dts commit b31a1d8b41513b96e9c7ec2f68c5734cef0b26a4 ("gianfar: Convert gianfar to an of_platform_driver") introduced a child node for the ethernet@25000 controller, but no address and size cells specifiers were added, and that makes dtc unhappy: DTC: dts->dtb on file "arch/powerpc/boot/dts/mpc8313erdb.dts" Warning (reg_format): "reg" property in /soc8313@e0000000/ethernet@25000/mdio@25520 has invalid length (8 bytes) (#address-cells == 2, #size-cells == 1) Warning (avoid_default_addr_size): Relying on default #address-cells value for /soc8313@e0000000/ethernet@25000/mdio@25520 Warning (avoid_default_addr_size): Relying on default #size-cells value for /soc8313@e0000000/ethernet@25000/mdio@25520 Signed-off-by: Anton Vorontsov Signed-off-by: Kumar Gala commit e2a02ba6676cdc5ebec503b558838c08c7083c14 Author: Michael Neuling Date: Fri Feb 6 11:10:27 2009 +1100 powerpc/83xx: Build breakage for CONFIG_PM but no CONFIG_SUSPEND I noticed this doing some randconfig testing (.config below). I have CONFIG_PM but no CONFIG_SUSPEND. Bug is against mainline. arch/powerpc/sysdev/built-in.o: In function `ipic_suspend': ipic.c:(.text+0x6b34): undefined reference to `fsl_deep_sleep' make[1]: *** [.tmp_vmlinux1] Error 1 make: *** [sub-make] Error 2 Looks like #ifdef CONFIG_PM in arch/powerpc/sysdev/ipic.c should be CONFIG_SUSPEND. d49747bdfb2ddebea24d1580da55b79d093d48a9 introduced this. Fix build when we have CONFIG_PM but no CONFIG_SUSPEND. Signed-off-by: Michael Neuling Acked-by: Scott Wood Signed-off-by: Kumar Gala commit 42f15d77df8a7e8a2feb15041d5d30710ee7f951 Author: Chris Mason Date: Fri Feb 6 11:35:57 2009 -0500 Btrfs: Make sure dir is non-null before doing S_ISGID checks The S_ISGID check in btrfs_new_inode caused an oops during subvol creation because sometimes the dir is null. Signed-off-by: Chris Mason commit b2a740aab8f3bc2fd9f01528e39607bd9a1f0da6 Merge: 9be260a de01dfa Author: Linus Torvalds Date: Fri Feb 6 07:41:10 2009 -0800 Merge branch 'for-linus' of git://neil.brown.name/md * 'for-linus' of git://neil.brown.name/md: md: Ensure an md array never has too many devices. md: Fix a bug in linear.c causing which_dev() to return the wrong device. md: Allow read error in a single drive raid1 to be passed up. commit 86431532ec4311dccd0d7513cebae6ffc762756b Author: Stefan Richter Date: Tue Feb 3 17:54:31 2009 +0100 ieee1394: dv1394: move deprecation message from module init to file open On many Linux installations, the dv1394 driver will be auto-loaded whenever an AV/C device (e.g. camcorder or audio device) is plugged in. An irritating message would then appear in the kernel log. Defer this message to until a dv1394 character device file is actually used by a program. Also include the program name in the message and update the message slightly. Signed-off-by: Stefan Richter commit ff08f76d738d0ec0f334b187f61e160caa321d54 Author: Pavel Emelyanov Date: Wed Feb 4 13:40:31 2009 +0300 x86: clean up hpet timer reinit Implement Linus's suggestion: introduce the hpet_cnt_ahead() helper function to compare hpet time values - like other wrapping counter comparisons are abstracted away elsewhere. (jiffies, ktime_t, etc.) Reported-by: Kirill Korotaev Signed-off-by: Pavel Emelyanov Signed-off-by: Ingo Molnar commit 7d8e23df69820e6be42bcc41d441f4860e8c76f7 Author: Ingo Molnar Date: Fri Feb 6 14:57:51 2009 +0100 timers: split process wide cpu clocks/timers, remove spurious warning Mike Galbraith reported that the new warning in thread_group_cputimer() triggers en masse with Amarok running. Oleg Nesterov observed: Can't fastpath_timer_check()->thread_group_cputimer() have the false warning too? Suppose we had the timer, then posix_cpu_timer_del() removes this timer, but task_cputime_zero(&sig->cputime_expires) still not true. Remove the spurious debug warning. Reported-by: Mike Galbraith Explained-by: Oleg Nesterov Signed-off-by: Ingo Molnar commit b0050cae2ba48cb79fa22b0edd97e611abbd6a33 Merge: b2573eb 894dcd7 Author: Takashi Iwai Date: Fri Feb 6 14:25:13 2009 +0100 Merge branch 'fix/usb-audio' into for-linus commit b2573eb586169dfb02772856a4e7cb760f21ec12 Merge: 9be260a 4a5a4c5 Author: Takashi Iwai Date: Fri Feb 6 14:25:04 2009 +0100 Merge branch 'fix/hda' into for-linus commit 4a5a4c56b443a213fa9c2ad27984a8681a3d7087 Author: Takashi Iwai Date: Fri Feb 6 12:46:59 2009 +0100 ALSA: hda - Add missing COEF initialization for ALC887 Signed-off-by: Takashi Iwai commit c6e8f2daadc6d61a32b7486a1058c8f1f9baa499 Author: Takashi Iwai Date: Fri Feb 6 12:45:52 2009 +0100 ALSA: hda - Add missing initialization for ALC272 ALC272 needs EAPD for speaker outputs as well as other similar ALC codecs. Signed-off-by: Takashi Iwai commit 397d5aeeb5a2c9ca6108899a04b35a51cd904503 Author: Jarkko Nikula Date: Fri Feb 6 12:01:05 2009 +0200 ASoC: WM8990: Fix kcontrol's private value use in put callback Function wm899x_outpga_put_volsw_vu misuses the kcontrol's private value by still accessing it as bitfields even SOC_SINGLE_VALUE constructs it as a pointer into struct soc_mixer_control after the commit 4eaa9819dc08d7bfd1065ce530e31b18a119dcaf. This is very similar fix than fix to TLV320AIC3X codec made by Eero Nurkkala . This fix is compile tested only. Signed-off-by: Jarkko Nikula Cc: Liam Girdwood Signed-off-by: Mark Brown commit 4453dba54de7e517b0cd6f5e4a3f4af3b34f9e79 Author: Eero Nurkkala Date: Fri Feb 6 12:01:04 2009 +0200 ASoC: TLV320AIC3X: Fix kcontrol's private value use in put callback Function snd_soc_dapm_put_volsw_aic3x misuses the kcontrol's private value by still accessing it as bitfields even SOC_SINGLE_VALUE constructs it as a pointer into struct soc_mixer_control after the commit 4eaa9819dc08d7bfd1065ce530e31b18a119dcaf. This was causing arbitrary register writes when touching the controls defined with SOC_DAPM_SINGLE_AIC3X. Signed-off-by: Eero Nurkkala Acked-by: Jarkko Nikula Signed-off-by: Mark Brown commit 2783ef23128ad0a4b34e4121c1f7ff664785712f Author: Jesper Dangaard Brouer Date: Fri Feb 6 01:59:12 2009 -0800 udp: Fix potential wrong ip_hdr(skb) pointers Like the UDP header fix, pskb_may_pull() can potentially alter the SKB buffer. Thus the saddr and daddr, pointers may point to the old skb->data buffer. I haven't seen corruptions, as its only seen if the old skb->data buffer were reallocated by another user and written into very quickly (or poison'd by SLAB debugging). Signed-off-by: Jesper Dangaard Brouer Signed-off-by: David S. Miller commit efc683fc2a692735029067b4f939af2a3625e31d Author: Gautam Kachroo Date: Fri Feb 6 00:52:04 2009 -0800 neigh: some entries can be skipped during dumping neightbl_dump_info and neigh_dump_table can skip entries if the *fill*info functions return an error. This results in an incomplete dump ((invoked by netlink requests for RTM_GETNEIGHTBL or RTM_GETNEIGH) nidx and idx should not be incremented if the current entry was not placed in the output buffer Signed-off-by: Gautam Kachroo Signed-off-by: David S. Miller commit 684de409acff8b1fe8bf188d75ff2f99c624387d Author: David S. Miller Date: Fri Feb 6 00:49:55 2009 -0800 ipv6: Disallow rediculious flowlabel option sizes. Just like PKTINFO, limit the options area to 64K. Based upon report by Eric Sesterhenn and analysis by Roland Dreier. Signed-off-by: David S. Miller commit 894dcd78782842924527598b0b764c9b4e679e21 Author: Clemens Ladisch Date: Fri Feb 6 08:13:07 2009 +0100 sound: usb-audio: handle wMaxPacketSize for FIXED_ENDPOINT devices For audio devices that do not have proper audio descriptors (e.g., Edirol UA-20), we use hardcoded parameters from our quirks list. However, we must still read the maximum packet size from the standard endpoint descriptor; otherwise, we might use packets that are too big and therefore rejected by the USB core. Signed-off-by: Clemens Ladisch Cc: Signed-off-by: Takashi Iwai commit 1c2f61d40b691789626489fa947a3e003c9a84be Author: David S. Miller Date: Thu Feb 5 23:59:04 2009 -0800 sparc64: Don't hook up pcr_ops on spitfire chips. They can't be used for profiling and NMI watchdog currently since they lack the counter overflow interrupt. Signed-off-by: David S. Miller commit de01dfadf25bf83cfe3d85c163005c4320532658 Author: NeilBrown Date: Fri Feb 6 18:02:46 2009 +1100 md: Ensure an md array never has too many devices. Each different metadata format supported by md supports a different maximum number of devices. We really should be enforcing this maximum in the kernel, but we aren't quite doing that properly. We currently only enforce it at the 'hot_add' point, which is an older interface which is not used by current userspace. We need to also enforce it at 'add_new_disk' time for active arrays and at 'do_md_run' time when starting a new array. So move the test from 'hot_add' into 'bind_rdev_to_array' which is called from both 'hot_add' and 'add_new_disk, and add a new test in 'analyse_sbs' which is called from 'do_md_run'. This bug (or missing feature) has been around "forever" and so the patch is suitable for any -stable that is currently maintained. Cc: stable@kernel.org Signed-off-by: NeilBrown commit 852c8bf484a0e17ee27f413ef26e87f522af5607 Author: Andre Noll Date: Fri Feb 6 15:10:52 2009 +1100 md: Fix a bug in linear.c causing which_dev() to return the wrong device. ab5bd5cbc8d4b868378d062eed3d4240930fbb86 introduced the following bug in linear software raid for large arrays on 32 bit machines: which_dev() computes the device holding a given sector by shifting down the sector number to a 32 bit range, dividing by the array spacing and looking up the resulting index in the hash table of the array. Because the computed index might be slightly too small, a loop at the end of which_dev() increases the index until the given sector actually falls into the range of the device associated with that index. The changes of the above mentioned commit caused this loop to check whether the _index_ rather than the sector number is small enough, effectively bypassing the loop and thus possibly returning the wrong device. As reported by Simon Kirby, this leads to errors such as linear_make_request: Sector 2340486136 out of bounds on dev sdi: 156301312 sectors, offset 2109870464 Fix this bug by introducing a local variable for the index so that the variable containing the passed sector is left unchanged. Cc: stable@kernel.org Signed-off-by: Andre Noll Signed-off-by: NeilBrown commit 4706b349f4a8312d31b3d0cf61fe721699356920 Author: NeilBrown Date: Fri Feb 6 15:06:47 2009 +1100 md: Allow read error in a single drive raid1 to be passed up. If a raid1 only has a single working device and gets a read error, we choose to simply return that error up to the filesystem (or whatever) rather than failing the whole array. However the codes doesn't quite do that. We attempt a readbalance which allocates the same drive, so we retry the read - indefinitely. Instead: If read_balance in the error case chooses the same drive that just failed, treat it as a failure and don't retry. Signed-off-by: NeilBrown commit 9be260a646bf76fa418ee519afa10196b3164681 Author: Masami Hiramatsu Date: Thu Feb 5 17:12:39 2009 -0500 prevent kprobes from catching spurious page faults Prevent kprobes from catching spurious faults which will cause infinite recursive page-fault and memory corruption by stack overflow. Signed-off-by: Masami Hiramatsu Cc: [2.6.28.x] Signed-off-by: Linus Torvalds commit 767b5828ad9a1b435488b5d39b5a66aeef4d25e4 Author: Al Viro Date: Fri Feb 6 00:32:27 2009 +0000 braino in sg_ioctl_trans() ... and yes, gcc is insane enough to eat that without complaint. We probably want sparse to scream on those... Signed-off-by: Al Viro Signed-off-by: Linus Torvalds commit 082256333f4e879bc4b56e294921aaff6d035da0 Merge: 09cd5b8 436443f Author: Linus Torvalds Date: Thu Feb 5 16:12:38 2009 -0800 Merge branch 'upstream-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/mfasheh/ocfs2 * 'upstream-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/mfasheh/ocfs2: Revert "configfs: Silence lockdep on mkdir(), rmdir() and configfs_depend_item()" commit 09cd5b8f9dbdc161aec404eea572fbca7d162920 Merge: cc5724c c20f326 Author: Linus Torvalds Date: Thu Feb 5 16:11:54 2009 -0800 Merge branch 'sh/for-2.6.29' of git://git.kernel.org/pub/scm/linux/kernel/git/lethal/sh-2.6 * 'sh/for-2.6.29' of git://git.kernel.org/pub/scm/linux/kernel/git/lethal/sh-2.6: sh: Fix up T-bit error handling in SH-4A mutex fastpath. sh: Fix up spurious syscall restarting. sh: fcnvds fix with denormalized numbers on SH-4 FPU. sh: Only reserve memory under CONFIG_ZERO_PAGE_OFFSET when it != 0. sh: Handle calling csum_partial with misaligned data sh: ap325rxa: Enable ov772x in defconfig. sh: ap325rxa: Add ov772x support. sh: ap325rxa: control camera power toggling. sh: mach-migor: Enable ov772x and tw9910 in defconfig. commit cc5724ce10c21cb44f9413266bb100ab89b18e2a Merge: f01d1d5 a23f4bb Author: Linus Torvalds Date: Thu Feb 5 16:11:32 2009 -0800 Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-2.6 * git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-2.6: Revert "tcp: Always set urgent pointer if it's beyond snd_nxt" ipv6: Copy cork options in ip6_append_data udp: Fix UDP short packet false positive gianfar: Fix potential soft reset race gianfar: Fix BD_LENGTH_MASK definition cxgb3: Fix lro switch iwlwifi: save PCI state before suspend, restore after resume iwlwifi: clean key table in iwl_clear_stations_table commit a23f4bbd8d27ac8ddc5d71ace1f91bb503f0469a Author: David S. Miller Date: Thu Feb 5 15:38:31 2009 -0800 Revert "tcp: Always set urgent pointer if it's beyond snd_nxt" This reverts commit 64ff3b938ec6782e6585a83d5459b98b0c3f6eb8. Jeff Chua reports that it breaks rlogin for him. Signed-off-by: David S. Miller commit 0178b695fd6b40a62a215cbeb03dd51ada3bb5e0 Author: Herbert Xu Date: Thu Feb 5 15:15:50 2009 -0800 ipv6: Copy cork options in ip6_append_data As the options passed to ip6_append_data may be ephemeral, we need to duplicate it for corking. This patch applies the simplest fix which is to memdup all the relevant bits. Signed-off-by: Herbert Xu Signed-off-by: David S. Miller commit 12402b5b7a2aa7ebed246db4570a5eb905fe79ea Merge: 7b5e56f c4e061a Author: David S. Miller Date: Thu Feb 5 15:08:11 2009 -0800 Merge branch 'master' of git://git.kernel.org/pub/scm/linux/kernel/git/linville/wireless-2.6 commit 7b5e56f9d635643ad54f2f42e69ad16b80a2cff1 Author: Jesper Dangaard Brouer Date: Thu Feb 5 15:05:45 2009 -0800 udp: Fix UDP short packet false positive The UDP header pointer assignment must happen after calling pskb_may_pull(). As pskb_may_pull() can potentially alter the SKB buffer. This was exposted by running multicast traffic through the NIU driver, as it won't prepull the protocol headers into the linear area on receive. Signed-off-by: Jesper Dangaard Brouer Signed-off-by: David S. Miller commit f01d1d546abb2f4028b5299092f529eefb01253a Author: Alexey Dobriyan Date: Fri Feb 6 00:30:05 2009 +0300 seq_file: fix big-enough lseek() + read() lseek() further than length of the file will leave stale ->index (second-to-last during iteration). Next seq_read() will not notice that ->f_pos is big enough to return 0, but will print last item as if ->f_pos is pointing to it. Introduced in commit cb510b8172602a66467f3551b4be1911f5a7c8c2 aka "seq_file: more atomicity in traverse()". Signed-off-by: Alexey Dobriyan Signed-off-by: Linus Torvalds commit 33da8892a2f9e7d4b2d9a35fc80833ba2d2b1aa6 Author: Eric Biederman Date: Wed Feb 4 15:12:25 2009 -0800 seq_file: move traverse so it can be used from seq_read In 2.6.25 some /proc files were converted to use the seq_file infrastructure. But seq_files do not correctly support pread(), which broke some usersapce applications. To handle pread correctly we can't assume that f_pos is where we left it in seq_read. So move traverse() so that we can eventually use it in seq_read and do thus some day support pread(). Signed-off-by: Eric Biederman Cc: Paul Turner Cc: Alexey Dobriyan Cc: Al Viro Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 361916a943cd9dbda1c0b00879d0225cc919d868 Author: Dean Nelson Date: Wed Feb 4 15:12:24 2009 -0800 sgi-xp: fix writing past the end of kzalloc()'d space A missing type cast results in writing way beyond the end of a kzalloc()'d memory segment resulting in slab corruption. But it seems like the better solution is to define ->recv_msg_slots as a 'void *' rather than a 'struct xpc_notify_mq_msg_uv *' and add the type cast. Signed-off-by: Dean Nelson Cc: Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit fb9a68001175cc04bbbe711e6e29e1c6c353107b Author: Alexey Dobriyan Date: Wed Feb 4 15:12:21 2009 -0800 alpha: fixup BUG macro Do usual do {} while (0) dance, otherwise fs/gfs2/util.c:99: error: expected expression before 'else' drivers/scsi/lpfc/lpfc_sli.c:363: error: expected expression before 'else' Signed-off-by: Alexey Dobriyan Acked-by: Ivan Kokshaysky Cc: Richard Henderson Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 736d54533aedbcbde8cfb2f9ccd542595db4d78d Author: Dan Carpenter Date: Wed Feb 4 15:12:20 2009 -0800 sx.c: fix missed unlock_kernel() on error path in sx_fw_ioctl() If we return directly with -EPERM then lock_kernel() is still held. This was found with a code checker (http://repo.or.cz/w/smatch.git/). [akpm@linux-foundation.org: fix another such path - missed func_exit()] Signed-off-by: Dan Carpenter Cc: Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit fe86175bce50bc3d65ff09c287fed955c4da1eb3 Author: Randy Dunlap Date: Wed Feb 4 15:12:20 2009 -0800 atyfb: fix CONFIG_ namespace violations Fix namespace violations by changing non-kconfig CONFIG_ names to CNFG_*. Fixes breakage in staging/, which adds a real CONFIG_PANEL. Signed-off-by: Randy Dunlap Cc: Benjamin Herrenschmidt Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit cd29cf7d112aa022cfcfb257ffe3d89ffbd1d820 Author: Manish Katiyar Date: Wed Feb 4 15:12:19 2009 -0800 rtc-ds1390: fix compilation warnings in drivers/rtc/rtc-ds1390.c drivers/rtc/rtc-ds1390.c:125: warning: unused variable 'rtc' Signed-off-by: Manish Katiyar Signed-off-by: Alessandro Zummo Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit ce43ae538b540cf3e9f5036d8023b88bf9f8fa40 Author: Mike Rapoport Date: Wed Feb 4 15:12:18 2009 -0800 drivers/video/backlight: rename da903x to da903x_bl Currently both da903x backlight and voltage reulator drivers have the same name. Rename the backlight driver to allow use of both drivers as modules. Signed-off-by: Mike Rapoport Acked-by: Eric Miao Cc: Richard Purdie Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit dfecb7164eb81fbfae93fee1ad1da2ac58bb224d Author: Hans-Christian Egtvedt Date: Wed Feb 4 15:12:17 2009 -0800 atmel-ssc: fix misuse of dev_dbg when requested ssc instance is not found The ssc pointer is not valid when the id is not found in the list. Convert the message from a debug one into an error message and avoid dereferencing the bad pointer. Signed-off-by: Hans-Christian Egtvedt Cc: Kay Sievers Cc: Huang Weiyi Acked-by: Haavard Skinnemoen Cc: David Brownell Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit ab92661d5d9514647346047f30f67a7f35ffea67 Author: Carsten Otte Date: Wed Feb 4 15:12:16 2009 -0800 do_wp_page: fix regression with execute in place Fix do_wp_page for VM_MIXEDMAP mappings. In the case where pfn_valid returns 0 for a pfn at the beginning of do_wp_page and the mapping is not shared writable, the code branches to label `gotten:' with old_page == NULL. In case the vma is locked (vma->vm_flags & VM_LOCKED), lock_page, clear_page_mlock, and unlock_page try to access the old_page. This patch checks whether old_page is valid before it is dereferenced. The regression was introduced by "mlock: mlocked pages are unevictable" (commit b291f000393f5a0b679012b39d79fbc85c018233). Signed-off-by: Carsten Otte Cc: Nick Piggin Cc: Heiko Carstens Cc: [2.6.28.x] Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 777c6c5f1f6e757ae49ecca2ed72d6b1f523c007 Author: Johannes Weiner Date: Wed Feb 4 15:12:14 2009 -0800 wait: prevent exclusive waiter starvation With exclusive waiters, every process woken up through the wait queue must ensure that the next waiter down the line is woken when it has finished. Interruptible waiters don't do that when aborting due to a signal. And if an aborting waiter is concurrently woken up through the waitqueue, noone will ever wake up the next waiter. This has been observed with __wait_on_bit_lock() used by lock_page_killable(): the first contender on the queue was aborting when the actual lock holder woke it up concurrently. The aborted contender didn't acquire the lock and therefor never did an unlock followed by waking up the next waiter. Add abort_exclusive_wait() which removes the process' wait descriptor from the waitqueue, iff still queued, or wakes up the next waiter otherwise. It does so under the waitqueue lock. Racing with a wake up means the aborting process is either already woken (removed from the queue) and will wake up the next waiter, or it will remove itself from the queue and the concurrent wake up will apply to the next waiter after it. Use abort_exclusive_wait() in __wait_event_interruptible_exclusive() and __wait_on_bit_lock() when they were interrupted by other means than a wake up through the queue. [akpm@linux-foundation.org: coding-style fixes] Reported-by: Chris Mason Signed-off-by: Johannes Weiner Mentored-by: Oleg Nesterov Cc: Peter Zijlstra Cc: Matthew Wilcox Cc: Chuck Lever Cc: Nick Piggin Cc: Ingo Molnar Cc: ["after some testing"] Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 40b0bb1e734700b81d2ec69367c035cd1537f4fa Author: Randy Dunlap Date: Wed Feb 4 15:12:13 2009 -0800 maintainers: general@lists.openfabrics.org is moderated I got the "list is moderated message," so add it here. Signed-off-by: Randy Dunlap Cc: Roland Dreier Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 87357d277a024934389ddc37808290c53c74339e Author: Martin Kebert Date: Wed Feb 4 15:12:12 2009 -0800 lis3lv02d: add axes knowledge for HP 6710 Add support for the HP laptops of model 6710x for having correctly setup axes. Signed-off-by: Martin Kebert Signed-off-by: Eric Piel Acked-by: Pavel Machek Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit c77a022d2994b0ccfb583c7dfd6392e3cd0391fe Author: Pavel Herrmann Date: Wed Feb 4 15:12:11 2009 -0800 lis3lv02d: add axes knowledge for HP 6730 Add support for the HP laptops of model 6730x for having correctly setup axes. Signed-off-by: Pavel Herrmann Signed-off-by: Eric Piel Acked-by: Pavel Machek Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 80eda5fb5885d601ed2c712a0530770c0a23cc04 Author: Eric Piel Date: Wed Feb 4 15:12:11 2009 -0800 lis3lv02d: add axes knowledge for HP 6530 Add support for the HP laptops of model 6530x for having correctly setup axes. Reported-by: Jerome Poulin Signed-off-by: Eric Piel Acked-by: Pavel Machek Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 6bfef2b3cfe1144bd1dc3aface9c63a3f06732a7 Author: Jiri Tersel Date: Wed Feb 4 15:12:09 2009 -0800 lis3lv02d: add axes knowledge for HP 6510b According to dmesg my laptop model HP 6510b is not being recognized by this driver. After I have modified "lis3lv02d.c" axes in Neverball are OK. Signed-off-by: Jiri Tersel Signed-off-by: Eric Piel Acked-by: Pavel Machek Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 44f0606d52d98ff05b3b62bb694821857e36819d Author: Andrew Morton Date: Wed Feb 4 15:12:07 2009 -0800 hp-wmi: fix error path in hp_wmi_bios_setup() The error-path code can call rfkill_unregister() with a pointer which does not contain the result of a call to rfkill_register(). It goes BUG(). Addresses http://bugzilla.kernel.org/show_bug.cgi?id=12560. Cc: Frans Pop Cc: Larry Finger Cc: Len Brown Acked-by: Matthew Garrett Reported-by: Helge Deller Testted-by: Helge Deller Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 60fd760fb9ff7034360bab7137c917c0330628c2 Author: Andrew Morton Date: Wed Feb 4 15:12:06 2009 -0800 revert "rlimit: permit setting RLIMIT_NOFILE to RLIM_INFINITY" Revert commit 0c2d64fb6cae9aae480f6a46cfe79f8d7d48b59f because it causes (arguably poorly designed) existing userspace to spend interminable periods closing billions of not-open file descriptors. We could bring this back, with some sort of opt-in tunable in /proc, which defaults to "off". Peter's alanysis follows: : I spent several hours trying to get to the bottom of a serious : performance issue that appeared on one of our servers after upgrading to : 2.6.28. In the end it's what could be considered a userspace bug that : was triggered by a change in 2.6.28. Since this might also affect other : people I figured I'd at least document what I found here, and maybe we : can even do something about it: : : : So, I upgraded some of debian.org's machines to 2.6.28.1 and immediately : the team maintaining our ftp archive complained that one of their : scripts that previously ran in a few minutes still hadn't even come : close to being done after an hour or so. Downgrading to 2.6.27 fixed : that. : : Turns out that script is forking a lot and something in it or python or : whereever closes all the file descriptors it doesn't want to pass on. : That is, it starts at zero and goes up to ulimit -n/RLIMIT_NOFILE and : closes them all with a few exceptions. : : Turns out that takes a long time when your limit -n is now 2^20 (1048576). : : With 2.6.27.* the ulimit -n was the standard 1024, but with 2.6.28 it is : now a thousand times that. : : 2.6.28 included a patch titled "rlimit: permit setting RLIMIT_NOFILE to : RLIM_INFINITY" (0c2d64fb6cae9aae480f6a46cfe79f8d7d48b59f)[1] that : allows, as the title implies, to set the limit for number of files to : infinity. : : Closer investigation showed that the broken default ulimit did not apply : to "system" processes (like stuff started from init). In the end I : could establish that all processes that passed through pam_limit at one : point had the bad resource limit. : : Apparently the pam library in Debian etch (4.0) initializes the limits : to some default values when it doesn't have any settings in limit.conf : to override them. Turns out that for nofiles this is RLIM_INFINITY. : Commenting out "case RLIMIT_NOFILE" in pam_limit.c:267 of our pam : package version 0.79-5 fixes that - tho I'm not sure what side effects : that has. : : Debian lenny (the upcoming 5.0 version) doesn't have this issue as it : uses a different pam (version). Reported-by: Peter Palfrader Cc: Adam Tkac Cc: Michael Kerrisk Cc: [2.6.28.x] Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit a68e61e8ff2d46327a37b69056998b47745db6fa Author: Tony Battersby Date: Wed Feb 4 15:12:04 2009 -0800 shm: fix shmctl(SHM_INFO) lockup with !CONFIG_SHMEM shm_get_stat() assumes that the inode is a "struct shmem_inode_info", which is incorrect for !CONFIG_SHMEM (see fs/ramfs/inode.c: ramfs_get_inode() vs. mm/shmem.c: shmem_get_inode()). This bad assumption can cause shmctl(SHM_INFO) to lockup when shm_get_stat() tries to spin_lock(&info->lock). Users of !CONFIG_SHMEM may encounter this lockup simply by invoking the 'ipcs' command. Reported by Jiri Olsa back in February 2008: http://lkml.org/lkml/2008/2/29/74 Signed-off-by: Tony Battersby Cc: Jiri Kosina Reported-by: Jiri Olsa Cc: Hugh Dickins Cc: [2.6.everything] Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 1f5e31d7e55ac7fbd4ec5e5b20c8868b0e4564c9 Author: Andrea Righi Date: Wed Feb 4 15:12:03 2009 -0800 fbmem: don't call copy_from/to_user() with mutex held Avoid calling copy_from/to_user() with fb_info->lock mutex held in fbmem ioctl(). fb_mmap() is called under mm->mmap_sem (A) held, that also acquires fb_info->lock (B); fb_ioctl() takes fb_info->lock (B) and does copy_from/to_user() that might acquire mm->mmap_sem (A), causing a deadlock. NOTE: it doesn't push down the fb_info->lock in each own driver's fb_ioctl(), so there are still potential deadlocks elsewhere. Signed-off-by: Andrea Righi Cc: Dave Jones Cc: "Rafael J. Wysocki" Cc: Johannes Weiner Cc: Krzysztof Helt Cc: Harvey Harrison Cc: Stefan Richter Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit afd8d0f940ba5078f38e435440089117ac7d9eb4 Author: David Brownell Date: Wed Feb 4 15:12:01 2009 -0800 rtc: rtc-dm355evm driver Simple RTC driver for the MSP430 firmware on the DM355 EVM board. Other than not supporting atomic reads/writes of all four bytes, this is reasonable as a basic no-alarm RTC. Signed-off-by: David Brownell Signed-off-by: Kevin Hilman Acked-by: Alessandro Zummo Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 77a592655cdb8d838b85fd7ecf8f36fd2870abfc Author: Matthew Garrett Date: Wed Feb 4 15:12:00 2009 -0800 misc: dell-laptop should depend on POWER_SUPPLY dell-laptop makes use of the power supply class information to choose which backlight interface to change. Add a depends on it. Signed-off-by: Matthew Garrett Cc: Ingo Molnar Cc: "Rafael J. Wysocki" Cc: Len Brown Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit ac7b9004909d03d67016368093e81d37cae72895 Author: Peter Zijlstra Date: Wed Feb 4 15:11:59 2009 -0800 generic swap(): don't return a value from swap() The swap() macro is accidentally retuning the value of its first argument. Change it into a doesn't-return-anything macro before someone goes and relies upon this behaviour. Signed-off-by: Peter Zijlstra Cc: Wu Fengguang Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit c073b2db006ba9370be1eecc36a1be1d9ce31310 Author: David Altobelli Date: Wed Feb 4 15:11:58 2009 -0800 hpilo: open/close fix The device can take a while to respond to an open/close request, so increase the time kernel will wait for response (1 ms to 10ms). Also, properly clean up a channel on a failed open, by calling the channel close routine. Just freeing the memory isn't sufficient, the device needs to be informed that the channel is no longer open, and the device memory cleared of references to freed dma buffer. Signed-off-by: David Altobelli Cc: Greg KH Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 58763a297405024d23d8f1d0bba3e6603660c4b6 Author: Andrew Morton Date: Wed Feb 4 15:11:58 2009 -0800 kernel/async.c: fix printk warnings alpha: kernel/async.c: In function 'run_one_entry': kernel/async.c:141: warning: format '%lli' expects type 'long long int', but argument 2 has type 'async_cookie_t' kernel/async.c:149: warning: format '%lli' expects type 'long long int', but argument 2 has type 'async_cookie_t' kernel/async.c:149: warning: format '%lld' expects type 'long long int', but argument 4 has type 's64' kernel/async.c: In function 'async_synchronize_cookie_special': kernel/async.c:250: warning: format '%lli' expects type 'long long int', but argument 3 has type 's64' Cc: Arjan van de Ven Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 732553e567c2700ba5b9bccc6ec885c75779a94b Author: Mark Langsdorf Date: Tue Feb 3 17:46:43 2009 +0100 [CPUFREQ] powernow-k8: Get transition latency from ACPI _PSS table At this time, the PowerNow! driver for K8 uses an experimentally derived formula to calculate transition latency. The value it provides is orders of magnitude too large on modern systems. This patch replaces the formula with ACPI _PSS latency values for more accuracy and better performance. I've tested it on two 2nd generation Opteron systems, a 3rd generation Operton system, and a Turion X2 without seeing any stability problems. Signed-off-by: Mark Langsdorf Signed-off-by: Thomas Renninger Signed-off-by: Dave Jones commit 1ca3abdb6a4b87246b00292f048acd344325fd12 Author: Venkatesh Pallipadi Date: Fri Jan 23 09:25:02 2009 -0500 [CPUFREQ] Make ignore_nice_load setting of ondemand work as expected. ondemand micro-accounting of idle time changes broke ignore_nice_load sysfs setting due to a thinko in the code. The bug entry: http://bugzilla.kernel.org/show_bug.cgi?id=12310 Reported-by: Jim Bray Signed-off-by: Venkatesh Pallipadi Signed-off-by: Dave Jones commit 0cd5c3c80a0ebd68c08312fa7d8c13149cc61c4c Author: Kyle McMartin Date: Wed Feb 4 14:29:19 2009 -0800 x86: disable intel_iommu support by default Due to recurring issues with DMAR support on certain platforms. There's a number of filesystem corruption incidents reported: https://bugzilla.redhat.com/show_bug.cgi?id=479996 http://bugzilla.kernel.org/show_bug.cgi?id=12578 Provide a Kconfig option to change whether it is enabled by default. If disabled, it can still be reenabled by passing intel_iommu=on to the kernel. Keep the .config option off by default. Signed-off-by: Kyle McMartin Signed-off-by: Andrew Morton Acked-By: David Woodhouse Signed-off-by: Ingo Molnar commit 806638bce99f51deccbfedbe86ab3c5cf55a1d35 Author: Chris Mason Date: Thu Feb 5 09:08:14 2009 -0500 Btrfs: Fix memory leak in cache_drop_leaf_ref The code wasn't doing a kfree on the sorted array Signed-off-by: Chris Mason commit 4cd4c1b40d40447fb5e7ba80746c6d7ba91d7a53 Author: Peter Zijlstra Date: Thu Feb 5 12:24:16 2009 +0100 timers: split process wide cpu clocks/timers Change the process wide cpu timers/clocks so that we: 1) don't mess up the kernel with too many threads, 2) don't have a per-cpu allocation for each process, 3) have no impact when not used. In order to accomplish this we're going to split it into two parts: - clocks; which can take all the time they want since they run from user context -- ie. sys_clock_gettime(CLOCK_PROCESS_CPUTIME_ID) - timers; which need constant time sampling but since they're explicity used, the user can pay the overhead. The clock readout will go back to a full sum of the thread group, while the timers will run of a global 'clock' that only runs when needed, so only programs that make use of the facility pay the price. Signed-off-by: Peter Zijlstra Reviewed-by: Ingo Molnar Signed-off-by: Ingo Molnar commit 32bd671d6cbeda60dc73be77fa2b9037d9a9bfa0 Author: Peter Zijlstra Date: Thu Feb 5 12:24:15 2009 +0100 signal: re-add dead task accumulation stats. We're going to split the process wide cpu accounting into two parts: - clocks; which can take all the time they want since they run from user context. - timers; which need constant time tracing but can affort the overhead because they're default off -- and rare. The clock readout will go back to a full sum of the thread group, for this we need to re-add the exit stats that were removed in the initial itimer rework (f06febc9: timers: fix itimer/many thread hang). Furthermore, since that full sum can be rather slow for large thread groups and we have the complete dead task stats, revert the do_notify_parent time computation. Signed-off-by: Peter Zijlstra Reviewed-by: Ingo Molnar Signed-off-by: Ingo Molnar commit 83895147b702434e6f236deeca75211fd0e3da3a Merge: a6a9540 483b4ee Author: Ingo Molnar Date: Thu Feb 5 13:03:28 2009 +0100 Merge branch 'sched/urgent' into timers/urgent Merging it here because an upcoming timers/urgent fix relies on a change already in sched/urgent and not yet upstream. Signed-off-by: Ingo Molnar commit e8c0ee5d77ec0f144c753a622c67dd96fa195d50 Author: Takashi Iwai Date: Thu Feb 5 07:34:28 2009 +0100 ALSA: hda - Fix misc workqueue issues Some fixes regarding snd-hda-intel workqueue: - Use create_singlethread_workqueue() instead of create_workqueue() as per-CPU work isn't required. - Allocate workq name string properly - Renamed the workq name to "hd-audio*" to be more obvious. Signed-off-by: Takashi Iwai commit 412e87ae5d852bc3d836f475c19d954b3324363d Author: Herbert Xu Date: Thu Feb 5 16:51:25 2009 +1100 crypto: shash - Fix tfm destruction We were freeing an offset into the slab object instead of the start. This patch fixes it by calling crypto_destroy_tfm which allows the correct address to be given. Signed-off-by: Herbert Xu commit 7b2cd92adc5430b0c1adeb120971852b4ea1ab08 Author: Herbert Xu Date: Thu Feb 5 16:48:24 2009 +1100 crypto: api - Fix zeroing on free Geert Uytterhoeven pointed out that we're not zeroing all the memory when freeing a transform. This patch fixes it by calling ksize to ensure that we zero everything in sight. Reported-by: Geert Uytterhoeven Signed-off-by: Herbert Xu commit b534816b552d35bbd3c60702139ed5c7da2f55c2 Author: Jeremy Fitzhardinge Date: Wed Feb 4 18:33:38 2009 -0800 x86: don't apply __supported_pte_mask to non-present ptes On an x86 system which doesn't support global mappings, __supported_pte_mask has _PAGE_GLOBAL clear, to make sure it never appears in the PTE. pfn_pte() and so on will enforce it with: static inline pte_t pfn_pte(unsigned long page_nr, pgprot_t pgprot) { return __pte((((phys_addr_t)page_nr << PAGE_SHIFT) | pgprot_val(pgprot)) & __supported_pte_mask); } However, we overload _PAGE_GLOBAL with _PAGE_PROTNONE on non-present ptes to distinguish them from swap entries. However, applying __supported_pte_mask indiscriminately will clear the bit and corrupt the pte. I guess the best fix is to only apply __supported_pte_mask to present ptes. This seems like the right solution to me, as it means we can completely ignore the issue of overlaps between the present pte bits and the non-present pte-as-swap entry use of the bits. __supported_pte_mask contains the set of flags we support on the current hardware. We also use bits in the pte for things like logically present ptes with no permissions, and swap entries for swapped out pages. We should only apply __supported_pte_mask to present ptes, because otherwise we may destroy other information being stored in the ptes. Signed-off-by: Jeremy Fitzhardinge Signed-off-by: H. Peter Anvin commit 4abfd73e34e7915e62b6f75bd3e9f4014f830910 Author: Adrian-Ken Rueegsegger Date: Thu Feb 5 16:19:31 2009 +1100 crypto: shash - Fix module refcount Module reference counting for shash is incorrect: when a new shash transformation is created the refcount is not increased as it should. Signed-off-by: Adrian-Ken Rueegsegger Signed-off-by: Herbert Xu commit 5294e256717923f4a3297bb8b802f5e0625763f3 Author: Rafael J. Wysocki Date: Wed Feb 4 02:09:07 2009 +0100 PCI PM: make the PM core more careful with drivers using the new PM framework Currently, the PM core always attempts to manage devices with drivers that use the new PM framework. In particular, it attempts to disable the devices (which is unnecessary), to save their state (which may be undesirable if the driver has done that already) and to put them into low power states (again, this may be undesirable if the driver has already put the device into a low power state). That need not be the right thing to do, so make the core be more careful in this respect. Generally, there are the following categories of devices to consider: * bridge devices without drivers * non-bridge devices without drivers * bridge devices with drivers * non-bridge devices with drivers and each of them should be handled differently. For bridge devices without drivers the PCI PM core will save their state on suspend and restore it (early) during resume, after putting them into D0 if necessary. It will not attempt to do anything else to these devices. For non-bridge devices without drivers the PCI PM core will disable them and save their state on suspend. During resume, it will put them into D0, if necessary, restore their state (early) and reenable them. For bridge devices with drivers the PCI PM core will only save their state on suspend if the driver hasn't done that already. Still, the core will restore their state (early) during resume, after putting them into D0, if necessary. For non-bridge devices with drivers the PCI PM core will only save their state on suspend if the driver hasn't done that already. Also, if the state of the device hasn't been saved by the driver, the core will attempt to put the device into a low power state. During resume the core will restore the state of the device (early), after putting it into D0, if necessary. Signed-off-by: Rafael J. Wysocki Acked-by: Linus Torvalds Signed-off-by: Jesse Barnes commit 49c968111aee4a463d3247937b63efa63a65f378 Author: Rafael J. Wysocki Date: Wed Feb 4 02:02:15 2009 +0100 PCI PM: Read power state from device after trying to change it on resume pci_restore_standard_config() unconditionally changes current_state to PCI_D0 after attempting to change the device's power state, but it should rather read the actual current power state from the device. Signed-off-by: Rafael J. Wysocki Acked-by: Linus Torvalds Signed-off-by: Jesse Barnes commit cbbc2f6b0d438f80831c20124137ea92f0e5149b Author: Rafael J. Wysocki Date: Wed Feb 4 02:01:15 2009 +0100 PCI PM: Do not disable and enable bridges during suspend-resume It is a mistake to disable and enable PCI bridges and PCI Express ports during suspend-resume, at least at the time when it is currently done. Disabling them may lead to problems with accessing devices behind them and they should be automatically enabled when their standard config spaces are restored. Fix this by not attempting to disable bridges during suspend and enable them during resume. Signed-off-by: Rafael J. Wysocki Acked-by: Linus Torvalds Signed-off-by: Jesse Barnes commit 27be54a65c89c4b4aa9b25fc6fba31ffd01a08ca Author: Rafael J. Wysocki Date: Wed Feb 4 02:00:11 2009 +0100 PCI: PCIe portdrv: Simplify suspend and resume Simplify suspend and resume of the PCI Express port driver. It no longer needs to save and restore the standard configuration space of the device; this is now done by the PCI PM core layer. This patch is reported to fix the regression tracked as http://bugzilla.kernel.org/show_bug.cgi?id=12598 Signed-off-by: Rafael J. Wysocki Reported-and-tested-by: Parag Warudkar Acked-by: Linus Torvalds Signed-off-by: Jesse Barnes commit 99dadce8756bf08f5f8baf749533d044f6b3ff25 Author: Rafael J. Wysocki Date: Wed Feb 4 01:59:09 2009 +0100 PCI PM: Fix saving of device state in pci_legacy_suspend Make pci_legacy_suspend() save the state of the device if it is in PCI_UNKNOWN after its suspend callback has run and warn only if the power state of the device has been changed by its suspend callback. Also, use WARN_ONCE(), which is more useful, in pci_legacy_suspend(), so that the name of the offending function is printed. Additionally, remove the unnecessary line of code setting pci_dev->state_saved. Signed-off-by: Rafael J. Wysocki Reported-by: Benjamin Herrenschmidt Acked-by: Linus Torvalds Signed-off-by: Jesse Barnes commit 144a76bc885ef4852601c66595326e59f12877f8 Author: Rafael J. Wysocki Date: Wed Feb 4 01:57:22 2009 +0100 PCI PM: Check if the state has been saved before trying to restore it Check if the standard configuration registers of a PCI device have been saved during suspend before trying to restore them during resume. Signed-off-by: Rafael J. Wysocki Reported-By: Benjamin Herrenschmidt Acked-by: Linus Torvalds Signed-off-by: Jesse Barnes commit ddb7c9d29fac34626aef2af9f19787a888e4ca9c Author: Rafael J. Wysocki Date: Wed Feb 4 01:56:14 2009 +0100 PCI PM: Fix handling of devices without drivers Suspend to RAM is reported to break on some machines as a result of attempting to put one of driverless PCI devices into a low power state. Avoid that by not attepmting to power manage driverless devices during suspend. Fix up pci_pm_poweroff() after a previous incomplete fix for the same thing during hibernation. This patch is reported to fix the regression from 2.6.28 tracked as http://bugzilla.kernel.org/show_bug.cgi?id=12605 Signed-off-by: Rafael J. Wysocki Reported-and-tested-by: Eric Sesterhenn Acked-by: Linus Torvalds Signed-off-by: Jesse Barnes commit 97c44836cdec1ea713a15d84098a1a908157e68f Author: Timothy S. Nelson Date: Fri Jan 30 06:12:47 2009 +1100 PCI: return error on failure to read PCI ROMs This patch makes the ROM reading code return an error to user space if the size of the ROM read is equal to 0. The patch also emits a warnings if the contents of the ROM are invalid, and documents the effects of the "enable" file on ROM reading. Signed-off-by: Timothy S. Nelson Acked-by: Alex Villacis-Lasso Signed-off-by: Jesse Barnes commit 3419c75e15f82c3ab09bd944fddbde72c9e4b3ea Author: Alex Chiang Date: Wed Jan 28 14:59:18 2009 -0700 PCI: properly clean up ASPM link state on device remove We only want to disable ASPM when the last function is removed from the parent's device list. We determine this by checking to see if the parent's device list is completely empty. Unfortunately, we never hit that code because the parent is considered an upstream port, and never had an ASPM link_state associated with it. The early check for !link_state causes us to return early, we never discover that our device list is empty, and thus we never remove the downstream ports' link_state nodes. Instead of checking to see if the parent's device list is empty, we can check to see if we are the last device on the list, and if so, then we know that we can clean up properly. Cc: Shaohua Li Signed-off-by: Alex Chiang Signed-off-by: Jesse Barnes commit b98ac702f49042ab0c382b839465b95a2bd0cd65 Author: Andy Fleming Date: Wed Feb 4 16:38:05 2009 -0800 gianfar: Fix potential soft reset race SOFT_RESET must be asserted for at least 3 TX clocks in order for it to work properly. The syncs in the gfar_write() commands have been hiding this, but we need to guarantee it. Signed-off-by: Andy Fleming Signed-off-by: David S. Miller commit 1fbe49328f7442090439addddf441fb5b3186e71 Author: Andy Fleming Date: Wed Feb 4 16:37:40 2009 -0800 gianfar: Fix BD_LENGTH_MASK definition BD_LENGTH_MASK is supposed to catch the low 16-bits of the status field, not the low byte. The old way, we would never be able to clean up tx packets with sizes divisible by 256. Signed-off-by: Andy Fleming Signed-off-by: David S. Miller commit 65ab8385b67854792e89267907f9fcb27e779f95 Author: Divy Le Ray Date: Wed Feb 4 16:31:39 2009 -0800 cxgb3: Fix lro switch The LRO switch is always set to 1 in the rx processing loop. It breaks the accelerated iSCSI receive traffic. Fix its computation. Signed-off-by: Divy Le Ray Signed-off-by: David S. Miller commit 4560839939f4b4a96e21e80584f87308ac93c1da Author: Alex Chiang Date: Wed Feb 4 16:44:01 2009 -0700 x86: fix grammar in user-visible BIOS warning Fix user-visible grammo. Signed-off-by: Alex Chiang Signed-off-by: Ingo Molnar commit a6a95406c676ffe4f9dee708eb404a17c69f7fdd Author: Pavel Emelyanov Date: Wed Feb 4 13:40:31 2009 +0300 x86: fix hpet timer reinit for x86_64 There's a small problem with hpet_rtc_reinit function - it checks for the: hpet_readl(HPET_COUNTER) - hpet_t1_cmp > 0 to continue increasing both the HPET_T1_CMP (register) and the hpet_t1_cmp (variable). But since the HPET_COUNTER is always 32-bit, if the hpet_t1_cmp is 64-bit this condition will always be FALSE once the latter hits the 32-bit boundary, and we can have a situation, when we don't increase the HPET_T1_CMP register high enough. The result - timer stops ticking, since HPET_T1_CMP becomes less, than the COUNTER and never increased again. The solution is (based on Linus's suggestion) to not compare 64-bits (on 64-bit x86), but to do the comparison on 32-bit signed integers. Reported-by: Kirill Korotaev Signed-off-by: Pavel Emelyanov Signed-off-by: Ingo Molnar commit f67d8176ba9a3dbc33454cd67057184b2ef5ee31 Author: Takashi Iwai Date: Wed Feb 4 23:30:19 2009 +0100 ALSA: hda - Add quirk for FSC Amilo Xi2550 Added model=fujisu-pi2515 for FSC Amilo Xi2550 with ALC883 codec. Refernece: Novell bnc#450979 https://bugzilla.novell.com/show_bug.cgi?id=450979 Signed-off-by: Takashi Iwai commit 647802d6db5f2e62e53f44bfdc61416547ba7f5b Merge: 3e561f9 bb960a1 Author: Linus Torvalds Date: Wed Feb 4 13:58:50 2009 -0800 Merge branch 'x86-fixes-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip * 'x86-fixes-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip: x86: APIC: enable workaround on AMD Fam10h CPUs xen: disable interrupts before saving in percpu x86: add x86@kernel.org to MAINTAINERS x86: push old stack address on irqstack for unwinder irq, x86: fix lock status with numa_migrate_irq_desc x86: add cache descriptors for Intel Core i7 x86/Voyager: make it build and boot commit 3e561f975cd6db846b2bbd684cd107a27f5d8aaa Merge: 9f96ae6 3562612 Author: Linus Torvalds Date: Wed Feb 4 13:58:37 2009 -0800 Merge branch 'sched-fixes-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip * 'sched-fixes-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip: sched: add missing kernel-doc in sched.h commit 9f96ae6ee049b78dc334965a38fb441f7a16201f Merge: 9dfea1b 229c4ef Author: Linus Torvalds Date: Wed Feb 4 13:58:24 2009 -0800 Merge branch 'tracing-fixes-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip * 'tracing-fixes-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip: ftrace: do_each_pid_task() needs rcu lock commit dc4ff585ffbc6cb0c872697b2d5f42293a32e5c8 Author: David S. Miller Date: Wed Feb 4 13:48:11 2009 -0800 sparc64: Call dump_stack() in die_nmi(). Signed-off-by: David S. Miller commit 483b4ee60edbefdfbff0dd538fb81f368d9e7c0d Author: Suresh Siddha Date: Wed Feb 4 11:59:44 2009 -0800 sched: fix nohz load balancer on cpu offline Christian Borntraeger reports: > After a logical cpu offline, even on a complete idle system, there > is one cpu with full ticks. It turns out that nohz.cpu_mask has the > the offlined cpu still set. > > In select_nohz_load_balancer() we check if the system is completely > idle to turn of load balancing. We compare cpu_online_map with > nohz.cpu_mask. Since cpu_online_map is updated on cpu unplug, > but nohz.cpu_mask is not, the check fails and the scheduler believes > that we need an "idle load balancer" even on a fully idle system. > Since the ilb cpu does not deactivate the timer tick this breaks NOHZ. Fix the select_nohz_load_balancer() to not set the nohz.cpu_mask while a cpu is going offline. Reported-by: Christian Borntraeger Signed-off-by: Suresh Siddha Tested-by: Christian Borntraeger Signed-off-by: Ingo Molnar commit 36723bfe81f374fd8abc05a46f10a7cac2f01a75 Author: Borislav Petkov Date: Wed Feb 4 21:44:04 2009 +0100 x86/Kconfig.cpu: make Kconfig help readable in the console Impact: cleanup Some lines exceed the 80 char width making them unreadable. Signed-off-by: Borislav Petkov Signed-off-by: Ingo Molnar commit c4e061ace75513aee227090486cc46dec7810c00 Author: Reinette Chatre Date: Tue Feb 3 10:20:03 2009 -0800 iwlwifi: save PCI state before suspend, restore after resume This is the right thing to do and fixes the following warning: [ 115.012278] ------------[ cut here ]------------ [ 115.012281] WARNING: at drivers/pci/pci-driver.c:370 pci_legacy_suspend+0x85/0xc2() [ 115.012285] Hardware name: Latitude D630 [ 115.012301] PCI PM: Device state not saved by iwl3945_pci_suspend+0x0/0x4c [iwl3945] [ 115.012304] Modules linked in: fuse nfsd lockd nfs_acl auth_rpcgss exportfs sunrpc ipv6 acpi_cpufreq kvm_intel kvm snd_hda_codec_idt snd_hda_intel snd_hda_codec snd_hwdep arc4 snd_seq_device snd_pcm_oss snd_mixer_oss ecb snd_pcm cryptomgr aead snd_timer crypto_blkcipher snd snd_page_alloc ohci1394 crypto_hash crypto_algapi ch341 ieee1394 usbserial thermal iwl3945 mac80211 led_class lib80211 tg3 processor i2c_i801 i2c_core sg cfg80211 libphy usbhid battery ac button sr_mod cdrom evdev dcdbas ata_generic ata_piix libata sd_mod scsi_mod ext3 jbd mbcache uhci_hcd ohci_hcd ehci_hcd usbcore [last unloaded: microcode] [ 115.012374] Pid: 4163, comm: pm-suspend Not tainted 2.6.29-rc3-00227-gf1dd849-dirty #67 [ 115.012377] Call Trace: [ 115.012382] [] warn_slowpath+0xb1/0xed [ 115.012387] [] ? _spin_unlock_irqrestore+0x5c/0x78 [ 115.012390] [] ? up+0x34/0x39 [ 115.012394] [] ? acpi_ut_release_mutex+0x5d/0x61 [ 115.012397] [] ? acpi_get_data+0x5e/0x70 [ 115.012400] [] ? acpi_bus_get_device+0x25/0x39 [ 115.012403] [] ? acpi_bus_power_manageable+0x11/0x29 [ 115.012406] [] ? acpi_pci_power_manageable+0x17/0x19 [ 115.012410] [] ? pci_set_power_state+0xcc/0x101 [ 115.012418] [] ? iwl3945_pci_suspend+0x0/0x4c [iwl3945] [ 115.012422] [] pci_legacy_suspend+0x85/0xc2 [ 115.012425] [] pci_pm_suspend+0x34/0x86 [ 115.012429] [] pm_op+0x52/0xe5 [ 115.012432] [] device_suspend+0x32a/0x451 [ 115.012436] [] suspend_devices_and_enter+0x3e/0x13a [ 115.012439] [] enter_state+0x110/0x164 [ 115.012442] [] state_store+0xb7/0xd7 [ 115.012446] [] kobj_attr_store+0x17/0x19 [ 115.012449] [] sysfs_write_file+0xe4/0x119 [ 115.012453] [] vfs_write+0xae/0x137 [ 115.012456] [] sys_write+0x47/0x70 [ 115.012459] [] system_call_fastpath+0x16/0x1b [ 115.012467] ---[ end trace 829828966f6f24dc ]--- Signed-off-by: Reinette Chatre Tested-by: Ming Lei Cc: Rafael J. Wysocki Signed-off-by: John W. Linville commit 5e46882e2ecacd2ebd1bfba3caaa4a25ffbcb94d Author: Reinette Chatre Date: Wed Jan 28 09:38:30 2009 -0800 iwlwifi: clean key table in iwl_clear_stations_table Cleans uCode key table bit map iwl_clear_stations_table since all stations are cleared also the key table must be. Since the keys are not removed properly on suspend by mac80211 this may result in exhausting key table on resume leading to memory corruption during removal Signed-off-by: Tomas Winkler Signed-off-by: Reinette Chatre Signed-off-by: John W. Linville commit 48ec4d9537282a55d602136724f069faafcac8c8 Author: Kyle McMartin Date: Wed Feb 4 15:54:45 2009 -0500 x86, 64-bit: print DMI info in the oops trace This patch echoes what we already do on 32-bit since 90f7d25c6b672137344f447a30a9159945ffea72, and prints the DMI product name in show_regs, so that system specific problems can be easily identified. Signed-off-by: Kyle McMartin Signed-off-by: Ingo Molnar commit 436443f0f77f730f9f700095799c485356695c08 Author: Mark Fasheh Date: Tue Feb 3 23:12:34 2009 -0800 Revert "configfs: Silence lockdep on mkdir(), rmdir() and configfs_depend_item()" This reverts commit 0e0333429a6280e6eb3c98845e4eed90d5f8078a. I committed this by accident - Joel and Louis are working with the lockdep maintainer to provide a better solution than just turning lockdep off. Signed-off-by: Mark Fasheh Acked-by: commit 9dfea1b46d9f147478ccdfa4a4ef472fdc98d6dd Merge: eda58a8 7df0eb4 Author: Linus Torvalds Date: Wed Feb 4 09:39:12 2009 -0800 Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tiwai/sound-2.6 * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tiwai/sound-2.6: ALSA: pcm_oss: AFMT_S24_LE is set twice in return value ALSA: ASoC: email - update email addresses. OMAP: ASoC: Fix spinlock misuse in omap-pcm.c ALSA: hda - No widget selection for volume knob widgets in proc output ALSA: hda - Add support of iMac 24 Aluminium ALSA: alsa: time reaches -1, tested 0 ALSA: hda - Add quirk for another HP dv5 model commit 7df0eb424d7f5bfb948c921500e0470f4a27c4cb Merge: af7af69 64ca040 Author: Takashi Iwai Date: Wed Feb 4 18:19:11 2009 +0100 Merge branch 'fix/asoc' into for-linus commit af7af690397296b663c8bc152a5f79f32abcef24 Merge: 7924f0c 516a1ce Author: Takashi Iwai Date: Wed Feb 4 18:19:07 2009 +0100 Merge branch 'fix/hda' into for-linus commit 7924f0cadcf52cb316d6eca60a6ae3fc9e42b465 Author: Roel Kluin Date: Wed Feb 4 18:14:55 2009 +0100 ALSA: pcm_oss: AFMT_S24_LE is set twice in return value AFMT_S24_LE is set twice in return value vi sound/core/oss/pcm_oss.c +640 #define AFMT_S24_LE 0x00008000 #define AFMT_S24_BE 0x00010000 Signed-off-by: Roel Kluin Signed-off-by: Takashi Iwai commit eda58a85ec3fc05855a26654d97a2b53f0e715b9 Merge: 024bb96 c8e6741 Author: Linus Torvalds Date: Wed Feb 4 07:56:25 2009 -0800 Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/cooloney/blackfin-2.6 * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/cooloney/blackfin-2.6: (40 commits) Blackfin arch: Remove outdated code Blackfin arch: Fix udelay implementation Blackfin arch: Update Copyright information Blackfin arch: Add BF561 PPI POLS, POLC Masks Blackfin arch: Update CM-BF527 kernel config Blackfin arch: define bfin_memmap as static since it is only used here Blackfin arch: cplb mananger: use a do...while loop rather than a for loop Blackfin arch: fix bug - traps test case 19 for exception 0x2d fails Blackfin arch: add platform device bfin_mii-bus and KSZ8893M switch driver platform resources to board files Blackfin arch: build jtag tty driver as a module by default Blackfin arch: fix 2 bugs related to debug Blackfin arch: Add ANOMALY_05000380 to BF54x to kill the compile warning Blackfin arch: Fix bug - 561 SMP kernel can't boot from jffs2 Blackfin arch: base SIC_IWR# programming on whether the MMR exists Blackfin arch: read SYSCR on newer parts that mirror the bits of SWRST in it Blackfin arch: fixup board init function name Blackfin arch: drop CONFIG_I2C_BOARDINFO ifdefs Blackfin arch: bfin_reset->_bfin_reset redirection no longer needed Blackfin arch: sync reboot handler with version in u-boot Blackfin arch: Faster Implementation of csum_tcpudp_nofold() ... commit 024bb9617e01716c5ac7d235f54483cc6018978f Merge: 25431e9 9b02605 Author: Linus Torvalds Date: Wed Feb 4 07:54:00 2009 -0800 Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/sparc-2.6 * git://git.kernel.org/pub/scm/linux/kernel/git/davem/sparc-2.6: sparc64: Kill bogus TPC/address truncation during 32-bit faults. sparc: fixup for sparseirq changes sparc64: Validate kernel generated fault addresses on sparc64. sparc64: On non-Niagara, need to touch NMI watchdog in NOHZ mode. sparc64: Implement NMI watchdog on capable cpus. sparc: Probe PMU type and record in sparc_pmu_type. sparc64: Move generic PCR support code to seperate file. commit 25431e900dc47abb312c9ae8599e8c8ae038eb5a Merge: 0d7a063 55128bc Author: Linus Torvalds Date: Wed Feb 4 07:52:21 2009 -0800 Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-2.6 * git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-2.6: sunrpc: fix rdma dependencies e1000: Fix PCI enable to honor the need_ioport flag sgi-xp: link XPNET's net_device_ops to its net_device structure pcnet_cs: Fix misuse of the equality operator. hso: add new device id's dca: redesign locks to fix deadlocks cassini/sungem: limit reaches -1, but 0 tested net: variables reach -1, but 0 tested qlge: bugfix: Add missing netif_napi_del call. qlge: bugfix: Add flash offset for second port. qlge: bugfix: Fix endian issue when reading flash. udp: increments sk_drops in __udp_queue_rcv_skb() net: Fix userland breakage wrt. linux/if_tunnel.h net: packet socket packet_lookup_frame fix commit 0d7a063fa7b918d2a61cdd63232286d4131774de Merge: dcf6a79 9e6f8ed Author: Linus Torvalds Date: Wed Feb 4 07:40:54 2009 -0800 Merge branch 'for-linus' of git://git.o-hand.com/linux-mfd * 'for-linus' of git://git.o-hand.com/linux-mfd: mfd: Remove non exported references from pcf50633 commit 9b0d3ace33ef225690a86d7130feadb22367f496 Author: Chris Mason Date: Wed Feb 4 09:33:00 2009 -0500 Btrfs: don't return congestion in write_cache_pages as often On fast devices that go from congested to uncongested very quickly, pdflush is waiting too often in congestion_wait, and the FS is backing off to easily in write_cache_pages. For now, fix this on the btrfs side by only checking congestion after some bios have already gone down. Longer term a real fix is needed for pdflush, but that is a larger project. Signed-off-by: Chris Mason commit 7b78c170dc4f538cc7ee66f47b3aac3f3974a36c Author: Chris Mason Date: Wed Feb 4 09:12:46 2009 -0500 Btrfs: Only prep for btree deletion balances when nodes are mostly empty Whenever an item deletion is done, we need to balance all the nodes in the tree to make sure we don't end up with an empty node if a pointer is deleted. This balance prep happens from the root of the tree down so we can drop our locks as we go. reada_for_balance was triggering read-ahead on neighboring nodes even when no balancing was required. This adds an extra check to avoid calling balance_level() and avoid reada_for_balance() when a balance won't be required. Signed-off-by: Chris Mason commit 12f4daccfc3732280debba8f9ba49720372de831 Author: Chris Mason Date: Wed Feb 4 09:31:42 2009 -0500 Btrfs: fix btrfs_unlock_up_safe to walk the entire path btrfs_unlock_up_safe would break out at the first NULL node entry or unlocked node it found in the path. Some of the callers have missing nodes at the lower levels of the path, so this commit fixes things to check all the nodes in the path before returning. Signed-off-by: Chris Mason commit 4d081c41a4f98aecb5e86ef7d3e644cc7b52131f Author: Chris Mason Date: Wed Feb 4 09:31:28 2009 -0500 Btrfs: change btrfs_del_leaf to drop locks earlier btrfs_del_leaf does two things. First it removes the pointer in the parent, and then it frees the block that has the leaf. It has the parent node locked for both operations. But, it only needs the parent locked while it is deleting the pointer. After that it can safely free the block without the parent locked. Signed-off-by: Chris Mason commit 06d9a8d7c24fe22836bf0b0f82db59d6f98e271e Author: Chris Mason Date: Wed Feb 4 09:30:58 2009 -0500 Btrfs: Change btrfs_truncate_inode_items to stop when it hits the inode btrfs_truncate_inode_items is setup to stop doing btree searches when it has finished removing the items for the inode. It used to detect the end of the inode by looking for an objectid that didn't match the one we were searching for. But, this would result in an extra search through the btree, which adds extra balancing and cow costs to the operation. This commit adds a check to see if we found the inode item, which means we can stop searching early. Signed-off-by: Chris Mason commit f03d9301f15fb69cdf1eb59d53c9fb72f68ecccc Author: Chris Mason Date: Wed Feb 4 09:31:06 2009 -0500 Btrfs: Don't try to compress pages past i_size The compression code had some checks to make sure we were only compressing bytes inside of i_size, but it wasn't catching every case. To make things worse, some incorrect math about the number of bytes remaining would make it try to compress more pages than the file really had. The fix used here is to fall back to the non-compression code in this case, which does all the proper cleanup of delalloc and other accounting. Signed-off-by: Chris Mason commit 811449496b3e3caa9a8cf43feacbade0153324f2 Author: Josef Bacik Date: Wed Feb 4 09:18:33 2009 -0500 Btrfs: join the transaction in __btrfs_setxattr With selinux on we end up calling __btrfs_setxattr when we create an inode, which calls btrfs_start_transaction(). The problem is we've already called that in btrfs_new_inode, and in btrfs_start_transaction we end up doing a wait_current_trans(). If btrfs-transaction has started committing it will wait for all handles to finish, while the other process is waiting for the transaction to commit. This is fixed by using btrfs_join_transaction, which won't wait for the transaction to commit. Thanks, Signed-off-by: Josef Bacik commit 8c087b5183adab186a298f2d6ed39aefdcae413c Author: Chris Ball Date: Wed Feb 4 09:29:54 2009 -0500 Btrfs: Handle SGID bit when creating inodes Before this patch, new files/dirs would ignore the SGID bit on their parent directory and always be owned by the creating user's uid/gid. Signed-off-by: Chris Ball Signed-off-by: Chris Mason commit bd56b30205bc09da0beb80d4ba3d4c7309792da5 Author: Chris Mason Date: Wed Feb 4 09:27:02 2009 -0500 Btrfs: Make btrfs_drop_snapshot work in larger and more efficient chunks Every transaction in btrfs creates a new snapshot, and then schedules the snapshot from the last transaction for deletion. Snapshot deletion works by walking down the btree and dropping the reference counts on each btree block during the walk. If if a given leaf or node has a reference count greater than one, the reference count is decremented and the subtree pointed to by that node is ignored. If the reference count is one, walking continues down into that node or leaf, and the references of everything it points to are decremented. The old code would try to work in small pieces, walking down the tree until it found the lowest leaf or node to free and then returning. This was very friendly to the rest of the FS because it didn't have a huge impact on other operations. But it wouldn't always keep up with the rate that new commits added new snapshots for deletion, and it wasn't very optimal for the extent allocation tree because it wasn't finding leaves that were close together on disk and processing them at the same time. This changes things to walk down to a level 1 node and then process it in bulk. All the leaf pointers are sorted and the leaves are dropped in order based on their extent number. The extent allocation tree and commit code are now fast enough for this kind of bulk processing to work without slowing the rest of the FS down. Overall it does less IO and is better able to keep up with snapshot deletions under high load. Signed-off-by: Chris Mason commit b4ce94de9b4d64e8ab3cf155d13653c666e22b9b Author: Chris Mason Date: Wed Feb 4 09:25:08 2009 -0500 Btrfs: Change btree locking to use explicit blocking points Most of the btrfs metadata operations can be protected by a spinlock, but some operations still need to schedule. So far, btrfs has been using a mutex along with a trylock loop, most of the time it is able to avoid going for the full mutex, so the trylock loop is a big performance gain. This commit is step one for getting rid of the blocking locks entirely. btrfs_tree_lock takes a spinlock, and the code explicitly switches to a blocking lock when it starts an operation that can schedule. We'll be able get rid of the blocking locks in smaller pieces over time. Tracing allows us to find the most common cause of blocking, so we can start with the hot spots first. The basic idea is: btrfs_tree_lock() returns with the spin lock held btrfs_set_lock_blocking() sets the EXTENT_BUFFER_BLOCKING bit in the extent buffer flags, and then drops the spin lock. The buffer is still considered locked by all of the btrfs code. If btrfs_tree_lock gets the spinlock but finds the blocking bit set, it drops the spin lock and waits on a wait queue for the blocking bit to go away. Much of the code that needs to set the blocking bit finishes without actually blocking a good percentage of the time. So, an adaptive spin is still used against the blocking bit to avoid very high context switch rates. btrfs_clear_lock_blocking() clears the blocking bit and returns with the spinlock held again. btrfs_tree_unlock() can be called on either blocking or spinning locks, it does the right thing based on the blocking bit. ctree.c has a helper function to set/clear all the locked buffers in a path as blocking. Signed-off-by: Chris Mason commit c487685d7c18a8481900755aa5c56a7a74193101 Author: Chris Mason Date: Wed Feb 4 09:24:25 2009 -0500 Btrfs: hash_lock is no longer needed Before metadata is written to disk, it is updated to reflect that writeout has begun. Once this update is done, the block must be cow'd before it can be modified again. This update was originally synchronized by using a per-fs spinlock. Today the buffers for the metadata blocks are locked before writeout begins, and everyone that tests the flag has the buffer locked as well. So, the per-fs spinlock (called hash_lock for no good reason) is no longer required. Signed-off-by: Chris Mason commit 3935127c50c84106d654ef14962cff28c660bc62 Author: Chris Mason Date: Wed Feb 4 09:24:05 2009 -0500 Btrfs: disable leak debugging checks in extent_io.c extent_io.c has debugging code to report and free leaked extent_state and extent_buffer objects at rmmod time. This helps track down leaks and it saves you from rebooting just to properly remove the kmem_cache object. But, the code runs under a fairly expensive spinlock and the checks to see if it is currently enabled are not entirely consistent. Some use #ifdef and some #if. This changes everything to #if and disables the leak checking. Signed-off-by: Chris Mason commit b7a9f29fcf4e53e9ca7982331649fa2013e69c99 Author: Chris Mason Date: Wed Feb 4 09:23:45 2009 -0500 Btrfs: sort references by byte number during btrfs_inc_ref When a block goes through cow, we update the reference counts of everything that block points to. The internal pointers of the block can be in just about any order, and it is likely to have clusters of things that are close together and clusters of things that are not. To help reduce the seeks that come with updating all of these reference counts, sort them by byte number before actual updates are done. Signed-off-by: Chris Mason commit b51912c91fcf7581cc7b4550f1bb96422809d9ed Author: Chris Mason Date: Wed Feb 4 09:23:24 2009 -0500 Btrfs: async threads should try harder to find work Tracing shows the delay between when an async thread goes to sleep and when more work is added is often very short. This commit adds a little bit of delay and extra checking to the code right before we schedule out. It allows more work to be added to the worker without requiring notifications from other procs. Signed-off-by: Chris Mason commit 0279b4cd86685b5eea467c1b74ce94f0add2c0a3 Author: Jim Owens Date: Wed Feb 4 09:29:13 2009 -0500 Btrfs: selinux support Add call to LSM security initialization and save resulting security xattr for new inodes. Add xattr support to symlink inode ops. Set inode->i_op for existing special files. Signed-off-by: jim owens commit bef62ef339c15d7721da88958b03f7b544464722 Author: Christian Hesse Date: Wed Feb 4 09:28:28 2009 -0500 Btrfs: make btrfs acls selectable This patch adds a menu entry to kconfig to enable acls for btrfs. This allows you to enable FS_POSIX_ACL at kernel compile time. (updated by Jeff Mahoney to make the changes in fs/btrfs/Kconfig instead) Signed-off-by: Christian Hesse Signed-off-by: Jeff Mahoney commit a68370515356a3eddbfaf7f56418b3cf85d76c2c Author: Chris Mason Date: Wed Feb 4 09:19:41 2009 -0500 Btrfs: Catch missed bios in the async bio submission thread The async bio submission thread was missing some bios that were added after it had decided there was no work left to do. Signed-off-by: Chris Mason commit bb960a1e42042e82447a5bc0941b3ab6d614bac3 Merge: 8587706 06fc732 Author: Ingo Molnar Date: Wed Feb 4 14:54:56 2009 +0100 Merge branch 'core/xen' into x86/urgent commit c8e674125e03c5f36ccfd61d83b933e6956074b0 Author: Michael Hennerich Date: Wed Feb 4 16:49:45 2009 +0800 Blackfin arch: Remove outdated code The removed version with the loop registers saved on the stack was originally intended to workaround the missing toolchain support for LoopReg Clobbers. Since our toolchain now supports these there is no point in keeping this workaround. And since we don't touch LoopRegs anymore we're no longer subject for ANOMALY_05000312. Signed-off-by: Michael Hennerich Signed-off-by: Bryan Wu commit 4e653e04cc1c3553af539ffc81fb56d83d83c733 Author: Michael Hennerich Date: Wed Feb 4 16:49:45 2009 +0800 Blackfin arch: Fix udelay implementation Avoid possible overflow during 32*32->32 multiplies. Reported-by: Marco Reppenhagen Signed-off-by: Michael Hennerich Signed-off-by: Bryan Wu commit 972de7d9292439c9429c301cf377fbf56b6e654e Author: Michael Hennerich Date: Wed Feb 4 16:49:45 2009 +0800 Blackfin arch: Update Copyright information Signed-off-by: Michael Hennerich Signed-off-by: Bryan Wu commit 772c258fd056a77fd808385a1c551dcd141cf8a3 Author: Michael Hennerich Date: Wed Feb 4 16:49:45 2009 +0800 Blackfin arch: Add BF561 PPI POLS, POLC Masks Signed-off-by: Michael Hennerich Signed-off-by: Bryan Wu commit dfd700baf2ddab395cc059ce9f294306bf56a735 Author: Michael Hennerich Date: Wed Feb 4 16:49:45 2009 +0800 Blackfin arch: Update CM-BF527 kernel config Signed-off-by: Michael Hennerich Signed-off-by: Bryan Wu commit af4c7d4b4eddc297bbb516abdd6154bffc8e05e5 Author: Mike Frysinger Date: Wed Feb 4 16:49:45 2009 +0800 Blackfin arch: define bfin_memmap as static since it is only used here Signed-off-by: Mike Frysinger Signed-off-by: Bryan Wu commit d04dfc4c0e6056350175edc36b900a69703e9467 Author: Mike Frysinger Date: Wed Feb 4 16:49:45 2009 +0800 Blackfin arch: cplb mananger: use a do...while loop rather than a for loop use a do...while loop rather than a for loop to get slightly better optimization and to avoid gcc "may be used uninitialized" warnings ... we know that the [id]cplb_nr_bounds variables will never be 0, so this is OK Signed-off-by: Mike Frysinger Signed-off-by: Bryan Wu commit bf324cb81a2f7da357eba00b6b1ef1cf38c264b8 Author: Bernd Schmidt Date: Wed Feb 4 16:49:45 2009 +0800 Blackfin arch: fix bug - traps test case 19 for exception 0x2d fails Enable null pointer checking for ICPLBs. The code was there but for some reason I had commented it out at some stage during development. Should restrict this to 1K since atomic ops start there. Signed-off-by: Bernd Schmidt Signed-off-by: Bryan Wu commit 65319628db2c7a630daadfeec4d371aaca788482 Author: Graf Yang Date: Wed Feb 4 16:49:45 2009 +0800 Blackfin arch: add platform device bfin_mii-bus and KSZ8893M switch driver platform resources to board files Signed-off-by: Graf Yang Signed-off-by: Bryan Wu commit 583947c6bc397854a3a57d45539654c9d8223966 Author: Mike Frysinger Date: Wed Feb 4 16:49:45 2009 +0800 Blackfin arch: build jtag tty driver as a module by default Signed-off-by: Mike Frysinger Signed-off-by: Bryan Wu commit 3aee91bafef01bd5c59853346f1fcb85f701fdc1 Author: Jie Zhang Date: Wed Feb 4 16:49:45 2009 +0800 Blackfin arch: fix 2 bugs related to debug - unable to single step over emuexcpt instruction - gdbproxy goes into infinite loop when doing gdb does "next" over "emuexcpt" Don't decrement PC after software breakpoint. Signed-off-by: Jie Zhang Signed-off-by: Bryan Wu commit 1c302b6ccb1296bda3754708099233290f6cf689 Author: Bryan Wu Date: Wed Feb 4 16:49:45 2009 +0800 Blackfin arch: Add ANOMALY_05000380 to BF54x to kill the compile warning Signed-off-by: Bryan Wu commit 9960aa6a07bc41223a3bf2df1dfd284698486eb0 Author: Graf Yang Date: Wed Feb 4 16:49:45 2009 +0800 Blackfin arch: Fix bug - 561 SMP kernel can't boot from jffs2 bss_l2 section is garbage when the data in this section is used by _bfin_relocate_l1_mem, so move the zero out function ahead. Signed-off-by: Graf Yang Signed-off-by: Bryan Wu commit be1d8543a82d3a8f466509bbd355a5861193135f Author: Mike Frysinger Date: Wed Feb 4 16:49:45 2009 +0800 Blackfin arch: base SIC_IWR# programming on whether the MMR exists base SIC_IWR# programming on whether the MMR exists rather than having to maintain another list of processors Signed-off-by: Mike Frysinger Signed-off-by: Bryan Wu commit ed1fb6048c3eef68df5fe19e9022fdad6e53357d Author: Mike Frysinger Date: Wed Feb 4 16:49:45 2009 +0800 Blackfin arch: read SYSCR on newer parts that mirror the bits of SWRST in it Signed-off-by: Mike Frysinger Signed-off-by: Bryan Wu commit 7f6678c52fea7ff3e7eb6a5f0e0b705c1991eaa2 Author: Mike Frysinger Date: Wed Feb 4 16:49:45 2009 +0800 Blackfin arch: fixup board init function name Signed-off-by: Mike Frysinger Signed-off-by: Bryan Wu commit 2678479c33774f297ea2a5d232cad11c4d56ef6c Author: Mike Frysinger Date: Wed Feb 4 16:49:45 2009 +0800 Blackfin arch: drop CONFIG_I2C_BOARDINFO ifdefs Drop CONFIG_I2C_BOARDINFO ifdefs as the common i2c header handles this already by stubbing things out Signed-off-by: Mike Frysinger Signed-off-by: Bryan Wu commit a6595bf04b9cc9a4997e6d849b62d69439dd1eff Author: Mike Frysinger Date: Wed Feb 4 16:49:45 2009 +0800 Blackfin arch: bfin_reset->_bfin_reset redirection no longer needed Signed-off-by: Mike Frysinger Signed-off-by: Bryan Wu commit adab7eb883a0b0fb7f13b1d7b30b596139f6f40d Author: Mike Frysinger Date: Wed Feb 4 16:49:45 2009 +0800 Blackfin arch: sync reboot handler with version in u-boot Signed-off-by: Mike Frysinger Signed-off-by: Bryan Wu commit aa9c33b496ca9434f26beaa1b447a6e2e5d8ad6a Author: Michael Hennerich Date: Wed Feb 4 16:49:45 2009 +0800 Blackfin arch: Faster Implementation of csum_tcpudp_nofold() Avoid conditional branch instructions during carry bit additions. Special thanks to Bernd. Simplify: Use ((len + proto) << 8) like every other __LITTLE_ENDIAN__ machine Cc: Bernd Schmidt Signed-off-by: Michael Hennerich Signed-off-by: Bryan Wu commit 0ce5eaf8ec156926a29313de877d9d5e0a692054 Author: Graf Yang Date: Wed Feb 4 16:49:45 2009 +0800 Blackfin arch: Fix bug - BF518 port F, G, and H have different mux offset compare to BF527 [Mike Frysinger : keep the ifdef nest down] Signed-off-by: Graf Yang Signed-off-by: Mike Frysinger Signed-off-by: Bryan Wu commit 047481f348668340fab7164b12be130ca2ad2522 Author: Grace Pan Date: Wed Feb 4 16:49:45 2009 +0800 Blackfin arch: Add in cflag to support mlong-calls for kgdb_test Signed-off-by: Grace Pan Signed-off-by: Bryan Wu commit b52dae3139066765a7d96563e9cd33d9e60efe33 Author: Sonic Zhang Date: Wed Feb 4 16:49:45 2009 +0800 Blackfin arch: Fix bug - Run "reboot" hangs bf518-ezbrd [Mike Frysinger : - setup P_DEFAULT_BOOT_SPI_CS for every arch based on the default bootrom behavior and convert all our boards to it - revert previous anomaly change ... bf51x is not affected by anomaly 05000353] Signed-off-by: Sonic Zhang Signed-off-by: Mike Frysinger Signed-off-by: Bryan Wu commit 5b93e13ffa8b06ff80eaa8e0ae92e44ebf61cde9 Author: Mike Frysinger Date: Wed Feb 4 16:49:45 2009 +0800 MAINTIANERS: Blackfin: remove subscribers-only marking remove subscribers-only marking as the list is automatically & silently moderated for people Signed-off-by: Mike Frysinger Signed-off-by: Bryan Wu commit 3605fb09652beeb2e8244c52a9db5b76cc12295e Author: Robin Getz Date: Wed Feb 4 16:49:45 2009 +0800 Blackfin arch: Add ability to count and display number of NMI interrupts Signed-off-by: Robin Getz Signed-off-by: Bryan Wu commit 0be58939146f28394a04b61fec7e0676cdafa47e Author: Robin Getz Date: Wed Feb 4 16:49:45 2009 +0800 Blackfin arch: Add a few more instructions that can cause the trace buffer to be discontiguous Signed-off-by: Robin Getz Signed-off-by: Bryan Wu commit e48df47c1adabece6823395657ea6c677eb653db Author: Robin Getz Date: Wed Feb 4 16:49:45 2009 +0800 Blackfin arch: Fix URL Signed-off-by: Robin Getz Signed-off-by: Bryan Wu commit f556309ea0d6a4adb0ad9775e5a18aa3564a0e4f Author: Mike Frysinger Date: Wed Feb 4 16:49:45 2009 +0800 Blackfin arch: cleanup bf54x ifdef mess in gpio code merge more of the bf54x and !bf54x gpio code together to cut down on #ifdef mess Signed-off-by: Mike Frysinger Signed-off-by: Bryan Wu commit 881eb621fc191e58fa638c533073683be2b63c24 Author: Jie Zhang Date: Wed Feb 4 16:49:45 2009 +0800 Blackfin arch: Add one more check on `fp' to prevent double fault Signed-off-by: Jie Zhang Signed-off-by: Bryan Wu commit 45c4f2a0b6c6302c5617534b8189c0e9b5a4a048 Author: Uwe Kleine-Koenig Date: Wed Feb 4 17:02:30 2009 +0800 Blackfin arch: explicit add a might sleep to gpio_free According to the documentation gpio_free should only be called from task context only. To make this more explicit add a might sleep to all implementations. This patch changes the gpio_free implementations for the blackfin architecture. Signed-off-by: Uwe Kleine-Koenig Cc: David Brownell Acked-by: Bryan Wu Signed-off-by: Andrew Morton commit 2f95d5bd84bfbe8cf62cb1c4306354cfc139370b Author: Robin Getz Date: Wed Feb 4 16:49:45 2009 +0800 Blackfin arch: don't accidently re-enable interrupts Make sure we don't accidently re-enable interrupts if we are being called in atomic context Signed-off-by: Robin Getz Signed-off-by: Bryan Wu commit 76e8fe4da652b020e08089415c684a365bb5b6a9 Author: Robin Getz Date: Wed Feb 4 16:49:45 2009 +0800 Blackfin arch: Print out where the bootmode is coming from (for easier debugging). Signed-off-by: Robin Getz Signed-off-by: Bryan Wu commit a2be3931144b8fab73c3d876c148ada7a3c09066 Author: Michael Hennerich Date: Wed Feb 4 16:49:45 2009 +0800 Blackfin arch: reset POLAR setting when acquiring a gpio for the first time when requesting a GPIO for the first time, the POLAR setting is not set to a sane state. this can lead to indeterminate behavior that cannot be resolved without an explicit write to the Blackfin port POLAR register. when requesting a GPIO for the first time via gpio_request(), the POLAR setting for the GPIO in question should be set to sane state. this should occur if the GPIO has not been allocated in any other way. some examples: - when doing something like "request_irq(); gpio_request();" on the same GPIO, the POLAR setting should not be reset. - when doing "gpio_request(); gpio_request();" on the same GPIO, the POLAR setting should be reset only the first time and not the second. Signed-off-by: Michael Hennerich Signed-off-by: Bryan Wu commit 5e7bb132bbed2088b8b103e410d143b341dcb837 Author: Michael Hennerich Date: Wed Feb 4 16:49:45 2009 +0800 Blackfin arch: Fix Bug - request lines with peripheral_request_list, but don't get freed with peripheral_free_list Remove erroneous check_gpio(ident) in peripheral_free() Reported-by: Michael McTernan Signed-off-by: Michael Hennerich Signed-off-by: Bryan Wu commit 331693129d1764e38b15561e5712347fd591b2a9 Author: Michael Hennerich Date: Wed Feb 4 16:49:45 2009 +0800 Blackfin arch: Fix Bug - Kernel does not boot if re-program clocks On BF561 EBIU_SDGCTL bit 31 controls the SDRAM external data path width, typically set 0 for a 32-bit bus width. On other Blackfin derivatives this bit should be set by default. Signed-off-by: Michael Hennerich Signed-off-by: Bryan Wu commit 41245ac5952e5b05e6fbb7c188eae0947f640189 Author: Mike Frysinger Date: Wed Feb 4 16:49:45 2009 +0800 Blackfin arch: fix bug - Dmacopy failed in BF537-STAMP Dmacopy failed in BF537-STAMP when copy from SRAM to SDRAM and kernel will reboot automatically. Fixing by doing a SSYNC before mucking with DMA registers Signed-off-by: Mike Frysinger Signed-off-by: Bryan Wu commit c6bbd8ac54742f657bd223e03b5b70e73ba092cd Author: Sonic Zhang Date: Wed Feb 4 16:49:45 2009 +0800 Blackfin arch: enable bfin_eth in bf51x by default Signed-off-by: Sonic Zhang Signed-off-by: Bryan Wu commit 4c4073d49f578422537ce16f6d42ebeb4f741e6d Author: Mike Frysinger Date: Wed Feb 4 16:49:45 2009 +0800 Blackfin arch: line up machine-/cpu- vars after BF54xM addition Signed-off-by: Mike Frysinger Signed-off-by: Bryan Wu commit 2f89c0632f6e27cc3e5eb66605490ddf67ef4953 Author: Mike Frysinger Date: Wed Feb 4 16:49:45 2009 +0800 Blackfin arch: add support for mobile ddr bf54x parts Signed-off-by: Mike Frysinger Signed-off-by: Bryan Wu commit d3522648676d4c8869e5539bca081820e69e24a4 Author: Mike Frysinger Date: Wed Feb 4 16:49:45 2009 +0800 Blackfin arch: scrub comments/whitespace/cvs keywords Signed-off-by: Mike Frysinger Signed-off-by: Bryan Wu commit 62663ea8220366472fe20462831f2d69d7987439 Author: Thomas Renninger Date: Tue Feb 3 17:46:46 2009 +0100 ACPI: cpufreq: Remove deprecated /proc/acpi/processor/../performance proc entries They were long enough set deprecated... Update Documentation/cpu-freq/users-guide.txt: The deprecated files listed there seen not to exist for some time anymore already. Signed-off-by: Thomas Renninger Signed-off-by: Len Brown commit 5ec5d38a1c8af255ffc481c81eef13e9155524b3 Author: Len Brown Date: Tue Feb 3 22:52:12 2009 -0500 ACPI: make some IO ports off-limits to AML ACPICA exports acpi_os_validate_address() so the OS can prevent BIOS AML from accessing specified addresses. Start using this interface to prevent AML from accessing some well known IO addresses that the OS "owns". Signed-off-by: Len Brown commit 858770619debfb9269add63e4ba8b7c6b5538dd1 Author: Borislav Petkov Date: Tue Feb 3 16:24:22 2009 +0100 x86: APIC: enable workaround on AMD Fam10h CPUs Impact: fix to enable APIC for AMD Fam10h on chipsets with a missing/b0rked ACPI MP table (MADT) Booting a 32bit kernel on an AMD Fam10h CPU running on chipsets with missing/b0rked MP table leads to a hang pretty early in the boot process due to the APIC not being initialized. Fix that by falling back to the default APIC base address in 32bit code, as it is done in the 64bit codepath. Signed-off-by: Borislav Petkov Signed-off-by: H. Peter Anvin commit 06fc732c33a7ff5e4c91bcf4a6ca86b5e335ad9a Author: Jeremy Fitzhardinge Date: Tue Feb 3 16:01:46 2009 -0800 xen: disable interrupts before saving in percpu Impact: Fix race condition xen_mc_batch has a small preempt race where it takes the address of a percpu variable immediately before disabling interrupts, thereby leaving a small window in which we may migrate to another cpu and save the flags in the wrong percpu variable. Disable interrupts before saving the old flags in a percpu. Signed-off-by: Jeremy Fitzhardinge Signed-off-by: H. Peter Anvin commit dcf6a79dda5cc2a2bec183e50d829030c0972aaa Author: Artem Bityutskiy Date: Mon Feb 2 18:33:49 2009 +0200 write-back: fix nr_to_write counter Commit 05fe478dd04e02fa230c305ab9b5616669821dd3 introduced some @wbc->nr_to_write breakage. It made the following changes: 1. Decrement wbc->nr_to_write instead of nr_to_write 2. Decrement wbc->nr_to_write _only_ if wbc->sync_mode == WB_SYNC_NONE 3. If synced nr_to_write pages, stop only if if wbc->sync_mode == WB_SYNC_NONE, otherwise keep going. However, according to the commit message, the intention was to only make change 3. Change 1 is a bug. Change 2 does not seem to be necessary, and it breaks UBIFS expectations, so if needed, it should be done separately later. And change 2 does not seem to be documented in the commit message. This patch does the following: 1. Undo changes 1 and 2 2. Add a comment explaining change 3 (it very useful to have comments in _code_, not only in the commit). Signed-off-by: Artem Bityutskiy Acked-by: Nick Piggin Cc: Andrew Morton Signed-off-by: Linus Torvalds commit 5193535517825f9a07967e4868a1103013d0a99d Author: Samuel Thibault Date: Tue Feb 3 13:12:58 2009 +0100 Fix my email address in qd65xx.[ch]/pata_qdi.c The @fnac.net will be shut down within a couple of months, so fix my email address. Signed-off-by: Samuel Thibault Signed-off-by: Linus Torvalds commit f96c08e8c5935d80bb9fd48c61b5bfa00878519e Merge: 7420b73 27ad279 Author: Linus Torvalds Date: Tue Feb 3 16:52:44 2009 -0800 Merge branch 'linux-next' of git://git.infradead.org/ubifs-2.6 * 'linux-next' of git://git.infradead.org/ubifs-2.6: UBIFS: remove fast unmounting UBIFS: return sensible error codes UBIFS: remount ro fixes UBIFS: spelling fix 'date' -> 'data' UBIFS: sync wbufs after syncing inodes and pages UBIFS: fix LPT out-of-space bug (again) UBIFS: fix no_chk_data_crc UBIFS: fix assertions UBIFS: ensure orphan area head is initialized UBIFS: always clean up GC LEB space UBIFS: add re-mount debugging checks UBIFS: fix LEB list freeing UBIFS: simplify locking UBIFS: document dark_wm and dead_wm better UBIFS: do not treat all data as short term UBIFS: constify operations UBIFS: do not commit twice commit 7420b73dc05ae1faa36b49774210a13d29349c53 Merge: 3e1c400 de86962 Author: Linus Torvalds Date: Tue Feb 3 16:52:10 2009 -0800 Merge master.kernel.org:/home/rmk/linux-2.6-arm * master.kernel.org:/home/rmk/linux-2.6-arm: NVRAM depends on RTC_DRV_CMOS rename platform_driver name "flash" to "sa1100-mtd" annotate that [fp, #-4] is the saved lr Use __SPIN_LOCK_UNLOCKED to initialize bad_irq_desc.lock ARM: OMAP: fix fault in enter_full_retention() ARM: OMAP: Mask interrupts when disabling interrupts, v2 ARM: OMAP: gptimer min_delta_ns corrected ARM: OMAP: Fix hsmmc init, v2 ARM: OMAP: Fix omap34xx revision detection for ES3.1 ARM: OMAP: DMA: Fix uninitialized channel flags ARM: OMAP: Fix race in OMAP2/3 DMA IRQ handling ARM: OMAP: Fix McBSP spin_lock deadlock [ARM] 5366/1: fix shared memory coherency with VIVT L1 + L2 caches [ARM] call undefined instruction exception handler with irqs enabled [ARM] msm: fix build errors [ARM] etherh: continue fixing build failure commit 3e1c4005134e3a090c64c1bc35f965043bb451f4 Merge: b987e8e fd4ef23 Author: Linus Torvalds Date: Tue Feb 3 16:50:20 2009 -0800 Merge branch 'upstream-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/mfasheh/ocfs2 * 'upstream-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/mfasheh/ocfs2: ocfs2: add quota call to ocfs2_remove_btree_range() ocfs2: Wakeup the downconvert thread after a successful cancel convert ocfs2: Access the xattr bucket only before modifying it. configfs: Silence lockdep on mkdir(), rmdir() and configfs_depend_item() ocfs2: Fix possible deadlock in ocfs2_write_dquot() ocfs2: Push out dropping of dentry lock to ocfs2_wq commit b987e8e5a986e77069c99fda5da6878751808fe9 Merge: 52a84ec 43f3f05 Author: Linus Torvalds Date: Tue Feb 3 16:49:54 2009 -0800 Merge branch 'for-linus' of git://oss.sgi.com/xfs/xfs * 'for-linus' of git://oss.sgi.com/xfs/xfs: [XFS] Warn on transaction in flight on read-only remount xfs: Check buffer lengths in log recovery don't reallocate sxp variable passed into xfs_swapext commit 9b02605826903203d5301049c1f52e722584785c Author: David S. Miller Date: Tue Feb 3 16:28:23 2009 -0800 sparc64: Kill bogus TPC/address truncation during 32-bit faults. This builds upon eeabac7386ca13bfe1a58afeb04326a9e1a3a20e ("sparc64: Validate kernel generated fault addresses on sparc64.") Upon further consideration, we actually should never see any fault addresses for 32-bit tasks with the upper 32-bits set. If it does every happen, by definition it's a bug. Whatever context created that fault would only have that fault satisfied if we used the full 64-bit address. If we truncate it, we'll always fault the wrong address and we'll always loop faulting forever. So catch such conditions and mark them as errors always. Log the error and fail the fault. Signed-off-by: David S. Miller commit 55128bc23e9ab44e97f81f6cd349035230ee59a6 Author: Randy Dunlap Date: Tue Feb 3 15:20:13 2009 -0800 sunrpc: fix rdma dependencies Fix sunrpc/rdma build dependencies. Survives 12 build combinations of INET, IPV6, SUNRPC, INFINIBAND, and INFINIBAND_ADDR_TRANS. ERROR: "rdma_destroy_id" [net/sunrpc/xprtrdma/xprtrdma.ko] undefined! ERROR: "rdma_connect" [net/sunrpc/xprtrdma/xprtrdma.ko] undefined! ERROR: "rdma_destroy_qp" [net/sunrpc/xprtrdma/xprtrdma.ko] undefined! ERROR: "rdma_create_id" [net/sunrpc/xprtrdma/xprtrdma.ko] undefined! ERROR: "rdma_create_qp" [net/sunrpc/xprtrdma/xprtrdma.ko] undefined! ERROR: "rdma_resolve_route" [net/sunrpc/xprtrdma/xprtrdma.ko] undefined! ERROR: "rdma_disconnect" [net/sunrpc/xprtrdma/xprtrdma.ko] undefined! ERROR: "rdma_resolve_addr" [net/sunrpc/xprtrdma/xprtrdma.ko] undefined! ERROR: "rdma_accept" [net/sunrpc/xprtrdma/svcrdma.ko] undefined! ERROR: "rdma_destroy_id" [net/sunrpc/xprtrdma/svcrdma.ko] undefined! ERROR: "rdma_listen" [net/sunrpc/xprtrdma/svcrdma.ko] undefined! ERROR: "rdma_create_id" [net/sunrpc/xprtrdma/svcrdma.ko] undefined! ERROR: "rdma_create_qp" [net/sunrpc/xprtrdma/svcrdma.ko] undefined! ERROR: "rdma_bind_addr" [net/sunrpc/xprtrdma/svcrdma.ko] undefined! ERROR: "rdma_disconnect" [net/sunrpc/xprtrdma/svcrdma.ko] undefined! Signed-off-by: Randy Dunlap Signed-off-by: David S. Miller commit 4d7155b932b8129c72e2f2714890e20b2a05e0b7 Author: Karsten Keil Date: Tue Feb 3 15:18:01 2009 -0800 e1000: Fix PCI enable to honor the need_ioport flag On machine were no IO ports are assigned the call to pci_enable_device() will fail, even if need_ioport is false, we need to use pci_enable_device_mem() here. Signed-off-by: Karsten Keil Signed-off-by: David S. Miller commit 714c48f1bb553a2e5dd8d6ff66accc7c51218ac9 Author: Dean Nelson Date: Tue Feb 3 15:16:17 2009 -0800 sgi-xp: link XPNET's net_device_ops to its net_device structure A recent patch by Stephen Hemminger to convert XPNET to use net_device_ops and internal net_device_stats failed to link the net_device_ops structure to the net_device structure. See commit e8ac9c55f28482f5b2f497a8e7eb90985db237c2 ("xpnet: convert devices to new API"). Signed-off-by: Dean Nelson Signed-off-by: David S. Miller commit a9d3a146923d374b945aa388dc884df69564a818 Author: Cord Walter Date: Tue Feb 3 15:14:05 2009 -0800 pcnet_cs: Fix misuse of the equality operator. Signed-off-by: Cord Walter Signed-off-by: Komuro Signed-off-by: David S. Miller commit 67dd82462d553c35bef14de1bf8afcb1095e041d Author: Filip Aben Date: Tue Feb 3 15:13:26 2009 -0800 hso: add new device id's This patch adds a few device ID's. It also removes an ID that was used in an internal engineering version of a device and will never see commercial light. Even if this ID will be 'recycled' in the future, which is very unlikely, we don't know what kind of device will be behind it. Therefore it's safer to remove it. Signed-off-by: Filip Aben Signed-off-by: David S. Miller commit 3e0676a9b699d12b2bd0a8807459ac4277b181fc Author: Len Brown Date: Tue Feb 3 18:04:39 2009 -0500 ACPICA: add debug dump of BIOS _OSI strings on boot, print out the OSI strings the BIOS uses to query the OS. To see this output... build with CONFIG_ACPI_DEBUG boot with "acpi.debug_level=4" (ACPI_LV_INFO) (enabled by default) and "acpi.debug_level=1" (ACPI_UTILITIES) (default is 0) example output: ACPI: BIOS _OSI(Windows 2001) supported ACPI: BIOS _OSI(Windows 2001 SP1) supported ACPI: BIOS _OSI(Windows 2001 SP2) supported ACPI: BIOS _OSI(Windows 2006) supported ACPI: BIOS _OSI(Linux) not-supported ACPI: BIOS _OSI(FreeBSD) not-supported Signed-off-by: Len Brown commit 229c4ef8ae56d69f8dec64533bf1c7f8070c1a4a Author: Oleg Nesterov Date: Tue Feb 3 20:39:04 2009 +0100 ftrace: do_each_pid_task() needs rcu lock "ftrace: use struct pid" commit 978f3a45d9499c7a447ca7615455cefb63d44165 converted ftrace_pid_trace to "struct pid*". But we can't use do_each_pid_task() without rcu_read_lock() even if we know the pid itself can't go away (it was pinned in ftrace_pid_write). The exiting task can detach itself from this pid at any moment. Signed-off-by: Oleg Nesterov Signed-off-by: Ingo Molnar commit 43f3f057c56d030546145696627f13f95735be95 Author: Felix Blyakher Date: Thu Jan 22 21:34:05 2009 -0600 [XFS] Warn on transaction in flight on read-only remount Till VFS can correctly support read-only remount without racing, use WARN_ON instead of BUG_ON on detecting transaction in flight after quiescing filesystem. Signed-off-by: Felix Blyakher Reviewed-by: Christoph Hellwig commit 6139a2360987f55e4490a7813cf69df74ec8b93a Author: Dave Chinner Date: Thu Jan 22 15:37:47 2009 +1100 xfs: Check buffer lengths in log recovery Before trying to obtain, read or write a buffer, check that the buffer length is actually valid. If it is not valid, then something read in the recovery process has been corrupted and we should abort recovery. Reported-by: Eric Sesterhenn Tested-by: Eric Sesterhenn Reviewed-by: Christoph Hellwig Reviewed-by: Felix Blyakher Signed-off-by: Dave Chinner Signed-off-by: Felix Blyakher commit 6d2160bfe7826aca1c94b4bca77093908a452ae7 Merge: f0e0059 b1792e3 Author: Felix Blyakher Date: Tue Feb 3 10:38:41 2009 -0600 Merge branch 'master' of git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux-2.6 into for-linus commit 52a84ec2f33debc86507fe7cffd8171660457bf2 Merge: b1792e3 9062712 Author: Linus Torvalds Date: Tue Feb 3 07:39:55 2009 -0800 Merge branch 'upstream-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jgarzik/libata-dev * 'upstream-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jgarzik/libata-dev: libata: implement HORKAGE_1_5_GBPS and apply it to WD My Book libata: add no penalty retry request for EH device handling routines libata: improve probe failure handling libata: add @spd_limit to sata_down_spd_limit() libata: clear dev->ering in smarter way libata: check onlineness before using SPD in sata_down_spd_limit() libata: move ata_dev_disable() to libata-eh.c libata: fix EH device failure handling sata_nv: ck804 has borked hardreset too ide/libata: fix ata_id_is_cfa() (take 4) libata: fix kernel-doc warnings ahci: add a module parameter to ignore the SSS flags for async scanning sata_mv: Fix chip type for Hightpoint RocketRaid 1740/1742 [libata] sata_sil: Fix compilation error with libata debugging enabled commit e1f81c8a417be466e85a38b61679aa6860ec7331 Merge: 0e2beda b1792e3 Author: Steve French Date: Tue Feb 3 15:19:23 2009 +0000 Merge branch 'master' of /pub/scm/linux/kernel/git/torvalds/linux-2.6 commit ac048e1734699dd98f4bdf4daf2b9592d4a4d38e Author: Dave Airlie Date: Tue Feb 3 19:05:12 2009 +1000 i915: fix unneeded locking in i915 LVDS get modes code. This code is always called under the lock from the higher layers, so need to go locking it here. Signed-off-by: Dave Airlie commit fb53fde9762432d091dac209bdf4f3f850117c55 Merge: eb4400e b1792e3 Author: David S. Miller Date: Mon Feb 2 23:55:27 2009 -0800 Merge branch 'master' of master.kernel.org:/pub/scm/linux/kernel/git/torvalds/linux-2.6 commit eb4400e3a040b90a3ad805b01fcbc99a5f615c8f Author: Maciej Sosnowski Date: Mon Feb 2 23:26:57 2009 -0800 dca: redesign locks to fix deadlocks Change spin_locks to irqsave to prevent dead-locks. Protect adding and deleting to/from dca_providers list. Drop the lock during dca_sysfs_add_req() and dca_sysfs_remove_req() calls as they might sleep (use GFP_KERNEL allocation). Signed-off-by: Maciej Sosnowski Acked-by: Jeff Kirsher Signed-off-by: David S. Miller commit ff01b9163655ace76b29b7ff2f56b25c32f795da Author: Roel Kluin Date: Mon Feb 2 23:19:50 2009 -0800 cassini/sungem: limit reaches -1, but 0 tested while (limit--) if (test()) break; if (limit <= 0) goto test_failed; In the last iteration, limit is decremented after the test to 0. If just thereafter test() succeeds and a break occurs, the goto still occurs because limit is 0. Signed-off-by: Roel Kluin Signed-off-by: David S. Miller commit 47a4a0e766e3152dee667ea8fcca8465c8a0759f Author: Stephen Rothwell Date: Mon Feb 2 22:14:28 2009 -0800 sparc: fixup for sparseirq changes Signed-off-by: Stephen Rothwell Signed-off-by: David S. Miller commit eeabac7386ca13bfe1a58afeb04326a9e1a3a20e Author: David S. Miller Date: Mon Feb 2 22:08:15 2009 -0800 sparc64: Validate kernel generated fault addresses on sparc64. In order to handle all of the cases of address calculation overflow properly, we run sparc 32-bit processes in "address masking" mode when running on a 64-bit kernel. Address masking mode zeros out the top 32-bits of the address calculated for every load and store instruction. However, when we're in privileged mode we have to run with that address masking mode disabled even when accessing userspace from the kernel. To "simulate" the address masking mode we clear the top-bits by hand for 32-bit processes in the fault handler. It is the responsibility of code in the compat layer to properly zero extend addresses used to access userspace. If this isn't followed properly we can get into a fault loop. Say that the user address is 0xf0000000 but for whatever reason the kernel code sign extends this to 64-bit, and then the kernel tries to access the result. In such a case we'll fault on address 0xfffffffff0000000 but the fault handler will process that fault as if it were to address 0xf0000000. We'll loop faulting forever because the fault never gets satisfied. So add a check specifically for this case, when the kernel is faulting on a user address access and the addresses don't match up. This code path is sufficiently slow path, and this bug is sufficiently painful to diagnose, that this kind of bug check is warranted. Signed-off-by: David S. Miller commit 64ca0404eed57f6c92290d55e949a7f46cbe4bf4 Author: Liam Girdwood Date: Mon Feb 2 22:23:22 2009 +0000 ALSA: ASoC: email - update email addresses. This just updates my email address on some drivers I'd forgotten in a previous patch. Signed-off-by: Liam Girdwood Signed-off-by: Takashi Iwai commit bcde563c43f138aac3072ab8e2934859cd2ee183 Author: H. Peter Anvin Date: Mon Feb 2 21:42:40 2009 -0800 x86: add x86@kernel.org to MAINTAINERS Impact: Documentation only There is an email alias as well to reach the x86 maintainers: x86@kernel.org. Document it. Signed-off-by: H. Peter Anvin commit 802c64b310e5b9dfda6cb50b850b962ed96a9e81 Author: David S. Miller Date: Mon Feb 2 21:57:48 2009 -0800 sparc64: On non-Niagara, need to touch NMI watchdog in NOHZ mode. When we're idling in NOHZ mode, timer interrupts are not running. Evidence of processing timer interrupts is what the NMI watchdog uses to determine if the CPU is stuck. On Niagara, we'll yield the cpu. This will make the cpu, at worst, hang out in the hypervisor until an interrupt arrives. This will prevent the NMI watchdog timer from firing. However on non-Niagara we just loop executing instructions which will cause the NMI watchdog to keep firing. It won't see timer interrupts happening so it will think the cpu is stuck. Fix this by touching the NMI watchdog in the cpu idle loop on non-Niagara machines. Signed-off-by: David S. Miller commit 46578a6913e6f5e69229561736b94c18c2e88ae4 Author: Roel Kluin Date: Mon Feb 2 21:39:02 2009 -0800 net: variables reach -1, but 0 tested while (timeout--) { ... } timeout becomes -1 if the loop isn't ended otherwise, not 0. Signed-off-by: Roel Kluin Signed-off-by: David S. Miller commit 35626129abcd6a7547e84c817ef5b6eff7a8758b Author: Randy Dunlap Date: Mon Feb 2 16:00:29 2009 -0800 sched: add missing kernel-doc in sched.h Add kernel-doc notation for @lock: include/linux/sched.h:457: No description found for parameter 'lock' Signed-off-by: Randy Dunlap Signed-off-by: Ingo Molnar commit a67798cd7bb130bf37f5ffb28f3260f4c10232db Author: Martin Hicks Date: Fri Jan 30 10:50:54 2009 -0600 x86: push old stack address on irqstack for unwinder Impact: Fixes dumpstack and KDB on 64 bits This re-adds the old stack pointer to the top of the irqstack to help with unwinding. It was removed in commit d99015b1abbad743aa049b439c1e1dede6d0fa49 as part of the save_args out-of-line work. Both dumpstack and KDB require this information. Signed-off-by: Martin Hicks Signed-off-by: H. Peter Anvin commit 9062712fa9ed13b531dfc2228086650b8bd6a255 Author: Tejun Heo Date: Thu Jan 29 20:31:36 2009 +0900 libata: implement HORKAGE_1_5_GBPS and apply it to WD My Book 3Gbps is often much more prone to transmission failures. It's usually okay to let EH handle speed down after transmission failures but some WD My Book drives completely shutdown after certain transmission failures and after it only power cycling can revive them. Combined with the fact that external drives often end up with cable assembly which is longer than usual and more likely to have intervening gender, this makes these drives very likely to shutdown under certain configurations virtually rendering them unusable. This patch implements HOARKGE_1_5_GBPS and applies it to WD My Book such that 1.5Gbps is forced once the device is identified. Please take a look at the following bz for related reports. http://bugzilla.kernel.org/show_bug.cgi?id=9913 Signed-off-by: Tejun Heo Signed-off-by: Jeff Garzik commit cf9a590a9eae3b99ca77d8db17afd2d7dbdd0986 Author: Tejun Heo Date: Thu Jan 29 20:31:35 2009 +0900 libata: add no penalty retry request for EH device handling routines Let -EAGAIN from EH device handling routines trigger EH retry without consuming its tries count. This will be used to implement link SPD horkage which requires hardreset to adjust SPD without affecting other EH decisions. As it bypasses the forward progress guarantee provided by the tries count, the requester is responsible for ensuring forward progress. Signed-off-by: Tejun Heo Signed-off-by: Jeff Garzik commit c2c7a89c5eabaea8c0c2aa0c1069e510144513ab Author: Tejun Heo Date: Thu Jan 29 20:31:34 2009 +0900 libata: improve probe failure handling When link is flaky at high speed, it isn't uncommon for a device to repeatedly fail probing sequence early after successfully negotiating high link speed. This often leads to consecutive hotplug events without successful probing. This patch improves libata EH such that it remembers probing trials and if there have been more than two unsuccessful trials in the past 60 seconds, slows down link speed to 1.5Gbps. As link speed negotiation is the duty of the PHY layer proper, the goal of this fallback mechanism is to provide the last resort when everything else fails, which unfortunately happens not too infrequently, so no fancy 6->3->1.5 speeding down or highest successful transmission speed seen kind of logics (yet). Signed-off-by: Tejun Heo Signed-off-by: Jeff Garzik commit a07d499b4759881db1359dd8812eecd00b0e0a28 Author: Tejun Heo Date: Thu Jan 29 20:31:33 2009 +0900 libata: add @spd_limit to sata_down_spd_limit() Add @spd_limit to sata_down_spd_limit() so that the caller can specify the SPD limit it wants. This parameter doesn't get in the way even when it's too low. The closest possible limit is applied. Signed-off-by: Tejun Heo Signed-off-by: Jeff Garzik commit 99cf610aa4840d822cdc67d194b23b55010ca9bd Author: Tejun Heo Date: Thu Jan 29 20:31:32 2009 +0900 libata: clear dev->ering in smarter way dev->ering used to be cleared together with the rest of ata_device in ata_dev_init() which is called whenever a probing event occurs. dev->ering is about to be used to track probing failures so it needs to remain persistent over multiple porbing events. This patch achieves this by doing the following. * Instead of CLEAR_OFFSET, define CLEAR_BEGIN and CLEAR_END and only clear between BEGIN and END. ering is moved after END. The split of persistent area is to allow hotter items remain at the head. * ering is explicitly cleared on ata_dev_disable() and when device attach succeeds. So, ering is persistent throug a device's life time (unless explicitly cleared of course) and also through periods inbetween disablement of an attached device and successful detection of the next one. Signed-off-by: Tejun Heo Signed-off-by: Jeff Garzik commit 9913ff8abf1c70a8d52560dc931e1901d025ad27 Author: Tejun Heo Date: Thu Jan 29 20:31:31 2009 +0900 libata: check onlineness before using SPD in sata_down_spd_limit() sata_down_spd_limit() should check whether the link is online before using the SPD value to determine how to limit the link speed. Factor out onlineness test and test it from sata_down_spd_limit(). Signed-off-by: Tejun Heo Signed-off-by: Jeff Garzik commit 678afac678061ee41bc3007885003c125912a8e2 Author: Tejun Heo Date: Thu Jan 29 20:31:30 2009 +0900 libata: move ata_dev_disable() to libata-eh.c ata_dev_disable() is about to be more tightly integrated into EH logic. Move it to libata-eh.c. Signed-off-by: Tejun Heo Signed-off-by: Jeff Garzik commit d89293abd95bfd7dd9229087d6c30c1464c5ac83 Author: Tejun Heo Date: Thu Jan 29 20:31:29 2009 +0900 libata: fix EH device failure handling The dev->pio_mode > XFER_PIO_0 test is there to avoid unnecessary speed down warning messages but it accidentally disabled SATA link spd down during configuration phase after reset where PIO mode is always zero. This patch fixes the problem by moving the test where it belongs. This makes libata probing sequence behave better when the connection is flaky at higher link speeds which isn't too uncommon for eSATA devices. Signed-off-by: Tejun Heo Signed-off-by: Jeff Garzik commit 8d993eaa9c3c61b8a5929a7f695078a1fcfb4869 Author: Tejun Heo Date: Sun Feb 1 10:56:31 2009 +0900 sata_nv: ck804 has borked hardreset too While playing with nvraid, I found out that rmmoding and insmoding often trigger hardreset failure on the first port (the second one was always okay). Seriously, how diverse can you get with hardreset behaviors? Anyways, make ck804 use noclassify variant too. Signed-off-by: Tejun Heo Signed-off-by: Jeff Garzik commit f3b39f1393d5cebe56f43a584ef47efbebd2702c Author: Zhao Yakui Date: Mon Feb 2 22:55:01 2009 -0500 ACPI: proc_dir_entry 'video/VGA' already registered eliminate the duplicate the name of "VGA" http://bugzilla.kernel.org/show_bug.cgi?id=12514 Signed-off-by: Zhao Yakui Signed-off-by: Len Brown commit 2999b58b795ad81f10e34bdbbfd2742172f247e4 Author: Sergei Shtylyov Date: Sun Feb 1 20:46:39 2009 +0400 ide/libata: fix ata_id_is_cfa() (take 4) When checking for the CFA feature set support, ata_id_is_cfa() tests bit 2 in word 82 of the identify data instead the word 83; it also checks the ATA/PI version support in the word 80 (which the CompactFlash specifications have as reserved), this having no slightest chance to work on the modern CF cards that don't have 0x848A in the word 0... Signed-off-by: Sergei Shtylyov Signed-off-by: Jeff Garzik commit 5eb66fe05f08d515a7377787473bc4e4b1ed5b59 Author: Randy Dunlap Date: Tue Jan 20 16:28:59 2009 -0800 libata: fix kernel-doc warnings Fix libata kernel-doc warnings: Warning(linux-next-20090120//drivers/ata/libata-core.c:4720): Excess function parameter 'dev' description in 'ata_qc_new' Warning(linux-next-20090120//drivers/ata/libata-scsi.c:428): No description found for parameter 'ap' Signed-off-by: Randy Dunlap Signed-off-by: Jeff Garzik commit f3d7f23f87723a0947164ec88fc40e08254a64d6 Author: Arjan van de Ven Date: Mon Jan 26 02:05:44 2009 -0800 ahci: add a module parameter to ignore the SSS flags for async scanning The SSS flag, which directs the OS to spin up one disk at a time to not have the PSU blow out, sometimes gets set even when not needed. The effect of this is a longer-than-needed boot time. This patch adds a module parameter that makes the driver ignore SSS at least as far as the parallel scan during boot is concerned... Signed-off-by: Arjan van de Ven Signed-off-by: Jeff Garzik commit 4462254ac6be9150aae87d54d388fc348d6fcead Author: Mark Lord Date: Tue Jan 27 16:33:13 2009 -0500 sata_mv: Fix chip type for Hightpoint RocketRaid 1740/1742 Fix chip type for the Highpoint RocketRAID 1740 and 1742 PCI cards. These really do have Marvell 6042 chips on them, rather than the 5081 chip. Confirmed by multiple (two) users (for the 1740), and by examining the product photographs from Highpoint's web site. Signed-off-by: Mark Lord Signed-off-by: Jeff Garzik commit 41137aa61c1ccb7cd06981807113b7e2d0ad89ed Author: Pasi Kärkkäinen Date: Mon Feb 2 21:47:14 2009 +0200 [libata] sata_sil: Fix compilation error with libata debugging enabled I tried compiling 2.6.29-rc1 and 2.6.29-rc3 with libata debugging enabled and got the following error: CC [M] drivers/ata/sata_sil.o drivers/ata/sata_sil.c: In function 'sil_fill_sg': drivers/ata/sata_sil.c:327: error: 'pi' undeclared (first use in this function) drivers/ata/sata_sil.c:327: error: (Each undeclared identifier is reported only once drivers/ata/sata_sil.c:327: error: for each function it appears in.) make[2]: *** [drivers/ata/sata_sil.o] Error 1 make[1]: *** [drivers/ata] Error 2 make: *** [drivers] Error 2 include/linux/libata.h has the following enabled: #define ATA_DEBUG #define ATA_VERBOSE_DEBUG #define ATA_IRQ_TRAP This fixes the compilation. Signed-off-by: Jeff Garzik commit 0a3db1cec5d476804185114ff5d1845aed3936b3 Author: Zhao Yakui Date: Mon Feb 2 11:33:41 2009 +0800 ACPI: Skip the first two elements in the _BCL package According to the Spec the first two elements in the _BCL package won't be regarded as the available brightness level. The first is the brightness when full power is connected to the box(It means that the AC adapter is plugged). The second is the brightness level when the box is on battery. If the first two elements are still used while finding the next brightness level, it will fall back to the lowest level when keeping on pressing hotkey. (On some boxes the brightness will be changed twice when hotkey is pressed once. One is in the ACPI video driver. The other is changed by sys I/F. In the ACPI video driver the first two elements will be used while changing the brightness. But the first two elements is skipped while using sys I/F. In such case there exists the inconsistency). So he first two elements had better be skipped while showing the available brightness or finding the next brightness level. http://bugzilla.kernel.org/show_bug.cgi?id=12450 Signed-off-by: Zhao Yakui Signed-off-by: Len Brown commit b1792e367053968f2ddb48bc911d314143ce6242 Merge: 859281f 71a082e Author: Linus Torvalds Date: Mon Feb 2 19:28:58 2009 -0800 Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jbarnes/pci-2.6 * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jbarnes/pci-2.6: PCI hotplug: Change link order of pciehp & acpiphp PCI hotplug: fakephp: Allocate PCI resources before adding the device PCI MSI: Fix undefined shift by 32 PCI PM: Do not wait for buses in B2 or B3 during resume PCI PM: Power up devices before restoring their state PCI PM: Fix hibernation breakage on EeePC 701 PCI: irq and pci_ids patch for Intel Tigerpoint DeviceIDs PCI PM: Fix suspend error paths and testing facility breakage commit 859281ff370977f917ec2195f86a5bfccf1fc6d6 Merge: 93bfbd7 f58914e Author: Linus Torvalds Date: Mon Feb 2 19:27:00 2009 -0800 Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/penberg/slab-2.6 * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/penberg/slab-2.6: slub: fix per cpu kmem_cache_cpu array memory leak kmalloc: return NULL instead of link failure commit 93bfbd71db4d2e01c05e219f285249a74808b1d4 Merge: 31c952d 7fbb7ca Author: Linus Torvalds Date: Mon Feb 2 19:26:44 2009 -0800 Merge branch 'merge' of git://git.kernel.org/pub/scm/linux/kernel/git/benh/powerpc * 'merge' of git://git.kernel.org/pub/scm/linux/kernel/git/benh/powerpc: fbdev/atyfb: Fix DSP config on some PowerMacs & PowerBooks powerpc: Fix oops on some machines due to incorrect pr_debug() powerpc/ps3: Printing fixups for l64 to ll64 convserion drivers/net powerpc/5200: update device tree binding documentation powerpc/5200: Bugfix for PCI mapping of memory and IMMR powerpc/5200: update defconfigs commit 31c952dcf83d5b0fd57b514cbe8a1664647c26e7 Merge: 9e6235e 3d39870 Author: Linus Torvalds Date: Mon Feb 2 19:26:29 2009 -0800 Merge branch 'sched-fixes-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip * 'sched-fixes-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip: sched_rt: don't use first_cpu on cpumask created with cpumask_and sched: fix buddie group latency sched: clear buddies more aggressively sched: symmetric sync vs avg_overlap sched: fix sync wakeups cpuset: fix possible deadlock in async_rebuild_sched_domains commit 9e6235e997bf091326b2f3ac92217c2ac2e27eb5 Merge: 5c350d9 67e70ba Author: Linus Torvalds Date: Mon Feb 2 19:26:06 2009 -0800 Merge branch 'for_linus' of git://git.kernel.org/pub/scm/linux/kernel/git/mchehab/linux-2.6 * 'for_linus' of git://git.kernel.org/pub/scm/linux/kernel/git/mchehab/linux-2.6: (45 commits) V4L/DVB (10411): s5h1409: Perform s5h1409 soft reset after tuning V4L/DVB (10403): saa7134-alsa: saa7130 doesn't support digital audio V4L/DVB (10229): ivtv: fix memory leak V4L/DVB (10385): gspca - main: Fix memory leak when USB disconnection while streaming. V4L/DVB (10325): em28xx: Fix for fail to submit URB with IRQs and Pre-emption Disabled V4L/DVB (10317): radio-mr800: fix radio->muted and radio->stereo V4L/DVB (10314): cx25840: ignore TUNER_SET_CONFIG in the command callback. V4L/DVB (10288): af9015: bug fix: stick does not work always when plugged V4L/DVB (10287): af9015: fix second FE V4L/DVB (10270): saa7146: fix unbalanced mutex_lock/unlock V4L/DVB (10265): budget.c driver: Kernel oops: "BUG: unable to handle kernel paging request at ffffffff V4L/DVB (10261): em28xx: fix kernel panic on audio shutdown V4L/DVB (10257): em28xx: Fix for KWorld 330U Board V4L/DVB (10256): em28xx: Fix for KWorld 330U AC97 V4L/DVB (10254): em28xx: Fix audio URB transfer buffer race condition V4L/DVB (10250): cx25840: fix regression: fw not loaded on first use V4L/DVB (10248): v4l-dvb: fix a bunch of compile warnings. V4L/DVB (10243): em28xx: fix compile warning V4L/DVB (10240): Fix obvious swapped names in v4l2_subdev logic V4L/DVB (10233): [PATCH] Terratec Cinergy DT XS Diversity new USB ID (0ccd:0081) ... commit 5c350d93ff4736086a1b08fef1d0b5e22138d2e0 Merge: 017f517 b601895 Author: Linus Torvalds Date: Mon Feb 2 19:24:14 2009 -0800 Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/drzeus/mmc * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/drzeus/mmc: pxamci: enable DMA for write ops after CMD/RESP pxamci: replace #ifdef CONFIG_PXA27x with if (cpu_is_pxa27x()) ricoh_mmc: Use suspend_late/resume_early mmci: Add support for ST Micro derivate mmc: Add a MX2/MX3 specific SDHC driver commit 017f51788ffdc16b0168143e38ea2c1f3551d983 Merge: 17294ab d224b62 Author: Linus Torvalds Date: Mon Feb 2 19:23:49 2009 -0800 Merge git://git.kernel.org/pub/scm/linux/kernel/git/bart/ide-2.6 * git://git.kernel.org/pub/scm/linux/kernel/git/bart/ide-2.6: icside: fix PCB version 6 support (v2) tx4939ide: typo fix and minor cleanup ide: add CS5536 host driver (v3) ide: Force VIA IDE legacy interrupts for AmigaOne boards IDE: Unregister and disable devices if initialization fails. ide: fix ide_register_port() failure handling ide: struct device - replace bus_id with dev_name(), dev_set_name() ide-cd: fix DMA for non bio-backed requests commit 17294ab2ca8e8c46f2e4825c55541b2b88e52bf4 Merge: 86adf8a 8f04915 Author: Linus Torvalds Date: Mon Feb 2 19:20:17 2009 -0800 Merge branch 'for-upstream' of git://git.kernel.org/pub/scm/linux/kernel/git/dvrabel/uwb * 'for-upstream' of git://git.kernel.org/pub/scm/linux/kernel/git/dvrabel/uwb: uwb: lock rc->rsvs_lock with spin_lock_bh() wusb: timeout when waiting for ASL/PZL updates in whci-hcd uwb: remove unused #include 's wusb: return -ENOTCONN when resetting a port with no connected device uwb: safely remove all reservations commit 86adf8adfcb3d3f4b6c30aeb40da480da02de1d1 Merge: 3fff017 cbb5901 Author: Linus Torvalds Date: Mon Feb 2 19:19:50 2009 -0800 Merge branch 'for-linus' of git://git.kernel.dk/linux-2.6-block * 'for-linus' of git://git.kernel.dk/linux-2.6-block: block: add text file detailing queue/ sysfs files bio.h: If they MUST be inlined, then use __always_inline Fix misleading comment in bio.h block: fix inconsistent parenthesisation of QUEUE_FLAG_DEFAULT block: fix oops in blk_queue_io_stat() commit 3fff0179e33cd7d0a688dab65700c46ad089e934 Author: Mark McLoughlin Date: Tue Feb 3 13:33:53 2009 +1030 virtio-pci: do not oops on config change if driver not loaded The host really shouldn't be notifying us of config changes before the device status is VIRTIO_CONFIG_S_DRIVER or VIRTIO_CONFIG_S_DRIVER_OK. However, if we do happen to be interrupted while we're not attached to a driver, we really shouldn't oops. Prevent this simply by checking that device->driver is non-NULL before trying to notify the driver of config changes. Problem observed by doing a "set_link virtio.0 down" with QEMU before the net driver had been loaded. Signed-off-by: Mark McLoughlin Signed-off-by: Rusty Russell Signed-off-by: Linus Torvalds commit 720eba31f47aeade8ec130ca7f4353223c49170f Author: Eric Dumazet Date: Tue Feb 3 13:31:36 2009 +1030 modules: Use a better scheme for refcounting Current refcounting for modules (done if CONFIG_MODULE_UNLOAD=y) is using a lot of memory. Each 'struct module' contains an [NR_CPUS] array of full cache lines. This patch uses existing infrastructure (percpu_modalloc() & percpu_modfree()) to allocate percpu space for the refcount storage. Instead of wasting NR_CPUS*128 bytes (on i386), we now use nr_cpu_ids*sizeof(local_t) bytes. On a typical distro, where NR_CPUS=8, shiping 2000 modules, we reduce size of module files by about 2 Mbytes. (1Kb per module) Instead of having all refcounters in the same memory node - with TLB misses because of vmalloc() - this new implementation permits to have better NUMA properties, since each CPU will use storage on its preferred node, thanks to percpu storage. Signed-off-by: Eric Dumazet Signed-off-by: Rusty Russell Signed-off-by: Linus Torvalds commit fd4ef231962ab44fd1004e87f9d7c6809f00cd64 Author: Mark Fasheh Date: Thu Jan 29 15:06:21 2009 -0800 ocfs2: add quota call to ocfs2_remove_btree_range() We weren't reclaiming the clusters which get free'd from this function, so any user punching holes in a file would still have those bytes accounted against him/her. Add the call to vfs_dq_free_space_nodirty() to fix this. Interestingly enough, the journal credits calculation already took this into account. Signed-off-by: Mark Fasheh Acked-by: Jan Kara commit a4b91965d39d5d53b470d6aa62cba155a6f3ffe1 Author: Sunil Mushran Date: Thu Jan 29 17:12:31 2009 -0800 ocfs2: Wakeup the downconvert thread after a successful cancel convert When two nodes holding PR locks on a resource concurrently attempt to upconvert the locks to EX, the master sends a BAST to one of the nodes. This message tells that node to first cancel convert the upconvert request, followed by downconvert to a NL. Only when this lock is downconverted to NL, can the master upconvert the first node's lock to EX. While the fs was doing the cancel convert, it was forgetting to wake up the dc thread after a successful cancel, leading to a deadlock. Reported-and-Tested-by: David Teigland Signed-off-by: Sunil Mushran Signed-off-by: Mark Fasheh commit 554e7f9e043e29da79c044f7a55efe4fad40701e Author: Tao Ma Date: Thu Jan 8 08:21:43 2009 +0800 ocfs2: Access the xattr bucket only before modifying it. In ocfs2_xattr_value_truncate, we may call b-tree codes which will extend the journal transaction. It has a potential problem that it may let the already-accessed-but-not-dirtied buffers gone. So we'd better access the bucket after we call ocfs2_xattr_value_truncate. And as for the root buffer for the xattr value, b-tree code will acess and dirty it, so we don't need to worry about it. Signed-off-by: Tao Ma Signed-off-by: Mark Fasheh commit 0e0333429a6280e6eb3c98845e4eed90d5f8078a Author: Joel Becker Date: Wed Dec 17 14:23:52 2008 -0800 configfs: Silence lockdep on mkdir(), rmdir() and configfs_depend_item() When attaching default groups (subdirs) of a new group (in mkdir() or in configfs_register()), configfs recursively takes inode's mutexes along the path from the parent of the new group to the default subdirs. This is needed to ensure that the VFS will not race with operations on these sub-dirs. This is safe for the following reasons: - the VFS allows one to lock first an inode and second one of its children (The lock subclasses for this pattern are respectively I_MUTEX_PARENT and I_MUTEX_CHILD); - from this rule any inode path can be recursively locked in descending order as long as it stays under a single mountpoint and does not follow symlinks. Unfortunately lockdep does not know (yet?) how to handle such recursion. I've tried to use Peter Zijlstra's lock_set_subclass() helper to upgrade i_mutexes from I_MUTEX_CHILD to I_MUTEX_PARENT when we know that we might recursively lock some of their descendant, but this usage does not seem to fit the purpose of lock_set_subclass() because it leads to several i_mutex locked with subclass I_MUTEX_PARENT by the same task. >From inside configfs it is not possible to serialize those recursive locking with a top-level one, because mkdir() and rmdir() are already called with inodes locked by the VFS. So using some mutex_lock_nest_lock() is not an option. I am proposing two solutions: 1) one that wraps recursive mutex_lock()s with lockdep_off()/lockdep_on(). 2) (as suggested earlier by Peter Zijlstra) one that puts the i_mutexes recursively locked in different classes based on their depth from the top-level config_group created. This induces an arbitrary limit (MAX_LOCK_DEPTH - 2 == 46) on the nesting of configfs default groups whenever lockdep is activated but this limit looks reasonably high. Unfortunately, this alos isolates VFS operations on configfs default groups from the others and thus lowers the chances to detect locking issues. This patch implements solution 1). Solution 2) looks better from lockdep's point of view, but fails with configfs_depend_item(). This needs to rework the locking scheme of configfs_depend_item() by removing the variable lock recursion depth, and I think that it's doable thanks to the configfs_dirent_lock. For now, let's stick to solution 1). Signed-off-by: Louis Rilling Acked-by: Joel Becker Signed-off-by: Mark Fasheh commit f8afead7169f0f28a4b421bcbdb510e52a2d094d Author: Jan Kara Date: Mon Jan 12 23:20:32 2009 +0100 ocfs2: Fix possible deadlock in ocfs2_write_dquot() It could happen that some limit has been set via quotactl() and in parallel ->mark_dirty() is called from another thread doing e.g. dquot_alloc_space(). In such case ocfs2_write_dquot() must not try to sync the dquot because that needs global quota lock but that ranks above transaction start. Signed-off-by: Jan Kara Signed-off-by: Mark Fasheh commit ea455f8ab68338ba69f5d3362b342c115bea8e13 Author: Jan Kara Date: Mon Jan 12 23:20:31 2009 +0100 ocfs2: Push out dropping of dentry lock to ocfs2_wq Dropping of last reference to dentry lock is a complicated operation involving dropping of reference to inode. This can get complicated and quota code in particular needs to obtain some quota locks which leads to potential deadlock. Thus we defer dropping of inode reference to ocfs2_wq. Signed-off-by: Jan Kara Signed-off-by: Mark Fasheh commit 0047e5d240ede4e84c03bc9001375175900fd259 Author: Ron Mercer Date: Mon Feb 2 13:54:31 2009 -0800 qlge: bugfix: Add missing netif_napi_del call. Signed-off-by: Ron Mercer Signed-off-by: David S. Miller commit e78f5fa7cc1a211eb9909ef90b0de3311086ba55 Author: Ron Mercer Date: Mon Feb 2 13:54:15 2009 -0800 qlge: bugfix: Add flash offset for second port. Without this the 2nd port gets first ports MAC addr. Signed-off-by: Ron Mercer Signed-off-by: David S. Miller commit 26351479ed43288be92935826c215fbe01e2abb2 Author: Ron Mercer Date: Mon Feb 2 13:53:57 2009 -0800 qlge: bugfix: Fix endian issue when reading flash. Signed-off-by: Ron Mercer Signed-off-by: David S. Miller commit e408b8dcb5ce42243a902205005208e590f28454 Author: Eric Dumazet Date: Mon Feb 2 13:41:57 2009 -0800 udp: increments sk_drops in __udp_queue_rcv_skb() Commit 93821778def10ec1e69aa3ac10adee975dad4ff3 (udp: Fix rcv socket locking) accidentally removed sk_drops increments for UDP IPV4 sockets. This field can be used to detect incorrect sizing of socket receive buffers. Signed-off-by: Eric Dumazet Signed-off-by: David S. Miller commit 0afd4a21ba7d75e93fa79cf05d7a21774e149c0f Author: David S. Miller Date: Mon Feb 2 13:27:44 2009 -0800 net: Fix userland breakage wrt. linux/if_tunnel.h Reported by Andrew Walrond Changeset c19e654ddbe3831252f61e76a74d661e1a755530 ("gre: Add netlink interface") added an include of linux/ip.h to linux/if_tunnel.h We can't really let that get exposed to userspace because this conflicts with types defined in netinet/ip.h which userland is almost certainly going to have included either explicitly or implicitly. So guard this include with a __KERNEL__ ifdef. Signed-off-by: David S. Miller commit b6018958a57f6621d6979c4384e42a3df636beed Author: Cliff Brake Date: Thu Jan 22 17:07:03 2009 -0500 pxamci: enable DMA for write ops after CMD/RESP With the PXA270 MMC hardware, there seems to be an issue of data corruption on writes where a 4KB data block is offset by one byte. If we delay enabling the DMA for writes until after the CMD/RESP has finished, the problem seems to be fixed. related to PXA270 Erratum #91 Tested-by: Vernon Sauder Signed-off-by: Cliff Brake Acked-by: Eric Miao Signed-off-by: Pierre Ossman commit e10a854c4602072c34c03380b99da0a3ee15682c Author: Cliff Brake Date: Thu Jan 22 16:58:58 2009 -0500 pxamci: replace #ifdef CONFIG_PXA27x with if (cpu_is_pxa27x()) Signed-off-by: Cliff Brake Acked-by: Eric Miao Signed-off-by: Pierre Ossman commit 06cc1c880095063fa40b0a640ac0003b43107b40 Author: philipl@overt.org Date: Sun Jan 18 14:11:20 2009 -0500 ricoh_mmc: Use suspend_late/resume_early If ricoh_mmc suspends before sdhci_pci, it will pull the card out from under the controller, which could leave the system in a very confused state. Using suspend_late/resume_early ensures that sdhci_pci suspends first and resumes second. Signed-off-by: Philip Langdale Signed-off-by: Pierre Ossman commit cc30d60e4ca0b68e7e3f906eddd1e5b995d349f8 Author: Linus Walleij Date: Sun Jan 4 15:18:54 2009 +0100 mmci: Add support for ST Micro derivate This patch adds support for the ST Microelectronics version of the PL180 PrimeCell. They use designer ID 0x80 and have a few alterations/bugfixes related to open drain and HW flow control. They also add some SDIO registers, I am unsure if these are in ST HW only or if this is things also added in later ARM revisions, but they are included in the mmci.h file for completeness. Signed-off-by: Linus Walleij Signed-off-by: Pierre Ossman commit d96be879ff469759af6d7fcebdb66237c18da6f8 Author: Sascha Hauer Date: Tue Jan 6 17:04:14 2009 +0100 mmc: Add a MX2/MX3 specific SDHC driver This patch adds a MX2/MX3 specific SDHC driver. The hardware is basically the same as in the MX1, but unlike the MX1 controller the MX2 controller just works as expected. Since the MX1 driver has more workarounds for bugs than anything else I had no success with supporting MX1 and MX2 in a sane way in one driver. Signed-off-by: Sascha Hauer Signed-off-by: Pierre Ossman commit d224b6269e4731a82f648bb0281ea1a4d8b3311d Author: Bartlomiej Zolnierkiewicz Date: Mon Feb 2 20:12:23 2009 +0100 icside: fix PCB version 6 support (v2) We need to pass struct ide_port_info also to ide_host_register(). v2: Fix v5/v6 mismatch noticed by Russell. Cc: Russell King Signed-off-by: Bartlomiej Zolnierkiewicz commit 9711a53721616b0f4c5f21c5811e5c4ef82be46f Author: Atsushi Nemoto Date: Mon Feb 2 20:12:23 2009 +0100 tx4939ide: typo fix and minor cleanup The bcount is greater than 0 and less than or equal to 0x10000. Thus '(bcount & 0xffff) == 0x0000' can be simplified as 'bcount == 0x10000'. Suggested-by: Sergei Shtylyov Signed-off-by: Atsushi Nemoto Signed-off-by: Bartlomiej Zolnierkiewicz commit a77dcc437c1c3bc73887ecac8a304e4adcabb9b7 Author: Bartlomiej Zolnierkiewicz Date: Mon Feb 2 20:12:23 2009 +0100 ide: add CS5536 host driver (v3) This is a port of libata's pata_cs5536.c (written by Martin K. Petersen) to IDE subsystem. Changes done while at it: * Reprogram PIO/MWDMA timings if needed before and after DMA transfer (chipset uses shared PIO/MWDMA timings). * Fix cable detection to report 80-wires cable if BIOS set it for any device on a port (IDE core will do drive-side cable detection later). * Don't disable UDMA while programming PIO timings. * Simplify PCI/MSR support. Pros of having IDE host driver in addition to libata's one: * IDE is much lighter than SCSI+libata, the host driver itself is also a bit smaller: text data bss dec hex filename 1261 496 4 1761 6e1 drivers/ata/pata_cs5536.o 1242 128 4 1374 55e drivers/ide/cs5536.o * This allows use of IDE features which are unavailable under libata. v2: * Fixes per review from Sergei: - simplify dependency check in Kconfig - use IDE_DRV_MASK also for ->drive_data - disable UDMA when programming MWDMA - program new DTC timings only when necessary - fix printk() level in cs5536_init_one() * Fix patch description according to comments from Alan and Sergei. v3: * Smarter masking of UDMA bits per Sergei's suggestion. Cc: Martin K. Petersen Cc: Karl Auerbach Cc: Alan Cox Acked-by: Sergei Shtylyov Signed-off-by: Bartlomiej Zolnierkiewicz commit 9f6514c1c5b55ab90f3ad1f3fc18b9daa5bd9c8c Author: Gerhard Pircher Date: Mon Feb 2 20:12:22 2009 +0100 ide: Force VIA IDE legacy interrupts for AmigaOne boards The AmigaOne uses the onboard VIA IDE controller in legacy mode (like the Pegasos). Signed-off-by: Gerhard Pircher Cc: "Grant Likely" Signed-off-by: Bartlomiej Zolnierkiewicz commit 51d6ac7011cc354eade4f1282857947930a905aa Author: Ian Campbell Date: Mon Feb 2 20:12:22 2009 +0100 IDE: Unregister and disable devices if initialization fails. On reboot the loop in device_shutdown gets confused by these partially initialized devices and goes into an infinite loop. Therefore unregister and disable these devices. Signed-off-by: Ian Campbell [bart: remove leftover hwif->present clearing + update patch description] Signed-off-by: Bartlomiej Zolnierkiewicz commit 9a100f4b78c4c59fdd1cc38c5fa6a1ec66f23d9a Author: Bartlomiej Zolnierkiewicz Date: Mon Feb 2 20:12:21 2009 +0100 ide: fix ide_register_port() failure handling * Factor out port freeing from ide_host_free() to ide_free_port(). * Add ide_disable_port() and use it on ide_register_port() failure. Cc: Ian Campbell Signed-off-by: Bartlomiej Zolnierkiewicz commit e5461f38b43d5658087a598c8deb2a9928d6b92b Author: Kay Sievers Date: Mon Feb 2 20:12:21 2009 +0100 ide: struct device - replace bus_id with dev_name(), dev_set_name() Signed-off-by: Kay Sievers Cc: linux-ide@vger.kernel.org Acked-by: Greg Kroah-Hartman Signed-off-by: Bartlomiej Zolnierkiewicz commit 9e772d0135a5b5f8355320be429efa339700d52d Author: Borislav Petkov Date: Mon Feb 2 20:12:21 2009 +0100 ide-cd: fix DMA for non bio-backed requests This one fixes http://bugzilla.kernel.org/show_bug.cgi?id=12320. Signed-off-by: Borislav Petkov Signed-off-by: Bartlomiej Zolnierkiewicz commit 8f04915532485d81e7f6c580a396ea7b01094221 Merge: 8f5140a 45c82b5 Author: David Vrabel Date: Mon Feb 2 17:52:39 2009 +0000 Merge branch 'master' of git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux-2.6 into for-upstream commit ccc9c8b91c2631da2cab46a6fcd9c3106dcb9abb Author: Balaji Rao Date: Tue Jan 27 19:22:38 2009 +0530 pcf50633_charger: Fix typo container_of(psy, struct pcf50633_mbc, usb); should be container_of(psy, struct pcf50633_mbc, adapter); Signed-off-by: Balaji Rao Cc: Andy Green Signed-off-by: Anton Vorontsov commit 21dff4345697ad129b0efeed1b4d0aa53dfd47fe Author: Eero Nurkkala Date: Mon Feb 2 14:20:46 2009 +0200 OMAP: ASoC: Fix spinlock misuse in omap-pcm.c omap_pcm_trigger is called also in interrupt context so CPU flags must be restored when returning. Signed-off-by: Eero Nurkkala Acked-by: Jarkko Nikula Signed-off-by: Mark Brown commit cbb5901b904e122139e97c6f4caed9b1f13c3455 Author: Jens Axboe Date: Mon Feb 2 13:02:31 2009 +0100 block: add text file detailing queue/ sysfs files Signed-off-by: Jens Axboe commit c52440a69df22dca69794936a91e2fb529a707fb Author: Alberto Bertogli Date: Mon Feb 2 12:41:07 2009 +0100 bio.h: If they MUST be inlined, then use __always_inline bvec_kmap_irq() and bvec_kunmap_irq() comments say they MUST be inlined, so mark them as __always_inline. Signed-off-by: Alberto Bertogli Signed-off-by: Jens Axboe commit 20b636bf7c946da260391cd4570b16506f140a2c Author: Alberto Bertogli Date: Mon Feb 2 12:41:07 2009 +0100 Fix misleading comment in bio.h The comment says "remember to add offset!", but the function already adds it. Signed-off-by: Alberto Bertogli Signed-off-by: Jens Axboe commit 516a1ced456a6d118db738f0f09fce0cb0f42794 Author: Takashi Iwai Date: Mon Feb 2 11:37:03 2009 +0100 ALSA: hda - No widget selection for volume knob widgets in proc output Volume-knob widgets have no widget selection although they have widget connections. Thus, the connection list in the proc output shouldn't contain the selection (*). Signed-off-by: Takashi Iwai commit f58914e41473faf15e2dd66ad26be914da1bce71 Merge: 1cf3eb2 3718909 Author: Pekka Enberg Date: Mon Feb 2 11:18:49 2009 +0200 Merge branches 'topic/slab/fixes' and 'topic/slub/fixes' into for-linus commit 0648e10d71c8e510d80772c4cb4220c97e9c34c7 Author: Jens Axboe Date: Mon Feb 2 08:43:48 2009 +0100 block: fix inconsistent parenthesisation of QUEUE_FLAG_DEFAULT Signed-off-by: Jens Axboe commit fb8ec18c316d869271137c97320dbfd2def56569 Author: Jens Axboe Date: Mon Feb 2 08:42:32 2009 +0100 block: fix oops in blk_queue_io_stat() Some initial probe requests don't have disk->queue mapped yet, so we can't rely on a non-NULL queue in blk_queue_io_stat(). Wrap it in blk_do_io_stat(). Signed-off-by: Jens Axboe commit 7fbb7cadd062baf299fd8b26a80ea99da0c3fe01 Author: Risto Suominen Date: Tue Jan 13 20:09:30 2009 +0000 fbdev/atyfb: Fix DSP config on some PowerMacs & PowerBooks Since the complete re-write in 2.6.10, some PowerMacs (At least PowerMac 5500 and PowerMac G3 Beige rev A) with ATI Mach64 chip have suffered from unstable columns in their framebuffer image. This seems to depend on a value (4) read from PLL_EXT_CNTL register, which leads to incorrect DSP config parameters to be written to the chip. This patch uses a value calculated by aty_init_pll_ct instead, as a starting point. There are questions as to whether this should be extended to other platforms or maybe made dependent on specific chip types, but in the meantime, this has been tested on various powermacs and works for them so let's commit it. Signed-off-by: Risto Suominen Tested-by: Michael Pettersson Cc: Signed-off-by: Benjamin Herrenschmidt commit 59b608c2c33feacc8be281ec3ba9ca2a3a5cb9a7 Author: Benjamin Herrenschmidt Date: Sun Feb 1 17:03:59 2009 +0000 powerpc: Fix oops on some machines due to incorrect pr_debug() Recently, a patch left DEBUG enabled in the powerpc common PCI code, resulting in an old bug in a pr_debug() statement to show up and cause a NULL dereference on some machines. This fixes the pr_debug() statement and reverts to DEBUG not being force-enabled in that file. Signed-off-by: Benjamin Herrenschmidt commit 309ea626b164f2abba8e639b3eb6f2e5d34708b9 Author: Stephen Rothwell Date: Tue Jan 13 20:09:30 2009 +0000 powerpc/ps3: Printing fixups for l64 to ll64 convserion drivers/net Signed-off-by: Stephen Rothwell Acked-by: Geoff Levand Acked-by: David S. Miller Signed-off-by: Benjamin Herrenschmidt commit 4ab73761faef832f6d378328f79d21e77c62af3b Author: Roel Kluin Date: Sun Feb 1 16:55:45 2009 -0800 Input: ambakmi - fix timeout handling in amba_kmi_write() With a postfix decrement timeleft reaches -1 rather than 0, but after the loop it is tested to have become 0. Signed-off-by: Roel Kluin Signed-off-by: Dmitry Torokhov commit bc34496d63ec0a669d6825ea42275fd6fcbe9969 Author: Roel Kluin Date: Sun Feb 1 16:54:19 2009 -0800 Input: pxa930_trkball - fix write timeout handling With a postfix decrement i reaches -1 rather than 0, but after the loop it is tested whether it has become 0. Signed-off-by: Roel Kluin Signed-off-by: Dmitry Torokhov commit 27421e211a39784694b597dbf35848b88363c248 Author: Linus Torvalds Date: Sun Feb 1 11:00:16 2009 -0800 Manually revert "mlock: downgrade mmap sem while populating mlocked regions" This essentially reverts commit 8edb08caf68184fb170f4f69c7445929e199eaea. It downgraded our mmap semaphore to a read-lock while mlocking pages, in order to allow other threads (and external accesses like "ps" et al) to walk the vma lists and take page faults etc. Which is a nice idea, but the implementation does not work. Because we cannot upgrade the lock back to a write lock without releasing the mmap semaphore, the code had to release the lock entirely and then re-take it as a writelock. However, that meant that the caller possibly lost the vma chain that it was following, since now another thread could come in and mmap/munmap the range. The code tried to work around that by just looking up the vma again and erroring out if that happened, but quite frankly, that was just a buggy hack that doesn't actually protect against anything (the other thread could just have replaced the vma with another one instead of totally unmapping it). The only way to downgrade to a read map _reliably_ is to do it at the end, which is likely the right thing to do: do all the 'vma' operations with the write-lock held, then downgrade to a read after completing them all, and then do the "populate the newly mlocked regions" while holding just the read lock. And then just drop the read-lock and return to user space. The (perhaps somewhat simpler) alternative is to just make all the callers of mlock_vma_pages_range() know that the mmap lock got dropped, and just re-grab the mmap semaphore if it needs to mlock more than one vma region. So we can do this "downgrade mmap sem while populating mlocked regions" thing right, but the way it was done here was absolutely not correct. Thus the revert, in the expectation that we will do it all correctly some day. Cc: Lee Schermerhorn Cc: Rik van Riel Cc: Andrew Morton Cc: stable@kernel.org Signed-off-by: Linus Torvalds commit de8696203e64f19ea26f8e096ac8a796e78216b3 Merge: 807a96c 0dc23d7 Author: Russell King Date: Sun Feb 1 17:53:26 2009 +0000 Merge branch 'omap-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/tmlind/linux-omap-2.6 commit 67e70baf043cfdcdaf5972bc94be82632071536b Author: Devin Heitmueller Date: Mon Jan 26 03:07:59 2009 -0300 V4L/DVB (10411): s5h1409: Perform s5h1409 soft reset after tuning Just like with the s5h1411, the s5h1409 needs a soft-reset in order for it to know that the tuner has been told to change frequencies. This change changes the behavior from "random tuning times between 500ms to complete tuning lock failures" to "tuning lock consistently within 700ms". Thanks to Robert Krakora for doing initial testing of the patch on the KWorld 330U. Thanks to Andy Walls for doing testing of the patch on the HVR-1600. Thanks to Michael Krufky for doing additional testing. Signed-off-by: Devin Heitmueller Signed-off-by: Michael Krufky Signed-off-by: Mauro Carvalho Chehab commit 40c41c8cf1d04445013a14772afb3903a17344a6 Author: Mauro Carvalho Chehab Date: Sat Jan 31 08:09:33 2009 -0300 V4L/DVB (10403): saa7134-alsa: saa7130 doesn't support digital audio According with saa7130 public datasheet, saa7130 doesn't support digital audio. This is also confirmed by experimental tests. So, it doesn't make sense to let saa7134-alsa register for those chipsets. Signed-off-by: Mauro Carvalho Chehab commit 10b888d6cec2688e65e9e128b14bf98ecd199da2 Author: Yinghai Lu Date: Sat Jan 31 14:50:07 2009 -0800 irq, x86: fix lock status with numa_migrate_irq_desc Eric Paris reported: > I have an hp dl785g5 which is unable to successfully run > 2.6.29-0.66.rc3.fc11.x86_64 or 2.6.29-rc2-next-20090126. During bootup > (early in userspace daemons starting) I get the below BUG, which quickly > renders the machine dead. I assume it is because sparse_irq_lock never > gets released when the BUG kills that task. Adjust lock sequence when migrating a descriptor with CONFIG_NUMA_MIGRATE_IRQ_DESC enabled. Signed-off-by: Yinghai Lu Signed-off-by: Ingo Molnar commit b7479febdecf8e12951aecb0b405e4655aa3dae6 Author: Petr Vandrovec Date: Sun Feb 1 01:29:35 2009 -0800 firewire: core: Remove card from list of cards when enable fails Signed-off-by: Petr Vandrovec After a controller initialization failure, addition of another card got stuck due to card_list corruption. Signed-off-by: Stefan Richter commit 9a8ecae87a2b698964b1db9ea504ba1099f479fc Author: Dave Jones Date: Sat Jan 31 20:12:14 2009 -0500 x86: add cache descriptors for Intel Core i7 Signed-off-by: Dave Jones Signed-off-by: Ingo Molnar commit f9e6934502e46c363100245f137ddf0f4b1cb574 Author: Sebastiano Di Paola Date: Fri Jan 30 23:37:17 2009 +0000 net: packet socket packet_lookup_frame fix packet_lookup_frames() fails to get user frame if current frame header status contains extra flags. This is due to the wrong assumption on the operators precedence during frame status tests. Fixed by forcing the right operators precedence order with explicit brackets. Signed-off-by: Paolo Abeni Signed-off-by: Sebastiano Di Paola Signed-off-by: David S. Miller commit 3d398703ef06fd97b4c28c86b580546d5b57e7b7 Author: Rusty Russell Date: Sat Jan 31 23:21:24 2009 +1030 sched_rt: don't use first_cpu on cpumask created with cpumask_and cpumask_and() only initializes nr_cpu_ids bits, so the (deprecated) first_cpu() might find one of those uninitialized bits if nr_cpu_ids is less than NR_CPUS (as it can be for CONFIG_CPUMASK_OFFSTACK). Signed-off-by: Rusty Russell Signed-off-by: Ingo Molnar commit a571bbeafbcc501d9989fbce1cddcd810bd51d71 Author: Peter Zijlstra Date: Wed Jan 28 14:51:40 2009 +0100 sched: fix buddie group latency Similar to the previous patch, by not clearing buddies we can select entities past their run quota, which can increase latency. This means we have to clear group buddies as well. Do not use the group clear for pick_next_task(), otherwise that'll get O(n^2). Signed-off-by: Peter Zijlstra Signed-off-by: Ingo Molnar commit a9f3e2b549f83a9cdab873abf4140be27c05a3f2 Author: Mike Galbraith Date: Wed Jan 28 14:51:39 2009 +0100 sched: clear buddies more aggressively It was noticed that a task could get re-elected past its run quota due to buddy affinities. This could increase latency a little. Cure it by more aggresively clearing buddy state. We do so in two situations: - when we force preempt - when we select a buddy to run Signed-off-by: Mike Galbraith Signed-off-by: Peter Zijlstra Signed-off-by: Ingo Molnar commit 1596e29773eadd96b0a5fc6e736afa52394cafda Author: Peter Zijlstra Date: Wed Jan 28 14:51:38 2009 +0100 sched: symmetric sync vs avg_overlap Reinstate the weakening of the sync hint if set. This yields a more symmetric usage of avg_overlap. Signed-off-by: Peter Zijlstra Signed-off-by: Ingo Molnar commit d942fb6c7d391baba3dddb566eb735fbf3df8528 Author: Peter Zijlstra Date: Mon Jan 26 17:56:17 2009 +0100 sched: fix sync wakeups Pawel Dziekonski reported that the openssl benchmark and his quantum chemistry application both show slowdowns due to the scheduler under-parallelizing execution. The reason are pipe wakeups still doing 'sync' wakeups which overrides the normal buddy wakeup logic - even if waker and wakee are loosely coupled. Fix an inversion of logic in the buddy wakeup code. Reported-by: Pawel Dziekonski Signed-off-by: Peter Zijlstra Signed-off-by: Ingo Molnar commit 45c82b5a770be66845687a7d027c8b52946d59af Merge: 1347e96 7cff360 Author: Linus Torvalds Date: Sat Jan 31 15:56:23 2009 -0800 Merge branch 'header-fixes-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip * 'header-fixes-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip: (90 commits) headers_check fix: x86, swab.h headers_check fix: x86, sigcontext32.h headers_check fix: x86, sigcontext.h headers_check fix: x86, ptrace-abi.h headers_check fix: x86, mtrr.h headers_check fix: x86, mce.h headers_check fix: x86, kvm.h headers_check fix: x86, e820.h headers_check fix: linux/rtnetlink.h headers_check fix: linux/nubus.h headers_check fix: video/uvesafb.h headers_check fix: video/sisfb.h headers_check fix: sound/hdsp.h headers_check fix: mtd/inftl-user.h headers_check fix: linux/virtio_net.h headers_check fix: linux/virtio_console.h headers_check fix: linux/virtio_blk.h headers_check fix: linux/videodev.h headers_check fix: linux/video_encoder.h headers_check fix: linux/video_decoder.h ... commit 1347e965f5bcfffe82e56d2903ea4f32babaff4e Merge: ac56b94 d7240b9 Author: Linus Torvalds Date: Sat Jan 31 15:55:05 2009 -0800 Merge branch 'core-fixes-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip * 'core-fixes-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip: generic-ipi: use per cpu data for single cpu ipi calls cpumask: convert lib/smp_processor_id to new cpumask ops signals, debug: fix BUG: using smp_processor_id() in preemptible code in print_fatal_signal() commit ac56b94f8049b4c246cd86257ae6c03c0ac75a13 Merge: 5b2d3e6 14819ea Author: Linus Torvalds Date: Sat Jan 31 15:54:30 2009 -0800 Merge branch 'irq-fixes-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip * 'irq-fixes-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip: irq: export __set_irq_handler() and handle_level_irq() commit 5b2d3e6d542c4c7009ba72e047c4c0633f2b5e26 Merge: f649043 b0a9b51 Author: Linus Torvalds Date: Sat Jan 31 15:54:06 2009 -0800 Merge branch 'timers-fixes-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip * 'timers-fixes-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip: hrtimer: prevent negative expiry value after clock_was_set() hrtimers: allow the hot-unplugging of all cpus hrtimers: increase clock min delta threshold while interrupt hanging commit f6490438fce5902f840d1f0f905295077c635e7a Merge: e81cfd2 ba2607f Author: Linus Torvalds Date: Sat Jan 31 15:53:30 2009 -0800 Merge branch 'tracing-fixes-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip * 'tracing-fixes-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip: x86, ds, bts: cleanup/fix DS configuration ring-buffer: reset timestamps when ring buffer is reset trace: set max latency variable to zero on default trace: stop all recording to ring buffer on ftrace_dump trace: print ftrace_dump at KERN_EMERG log level ring_buffer: reset write when reserve buffer fail tracing/function-graph-tracer: fix a regression while suspend to disk ring-buffer: fix alignment problem commit e81cfd214f97a26ca2b00564258ebcf099214cbb Merge: 4b8d8ab 7fc49f1 Author: Linus Torvalds Date: Sat Jan 31 15:52:46 2009 -0800 Merge branch 'x86-fixes-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip * 'x86-fixes-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip: x86 setup: fix asm constraints in vesa_store_edid xen: make sysfs files behave as their names suggest x86: tone down mtrr_trim_uncached_memory() warning x86: correct the CPUID pattern for MSR_IA32_MISC_ENABLE availability commit 4b8d8ab566932bfe023637025c76c0e90c655faf Merge: c5e18af 8dd2c9e Author: Linus Torvalds Date: Sat Jan 31 15:52:25 2009 -0800 Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/lrg/voltage-2.6 * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/lrg/voltage-2.6: leds: Fix bounds checking of wm8350->pmic.led regulator: move bq24022 init back to module_init instead of subsys_initcall commit c5e18af910f4bc2e3d0732ea98b99c0fd884e73c Merge: 878b861 2d2eca4 Author: Linus Torvalds Date: Sat Jan 31 15:52:02 2009 -0800 Merge branch 'upstream' of git://ftp.linux-mips.org/pub/scm/upstream-linus * 'upstream' of git://ftp.linux-mips.org/pub/scm/upstream-linus: (27 commits) MIPS: Alchemy: time.c build fix MIPS: RB532: Export rb532_gpio_set_func() MIPS: RB532: Update headers MIPS: RB532: Simplify dev3 init MIPS: RB532: Remove {get,set}_434_reg() MIPS: RB532: Move dev3 init code to devices.c MIPS: RB532: Fix set_latch_u5() MIPS: RB532: Fix init of rb532_dev3_ctl_res MIPS: RB532: Use driver_data instead of platform_data MIPS: RB532: Detect uart type, add platform device MIPS: RB532: remove useless CF GPIO initialisation MIPS: RB532: Auto disable GPIO alternate function MIPS: RB532: Add set_type() function to IRQ struct. MIPS: RC32434: Define io_map_base for PCI controller MIPS: RB532: Fix bit swapping in rb532_set_bit() MIPS: Use hardware watchpoints on all R1 and R2 CPUs. MIPS: Read watch registers with interrupts disabled. MIPS: Fix a typo in watchpoint register structure. MIPS: TXx9: Add support for TX4939 internal RTC MIPS: R2: Fix broken installation of cache error handler. ... commit 878b8619f711280fd05845e21956434b5e588cc4 Author: Mikulas Patocka Date: Fri Jan 30 15:27:14 2009 -0500 Fix memory corruption in console selection Fix an off-by-two memory error in console selection. The loop below goes from sel_start to sel_end (inclusive), so it writes one more character. This one more character was added to the allocated size (+1), but it was not multiplied by an UTF-8 multiplier. This patch fixes a memory corruption when UTF-8 console is used and the user selects a few characters, all of them 3-byte in UTF-8 (for example a frame line). When memory redzones are enabled, a redzone corruption is reported. When they are not enabled, trashing of random memory occurs. Signed-off-by: Mikulas Patocka Signed-off-by: Linus Torvalds commit f984d024190d5df98e448e35aa9e89a46fe50bb9 Merge: fc8744a 5d0932a Author: Linus Torvalds Date: Sat Jan 31 15:50:43 2009 -0800 Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-2.6 * git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-2.6: igb: fix link reporting when using sgmii igb: prevent skb_over panic w/ mtu smaller than 1K igb: Fix DCA errors and do not use context index for 82576 ipv6: compile fix for ip6mr.c packet: Avoid lock_sock in mmap handler sfc: Replace stats_enabled flag with a disable count sfc: SFX7101/SFT9001: Fix AN advertisements sfc: SFT9001: Always enable XNP exchange on SFT9001 rev B sfc: Update board info for hardware monitor on SFN4111T-R5 and later sfc: Test for PHYXS faults whenever we cannot test link state bits sfc: Reinitialise the PHY completely in case of a PHY or NIC reset sfc: Fix post-reset MAC selection sfc: SFN4111T: Fix GPIO sharing between I2C and FLASH_CFG_1 sfc: SFT9001: Fix speed reporting in 1G PHY loopback sfc: SFX7101: Remove workaround for bad link training sfc: SFT9001: Enable robust link training sky2: fix hard hang with netconsoling and iface going up commit fc8744adc870a8d4366908221508bb113d8b72ee Author: Linus Torvalds Date: Sat Jan 31 15:08:56 2009 -0800 Stop playing silly games with the VM_ACCOUNT flag The mmap_region() code would temporarily set the VM_ACCOUNT flag for anonymous shared mappings just to inform shmem_zero_setup() that it should enable accounting for the resulting shm object. It would then clear the flag after calling ->mmap (for the /dev/zero case) or doing shmem_zero_setup() (for the MAP_ANON case). This just resulted in vma merge issues, but also made for just unnecessary confusion. Use the already-existing VM_NORESERVE flag for this instead, and let shmem_{zero|file}_setup() just figure it out from that. This also happens to make it obvious that the new DRI2 GEM layer uses a non-reserving backing store for its object allocation - which is quite possibly not intentional. But since I didn't want to change semantics in this patch, I left it alone, and just updated the caller to use the new flag semantics. Signed-off-by: Linus Torvalds commit 92ab78315c638515d0e81b0c70b2082f713582d9 Author: James Bottomley Date: Sat Jan 31 17:24:43 2009 +0100 x86/Voyager: make it build and boot [ mingo@elte.hu: these fixes are a subset of changes cherry-picked from: git://git.kernel.org:/pub/scm/linux/kernel/git/jejb/voyager-2.6.git They fix various problems that recent x86 changes caused in the Voyager subarchitecture: both APIC changes and cpumask changes and certain cleanups caused subarch assumptions to break. Most of these changes are obsolete as the subarch code has been removed from the x86 development tree - but we merge them upstream to make Voyager build and boot. ] Signed-off-by: James Bottomley Signed-off-by: Ingo Molnar commit 3077e44c48242bb5867b41586f23aa8f6921073a Author: Mark Eggleston Date: Sat Jan 31 17:57:54 2009 +0100 ALSA: hda - Add support of iMac 24 Aluminium Added the support for 24" Aluminium iMac (106b:3e00) Signed-off-by: Takashi Iwai commit 67d8a3c1221bc883c821e7695ba6d327a5d6f2af Author: Roel Kluin Date: Sat Jan 31 12:17:28 2009 +0100 ALSA: alsa: time reaches -1, tested 0 With a postfix decrement time will reach -1 rather than 0, so the warning will not be issued. Signed-off-by: Roel Kluin Signed-off-by: Takashi Iwai commit 5d0932a5dd00d83df5d1e15eeffb6edf015a8579 Author: Alexander Duyck Date: Sat Jan 31 00:53:18 2009 -0800 igb: fix link reporting when using sgmii When using sgmii the link was not being properly passed up to the driver from the underlying link management functions. This change corrects it so that get_link_status is cleared when a link has been found. Signed-off-by: Alexander Duyck Signed-off-by: Jeff Kirsher Signed-off-by: David S. Miller commit ec54d7d6e40b04c16dfce0e41e506198a20c8645 Author: Alexander Duyck Date: Sat Jan 31 00:52:57 2009 -0800 igb: prevent skb_over panic w/ mtu smaller than 1K A panic has been observed with frame sizes smaller than 1K. This has been root caused to the hardware spanning larger frames across multiple buffers and then reporting the original frame size in the first descriptor. To prevent this we can enable set the LPE bit which in turn will restrict packet sizes to those set in the RLPML register. Signed-off-by: Alexander Duyck Signed-off-by: Jeff Kirsher Signed-off-by: David S. Miller commit bbd98fe48a43464b4a044bc4cbeefad284d6aa80 Author: Alexander Duyck Date: Sat Jan 31 00:52:30 2009 -0800 igb: Fix DCA errors and do not use context index for 82576 82576 was being incorrectly flagged as needing a context index. It does not as each ring has it's own table of 2 contexts. Driver was registering after registering the driver instead of the other way around. Signed-off-by: Alexander Duyck Signed-off-by: Jeff Kirsher Signed-off-by: David S. Miller commit 5d6e430d3bafe743b18dc443189093bf532e91ed Author: Dave Jones Date: Sat Jan 31 00:51:49 2009 -0800 ipv6: compile fix for ip6mr.c net/ipv6/ip6mr.c: In function 'pim6_rcv': net/ipv6/ip6mr.c:368: error: implicit declaration of function 'csum_ipv6_magic' Signed-off-by: Dave Jones Signed-off-by: David S. Miller commit 807a96cd0e5f5311e7f7a1030b43aab624cd7d9f Author: Uwe Kleine-König Date: Sat Jan 31 01:21:59 2009 +0100 NVRAM depends on RTC_DRV_CMOS drivers/char/nvram.c uses rtc_lock, that (on ARM) is only defined if RTC_DRV_CMOS is enabled. Signed-off-by: Uwe Kleine-König commit bcc8f3e01facc51b9d4f6351cd866f19eac0b5ae Author: Uwe Kleine-König Date: Sat Jan 31 01:21:58 2009 +0100 rename platform_driver name "flash" to "sa1100-mtd" "flash" is a very generic name for a platform_driver that is only available on SA11x0. Signed-off-by: Uwe Kleine-König Cc: Nicolas Pitre commit b3c960b277c440c8a7788d338c9f494ad62e46ab Author: Uwe Kleine-König Date: Sat Jan 31 01:21:56 2009 +0100 annotate that [fp, #-4] is the saved lr Signed-off-by: Uwe Kleine-König commit 6fd7ad96d6c51ba15479cb74dcb189b666422394 Author: Uwe Kleine-König Date: Sat Jan 31 01:21:55 2009 +0100 Use __SPIN_LOCK_UNLOCKED to initialize bad_irq_desc.lock SPIN_LOCK_UNLOCKED is deprecated as lockdep cannot properly work with locks initialized with it. This fix is necessary to compile the linux-rt tree for ARM. Signed-off-by: Uwe Kleine-König Cc: Steven Rostedt commit 7fc49f19813030f2e15ad2ccec5cb701f7f4a3ec Author: Andreas Schwab Date: Tue Jan 27 21:45:57 2009 +0100 x86 setup: fix asm constraints in vesa_store_edid Impact: fix potential miscompile (currently believed non-manifest) As the comment explains, the VBE DDC call can clobber any register. Tell the compiler about that fact. Signed-off-by: Andreas Schwab Signed-off-by: H. Peter Anvin Signed-off-by: Ingo Molnar commit 905db44087855e3c1709f538ecdc22fd149cadd8 Author: Herbert Xu Date: Fri Jan 30 14:12:06 2009 -0800 packet: Avoid lock_sock in mmap handler As the mmap handler gets called under mmap_sem, and we may grab mmap_sem elsewhere under the socket lock to access user data, we should avoid grabbing the socket lock in the mmap handler. Since the only thing we care about in the mmap handler is for pg_vec* to be invariant, i.e., to exclude packet_set_ring, we can achieve this by simply using a new mutex. Signed-off-by: Herbert Xu Tested-by: Martin MOKREJŠ Signed-off-by: David S. Miller commit 1974cc205e63cec4a17a6b3fca31fa4240ded77e Author: Ben Hutchings Date: Thu Jan 29 18:00:07 2009 +0000 sfc: Replace stats_enabled flag with a disable count Currently we use a spin-lock to serialise statistics fetches and also to inhibit them for short periods of time, plus a flag to enable/disable statistics fetches for longer periods of time, during online reset. This was apparently insufficient to deal with the several reasons for stats being disabled. Signed-off-by: Ben Hutchings Signed-off-by: David S. Miller commit af4ad9bca0c4039355b20d760b4fd39afa48c59d Author: Ben Hutchings Date: Thu Jan 29 17:59:37 2009 +0000 sfc: SFX7101/SFT9001: Fix AN advertisements All 10Xpress PHYs require autonegotiation all the time; enforce this in the set_settings() method and do not treat it as a workaround. Remove claimed support for 100M HD mode since it is not supported by current firmware. Do not set speed override bits when AN is enabled, and do not use register 1.49192 for AN configuration as it can override what we set elsewhere. Always set the AN selector bits to 1 (802.3). Fix confusion between Next Page and Extended Next Page. Signed-off-by: Ben Hutchings Signed-off-by: David S. Miller commit c9d5a53f060bb9ac6cd20d9768b4b75e22bc8689 Author: Ben Hutchings Date: Thu Jan 29 17:52:11 2009 +0000 sfc: SFT9001: Always enable XNP exchange on SFT9001 rev B This workaround is not specific to rev A. Signed-off-by: Ben Hutchings Signed-off-by: David S. Miller commit 44176b45d1aae04d99c505e6ee98d2d3c3fce173 Author: Ben Hutchings Date: Thu Jan 29 17:51:48 2009 +0000 sfc: Update board info for hardware monitor on SFN4111T-R5 and later Signed-off-by: Ben Hutchings Signed-off-by: David S. Miller commit 67797763c60bfe3bbf99ef81ce1042e71678d109 Author: Steve Hodgson Date: Thu Jan 29 17:51:15 2009 +0000 sfc: Test for PHYXS faults whenever we cannot test link state bits Depending on the loopback mode, there may be no pertinent link state bits. In this case we test the PHYXS RX fault bit instead. Make sure to do this in all cases where there are no link state bits. Signed-off-by: Ben Hutchings Signed-off-by: David S. Miller commit 4b988280be13a1b4c17f51cc66948aef467e7601 Author: Steve Hodgson Date: Thu Jan 29 17:50:51 2009 +0000 sfc: Reinitialise the PHY completely in case of a PHY or NIC reset In particular, set pause advertising bits properly. A PHY reset is not necessary to recover from the register self-test, so use a "invisible" reset there instead. Signed-off-by: Ben Hutchings Signed-off-by: David S. Miller commit 0cc128387969753ae037401eb49e4bbb474186ea Author: Steve Hodgson Date: Thu Jan 29 17:49:59 2009 +0000 sfc: Fix post-reset MAC selection Modify falcon_switch_mac() to always set NIC_STAT_REG, even if the the MAC is the same as it was before. This ensures that the value is correct after an online reset. Signed-off-by: Ben Hutchings Signed-off-by: David S. Miller commit 2f08575389ac37ece5922094777442d8fdd8c00a Author: Ben Hutchings Date: Thu Jan 29 17:49:29 2009 +0000 sfc: SFN4111T: Fix GPIO sharing between I2C and FLASH_CFG_1 Change sfn4111t_reset() to change only GPIO output enables so that it doesn't break subsequent I2C operations. Update comments to explain exactly what we're doing. Add a short sleep to make sure the FLASH_CFG_1 value is latched before any subsequent I2C operations. Signed-off-by: Ben Hutchings Signed-off-by: David S. Miller commit 8b9dc8dd447cfe27c0214761ced22a8e4aa58f5e Author: Steve Hodgson Date: Thu Jan 29 17:49:09 2009 +0000 sfc: SFT9001: Fix speed reporting in 1G PHY loopback Instead of disabling AN in loopback, just prevent restarting AN and override the speed in sft9001_get_settings(). Signed-off-by: Ben Hutchings Signed-off-by: David S. Miller commit 2d18835d65b7433e7e6583f65395f8c01e7874af Author: Steve Hodgson Date: Thu Jan 29 17:48:43 2009 +0000 sfc: SFX7101: Remove workaround for bad link training Early versions of the SFX7101 firmware could complete link training in a state where it would not adequately cancel noise (Solarflare bug 10750). We previously worked around this by resetting the PHY after seeing many Ethernet CRC errors. This workaround is unsafe since it takes no account of the interval between errors; it also appears to be unnecessary with production firmware. Therefore remove it. Signed-off-by: Ben Hutchings Signed-off-by: David S. Miller commit 869b5b3888fbd2024af632e3648c00860ba3cca6 Author: Steve Hodgson Date: Thu Jan 29 17:48:10 2009 +0000 sfc: SFT9001: Enable robust link training Enable a firmware option that appears to be necessary for reliable operation. Signed-off-by: Ben Hutchings Signed-off-by: David S. Miller commit a11da890e4c9850411303efcf6514f048ca880ee Author: Alexey Dobriyan Date: Fri Jan 30 13:45:31 2009 -0800 sky2: fix hard hang with netconsoling and iface going up Printing anything over netconsole before hw is up and running is, of course, not going to work. Signed-off-by: Alexey Dobriyan Acked-by: Stephen Hemminger Signed-off-by: David S. Miller commit 8dd2c9e3128a5784a01084b52d5bb7efd4371ac6 Author: Roel Kluin Date: Sat Jan 17 16:06:40 2009 +0100 leds: Fix bounds checking of wm8350->pmic.led Fix bounds checking of wm8350->pmic.led Signed-off-by: Roel Kluin Signed-off-by: Liam Girdwood commit 9bf503e6bec3f2d28298808454eebde031ab5b5b Author: Philipp Zabel Date: Sun Jan 18 14:32:27 2009 +0100 regulator: move bq24022 init back to module_init instead of subsys_initcall This workaround was needed when regulator/ was not linked before both power/ and usb/otg/ in drivers/Makefile. Now that it is even linked before mfd/, this patch makes sure that bq24022 isn't probed before the GPIO expander is set up. Signed-off-by: Philipp Zabel Signed-off-by: Liam Girdwood commit b0a9b5111abf60ef07eade834f480e89004c7920 Author: Thomas Gleixner Date: Sun Jan 25 11:31:36 2009 +0100 hrtimer: prevent negative expiry value after clock_was_set() Impact: prevent false positive WARN_ON() in clockevents_program_event() clock_was_set() changes the base->offset of CLOCK_REALTIME and enforces the reprogramming of the clockevent device to expire timers which are based on CLOCK_REALTIME. If the clock change is large enough then the subtraction of the timer expiry value and base->offset can become negative which triggers the warning in clockevents_program_event(). Check the subtraction result and set a negative value to 0. Signed-off-by: Thomas Gleixner commit 94df7de0289bc2df3d6e85cd2ece52bf42682f45 Author: Sebastien Dugue Date: Mon Dec 1 14:09:07 2008 +0100 hrtimers: allow the hot-unplugging of all cpus Impact: fix CPU hotplug hang on Power6 testbox On architectures that support offlining all cpus (at least powerpc/pseries), hot-unpluging the tick_do_timer_cpu can result in a system hang. This comes from the fact that if the cpu going down happens to be the cpu doing the tick, then as the tick_do_timer_cpu handover happens after the cpu is dead (via the CPU_DEAD notification), we're left without ticks, jiffies are frozen and any task relying on timers (msleep, ...) is stuck. That's particularly the case for the cpu looping in __cpu_die() waiting for the dying cpu to be dead. This patch addresses this by having the tick_do_timer_cpu handover happen earlier during the CPU_DYING notification. For this, a new clockevent notification type is introduced (CLOCK_EVT_NOTIFY_CPU_DYING) which is triggered in hrtimer_cpu_notify(). Signed-off-by: Sebastien Dugue Cc: Signed-off-by: Ingo Molnar commit 7f22391cbe82a80a9f891d8bd10fc28ff248d1e2 Author: Frederic Weisbecker Date: Mon Dec 22 02:24:48 2008 +0100 hrtimers: increase clock min delta threshold while interrupt hanging Impact: avoid timer IRQ hanging slow systems While using the function graph tracer on a virtualized system, the hrtimer_interrupt can hang the system on an infinite loop. This can be caused in several situations: - the hardware is very slow and HZ is set too high - something intrusive is slowing the system down (tracing under emulation) ... and the next clock events to program are always before the current time. This patch implements a reasonable compromise: if such a situation is detected, we share the CPUs time in 1/4 to process the hrtimer interrupts. This is enough to let the system running without serious starvation. It has been successfully tested under VirtualBox with 1000 HZ and 100 HZ with function graph tracer launched. On both cases, the clock events were increased until about 25 ms periodic ticks, which means 40 HZ. So we change a hard to debug hang into a warning message and a system that still manages to limp along. Signed-off-by: Frederic Weisbecker Signed-off-by: Ingo Molnar commit 2d2eca4d11933bd37a4944aae06e6122efffaea8 Author: Manuel Lauss Date: Tue Jan 6 10:34:52 2009 +0100 MIPS: Alchemy: time.c build fix In Linus' current -git the cpumask member is now a pointer. Signed-off-by: Manuel Lauss Signed-off-by: Ralf Baechle commit 0fc6bc0d6e953f6dd80c286c889d8d581e8f8d7a Author: Phil Sutter Date: Thu Jan 22 19:32:43 2009 +0100 MIPS: RB532: Export rb532_gpio_set_func() This kernel symbol provides a way for drivers to switch on alternate function for a certain GPIO pin. Turning it off is done implicitly when changing the GPIO direction, as that would be fixed when using the given pin als alternate function. Signed-off-by: Phil Sutter Signed-off-by: Ralf Baechle commit 3828ee047d3c8e0d0e8e9f4d738bd8593220299a Author: Phil Sutter Date: Thu Jan 22 19:28:50 2009 +0100 MIPS: RB532: Update headers Remove the {set,get}_434_reg() prototypes, as the functions have been removed. Also move the prototypes for {get,set}_latch_u5() to the correct place. Signed-off-by: Phil Sutter Signed-off-by: Ralf Baechle commit 1c4db8e82808a804751be906e8c14bbe0a264a9c Author: Phil Sutter Date: Mon Jan 19 23:42:54 2009 +0100 MIPS: RB532: Simplify dev3 init As rb532_dev3_ctl_res is not used by any platform device, it can be dropped when not used for holding the physical address of the device 3 controller. Also a size of one byte should suffice when ioremapping the physical address mentioned above, as only a single byte is being read from and written to it. Signed-off-by: Phil Sutter Signed-off-by: Ralf Baechle commit 4ca3803f81bca9081f17ef67ffca8b11790f608d Author: Phil Sutter Date: Mon Jan 19 23:42:53 2009 +0100 MIPS: RB532: Remove {get,set}_434_reg() These kernel symbols are unused. Also, since dev3 init has been moved to devices.c, set_434_reg() breaks compiling as it uses dev3. Signed-off-by: Phil Sutter Signed-off-by: Ralf Baechle commit 36f2db4b9c01689b1311d57a6297022d82000185 Author: Phil Sutter Date: Mon Jan 19 23:42:52 2009 +0100 MIPS: RB532: Move dev3 init code to devices.c This code doesn't belong to gpio.c, as it's completely unrelated to GPIO. As dev1 and dev2 init code is in devices.c, it seems to be a more adequate place. Signed-off-by: Phil Sutter Signed-off-by: Ralf Baechle commit 7060886fb745b705bcf189131eb49c50485ba233 Author: Phil Sutter Date: Mon Jan 19 23:42:51 2009 +0100 MIPS: RB532: Fix set_latch_u5() The data to be written is just a byte, so use writeb instead of writel. Also, dev3.base contains the address, not the data so referencing here is wrong. Signed-off-by: Phil Sutter Signed-off-by: Ralf Baechle commit deb1003329b65456c4e6702cd3bcc698d565a11e Author: Phil Sutter Date: Mon Jan 19 23:42:50 2009 +0100 MIPS: RB532: Fix init of rb532_dev3_ctl_res This register just contains the address of the actual resource, so initialisation has to be the same as cf_slot0_res and nand_slot0_res. Signed-off-by: Phil Sutter Signed-off-by: Ralf Baechle commit 94d2cc1b8b2bd2141e141a4f43bce9ab135bd9fd Author: Phil Sutter Date: Thu Jan 15 15:41:44 2009 +0100 MIPS: RB532: Use driver_data instead of platform_data As the korina ethernet driver uses platform_get_drvdata() to extract the driver specific data from the platform device, driver_data has to be used here. Signed-off-by: Phil Sutter Signed-off-by: Ralf Baechle commit 1452fc7d178c37c6463c95c5cc6858c7b7f478c8 Author: Phil Sutter Date: Thu Jan 15 15:38:38 2009 +0100 MIPS: RB532: Detect uart type, add platform device Auto-detection works just fine, so use it instead of specifying the type manually. Also define a platform device for the uart, as suggested by David Daney. Signed-off-by: Phil Sutter Signed-off-by: Ralf Baechle commit 84c2c562c101bd84ea0f796b9838296da1bf859e Author: Phil Sutter Date: Fri Nov 28 20:46:22 2008 +0100 MIPS: RB532: remove useless CF GPIO initialisation As the pata-rb532-cf driver calls gpio_direction_input(), the calls to rb532_gpio_set_func() and rb532_gpio_direction_input() are not needed since the alternate function is automatically being disabled when changing the GPIO pin direction. The later two calls to rb532_gpio_set_{ilevel,istat}() are implicitly being done by the IRQ initialisation of pata-rb532-cf. Signed-off-by: Phil Sutter Signed-off-by: Ralf Baechle commit 33763d571da995913299cd0509425decfa9e4be0 Author: Phil Sutter Date: Fri Nov 28 20:46:09 2008 +0100 MIPS: RB532: Auto disable GPIO alternate function When a driver calls gpio_set_direction_{input,output}(), it obviously doesn't want the alternate function for that pin to be active (as the direction would not matter in that case). This patch ensures alternate function is disabled when the direction is being changed. Signed-off-by: Phil Sutter Signed-off-by: Ralf Baechle commit 4aa0f4d7264bc4f54603de5db1ffcaf8912ddd23 Author: Phil Sutter Date: Fri Nov 28 20:45:10 2008 +0100 MIPS: RB532: Add set_type() function to IRQ struct. Interrupt Group 4 mapps the GPIO pins enabled as interrupt sources; add defines to make this clear when addressing them later in code. The mapped GPIOs support triggering on either level high or low. To achieve this, the set_type() function calls rb532_gpio_set_ilevel() for interrupts of the above mentioned group. As there is no way to alter the triggering characteristics of the other interrupts, accept level triggering on status high only. (This is just a guess; but as the system boots fine and interrupt-driven devices (e.g. serial console) work with no implications, it seems to be right.) To clear a GPIO mapped IRQ, the source has to be cleared (i.e., the interrupt status bit of the corresponding GPIO pin). This is done inside rb532_disable_irq(). After applying these changes I could undo most of my former "fixes" to pata-rb532-cf. Particularly all interrupt handling can be done generically via set_irq_type() as it was before. Signed-off-by: Phil Sutter Signed-off-by: Ralf Baechle commit fb91e2cb7d3d44356bb92411d6d6b7cb51ce156c Author: Phil Sutter Date: Wed Nov 12 00:16:04 2008 +0100 MIPS: RC32434: Define io_map_base for PCI controller The code is rather based on trial-and-error than knowledge. Verified Via Rhine functionality in PIO as well as MMIO mode. [Looks sane -- Ralf] Signed-off-by: Phil Sutter Tested-by: Florian Fainelli Signed-off-by: Ralf Baechle commit 5379a5fdf3cb2b23d00da2a1298167f9a1fb002a Author: Phil Sutter Date: Wed Nov 12 00:09:30 2008 +0100 MIPS: RB532: Fix bit swapping in rb532_set_bit() The algorithm works unconditionally. If bitval is one, the first line is a no op and the second line sets the bit at offset position. Vice versa, if bitval is zero, the first line clears the bit at offset position and the second line is a no op. Signed-off-by: Phil Sutter Signed-off-by: Ralf Baechle commit f839490ab42a471f0b0a4b795df77a1af924fe05 Author: David Daney Date: Mon Jan 5 15:29:14 2009 -0800 MIPS: Use hardware watchpoints on all R1 and R2 CPUs. The previous definition inadvertently omits Octeon which currently is treated as an architecture variant separate from MIPS32 and MIPS64. Signed-off-by: David Daney Signed-off-by: Ralf Baechle commit 8bc6d05b481aa7dc79c81b8ffac0da755e149643 Author: David Daney Date: Mon Jan 5 15:29:58 2009 -0800 MIPS: Read watch registers with interrupts disabled. If a context switch occurred between the watch exception and reading the watch registers, it would be possible for the new process to corrupt their state. Enabling interrupts only after the watch registers are read avoids this race. Signed-off-by: David Daney Signed-off-by: Ralf Baechle commit 7adbedaf4469dcdcd6a1ab9bdeb8ad854d4f9827 Author: David Daney Date: Wed Dec 24 15:44:26 2008 -0800 MIPS: Fix a typo in watchpoint register structure. This fixes the ptrace ABI for watch registers, and should allow 64bit kernels to use the watch register support. Signed-off-by: David Daney Signed-off-by: Ralf Baechle commit 65655b5a94f6fc7e6450e3e07f2687c523c71c08 Author: Atsushi Nemoto Date: Tue Jan 20 23:07:41 2009 +0900 MIPS: TXx9: Add support for TX4939 internal RTC Add platform support to use rtc-tx4939 driver. Signed-off-by: Atsushi Nemoto Signed-off-by: Ralf Baechle commit 42fe7ee31ff904b2419f02864938966c8f0b6edc Author: Ralf Baechle Date: Wed Jan 28 18:48:23 2009 +0000 MIPS: R2: Fix broken installation of cache error handler. Signed-off-by: Ralf Baechle commit 634286f127bef8799cd04799d3e1d5471e8fd91c Author: Ralf Baechle Date: Wed Jan 28 17:48:40 2009 +0000 MIPS: IP27: Switch from DMA_IP27 to DMA_COHERENT The special IP27 DMA code selected by DMA_IP27 has been removed a while ago turning DMA_IP27 into almost a nop. Also fixup the broken logic of its last users memcpy.S and memcpy-inatomic.s. Signed-off-by: Ralf Baechle commit 732f0462d59721764843783d790a613613287b33 Author: Ralf Baechle Date: Wed Jan 28 14:13:37 2009 +0000 MIPS: Add return value checks to user_termio_to_kernel_termios() And while at it, convert all functions from macros to inline functions for sanity. Signed-off-by: Ralf Baechle commit 2d8965156b79dbfed722804c6036537c81699639 Author: Huang Weiyi Date: Thu Jan 15 06:56:46 2009 +0800 MIPS: Octeon: Remove duplicated #includes Signed-off-by: Huang Weiyi Signed-off-by: Ralf Baechle commit 915ec1e216a5b009ba621b1c5b5be49c85685e53 Author: Ralf Baechle Date: Mon Jan 12 00:52:18 2009 +0000 MIPS: atomic_*(): Change type of intermediate variables. This shaves of 1912 bytes of an IP27 defconfig kernel and avoids unexpected overflow behaviour in atomic_sub_if_positive. Apply the same changes to the atomic64_* functions for consistency. Signed-off-by: Ralf Baechle commit c7c1e3846bac1e4b8a8941f6a194812e28b0a519 Author: Ralf Baechle Date: Mon Jan 12 00:09:13 2009 +0000 MIPS: Port "mm: invoke oom-killer from page fault" from UML / x86 Original commit 1c0fe6e3bda0464728c23c8d84aa47567e8b716c. Signed-off-by: Ralf Baechle commit a8ca8b64e3fdfec17679cba0ca5ce6e3ffed092d Author: Ralf Baechle Date: Sun Jan 11 18:44:49 2009 +0000 MIPS: Avoid destructive invalidation on partial cachelines. See discussion e9c3a7c20901051031y528d0d31r18d44c5096c59e0@mail.gmail.com. Signed-off-by: Ralf Baechle commit 012703e0fc9fb1d6cdf778c49f45b796a85ef5bc Author: Ralf Baechle Date: Sun Jan 11 18:27:10 2009 +0000 MIPS: SMTC: Fix build after recent creditial changes. Signed-off-by: Ralf Baechle commit 0e2bedaa394f74fa9f75ee937488c33d90039b5a Author: Steve French Date: Fri Jan 30 21:24:41 2009 +0000 [CIFS] ipv6_addr_equal for address comparison Signed-off-by: Jeff Layton Signed-off-by: Steve French commit 33bfad54b58cf05cfe6678c3ec9235d4bc8db4c2 Author: Linus Torvalds Date: Fri Jan 30 11:37:22 2009 -0800 Allow opportunistic merging of VM_CAN_NONLINEAR areas Commit de33c8db5910cda599899dd431cc30d7c1018cbf ("Fix OOPS in mmap_region() when merging adjacent VM_LOCKED file segments") unified the vma merging of anonymous and file maps to just one place, which simplified the code and fixed a use-after-free bug that could cause an oops. But by doing the merge opportunistically before even having called ->mmap() on the file method, it now compares two different 'vm_flags' values: the pre-mmap() value of the new not-yet-formed vma, and previous mappings of the same file around it. And in doing so, it refused to merge the common file case, which adds a marker to say "I can be made non-linear". This fixes it by just adding a set of flags that don't have to match, because we know they are ok to merge. Currently it's only that single VM_CAN_NONLINEAR flag, but at least conceptually there could be others in the future. Reported-and-acked-by: Hugh Dickins Cc: Lee Schermerhorn Cc: Nick Piggin Cc: Andrew Morton Cc: Greg KH Signed-off-by: Linus Torvalds commit 7cff3608d2553a045b676fa81b0cf54e4f2cc5ce Author: Jaswinder Singh Rajput Date: Fri Jan 30 22:57:38 2009 +0530 headers_check fix: x86, swab.h fix the following 'make headers_check' warnings: usr/include/asm/swab.h:4: include of is preferred over usr/include/asm/swab.h:7: found __[us]{8,16,32,64} type without #include Signed-off-by: Jaswinder Singh Rajput commit 2de548faa78c650bb20c4680ee3a225cca33a45d Author: Jaswinder Singh Rajput Date: Fri Jan 30 22:55:20 2009 +0530 headers_check fix: x86, sigcontext32.h fix the following 'make headers_check' warning: usr/include/asm/sigcontext32.h:20: found __[us]{8,16,32,64} type without #include Signed-off-by: Jaswinder Singh Rajput commit e59afe6a21dce7bb3c63ba4f894a3195ae3d5529 Author: Jaswinder Singh Rajput Date: Fri Jan 30 22:53:49 2009 +0530 headers_check fix: x86, sigcontext.h fix the following 'make headers_check' warnings: usr/include/asm/sigcontext.h:5: include of is preferred over usr/include/asm/sigcontext.h:24: found __[us]{8,16,32,64} type without #include Signed-off-by: Jaswinder Singh Rajput commit 420ab35eef206d147973d26db14b5618868726be Author: Jaswinder Singh Rajput Date: Fri Jan 30 22:52:16 2009 +0530 headers_check fix: x86, ptrace-abi.h fix the following 'make headers_check' warnings: usr/include/asm/ptrace-abi.h:86: include of is preferred over usr/include/asm/ptrace-abi.h:93: found __[us]{8,16,32,64} type without #include Signed-off-by: Jaswinder Singh Rajput commit d122072cc079d299e5191c9cbb6162ba8791624c Author: Jaswinder Singh Rajput Date: Fri Jan 30 22:48:17 2009 +0530 headers_check fix: x86, mtrr.h fix the following 'make headers_check' warning: usr/include/asm/mtrr.h:61: found __[us]{8,16,32,64} type without #include Signed-off-by: Jaswinder Singh Rajput commit 999b697b9d8b15756e65da72c816ef4363a945a5 Author: Jaswinder Singh Rajput Date: Fri Jan 30 22:47:27 2009 +0530 headers_check fix: x86, mce.h fix the following 'make headers_check' warnings: usr/include/asm/mce.h:7: include of is preferred over usr/include/asm/mce.h:29: found __[us]{8,16,32,64} type without #include Signed-off-by: Jaswinder Singh Rajput commit cef3767852a9b1a7ff4a8dfe0969e2d32eb728df Author: Jaswinder Singh Rajput Date: Fri Jan 30 22:46:08 2009 +0530 headers_check fix: x86, kvm.h fix the following 'make headers_check' warnings: usr/include/asm/kvm.h:9: include of is preferred over usr/include/asm/kvm.h:16: found __[us]{8,16,32,64} type without #include Signed-off-by: Jaswinder Singh Rajput commit 999721ca6d0c2540341acb73ac9048cbd6b05d3a Author: Jaswinder Singh Rajput Date: Fri Jan 30 22:44:58 2009 +0530 headers_check fix: x86, e820.h fix the following 'make headers_check' warning: usr/include/asm/e820.h:44: found __[us]{8,16,32,64} type without #include Signed-off-by: Jaswinder Singh Rajput commit 541c94f1d5ac2665fd15f1b827416f8c0b2f55cb Author: Jaswinder Singh Rajput Date: Fri Jan 30 22:40:32 2009 +0530 headers_check fix: linux/rtnetlink.h fix the following 'make headers_check' warning: usr/include/linux/rtnetlink.h:328: found __[us]{8,16,32,64} type without #include Signed-off-by: Jaswinder Singh Rajput commit d5c72d7842c71403bc3d57ca05a8a1f96d81e262 Author: Jaswinder Singh Rajput Date: Fri Jan 30 22:39:17 2009 +0530 headers_check fix: linux/nubus.h fix the following 'make headers_check' warning: usr/include/linux/nubus.h:232: found __[us]{8,16,32,64} type without #include Signed-off-by: Jaswinder Singh Rajput commit de4d3795527b06c67e1333c5662f146b59c97e21 Author: Jaswinder Singh Rajput Date: Fri Jan 30 22:35:17 2009 +0530 headers_check fix: video/uvesafb.h fix the following 'make headers_check' warning: usr/include/video/uvesafb.h:5: found __[us]{8,16,32,64} type without #include Signed-off-by: Jaswinder Singh Rajput commit dab9c5e15e9faaf00e22b5e708dd19c44800c824 Author: Jaswinder Singh Rajput Date: Fri Jan 30 22:34:29 2009 +0530 headers_check fix: video/sisfb.h fix the following 'make headers_check' warnings: usr/include/video/sisfb.h:25: include of is preferred over usr/include/video/sisfb.h:78: found __[us]{8,16,32,64} type without #include Signed-off-by: Jaswinder Singh Rajput commit bb9f113f5ca7d182256dee69bcaebd4c79062305 Author: Jaswinder Singh Rajput Date: Fri Jan 30 22:33:29 2009 +0530 headers_check fix: sound/hdsp.h fix the following 'make headers_check' warning: usr/include/sound/hdsp.h:33: found __[us]{8,16,32,64} type without #include Signed-off-by: Jaswinder Singh Rajput commit 70c2ed65fe4090c9b92512ee1e35dc6625539f90 Author: Jaswinder Singh Rajput Date: Fri Jan 30 22:32:35 2009 +0530 headers_check fix: mtd/inftl-user.h fix the following 'make headers_check' warning: usr/include/mtd/inftl-user.h:61: found __[us]{8,16,32,64} type without #include Signed-off-by: Jaswinder Singh Rajput commit 9a0e0ac21ca2af4715808b97bd600f0aecd87240 Author: Jaswinder Singh Rajput Date: Fri Jan 30 22:31:05 2009 +0530 headers_check fix: linux/virtio_net.h fix the following 'make headers_check' warning: usr/include/linux/virtio_net.h:28: found __[us]{8,16,32,64} type without #include Signed-off-by: Jaswinder Singh Rajput commit 8697325408d9be18fa24346c346b23fa56c3b190 Author: Jaswinder Singh Rajput Date: Fri Jan 30 22:29:33 2009 +0530 headers_check fix: linux/virtio_console.h fix the following 'make headers_check' warning: usr/include/linux/virtio_console.h:15: found __[us]{8,16,32,64} type without #include Signed-off-by: Jaswinder Singh Rajput commit 982f8184f9a9251ba4e5c6d79ec32d25c0ad3cc8 Author: Jaswinder Singh Rajput Date: Fri Jan 30 22:27:58 2009 +0530 headers_check fix: linux/virtio_blk.h fix the following 'make headers_check' warning: usr/include/linux/virtio_blk.h:21: found __[us]{8,16,32,64} type without #include Signed-off-by: Jaswinder Singh Rajput commit 98be96b85398499212bc77ae3076a69e20368428 Author: Jaswinder Singh Rajput Date: Fri Jan 30 22:26:01 2009 +0530 headers_check fix: linux/videodev.h fix the following 'make headers_check' warning: usr/include/linux/videodev.h:53: found __[us]{8,16,32,64} type without #include Signed-off-by: Jaswinder Singh Rajput commit a4c1d7c8c61969667a853d08b039507669463807 Author: Jaswinder Singh Rajput Date: Fri Jan 30 22:24:09 2009 +0530 headers_check fix: linux/video_encoder.h fix the following 'make headers_check' warning: usr/include/linux/video_encoder.h:5: found __[us]{8,16,32,64} type without #include Signed-off-by: Jaswinder Singh Rajput commit 8b1e3a2f7f84484a8c208671adac39eb148c7d61 Author: Jaswinder Singh Rajput Date: Fri Jan 30 22:22:51 2009 +0530 headers_check fix: linux/video_decoder.h fix the following 'make headers_check' warning: usr/include/linux/video_decoder.h:7: found __[us]{8,16,32,64} type without #include Signed-off-by: Jaswinder Singh Rajput commit 448314fc968252b0b95f74bbe63fdcaf41e6413d Author: Jaswinder Singh Rajput Date: Fri Jan 30 22:21:19 2009 +0530 headers_check fix: linux/taskstats.h fix the following 'make headers_check' warning: usr/include/linux/taskstats.h:44: found __[us]{8,16,32,64} type without #include Signed-off-by: Jaswinder Singh Rajput commit 6b6bcd0ed953ae0ed73af4759788fb8384bbaeed Author: Jaswinder Singh Rajput Date: Fri Jan 30 22:20:04 2009 +0530 headers_check fix: linux/synclink.h fix the following 'make headers_check' warning: usr/include/linux/synclink.h:209: found __[us]{8,16,32,64} type without #include Signed-off-by: Jaswinder Singh Rajput commit e6faa002be269233bf1e8961e7e0a79ca3f2db8b Author: Jaswinder Singh Rajput Date: Fri Jan 30 22:17:53 2009 +0530 headers_check fix: linux/sound.h fix the following 'make headers_check' warnings: usr/include/linux/sound.h:33: extern's make no sense in userspace usr/include/linux/sound.h:34: extern's make no sense in userspace usr/include/linux/sound.h:35: extern's make no sense in userspace usr/include/linux/sound.h:36: extern's make no sense in userspace usr/include/linux/sound.h:37: extern's make no sense in userspace usr/include/linux/sound.h:39: extern's make no sense in userspace usr/include/linux/sound.h:40: extern's make no sense in userspace usr/include/linux/sound.h:41: extern's make no sense in userspace usr/include/linux/sound.h:42: extern's make no sense in userspace Signed-off-by: Jaswinder Singh Rajput commit a788fd53aec9a439f6b8bf57888c30aea1176e1b Author: Jaswinder Singh Rajput Date: Fri Jan 30 22:14:02 2009 +0530 headers_check fix: linux/signalfd.h fix the following 'make headers_check' warning: usr/include/linux/signalfd.h:19: found __[us]{8,16,32,64} type without #include Signed-off-by: Jaswinder Singh Rajput commit 68622c61dc7971382f5d69cd5d881e618ea30414 Author: Jaswinder Singh Rajput Date: Fri Jan 30 22:11:32 2009 +0530 headers_check fix: linux/random.h fix the following 'make headers_check' warning: usr/include/linux/random.h:39: found __[us]{8,16,32,64} type without #include Signed-off-by: Jaswinder Singh Rajput commit 7260a91666a3149181e7b78bbf73beebbb04f8fa Author: Jaswinder Singh Rajput Date: Fri Jan 30 22:09:17 2009 +0530 headers_check fix: linux/ppp_defs.h fix the following 'make headers_check' warning: usr/include/linux/ppp_defs.h:50: found __[us]{8,16,32,64} type without #include Signed-off-by: Jaswinder Singh Rajput commit b8adfd3c753b47c47f626e032da7999530c316f0 Author: Jaswinder Singh Rajput Date: Fri Jan 30 22:07:05 2009 +0530 headers_check fix: linux/pkt_sched.h fix the following 'make headers_check' warning: usr/include/linux/pkt_sched.h:32: found __[us]{8,16,32,64} type without #include Signed-off-by: Jaswinder Singh Rajput commit ed307444d8f276d7052400c47d9f4c5393997c42 Author: Jaswinder Singh Rajput Date: Fri Jan 30 22:05:32 2009 +0530 headers_check fix: linux/pkt_cls.h fix the following 'make headers_check' warning: linux/pkt_cls.h:122: found __[us]{8,16,32,64} type without #include Signed-off-by: Jaswinder Singh Rajput commit 06f43adba62f99de101616ffc5d0564aab237111 Author: Jaswinder Singh Rajput Date: Fri Jan 30 22:03:25 2009 +0530 headers_check fix: linux/phonet.h fix the following 'make headers_check' warning: usr/include/linux/phonet.h:50: found __[us]{8,16,32,64} type without #include Signed-off-by: Jaswinder Singh Rajput commit a81184c1f8cf8589a00894c20422982defc3f056 Author: Jaswinder Singh Rajput Date: Fri Jan 30 21:59:48 2009 +0530 headers_check fix: linux/nfs_idmap.h fix the following 'make headers_check' warning: usr/include/linux/nfs_idmap.h:55: found __[us]{8,16,32,64} type without #include Signed-off-by: Jaswinder Singh Rajput commit ee79a6415f911801eb7804704ac130088281b2d8 Author: Jaswinder Singh Rajput Date: Fri Jan 30 21:58:19 2009 +0530 headers_check fix: linux/neighbour.h fix the following 'make headers_check' warning: usr/include/linux/neighbour.h:8: found __[us]{8,16,32,64} type without #include Signed-off-by: Jaswinder Singh Rajput commit 8ef342021a55e4237e593c7f6304d0caa7bf1232 Author: Jaswinder Singh Rajput Date: Fri Jan 30 21:56:32 2009 +0530 headers_check fix: linux/msdos_fs.h fix the following 'make headers_check' warning: usr/include/linux/msdos_fs.h:100: found __[us]{8,16,32,64} type without #include Signed-off-by: Jaswinder Singh Rajput commit 4b7ae34277608a30346d076beb44cbc466aa73e5 Author: Jaswinder Singh Rajput Date: Fri Jan 30 21:54:23 2009 +0530 headers_check fix: linux/minix_fs.h fix the following 'make headers_check' warning: usr/include/linux/minix_fs.h:34: found __[us]{8,16,32,64} type without #include Signed-off-by: Jaswinder Singh Rajput commit df9c04ed3ff455aa5cb7c4bcddf4544fe54cfa33 Author: Jaswinder Singh Rajput Date: Fri Jan 30 21:50:39 2009 +0530 headers_check fix: linux/irda.h fix the following 'make headers_check' warning: usr/include/linux/irda.h:127: found __[us]{8,16,32,64} type without #include Signed-off-by: Jaswinder Singh Rajput commit d6d20f54847e27ed886e8285c208368ef3d42abb Author: Jaswinder Singh Rajput Date: Fri Jan 30 21:49:07 2009 +0530 headers_check fix: linux/ipx.h fix the following 'make headers_check' warning: usr/include/linux/ipx.h:13: found __[us]{8,16,32,64} type without #include Signed-off-by: Jaswinder Singh Rajput commit e5144de521417b0f0eea74ece89acd437ecd32c9 Author: Jaswinder Singh Rajput Date: Fri Jan 30 21:47:52 2009 +0530 headers_check fix: linux/ipv6_route.h fix the following 'make headers_check' warning: usr/include/linux/ipv6_route.h:42: found __[us]{8,16,32,64} type without #include Signed-off-by: Jaswinder Singh Rajput commit 5c6aa2badf1b97ead5ffec8094f0c6236e0c07c5 Author: Jaswinder Singh Rajput Date: Fri Jan 30 21:46:43 2009 +0530 headers_check fix: linux/ipv6.h fix the following 'make headers_check' warning: usr/include/linux/ipv6.h:26: found __[us]{8,16,32,64} type without #include Signed-off-by: Jaswinder Singh Rajput commit 217a2291570b1e4c28cb6e4cd099707e456a09b8 Author: Jaswinder Singh Rajput Date: Fri Jan 30 21:44:19 2009 +0530 headers_check fix: linux/ip6_tunnel.h fix the following 'make headers_check' warning: include/linux/ip6_tunnel.h:21: found __[us]{8,16,32,64} type without #include Signed-off-by: Jaswinder Singh Rajput commit 2df005b75ab910f789f099f81bb70b3aa37203a7 Author: Jaswinder Singh Rajput Date: Fri Jan 30 21:42:47 2009 +0530 headers_check fix: linux/inet_diag.h fix the following 'make headers_check' warning: usr/include/linux/inet_diag.h:16: found __[us]{8,16,32,64} type without #include Signed-off-by: Jaswinder Singh Rajput commit de8b0bcafabfb4400aa028282293ce7d52307433 Author: Jaswinder Singh Rajput Date: Fri Jan 30 21:36:04 2009 +0530 headers_check fix: linux/igmp.h fix the following 'make headers_check' warning: usr/include/linux/igmp.h:31: found __[us]{8,16,32,64} type without #include Signed-off-by: Jaswinder Singh Rajput commit 65863dbc0833e06b905679f61450f05a68bae4c2 Author: Jaswinder Singh Rajput Date: Fri Jan 30 21:34:36 2009 +0530 headers_check fix: linux/if_tr.h fix the following 'make headers_check' warning: usr/include/linux/if_tr.h:37: found __[us]{8,16,32,64} type without #include Signed-off-by: Jaswinder Singh Rajput commit 84ad40ebbaeb22fc665b1f307d32128c46e8d42d Author: Jaswinder Singh Rajput Date: Fri Jan 30 21:32:52 2009 +0530 headers_check fix: linux/if_strip.h fix the following 'make headers_check' warning: usr/include/linux/if_strip.h:22: found __[us]{8,16,32,64} type without #include Signed-off-by: Jaswinder Singh Rajput commit 0fe5a8fe0c145a6ff8f3daacd32f1824d0c021a9 Author: Jaswinder Singh Rajput Date: Fri Jan 30 21:31:29 2009 +0530 headers_check fix: linux/if_ppp.h fix the following 'make headers_check' warning: usr/include/linux/if_ppp.h:96: found __[us]{8,16,32,64} type without #include Signed-off-by: Jaswinder Singh Rajput commit 85db53102dbf0816e9c5426c9322a64759e7166b Author: Jaswinder Singh Rajput Date: Fri Jan 30 21:29:20 2009 +0530 headers_check fix: linux/if_link.h fix the following 'make headers_check' warning: usr/include/linux/if_link.h:9: found __[us]{8,16,32,64} type without #include Signed-off-by: Jaswinder Singh Rajput commit b06e936939931c5acb1ca5dfe1d02b4d2f7cb11f Author: Jaswinder Singh Rajput Date: Fri Jan 30 21:27:59 2009 +0530 headers_check fix: linux/if_hippi.h fix the following 'make headers_check' warning: usr/include/linux/if_hippi.h:82: found __[us]{8,16,32,64} type without #include Signed-off-by: Jaswinder Singh Rajput commit ba7161387e82fbbdc4b49533aa1345bb7befda13 Author: Jaswinder Singh Rajput Date: Fri Jan 30 21:26:35 2009 +0530 headers_check fix: linux/if_fc.h fix the following 'make headers_check' warning: usr/include/linux/if_fc.h:37: found __[us]{8,16,32,64} type without #include Signed-off-by: Jaswinder Singh Rajput commit 1759cb994c3ff51e69268379da1cdd96048a8268 Author: Jaswinder Singh Rajput Date: Fri Jan 30 21:25:00 2009 +0530 headers_check fix: linux/if_addrlabel.h fix the following 'make headers_check' warning: usr/include/linux/if_addrlabel.h:15: found __[us]{8,16,32,64} type without #include Signed-off-by: Jaswinder Singh Rajput commit 680ee0bd2a9625965812c1209476168fd0704a00 Author: Jaswinder Singh Rajput Date: Fri Jan 30 21:21:01 2009 +0530 headers_check fix: linux/if_addr.h fix the following 'make headers_check' warning: usr/include/linux/if_addr.h:8: found __[us]{8,16,32,64} type without #include Signed-off-by: Jaswinder Singh Rajput commit 1cc49ae2e6d241e5cfc2c52e3329f5ef8dd42f18 Author: Jaswinder Singh Rajput Date: Fri Jan 30 21:18:37 2009 +0530 headers_check fix: linux/icmpv6.h fix the following 'make headers_check' warning: usr/include/linux/icmpv6.h:8: found __[us]{8,16,32,64} type without #include Signed-off-by: Jaswinder Singh Rajput commit c244ae5b16dc31b5bea67e6d6e9d6ff654aee781 Author: Jaswinder Singh Rajput Date: Fri Jan 30 21:17:06 2009 +0530 headers_check fix: linux/hiddev.h fix the following 'make headers_check' warning: usr/include/linux/hiddev.h:40: found __[us]{8,16,32,64} type without #include Signed-off-by: Jaswinder Singh Rajput commit b08ead0527bcfdcab39a347b531701289485b484 Author: Jaswinder Singh Rajput Date: Fri Jan 30 21:15:34 2009 +0530 headers_check fix: linux/hid.h fix the following 'make headers_check' warnings: usr/include/linux/hid.h:69: extern's make no sense in userspace usr/include/linux/hid.h:76: extern's make no sense in userspace Signed-off-by: Jaswinder Singh Rajput commit 237416fe05067237f0bcc6370d84c09b52fb776a Author: Jaswinder Singh Rajput Date: Fri Jan 30 21:12:38 2009 +0530 headers_check fix: linux/gfs2_ondisk.h fix the following 'make headers_check' warning: usr/include/linux/gfs2_ondisk.h:109: found __[us]{8,16,32,64} type without #include Signed-off-by: Jaswinder Singh Rajput commit 985f302cb42e18912c88a3d2f9d9008844045ee3 Author: Jaswinder Singh Rajput Date: Fri Jan 30 21:10:52 2009 +0530 headers_check fix: linux/genetlink.h fix the following 'make headers_check' warning: usr/include/linux/genetlink.h:12: found __[us]{8,16,32,64} type without #include Signed-off-by: Jaswinder Singh Rajput commit 93c1c0e310b56acbd366a43b15260a1775481f24 Author: Jaswinder Singh Rajput Date: Fri Jan 30 21:09:18 2009 +0530 headers_check fix: linux/errqueue.h fix the following 'make headers_check' warning: usr/include/linux/errqueue.h:6: found __[us]{8,16,32,64} type without #include Signed-off-by: Jaswinder Singh Rajput commit f4aa1c30255278b7b50a1cd273c7b4a46f099a90 Author: Jaswinder Singh Rajput Date: Fri Jan 30 21:05:50 2009 +0530 headers_check fix: linux/elf.h fix the following 'make headers_check' warnings: usr/include/linux/elf.h:379: extern's make no sense in userspace usr/include/linux/elf.h:387: extern's make no sense in userspace usr/include/linux/elf.h:401: extern's make no sense in userspace usr/include/linux/elf.h:402: extern's make no sense in userspace Signed-off-by: Jaswinder Singh Rajput commit 177a858ff8d71a8e7f8b0ef53ff49441e29c8fb1 Author: Jaswinder Singh Rajput Date: Fri Jan 30 21:04:44 2009 +0530 headers_check fix: linux/elf-fdpic.h fix the following 'make headers_check' warning: usr/include/linux/elf-fdpic.h:62: extern's make no sense in userspace Signed-off-by: Jaswinder Singh Rajput commit bd71b5f734c66ad0134e308036b13d122907b8c6 Author: Jaswinder Singh Rajput Date: Fri Jan 30 21:01:11 2009 +0530 headers_check fix: linux/efs_fs_sb.h fix the following 'make headers_check' warning: usr/include/linux/efs_fs_sb.h:49: found __[us]{8,16,32,64} type without #include Signed-off-by: Jaswinder Singh Rajput commit 4144147081b9d08e69055a780888fcbb7cfcbb8e Author: Jaswinder Singh Rajput Date: Fri Jan 30 20:54:27 2009 +0530 headers_check fix: linux/edd.h fix the following 'make headers_check' warning: usr/include/linux/edd.h:70: found __[us]{8,16,32,64} type without #include Signed-off-by: Jaswinder Singh Rajput commit 57d1780fab89d3736de0d24189129c17178448f0 Author: Jaswinder Singh Rajput Date: Fri Jan 30 20:52:54 2009 +0530 headers_check fix: linux/dn.h fix the following 'make headers_check' warning: usr/include/linux/dn.h:75: found __[us]{8,16,32,64} type without #include Signed-off-by: Jaswinder Singh Rajput commit 37eb1f4c3320ed505fbe59a916635b2342c740e4 Author: Jaswinder Singh Rajput Date: Fri Jan 30 20:51:30 2009 +0530 headers_check fix: linux/dlm_plock.h fix the following 'make headers_check' warning: usr/include/linux/dlm_plock.h:25: found __[us]{8,16,32,64} type without #include Signed-off-by: Jaswinder Singh Rajput commit 59e4cf19ede2d2725c1b336707c1077afdd3cf85 Author: Jaswinder Singh Rajput Date: Fri Jan 30 20:43:31 2009 +0530 headers_check fix: linux/cgroupstats.h fix the following 'make headers_check' warning: usr/include/linux/cgroupstats.h:31: found __[us]{8,16,32,64} type without #include Signed-off-by: Jaswinder Singh Rajput commit 960066a919f1db57817df6d02e72b01542f1deed Author: Jaswinder Singh Rajput Date: Fri Jan 30 20:41:51 2009 +0530 headers_check fix: linux/cdrom.h fix the following 'make headers_check' warning: usr/include/linux/cdrom.h:155: found __[us]{8,16,32,64} type without #include Signed-off-by: Jaswinder Singh Rajput commit 9fa91d99bfdd9582e43b6b9ab97678c51373c4ae Author: Jaswinder Singh Rajput Date: Fri Jan 30 20:39:30 2009 +0530 headers_check fix: linux/capability.h fix the following 'make headers_check' warning: usr/include/linux/capability.h:73: extern's make no sense in userspace Signed-off-by: Jaswinder Singh Rajput commit 4502b80e44f1fc9af33f66053c6c99ae9dba32a6 Author: Jaswinder Singh Rajput Date: Fri Jan 30 20:36:52 2009 +0530 headers_check fix: linux/blktrace_api.h fix the following 'make headers_check' warning: usr/include/linux/blktrace_api.h:96: found __[us]{8,16,32,64} type without #include Signed-off-by: Jaswinder Singh Rajput commit 1da9ebd5abb2e960c4ca4d49f7587e6c76b16ac0 Author: Jaswinder Singh Rajput Date: Fri Jan 30 20:34:15 2009 +0530 headers_check fix: linux/bfs_fs.h fix the following 'make headers_check' warning: usr/include/linux/bfs_fs.h:24: found __[us]{8,16,32,64} type without #include Signed-off-by: Jaswinder Singh Rajput commit 5d461bfebe4be9ae8d25d4570d4eaa415ca76f0f Author: Jaswinder Singh Rajput Date: Fri Jan 30 20:31:19 2009 +0530 headers_check fix: linux/auto_fs4.h fix the following 'make headers_check' warning: usr/include/linux/auto_fs4.h:132: found __[us]{8,16,32,64} type without #include Signed-off-by: Jaswinder Singh Rajput commit f757f603f7d52254120cbfcd967f67f663264c64 Author: Jaswinder Singh Rajput Date: Fri Jan 30 20:29:11 2009 +0530 headers_check fix: linux/atmbr2684.h fix the following 'make headers_check' warning: usr/include/linux/atmbr2684.h:88: found __[us]{8,16,32,64} type without #include Signed-off-by: Jaswinder Singh Rajput commit 85c09569e563cbb9376f10da20ada42107dfef98 Author: Jaswinder Singh Rajput Date: Fri Jan 30 20:26:25 2009 +0530 headers_check fix: linux/atalk.h fix the following 'make headers_check' warning: usr/include/linux/atalk.h:15: found __[us]{8,16,32,64} type without #include Signed-off-by: Jaswinder Singh Rajput commit bd247b348aaa9f28a53a64df06c69d6f40ff2280 Author: Jaswinder Singh Rajput Date: Fri Jan 30 20:20:10 2009 +0530 headers_check fix: linux/aio_abi.h fix the following 'make headers_check' warning: usr/include/linux/aio_abi.h:58: found __[us]{8,16,32,64} type without #include Signed-off-by: Jaswinder Singh Rajput commit 4c866d444078d931579c50c9ce3133709390287b Author: Jaswinder Singh Rajput Date: Fri Jan 30 20:16:33 2009 +0530 headers_check fix: usb/gadgetfs.h fix the following 'make headers_check' warning: usr/include/linux/usb/gadgetfs.h:21: include of is preferred over Signed-off-by: Jaswinder Singh Rajput commit d8151585690d824ac5b60a94ef86f8bfd61478fa Author: Jaswinder Singh Rajput Date: Fri Jan 30 20:15:47 2009 +0530 headers_check fix: usb/cdc.h fix the following 'make headers_check' warning: usr/include/linux/usb/cdc.h:50: found __[us]{8,16,32,64} type without #include Signed-off-by: Jaswinder Singh Rajput commit 30f410a6d372f067df3d02e3db328720bf421c81 Author: Jaswinder Singh Rajput Date: Fri Jan 30 20:14:36 2009 +0530 headers_check fix: tc_ematch/tc_em_text.h fix the following 'make headers_check' warning: usr/include/linux/tc_ematch/tc_em_text.h:11: found __[us]{8,16,32,64} type without #include Signed-off-by: Jaswinder Singh Rajput commit ac836c6f1b17f674e35a7e2784541bb8ab0bce38 Author: Jaswinder Singh Rajput Date: Fri Jan 30 20:13:41 2009 +0530 headers_check fix: tc_ematch/tc_em_nbyte.h fix the following 'make headers_check' warning: usr/include/linux/tc_ematch/tc_em_nbyte.h:8: found __[us]{8,16,32,64} type without #include Signed-off-by: Jaswinder Singh Rajput commit 9976007a13e67b973f94c8d472ed615ac4cf8078 Author: Jaswinder Singh Rajput Date: Fri Jan 30 20:12:59 2009 +0530 headers_check fix: tc_ematch/tc_em_meta.h fix the following 'make headers_check' warning: usr/include/linux/tc_ematch/tc_em_meta.h:18: found __[us]{8,16,32,64} type without #include Signed-off-by: Jaswinder Singh Rajput commit ba3a51e3b899c1bd34c18f84a1c6f7e5f99be850 Author: Jaswinder Singh Rajput Date: Fri Jan 30 20:12:01 2009 +0530 headers_check fix: tc_ematch/tc_em_cmp.h fix the following 'make headers_check' warning: usr/include/linux/tc_ematch/tc_em_cmp.h:8: found __[us]{8,16,32,64} type without #include Signed-off-by: Jaswinder Singh Rajput commit 5dbbf3bcae2f6b5dee1c33b3eeced00bcb6c4f71 Author: Jaswinder Singh Rajput Date: Fri Jan 30 20:11:22 2009 +0530 headers_check fix: tc_act/tc_pedit.h fix the following 'make headers_check' warning: usr/include/linux/tc_act/tc_pedit.h:19: found __[us]{8,16,32,64} type without #include Signed-off-by: Jaswinder Singh Rajput commit 9c536d275823b8a6281894f4f8c2687f60578253 Author: Jaswinder Singh Rajput Date: Fri Jan 30 20:10:44 2009 +0530 headers_check fix: tc_act/tc_mirred.h fix the following 'make headers_check' warning: usr/include/linux/tc_act/tc_mirred.h:16: found __[us]{8,16,32,64} type without #include Signed-off-by: Jaswinder Singh Rajput commit 2d594c0c8aa46beb21be1c5c2b7141f89d206313 Author: Jaswinder Singh Rajput Date: Fri Jan 30 20:10:05 2009 +0530 headers_check fix: tc_act/tc_gact.h fix the following 'make headers_check' warning: usr/include/linux/tc_act/tc_gact.h:19: found __[us]{8,16,32,64} type without #include Signed-off-by: Jaswinder Singh Rajput commit 550e978aa52e2ac3c493e8a0b36b368ade6dd2b4 Author: Jaswinder Singh Rajput Date: Fri Jan 30 20:07:35 2009 +0530 headers_check fix: spi/spidev.h fix the following 'make headers_check' warning: usr/include/linux/spi/spidev.h:83: found __[us]{8,16,32,64} type without #include Signed-off-by: Jaswinder Singh Rajput commit bcf74582af3feca80ec96cc21d0a26c938d1863e Author: Jaswinder Singh Rajput Date: Fri Jan 30 20:06:44 2009 +0530 headers_check fix: raid/md_p.h fix the following 'make headers_check' warning: usr/include/linux/raid/md_p.h:85: found __[us]{8,16,32,64} type without #include Signed-off-by: Jaswinder Singh Rajput commit 03cf1e0c3b4ee4ef51dc7eb197a4d098ad4873af Author: Jaswinder Singh Rajput Date: Fri Jan 30 20:05:27 2009 +0530 headers_check fix: nfsd/syscall.h fix the following 'make headers_check' warnings: usr/include/linux/nfsd/syscall.h:12: include of is preferred over usr/include/linux/nfsd/syscall.h:104: found __[us]{8,16,32,64} type without #include Signed-off-by: Jaswinder Singh Rajput commit d7240b988017521ebf89edfadd42c0942f166850 Author: Steven Rostedt Date: Thu Jan 29 10:08:01 2009 -0500 generic-ipi: use per cpu data for single cpu ipi calls The smp_call_function can be passed a wait parameter telling it to wait for all the functions running on other CPUs to complete before returning, or to return without waiting. Unfortunately, this is currently just a suggestion and not manditory. That is, the smp_call_function can decide not to return and wait instead. The reason for this is because it uses kmalloc to allocate storage to send to the called CPU and that CPU will free it when it is done. But if we fail to allocate the storage, the stack is used instead. This means we must wait for the called CPU to finish before continuing. Unfortunatly, some callers do no abide by this hint and act as if the non-wait option is mandatory. The MTRR code for instance will deadlock if the smp_call_function is set to wait. This is because the smp_call_function will wait for the other CPUs to finish their called functions, but those functions are waiting on the caller to continue. This patch changes the generic smp_call_function code to use per cpu variables if the allocation of the data fails for a single CPU call. The smp_call_function_many will fall back to the smp_call_function_single if it fails its alloc. The smp_call_function_single is modified to not force the wait state. Since we now are using a single data per cpu we must synchronize the callers to prevent a second caller modifying the data before the first called IPI functions complete. To do so, I added a flag to the call_single_data called CSD_FLAG_LOCK. When the single CPU is called (which can be called when a many call fails an alloc), we set the LOCK bit on this per cpu data. When the caller finishes it clears the LOCK bit. The caller must wait till the LOCK bit is cleared before setting it. When it is cleared, there is no IPI function using it. Signed-off-by: Steven Rostedt Signed-off-by: Peter Zijlstra Acked-by: Jens Axboe Acked-by: Linus Torvalds Signed-off-by: Ingo Molnar commit c01a25e7cf6dcb0fa69c155706d5dd1e76e53796 Merge: ae704e9 b9ec63f Author: Linus Torvalds Date: Fri Jan 30 08:54:29 2009 -0800 Merge branch 'for_linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tytso/ext4 * 'for_linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tytso/ext4: ext4: Remove bogus BUG() check in ext4_bmap() ext4: Fix building with EXT4FS_DEBUG ext4: Initialize the new group descriptor when resizing the filesystem ext4: Fix ext4_free_blocks() w/o a journal when files have indirect blocks jbd2: On a __journal_expect() assertion failure printk "JBD2", not "EXT3-fs" ext3: Add sanity check to make_indexed_dir ext4: Add sanity check to make_indexed_dir ext4: only use i_size_high for regular files ext4: fix wrong use of do_div commit ae704e9f92f87b12c5938b07245792857c7c9c14 Merge: dbeb170 3a9a3f6 Author: Linus Torvalds Date: Fri Jan 30 08:46:42 2009 -0800 Merge branch 'for-linus' of git://git.kernel.dk/linux-2.6-block * 'for-linus' of git://git.kernel.dk/linux-2.6-block: cfq-iosched: Allow RT requests to pre-empt ongoing BE timeslice block: add sysfs file for controlling io stats accounting Mark mandatory elevator functions in the biodoc.txt include/linux: Add bsg.h to the Kernel exported headers block: silently error an unsupported barrier bio block: Fix documentation for blkdev_issue_flush() block: add bio_rw_flagged() for testing bio->bi_rw block: seperate bio/request unplug and sync bits block: export SSD/non-rotational queue flag through sysfs Fix small typo in bio.h's documentation block: get rid of the manual directory counting in blktrace block: Allow empty integrity profile block: Remove obsolete BUG_ON block: Don't verify integrity metadata on read error commit dbeb17016e4d0affccfa07f4e8f61feac75c5a18 Merge: 0461ec5 f99ec06 Author: Linus Torvalds Date: Fri Jan 30 08:41:36 2009 -0800 Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-2.6 * git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-2.6: (29 commits) tulip: fix 21142 with 10Mbps without negotiation drivers/net/skfp: if !capable(CAP_NET_ADMIN): inverted logic gianfar: Fix Wake-on-LAN support smsc911x: timeout reaches -1 smsc9420: fix interrupt signalling test failures ucc_geth: Change uec phy id to the same format as gianfar's wimax: fix build issue when debugfs is disabled netxen: fix memory leak in drivers/net/netxen_nic_init.c tun: Add some missing TUN compat ioctl translations. ipv4: fix infinite retry loop in IP-Config net: update documentation ip aliases net: Fix OOPS in skb_seq_read(). net: Fix frag_list handling in skb_seq_read netxen: revert jumbo ringsize ath5k: fix locking in ath5k_config cfg80211: print correct intersected regulatory domain cfg80211: Fix sanity check on 5 GHz when processing country IE iwlwifi: fix kernel oops when ucode DMA memory allocation failure rtl8187: Fix error in setting OFDM power settings for RTL8187L mac80211: remove Michael Wu as maintainer ... commit 0461ec5bc7745b89a8ab67ba0ea497abd58a6301 Author: Paul Larson Date: Fri Jan 30 10:21:49 2009 -0600 Add enable_ms to jsm driver This fixes a crash observed when non-existant enable_ms function is called for jsm driver. Signed-off-by: Scott Kilau Signed-off-by: Paul Larson Signed-off-by: Linus Torvalds commit 34df9f69a4e298e2e8b939d8a7cc0d55846ba544 Author: Grant Likely Date: Fri Jan 30 08:23:33 2009 -0700 powerpc/5200: update device tree binding documentation This patch updates the mpc5200 binding documentation to match actual usage conventions, to remove incorrect information, and to remove topics which are more thoroughly described elsewhere. Signed-off-by: Grant Likely Reviewed-by: Wolfram Sang commit 42de55cb3b332e1430509a343b082731d7972b50 Author: Takashi Iwai Date: Fri Jan 30 15:49:58 2009 +0100 ALSA: hda - Add quirk for another HP dv5 model Added model=hp-dv5 for another HP dv5 model with AMD chip (103c:3600) Reference: kernel bug#12440 http://bugzilla.kernel.org/show_bug.cgi?id=12440 Signed-off-by: Takashi Iwai commit 4ab0a9409af5fad74ad1fc9e46d5a8b460f353e9 Author: Rusty Russell Date: Sat Jan 10 21:58:09 2009 -0800 cpumask: convert lib/smp_processor_id to new cpumask ops Impact: fix debug_smp_processor_id() for CONFIG_CPUMASK_OFFSTACK=y The scheduler now uses the new cpumask API, which deals up to nr_cpumask_bits, whereas the API used NR_CPUS bits. If CONFIG_CPUMASK_OFFSTACK=y these two are not equal, so the top bits are undefined. Leading to bug 12518 "BUG: using smp_processor_id() in preemptible [00000000] code: dellWirelessCtl/..." The fix is simple: use the modern API in the check. Signed-off-by: Rusty Russell Signed-off-by: Mike Travis Signed-off-by: Ingo Molnar commit 9e87b1e53f3c72c1196dc22cb359b5d6188a3729 Author: Jaswinder Singh Rajput Date: Fri Jan 30 20:04:03 2009 +0530 headers_check fix: nfsd/nfsfh.h fix the following 'make headers_check' warnings: usr/include/linux/nfsd/nfsfh.h:17: include of is preferred over usr/include/linux/nfsd/nfsfh.h:28: found __[us]{8,16,32,64} type without #include Signed-off-by: Jaswinder Singh Rajput commit 3187cedf158687432cdf152eeee205f7b149f4ef Author: Jaswinder Singh Rajput Date: Fri Jan 30 20:03:06 2009 +0530 headers_check fix: nfsd/export.h fix the following 'make headers_check' warning: usr/include/linux/nfsd/export.h:13: include of is preferred over Signed-off-by: Jaswinder Singh Rajput commit 9df27bab62e60d1f786abd0599af4a5e3192a784 Author: Jaswinder Singh Rajput Date: Fri Jan 30 20:00:47 2009 +0530 headers_check fix: netfilter/xt_conntrack.h fix the following 'make headers_check' warning: usr/include/linux/netfilter/xt_conntrack.h:40: found __[us]{8,16,32,64} type without #include Signed-off-by: Jaswinder Singh Rajput commit b852d36b86902abb272b0f2dd7a56dd2d17ea88c Author: Jaswinder Singh Rajput Date: Fri Jan 30 19:59:53 2009 +0530 headers_check fix: dvb/video.h fix the following 'make headers_check' warnings: usr/include/linux/dvb/video.h:29: include of is preferred over usr/include/linux/dvb/video.h:102: found __[us]{8,16,32,64} type without #include Signed-off-by: Jaswinder Singh Rajput commit 8996be9de98a9362a3192b866dd8ab9930e28ad9 Author: Jaswinder Singh Rajput Date: Fri Jan 30 19:58:00 2009 +0530 headers_check fix: dvb/net.h fix the following 'make headers_check' warnings: usr/include/linux/dvb/net.h:27: include of is preferred over usr/include/linux/dvb/net.h:31: found __[us]{8,16,32,64} type without #include Signed-off-by: Jaswinder Singh Rajput commit de189f078ee4ae74944e6827dff184a3ef1fc89b Author: Jaswinder Singh Rajput Date: Fri Jan 30 19:56:41 2009 +0530 headers_check fix: dvb/frontend.h fix the following 'make headers_check' warnings: usr/include/linux/dvb/frontend.h:29: include of is preferred over usr/include/linux/dvb/frontend.h:76: found __[us]{8,16,32,64} type without #include Signed-off-by: Jaswinder Singh Rajput commit c86629c855800071314810881d1d2fb226ca9ec9 Author: Jaswinder Singh Rajput Date: Fri Jan 30 19:55:32 2009 +0530 headers_check fix: dvb/dmx.h fix the following 'make headers_check' warnings: usr/include/linux/dvb/dmx.h:27: include of is preferred over usr/include/linux/dvb/dmx.h:90: found __[us]{8,16,32,64} type without #include Signed-off-by: Jaswinder Singh Rajput commit 15cf98ad2965aaefaa2f85332535ff39e48f9f4e Author: Jaswinder Singh Rajput Date: Fri Jan 30 19:53:38 2009 +0530 headers_check fix: dvb/audio.h fix the following 'make headers_check' warning: usr/include/linux/dvb/audio.h:133: found __[us]{8,16,32,64} type without #include Signed-off-by: Jaswinder Singh Rajput commit 9d6aa4c7ece26652fcbfe37bd45679eac5f69347 Author: Jaswinder Singh Rajput Date: Fri Jan 30 19:50:25 2009 +0530 headers_check fix: can/bcm.h fix the following 'make headers_check' warning: usr/include/linux/can/bcm.h:29: found __[us]{8,16,32,64} type without #include Signed-off-by: Jaswinder Singh Rajput commit 3a9a3f6cc55418dd1525e636dccbbe13c394f652 Author: Divyesh Shah Date: Fri Jan 30 12:46:41 2009 +0100 cfq-iosched: Allow RT requests to pre-empt ongoing BE timeslice This patch adds the ability to pre-empt an ongoing BE timeslice when a RT request is waiting for the current timeslice to complete. This reduces the wait time to disk for RT requests from an upper bound of 4 (current value of cfq_quantum) to 1 disk request. Applied Jens' suggeested changes to avoid the rb lookup and use !cfq_class_rt() and retested. Latency(secs) for the RT task when doing sequential reads from 10G file. | only RT | RT + BE | RT + BE + this patch small (512 byte) reads | 143 | 163 | 145 large (1Mb) reads | 142 | 158 | 146 Signed-off-by: Divyesh Shah Signed-off-by: Jens Axboe commit bc58ba9468d94d62c56ab9b47173583ec140b165 Author: Jens Axboe Date: Fri Jan 23 10:54:44 2009 +0100 block: add sysfs file for controlling io stats accounting This allows us to turn off disk stat accounting completely, for the cases where the 0.5-1% reduction in system time is important. Signed-off-by: Jens Axboe commit 7598909e3ee2a08726276d6415b69dadb52d0d76 Author: Nikanth Karthikesan Date: Tue Jan 27 09:29:24 2009 +0100 Mark mandatory elevator functions in the biodoc.txt biodoc.txt mentions that elevator functions marked with * are mandatory, but no function is marked with *. Mark the 3 functions which should be implemented by any io scheduler. Signed-off-by: Nikanth Karthikesan Signed-off-by: Jens Axboe commit a229fc61ef0ee3c30fd193beee0eeb87410227f1 Author: Boaz Harrosh Date: Mon Jan 19 10:37:38 2009 +0100 include/linux: Add bsg.h to the Kernel exported headers bsg.h in current form is perfectly suitable for user-mode consumption. It is needed together with scsi/sg.h for applications that want to interface with the bsg driver. Currently the few projects that use it would copy it over into the projects. But that is not acceptable for projects that need to provide source and devel packages for distros. This should also be submitted to stable 2.6.28 and 2.6.27 since bsg had a stable API since these Kernels and distro users will need the header for these kernels a swell Signed-off-by: Boaz Harrosh Acked-by: FUJITA Tomonori CC: stable@kernel.org Signed-off-by: Jens Axboe commit cec0707e40ae25794b5a2de7b7f03c51961f80d9 Author: Jens Axboe Date: Tue Jan 13 15:28:32 2009 +0100 block: silently error an unsupported barrier bio This fixes a "regression" from 2.6.28, where the barrier probes that file systems may do would trigger additional end request warnings in dmesg. Signed-off-by: Jens Axboe commit dbdac9b71dff5d27885f82eb2cfca310861fdf9e Author: Theodore Ts'o Date: Tue Jan 13 15:27:32 2009 +0100 block: Fix documentation for blkdev_issue_flush() Signed-off-by: "Theodore Ts'o" Signed-off-by: Jens Axboe commit 1dfa17f4ab8543d82caf4d36636b93916a18f456 Author: Jens Axboe Date: Tue Jan 6 09:21:49 2009 +0100 block: add bio_rw_flagged() for testing bio->bi_rw The existing functions for checking bio->bi_rw are badly named. So lets mirror what we do for bio->bi_flags testing, use a properly named function so that it's immediately obvious what is being tested. Maintain compatability names for the old macros, eventually we'll get rid of these. Signed-off-by: Jens Axboe commit 213d9417fec62ef4c3675621b9364a667954d4dd Author: Jens Axboe Date: Tue Jan 6 09:16:05 2009 +0100 block: seperate bio/request unplug and sync bits Signed-off-by: Jens Axboe commit 1308835ffffe6d61ad1f48c5c381c9cc47f683ec Author: Bartlomiej Zolnierkiewicz Date: Wed Jan 7 12:22:39 2009 +0100 block: export SSD/non-rotational queue flag through sysfs For some devices (i.e. CFA ATA) we can't reliably detect whether the device is of rotational or non-rotational type so we need to leave the final decision about this setting to the user-space. As a bonus do a minor CodingStyle fixup in queue_nomerges_store(). Suggested-by: Alan Cox Signed-off-by: Bartlomiej Zolnierkiewicz Signed-off-by: Jens Axboe commit 16642eb68216d8e0e136a99e514e9166e7125838 Author: Alberto Bertogli Date: Mon Jan 5 10:18:53 2009 +0100 Fix small typo in bio.h's documentation Signed-off-by: Alberto Bertogli Signed-off-by: Jens Axboe commit f48fc4d32e24c0b6a18aad30305d819bcc68c049 Author: Jens Axboe Date: Mon Jan 5 10:17:25 2009 +0100 block: get rid of the manual directory counting in blktrace It can result in a stuck blktrace system, if --kill is used. Signed-off-by: Jens Axboe commit 322316385dde5cd879e682bcb598c56d0659fb60 Author: Martin K. Petersen Date: Sun Jan 4 02:43:40 2009 -0500 block: Allow empty integrity profile Allow a block device to allocate and register an integrity profile without providing a template. This allows DM to preallocate a profile to avoid deadlocks during table reconfiguration. Signed-off-by: Martin K. Petersen Signed-off-by: Jens Axboe commit 8ae372e3bb4acaca37ffa2ce54f4cf8dd60a94fa Author: Martin K. Petersen Date: Sun Jan 4 02:43:39 2009 -0500 block: Remove obsolete BUG_ON Now that bio_vecs are no longer cleared in bvec_alloc_bs() the following BUG_ON must go. Signed-off-by: Martin K. Petersen Signed-off-by: Jens Axboe commit 7b24fc4d7eb611da367dea3aad45473050aacd6c Author: Martin K. Petersen Date: Sun Jan 4 02:43:38 2009 -0500 block: Don't verify integrity metadata on read error If we get an I/O error on a read request there is no point in doing a verify pass on the integrity buffer. Adjust the completion path accordingly. Signed-off-by: Martin K. Petersen Signed-off-by: Jens Axboe commit e5553a6d04421eec326a629571d696e8e745a0e4 Author: David S. Miller Date: Thu Jan 29 21:22:47 2009 -0800 sparc64: Implement NMI watchdog on capable cpus. Signed-off-by: David S. Miller commit 4e8718a1f960db0c48427f4583f89f4cb62f2480 Author: Kay Sievers Date: Thu Jan 29 22:56:08 2009 -0800 Input: struct device - replace bus_id with dev_name(), dev_set_name() Acked-by: Greg Kroah-Hartman Signed-off-by: Kay Sievers Signed-off-by: Dmitry Torokhov commit e8e0c02340f2d3e4f1ea75a136883d8797290929 Author: Roel Kluin Date: Thu Jan 29 22:56:08 2009 -0800 Input: bf54x-keys - fix debounce time validation Signed-off-by: Roel Kluin Acked-by: Michael Hennerich Signed-off-by: Dmitry Torokhov commit b9ec63f78b425c0e16cc95605b5d4ff2dc228b97 Author: Theodore Ts'o Date: Fri Jan 30 00:00:24 2009 -0500 ext4: Remove bogus BUG() check in ext4_bmap() The code to support journal-less ext4 operation added a BUG to ext4_bmap() which fired if there was no journal and the EXT4_STATE_JDATA bit was set in the i_state field. This caused running the filefrag program (which uses the FIMBAP ioctl) to trigger a BUG(). The EXT4_STATE_JDATA bit is only used for ext4_bmap(), and it's harmless for the bit to be set. We could add a check in __ext4_journalled_writepage() and ext4_journalled_write_end() to only set the EXT4_STATE_JDATA bit if the journal is present, but that adds an extra test and jump instruction. It's easier to simply remove the BUG check. http://bugzilla.kernel.org/show_bug.cgi?id=12568 Signed-off-by: "Theodore Ts'o" Cc: stable@kernel.org commit f2257b70b0f9b2fe8f2afd83fc6798dca75930b8 Merge: 1737ef7 a9ac49d Author: Linus Torvalds Date: Thu Jan 29 18:21:14 2009 -0800 Merge git://git.kernel.org/pub/scm/linux/kernel/git/sfrench/cifs-2.6 * git://git.kernel.org/pub/scm/linux/kernel/git/sfrench/cifs-2.6: cifs: make sure we allocate enough storage for socket address [CIFS] Make socket retry timeouts consistent between blocking and nonblocking cases [CIFS] some cleanup to dir.c prior to addition of posix_open [CIFS] revalidate parent inode when rmdir done within that directory [CIFS] Rename md5 functions to avoid collision with new rt modules cifs: turn smb_send into a wrapper around smb_sendv commit 1737ef7598d3515fdc11cb9ba7e054f334404e04 Author: Alexander Beregalov Date: Thu Jan 29 02:30:56 2009 +0300 sata_sil: Fix build breakage Commit e57db7b (SATA Sil: Blacklist system that spins off disks during ACPI power off) breaks build like the following, in both cases when CONFIG_DMI set or not. drivers/ata/sata_sil.c: In function 'sil_broken_system_poweroff': drivers/ata/sata_sil.c:713: error: implicit declaration of function 'dmi_first_match' drivers/ata/sata_sil.c:713: warning: initialization makes pointer from integer without a cast sata_sil.c should include dmi.h Signed-off-by: Alexander Beregalov Signed-off-by: Linus Torvalds commit 242f45da5b7bf63c50f1f18301750712e7885dd6 Author: Bill Nottingham Date: Thu Jan 29 16:28:40 2009 -0800 Documentation/Changes: add required versions for new filesystems btrfs requires version 0.18 of its tools, and squashfs requires 4.0. ext3 should use and ext4 requires v1.41.4 of e2fsprogs. Signed-off-by: Bill Nottingham Signed-off-by: Randy Dunlap cc: Ted Tso Signed-off-by: Linus Torvalds commit 70221395ba980392ba98c1d78f6c9f77be03df9e Author: Dan Carpenter Date: Thu Jan 29 16:28:28 2009 -0800 fix emacs indenting howto filename expansion I don't think emacs understands tilde expansion, so use "expand-file-name" to do that. Signed-off-by: Dan Carpenter Signed-off-by: Randy Dunlap Signed-off-by: Linus Torvalds commit 0acbc6c651911dc9ffb4f59b34306bc1ccb751e5 Author: Teemu Likonen Date: Thu Jan 29 16:28:16 2009 -0800 Documentation: update CodingStyle tips for Emacs users With the previous Emacs tips example the kernel style was made available for files in the kernel-tree only. This patch updates the tip to add a separate cc-mode indent style ("linux-tabs-only"). This makes it easy to switch between different indent styles and also makes the kernel style easily available for any filetype mode (c++, awk, ...) that is managed by the Emacs cc-mode. Signed-off-by: Teemu Likonen Signed-off-by: Randy Dunlap Signed-off-by: Linus Torvalds commit 5872fb94f85d2e4fdef94657bd14e1a492df9825 Author: Randy Dunlap Date: Thu Jan 29 16:28:02 2009 -0800 Documentation: move DMA-mapping.txt to Doc/PCI/ Move DMA-mapping.txt to Documentation/PCI/. DMA-mapping.txt was supposed to be moved from Documentation/ to Documentation/PCI/. The 00-INDEX files in those two directories were updated, along with a few other text files, but the file itself somehow escaped being moved, so move it and update more text files and source files with its new location. Signed-off-by: Randy Dunlap Acked-by: Greg Kroah-Hartman cc: Jesse Barnes Signed-off-by: Linus Torvalds commit ca493d171b66e96f542501b7eb572bc8380f690d Merge: 5488ace dcbbcef Author: Linus Torvalds Date: Thu Jan 29 18:14:20 2009 -0800 Merge git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/staging-2.6 * git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/staging-2.6: Staging: poch: fix verification of memory area Staging: usbip: usbip_start_threads(): handle kernel_thread failure staging: agnx: drivers/staging/agnx/agnx.h needs Staging: android: task_get_unused_fd_flags: fix the wrong usage of tsk->signal Staging: android: Add lowmemorykiller documentation. Staging: android: fix build error on 64bit boxes Staging: android: timed_gpio: Fix build to build on kernels after 2.6.25. Staging: android: binder: fix arm build errors Staging: meilhaus: fix Kbuild Staging: comedi: fix Kbuild commit 5488ace40be22d3f23f58190ae48b2c8d4691f2b Merge: 05986e2 7cbcf22 Author: Linus Torvalds Date: Thu Jan 29 18:14:05 2009 -0800 Merge git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/driver-core-2.6 * git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/driver-core-2.6: driver-core: fix kernel-doc parameter name UIO: Add missing documentation of features added recently Sync patch for jp_JP/stable_kernel_rules.txt commit 05986e264ee638b6b6151aea89c9f191278c30f1 Merge: 0d28088 de2cf59 Author: Linus Torvalds Date: Thu Jan 29 18:13:22 2009 -0800 Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tiwai/sound-2.6 * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tiwai/sound-2.6: ASoC: OMAP: Initialize XCCR and RCCR registers in McBSP DAI driver ASoC: Fix null string usage with WM8753 DAIs ALSA: hda - add another MacBook Pro 4, 1 subsystem ID ALSA: hda - Fix compile warning with CONFIG_SND_JACK=n ALSA: hda - Add quirk for HP DV6700 laptop ALSA: hda - Fix PCM reference NID for STAC/IDT analog outputs commit 0d280884961de51afd87465f72ade9e8876d1e26 Merge: 9b4d142 766fb95 Author: Linus Torvalds Date: Thu Jan 29 18:12:58 2009 -0800 Merge branch 'linux-next' of git://git.infradead.org/ubi-2.6 * 'linux-next' of git://git.infradead.org/ubi-2.6: UBI: allow direct user-space I/O UBI: fix resource de-allocation UBI: remove unused variable UBI: use nicer 64-bit math UBI: add ioctl compatibility UBI: constify file operations UBI: allow all ioctls UBI: remove unnecessry header inclusion UBI: improve ioctl commentaries UBI: add ioctl for is_mapped operation UBI: add ioctl for unmap operation UBI: add ioctl for map operation commit 9b4d142d521963ee1c53cefcd1f9790ca32b5db7 Merge: 6e3eed9 bae7eb3 Author: Linus Torvalds Date: Thu Jan 29 18:11:02 2009 -0800 Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jikos/hid * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jikos/hid: HID: document difference between hid_blacklist and hid_ignore_list HID: add antec-branded soundgraph imon devices to blacklist HID: fix reversed logic in disconnect testing of hiddev HID: adjust report descriptor fixup for MS 1028 receiver commit 6e3eed9850064e38a98851ff91534bb32438b292 Merge: ceb5eb0 05dfdbb Author: Linus Torvalds Date: Thu Jan 29 18:10:36 2009 -0800 Merge git://git.kernel.org/pub/scm/linux/kernel/git/rusty/linux-2.6-for-linus * git://git.kernel.org/pub/scm/linux/kernel/git/rusty/linux-2.6-for-linus: lguest: Fix a memory leak with the lg object during launcher close lguest: disable the FORTIFY for lguest. lguest: typos fix commit ceb5eb0cb3fe61d488aa76aba748409775a56daa Merge: 726a669 1448d7c Author: Linus Torvalds Date: Thu Jan 29 18:09:41 2009 -0800 Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/ieee1394/linux1394-2.6 * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/ieee1394/linux1394-2.6: ieee1394: sbp2: add workarounds for 2nd and 3rd generation iPods firewire: sbp2: add workarounds for 2nd and 3rd generation iPods firewire: sbp2: fix DMA mapping leak on the failure path firewire: sbp2: define some magic numbers as macros firewire: sbp2: fix payload limit at S1600 and S3200 ieee1394: sbp2: don't assume zero model_id or firmware_revision if there is none ieee1394: sbp2: fix payload limit at S1600 and S3200 ieee1394: sbp2: update a help string ieee1394: support for speeds greater than S800 firewire: core: optimize card shutdown ieee1394: ohci1394: increase AT req. retries, fix ack_busy_X from Panasonic camcorders and others firewire: ohci: increase AT req. retries, fix ack_busy_X from Panasonic camcorders and others firewire: ohci: change "context_stop: still active" log message firewire: keep highlevel drivers attached during brief connection loss firewire: unnecessary BM delay after generation rollover firewire: insist on successive self ID complete events commit 726a6699267e36c66043a55b13dfeec3d9925452 Author: Andrew Morton Date: Thu Jan 29 14:25:27 2009 -0800 drivers/gpu/drm/i915/intel_lvds.c: fix locking snafu s/unlock/lock/ Addresses http://bugzilla.kernel.org/show_bug.cgi?id=12575 Reported-by: Daniel Vetter Cc: Dave Airlie Acked-by: Jesse Barnes Cc: Eric Anholt Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 9df04e1f25effde823a600e755b51475d438f56b Author: Davide Libenzi Date: Thu Jan 29 14:25:26 2009 -0800 epoll: drop max_user_instances and rely only on max_user_watches Linus suggested to put limits where the money is, and max_user_watches already does that w/out the need of max_user_instances. That has the advantage to mitigate the potential DoS while allowing pretty generous default behavior. Allowing top 4% of low memory (per user) to be allocated in epoll watches, we have: LOMEM MAX_WATCHES (per user) 512MB ~178000 1GB ~356000 2GB ~712000 A box with 512MB of lomem, will meet some challenge in hitting 180K watches, socket buffers math teaches us. No more max_user_instances limits then. Signed-off-by: Davide Libenzi Cc: Willy Tarreau Cc: Michael Kerrisk Cc: Bron Gondwana Cc: Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 3095eb87bb36ae880608fe3fc46cfd59ced1f319 Author: Frans Pop Date: Thu Jan 29 14:25:25 2009 -0800 hp-wmi: set initial docking state If the initial state is not set when the input device is set up, the first docking event after the module is loaded will be lost. Signed-off-by: Frans Pop Acked-by: Matthew Garrett Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit fb9f88e1dc76f9feb39d39c40a5d61aad6df4388 Author: Bharath Ramesh Date: Thu Jan 29 14:25:24 2009 -0800 hwmon: applesmc: add support for MacPro 3 temperature sensors MacPro 3 have more temperature sensors than the previous MacPro's also the sensor THTG has been removed. This patch add supports for the newer temperature sensors in the MacPro3. Signed-off-by: Bharath Ramesh Signed-off-by: Henrik Rydberg Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit c189f4ec955e1fe4a2a2742d028aeecc52a5848a Author: David Altobelli Date: Thu Jan 29 14:25:23 2009 -0800 hpilo: increment version Bump hpilo module version to indicate that the open/close bug is fixed. Signed-off-by: David Altobelli Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 839ec5452ebfd5905b9c69b20ceb640903a8ea1a Author: Paul Menage Date: Thu Jan 29 14:25:22 2009 -0800 cgroup: fix root_count when mount fails due to busy subsystem root_count was being incremented in cgroup_get_sb() after all error checking was complete, but decremented in cgroup_kill_sb(), which can be called on a superblock that we gave up on due to an error. This patch changes cgroup_kill_sb() to only decrement root_count if the root was previously linked into the list of roots. Signed-off-by: Paul Menage Tested-by: Serge Hallyn Cc: Ingo Molnar Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 804b3c28a4e4fa1c224571bf76edb534b9c4b1ed Author: Paul Menage Date: Thu Jan 29 14:25:21 2009 -0800 cgroups: add cpu_relax() calls in css_tryget() and cgroup_clear_css_refs() css_tryget() and cgroup_clear_css_refs() contain polling loops; these loops should have cpu_relax calls in them to reduce cross-cache traffic. Signed-off-by: Paul Menage Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 1404f06565ee89e0ce04d4a5859c00b0e3a0dc8d Author: Li Zefan Date: Thu Jan 29 14:25:21 2009 -0800 cgroups: fix lock inconsistency in cgroup_clone() I fixed a bug in cgroup_clone() in Linus' tree in commit 7b574b7 ("cgroups: fix a race between cgroup_clone and umount") without noticing there was a cleanup patch in -mm tree that should be rebased (now commit 104cbd5, "cgroups: use task_lock() for access tsk->cgroups safe in cgroup_clone()"), thus resulted in lock inconsistency. Signed-off-by: Li Zefan Acked-by: Paul Menage Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 945048ca36173315afa2f0c53bed21ba01a588c1 Author: Ivan Kokshaysky Date: Thu Jan 29 14:25:20 2009 -0800 alpha: fix the BUG() macro The commit "alpha: teach the compiler that BUG doesn't return" (ed6b9b97f42c091630335bfb71a2931e6f86388b) moved the asm code into inline function which takes __FILE__ and __LINE__ as arguments. This violates asm constrains there ("i" - an immediate operand with constant value), so that compile may result in warning or error, depending on compiler version. Just adding an infinite loop to the BUG() is sufficient. Signed-off-by: Ivan Kokshaysky Cc: Richard Henderson Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit ee0c468bb151aad23281660152d2894f1e214238 Author: Ivan Kokshaysky Date: Thu Jan 29 14:25:19 2009 -0800 alpha: compile fixes - jensen build: fix conflicting declarations for pci_alloc_consistent() and undefined virt_to_phys(); - SMP: arch/alpha/kernel/smp.c:124: warning: passing argument 2 of '__cpu_test_and_set' discards qualifiers from pointer target type Interestingly, this only happens with gcc-4.2; gcc <= 4.1 and gcc-4.3 are OK. Fixed with extra assignment. Signed-off-by: Ivan Kokshaysky Cc: Richard Henderson Cc: FUJITA Tomonori Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit e5d9a90c36e05dd080704ea58328c00f64facdc1 Author: Ivan Kokshaysky Date: Thu Jan 29 14:25:18 2009 -0800 alpha: use syscall wrappers Convert OSF syscalls and add alpha specific SYSCALL_ALIAS() macro. Signed-off-by: Ivan Kokshaysky Cc: Richard Henderson Cc: Heiko Carstens Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 299b4eaa302138426d5a9ecd954de1f565d76c94 Author: KAMEZAWA Hiroyuki Date: Thu Jan 29 14:25:17 2009 -0800 memcg: NULL pointer dereference at rmdir on some NUMA systems N_POSSIBLE doesn't means there is memory...and force_empty can visit invalid node which have no pgdat. To visit all valid nodes, N_HIGH_MEMORY should be used. Reported-by: Li Zefan Signed-off-by: KAMEZAWA Hiroyuki Tested-by: Li Zefan Cc: Balbir Singh Cc: Daisuke Nishimura Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 248ae0d43fe7f951352eedfff36572d4b75ce963 Author: Alex Buell Date: Thu Jan 29 14:25:16 2009 -0800 fbdev: incorrect URL given in drivers/video/Kconfig Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 6989d5651a16b49908069b514329d5114217ea0e Author: Frans Pop Date: Thu Jan 29 14:25:14 2009 -0800 hp-wmi: fix regressions caused by missing if statement Error was introduced in commit fe8e4e039dc3 ("hp-wmi: handle rfkill_register() failure"). Signed-off-by: Frans Pop Acked-by: Larry Finger Acked-by: Matthew Garrett Cc: Matthew Garrett Cc: Len Brown Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 8d50d369d1b3ccc4d96ce01f62146173ee7064ca Author: KAMEZAWA Hiroyuki Date: Thu Jan 29 14:25:14 2009 -0800 memcg: update document to mention that swapoff should be tested Considering the recently found problem "memcg: fix refcnt handling at swapoff", it's better to mention swapoff behavior in the memcg_test document. Signed-off-by: KAMEZAWA Hiroyuki Acked-by: Balbir Singh Cc: Li Zefan Cc: Daisuke Nishimura Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 85d9fc89fb0f0703df6444f260187c088a8d59ff Author: KAMEZAWA Hiroyuki Date: Thu Jan 29 14:25:13 2009 -0800 memcg: fix refcnt handling at swapoff Now, at swapoff, even while try_charge() fails, commit is executed. This is a bug which turns the refcnt of cgroup_subsys_state negative. Reported-by: Li Zefan Tested-by: Li Zefan Tested-by: Daisuke Nishimura Signed-off-by: KAMEZAWA Hiroyuki Reviewed-by: Daisuke Nishimura Cc: Balbir Singh Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 7460db567bbca76bf087d1694d792a1a96bdaa26 Author: Magnus Damm Date: Thu Jan 29 14:25:12 2009 -0800 gpiolib: fix request related issue Fix request-already-requested handling in gpio_request(). Signed-off-by: Magnus Damm Acked-by: David Brownell Cc: [2.6.28.x] Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 7bcc1bb1232de6efc0b85e0c7fe38e90b2436318 Author: Daisuke Nishimura Date: Thu Jan 29 14:25:11 2009 -0800 memcg: get/put parents at create/free The lifetime of struct cgroup and struct mem_cgroup is different and mem_cgroup has its own reference count for handling references from swap_cgroup. This causes strange problem that the parent mem_cgroup dies while child mem_cgroup alive, and this problem causes a bug in case of use_hierarchy==1 because res_counter_uncharge climbs up the tree. This patch is for avoiding it by getting the parent at create, and putting it at freeing. Signed-off-by: Daisuke Nishimura Reviewed-by; KAMEZAWA Hiroyuki Cc: Balbir Singh Cc: Pavel Emelyanov Cc: Li Zefan Cc: Paul Menage Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit baef99a08a2e23d9386b47e53fa5f0d44fc98f66 Author: KAMEZAWA Hiroyuki Date: Thu Jan 29 14:25:10 2009 -0800 cgroups: use hierarchy mutex in creation failure path Now, cgrp->sibling is handled under hierarchy mutex. error route should do so, too. Signed-off-by: KAMEZAWA Hiroyuki Cc: Li Zefan Acked-by Paul Menage Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 9e9e3cbc62da43c66e894d5a61fa08b427e25202 Author: Evgeniy Polyakov Date: Thu Jan 29 14:25:09 2009 -0800 mm: OOM documentation update Signed-off-by: Evgeniy Polyakov Acked-by: David Rientjes Cc: Randy Dunlap Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit dc19835df6c47ff676ad6c98722d5e529db5d74c Author: Masami Hiramatsu Date: Thu Jan 29 14:25:08 2009 -0800 kprobes: fix module compilation error with CONFIG_KPROBES=n Define kprobes related data structures even if CONFIG_KPROBES is not set. This fixes compilation errors which occur if CONFIG_KPROBES is not set, in kprobe using modules. [akpm@linux-foundation.org: fix build for non-kprobes-supporting architectures] Reviewed-by: Ananth N Mavinakayanahalli Signed-off-by: Masami Hiramatsu Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 252523ef2421b803de4810876223e4d695f23ec6 Author: Robin Holt Date: Thu Jan 29 14:25:07 2009 -0800 sgi-xpc: fix up stale DBUG_ON statements Clean up the stale DBUG_ON checks and add a couple new ones. Signed-off-by: Robin Holt Signed-off-by: Dean Nelson Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 17e2161654da4e6bdfd8d53d4f52e820ee93f423 Author: Robin Holt Date: Thu Jan 29 14:25:07 2009 -0800 sgi-xpc: Remove NULL pointer dereference. If the bte copy fails, the attempt to retrieve payloads merely returns a null pointer deref and not NULL as was expected. Signed-off-by: Robin Holt Signed-off-by: Dean Nelson Cc: Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 69b3bb65fa97a1e8563518dbbc35cd57beefb2d4 Author: Robin Holt Date: Thu Jan 29 14:25:06 2009 -0800 sgi-xpc: ensure flags are updated before bte_copy The clearing of the msg->flags needs a barrier between it and the notify of the channel threads that the messages are cleaned and ready for use. Signed-off-by: Robin Holt Signed-off-by: Dean Nelson Cc: Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit de33c8db5910cda599899dd431cc30d7c1018cbf Author: Linus Torvalds Date: Thu Jan 29 17:46:42 2009 -0800 Fix OOPS in mmap_region() when merging adjacent VM_LOCKED file segments As of commit ba470de43188cdbff795b5da43a1474523c6c2fb ("map: handle mlocked pages during map, remap, unmap") we now use the 'vma' variable at the end of mmap_region() to handle the page-in of newly mapped mlocked pages. However, if we merged adjacent vma's together, the vma we're using may be stale. We historically consciously avoided using it after the merge operation, but that got overlooked when redoing the locked page handling. This commit simplifies mmap_region() by doing any vma merges early, avoiding the issue entirely, and 'vma' will always be valid. As pointed out by Hugh Dickins, this depends on any drivers that change the page offset of flags to have set one of the VM_SPECIAL bits (so that they cannot trigger the early merge logic), but that's true in general. Reported-and-tested-by: Maksim Yevmenkin Cc: Lee Schermerhorn Cc: Nick Piggin Cc: Andrew Morton Cc: Hugh Dickins Signed-off-by: Linus Torvalds commit f99ec0649accb581cf3e8fcfeea796e82d05f4ea Author: Philippe De Muyter Date: Thu Jan 29 17:35:04 2009 -0800 tulip: fix 21142 with 10Mbps without negotiation with current kernels, tulip 21142 ethernet controllers fail to connect to a 10Mbps only (i.e. without negotiation-partner) network. It used to work in 2.4 kernels. Fix that. Tested on a 21142 Rev 0x11. Signed-off-by: Philippe De Muyter Signed-off-by: David S. Miller commit c25b9abbc2c2c0da88e180c3933d6e773245815a Author: Roel Kluin Date: Thu Jan 29 17:32:20 2009 -0800 drivers/net/skfp: if !capable(CAP_NET_ADMIN): inverted logic Fix inverted logic Signed-off-by: Roel Kluin Signed-off-by: David S. Miller commit e5664bb2a7fd8ae1bee1281c2e44653c471af9ca Author: Anton Vorontsov Date: Thu Jan 29 17:31:13 2009 -0800 gianfar: Fix Wake-on-LAN support commit 0f0ca340e57bd7446855fefd07a64249acf81223 ("phy: power management support") caused a regression in the gianfar driver. Now phylib turns off PHY power during suspend, and thus WOL doesn't work anymore. This patch workarounds the issue by enabling wakeup in the MDIO device, i.e. just restores the old behaviour for the gianfar driver. Note that this way all PHYs on a given MDIO bus won't be turned off during suspend, which isn't good from the power saving point of view. A proper, per netdevice wakeup management support will need a bit reworked phylib suspend/resume logic. Signed-off-by: Anton Vorontsov Signed-off-by: David S. Miller commit f307dbd88d82c4ccab7aec49613c366023b89cde Author: Roel Kluin Date: Thu Jan 29 17:30:00 2009 -0800 smsc911x: timeout reaches -1 With a postfix decrement the timeout will reach -1 rather than 0, so the warning will not be issued. Signed-off-by: Roel Kluin Acked-by: Steve Glendinning Signed-off-by: David S. Miller commit 1609559547ae0ddc2e4829c7f78ac2c4869875b9 Author: Steve Glendinning Date: Thu Jan 29 17:29:15 2009 -0800 smsc9420: fix interrupt signalling test failures smsc9420 performs an interrupt signalling test when the interface is brought up. The current code mistakenly sets its test flag to false AFTER enabling the software interrupt source, making failure quite likely. This patch changes the code to set the test flag BEFORE enabling interrupts. I've also removed an smp_wmb because the following spinlock provides an implicit memory barrier. Signed-off-by: Steve Glendinning Signed-off-by: David S. Miller commit b1c4a9dddf09fe99b8f88252718ac5b357363dc4 Author: Haiying Wang Date: Thu Jan 29 17:28:04 2009 -0800 ucc_geth: Change uec phy id to the same format as gianfar's The commit b31a1d8b41513b96e9c7ec2f68c5734cef0b26a4 ("gianfar: Convert gianfar to an of_platform_driver") changes the gianfar's phy id to the format like "mdio@xxxx:xx", but uec still uses the old format like "xxxxxxxx:xx". For the board whose UEC uses gianfar-mdio like MPC8568MDS, the phy can not be attached because of the incompatible phy id format. This patch changes uec's phy id to the same format as gianfar's. Signed-off-by: Haiying Wang Signed-off-by: David S. Miller commit 1af7ad51049d6a310a19d497960597198290ddfa Author: Inaky Perez-Gonzalez Date: Thu Jan 29 17:18:31 2009 -0800 wimax: fix build issue when debugfs is disabled As reported by Toralf Förster and Randy Dunlap. - http://linuxwimax.org/pipermail/wimax/2009-January/000460.html - http://lkml.org/lkml/2009/1/29/279 The definitions needed for the wimax stack and i2400m driver debug infrastructure was, by mistake, compiled depending on CONFIG_DEBUG_FS (by them being placed in the debugfs.c files); thus the build broke in 2.6.29-rc3 when debugging was enabled (CONFIG_WIMAX_DEBUG) and DEBUG_FS was disabled. These definitions are always needed if debug is enabled at compile time (independently of DEBUG_FS being or not enabled), so moving them to a file that is always compiled fixes the issue. Signed-off-by: Inaky Perez-Gonzalez Signed-off-by: David S. Miller commit 05dfdbbd678ea2b642db73f48b75667a23d15484 Author: Mark Wallis Date: Mon Jan 26 17:32:35 2009 +1100 lguest: Fix a memory leak with the lg object during launcher close Fix a memory leak identified by Rusty Russell during LCA09 by kfree'ing the lg object instead of just clearing it when the launcher closes. Signed-off-by: Mark Wallis Signed-off-by: Rusty Russell commit b44d49ab0954accefba4c71274ab58abe1c25c52 Author: Tim 'mithro' Ansell Date: Thu Jan 22 15:06:41 2009 +1100 lguest: disable the FORTIFY for lguest. Makes all the warnings go away when compiling lguest on Ubuntu on Intrepid or greater. Signed-off-by: Timothy R Ansell Signed-off-by: Rusty Russell commit 72410af921cbc9018da388ca1ddf75880a033ac1 Author: Atsushi SAKAI Date: Fri Jan 16 20:39:14 2009 +0900 lguest: typos fix 3 points lguest_asm.S => i386_head.S LHCALL_BREAK => LHREQ_BREAK perferred => preferred Signed-off-by: Atsushi SAKAI Signed-off-by: Rusty Russell commit 584dbe9475313e117abf9d2af88164edfd429c9a Author: Daniel Marjamäki Date: Thu Jan 29 08:55:56 2009 +0000 netxen: fix memory leak in drivers/net/netxen_nic_init.c For kernel bugzilla #12537: http://bugzilla.kernel.org/show_bug.cgi?id=12537 Free memory. Signed-off-by: Daniel Marjamäki Signed-off-by: David S. Miller commit df1c46b2b6876d0a1b1b4740f009fa69d95ebbc9 Author: David S. Miller Date: Thu Jan 29 16:53:35 2009 -0800 tun: Add some missing TUN compat ioctl translations. Based upon a report from Michael Tokarev : Just saw in dmesg: ioctl32(kvm:4408): Unknown cmd fd(9) cmd(800454cf){t:'T';sz:4} arg(ffc668e4) on /dev/net/tun Signed-off-by: David S. Miller commit 9d8dba6c979fa99c96938c869611b9a23b73efa9 Author: Benjamin Zores Date: Thu Jan 29 16:19:13 2009 -0800 ipv4: fix infinite retry loop in IP-Config Signed-off-by: Benjamin Zores Signed-off-by: David S. Miller commit 58092d1e0a896eb1d9163d58f93df7ed704fa8e1 Author: Stephen Hemminger Date: Thu Jan 29 16:16:31 2009 -0800 net: update documentation ip aliases This documentation is old. Add a short note to describe why aliases are no long necessary, and remove the old contact/edit info. Signed-off-by: Stephen Hemminger Signed-off-by: David S. Miller commit 71b3346d182355f19509fadb8fe45114a35cc499 Author: Shyam Iyer Date: Thu Jan 29 16:12:42 2009 -0800 net: Fix OOPS in skb_seq_read(). It oopsd for me in skb_seq_read. addr2line said it was linux-2.6/net/core/skbuff.c:2228, which is this line: while (st->frag_idx < skb_shinfo(st->cur_skb)->nr_frags) { I added some printks in there and it looks like we hit this: } else if (st->root_skb == st->cur_skb && skb_shinfo(st->root_skb)->frag_list) { st->cur_skb = skb_shinfo(st->root_skb)->frag_list; st->frag_idx = 0; goto next_skb; } Actually I did some testing and added a few printks and found that the st->cur_skb->data was 0 and hence the ptr used by iscsi_tcp was null. This caused the kernel panic. if (abs_offset < block_limit) { - *data = st->cur_skb->data + abs_offset; + *data = st->cur_skb->data + (abs_offset - st->stepped_offset); I enabled the debug_tcp and with a few printks found that the code did not go to the next_skb label and could find that the sequence being followed was this - It hit this if condition - if (st->cur_skb->next) { st->cur_skb = st->cur_skb->next; st->frag_idx = 0; goto next_skb; And so, now the st pointer is shifted to the next skb whereas actually it should have hit the second else if first since the data is in the frag_list. else if (st->root_skb == st->cur_skb && skb_shinfo(st->root_skb)->frag_list) { st->cur_skb = skb_shinfo(st->root_skb)->frag_list; goto next_skb; } Reversing the two conditions the attached patch fixes the issue for me on top of Herbert's patches. Signed-off-by: Shyam Iyer Signed-off-by: Herbert Xu Signed-off-by: David S. Miller commit e489a44e2473981474fe17f17418828ba341661a Author: Grant Likely Date: Thu Jan 29 17:08:41 2009 -0700 powerpc/5200: Bugfix for PCI mapping of memory and IMMR This patch ensures that memory gets properly mapped into the PCI address space. Without this patch, the memory window BAR is left at whatever value happened to be loaded into the BAR when Linux was booted. Without this patch, memory could end up getting mapped at any of the 1G address boundaries instead of at '0' where Linux expects it. Similarly, this patch also ensures that the internally memory mapped registers (IMMR) are mapped to the correct PCI address range. Without this patch, PCI appears to work correctly until a PCI device is inserted which DMAs into memory. Signed-off-by: Grant Likely Tested-by: Wolfram Sang commit d35ec494a68218d646f31d8b4f03ddd39b262a3e Author: Grant Likely Date: Thu Jan 29 17:08:38 2009 -0700 powerpc/5200: update defconfigs Signed-off-by: Grant Likely commit 95e3b24cfb4ec0479d2c42f7a1780d68063a542a Author: Herbert Xu Date: Thu Jan 29 16:07:52 2009 -0800 net: Fix frag_list handling in skb_seq_read The frag_list handling was broken in skb_seq_read: 1) We didn't add the stepped offset when looking at the head are of fragments other than the first. 2) We didn't take the stepped offset away when setting the data pointer in the head area. 3) The frag index wasn't reset. This patch fixes both issues. Signed-off-by: Herbert Xu Signed-off-by: David S. Miller commit e125646ab56b490d0390b158e0afa9cccfc1f897 Author: Dhananjay Phadke Date: Thu Jan 29 16:05:19 2009 -0800 netxen: revert jumbo ringsize Reducing jumbo ring size below 1024 reduces throughput for old firmwares (3.4.216 and older) running on older (NX2031) chip, so restore it back to 1024. This was reduced in commit 32ec803348b4d5f1353e1d7feae30880b8b3e342 ("netxen: reduce memory footprint"). Raising jumbo ring size from 512 to 1024, adds ~4MB per port, but there's still big saving because of original patch (~20MB per port). Signed-off-by: Dhananjay Phadke Signed-off-by: David S. Miller commit ae9e47e9e864bc5f0a7a7e71dc3f287196b3626b Merge: a4e6db0 be00937 Author: David S. Miller Date: Thu Jan 29 15:27:47 2009 -0800 Merge branch 'master' of git://git.kernel.org/pub/scm/linux/kernel/git/linville/wireless-2.6 commit be0093705c3ce98d73cac0ca8f93ea105cdf4e9c Author: Bob Copeland Date: Thu Jan 22 08:44:16 2009 -0500 ath5k: fix locking in ath5k_config ath5k_config updates the software context without taking sc->lock. Changes-licensed-under: 3-Clause-BSD Signed-off-by: Bob Copeland Acked-by: Nick Kossifidis Signed-off-by: John W. Linville commit 667ecd010d870f861a9e276aaaca8cb443ded8b3 Author: Luis R. Rodriguez Date: Thu Jan 22 15:05:43 2009 -0800 cfg80211: print correct intersected regulatory domain When CONFIG_CFG80211_REG_DEBUG is enabled and an intersection occurs we are printing the regulatory domain passed by CRDA and indicating its the intersected regulatory domain. Lets fix this and print the intersection as originally intended. Signed-off-by: Luis R. Rodriguez Acked-by: Johannes Berg Signed-off-by: John W. Linville commit 615aab4b75dfa77b00c372330d6f70edd2458bf9 Author: Luis R. Rodriguez Date: Thu Jan 22 15:05:46 2009 -0800 cfg80211: Fix sanity check on 5 GHz when processing country IE This fixes two issues with the sanity check loop when processing the country IE: 1. Do not use frequency for the current subband channel check, this was a big fat typo. 2. Apply the 5 GHz 4-channel steps when considering max channel on each subband as was done with a recent patch. Signed-off-by: Luis R. Rodriguez Signed-off-by: John W. Linville commit 1f304e4e3bb161163d9f5bc3c6467a2a6fa9b3ae Author: Zhu, Yi Date: Fri Jan 23 13:45:22 2009 -0800 iwlwifi: fix kernel oops when ucode DMA memory allocation failure The patch fixes memcpy to NULL address when the ucode DMA allocation failure. This is a fix to bug http://www.intellinuxwireless.org/bugzilla/show_bug.cgi?id=1861 Signed-off-by: Zhu Yi Signed-off-by: Reinette Chatre Signed-off-by: John W. Linville commit eb83bbf57429ab80f49b413e3e44d3b19c3fdc5a Author: Larry Finger Date: Tue Jan 27 12:31:23 2009 -0600 rtl8187: Fix error in setting OFDM power settings for RTL8187L After reports of poor performance, a review of the latest vendor driver (rtl8187_linux_26.1025.0328.2007) for RTL8187L devices was undertaken. A difference was found in the code used to index the OFDM power tables. When the Linux driver was changed, my unit works at a much greater range than before. I think this fixes Bugzilla #12380 and has been tested by at least two other users. Signed-off-by: Larry Finger Tested-by: Martín Ernesto Barreyro Cc: Stable Signed-off-by: John W. Linville commit e6a271651e9e7810c1802bb8375967f6efa4baea Author: Johannes Berg Date: Mon Jan 26 19:35:28 2009 +0100 mac80211: remove Michael Wu as maintainer His email address keeps bouncing, and he's not interested in mac80211 patches etc. anyway. Signed-off-by: Johannes Berg Signed-off-by: John W. Linville commit 1448d7c6a2ff96d3b52ecae49e2d0f046a097fe0 Author: Stefan Richter Date: Thu Jan 29 00:13:20 2009 +0100 ieee1394: sbp2: add workarounds for 2nd and 3rd generation iPods as per https://bugs.launchpad.net/bugs/294391. These got one sample of each iPod generation going. However there still occurred I/O stalls with the 3rd generation iPod which remain undiagnosed at the time of this writing. Acked-by: Jarod Wilson Signed-off-by: Stefan Richter commit c8c4707cf7ca8ff7dcc1653447e48cb3de0bf114 Author: Stefan Richter Date: Thu Jan 29 00:11:59 2009 +0100 firewire: sbp2: add workarounds for 2nd and 3rd generation iPods According to https://bugs.launchpad.net/bugs/294391 - 3rd generation iPods need the "fix capacity" workaround after all (apparently they crash after the last sector was accessed), - 2nd generation iPods need the "128 kB maximum request size" workaround. Alas both iPod generations feature the same model ID in the config ROM, hence we can only define a shared quirks list entry for them. Luckily the fix capacity workaround did not show a negative effect in Jarod's tests with 2nd gen. iPod. A side note: Apple computers in target mode (or at least an x86 Mac mini) don't have firmware_version and model_id, hence none of the iPod quirks list entries is active for them. Tested-by: Jarod Wilson Acked-by: Jarod Wilson Signed-off-by: Stefan Richter commit 0dc23d704874e892c3fb5f2c0e4dfbef3c9c6edf Author: Kevin Hilman Date: Thu Jan 29 08:57:18 2009 -0800 ARM: OMAP: fix fault in enter_full_retention() In omap24xx_cpu_suspend assembly routine, the r2 register which holds the address of the SDRC_POWER reg is set to zero before the value is written back triggering a fault due to writing to address zero. It's hard to tell where this change was introduced since this file has been moved and merged. While this fix prevents a crash, suspend on my n810 is broken with current kernels. I never come out of suspend. Signed-off-by: Kevin Hilman Signed-off-by: Tony Lindgren commit 5461af5af5c6a7fee78978aafe720541bf3a2f55 Author: 김규원 Date: Thu Jan 29 08:57:17 2009 -0800 ARM: OMAP: Mask interrupts when disabling interrupts, v2 By Ingo Molnar, interrupts are not masked by default. (refer to 76d2160147f43f982dfe881404cfde9fd0a9da21) But if interrupts are not masked, the processor can wake up while in Suspend-to-RAM state by an external interrupt. For example, if an OMAP3 board is connected to Host PC by USB and entered to Suspend-to-RAM state, it wake up automatically by M_IRQ_92. The disable_irq() function can't disable the interrupt in H/W level, So I modified arch/arm/mach-omap2/irq.c Signed-off-by: Kim Kyuwon Signed-off-by: Tony Lindgren commit df88acbbdc48d0bfe2a46bf2561d984b6d87a9ac Author: Aaro Koskinen Date: Thu Jan 29 08:57:17 2009 -0800 ARM: OMAP: gptimer min_delta_ns corrected When 32 kHz timer is used the min_delta_ns should be initialized so that it reflects the timer programming cost. A write to the timer device will be usually posted, but it takes roughly 3 cycles before it is effective. If the timer is reprogrammed before that, the CPU will stall until the previous write completes. This was pointed out by Richard Woodruff. Since the lower bound for min_delta_ns is 1000, the change is visible only with tick rates less than 3 MHz. Also note that the old value is incorrect for 32 kHz also due to a rounding error, and it can cause the timer queue to hang (due to clockevent code trying to program the timer with zero ticks). Signed-off-by: Aaro Koskinen Reviewed-by: Richard Woodruff Signed-off-by: Tony Lindgren commit 0dffb5c57a1d76532e2f2c7398579bfce81c3e5c Author: Tony Lindgren Date: Thu Jan 29 08:57:16 2009 -0800 ARM: OMAP: Fix hsmmc init, v2 The naming accidentally broke while changing the name for the driver to not to conflict with the other mmc driver. Signed-off-by: Tony Lindgren commit 187e688d237a6df11a2d32e8ac480b6d1fbd40b9 Author: Tony Lindgren Date: Thu Jan 29 08:57:16 2009 -0800 ARM: OMAP: Fix omap34xx revision detection for ES3.1 Fix omap34xx revision detection for ES3.1 Signed-off-by: Tony Lindgren commit a92fda194d31d26c1fecd191a03d2dbc5b6ac230 Author: Jarkko Nikula Date: Thu Jan 29 08:57:12 2009 -0800 ARM: OMAP: DMA: Fix uninitialized channel flags This has similar symptoms than 66c23551b1b774e2be3c7bdf91c0ebf2c7a3519e where just omap_request_dma, omap_dma_link_lch and omap_dma_unlink_lch can cause incorrect dump_stack(). Here it can happen if channel has been used before and the channel flags variable holds old status. Signed-off-by: Jarkko Nikula Signed-off-by: Tony Lindgren commit 320ce6f6fb3d95e02a183709e51d8a16a8b00e0a Author: Juha Yrjola Date: Thu Jan 29 08:57:12 2009 -0800 ARM: OMAP: Fix race in OMAP2/3 DMA IRQ handling CSR must be cleared before invoking the callback. If the callback function starts a new, fast DMA transfer on the same channel, the completion status might lost if CSR is cleared after the callback invocation. Signed-off-by: Juha Yrjola Signed-off-by: Tony Lindgren commit 06151158f2da4764479b4ec01688dc4bade6ce9d Author: Stanley.Miao Date: Thu Jan 29 08:57:12 2009 -0800 ARM: OMAP: Fix McBSP spin_lock deadlock A spin_lock deadlock will occur when omap_mcbsp_request() is invoked. omap_mcbsp_request() \- clk_enable(mcbsp->clk) [takes and holds clockfw_lock] \- omap2_clk_enable() \- _omap2_clk_enable() \- omap_mcbsp_clk_enable() \- clk_enable(child clock) [tries for clockfw_lock again] mcbsp_clk is a virtual clock and it comprises several child clocks. when enable mcbsp_clk in omap_mcbsp_request(), the enable function of mcbsp_clk will enable its child clocks, then the deadlock occurs. The solution is to remove the virtual clock and enable these child clocks in omap_mcbsp_request() directly. Signed-off-by: Stanley.Miao Signed-off-by: Tony Lindgren commit 27ad27993313312a4ad0047d0a944c425cd511a5 Author: Artem Bityutskiy Date: Thu Jan 29 16:34:30 2009 +0200 UBIFS: remove fast unmounting This UBIFS feature has never worked properly, and it was a mistake to add it because we simply have no use-cases. So, lets still accept the fast_unmount mount option, but ignore it. This does not change much, because UBIFS commit in sync_fs anyway, and sync_fs is called while unmounting. Signed-off-by: Artem Bityutskiy commit a2b9df3ff691db8e5e521dccd231a8098bbf7416 Author: Artem Bityutskiy Date: Thu Jan 29 16:22:54 2009 +0200 UBIFS: return sensible error codes When mounting/re-mounting, UBIFS returns EINVAL even if the ENOSPC or EROFS codes are are much better, just because we have not found references to ENOSPC/EROFS in mount (2) man pages. This patch changes this behaviour and makes UBIFS return real error code, because: 1. It is just less confusing and more logical 2. mount is not described in SuSv3, so it seems to be not really well-standartized 3. we do not cover all cases, and any random undocumented in man pages error code may be returned anyway Signed-off-by: Artem Bityutskiy commit b466f17d780c5b72427f36aef22ecdec9f1d0689 Author: Adrian Hunter Date: Thu Jan 29 12:59:33 2009 +0200 UBIFS: remount ro fixes - preserve the idx_gc list - it will be needed in the same state, should UBIFS be remounted rw again - prevent remounting ro if we have switched to read only mode (due to a fatal error) Signed-off-by: Adrian Hunter Signed-off-by: Artem Bityutskiy commit 227c75c91dbfa037d109ab7ef45b7f5ba9cab6d0 Author: Adrian Hunter Date: Thu Jan 29 11:53:51 2009 +0200 UBIFS: spelling fix 'date' -> 'data' Signed-off-by: Adrian Hunter Signed-off-by: Artem Bityutskiy commit 3eb14297c4b85af0c5e6605e18d93b6031330d71 Author: Adrian Hunter Date: Thu Jan 29 11:17:24 2009 +0200 UBIFS: sync wbufs after syncing inodes and pages All writes go through wbufs so they must be sync'd after syncing inodes and pages. Signed-off-by: Adrian Hunter Signed-off-by: Artem Bityutskiy commit de2cf591bc876f7a63809d8955855ab074588c30 Merge: c9de36f 2a88464 Author: Takashi Iwai Date: Thu Jan 29 14:47:56 2009 +0100 Merge branch 'fix/hda' into for-linus commit c9de36f2a230919bee95f05ba27ed10ce4850409 Merge: 18e352e ef390c0 Author: Takashi Iwai Date: Thu Jan 29 14:47:53 2009 +0100 Merge branch 'fix/asoc' into for-linus commit ef390c0b6e3f4d2d2d43f53f4bd35e1884571a14 Author: Misael Lopez Cruz Date: Thu Jan 29 13:29:46 2009 +0200 ASoC: OMAP: Initialize XCCR and RCCR registers in McBSP DAI driver This patch explicitly initializes McBSP Transmit Configuration Control Register (XCCR) and Receive Configuration Control Register (RCCR) to their reset values. Reset values are 26 ns of DX delay and Transmit DMA disabled for XCCR register; receive full cycle mode enabled and Receive DMA disabled for RCCR register. This patch requires a counterpart in OMAP McBSP driver before to apply it. The required changes in McBSP were sent and approved in linux-omap mailing list and patch is going upstream (commit 3127f8f8595a064b3f1a1837fea2177902589ac3 from linux-omap-2.6 tree). Signed-off-by: Misael Lopez Cruz [ jarkko.nikula@nokia.com: Commit id for counterpart patch corrected ] Signed-off-by: Jarkko Nikula Signed-off-by: Mark Brown commit 9e70c1f099c6977d3928879e64fa6af7f903b7b0 Author: Mark Brown Date: Thu Jan 29 13:08:20 2009 +0000 ASoC: Fix null string usage with WM8753 DAIs The WM8753 driver multiplexes the DAI structures it exposes to the outside world, leaving them uninitialised until the codec probes. Since the DAI name is used during the registration and setup process provide a dummy name. Signed-off-by: Mark Brown commit 618b2c8db24522ae273d8299c6a936ea13793c4d Author: Jeremy Fitzhardinge Date: Wed Jan 28 16:50:20 2009 -0800 xen: make sysfs files behave as their names suggest 1: make "target_kb" only accept and produce a memory size in kilobytes. 2: add a second "target" file which produces output in bytes, and will accept memparse input (scaled bytes) This fixes the rather irritating problem that writing the same value read back into target_kb would end up shrinking the domain by a factor of 1024, with generally bad results. Signed-off-by: Jeremy Fitzhardinge Cc: Stable Kernel Cc: "dan.magenheimer@oracle.com" Signed-off-by: Ingo Molnar commit 2c1a3c979ce66e3073c1b87373c0c01a95f847e6 Author: Hans Verkuil Date: Mon Jan 12 18:10:43 2009 -0300 V4L/DVB (10229): ivtv: fix memory leak Signed-off-by: Hans Verkuil Signed-off-by: Mauro Carvalho Chehab commit 2fd9c2eac31d8b3c1b719c7dfbbfed17c5cbccc4 Author: Jean-Francois Moine Date: Sat Jan 24 07:45:14 2009 -0300 V4L/DVB (10385): gspca - main: Fix memory leak when USB disconnection while streaming. Resetting the streaming flag on disconnection prevented the URBs to be freed when streaming was active. Also, USBs cannot be killed after disconnection (oops in [usbcore] unlink1). Signed-off-by: Jean-Francois Moine Signed-off-by: Mauro Carvalho Chehab commit 9c06210b89e604aa75314d3d173a93292b0d2777 Author: Robert Krakora Date: Sun Jan 25 13:08:07 2009 -0300 V4L/DVB (10325): em28xx: Fix for fail to submit URB with IRQs and Pre-emption Disabled Trace: (Provided by Douglas) BUG: sleeping function called from invalid context at drivers/usb/core/urb.c:558 in_atomic():0, irqs_disabled():1 Pid: 4918, comm: sox Not tainted 2.6.27.5 #1 [] __might_sleep+0xc6/0xcb [] usb_kill_urb+0x1a/0xd8 [] ? __kmalloc+0x9b/0xfc [] ? __kmalloc+0xb8/0xfc [] ? usb_alloc_urb+0xf/0x31 [] em28xx_isoc_audio_deinit+0x2f/0x6c [em28xx_alsa] [] em28xx_cmd+0x1aa/0x1c5 [em28xx_alsa] [] snd_em28xx_capture_trigger+0x53/0x68 [em28xx_alsa] [] snd_pcm_do_start+0x1c/0x23 [snd_pcm] [] snd_pcm_action_single+0x25/0x4b [snd_pcm] [] snd_pcm_action+0x6a/0x76 [snd_pcm] [] snd_pcm_start+0x14/0x16 [snd_pcm] [] snd_pcm_lib_read1+0x66/0x273 [snd_pcm] [] ? snd_pcm_kernel_ioctl+0x46/0x5f [snd_pcm] [] snd_pcm_lib_read+0xbf/0xcd [snd_pcm] [] ? snd_pcm_lib_read_transfer+0x0/0xaf [snd_pcm] [] snd_pcm_oss_read3+0x99/0xdc [snd_pcm_oss] [] snd_pcm_oss_read2+0xa3/0xbf [snd_pcm_oss] [] ? _cond_resched+0x8/0x32 [] snd_pcm_oss_read+0x106/0x150 [snd_pcm_oss] [] ? snd_pcm_oss_read+0x0/0x150 [snd_pcm_oss] [] vfs_read+0x81/0xdc [] sys_read+0x3b/0x60 [] sysenter_do_call+0x12/0x34 ======================= The culprit in the trace is snd_pcm_action() which invokes a spin lock which disables pre-emption which disables an IRQ which causes the __might_sleep() function to fail the irqs_disabled() test. Since pre-emption is enabled then it is safe to de-allocate the memory if you first unlink each URB. In this instance you are safe since pre-emption is disabled. If pre-emption and irqs are not disabled then call usb_kill_urb(), else call usb_unlink_urb(). Thanks to Douglas for tracking down this bug originally!!! [dougsland@redhat.com: Fixed codyingstyle] Signed-off-by: Robert Krakora Signed-off-by: Douglas Schilling Landgraf Signed-off-by: Mauro Carvalho Chehab commit 7f03a5856c1c32ddc7b6b7a31bd43a4ab8e29f90 Author: Alexey Klimov Date: Sun Jan 25 20:07:28 2009 -0300 V4L/DVB (10317): radio-mr800: fix radio->muted and radio->stereo Move radio->muted and radio->stereo in section where radio mutex is locked to avoid possible race condition problems or access to memory. Thanks to David Ellingsworth for pointing to this weak place in driver. Signed-off-by: Alexey Klimov Signed-off-by: Douglas Schilling Landgraf Signed-off-by: Mauro Carvalho Chehab commit 6d9f13c47a009ccbaf40c2e388ab349690dd8000 Author: Hans Verkuil Date: Tue Jan 27 06:20:34 2009 -0300 V4L/DVB (10314): cx25840: ignore TUNER_SET_CONFIG in the command callback. These days TUNER_SET_CONFIG is broadcast to the other i2c devices and that triggers a fw load on the cx25840. Ignore this command since cx25840 isn't a tuner and you really do not want to load the firmware that early. Signed-off-by: Hans Verkuil Signed-off-by: Mauro Carvalho Chehab commit d1a470fbd987b28e64287718917faf8caf67a055 Author: Antti Palosaari Date: Tue Jan 20 14:56:20 2009 -0300 V4L/DVB (10288): af9015: bug fix: stick does not work always when plugged First control messages to the stick timeouts very often due to probable hw bug. Repeat first message few times if it fails as workaround. Signed-off-by: Antti Palosaari Signed-off-by: Mauro Carvalho Chehab commit f0830ebec9993e76b6280e3abb93ceab57b2c923 Author: Antti Palosaari Date: Tue Jan 13 13:08:29 2009 -0300 V4L/DVB (10287): af9015: fix second FE Bug causes 2nd FE MPEG TS buffer size to be zero and therefore no picture when 2nd FE was enabled. Configure correct buffer size also for 2nd FE. Signed-off-by: Antti Palosaari Signed-off-by: Mauro Carvalho Chehab commit ba3ed4c57fde2df1a8a5b0c445ae5d685334e5f9 Author: Hans Verkuil Date: Sun Jan 18 15:08:33 2009 -0300 V4L/DVB (10270): saa7146: fix unbalanced mutex_lock/unlock The default case of the switch didn't unlock the mutex. Signed-off-by: Hans Verkuil Signed-off-by: Mauro Carvalho Chehab commit 6dbe7af37def293e1116af186c94e2d47d353190 Author: Tony Broad Date: Sun Jan 18 07:55:38 2009 -0300 V4L/DVB (10265): budget.c driver: Kernel oops: "BUG: unable to handle kernel paging request at ffffffff I'm using a "Hauppauge WinTV-NOVA-T DVB card" of PCI id "13c2:1005" with kernel 2.6.27.9. I've recently experienced the following fairly consistent kernel oops on startup in grundig_29504_401_tuner_set_params from budget.c. As you might expect, following this failure, the card doesn't work. I'm not a kernel developer, nevertheless I seem to have managed to track this down to a non-existent initialisation of budget->dvb_frontend->tuner_priv. The attached patch fixes the problem for me (and I've managed to tune the card successfully as a result), but I don't know of anyone else using the driver so I can't test it on other people. Please let me know if this works for you or if I've done something terribly wrong ;-( BUG: unable to handle kernel paging request at ffffffff IP: [] :budget:grundig_29504_401_tuner_set_params+0x3b/0xf8 *pde = 007e0067 *pte = 00000000 Oops: 0000 [#1] SMP Modules linked in: bridge stp bnep rfcomm l2cap asb100 hwmon_vid hwmon fuse ipt_REJECT nf_conntrack_ipv4 iptable_filter ip_tables ip6t_REJECT xt_tcpudp nf_conntrack_ipv6 xt_state nf_conntrack ip6table_filter ip6_tables x_tables ipv6 loop dm_multipath scsi_dh ppdev snd_cmipci gameport snd_seq_dummy snd_seq_oss snd_seq_midi_event snd_seq snd_pcm_oss snd_mixer_oss l64781 snd_pcm snd_page_alloc snd_opl3_lib snd_timer parport_pc snd_hwdep parport btusb snd_mpu401_uart budget budget_core snd_rawmidi bluetooth saa7146 snd_seq_device ttpci_eeprom snd soundcore sr_mod i2c_sis96x cdrom dvb_core sis900 i2c_core floppy pcspkr mii sata_sil sg dm_snapshot dm_zero dm_mirror dm_log dm_mod pata_sis ata_generic pata_acpi libata sd_mod scsi_mod crc_t10dif ext3 jbd mbcache uhci_hcd ohci_hcd ehci_hcd [last unloaded: microcode] Pid: 2319, comm: kdvb-fe-0 Not tainted (2.6.27.9-73.fc9.i686 #1) EIP: 0060:[] EFLAGS: 00010286 CPU: 0 EIP is at grundig_29504_401_tuner_set_params+0x3b/0xf8 [budget] EAX: f6417f00 EBX: f6f53808 ECX: 00000000 EDX: ffffffff ESI: f6f94404 EDI: f6417f00 EBP: f6417f10 ESP: f6417ef0 DS: 007b ES: 007b FS: 00d8 GS: 0000 SS: 0068 Process kdvb-fe-0 (pid: 2319, ti=f6417000 task=f642b2c0 task.ti=f6417000) Stack: f6e39800 00000000 00000004 f6417f00 c064523c f6f53808 f6f53800 f6f94404 f6417f54 f8b2e45a f6417f24 00000286 f6417f4c f6417f38 00000000 00000286 f6417f3c c064520f f642b2c0 f6417f6c c064456f 00000001 f6f94400 00000001 Call Trace: [] ? _spin_lock_irqsave+0x29/0x30 [] ? apply_frontend_param+0x27/0x357 [l64781] [] ? _spin_lock_irq+0x1c/0x20 [] ? __down_common+0x91/0xbf [] ? dvb_frontend_swzigzag_autotune+0x17d/0x1a4 [dvb_core] [] ? dvb_frontend_swzigzag+0x1ac/0x209 [dvb_core] [] ? dvb_frontend_thread+0x2eb/0x3b3 [dvb_core] [] ? autoremove_wake_function+0x0/0x33 [] ? dvb_frontend_thread+0x0/0x3b3 [dvb_core] [] ? kthread+0x3b/0x61 [] ? kthread+0x0/0x61 [] ? kernel_thread_helper+0x7/0x10 ======================= Code: ec 14 8b 80 00 02 00 00 8b 93 08 02 00 00 8d 7d e4 8b 40 20 89 45 e0 31 c0 85 d2 f3 ab 8d 45 f0 66 c7 45 e8 04 00 89 45 ec 74 09 <0f> b6 02 66 89 45 e4 eb 06 66 c7 45 e4 61 00 8b 0e be 0a 8b 02 EIP: [] grundig_29504_401_tuner_set_params+0x3b/0xf8 [budget] SS:ESP 0068:f6417ef0 Signed-off-by: Oliver Endriss Signed-off-by: Mauro Carvalho Chehab commit bf3647c44bc76c43c4b2ebb4c37a559e899ac70e Author: Ingo Molnar Date: Thu Jan 29 11:45:35 2009 +0100 x86: tone down mtrr_trim_uncached_memory() warning kerneloops.org is reporting a lot of these warnings that come due to vmware not setting up any MTRRs for emulated CPUs: | Reported 709 times (14696 total reports) | BIOS bug (often in VMWare) where the MTRR's are set up incorrectly | or not at all | | This warning was last seen in version 2.6.29-rc2-git1, and first | seen in 2.6.24. | | More info: | http://www.kerneloops.org/searchweek.php?search=mtrr_trim_uncached_memory Keep a one-liner KERN_INFO about it - so that we have so notice if empty MTRRs are caused by native hardware/BIOS weirdness. Signed-off-by: Ingo Molnar commit 8760e5b6d1dc9527e0f96f80daaa12a8158d9839 Author: Devin Heitmueller Date: Sat Jan 17 13:41:54 2009 -0300 V4L/DVB (10261): em28xx: fix kernel panic on audio shutdown Revert a change made in change 9743 which resulted in a kernel panic in some cases on shutdown of the audio stream. First discovered when working on the Pinnacle 880e support, and later reproduced by a user on the mailing list with the HVR-900 as well. Signed-off-by: Devin Heitmueller Signed-off-by: Mauro Carvalho Chehab commit 6e7b9ea0937eeb75fa166ef7bd22b5f3bb5676d1 Author: Robert Krakora Date: Sun Jan 18 21:59:34 2009 -0300 V4L/DVB (10257): em28xx: Fix for KWorld 330U Board Fix for KWorld 330U Board Many thanks to Devin and Mauro!!! Signed-off-by: Robert Krakora Signed-off-by: Mauro Carvalho Chehab commit 7e4b15e4201a101840c226dafe0d3df7ee652bf6 Author: Robert Krakora Date: Sun Jan 18 21:45:28 2009 -0300 V4L/DVB (10256): em28xx: Fix for KWorld 330U AC97 Fix for KWorld 330U AC97 Many thanks to Devin and Mauro again!!! Signed-off-by: Robert Krakora Signed-off-by: Mauro Carvalho Chehab commit 53d12e5a56934c31ca59f3b6f127e5a68e645fd2 Author: Robert Krakora Date: Fri Jan 16 11:23:25 2009 -0300 V4L/DVB (10254): em28xx: Fix audio URB transfer buffer race condition em28xx: Fix audio URB transfer buffer memory leak and race condition/corruption of capture pointer Leak fix kindly contributed by Pádraig Brady. Signed-off-by: Robert Krakora Signed-off-by: Mauro Carvalho Chehab commit ba390f005573bdf6ab7fd78bb05119036c2ed539 Author: Hans Verkuil Date: Thu Jan 15 05:37:14 2009 -0300 V4L/DVB (10250): cx25840: fix regression: fw not loaded on first use With the conversion to v4l2_subdev one bit of code was accidentally dropped: on receiving the first command the driver has to load the fw. A new init() command was introduced to do that explicitly for bridge drivers that are converted to use v4l2_subdev, but old drivers that are not yet converted no longer worked. This patch fixes this regression for these old drivers. Signed-off-by: Hans Verkuil Signed-off-by: Mauro Carvalho Chehab commit cf8e193a48879a02f55b53c0cf2ec98a784baaa5 Author: Hans Verkuil Date: Sat Jan 17 13:09:11 2009 -0300 V4L/DVB (10248): v4l-dvb: fix a bunch of compile warnings. Signed-off-by: Hans Verkuil Signed-off-by: Mauro Carvalho Chehab commit 32929fb4c7c4a693ed723253b21e7bf3c8cb4b1c Author: Hans Verkuil Date: Sat Jan 17 11:21:02 2009 -0300 V4L/DVB (10243): em28xx: fix compile warning Signed-off-by: Hans Verkuil Signed-off-by: Mauro Carvalho Chehab commit aeaecaf8eba9efa6a0a623122abb8f61449e42ef Author: Mike Isely Date: Wed Jan 14 04:58:36 2009 -0300 V4L/DVB (10240): Fix obvious swapped names in v4l2_subdev logic The VIDIOC_QUERYCTRL command needs to actually do a queryctrl, not a querymenu. Similarly, the VIDIOC_QUERYMENU command needs to actually do a querymenu not a queryctrl. Signed-off-by: Mike Isely Signed-off-by: Mauro Carvalho Chehab commit db4b2d193c2d3ad495bcfbce8d4354c1663af2e5 Author: Nicolas Fournier Date: Tue Jan 13 07:15:25 2009 -0300 V4L/DVB (10233): [PATCH] Terratec Cinergy DT XS Diversity new USB ID (0ccd:0081) The following patch adds support for a new version of the Terratec Cinergy DT USB XS Diversity Dual DVB-T TV tuner stick. The USB ID of the new stick is 0ccd:0081. The hardware of the stick has changed, when compared to the first version of this stick, but it still uses quite standard components, so that only minor changes are needed to the sources. The patch has been successfully tested with hotplugging the device and then 2 x tzap and 2 x mplayer, to watch two different TV programs simultaneously. The stick works with both, the old and new firmwares: - dvb-usb-dib0700-1.10.fw and - dvb-usb-dib0700-1.20.fw Signed-off-by: Nicolas Fournier Signed-off-by: Patrick Boettcher Signed-off-by: Mauro Carvalho Chehab commit f9129a2e537a4849c5194f98577bc274cda0d726 Author: Hans Verkuil Date: Mon Jan 12 18:12:13 2009 -0300 V4L/DVB (10230): v4l2-device: fix buggy macro Signed-off-by: Hans Verkuil Signed-off-by: Mauro Carvalho Chehab commit 6e0e12f15a503b7096303d495247fbeaa2b12582 Author: Andy Walls Date: Sun Jan 11 21:18:04 2009 -0300 V4L/DVB (10229): cx88-dvb: Fix order of frontend allocations On Fri, 2009-01-09 at 15:40 +0300, Goga777 wrote: > hI > > With today v4l-dvb I couldn't run my hvr4000 card on 2.6.27 kernel > [ 14.555162] cx88/2: cx2388x dvb driver version 0.0.6 loaded > [ 14.555231] cx88/2: registering cx8802 driver, type: dvb access: shared > [ 14.555303] cx88[0]/2: subsystem: 0070:6900, board: Hauppauge WinTV-HVR4000 DVB-S/S2/T/Hybrid [card=68] > [ 14.555374] cx88[0]/2: cx2388x based DVB/ATSC card > [ 14.555446] BUG: unable to handle kernel NULL pointer dereference at 00000000 > [ 14.555560] IP: [] __mutex_lock_common+0x3c/0xe4 > [ 14.555652] *pde = 00000000 > [ 14.555735] Oops: 0002 [#1] SMP > [ 14.555851] Modules linked in: cx88_dvb(+) cx88_vp3054_i2c videobuf_dvb wm8775 dvb_core tuner_simple tuner_types snd_seq_dummy tda9887 snd_seq_oss(+) snd_intel8x0(+) tda8290 snd_seq_midi snd_seq_midi_event snd_ac97_codec cx88_alsa(+) snd_seq ac97_bus snd_pcm_oss snd_mixer_oss snd_pcm snd_rawmidi snd_timer tuner snd_seq_device psmouse snd serio_raw ivtv(+) cx8800 cx8802 cx88xx soundcore cx2341x ir_common ns558 i2c_i801 v4l2_common videodev i2c_algo_bit gameport v4l1_compat snd_page_alloc tveeprom pcspkr floppy videobuf_dma_sg videobuf_core btcx_risc i2c_core parport_pc parport button intel_agp agpgart shpchp pci_hotplug rng_core iTCO_wdt sd_mod evdev usbhid hid ff_memless ext3 jbd mbcache ide_cd_mod cdrom ide_disk ata_piix libata dock 8139too usb_storage scsi_mod piix 8139cp mii ide_core uhci_hcd ehci_hcd usbcore thermal processor fan thermal_sys > [ 14.557013] > [ 14.557013] Pid: 2310, comm: modprobe Not tainted (2.6.27.1-custom-default1 #1) > [ 14.557013] EIP: 0060:[] EFLAGS: 00010246 CPU: 1 > [ 14.557013] EIP is at __mutex_lock_common+0x3c/0xe4 > [ 14.557013] EAX: de653e98 EBX: de739118 ECX: de739120 EDX: 00000000 > [ 14.557013] ESI: dd4209e0 EDI: de73911c EBP: de653eb0 ESP: de653e88 > [ 14.557013] DS: 007b ES: 007b FS: 00d8 GS: 0033 SS: 0068 > [ 14.557013] Process modprobe (pid: 2310, ti=de652000 task=dd4209e0 task.ti=de652000) > [ 14.557013] Stack: 3535352e 5d343733 00000002 de739120 de739120 00000000 c044a6c0 de739110 > [ 14.557013] de739118 00000001 de653ebc c02e6d38 c02e6b88 de653ec4 c02e6b88 de653ed8 > [ 14.557013] e1ac7115 de6a9000 00000001 00000000 de653f0c e1aeca62 de739004 de739000 > [ 14.557013] Call Trace: > [ 14.557013] [] ? __mutex_lock_slowpath+0x17/0x1a > [ 14.557013] [] ? mutex_lock+0x12/0x14 > [ 14.557013] [] ? mutex_lock+0x12/0x14 > [ 14.557013] [] ? videobuf_dvb_get_frontend+0x19/0x40 [videobuf_dvb] > [ 14.557013] [] ? cx8802_dvb_probe+0xc9/0x1945 [cx88_dvb] > [ 14.557013] [] ? cx8802_register_driver+0xbd/0x1ac [cx8802] > [ 14.557013] [] ? cx8802_register_driver+0x106/0x1ac [cx8802] > [ 14.557013] [] ? dvb_init+0x22/0x27 [cx88_dvb] > [ 14.557013] [] ? _stext+0x42/0x11a > [ 14.557013] [] ? dvb_init+0x0/0x27 [cx88_dvb] > [ 14.557013] [] ? __blocking_notifier_call_chain+0xe/0x51 > [ 14.557013] [] ? sys_init_module+0x8c/0x17d > [ 14.557013] [] ? syscall_call+0x7/0xb > [ 14.557013] [] ? round_jiffies_relative+0x14/0x16 > [ 14.557013] ======================= > [ 14.557013] Code: 78 04 89 f8 89 55 e0 64 8b 35 00 30 3f c0 e8 2e 0c 00 00 8d 43 08 89 45 e4 8b 53 0c 8d 45 e8 8b 4d e4 89 43 0c 89 4d e8 89 55 ec <89> 02 89 75 f0 83 c8 ff 87 03 48 74 55 8a 45 e0 8b 4d e0 83 e0 > [ 14.557013] EIP: [] __mutex_lock_common+0x3c/0xe4 SS:ESP 0068:de653e88 > [ 14.565211] ---[ end trace 94d8b014e067ac7b ]--- Tested and confirmed to work by several users at linux-media@vger.kernel.org Signed-off-by: Andy Walls Signed-off-by: Mauro Carvalho Chehab commit 8866f9cf8d85f3614855a49b9d9056f265d0cd33 Author: Mauro Carvalho Chehab Date: Mon Jan 12 21:50:52 2009 -0300 V4L/DVB (10228): em28xx: fix audio output PCM IN selection Some em28xx devices use the PCM IN AC 97 PIN for digital audio. However, currently, the PCM IN selection is not set by the driver. This patch allows specifying the PCM IN expected output, via board description table. Signed-off-by: Mauro Carvalho Chehab commit fc96ab730268b8b652ae2494088e8bd4572f58aa Author: Trent Piepho Date: Mon Jan 12 13:09:46 2009 -0300 V4L/DVB (10226): zoran: Get rid of extra module ref count The zoran driver does a module_get/put of THIS_MODULE on device open/close. This isn't necessary as the kernel does this automatically. Clean up the failure path of zoran_open() somewhat. Make the dprintk()s on open/close a higher debug level and make the user count printed take the current open/close into account. Signed-off-by: Trent Piepho Acked-by: Jean Delvare Signed-off-by: Mauro Carvalho Chehab commit 5e098b668977c85838af09005bd96c2e987654f0 Author: Trent Piepho Date: Mon Jan 12 13:09:46 2009 -0300 V4L/DVB (10225): zoran: Remove zr36057_adr field The driver should only use the kernel mapped io address, zr36057_mem, and not the PCI bus address, zr36057_adr. Since the latter is only printed out once, there is no need to save it in the driver data structure. There was some old code that looked like it was for the Alpha architecture which would use the PCI bus address. It probably no longer applies to modern kernels. Signed-off-by: Trent Piepho Acked-by: Jean Delvare Signed-off-by: Mauro Carvalho Chehab commit 17faeb20912af5d2a1422fdb606e785f9b1d88ba Author: Trent Piepho Date: Mon Jan 12 13:09:46 2009 -0300 V4L/DVB (10224): zoran: Use pci device table to get card type Instead of using custom code, just let the device layer look it up for us from the pci device table. This requires extending the pci device table to list each known card, plus a catch-all entry for the cards that don't have sub-system vendor/device data. Improve some of the info and error messages too. Signed-off-by: Trent Piepho Acked-by: Jean Delvare Signed-off-by: Mauro Carvalho Chehab commit 601139e08339b15997c6ae638dc5bf42c51ea204 Author: Trent Piepho Date: Mon Jan 12 13:09:46 2009 -0300 V4L/DVB (10223): zoran: Remove global device array The driver was keeping a global array with an entry for each zoran device probed. It was a leftover from when the driver didn't dynamically allocate the driver data for each device. There was only one use left, in the video device's ->open() method, looking up the struct zoran for the opened device from the minor number. This can be done better with video_get_drvdata(). Since zoran_num is now only used in the pci driver's ->probe() method, it doesn't need to be an atomic_t and be static. There is a race if multiple zoran cards could be probed at the same time, but currently the probe method for a given driver is single threaded. Signed-off-by: Trent Piepho Acked-by: Jean Delvare Signed-off-by: Mauro Carvalho Chehab commit 45bdcefea25cad2d7443f5b45a5319e2bd201048 Author: Trent Piepho Date: Mon Jan 12 13:09:46 2009 -0300 V4L/DVB (10222): zoran: Better syntax for initializing array module params When initializing a module parameter that is a per-card array, use "{ [0 ... (BUZ_MAX-1)] = -1 }" instead of "{ -1, -1, -1, -1 }". This way all of the entries will be correctly set to -1 if someone changes BUZ_MAX to a value other than 4. Adjust some of the parameter help text too. Signed-off-by: Trent Piepho Acked-by: Jean Delvare Signed-off-by: Mauro Carvalho Chehab commit 7ef5e025535ee220d7ba45dcd82f05ddce8c3e4c Author: Andy Walls Date: Sat Jan 10 18:04:45 2009 -0300 V4L/DVB (10219): saa7134: Prevent Oops due to stale IRQ status when enabling interrupts When enabling a shared IRQ line, then saa7134_irq handler could be invoked before the driver had completely set up internal structures, due to a shared interrupt line firing. Clear the saa7134 interrupt status reg, before requesting the irq line, so that stale IRQ status isn't processed before the internal structures are set up. Marcin Slusarz recently brought this Oops to the attention of the v4l-dvb lists and provided an initial analysis by investigating reports found here: http://kerneloops.org/guilty.php?guilty=mute_input_7133&version=2.6.27-release&start=1802240&end=1835007&class=oops Reported-by: Marcin Slusarz Signed-off-by: Andy Walls Signed-off-by: Mauro Carvalho Chehab commit cd8f894eacf13996d920fdd2aef1afc55156b191 Author: Andy Walls Date: Fri Jan 9 22:59:27 2009 -0300 V4L/DVB (10218): cx23885: Fix Oops for mixed install of analog and digital only cards Analog support for HVR-1250 has not been completed, but does exist for the HVR-1800. Since both cards use the same driver, it tries to create the analog dev for both devices, which is not possible. This causes a NULL error to show up in video_open and mpeg_open. -Mark Iterations through the cx23885_devlist must check for NULL pointers as some supported devices only have DVB support at the moment. Mark Jenks encoutered an Oops in a system with both an HVR-1250 and HVR-1800 installed. -Andy Reported-by: Mark Jenks Tested-by: Mark Jenks Signed-off-by: Mark Jenks Signed-off-by: Andy Walls Signed-off-by: Mauro Carvalho Chehab commit 0f3559ef17362a7dd5017521a4dd4cad31263395 Author: Martin Dauskardt Date: Sat Jan 10 10:16:16 2009 -0300 V4L/DVB (10216): saa7127: fix broken S-Video with saa7129 Register 0x2d has to be set differently in the saa7129 compared to the saa7127. This was not done correctly, so S-Video was broken in certain circumstances. This fixes a regression introduced in 2.6.28. Signed-off-by: Martin Dauskardt Signed-off-by: Hans Verkuil Signed-off-by: Mauro Carvalho Chehab commit 9c17e2ea1e91ed694c3869c860a04507b103f5e6 Author: Hans Verkuil Date: Sat Jan 10 08:31:15 2009 -0300 V4L/DVB (10214): Fix 'stb0899_get_srate' defined but not used warning Signed-off-by: Hans Verkuil Signed-off-by: Mauro Carvalho Chehab commit 66aa66ea31371daad562bf22ff245caf707d5d40 Author: Trent Piepho Date: Sun Jan 11 12:02:54 2009 -0300 V4L/DVB (10212): Convert to be a pci driver This is a really old and crufty driver that wasn't using the long established pci driver framework. Signed-off-by: Trent Piepho Acked-by: Jean Delvare [mchehab@redhat.com: Cleaned up a few CodingStyle issues] Signed-off-by: Mauro Carvalho Chehab commit f90c3c0bdd7a3f16eecf1b077f5e031c44ddb605 Author: Simon Harrison Date: Fri Jan 9 09:07:07 2009 -0300 V4L/DVB (10210): Fix a bug on v4lgrab.c v4lgrab breaks the fputc macro on some systems, because of #defined FILE. Also, I also added comments because it was not at all clear that to get gspca cameras to work with this application you need v4l1compat. Signed-off-by: Simon Harrison Signed-off-by: Mauro Carvalho Chehab commit 3e478c06e83efc365e8351bff7b4c569f22e642d Author: Mauro Carvalho Chehab Date: Fri Jan 9 08:38:47 2009 -0300 V4L/DVB (10209): tveeprom: Properly initialize tuner type (BZ#11367) If Hauppauge eeprom is corrupted, the driver returns tuner = 0, instead of TUNER_ABSENT. This makes the drivers to initialize tuner, instead of handling the manual parameter. Since the tuner core rejects that a tuner to have their type changed, this breaks the manual tuner override. Signed-off-by: Mauro Carvalho Chehab commit dbdf03b48bd32150b4023ea0dd22f566958b6294 Author: Mauro Carvalho Chehab Date: Thu Jan 8 23:27:32 2009 -0300 V4L/DVB (10208): zoran: Re-adds udev entry removed by changeset 60b4bde4 Changeset 60b4bde48b36c0315ef41fd38c339b9c7e68c46f removed an unused struct on zoran driver, when compiled with "Y". However, as pointed by Jean Delvare , this is neeeded when the driver is compiled as a module, since udev relies on it to auto-load the module. Signed-off-by: Mauro Carvalho Chehab commit d7e43844e40e07cadc48f1733b9738659f83b38c Author: Matthias Dahl Date: Fri Sep 26 06:29:03 2008 -0300 V4L/DVB (9054): implement proper locking in the dvb ca en50221 driver Concurrent access to a single DVB CA 50221 interface slot is generally discouraged. The underlying drivers (budget-av, budget-ci) do not implement proper locking and thus two transactions could (and do) interfere with on another. This fixes the following problems seen by others and myself: - sudden i/o errors when writing to the ci device which usually would result in an undefined state of the hw and require a software restart - errors about the CAM trying to send a buffer larger than the agreed size usually also resulting in an undefined state of the hw Due the to design of the DVB CA 50221 driver, implementing the locks in the underlying drivers would not be enough and still leave some race conditions, even though they were harder to trigger. Signed-off-by: Matthias Dahl Signed-off-by: Mauro Carvalho Chehab commit 0c37dd7a9052529cd9346b04530be7878c03e429 Author: Sebastian Andrzej Siewior Date: Thu Jan 8 12:49:17 2009 -0300 V4L/DVB (10202): [PATCH] v4l/tvp514x: Don't write after line end to avoid: | tvp514x 0-005c: No platform data | !!<3>tvp514x 0-005d: No platform data Signed-off-by: Sebastian Andrzej Siewior Signed-off-by: Mauro Carvalho Chehab commit 77f56279f75b3c1decb4f8a3251b155bb791059e Author: Mauro Carvalho Chehab Date: Thu Jan 8 17:13:53 2009 -0300 V4L/DVB (10201): Fixes cx88 compilation bug Randy Dunlap wrote: > linux-next-20090108/drivers/media/video/cx88/cx88-i2c.c: In function 'cx88_call_i2c_clients': > linux-next-20090108/drivers/media/video/cx88/cx88-i2c.c:122: error: 'struct cx88_core' has no member named 'gate_ctrl' > linux-next-20090108/drivers/media/video/cx88/cx88-i2c.c:123: error: 'struct cx88_core' has no member named 'gate_ctrl' > linux-next-20090108/drivers/media/video/cx88/cx88-i2c.c:127: error: 'struct cx88_core' has no member named 'gate_ctrl' > linux-next-20090108/drivers/media/video/cx88/cx88-i2c.c:128: error: 'struct cx88_core' has no member named 'gate_ctrl' Signed-off-by: Mauro Carvalho Chehab commit 51cac8ada5caaade4eca0023042ceb01edd82840 Author: Laurent Pinchart Date: Sat Jan 3 20:08:26 2009 -0300 V4L/DVB (10199): uvcvideo: Fix GET_DEF failure detection. Commit 44f0079ec74330b457d990072c13cbe28b0f1abf erroneously considers all GET_DEF requests as unsuccessful. Fix this by checking the request return value. Signed-off-by: Laurent Pinchart Signed-off-by: Mauro Carvalho Chehab commit fba4578ee925110587ef9b8b6ddfabf2ce288071 Author: Laurent Pinchart Date: Sat Jan 3 19:24:38 2009 -0300 V4L/DVB (10198): uvcvideo: Print the UVC version number in binary-coded decimal. The UVC specification release number is a binary-coded decimal number, print it as such. Signed-off-by: Laurent Pinchart Signed-off-by: Mauro Carvalho Chehab commit 2c2d264bb951c1a846b86431d3e784edfb79ab39 Author: Laurent Pinchart Date: Sat Jan 3 19:12:40 2009 -0300 V4L/DVB (10197): uvcvideo: Whitespace and comments cleanup, copyright updates. Signed-off-by: Laurent Pinchart Signed-off-by: Mauro Carvalho Chehab commit bb1b082ed65292fc6fc7e01bbe0dd005d5a4140e Author: Yusuf Altin Date: Thu Jan 8 07:58:45 2009 -0300 V4L/DVB (10195): [PATCH] add Terratec Cinergy T Express to dibcom driver This patch introduces support for dvb-t for the following dibcom based card: Terratec Cinergy T Express (USB-ID: 0ccd:0062) Signed-off-by: Yusuf Altin Signed-off-by: Albert Comerma Signed-off-by: Patrick Boettcher Signed-off-by: Mauro Carvalho Chehab commit 16e68d7cb8eb1c671867d2a0ecd4aa2e17124364 Author: Huang Weiyi Date: Tue Jan 6 22:40:56 2009 -0300 V4L/DVB (10193): removed unused #include 's Removed unused #include 's in files below, drivers/media/video/cs5345.c drivers/media/video/pwc/pwc-if.c drivers/media/video/saa717x.c drivers/media/video/upd64031a.c drivers/media/video/upd64083.c drivers/media/video/uvc/uvc_ctrl.c drivers/media/video/uvc/uvc_driver.c drivers/media/video/uvc/uvc_queue.c drivers/media/video/uvc/uvc_video.c drivers/media/video/uvc/uvc_status.c Signed-off-by: Huang Weiyi Acked-by: Laurent Pinchart Signed-off-by: Mauro Carvalho Chehab commit 24c3c41584b9331be5e0d18d46943729a5bd2d4e Author: Mauro Carvalho Chehab Date: Wed Jan 7 22:49:25 2009 -0300 V4L/DVB (10192): em28xx: fix input selection em28xx were trying to access the third input entry, even for boards that don't support it. This patch reviews the input mux selection fixing this bug and a few other troubles, like not validating the input on one userspace ioctl. Signed-off-by: Mauro Carvalho Chehab commit bae7eb33b25387fdc7ccae08768bef1f9484a5b0 Author: Jiri Kosina Date: Wed Jan 28 23:06:37 2009 +0100 HID: document difference between hid_blacklist and hid_ignore_list Many people get it wrong and add device IDs into hid_blacklist instead of hid_ignore_list. Let's put a little comment in place. Signed-off-by: Jiri Kosina commit 656f1fb90aa2261daa316c0dd8f75e3420f81e9e Author: Jarod Wilson Date: Wed Jan 28 21:22:35 2009 +0100 HID: add antec-branded soundgraph imon devices to blacklist hid_ignore_list additions for the Antec-branded SoundGraph iMon VFD and LCD devices (0x15c2:0x0044 and 0x0045). These devices are driven by lirc. Signed-off-by: Jarod Wilson Signed-off-by: Jiri Kosina commit be5d0c837cf8e43458c5757be5df4837a2803d08 Author: Oliver Neukum Date: Wed Jan 28 09:36:18 2009 +0100 HID: fix reversed logic in disconnect testing of hiddev The logic for testing for disconnection is reversed in an ioctl leading to false reports of disconnection. Signed-off-by: Oliver Neukum Tested-by: Folkert van Heusden Signed-off-by: Jiri Kosina commit 0fb21de0799a985d2da3da14ae5625d724256638 Author: Jiri Kosina Date: Wed Jan 14 03:03:21 2009 +0100 HID: adjust report descriptor fixup for MS 1028 receiver Report descriptor fixup for MS 1028 receiver changes also values for Keyboard and Consumer, which incorrectly trims the range, causing correct events being thrown away before passing to userspace. We need to keep the GenDesk usage fixup though, as it reports totally bogus values about axis. Reported-by: Lucas Gadani Signed-off-by: Jiri Kosina commit a9ac49d303f967be0dabd97cb722c4a13109c6c2 Author: Jeff Layton Date: Thu Jan 22 14:43:21 2009 -0500 cifs: make sure we allocate enough storage for socket address The sockaddr declared on the stack in cifs_get_tcp_session is too small for IPv6 addresses. Change it from "struct sockaddr" to "struct sockaddr_storage" to prevent stack corruption when IPv6 is used. Signed-off-by: Jeff Layton Signed-off-by: Steve French commit da505c386c9f993e43861791dae339b2219cf8dd Author: Steve French Date: Mon Jan 19 03:49:35 2009 +0000 [CIFS] Make socket retry timeouts consistent between blocking and nonblocking cases We have used approximately 15 second timeouts on nonblocking sends in the past, and also 15 second SMB timeout (waiting for server responses, for most request types). Now that we can do blocking tcp sends, make blocking send timeout approximately the same (15 seconds). Signed-off-by: Steve French commit f818dd55c4a8b3519e203900bde0bb780d36e799 Author: Steve French Date: Mon Jan 19 02:38:35 2009 +0000 [CIFS] some cleanup to dir.c prior to addition of posix_open Signed-off-by: Steve French commit 42c245447c8c3f998dfe880aba18b6e5129d2976 Author: Steve French Date: Tue Jan 13 22:03:55 2009 +0000 [CIFS] revalidate parent inode when rmdir done within that directory When a search is pending of a parent directory, and a child directory within it is removed, we need to reset the parent directory's time so that we don't reuse the (now stale) search results. Thanks to Gunter Kukkukk for reporting this: > got the following failure notification on irc #samba: > > A user was updating from subversion 1.4 to 1.5, where the > repository is located on a samba share (independent of > unix extensions = Yes or No). > svn 1.4 did work, 1.5 does not. > > The user did a lot of stracing of subversion - and wrote a > testapplet to simulate the failing behaviour. > I've converted the C++ source to C and added some error cases. > > When using "./testdir" on a local file system, "result2" > is always (nil) as expected - cifs vfs behaves different here! > > ./testdir /mnt/cifs/mounted/share > > returns a (failing) valid pointer. Acked-by: Dave Kleikamp Acked-by: Jeff Layton Signed-off-by: Steve French commit 6a7f8d36c00ab7adef5fb633f7805c91e8c1e139 Author: Steve French Date: Mon Jan 12 21:03:25 2009 +0000 [CIFS] Rename md5 functions to avoid collision with new rt modules When rt modules were added they (each) included their own md5 with names which collided with the existing names of cifs's md5 functions. Renaming cifs's md5 modules so we don't collide with them. > Stephen Rothwell wrote: > When CIFS is built-in (=y) and staging/rt28[67]0 =y, there are multiple > definitions of: > > build-r8250.out:(.text+0x1d8ad0): multiple definition of `MD5Init' > build-r8250.out:(.text+0x1dbb30): multiple definition of `MD5Update' > build-r8250.out:(.text+0x1db9b0): multiple definition of `MD5Final' > > all of which need to have more unique identifiers for their global > symbols (e.g., rt28_md5_init, cifs_md5_init, foo, blah, bar). > CC: Greg K-H Signed-off-by: Steve French commit 0496e02d8791e7f06673a19a181be30dad6eff70 Author: Jeff Layton Date: Tue Dec 30 12:39:16 2008 -0500 cifs: turn smb_send into a wrapper around smb_sendv cifs: turn smb_send into a wrapper around smb_sendv Rename smb_send2 to smb_sendv to make it consistent with kernel naming conventions for functions that take a vector. There's no need to have 2 functions to handle sending SMB calls. Turn smb_send into a wrapper around smb_sendv. This also allows us to properly mark the socket as needing to be reconnected when there's a partial send from smb_send. Also, in practice we always use the address and noblocksnd flag that's attached to the TCP_Server_Info. There's no need to pass them in as separate args to smb_sendv. Signed-off-by: Jeff Layton Acked-by: Dave Kleikamp Signed-off-by: Steve French commit c20f326a62c046ee958c3aa584f183201adb229f Author: Takashi Yoshii Date: Wed Jan 28 09:29:13 2009 +0000 sh: Fix up T-bit error handling in SH-4A mutex fastpath. This corrects a deadlock encountered on ap325 in the cases where the mutex is contended and the slow-path needs to be fallen back upon. Signed-off-by: Takashi YOSHII Signed-off-by: Kuninori Morimoto Signed-off-by: Paul Mundt commit 03f07876df2565321871a2dbf33c5c737df185df Author: Paul Mundt Date: Thu Jan 29 11:21:38 2009 +0900 sh: Fix up spurious syscall restarting. The T-bit manipulation for syscall error checking had the side effect of spuriously returning ERESTART* errno values over EINTR. So, we simplify the error checking a bit and leave the T-bit alone. Reported-by: Kaz Kojima Signed-off-by: Paul Mundt commit 0f6dee232f84c11ec195721571763ccae1b82639 Author: Carmelo AMOROSO Date: Wed Oct 15 16:48:16 2008 +0100 sh: fcnvds fix with denormalized numbers on SH-4 FPU. This fixes a bug in the FPU exception handler for the FCNVDS instruction. To get the register number the instruction is shifted right by 9, though it should be shifted right by 8. More information at ST Linux bugzilla: https://bugzilla.stlinux.com/show_bug.cgi?id=4892 Signed-off-by: Giuseppe Di Giore Signed-off-by: Carmelo Amoroso Signed-off-by: Stuart Menefy Signed-off-by: Paul Mundt commit 48865163109690ed988e2d98d6f258ec743c94c7 Author: Christopher SMITH Date: Mon Oct 6 12:46:18 2008 +0100 sh: Only reserve memory under CONFIG_ZERO_PAGE_OFFSET when it != 0. Signed-off-by: Chris Smith Signed-off-by: Stuart Menefy Signed-off-by: Paul Mundt commit cadc4e1a2b4d20d0cc0e81f2c6ba0588775e54e5 Author: Stuart Menefy Date: Fri Dec 12 18:34:38 2008 +0000 sh: Handle calling csum_partial with misaligned data In rare circumstances csum_partial() can be called with data which is not 16 or 32 bit aligned. This is been observed with RPC calls for NFS file systems for example. Add support for handling this without resorting to the misaligned fixup code (which is why this hasn't been seen as a problem). This mimics the i386 version, which has had this support for some time. Signed-off-by: Stuart Menefy Signed-off-by: Paul Mundt commit 3d22fca7ab720818cca19a1ee6820e9dc4485195 Author: Kuninori Morimoto Date: Tue Jan 27 02:46:12 2009 +0000 sh: ap325rxa: Enable ov772x in defconfig. This patch updates the ap325 defconfig to include ov772x camera driver. Old camera is still supported. Signed-off-by: Kuninori Morimoto Signed-off-by: Paul Mundt commit 7a65d245fa32d937409e2fc30bb24a85488090de Author: Kuninori Morimoto Date: Thu Jan 22 00:38:31 2009 +0000 sh: ap325rxa: Add ov772x support. This patch add ov772x camera settings to ap325, Old camera is still supported. And it will be 2nd camera if you select ov772x and soc_camera_platform in same time. Signed-off-by: Kuninori Morimoto Signed-off-by: Magnus Damm Signed-off-by: Paul Mundt commit 86746284e20411c66e25bddac391ba821560522b Author: Kuninori Morimoto Date: Thu Jan 22 00:33:21 2009 +0000 sh: ap325rxa: control camera power toggling. Signed-off-by: Kuninori Morimoto Signed-off-by: Magnus Damm Signed-off-by: Paul Mundt commit 334d99072d2b740fa3e0d14e1ac1126805dda2ef Author: Kuninori Morimoto Date: Thu Jan 22 00:18:05 2009 +0000 sh: mach-migor: Enable ov772x and tw9910 in defconfig. This patch updates the Migo-R defconfig to include ov772x camera and tw9910 video driver Signed-off-by: Kuninori Morimoto Signed-off-by: Paul Mundt commit c3cf5e8cc56d272f828a66610bb78bbb727b2ce1 Author: David S. Miller Date: Wed Jan 21 23:16:40 2009 -0800 sparc: Probe PMU type and record in sparc_pmu_type. Signed-off-by: David S. Miller commit 3eb8057bbafc64dbf09d5c18513aa80c1b7f2fcb Author: David S. Miller Date: Wed Jan 21 21:30:23 2009 -0800 sparc64: Move generic PCR support code to seperate file. It all lives in the oprofile support code currently and we will need to share this stuff with NMI watchdog and perf_counter support. Signed-off-by: David S. Miller commit 31878dd86b7df9a147f5e6cc6e07092b4308782b Author: Len Brown Date: Wed Jan 28 18:28:09 2009 -0500 ACPI: remove BM_RLD access from idle entry path It is true that BM_RLD needs to be set to enable bus master activity to wake an older chipset (eg PIIX4) from C3. This is contrary to the erroneous wording the ACPI 2.0, 3.0 specifications that suggests that BM_RLD is an indicator rather than a control bit. ACPI 1.0's correct wording should be restored in ACPI 4.0: http://www.acpica.org/bugzilla/show_bug.cgi?id=689 But the kernel should not have to clear BM_RLD when entering a non C3-type state just to set it again when entering a C3-type C-state. We should be able to set BM_RLD at boot time and leave it alone -- removing the overhead of accessing this IO register from the idle entry path. Signed-off-by: Len Brown commit 7cbcf22548df1f1df7c6b0d0bda579b92efca63c Author: Randy Dunlap Date: Tue Jan 20 16:29:13 2009 -0800 driver-core: fix kernel-doc parameter name Fix function parameter name in kernel-doc: Warning(linux-next-20090120//drivers/base/core.c:1289): No description found for parameter 'dev' Warning(linux-next-20090120//drivers/base/core.c:1289): Excess function parameter 'root' description in 'root_device_unregister' Signed-off-by: Randy Dunlap Acked-by: Mark McLoughlin Signed-off-by: Greg Kroah-Hartman commit 6a1b699678c8c0d45f88a37b32358a9e82bef6bb Author: Hans J. Koch Date: Wed Jan 7 00:12:37 2009 +0100 UIO: Add missing documentation of features added recently The following features were added to the UIO framework in the near past: * Generic drivers for platform devices (uio_pdrv, uio_pdrv_genirq) * an "offset" sysfs attribute for memory mappings Unfortunately, all this went in without documentation (won't happen again...) This patch updates UIO documentation. Signed-off-by: Hans J. Koch Acked-by: Uwe Kleine-König Signed-off-by: Greg Kroah-Hartman commit 720893fd5fb6de1f752f816a89e630f08ae8b20a Author: Tsugikazu Shibata Date: Fri Jan 23 09:59:50 2009 +0900 Sync patch for jp_JP/stable_kernel_rules.txt Updated jp_JP/stable_kernel_rules.txt due to changes in the main version of the file. Also, this patch is already reviewed by Japanese translation community called JF. Signed-off-by: Tsugikazu Shibata Signed-off-by: Greg Kroah-Hartman commit dcbbcefb6a6d540b605421e85fbaa4cea3fef5a2 Author: Roel Kluin Date: Wed Jan 28 22:14:17 2009 +0100 Staging: poch: fix verification of memory area fix verification of memory area Signed-off-by: Roel Kluin Signed-off-by: Greg Kroah-Hartman commit 05d6d677ab4b975697c6a987f1dffdc55d61a160 Author: Roel Kluin Date: Fri Dec 19 23:37:30 2008 +0100 Staging: usbip: usbip_start_threads(): handle kernel_thread failure kernel_thread may fail, notice this. Signed-off-by: Roel Kluin Signed-off-by: Greg Kroah-Hartman commit e48d94dac7eef16b4a4f246bf7b8df0f00cc0aec Author: Geert Uytterhoeven Date: Mon Jan 12 09:19:42 2009 +0100 staging: agnx: drivers/staging/agnx/agnx.h needs On m68k: drivers/staging/agnx/agnx.h: In function 'agnx_read32': drivers/staging/agnx/agnx.h:10: error: implicit declaration of function 'ioread32' drivers/staging/agnx/agnx.h: In function 'agnx_write32': drivers/staging/agnx/agnx.h:15: error: implicit declaration of function 'iowrite32' drivers/staging/agnx/sta.c: In function 'get_sta_power': drivers/staging/agnx/sta.c:94: error: implicit declaration of function 'memcpy_fromio' drivers/staging/agnx/sta.c: In function 'set_sta_power': drivers/staging/agnx/sta.c:103: error: implicit declaration of function 'memcpy_toio' Signed-off-by: Geert Uytterhoeven Signed-off-by: Greg Kroah-Hartman commit 1176e83aff6f15b6ae4d1b53c16124884ad29363 Author: Oleg Nesterov Date: Sun Jan 18 18:17:20 2009 +0100 Staging: android: task_get_unused_fd_flags: fix the wrong usage of tsk->signal Compile tested. task_struct->signal is not protected by RCU, the code is bogus. Change the code to take ->siglock to pin ->signal. Signed-off-by: Oleg Nesterov Cc: Arve Hjønnevåg Cc: Brian Swetland Signed-off-by: Greg Kroah-Hartman commit 191805ac41a63929003faa33365027d3fb924d71 Author: Arve Hjønnevåg Date: Wed Jan 14 16:54:16 2009 -0800 Staging: android: Add lowmemorykiller documentation. Signed-off-by: Arve Hjønnevåg Signed-off-by: Greg Kroah-Hartman commit 07960058f0ce77ddc3027d3e45a5de1fb977334f Author: Greg Kroah-Hartman Date: Wed Jan 28 15:42:43 2009 -0800 Staging: android: fix build error on 64bit boxes ktime_t isn't ment to directly access on all arches, so use the proper conversion functions instead to figure out what time is remaining. Reported-by: Randy Dunlap Cc: Arve Hjønnevåg Cc: Mike Lockwood Signed-off-by: Greg Kroah-Hartman commit 2d0db6bf5010c26beb1ccbd4ee50991fd2c05d90 Author: Arve Hjønnevåg Date: Thu Jan 8 16:48:46 2009 -0800 Staging: android: timed_gpio: Fix build to build on kernels after 2.6.25. Reported-by: Randy Dunlap Cc: Mike Lockwood Signed-off-by: Greg Kroah-Hartman commit c171ac36b74f6c90bc7a03c309136ba175314b6d Author: Arve Hjønnevåg Date: Thu Jan 8 15:28:50 2009 -0800 Staging: android: binder: fix arm build errors Reported-by: Randy Dunlap Signed-off-by: Greg Kroah-Hartman commit 7c5151fbf134e082bc7f2c0ed02684ed12578b3b Author: Greg Kroah-Hartman Date: Fri Jan 16 18:01:57 2009 -0800 Staging: meilhaus: fix Kbuild The Meilhaus drivers do not like being built into the kernel right now, so force them to be a module. Reported-by: Kamalesh Babulal Reported-by: Randy Dunlap Signed-off-by: Greg Kroah-Hartman commit c69a1f09430c7a62b87af89383998256fcf07685 Author: Greg Kroah-Hartman Date: Fri Jan 16 17:59:15 2009 -0800 Staging: comedi: fix Kbuild comedi doesn't like being built into the kernel right now, so force it to be a module. Reported-by: Kamalesh Babulal Reported-by: Randy Dunlap Signed-off-by: Greg Kroah-Hartman commit 89f135d8b53bcccafd91a075366d2704ba257cf3 Author: Chris Mason Date: Wed Jan 28 15:34:27 2009 -0500 Btrfs: fix readdir on 32 bit machines After btrfs_readdir has gone through all the directory items, it sets the directory f_pos to the largest possible int. This way applications that mix readdir with creating new files don't end up in an endless loop finding the new directory items as they go. It was a workaround for a bug in git, but the assumption was that if git could make this looping mistake than it would be a common problem. The largest possible int chosen was INT_LIMIT(typeof(file->f_pos), and it is possible for that to be a larger number than 32 bit glibc expects to come out of readdir. This patches switches that to INT_LIMIT(off_t), which should keep applications happy on 32 and 64 bit machines. Signed-off-by: Chris Mason commit e4f722fa42537bcb0ff14322a57dc3870d093cab Merge: 18e352e a717531 Author: Chris Mason Date: Wed Jan 28 20:29:43 2009 -0500 Merge branch 'master' of git://git.kernel.org/pub/scm/linux/kernel/git/mason/btrfs-unstable Fix fs/btrfs/super.c conflict around #includes commit 5e2125677fd72d36396cc537466e07ffcbbd4b2b Author: Stefan Richter Date: Wed Jan 28 01:03:34 2009 +0100 firewire: sbp2: fix DMA mapping leak on the failure path Reported-by: FUJITA Tomonori who also provided a first version of the fix. Signed-off-by: Stefan Richter commit f746072abc12d0e10ecd7847f1846157fde15987 Author: Stefan Richter Date: Sat Jan 24 19:41:46 2009 +0100 firewire: sbp2: define some magic numbers as macros Signed-off-by: Stefan Richter commit a08e100aece16e33a45b82924ad85f4066c4ed1c Author: Stefan Richter Date: Sat Jan 24 19:41:46 2009 +0100 firewire: sbp2: fix payload limit at S1600 and S3200 1394-2008 clause 16.3.4.1 (1394b-2002 clause 16.3.1.1) defines tighter limits than 1394-2008 clause 6.2.2.3 (1394a-2000 clause 6.2.2.3). Our previously too large limit doesn't matter though if the controller reports its max_receive correctly. Signed-off-by: Stefan Richter commit c1fbdd78517a9323ea5f5767c8ceb10aabc40fc2 Author: Stefan Richter Date: Sat Jan 24 19:41:46 2009 +0100 ieee1394: sbp2: don't assume zero model_id or firmware_revision if there is none This makes sbp2 behave more like firewire-sbp2 which reports 0xff000000 as immediate value if there are no unit directory entries for model_id or firmware_revision. It does not reduce matches with the currently existing quirks table; the only zero entry there is for a device which actually does have a zero model_id. It only changes how model_id and firmware_revision are logged if they are missing. Other functionally unrelated changes: The model_id member of quirks list entries is renamed to model; the value (but not the effect) of SBP2_ROM_VALUE_WILDCARD is changed. Now this part of the source is identical with firewire-sbp2 for easier maintenance. Signed-off-by: Stefan Richter commit d3e3e970e3722c51e3fd3b042b6065d4bfaf6f81 Author: Stefan Richter Date: Sat Jan 24 19:41:46 2009 +0100 ieee1394: sbp2: fix payload limit at S1600 and S3200 1394-2008 clause 16.3.4.1 (1394b-2002 clause 16.3.1.1) defines tighter limits than 1394-2008 clause 6.2.2.3 (1394a-2000 clause 6.2.2.3). Our previously too large limit doesn't matter though if the controller reports its max_receive correctly. Signed-off-by: Stefan Richter commit 4106ceff15495a7df1617e78bbf3e852fe6601c9 Author: Stefan Richter Date: Mon Jan 19 19:20:31 2009 +0100 ieee1394: sbp2: update a help string Signed-off-by: Stefan Richter commit 82d4b90debaa7ab3590335c1b641eb3d2ebb164e Author: Stefan Richter Date: Mon Jan 19 19:19:55 2009 +0100 ieee1394: support for speeds greater than S800 The hard-wired configuration of the top speed (until now S800) was unnecessary, remove it. If the local link layer controller supports S1600 or S3200, we now assume this speed for all present 1394b PHYs (except if they are behind 1394a repeaters) until nodemgr figured out the actual speed while fetching the config ROM. Signed-off-by: Stefan Richter commit a2b7b01c072435b7832ab392167545a1b38cabc3 Author: Len Brown Date: Wed Jan 28 12:47:15 2009 -0500 ACPI: remove locking from PM1x_STS register reads PM1a_STS and PM1b_STS are twins that get OR'd together on reads, and all writes are repeated to both. The fields in PM1x_STS are single bits only, there are no multi-bit fields. So it is not necessary to lock PM1x_STS reads against writes because it is impossible to read an intermediate value of a single bit. It will either be 0 or 1, even if a write is in progress during the read. Reads are asynchronous to writes no matter if a lock is used or not. Signed-off-by: Len Brown commit 18e352e4a73465349711a9324767e1b2453383e2 Author: Linus Torvalds Date: Wed Jan 28 10:49:30 2009 -0800 Linux 2.6.29-rc3 commit c4568d6c7ec7557fbe8656286aea29f67388f7d4 Merge: 78a768b 4c456a6 Author: Linus Torvalds Date: Wed Jan 28 09:01:42 2009 -0800 Merge branch 'merge' of git://git.kernel.org/pub/scm/linux/kernel/git/benh/powerpc * 'merge' of git://git.kernel.org/pub/scm/linux/kernel/git/benh/powerpc: powerpc/mm: Fix handling of _PAGE_COHERENT in BAT setup code powerpc/pseries: Correct VIO bus accounting problem in CMO env. powerpc: More printing warning fixes for the l64 to ll64 conversion powerpc: Remove arch/ppc cruft from Kconfig powerpc: Printing fix for l64 to ll64 conversion: phyp_dump.c powerpc/embedded6xx: Update defconfigs powerpc/8xx: Update defconfigs powerpc/86xx: Update defconfigs powerpc/83xx: Update defconfigs powerpc/85xx: Update defconfigs powerpc/mpc8313erdb: fix kernel panic because mdio device is not probed powerpc/4xx: Update multi-board PowerPC 4xx defconfigs powerpc/44x: Update PowerPC 44x defconfigs powerpc/40x: Update PowerPC 40x defconfigs powerpc/85xx: Fix typo in mpc8572ds dts powerpc/44x: Warp patches for the new NDFC driver powerpc/4xx: DTS: Add Add'l SDRAM0 Compatible and Interrupt Info commit 08e445bd6a98fa09befe0cf6d67705324f913fc6 Author: Nicolas Pitre Date: Fri Jan 16 23:02:54 2009 +0100 [ARM] 5366/1: fix shared memory coherency with VIVT L1 + L2 caches When there are multiple L1-aliasing userland mappings of the same physical page, we currently remap each of them uncached, to prevent VIVT cache aliasing issues. (E.g. writes to one of the mappings not being immediately visible via another mapping.) However, when we do this remapping, there could still be stale data in the L2 cache, and an uncached mapping might bypass L2 and go straight to RAM. This would cause reads from such mappings to see old data (until the dirty L2 line is eventually evicted.) This issue is solved by forcing a L2 cache flush whenever the shared page is made L1 uncacheable. Ideally, we would make L1 uncacheable and L2 cacheable as L2 is PIPT. But Feroceon does not support that combination, and the TEX=5 C=0 B=0 encoding for XSc3 doesn't appear to work in practice. Signed-off-by: Nicolas Pitre Signed-off-by: Russell King commit 78a768b6ca40e104442ade090226ed4ee0e6cebf Merge: d8204ee add8240 Author: Linus Torvalds Date: Wed Jan 28 08:41:57 2009 -0800 Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/gerg/m68knommu * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/gerg/m68knommu: m68knommu: fix 5329 ColdFire periphal addressing uclinux: add process name to allocation error message m68knommu: correct the mii calculations for 532x ColdFire FEC m68knommu: add ColdFire M532x to the FEC configuration options m68knommu: fix syscall restarting m68knommu: remove the obsolete and long unused comempci chip support m68knommu: remove the no longer used PCI support option m68knommu: remove obsolete and unused eLIA board m68knommu: set NO_DMA m68knommu: fix cache flushing for the 527x ColdFire processors m68knommu: fix ColdFire 5272 serial baud rates in mcf.c m68knommu: use one exist from execption commit d8204ee2ad1c9babd7e33d4c118ec99a78a8442e Author: Kumar Gala Date: Wed Jan 28 00:07:20 2009 -0600 dmi: Fix build breakage Commit d7b1956fed33d30c4815e848fd7a143722916868 ("DMI: Introduce dmi_first_match to make the interface more flexible") introduced compile errors like the following when !CONFIG_DMI drivers/ata/sata_sil.c: In function 'sil_broken_system_poweroff': drivers/ata/sata_sil.c:713: error: implicit declaration of function 'dmi_first_match' drivers/ata/sata_sil.c:713: warning: initialization makes pointer from integer without a cast We just need a dummy version of dmi_first_match() to fix this all up. Signed-off-by: Kumar Gala Signed-off-by: Linus Torvalds commit 30b23634084d95781f7611c0713cb551a0c0a152 Author: Eric Anholt Date: Tue Jan 27 21:19:41 2009 -0800 drm: Rip out the racy, unused vblank signal code. Schedule a vblank signal, kill the process, and we'll go walking over freed memory. Given that no open-source userland exists using this, nor have I ever heard of a consumer, just let this code die. Signed-off-by: Eric Anholt Requested-by: Linus Torvalds Acked-by: Dave Airlie Signed-off-by: Linus Torvalds commit 4a29d2005b0f28d018d36d209c47f3973a725df5 Author: Adrian Hunter Date: Tue Jan 27 15:22:54 2009 +0200 UBIFS: fix LPT out-of-space bug (again) The function to traverse and dirty the LPT was still not dirtying all nodes, with the result that the LPT could run out of space. Signed-off-by: Adrian Hunter Signed-off-by: Artem Bityutskiy commit ecbab71c521819716e204659dfe72fc39d00630a Author: Russell King Date: Tue Jan 27 23:20:00 2009 +0000 [ARM] call undefined instruction exception handler with irqs enabled Aaro says: > With spinlock debugs enabled I get might_sleep() warnings when using > ptrace. tracked down to a missing enable_irq before calling do_undefinstr(). Reported-by: Aaro Koskinen Tested-by: Aaro Koskinen Signed-off-by: Russell King commit 9ce8bb55e32d11bb82e19e76bdd2cf1c2ed32fd1 Author: Russell King Date: Tue Jan 27 22:44:12 2009 +0000 [ARM] msm: fix build errors arch/arm/mach-msm/board-halibut.c:45: error: implicit declaration of function 'MSM_GPIO_TO_INT' arch/arm/mach-msm/board-halibut.c:45: error: initializer element is not constant arch/arm/mach-msm/board-halibut.c:45: error: (near initialization for 'smc91x_resources[1].start') arch/arm/mach-msm/board-halibut.c:46: error: initializer element is not constant arch/arm/mach-msm/board-halibut.c:46: error: (near initialization for 'smc91x_resources[1].end') Signed-off-by: Russell King commit a71558d0eca1bbb23737f832297926666f9b36db Author: Russell King Date: Tue Jan 27 22:32:29 2009 +0000 [ARM] etherh: continue fixing build failure Further to 483a2b3a3182abcb7fcea986d7ea13e793bb00b1, also fix: drivers/net/arm/etherh.c:649: error: 'eth_set_mac_addr' undeclared here (not in a function) Signed-off-by: Russell King commit 3718909448116bf4411445468c58acc946379f92 Author: David Rientjes Date: Tue Jan 27 18:59:46 2009 -0800 slub: fix per cpu kmem_cache_cpu array memory leak The per cpu array of kmem_cache_cpu structures accomodates NR_KMEM_CACHE_CPU such structs. When this array overflows and a struct is allocated by kmalloc(), it may have an address at the upper bound of this array. If this happens, it does not get freed and the per cpu kmem_cache_cpu_free pointer will be out of bounds after kmem_cache_destroy() or cpu offlining. Cc: Christoph Lameter Signed-off-by: David Rientjes Signed-off-by: Pekka Enberg commit 2a88464ceb1bda2571f88902fd8068a6168e3f7b Author: Luke Yelavich Date: Wed Jan 28 15:58:38 2009 +1100 ALSA: hda - add another MacBook Pro 4, 1 subsystem ID Add another MacBook Pro 4,1 SSID (106b:3800). It seems that latter revisions, (at least mine), have different IDs to earlier revisions. Signed-off-by: Luke Yelavich Signed-off-by: Takashi Iwai commit a4e6db07984529847c6ad8bc616485e721dcb809 Author: David S. Miller Date: Tue Jan 27 22:41:03 2009 -0800 ipv6: Make mc_forwarding sysctl read-only. The kernel manages this value internally, as necessary, as VIFs are added/removed and as multicast routers are registered and deregistered. Signed-off-by: David S. Miller commit 1d6e55f195128813f96458203a9fa14204f9251e Author: Thomas Goff Date: Tue Jan 27 22:39:59 2009 -0800 IPv6: Fix multicast routing bugs. This patch addresses the IPv6 multicast routing issues described below. It was tested with XORP 1.4/1.5 as the IPv6 PIM-SM routing daemon against FreeBSD peers. net/ipv6/ip6_input.c: - Don't try to forward link-local multicast packets. - Don't reset skb2->dev before calling ip6_mr_input() so packets can be identified as coming from the PIM register vif properly. net/ipv6/ip6mr.c: - Fix incoming PIM register messages processing: * The IPv6 pseudo-header should be included when checksumming PIM messages (RFC 4601 section 4.9; RFC 3973 section 4.7.1). * Packets decapsulated from PIM register messages should have skb->protocol ETH_P_IPV6. - Enable/disable IPv6 multicast forwarding on the corresponding interface when a routing daemon adds/removes a multicast virtual interface. - Remove incorrect skb_pull() to fix userspace signaling. - Enable/disable global IPv6 multicast forwarding when an IPv6 multicast routing socket is opened/closed. net/ipv6/route.c: - Don't use strict routing logic for packets decapsulated from PIM register messages (similar to disabling rp_filter for the IPv4 case). Signed-off-by: Thomas Goff Reviewed-by: Fred Templin Signed-off-by: David S. Miller commit 6c06a478c9e59d1584a5dc1b2b3519bae5d6546a Author: Jiri Pirko Date: Tue Jan 27 22:30:19 2009 -0800 net: fix xfrm reverse flow lookup for icmp6 This patch fixes the xfrm reverse flow lookup for icmp6 so that icmp6 packets don't get lost over ipsec tunnels. Similar patch is in RHEL5 kernel for a quite long time and I do not see why it isn't in mainline. Signed-off-by: Jiri Pirko Acked-by: Herbert Xu Signed-off-by: David S. Miller commit 4c456a67f501b8b15542c7c21c28812bf88f484b Author: Gerhard Pircher Date: Fri Jan 23 06:51:28 2009 +0000 powerpc/mm: Fix handling of _PAGE_COHERENT in BAT setup code _PAGE_COHERENT is now always set in _PAGE_RAM resp. PAGE_KERNEL. Thus it has to be masked out, if the BAT mapping should be non cacheable or CPU_FTR_NEED_COHERENT is not set. This will work on normal SMP setups because we force-set CPU_FTR_NEED_COHERENT as part of CPU_FTR_COMMON on SMP. Signed-off-by: Gerhard Pircher Signed-off-by: Benjamin Herrenschmidt commit 69b052e828b5ff32df7f96d6d3268a069910c663 Author: Robert Jennings Date: Thu Jan 22 09:40:00 2009 +0000 powerpc/pseries: Correct VIO bus accounting problem in CMO env. In the VIO bus code the wrappers for dma alloc_coherent and free_coherent calls are rounding to IOMMU_PAGE_SIZE. Taking a look at the underlying calls, the actual mapping is promoted to PAGE_SIZE. Changing the rounding in these two functions fixes under-reporting the entitlement used by the system. Without this change, the system could run out of entitlement before it believes it has and incur mapping failures at the firmware level. Also in the VIO bus code, the wrapper for dma map_sg is not exiting in an error path where it should. Rather than fall through to code for the success case, this patch adds the return that is needed in the error path. Signed-off-by: Robert Jennings Signed-off-by: Benjamin Herrenschmidt commit 4712fff9be0f4a41f7add146cee88a9b945215d7 Author: Stephen Rothwell Date: Wed Jan 21 13:16:28 2009 +0000 powerpc: More printing warning fixes for the l64 to ll64 conversion These are all powerpc specific drivers. res.start in fsl_elbc_nand.c needs to be cast since it may be either 32 or 64 bit. Thanks to Scott Wood for noticing. Signed-off-by: Stephen Rothwell Acked-by: Arnd Bergmann call_edac bits in particular Acked-by: Olof Johansson pasemi_nand peices Acked-by: Scott Wood fsl_elbc fixes Signed-off-by: Benjamin Herrenschmidt commit 52c275fe70df8619e9430d01917d2e72e9011aec Author: Josh Boyer Date: Tue Jan 20 05:16:36 2009 +0000 powerpc: Remove arch/ppc cruft from Kconfig Remove some leftover cruft from the arch/ppc days Signed-off-by: Josh Boyer Acked-by: Kumar Gala Signed-off-by: Benjamin Herrenschmidt commit 802bdea875ed8c682bb30f71d762ce727ab8bb87 Author: Stephen Rothwell Date: Sun Jan 18 23:33:38 2009 +0000 powerpc: Printing fix for l64 to ll64 conversion: phyp_dump.c Signed-off-by: Stephen Rothwell Signed-off-by: Benjamin Herrenschmidt commit 6469c92e0a4879e57bccbbacb2b724672a4fa8fb Merge: 0411648 0b21bcd Author: Benjamin Herrenschmidt Date: Wed Jan 28 17:15:34 2009 +1100 Merge commit 'jwb/jwb-merge' into merge Manual merge of: arch/powerpc/configs/44x/warp_defconfig commit 0411648e445d850ded24aba98f1774c417bf5658 Merge: e4a7ca2 b57cee2 Author: Benjamin Herrenschmidt Date: Wed Jan 28 17:14:54 2009 +1100 Merge commit 'kumar/kumar-merge' into merge commit 152a649b647a8ef47bb74ff9e11850fa6001bedc Author: Casey Schaufler Date: Tue Jan 27 19:56:30 2009 -0800 smackfs load append mode fix Given just how hard it is to find the code that uses MAY_APPEND it's probably not a big surprise that this went unnoticed for so long. The Smack rules loading code is incorrectly setting the MAY_READ bit when MAY_APPEND is requested. Signed-off-by: Casey Schaufler Reviewed-by: James Morris Signed-off-by: Linus Torvalds commit b8e15992b420d09dae831125a623c474c8637cee Author: Herbert Xu Date: Wed Jan 28 14:09:59 2009 +1100 crypto: api - Fix algorithm test race that broke aead initialisation When we complete a test we'll notify everyone waiting on it, drop the mutex, and then remove the test larval (after reacquiring the mutex). If one of the notified parties tries to register another algorithm with the same driver name prior to the removal of the test larval, they will fail with EEXIST as only one algorithm of a given name can be tested at any time. This broke the initialisation of aead and givcipher algorithms as they will register two algorithms with the same driver name, in sequence. This patch fixes the problem by marking the larval as dead before we drop the mutex, and also ignoring all dead or dying algorithms on the registration path. Tested-by: Andreas Steffen Signed-off-by: Herbert Xu commit 94cd3e6cbebf85903b4d53ed2147bdb4c6e08625 Author: Eric Dumazet Date: Tue Jan 27 17:45:10 2009 -0800 net: wrong test in inet_ehash_locks_alloc() In commit 9db66bdcc83749affe61c61eb8ff3cf08f42afec (net: convert TCP/DCCP ehash rwlocks to spinlocks), I forgot to change one occurrence of rwlock_t to spinlock_t I believe sizeof(raw_spinlock_t) might be > 0 on !CONFIG_SMP if CONFIG_DEBUG_SPINLOCK while sizeof(raw_rwlock_t) should be 0 in this case. Fortunatly, CONFIG_DEBUG_SPINLOCK adds fields to both spinlock_t and rwlock_t, but at this might change in the future (being able to debug spinlocks but not rwlocks for example), better to be safe. Signed-off-by: Eric Dumazet Signed-off-by: David S. Miller commit 15b2bee22a0390d951301b53e83df88d0350c499 Author: Jesse Brandeburg Date: Tue Jan 27 16:41:58 2009 -0800 e1000: fix bug with shared interrupt during reset A nasty bug was found where an MTU change (or anything else that caused a reset) could race with the interrupt code. The interrupt code was entered by a shared interrupt during the MTU change. This change prevents the interrupt code from running while the driver is in the middle of its reset path. Signed-off-by: Jesse Brandeburg Signed-off-by: David S. Miller commit e4a7ca29039e615ce13a61b9c6abfb2aa394e9a1 Merge: 843c04a 236dd4d Author: Linus Torvalds Date: Tue Jan 27 16:08:04 2009 -0800 Merge git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/usb-2.6 * git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/usb-2.6: (36 commits) USB: Driver for Freescale QUICC Engine USB Host Controller USB: option: add QUANTA HSDPA Data Card device ids USB: storage: Add another unusual_dev for off-by-one bug USB: unusual_dev: usb-storage needs to ignore a device USB: GADGET: fix !x & y USB: new id for ti_usb_3410_5052 driver USB: cdc-acm: Add another conexant modem to the quirks USB: 'option' driver - onda device MT503HS has wrong id USB: Remove ZTE modem from unusual_devices USB: storage: support of Dane-Elec MediaTouch USB device USB: usbmon: Implement compat_ioctl USB: add kernel-doc for wusb_dev in struct usb_device USB: ftdi_sio driver support of bar code scanner from Diebold USB: ftdi_sio: added Alti-2 VID and Neptune 3 PID USB: cp2101 device USB: usblp.c: add USBLP_QUIRK_BIDIR to Brother HL-1440 USB: remove vernier labpro from ldusb USB: CDC-ACM quirk for MTK GPS USB: cdc-acm: support some gps data loggers USB: composite: Fix bug: low byte of w_index is the usb interface number not the whole 2 bytes of w_index ... commit 236dd4d18f293e3c9798f35c08272196826a980d Author: Anton Vorontsov Date: Sat Jan 10 05:03:21 2009 +0300 USB: Driver for Freescale QUICC Engine USB Host Controller This patch adds support for the FHCI USB controller, as found in the Freescale MPC836x and MPC832x processors. It can support Full or Low speed modes. Quite a lot the hardware is doing by itself (SOF generation, CRC generation and checking), though scheduling and retransmission is on software's shoulders. This controller does not integrate the root hub, so this driver also fakes one-port hub. External hub is required to support more than one device. Signed-off-by: Anton Vorontsov Signed-off-by: Greg Kroah-Hartman commit fc91be2ad03e0d243418414a854665274d560ca2 Author: Alex.Cheng@quantatw.com Date: Thu Jan 22 16:01:57 2009 +0800 USB: option: add QUANTA HSDPA Data Card device ids This patch adds the support for the QUANTA Q101 series HSDPA Data Card. With the vendor and product IDs are set properly, the data card can be detected and works fine. Signed-off-by: Alex Cheng Signed-off-by: Greg Kroah-Hartman commit aa23c8d616c33578fb99aa6a0effd6705b5d0fa1 Author: Phil Dibowitz Date: Tue Jan 20 23:42:52 2009 +0100 USB: storage: Add another unusual_dev for off-by-one bug Argosy has released another device with the off-by-one sector. This is a harddrive with an internal cardreader which is affected. Based on a patch written by Martijn Hijdra Signed-off-by: Phil Dibowitz Cc: Martijn Hijdra Signed-off-by: Greg Kroah-Hartman commit a83775b1465ce80af5610cbe80216432212bc7ee Author: Phil Dibowitz Date: Tue Jan 20 23:48:36 2009 +0100 USB: unusual_dev: usb-storage needs to ignore a device This patch adds an unusual_devs entry for a Sony Ericsson modem. Like many other modems, we have to ignore the storage device in order to access the modem. At this time usb_modeswitch does not work with this device. Reported-by: The Solutor . Signed-off-by: Phil Dibowitz Signed-off-by: Greg Kroah-Hartman commit 0df2479232eeea20c924350a11788c724b8c218d Author: Roel Kluin Date: Sat Jan 17 16:52:17 2009 +0100 USB: GADGET: fix !x & y ! has a higher precedence than & Signed-off-by: Roel Kluin Acked-by: David Brownell Signed-off-by: Greg Kroah-Hartman commit 1a1fab513734b3a4fca1bee8229e5ff7e1cb873c Author: Oliver Neukum Date: Mon Jan 12 13:31:16 2009 +0100 USB: new id for ti_usb_3410_5052 driver This adds a new device id Signed-off-by: Oliver Neukum Signed-off-by: Greg Kroah-Hartman commit c89c60e9d6b306fb6963030abb3bd07cc3de66b2 Author: Alan Cox Date: Sun Jan 11 19:53:10 2009 +0000 USB: cdc-acm: Add another conexant modem to the quirks Another Conexant, another device with the same quirk Signed-off-by: Alan Cox Acked-by: Oliver Neukum Signed-off-by: Greg Kroah-Hartman commit 3b498a66a698c581535c0fcf1a8907f3fe9449cc Author: Marcel Sebek Date: Sun Dec 28 14:06:50 2008 +0100 USB: 'option' driver - onda device MT503HS has wrong id While trying to make GSM modem Onda MT503HS working, I found a mismatch between device id in the driver code (0x0200) and id in the lsusb output (0x2000). This patch fixed it for me, but I don't know if the original device id was also correct and the new ID should be added instead of replacing the old one. Signed-off-by: Marcel Sebek Acked-by: Domenico Riccio Signed-off-by: Greg Kroah-Hartman commit d547f13472adc99721d6eb756085276a8a342366 Author: Phil Dibowitz Date: Sun Jan 11 18:46:20 2009 +0100 USB: Remove ZTE modem from unusual_devices The ZTE modem entry causes usb-storage to ignore the device, but for some versions of the device, usb-storage mode is required to get to modem ode. For both kinds the tool: http://www.draisberghof.de/usb_modeswitch/ should work. Note that the various versions of the device have the same ProductId, VendorId, and bcdDevice number, so we cannot have the entry for some and not others. Signed-off-by: Phil Dibowitz Signed-off-by: Greg Kroah-Hartman commit 649150926b01c57e45a0376cbc1d3aa98eabfde2 Author: Jean-Baptiste Onofre Date: Sat Dec 20 20:11:55 2008 +0100 USB: storage: support of Dane-Elec MediaTouch USB device This adds another unusual_devs.h entry for a device that can't handle more than 64k reads/writes in a single command. Signed-off-by: Jean-Baptiste Onofre Signed-off-by: Phil Dibowitz Signed-off-by: Greg Kroah-Hartman commit 7abce6bedc118eb39fe177c2c26be5d008505c14 Author: Pete Zaitcev Date: Sat Dec 20 12:56:08 2008 -0700 USB: usbmon: Implement compat_ioctl Running a 32-bit usbmon(8) on 2.6.28-rc9 produces the following: ioctl32(usbmon:28563): Unknown cmd fd(3) cmd(400c9206){t:ffffff92;sz:12} arg(ffd3f458) on /dev/usbmon0 It happens because the compatibility mode was implemented for 2.6.18 and not updated for the fsops.compat_ioctl API. This patch relocates the pieces from under #ifdef CONFIG_COMPAT into compat_ioctl with no other changes except one new whitespace. Signed-off-by: Pete Zaitcev Cc: stable Signed-off-by: Greg Kroah-Hartman commit 11e76ae0f3a82bbb6c06df8af2167af8b96a0584 Author: Inaky Perez-Gonzalez Date: Thu Jan 8 12:52:19 2009 -0800 USB: add kernel-doc for wusb_dev in struct usb_device Reported by Randy Dunlap from a warning on the v2.6.29 merge window. Signed-off-by: Inaky Perez-Gonzalez Cc: David Vrabel Cc: Randy Dunlap Signed-off-by: Greg Kroah-Hartman commit ca80801bfb24f7a41fe4fade4d2cf7c73f0b2f09 Author: Mhayk Whandson Date: Fri Jan 9 06:48:16 2009 -0400 USB: ftdi_sio driver support of bar code scanner from Diebold Added the product id of bcs(bar code scanner) from Diebold Procomp Brazil. Signed-off-by: Mhayk Whandson Signed-off-by: Greg Kroah-Hartman commit 45eeff848bdfac96dc77aa722dda7c6cee6184f4 Author: Robie Basak Date: Mon Jan 12 23:05:59 2009 +0000 USB: ftdi_sio: added Alti-2 VID and Neptune 3 PID This patch adds the vendor and product ID for the Alti-2 Neptune 3 (http://www.alti-2.com) which uses the FTDI chip. Signed-off-by: Robie Basak Signed-off-by: Greg Kroah-Hartman commit 877e262c4e251352771cc391760a12665b5b210b Author: Tomasz K Date: Sun Jan 4 12:47:11 2009 +0100 USB: cp2101 device My girl use modem GSM (EDGE) Commanader 2 on iPlus Polsih provider, PLEASE add this vendor=0x10C4 and product=0x822B to USB serial driver cp2101.c From: Tomasz K Signed-off-by: Greg Kroah-Hartman commit 06a743bfc42660f27fde5f24d7471e1eb4c71218 Author: Brandon Philips Date: Mon Jan 5 08:30:39 2009 -0800 USB: usblp.c: add USBLP_QUIRK_BIDIR to Brother HL-1440 My Brother HL-1440 would print one document before CUPS would stop printing with the error "Printer not connected; will retry in 30 seconds...". I traced this down to the CUPS usb backend getting an EIO out of usblp on the IOCNR_GET_DEVICE_ID IOCTL. Adding the USBLP_QUIRK_BIDIR fixes the problem but is it the right solution? output from strace /usr/lib/cups/backend/usb after printing a document (Note: SNDCTL_DSP_SYNC == IOCNR_GET_DEVICE_ID): before patch open("/dev/usb/lp0", O_RDWR|O_EXCL) = 3 ioctl(3, SNDCTL_DSP_SYNC, 0x7fff2478cef0) = -1 EIO (Input/output error) after patch open("/dev/usb/lp0", O_RDWR|O_EXCL) = 3 ioctl(3, SNDCTL_DSP_SYNC, 0x7fffb8d474c0) = 0 Possibly related bug: https://bugs.launchpad.net/ubuntu/+source/cupsys/+bug/35638 Signed-off-by: Brandon Philips Signed-off-by: Greg Kroah-Hartman commit 296361ec3abbba7621e9fff01a572ac0873da903 Author: sware Date: Wed Jan 7 15:35:55 2009 -0800 USB: remove vernier labpro from ldusb Labpro device is in both ldusb and vstusb device tables. Should only be a vstusb device. Signed-off-by: stephen ware Signed-off-by: Greg Kroah-Hartman commit 0f9c7b4a1cc24d6f05a848f0acf72dbff7c5d42d Author: Andrew Lunn Date: Tue Dec 23 17:31:23 2008 +0100 USB: CDC-ACM quirk for MTK GPS This patch adds a device quirk for a MediaTek Inc GPS chipset. The device implements USB CDC ACM, but is missing the union descriptor, so the ACM class driver fails to probe the device. I've tested this patch with an iBlue A+ GPS which uses this chipset and using kernel 2.6.28-rc9. Signed-off-by: Andrew Lunn, Acked-by: Oliver Neukum Signed-off-by: Greg Kroah-Hartman commit 837d84249611e9462dea6181a7ea30aa64e67d6a Author: James A. Treacy Date: Sat Jan 24 23:37:43 2009 -0500 USB: cdc-acm: support some gps data loggers Below is a patch which allows a number of GPS loggers to work under linux. It is known to support the i-Blue 747 (all models), i-Blue 757, Qstarz BT-Q1000, i.Trek Z1, Konet BGL-32, and the Holux M-241. From: James A. Treacy Signed-off-by: Greg Kroah-Hartman commit 08889517b3713926169d79d99782192e86acdc67 Author: Bryan Wu Date: Thu Jan 8 00:21:19 2009 +0800 USB: composite: Fix bug: low byte of w_index is the usb interface number not the whole 2 bytes of w_index In some usb gadget driver, for example usb audio class device, the high byte of w_index is the entity id and low byte is the interface number. If we use the 2 bytes of w_index as the array number, we will get a wrong pointer or NULL pointer. This patch fixes this issue. Signed-off-by: Bryan Wu Acked-by: David Brownell Signed-off-by: Greg Kroah-Hartman commit dd4dff8b035f6dda69ece98e20d4c2d76b9f97d1 Author: Bryan Wu Date: Thu Jan 8 00:21:18 2009 +0800 USB: composite: Fix bug: should test set_alt function pointer before use it Signed-off-by: Bryan Wu Acked-by: David Brownell Signed-off-by: Greg Kroah-Hartman commit cd67435ef985d0d6279803f2ae48b5248a7178df Author: David Brownell Date: Mon Jan 26 02:05:43 2009 -0800 USB: musb: Kconfig fix The Blackfin MUSB Kconfig text didn't properly parenthesise its dependencies. This was visible in non-Blackfin configs by the way the user interfaces lost track of dependencies, when doing a bunch of test builds. Signed-off-by: David Brownell Signed-off-by: Greg Kroah-Hartman commit 191b776616838f035c2fe7eecc882b5c1f134353 Author: Swaminathan S Date: Sat Jan 24 17:57:37 2009 -0800 USB: musb cppi dma fix Initializes the actual_len field to 0 before every DMA transaction. Signed-off-by: Swaminathan S Acked-by: Felipe Balbi Signed-off-by: David Brownell Signed-off-by: Greg Kroah-Hartman commit 704a14854aaf9758a1248ea36a7d1b8cc42a4b3e Author: Hugo Villeneuve Date: Sat Jan 24 17:57:30 2009 -0800 USB: musb cppi bugfixes These compilation errors are related to incorrect debugging macro and variable names and generated the following errors: drivers/usb/musb/cppi_dma.c:437:5: warning: "MUSB_DEBUG" is not defined drivers/usb/musb/cppi_dma.c: In function 'cppi_next_rx_segment': drivers/usb/musb/cppi_dma.c:884: error: 'debug' undeclared (first use in this function) Signed-off-by: Hugo Villeneuve Signed-off-by: David Brownell Signed-off-by: Greg Kroah-Hartman commit 96bcd090fa434b4369e6e3a9cba937d1e513596d Author: Julia Lawall Date: Sat Jan 24 17:57:24 2009 -0800 USB: musb uses endpoint functions This set of patches introduces calls to the following set of functions: usb_endpoint_dir_in(epd) usb_endpoint_dir_out(epd) usb_endpoint_is_bulk_in(epd) usb_endpoint_is_bulk_out(epd) usb_endpoint_is_int_in(epd) usb_endpoint_is_int_out(epd) usb_endpoint_num(epd) usb_endpoint_type(epd) usb_endpoint_xfer_bulk(epd) usb_endpoint_xfer_control(epd) usb_endpoint_xfer_int(epd) usb_endpoint_xfer_isoc(epd) In some cases, introducing one of these functions is not possible, and it just replaces an explicit integer value by one of the following constants: USB_ENDPOINT_XFER_BULK USB_ENDPOINT_XFER_CONTROL USB_ENDPOINT_XFER_INT USB_ENDPOINT_XFER_ISOC An extract of the semantic patch that makes these changes is as follows: (http://www.emn.fr/x-info/coccinelle/) // @r1@ struct usb_endpoint_descriptor *epd; @@ - ((epd->bmAttributes & \(USB_ENDPOINT_XFERTYPE_MASK\|3\)) == - \(USB_ENDPOINT_XFER_CONTROL\|0\)) + usb_endpoint_xfer_control(epd) @r5@ struct usb_endpoint_descriptor *epd; @@ - ((epd->bEndpointAddress & \(USB_ENDPOINT_DIR_MASK\|0x80\)) == - \(USB_DIR_IN\|0x80\)) + usb_endpoint_dir_in(epd) @inc@ @@ #include @depends on !inc && (r1||r5)@ @@ + #include #include // Signed-off-by: Julia Lawall Acked-by: Felipe Balbi Signed-off-by: David Brownell Signed-off-by: Greg Kroah-Hartman commit af7e0c5f126677fe8e6c4fbea37637b9c0c2fe2a Author: Kalle Valo Date: Sat Jan 24 17:57:15 2009 -0800 USB: musb: tusb6010 buildfix drivers/usb/musb/tusb6010_omap.c:18:26: error: asm/arch/dma.h: No such file or directory drivers/usb/musb/tusb6010_omap.c:19:26: error: asm/arch/mux.h: No such file or directory Signed-off-by: Kalle Valo Acked-by: Felipe Balbi Signed-off-by: David Brownell Signed-off-by: Greg Kroah-Hartman commit 97a39896816489fe9a67c223e782e8dda06f25c9 Author: Ajay Kumar Gupta Date: Sat Jan 24 17:56:39 2009 -0800 USB: musb free_irq bugfix Fixes insert module failure as free_irq() was not done in previous rmmod. Signed-off-by: Ajay Kumar Gupta Acked-by: Felipe Balbi Signed-off-by: David Brownell Signed-off-by: Greg Kroah-Hartman commit 37daa925cf0d4dfd2d1d9ca01e2e0d74fba3d64a Author: David Brownell Date: Sat Jan 24 17:56:25 2009 -0800 USB: musb_hdrc: another davinci buildfix (otg related) The DaVinci code had an implementation of the OTG transceiver glue too; make it use the new-standard one. Signed-off-by: David Brownell Acked-by: Felipe Balbi Signed-off-by: Greg Kroah-Hartman commit 10b4eadef140b09baf8b9ec1df37185e69773275 Author: David Brownell Date: Sat Jan 24 17:56:17 2009 -0800 USB: musb davinci buildfix Trying once more to get this merged. The original was submitted for 2.6.27-rc2 or so, and never got correctly merged. Neither were any of the numerous subsequent resends. Sigh. CC drivers/usb/musb/davinci.o drivers/usb/musb/davinci.c:35:32: error: mach/arch/hardware.h: No such file or directory drivers/usb/musb/davinci.c:36:30: error: mach/arch/memory.h: No such file or directory drivers/usb/musb/davinci.c:37:28: error: mach/arch/gpio.h: No such file or directory drivers/usb/musb/davinci.c:373: error: redefinition of 'musb_platform_set_mode' drivers/usb/musb/davinci.c:368: error: previous definition of 'musb_platform_set_mode' was here Signed-off-by: David Brownell Acked-by: Felipe Balbi Signed-off-by: Greg Kroah-Hartman commit 2bf5fa13fc8e34d7b86307b99f64a24cb7a83852 Author: David Brownell Date: Sat Jan 24 17:55:57 2009 -0800 USB: omap1 ohci buildfix (otg related) > > drivers/built-in.o: In function `ohci_omap_init': > > hid-quirks.c:(.text+0x6c608): undefined reference to `otg_get_transceiver' > > drivers/built-in.o: In function `omap_udc_probe': > > hid-quirks.c:(.init.text+0x34c0): undefined reference to `otg_get_transceiver' > > hid-quirks.c:(.init.text+0x3d40): undefined reference to `otg_put_transceiver' Reported-by: Russell King Signed-off-by: David Brownell Acked-by: Tony Lindgren Signed-off-by: Greg Kroah-Hartman commit 501950d846218ed80a776d2aae5aed9c8b92e778 Author: Alan Stern Date: Tue Jan 13 11:33:42 2009 -0500 USB: fix char-device disconnect handling This patch (as1198) fixes a conceptual bug: Somewhere along the line we managed to confuse USB class devices with USB char devices. As a result, the code to send a disconnect signal to userspace would not be built if both CONFIG_USB_DEVICE_CLASS and CONFIG_USB_DEVICEFS were disabled. The usb_fs_classdev_common_remove() routine has been renamed to usbdev_remove() and it is now called whenever any USB device is removed, not just when a class device is unregistered. The notifier registration and unregistration calls are no longer conditionally compiled. And since the common removal code will always be called as part of the char device interface, there's no need to call it again as part of the usbfs interface; thus the invocation of usb_fs_classdev_common_remove() has been taken out of usbfs_remove_device(). Signed-off-by: Alan Stern Reported-by: Alon Bar-Lev Tested-by: Alon Bar-Lev Cc: stable commit a15d95a003fae154121733f049dd25e9c13dbef3 Author: Rafael J. Wysocki Date: Tue Jan 20 01:26:56 2009 +0100 USB: Fix suspend-resume of PCI USB controllers Commit a0d4922da2e4ccb0973095d8d29f36f6b1b5f703 (USB: fix up suspend and resume for PCI host controllers) attempted to fix the suspend-resume of PCI USB controllers, but unfortunately it did that incorrectly and interrupts are left enabled by the USB controllers' ->suspend_late() callback as a result. This leads to serious problems during suspend which are very difficult to debug. Fix the issue by removing the ->suspend_late() callback of PCI USB controllers and moving the code from there to the ->suspend() callback executed with interrupts enabled. Additionally, make the ->resume() callback of PCI USB controllers execute pci_enable_wake(dev, PCI_D0, false) to disable wake-up from the full power state (PCI_D0). Signed-off-by: Rafael J. Wysocki Tested-by: Andrey Borzenkov Tested-by: "Jeff Chua" Cc: Alan Stern Cc: Andrew Morton Cc: Christian Borntraeger Cc: "Zdenek Kabelac" Cc: Ingo Molnar Signed-off-by: Greg Kroah-Hartman commit bcca06efea883bdf3803a0bb0ffa60f26730387d Author: Alan Stern Date: Tue Jan 13 11:35:54 2009 -0500 USB: don't enable wakeup by default for PCI host controllers This patch (as1199) changes the initial wakeup settings for PCI USB host controllers. The controllers are marked as capable of waking the system, but wakeup is not enabled by default. It turns out that enabling wakeup for USB host controllers has a lot of bad consequences. As the simplest example, if a USB mouse or keyboard is unplugged immediately after the computer is put to sleep, the unplug will cause the system to wake back up again! We are better off marking them as wakeup-capable and leaving wakeup disabled. Signed-off-by: Alan Stern Reported-by: Rafael J. Wysocki CC: David Brownell Cc: stable Signed-off-by: Greg Kroah-Hartman commit b90de8aea36ae6fe8050a6e91b031369c4f251b2 Author: Oliver Neukum Date: Wed Jan 14 16:17:19 2009 +0100 USB: storage: add unusual devs entry This adds an unusual devs entry for 2116:0320 Signed-off-by: Oliver Neukum Cc: stable Signed-off-by: Greg Kroah-Hartman commit ddeac4e75f2527a340f9dc655bde49bb2429b39b Author: Alan Stern Date: Thu Jan 15 17:03:33 2009 -0500 USB: fix toggle mismatch in disable_endpoint paths This patch (as1200) finishes some fixes that were left incomplete by an earlier patch. Although nobody has addressed this issue in the past, it turns out that we need to distinguish between two different modes of disabling and enabling endpoints. In one mode only the data structures in usbcore are affected, and in the other mode the host controller and device hardware states are affected as well. The earlier patch added an extra argument to the routines in the enable_endpoint pathways to reflect this difference. This patch adds corresponding arguments to the disable_endpoint pathways. Without this change, the endpoint toggle state can get out of sync between the host and the device. The exact mechanism depends on the details of the host controller (whether or not it stores its own copy of the toggle values). Signed-off-by: Alan Stern Reported-by: Dan Streetman Tested-by: Dan Streetman Cc: stable Signed-off-by: Greg Kroah-Hartman commit 95bec45d2051227ef037f1080d7cef003b88d852 Author: Wolfgang Glas Date: Thu Jan 15 23:11:53 2009 +0100 USB: cp2101: add fasttrax GPS evaluation kit vendor/product ID This adds the vendor/product ID of the fasttrax GPS evaluation kit from: http://www.fastraxgps.com/products/evaluationtools/evaluationkit/ to the cp2101 module since this device is actually equipped with a CP210x USB to serial bridge. The vendor/product ID is: 0x10c4/0x826b. Signed-off-by: Wolfgang Glas Signed-off-by: Greg Kroah-Hartman commit 843c04a0f63c74c6424e4b7d1ab85223b1ecf740 Merge: b00ecab fa82a49 Author: Linus Torvalds Date: Tue Jan 27 16:07:44 2009 -0800 Merge branch 'for-2.6.29' of git://linux-nfs.org/~bfields/linux * 'for-2.6.29' of git://linux-nfs.org/~bfields/linux: nfsd: only set file_lock.fl_lmops in nfsd4_lockt if a stateowner is found nfsd: fix cred leak on every rpc nfsd: fix null dereference on error path nfs: note that CONFIG_SUNRPC_XPRT_RDMA turns on server side support too update port number in NFS/RDMA documentation commit b00ecabf1d00f6c164aee62703df5dae7ac79894 Merge: 97179fd 64b840d Author: Linus Torvalds Date: Tue Jan 27 16:07:24 2009 -0800 Merge git://git.kernel.org/pub/scm/linux/kernel/git/jejb/scsi-rc-fixes-2.6 * git://git.kernel.org/pub/scm/linux/kernel/git/jejb/scsi-rc-fixes-2.6: [SCSI] ibmvfc: Fix DMA mapping leak on memory allocation failure [SCSI] qla2xxx: Update version number to 8.03.00-k2. [SCSI] qla2xxx: Add checks for a valid fcport in dev-loss-tmo/terminate_rport_io callbacks. [SCSI] qla2xxx: Correct regression in DMA-mask setting prior to allocations. [SCSI] qla2xxx: Correct descriptions in flash manipulation routines. [SCSI] qla2xxx: Correct regression in EH abort handling. [SCSI] qla2xxx: Correct endianness issue during flash manipulation. [SCSI] qla2xxx: Correct MSI-X vector allocation for single queue mode. [SCSI] qla2xxx: Modify firmware-load order precedence for ISP81XX parts. [SCSI] qla2xxx: Always serialize mailbox command execution. [SCSI] qla2xxx: Ensure RISC-interrupt-enabled consistency for IS_NOPOLLING_TYPE() ISPs. [SCSI] qla2xxx: Simplify sector-mask calculation in preparation for larger flash parts. [SCSI] qla2xxx: Fix memory leak in error path [SCSI] qla4xxx: do not reuse session when connecting to different target port [SCSI] libiscsi: fix iscsi pool leak commit 97179fd46da7ddedd18e95388130ed3e06c5a0c7 Author: David Daney Date: Tue Jan 27 09:53:22 2009 -0800 cpumask fallout: Initialize irq_default_affinity earlier Move the initialization of irq_default_affinity to early_irq_init as core_initcall is too late. irq_default_affinity can be used in init_IRQ and potentially timer and SMP init as well. All of these happen before core_initcall. Moving the initialization to early_irq_init ensures that it is initialized before it is used. Signed-off-by: David Daney Acked-by: Mike Travis Signed-off-by: Linus Torvalds commit 1267a8df209c7453d65acbdd56e3588954bf890b Author: David Daney Date: Tue Jan 27 09:53:21 2009 -0800 Make irq_*_affinity depend on CONFIG_GENERIC_HARDIRQS too. In interrupt.h these functions are declared only if CONFIG_GENERIC_HARDIRQS is set. We should define them under identical conditions. Signed-off-by: David Daney Signed-off-by: Linus Torvalds commit 40413dcb7b273bda681dca38e6ff0bbb3728ef11 Author: Alexey Dobriyan Date: Thu Jan 22 01:58:36 2009 +0300 Fix longstanding "error: storage size of '__mod_dmi_device_table' isn't known" gcc 3.4.6 doesn't like MODULE_DEVICE_TABLE(dmi, x) expansion enough to error out. Shut it up in a most simple way. Signed-off-by: Alexey Dobriyan Signed-off-by: Linus Torvalds commit 71a082efc9fdc12068a3cee6cebb1330b00ebeee Author: Matthew Garrett Date: Tue Jan 27 01:03:35 2009 +0000 PCI hotplug: Change link order of pciehp & acpiphp Some hardware exposes PCIE slots in such a way that they can be claimed by either the acpiphp or pciehp driver. pciehp is the preferred driver if the firmware allows the OS to claim control via the _OSC method so should be loaded first - if it fails to bind (either due to a missing _OSC method or the firmware refusing to hand off control) then we can fall back to acpiphp or a vendor-specific driver. This patch simply changes the link order to ensure that pciehp will be initialised before acpiphp if both are statically built into the kernel. Signed-off-by: Matthew Garrett Acked-by: Randy Dunlap Signed-off-by: Jesse Barnes commit fa82a491275a613b15489aab4b99acecb00958d3 Author: Jeff Layton Date: Thu Jan 22 14:16:04 2009 -0500 nfsd: only set file_lock.fl_lmops in nfsd4_lockt if a stateowner is found nfsd4_lockt does a search for a lockstateowner when building the lock struct to test. If one is found, it'll set fl_owner to it. Regardless of whether that happens, it'll also set fl_lmops. Given that this lock is basically a "lightweight" lock that's just used for checking conflicts, setting fl_lmops is probably not appropriate for it. This behavior exposed a bug in DLM's GETLK implementation where it wasn't clearing out the fields in the file_lock before filling in conflicting lock info. While we were able to fix this in DLM, it still seems pointless and dangerous to set the fl_lmops this way when we may have a NULL lockstateowner. Signed-off-by: Jeff Layton Signed-off-by: J. Bruce Fields commit b914152a6fbd2cd0441bc293ae8b3f3f1a9407b6 Author: J. Bruce Fields Date: Tue Jan 20 19:34:22 2009 -0500 nfsd: fix cred leak on every rpc Since override_creds() took its own reference on new, we need to release our own reference. (Note the put_cred on the return value puts the *old* value of current->creds, not the new passed-in value). Signed-off-by: J. Bruce Fields commit bf935a78814cc9b96d09f612912178adc964ce9c Author: J. Bruce Fields Date: Tue Jan 20 19:32:59 2009 -0500 nfsd: fix null dereference on error path We're forgetting to check the return value from groups_alloc(). Signed-off-by: J. Bruce Fields commit ce0cf6622c9a6f18c2723ea4bef7616799a1ca39 Author: J. Bruce Fields Date: Sun Nov 2 16:18:08 2008 -0500 nfs: note that CONFIG_SUNRPC_XPRT_RDMA turns on server side support too We forgot to update this when adding server-side support. Signed-off-by: J. Bruce Fields commit 096abd77038a2ff74efd194d074eadcde80fb97d Author: James Lentini Date: Thu Jan 8 13:13:26 2009 -0500 update port number in NFS/RDMA documentation Update the NFS/RDMA documentation to use the new port number assigned by IANA. Signed-off-by: James Lentini Signed-off-by: J. Bruce Fields commit 1cf3eb2ff6b0844c678f2f48d0053b9d12b7da67 Author: Jeff Mahoney Date: Tue Jan 27 23:48:59 2009 +0200 kmalloc: return NULL instead of link failure The SLAB kmalloc with a constant value isn't consistent with the other implementations because it bails out with __you_cannot_kmalloc_that_much rather than returning NULL and properly allowing the caller to fall back to vmalloc or take other action. This doesn't happen with a non-constant value or with SLOB or SLUB. Starting with 2.6.28, I've been seeing build failures on s390x. This is due to init_section_page_cgroup trying to allocate 2.5MB when the max size for a kmalloc on s390x is 2MB. It's failing because the value is constant. The workarounds at the call size are ugly and the caller shouldn't have to change behavior depending on what the backend of the API is. So, this patch eliminates the link failure and returns NULL like the other implementations. Signed-off-by: Jeff Mahoney Cc: Martin Schwidefsky Cc: Heiko Carstens Cc: Christoph Lameter Cc: Pekka Enberg Cc: Matt Mackall Cc: Nick Piggin Cc: [2.6.28.x] Signed-off-by: Andrew Morton Signed-off-by: Pekka Enberg commit f0e0059b9c18426cffdcc04161062251a8f9741e Author: Eric Sandeen Date: Sun Jan 25 20:53:00 2009 -0600 don't reallocate sxp variable passed into xfs_swapext fixes kernel.org bugzilla 12538, xfs_fsr fails on 2.6.29-rc kernels Regression caused by 743bb4650da9e2595d6cedd01c680b5b9398c74a This was an embarrasing mistake, reallocating the sxp pointer passed in from the main ioctl switch. Signed-off-by: Eric Sandeen Tested-by: Paul Martin Reviewed-by: Felix Blyakher Signed-off-by: Felix Blyakher commit bf4162bcf82ebc3258d6bc0ddd6453132abde72d Author: Darrick J. Wong Date: Tue Nov 25 13:51:44 2008 -0800 PCI hotplug: fakephp: Allocate PCI resources before adding the device For PCI devices, pci_bus_assign_resources() must be called to set up the pci_device->resource array before pci_bus_add_devices() can be called, else attempts to load drivers results in BAR collision errors where there are none. This is not done in fakephp, so devices can be "unplugged" but scanning the parent bus won't bring the devices back due to resource unallocation. Move the pci_bus_add_device-calling logic into pci_rescan_bus and preface it with a call to pci_bus_assign_resources so that we only have to (re)allocate resources once per bus where a new device is found. Signed-off-by: Darrick J. Wong Acked-by: Alex Chiang Signed-off-by: Jesse Barnes commit bffac3c593eba1f9da3efd0199e49ea6558a40ce Author: Matthew Wilcox Date: Wed Jan 21 19:19:19 2009 -0500 PCI MSI: Fix undefined shift by 32 Add an msi_mask() function which returns the correct bitmask for the number of MSI interrupts you have. This fixes an undefined bug in msi_capability_init(). Signed-off-by: Matthew Wilcox Signed-off-by: Jesse Barnes commit 476e7faefc43f106a90b5c96166c59b75de19d30 Author: Rafael J. Wysocki Date: Thu Jan 22 23:39:57 2009 +0100 PCI PM: Do not wait for buses in B2 or B3 during resume pci_restore_standard_config() adds extra delay for PCI buses in low power states (B2 or B3), but this is only correct for buses in B2, because the buses in B3 are reset when they are put back into B0. Thus we should wait for such buses to settle after the reset, but it's not a good idea to wait that long (1.1 s) with interrupts off. On the other hand, we have never waited for buses in B2 and B3 during resume and it seems reasonable to go back to this well tested behaviour. Signed-off-by: Rafael J. Wysocki Signed-off-by: Jesse Barnes commit 48f67f54a53bb68619a63c3f38cf7f502ed74b1d Author: Rafael J. Wysocki Date: Thu Jan 22 23:38:31 2009 +0100 PCI PM: Power up devices before restoring their state Devices that have MSI-X enabled before suspend to RAM or hibernation and that are in a low power state during resume will not be handled correctly by pci_restore_standard_config(). Namely, it first calls pci_restore_state() which calls pci_restore_msi_state(), which in turn executes __pci_restore_msix_state() that accesses the device's memory space to restore the contents of the MSI-X table. However, if the device is in a low power state at this point, it's memory space is not accessible. The easiest way to fix this potential problem is to make pci_restore_standard_config() call pci_restore_state() after it has put the device into the full power state, D0. Fortunately, all of this is done with interrupts off, so the change of ordering should not cause any trouble. Signed-off-by: Rafael J. Wysocki Signed-off-by: Jesse Barnes commit 545ffd58adc86b8d33449dab44fe81b503a6f81b Author: Rafael J. Wysocki Date: Thu Jan 22 23:36:56 2009 +0100 PCI PM: Fix hibernation breakage on EeePC 701 Hibernation breaks on EeePC 701 as a result of attempting to put one of its (driverless) devices into a low power state. Avoid that by not attepmting to power manage driverless devices during hibernation. Signed-off-by: Rafael J. Wysocki Reported-and-tested-by: Alan Jenkins Signed-off-by: Jesse Barnes commit 57064d213d2e44654d4f13c66df135b5e7389a26 Author: Seth Heasley Date: Fri Jan 23 12:43:38 2009 -0800 PCI: irq and pci_ids patch for Intel Tigerpoint DeviceIDs This patch adds the Intel Tigerpoint LPC Controller DeviceIDs. Signed-off-by: Seth Heasley Signed-off-by: Jesse Barnes commit 418e4da33f45fd7bdcce48778b149b780ff730bc Author: Rafael J. Wysocki Date: Mon Jan 26 21:43:08 2009 +0100 PCI PM: Fix suspend error paths and testing facility breakage If one of device drivers refuses to suspend by returning error code from its ->suspend() callback, the devices that have already been suspended are resumed by executing their drivers' ->resume() callbacks. Some of these callbacks expect the device's configuration space to be restored if the device has been put into D3 before they are called. Unfortunately, this mechanism has been broken by recent changes moving the restoration of config spaces of some devices (most importantly, USB controllers and HDA Intel) into the resume callbacks executed with interrupts off. Obviously, these callbacks are not invoked in the suspend error path and, as a result, the system cannot be successfully brought back into the working state in case of a suspend error. The same thing happens in the hibernation error path right before putting the system into S4. Similarly, the suspend testing facility associated with the /sys/power/pm_test file is broken, because it uses the very same mechanism that is used in the suspend and hibernation error paths. Fix the breakage by making the PCI core restore the configuration spaces of PCI devices that haven't been restored already before pci_pm_resume() is called for those devices by the PM core. Signed-off-by: Rafael J. Wysocki Signed-off-by: Jesse Barnes commit 490a8d70cdd77d6262c3d5815bc0b1c54a3a63f8 Merge: 8c022fd 5f451fe Author: Linus Torvalds Date: Tue Jan 27 07:50:41 2009 -0800 Merge branch 'hibern_fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/jgarzik/libata-dev * 'hibern_fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/jgarzik/libata-dev: SATA PIIX: Blacklist system that spins off disks during ACPI power off SATA Sil: Blacklist system that spins off disks during ACPI power off SATA AHCI: Blacklist system that spins off disks during ACPI power off SATA: Blacklisting of systems that spin off disks during ACPI power off DMI: Introduce dmi_first_match to make the interface more flexible Hibernation: Introduce system_entering_hibernation commit 8c022fdd5fc1b9949bad21d26e0cb115d045c7f9 Merge: ff2bad5 b98f504 Author: Linus Torvalds Date: Tue Jan 27 07:47:22 2009 -0800 Merge branch 'upstream-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jgarzik/libata-dev * 'upstream-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jgarzik/libata-dev: pata-rb532-cf: remove set_irq_type from finish_io [libata] pata_via: support VX855, future chips whose IDE controller use 0x0571 sata_mv: no longer experimental (v2) sata_mv: msi masking fix (v2) sata_mv: Properly initialize main irq mask sata_mv: remove bogus nsect restriction sata_mv: don't read hc_irq_cause sata_mv: fix 8-port timeouts on 508x/6081 chips sata_nv: fix MCP5x reset sata_nv: rename nv_nf2_hardreset() libata: set NODEV_HINT for 0x7f status libata-sff: fix incorrect EH message commit ff2bad5f899421850f7e9bc956450e4c61b0b95d Merge: 78d70d4 516280e Author: Linus Torvalds Date: Tue Jan 27 07:46:29 2009 -0800 Merge git://git.kernel.org/pub/scm/linux/kernel/git/herbert/crypto-2.6 * git://git.kernel.org/pub/scm/linux/kernel/git/herbert/crypto-2.6: crypto: ccm - Fix handling of null assoc data crypto: blkcipher - Fix WARN_ON handling in walk_done crypto: authenc - Fix zero-length IV crash commit 78d70d48132ce4c678a95b771ffa1af4fb5a03ec Author: Michael Bramer Date: Tue Jan 27 11:51:16 2009 +0000 Add support for '8-port RS-232 MIC-3620 from advantech' This Patch add the device information for the MIC-3620 8-port RS-232 cPCI card from Advantech Co. Ltd. Signed-off-by: Michael Bramer Signed-off-by: Alan Cox Signed-off-by: Linus Torvalds commit e9fed5673949df33385091037f996f1b1a0e1908 Author: Uwe Kleine-König Date: Tue Jan 27 11:51:06 2009 +0000 Move jsm_remove_one to .devexit.text The function jsm_remove_one is used only wrapped by __devexit_p so define it using __devexit. Signed-off-by: Uwe Kleine-König Signed-off-by: Alan Cox Signed-off-by: Linus Torvalds commit 11455be2a3874d405508d9d81157d0f8fb179f32 Author: Ihar Hrachyshka Date: Tue Jan 27 11:50:46 2009 +0000 MIPS: enable serial UART support on PNX833X devices. Enabled serial UART driver for PNX833X devices. Signed-off-by: Ihar Hrachyshka Signed-off-by: Alan Cox Signed-off-by: Linus Torvalds commit 808ffa3d302257b9dc37b1412c1fcdf976fcddac Author: Eric Paris Date: Tue Jan 27 11:50:37 2009 +0000 tty_open can return to userspace holding tty_mutex __tty_open could return (to userspace) holding the tty_mutex thanks to a regression introduced by 4a2b5fddd53b80efcb3266ee36e23b8de28e761a ("Move tty lookup/reopen to caller"). This was found by bisecting an fsfuzzer problem. Admittedly I have no idea how it managed to tickle this 100% reliably, but it is clearly a regression and when hit leaves the box in a completely unusable state. This patch lets the fsfuzzer test complete every time. Signed-off-by: Eric Paris Signed-off-by: Alan Cox Signed-off-by: Linus Torvalds commit 766fb95ba06e1bbf531d30dc05e21b2d4a0e8dd2 Author: Sidney Amani Date: Tue Jan 27 10:11:46 2009 +0100 UBI: allow direct user-space I/O Introduce a new ioctl UBI_IOCSETPROP to set properties on a volume. Also add the first property: UBI_PROP_DIRECT_WRITE, this property is used to set the ability to use direct writes in userspace Signed-off-by: Sidney Amani Signed-off-by: Corentin Chary Signed-off-by: Artem Bityutskiy commit 6f7ab6d458bbfc2f55d295fa3e6b9e69cdb1d517 Author: Artem Bityutskiy Date: Tue Jan 27 16:12:31 2009 +0200 UBIFS: fix no_chk_data_crc When data CRC checking is disabled, UBIFS returns incorrect return code from the 'try_read_node()' function (0 instead of 1, which means CRC error), which make the caller re-read the data node again, but using a different code patch, so the second read is fine. Thus, we read the same node twice. And the result of this is that UBIFS is slower with no_chk_data_crc option than it is with chk_data_crc option. This patches fixes the problem. Reported-by: Reuben Dowle Signed-off-by: Artem Bityutskiy commit 5801f992276366cd6a4f1f9939a4c9da33d499ee Author: Takashi Iwai Date: Tue Jan 27 12:53:22 2009 +0100 ALSA: hda - Fix compile warning with CONFIG_SND_JACK=n sound/pci/hda/patch_conexant.c:352: warning: 'conexant_add_jack' defined but not used Signed-off-by: Takashi Iwai commit aa9d823bb347fb66cb07f98c686be8bb85cb6a74 Author: Joerg Schirottke Date: Tue Jan 27 11:01:34 2009 +0100 ALSA: hda - Add quirk for HP DV6700 laptop Added the matching model=laptop for HP DV6700 laptop. Signed-off-by: Joerg Schirottke Signed-off-by: Takashi Iwai commit 5f451fe1ab5d73b987051f0d23c85216c552e163 Author: Rafael J. Wysocki Date: Mon Jan 19 20:59:22 2009 +0100 SATA PIIX: Blacklist system that spins off disks during ACPI power off Some notebooks from HP have the problem that their BIOSes attempt to spin down hard drives before entering ACPI system states S4 and S5. This leads to a yo-yo effect during system power-off shutdown and the last phase of hibernation when the disk is first spun down by the kernel and then almost immediately turned on and off by the BIOS. This, in turn, may result in shortening the disk's life times. To prevent this from happening we can blacklist the affected systems using DMI information. Blacklist HP 2510p that uses the ata_piix driver. Signed-off-by: Rafael J. Wysocki Signed-off-by: Jeff Garzik commit e57db7bde7bff95ae812736ca00c73bd5271455b Author: Rafael J. Wysocki Date: Mon Jan 19 20:58:29 2009 +0100 SATA Sil: Blacklist system that spins off disks during ACPI power off Some notebooks from HP have the problem that their BIOSes attempt to spin down hard drives before entering ACPI system states S4 and S5. This leads to a yo-yo effect during system power-off shutdown and the last phase of hibernation when the disk is first spun down by the kernel and then almost immediately turned on and off by the BIOS. This, in turn, may result in shortening the disk's life times. To prevent this from happening we can blacklist the affected systems using DMI information. Blacklist HP nx6325 that uses the sata_sil driver. Signed-off-by: Rafael J. Wysocki Signed-off-by: Jeff Garzik commit 1fd684346d41f6be2487c161f60d03a7feb68911 Author: Rafael J. Wysocki Date: Mon Jan 19 20:57:36 2009 +0100 SATA AHCI: Blacklist system that spins off disks during ACPI power off Some notebooks from HP have the problem that their BIOSes attempt to spin down hard drives before entering ACPI system states S4 and S5. This leads to a yo-yo effect during system power-off shutdown and the last phase of hibernation when the disk is first spun down by the kernel and then almost immediately turned on and off by the BIOS. This, in turn, may result in shortening the disk's life times. To prevent this from happening we can blacklist the affected systems using DMI information. Blacklist HP nx6310 that uses the AHCI driver. Signed-off-by: Rafael J. Wysocki Signed-off-by: Jeff Garzik commit 2a6e58d2731dcc05dafa7f976d935e0f0627fcd7 Author: Rafael J. Wysocki Date: Mon Jan 19 20:56:43 2009 +0100 SATA: Blacklisting of systems that spin off disks during ACPI power off Introduce new libata flags ATA_FLAG_NO_POWEROFF_SPINDOWN and ATA_FLAG_NO_HIBERNATE_SPINDOWN that, if set, will prevent disks from being spun off during system power off and hibernation, respectively (to handle the hibernation case we need the new system state SYSTEM_HIBERNATE_ENTER that can be checked against by libata, in analogy with SYSTEM_POWER_OFF). Signed-off-by: Rafael J. Wysocki Signed-off-by: Jeff Garzik commit d7b1956fed33d30c4815e848fd7a143722916868 Author: Rafael J. Wysocki Date: Mon Jan 19 20:55:50 2009 +0100 DMI: Introduce dmi_first_match to make the interface more flexible Some notebooks from HP have the problem that their BIOSes attempt to spin down hard drives before entering ACPI system states S4 and S5. This leads to a yo-yo effect during system power-off shutdown and the last phase of hibernation when the disk is first spun down by the kernel and then almost immediately turned on and off by the BIOS. This, in turn, may result in shortening the disk's life times. To prevent this from happening we can blacklist the affected systems using DMI information. However, only the on-board controlles should be blacklisted and their PCI slot numbers can be used for this purpose. Unfortunately the existing interface for checking DMI information of the system is not very convenient for this purpose, because to use it, we would have to define special callback functions or create a separate struct dmi_system_id table for each blacklisted system. To overcome this difficulty introduce a new function dmi_first_match() returning a pointer to the first entry in an array of struct dmi_system_id elements that matches the system DMI information. Then, we can use this pointer to access the entry's .driver_data field containing the additional information, such as the PCI slot number, allowing us to do the desired blacklisting. Signed-off-by: Rafael J. Wysocki Signed-off-by: Jeff Garzik commit abfe2d7b915c872f3a1fd203267cedebf90daa45 Author: Rafael J. Wysocki Date: Mon Jan 19 20:54:54 2009 +0100 Hibernation: Introduce system_entering_hibernation Introduce boolean function system_entering_hibernation() returning 'true' during the last phase of hibernation, in which devices are being put into low power states and the sleep state (for example, ACPI S4) is finally entered. Some device drivers need such a function to check if the system is in the final phase of hibernation. In particular, some SATA drivers are going to use it for blacklisting systems in which the disks should not be spun down during the last phase of hibernation (the BIOS will do that anyway). Signed-off-by: Rafael J. Wysocki Signed-off-by: Jeff Garzik commit b98f5046397b9f4c5060e5b73e483bfd9e453dd6 Author: Phil Sutter Date: Tue Jan 20 17:40:56 2009 +0100 pata-rb532-cf: remove set_irq_type from finish_io The driver has been tested without the call to set_irq_type at this point and occurs to work fine, so it should be safe to remove it. Signed-off-by: Phil Sutter Signed-off-by: Jeff Garzik commit add8240eedb586b9d885c324db7f98fc1a470f9f Author: Matt Waddel Date: Sat Dec 20 07:16:38 2008 -0700 m68knommu: fix 5329 ColdFire periphal addressing The 5329 ColdFire peripheral IO register addresses are not relative to the MBAR register. So fix the serial platform setup array and IRQ acking to use just the direct addresses. Signed-off-by: Matt Waddel Signed-off-by: Greg Ungerer commit 05ae6fa31874eda2484da13c5dc4ddee8a47a0a4 Author: Greg Ungerer Date: Tue Jan 13 17:30:22 2009 +1000 uclinux: add process name to allocation error message This patch adds the name of the process to the bad allocation error message on non-MMU systems. Changed suggested by jsujjavanich@syntech-fuelmaster.com Signed-off-by: Greg Ungerer commit b9d57f94bb0ed56a5a2b58552a9ff4453013ff0b Author: Matt Waddel Date: Tue Jan 13 17:14:20 2009 +1000 m68knommu: correct the mii calculations for 532x ColdFire FEC Signed-off-by: Matt Waddel Signed-off-by: Greg Ungerer commit d4732d3c59b84bb093e11c8f755f32801b4bf86d Author: Matt Waddel Date: Tue Jan 13 17:13:06 2009 +1000 m68knommu: add ColdFire M532x to the FEC configuration options Signed-off-by: Matt Waddel Signed-off-by: Greg Ungerer commit f3221a39de12377e6eb76460abf95b08f7fb9178 Author: Greg Ungerer Date: Tue Jan 13 16:27:03 2009 +1000 m68knommu: fix syscall restarting Make restart blocks working, required for proper syscall restarting. Derived from same changes for m68k arch by Andreas Schwab Signed-off-by: Greg Ungerer commit d88ffccbca0428e9b12feec45a2bc7f09efa1ab2 Author: Greg Ungerer Date: Tue Jan 13 14:27:11 2009 +1000 m68knommu: remove the obsolete and long unused comempci chip support Signed-off-by: Greg Ungerer commit e81588517db93b0edb853c5b7187c0f2e9fed9aa Author: Adrian Bunk Date: Tue Jan 13 14:21:33 2009 +1000 m68knommu: remove the no longer used PCI support option Signed-off-by: Adrian Bunk Signed-off-by: Greg Ungerer commit 3947fca786dcd8ee6255a8bed7963357b3d984f6 Author: Adrian Bunk Date: Tue Jan 13 14:20:01 2009 +1000 m68knommu: remove obsolete and unused eLIA board Greg Ungerer said about this board: Only ever a handful where made, and that was in 1999. Signed-off-by: Adrian Bunk Signed-off-by: Greg Ungerer commit e0212e72186e855027dd35b37e9d7a99a078448c Author: Adrian Bunk Date: Wed Oct 29 12:15:47 2008 +0200 m68knommu: set NO_DMA m68knommu does not set the Kconfig NO_DMA variable, but also does not provide the required functions, resulting in the following build error triggered by commit a40c24a13366e324bc0ff8c3bb107db89312c984 (net: Add SKB DMA mapping helper functions.): <-- snip --> .. LD vmlinux net/built-in.o: In function `skb_dma_unmap': (.text+0xac5e): undefined reference to `dma_unmap_single' net/built-in.o: In function `skb_dma_unmap': (.text+0xac7a): undefined reference to `dma_unmap_page' net/built-in.o: In function `skb_dma_map': (.text+0xacdc): undefined reference to `dma_map_single' net/built-in.o: In function `skb_dma_map': (.text+0xace8): undefined reference to `dma_mapping_error' net/built-in.o: In function `skb_dma_map': (.text+0xad10): undefined reference to `dma_map_page' net/built-in.o: In function `skb_dma_map': (.text+0xad82): undefined reference to `dma_unmap_page' net/built-in.o: In function `skb_dma_map': (.text+0xadc6): undefined reference to `dma_unmap_single' make[1]: *** [vmlinux] Error 1 <-- snip --> Signed-off-by: Adrian Bunk Signed-off-by: Greg Ungerer commit a1a9bcb50308b6f7fa90038ef300f3725c130dde Author: Greg Ungerer Date: Tue Jan 13 10:17:30 2009 +1000 m68knommu: fix cache flushing for the 527x ColdFire processors Fix cache flushing for the 527x ColdFire processors Its CACR register format is slightly different. Along with this add support for flushing the 523x cache, which uses the same format as the 527x ColdFire's, and was missing flush support. Signed-off-by: Greg Ungerer commit 26a4bc66a6f57299027e04d90b14fe56a44c6d2b Author: John Adamson Date: Fri Aug 22 16:43:49 2008 +1000 m68knommu: fix ColdFire 5272 serial baud rates in mcf.c I noticed (the hard way) that the mcf.c driver doesn't support the fractional precision register on the MCF5272. This makes the console dicey at 115200 baud and a system clock of 66.0 MHz. On the other hand, if your hardware is running at 66.666 MHz, it probably isn't a problem. Patch submitted by John Adamson Signed-off-by: Greg Ungerer commit c7bcd0df1f2879fcedc3f55323c3afa7bb1f4295 Author: Sebastian Siewior Date: Mon Apr 28 11:43:16 2008 +0200 m68knommu: use one exist from execption Part of the code that did not make sense to me got removed by Greg. This is part two: The first compare is to check whether the interrupts are disabled or not. Depending on the result we exectute the RESTORE_ALL macro is not only restoring the stack but also returning to caller. The test for pending softirq has been removed because it is allready done in irq_exit(). Since system_call() is allso using the SAVE_ALL macro and returning via ret_from_exception label I see no reason why we could not do this here as well. This is also handy because if we return from the timer interrupt and we need to resched than we check for this :) Signed-off-by: Sebastian Siewior Signed-off-by: Greg Ungerer commit 9fa5fdf291c9b58b1cb8b4bb2a0ee57efa21d635 Author: Dimitris Michailidis Date: Mon Jan 26 22:15:31 2009 -0800 tcp: Fix length tcp_splice_data_recv passes to skb_splice_bits. tcp_splice_data_recv has two lengths to consider: the len parameter it gets from tcp_read_sock, which specifies the amount of data in the skb, and rd_desc->count, which is the amount of data the splice caller still wants. Currently it passes just the latter to skb_splice_bits, which then splices min(rd_desc->count, skb->len - offset) bytes. Most of the time this is fine, except when the skb contains urgent data. In that case len goes only up to the urgent byte and is less than skb->len - offset. By ignoring len tcp_splice_data_recv may a) splice data tcp_read_sock told it not to, b) return to tcp_read_sock a value > len. Now, tcp_read_sock doesn't handle used > len and leaves the socket in a bad state (both sk_receive_queue and copied_seq are bad at that point) resulting in duplicated data and corruption. Fix by passing min(rd_desc->count, len) to skb_splice_bits. Signed-off-by: Dimitris Michailidis Acked-by: Eric Dumazet Signed-off-by: David S. Miller commit 516280e735b034216de97eb7ba080ec6acbfc58f Author: Jarod Wilson Date: Thu Jan 22 19:58:15 2009 +1100 crypto: ccm - Fix handling of null assoc data Its a valid use case to have null associated data in a ccm vector, but this case isn't being handled properly right now. The following ccm decryption/verification test vector, using the rfc4309 implementation regularly triggers a panic, as will any other vector with null assoc data: * key: ab2f8a74b71cd2b1ff802e487d82f8b9 * iv: c6fb7d800d13abd8a6b2d8 * Associated Data: [NULL] * Tag Length: 8 * input: d5e8939fc7892e2b The resulting panic looks like so: Unable to handle kernel paging request at ffff810064ddaec0 RIP: [] :ccm:get_data_to_compute+0x1a6/0x1d6 PGD 8063 PUD 0 Oops: 0002 [1] SMP last sysfs file: /module/libata/version CPU 0 Modules linked in: crypto_tester_kmod(U) seqiv krng ansi_cprng chainiv rng ctr aes_generic aes_x86_64 ccm cryptomgr testmgr_cipher testmgr aead crypto_blkcipher crypto_a lgapi des ipv6 xfrm_nalgo crypto_api autofs4 hidp l2cap bluetooth nfs lockd fscache nfs_acl sunrpc ip_conntrack_netbios_ns ipt_REJECT xt_state ip_conntrack nfnetlink xt_ tcpudp iptable_filter ip_tables x_tables dm_mirror dm_log dm_multipath scsi_dh dm_mod video hwmon backlight sbs i2c_ec button battery asus_acpi acpi_memhotplug ac lp sg snd_intel8x0 snd_ac97_codec ac97_bus snd_seq_dummy snd_seq_oss joydev snd_seq_midi_event snd_seq snd_seq_device snd_pcm_oss snd_mixer_oss ide_cd snd_pcm floppy parport_p c shpchp e752x_edac snd_timer e1000 i2c_i801 edac_mc snd soundcore snd_page_alloc i2c_core cdrom parport serio_raw pcspkr ata_piix libata sd_mod scsi_mod ext3 jbd uhci_h cd ohci_hcd ehci_hcd Pid: 12844, comm: crypto-tester Tainted: G 2.6.18-128.el5.fips1 #1 RIP: 0010:[] [] :ccm:get_data_to_compute+0x1a6/0x1d6 RSP: 0018:ffff8100134434e8 EFLAGS: 00010246 RAX: 0000000000000000 RBX: ffff8100104898b0 RCX: ffffffffab6aea10 RDX: 0000000000000010 RSI: ffff8100104898c0 RDI: ffff810064ddaec0 RBP: 0000000000000000 R08: ffff8100104898b0 R09: 0000000000000000 R10: ffff8100103bac84 R11: ffff8100104898b0 R12: ffff810010489858 R13: ffff8100104898b0 R14: ffff8100103bac00 R15: 0000000000000000 FS: 00002ab881adfd30(0000) GS:ffffffff803ac000(0000) knlGS:0000000000000000 CS: 0010 DS: 0000 ES: 0000 CR0: 000000008005003b CR2: ffff810064ddaec0 CR3: 0000000012a88000 CR4: 00000000000006e0 Process crypto-tester (pid: 12844, threadinfo ffff810013442000, task ffff81003d165860) Stack: ffff8100103bac00 ffff8100104898e8 ffff8100134436f8 ffffffff00000000 0000000000000000 ffff8100104898b0 0000000000000000 ffff810010489858 0000000000000000 ffff8100103bac00 ffff8100134436f8 ffffffff8864c634 Call Trace: [] :ccm:crypto_ccm_auth+0x12d/0x140 [] :ccm:crypto_ccm_decrypt+0x161/0x23a [] :crypto_tester_kmod:cavs_test_rfc4309_ccm+0x4a5/0x559 [...] The above is from a RHEL5-based kernel, but upstream is susceptible too. The fix is trivial: in crypto/ccm.c:crypto_ccm_auth(), pctx->ilen contains whatever was in memory when pctx was allocated if assoclen is 0. The tested fix is to simply add an else clause setting pctx->ilen to 0 for the assoclen == 0 case, so that get_data_to_compute() doesn't try doing things its not supposed to. Signed-off-by: Jarod Wilson Acked-by: Neil Horman Signed-off-by: Herbert Xu commit bac1b5c4696f217afeac5b29874a337bc39da717 Author: Herbert Xu Date: Fri Jan 16 14:40:54 2009 +1100 crypto: blkcipher - Fix WARN_ON handling in walk_done When we get left-over bits from a slow walk, it means that the underlying cipher has gone troppo. However, as we're handling that case we should ensure that the caller terminates the walk. This patch does this by setting walk->nbytes to zero. Reported-by: Roel Kluin Reported-by: Huang Ying Signed-off-by: Herbert Xu commit a7a41acf99d9150b424839b0d7b4f5ad9d211e2d Author: Manish Katiyar Date: Mon Jan 26 21:54:21 2009 -0800 r6040: Remove unused variable pdev from drivers/net/r6040.c drivers/net/r6040.c:441: warning: unused variable 'pdev' Signed-off-by: Manish Katiyar Signed-off-by: David S. Miller commit 98322f22eca889478045cf896b572250d03dc45f Author: Eric Dumazet Date: Mon Jan 26 21:35:35 2009 -0800 udp: optimize bind(0) if many ports are in use commit 9088c5609584684149f3fb5b065aa7f18dcb03ff (udp: Improve port randomization) introduced a regression for UDP bind() syscall to null port (getting a random port) in case lot of ports are already in use. This is because we do about 28000 scans of very long chains (220 sockets per chain), with many spin_lock_bh()/spin_unlock_bh() calls. Fix this using a bitmap (64 bytes for current value of UDP_HTABLE_SIZE) so that we scan chains at most once. Instead of 250 ms per bind() call, we get after patch a time of 2.9 ms Based on a report from Vitaly Mayatskikh Reported-by: Vitaly Mayatskikh Signed-off-by: Eric Dumazet Tested-by: Vitaly Mayatskikh Signed-off-by: David S. Miller commit 8527bec548e01a29c6d1928d20d6d3be71861482 Author: Ira W. Snyder Date: Mon Jan 26 21:00:33 2009 -0800 virtio_net: use correct accessors for scatterlists Without this fix, virtio_net makes incorrect usage of scatterlists. It sets the end of the scatterlist chain after the first element, despite the fact that more entries come after it. If you try to run dma_map_sg() on one of the scatterlists given to you by add_buf(), you will get a null pointer oops. Signed-off-by: Ira W. Snyder Signed-off-by: Rusty Russell Signed-off-by: David S. Miller commit 5ee810072175042775e39bdd3eaaa68884c27805 Author: Linus Torvalds Date: Mon Jan 26 19:21:26 2009 -0800 Fix "multiple definition of `debugfs_create_size_t'" Introduced by 8adb711f3668b034e7b956fac951ed08b53e0d55 ("debugfs: introduce stub for debugfs_create_size_t() when DEBUG_FS=n") and due to a simple missing "static inline". Reported-and-tested-by: Jeff Chua Acked-by: Greg KH Signed-off-by: Linus Torvalds commit b57cee20a5654620337d1a5e9b5f929a4a6c302c Author: Kumar Gala Date: Mon Jan 26 20:02:47 2009 -0600 powerpc/embedded6xx: Update defconfigs Signed-off-by: Kumar Gala commit 99b1f150a939c8f19b0486c973435801dd928677 Author: Kumar Gala Date: Mon Jan 26 20:01:49 2009 -0600 powerpc/8xx: Update defconfigs Signed-off-by: Kumar Gala commit efe049b0a2669d8d4af151759472f8634fb6c95a Author: Kumar Gala Date: Mon Jan 26 20:00:42 2009 -0600 powerpc/86xx: Update defconfigs Signed-off-by: Kumar Gala commit 47b193a1aaef20c4d40a653dd34183a08f95bbe7 Author: Kumar Gala Date: Mon Jan 26 20:00:18 2009 -0600 powerpc/83xx: Update defconfigs Signed-off-by: Kumar Gala commit 993ac6b76288b876171326c40eb13a6f6ada42ca Author: Kumar Gala Date: Mon Jan 26 19:59:55 2009 -0600 powerpc/85xx: Update defconfigs Signed-off-by: Kumar Gala commit 9fd9784c91db79e953ea3fe3741f885bdc390a72 Author: Thadeu Lima de Souza Cascardo Date: Mon Jan 26 19:26:26 2009 -0500 ext4: Fix building with EXT4FS_DEBUG When bg_free_blocks_count was renamed to bg_free_blocks_count_lo in 560671a0, its uses under EXT4FS_DEBUG were not changed to the helper ext4_free_blks_count. Another commit, 498e5f24, also did not change everything needed under EXT4FS_DEBUG, thus making it spill some warnings related to printing format. This commit fixes both issues and makes ext4 build again when EXT4FS_DEBUG is enabled. Signed-off-by: Thadeu Lima de Souza Cascardo Signed-off-by: "Theodore Ts'o" commit fdff73f094e7220602cc3f8959c7230517976412 Author: Theodore Ts'o Date: Mon Jan 26 19:06:41 2009 -0500 ext4: Initialize the new group descriptor when resizing the filesystem Make sure all of the fields of the group descriptor are properly initialized. Previously, we allowed bg_flags field to be contain random garbage, which could trigger non-deterministic behavior, including a kernel OOPS. http://bugzilla.kernel.org/show_bug.cgi?id=12433 Signed-off-by: "Theodore Ts'o" Cc: stable@kernel.org commit 3a9f84d354ce1e19956083c8e691727dea33bd5a Author: Ed Swierk Date: Mon Jan 26 15:33:31 2009 -0800 signals, debug: fix BUG: using smp_processor_id() in preemptible code in print_fatal_signal() With print-fatal-signals=1 on a kernel with CONFIG_PREEMPT=y, sending an unexpected signal to a process causes a BUG: using smp_processor_id() in preemptible code. get_signal_to_deliver() releases the siglock before calling print_fatal_signal(), which calls show_regs(), which calls smp_processor_id(), which is not supposed to be called from a preemptible thread. Make sure show_regs() runs with preemption disabled. Signed-off-by: Ed Swierk Signed-off-by: Ingo Molnar commit 5376071069ec8a7e6a8112beab16fc24f5139475 Merge: cfb901b 24f11ec Author: Linus Torvalds Date: Mon Jan 26 15:12:47 2009 -0800 Merge master.kernel.org:/home/rmk/linux-2.6-arm * master.kernel.org:/home/rmk/linux-2.6-arm: (22 commits) [ARM] fix section-based ioremap [NET] am79c961a: fix spin_lock usage [ARM] omap: usb: thou shalt not provide empty release functions [ARM] omap: watchdog: allow OMAP watchdog driver on OMAP34xx platforms [ARM] 5369/1: omap mmc: Add new omap hsmmc controller for 2430 and 34xx, v3 [ARM] clkdev: fix clock matching [ARM] 5370/1: at91: fix rm9200 watchdog [ARM] 5368/1: arch/arm/mach-davinci/usb.c buildfix [ARM] 5365/1: s3cmci: Use new include path of dma.h [ARM] fix StrongARM-11x0 page copy implementation [ARM] omap: ensure OMAP drivers pass a struct device to clk_get() ARM: OMAP: Fix compile for h3 MMC ARM: OMAP: Remove unused platform devices, v3 ARM: OMAP: Fix ASoC by enabling writes to XCCR and RCCR McBSP registers, v3 ARM: OMAP: Fix OSK ASoC by registering I2C board info for tlvaic23 ARM: OMAP: remove duplicated #include's ARM: OMAP: Fix DMA CCR programming for request line > 63, v3 ARM: OMAP: Fix gpio.c compile on 15xx with CONFIG_DEBUGFS ARM: OMAP: Fix compile for beagle ARM: OMAP: Fix gpio by switching to generic gpio calls, v2 ... commit cfb901bf84fe22eb86525e9fb20675b53fb0462a Merge: 2034563 5fb4523 Author: Linus Torvalds Date: Mon Jan 26 15:11:41 2009 -0800 Merge branch 'i2c-for-linus' of git://jdelvare.pck.nerim.net/jdelvare-2.6 * 'i2c-for-linus' of git://jdelvare.pck.nerim.net/jdelvare-2.6: i2c: Warn on deprecated binding model use eeprom: More consistent symbol names eeprom: Move 93cx6 eeprom driver to /drivers/misc/eeprom spi: Move at25 (for SPI eeproms) to /drivers/misc/eeprom i2c: Move old eeprom driver to /drivers/misc/eeprom i2c: Move at24 to drivers/misc/eeprom i2c: Quilt tree has moved i2c: Delete many unused adapter IDs i2c: Delete 10 unused driver IDs commit 2034563ca323ee45f37a32911550d21c1f1e9626 Merge: 924d26d df291fa Author: Linus Torvalds Date: Mon Jan 26 15:10:37 2009 -0800 Merge git://git.kernel.org/pub/scm/linux/kernel/git/sam/kbuild-fixes * git://git.kernel.org/pub/scm/linux/kernel/git/sam/kbuild-fixes: kbuild: fix kbuild.txt typos kbuild: print usage with no arguments in scripts/config Revert "kbuild: strip generated symbols from *.ko" commit 924d26df6b774b85c8b4548189b20e34f904a149 Merge: 66673f1 cd1f55a Author: Linus Torvalds Date: Mon Jan 26 15:09:20 2009 -0800 Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-2.6 * git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-2.6: (92 commits) gianfar: Revive VLAN support vlan: Export symbols as non GPL symbols. bnx2x: tx_has_work should not wait for FW netxen: reduce memory footprint netxen: fix vlan tso/checksum offload net: Fix linux/if_frad.h's suitability for userspace. net: Move config NET_NS to from net/Kconfig to init/Kconfig isdn: Fix missing ifdef in isdn_ppp networking: document "nc" in addition to "netcat" in netconsole.txt e1000e: workaround hw errata af_key: initialize xfrm encap_oa virtio_net: Fix MAX_PACKET_LEN to support 802.1Q VLANs lcs: fix compilation for !CONFIG_IP_MULTICAST rtl8187: Add termination packet to prevent stall iwlwifi: fix rs_get_rate WARN_ON() p54usb: fix packet loss with first generation devices sctp: Fix another socket race during accept/peeloff sctp: Properly timestamp outgoing data chunks for rtx purposes sctp: Correctly start rtx timer on new packet transmissions. sctp: Fix crc32c calculations on big-endian arhes. ... commit 66673f13c10a817e27d71434c1198a4d874e0cd3 Merge: bf50c90 fcd26f7 Author: Linus Torvalds Date: Mon Jan 26 15:08:07 2009 -0800 Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/sparc-2.6 * git://git.kernel.org/pub/scm/linux/kernel/git/davem/sparc-2.6: sparc64: Fix DAX handling via userspace access from kernel. sparc64: Annotate sparc64 specific syscalls with SYSCALL_DEFINEx() [CVE-2009-0029] sparc: Enable syscall wrappers for 64-bit sparc64: Initialize FHC/CLOCK LED platform_device 'id' field correctly. sparc64: fix modpost failure sparc64: fix readout of cpu/fpu type commit cd1f55a5b49b74e13ed9e7bc74d005803aaa0da8 Author: Anton Vorontsov Date: Mon Jan 26 14:33:23 2009 -0800 gianfar: Revive VLAN support commit 77ecaf2d5a8bfd548eed3f05c1c2e6573d5de4ba ("gianfar: Fix VLAN HW feature related frame/buffer size calculation") wrongly removed priv->vlgrp assignment, and now priv->vlgrp is always NULL. This patch fixes the issue, plus fixes following sparse warning introduced by the same commit: gianfar.c:1406:13: warning: context imbalance in 'gfar_vlan_rx_register' - wrong count at exit gfar_vlan_rx_register() checks for "if (old_grp == grp)" and tries to return w/o dropping the lock. According to net/8021q/vlan.c VLAN core issues rx_register() callback: 1. In register_vlan_dev() only on a newly created group; 2. In unregister_vlan_dev() only if the group becomes empty. Thus the check in the gianfar driver isn't needed. Signed-off-by: Anton Vorontsov Acked-by: Andy Fleming Signed-off-by: David S. Miller commit 344b62870d99cdee41fa168888b0817599134ab6 Author: Li Yang Date: Wed Jan 21 17:46:57 2009 +0800 powerpc/mpc8313erdb: fix kernel panic because mdio device is not probed Probe the new mdio node added by b31a1d8b. Fix kernel panic problem when gianfar driver wants to get the of_platform_device of that mdio. Signed-off-by: Li Yang Signed-off-by: Kumar Gala commit 116cb42855fbd052fc8cd2ca3e06050bff762673 Author: Ben Greear Date: Mon Jan 26 12:37:53 2009 -0800 vlan: Export symbols as non GPL symbols. In previous kernels, any kernel module could get access to the 'real-device' and the VLAN-ID for a particular VLAN. In more recent kernels, the code was restructured such that this is hard to do without accessing private .h files for any module that cannot use GPL-only symbols. Attached is a patch to once again allow non-GPL modules the ability to access the real-device and VLAN id for VLANs. Signed-off-by: Ben Greear Acked-by: Patrick McHardy Signed-off-by: David S. Miller commit e8b5fc514d1c7637cb4b8f77e7d8ac33ef66130c Author: Vladislav Zolotarov Date: Mon Jan 26 12:36:42 2009 -0800 bnx2x: tx_has_work should not wait for FW The current tx_has_work waited until all packets sent by the driver are marked as completed by the FW. This is too greedy and it causes the bnx2x_poll to spin in vain. The driver should only check that all packets FW already completed are freed - only in unload flow the driver should make sure that transmit queue is empty Signed-off-by: Vladislav Zolotarov Signed-off-by: Eilon Greenstein Signed-off-by: David S. Miller commit 32ec803348b4d5f1353e1d7feae30880b8b3e342 Author: Dhananjay Phadke Date: Mon Jan 26 12:35:19 2009 -0800 netxen: reduce memory footprint o reduce rx ring size from 8192 to 4096. o cut down old huge lro buffers. Signed-off-by: Dhananjay Phadke Signed-off-by: David S. Miller commit cdff1036492ac97b4213aeab2546914a633a7de7 Author: Dhananjay Phadke Date: Mon Jan 26 12:34:57 2009 -0800 netxen: fix vlan tso/checksum offload o set netdev->vlan_features appropriately. o fix tso descriptor initialization for vlan case. Signed-off-by: Dhananjay Phadke Signed-off-by: David S. Miller commit 3121a48d87a580f369eeb26aa0a075142274a353 Author: Krzysztof Hałasa Date: Mon Jan 26 12:30:12 2009 -0800 net: Fix linux/if_frad.h's suitability for userspace. The userspace interfaces are protected by CONFIG_* ifdefs and that of course can't work. Reported by Jaswinder Singh Rajput. Signed-off-by: Krzysztof Hałasa Signed-off-by: David S. Miller commit d6eb633fe680c18119346a364acff7723245e278 Author: Matt Helsley Date: Mon Jan 26 12:25:55 2009 -0800 net: Move config NET_NS to from net/Kconfig to init/Kconfig Make NET_NS available underneath the generic Namespaces config option since all of the other namespace options are there. Signed-off-by: Matt Helsley Acked-by: Serge Hallyn Signed-off-by: David S. Miller commit 26285ba35813063ade9abd2c2eaaddba9354f587 Author: Daniele Venzano Date: Mon Jan 26 12:24:38 2009 -0800 isdn: Fix missing ifdef in isdn_ppp The following patch fixes a warning caused by a missing ifdef in isdn_ppp.c. A function was defined, but never used if CONFIG_IPPP_FILTER was not defined. The warning was: 'get_filter' defined but not used Patch is against 2.6.28.1 Signed-off-by: Daniele Venzano Acked-by: Karsten Keil Signed-off-by: David S. Miller commit 5fb4523afbffae5a5cec4989ee4c9fbc3dbdef33 Author: Jean Delvare Date: Mon Jan 26 21:19:57 2009 +0100 i2c: Warn on deprecated binding model use Let the kernel developers know that i2c_attach_client() and i2c_detach_client() are deprecated and should no longer be used. Drivers using these should be converted to the standard device driver binding model (probe and remove methods.) Signed-off-by: Jean Delvare Acked-by: Ben Dooks commit dd7f8dbe2b3c0611ba969cd867c10cb63d163e25 Author: Jean Delvare Date: Mon Jan 26 21:19:57 2009 +0100 eeprom: More consistent symbol names Now that all EEPROM drivers live in the same place, let's harmonize their symbol names. Also fix eeprom's dependencies, it definitely needs sysfs, and is no longer experimental after many years in the kernel tree. Signed-off-by: Jean Delvare Acked-by: Wolfram Sang Cc: David Brownell commit 0eb6da20681db9b5d5769d3e1aca877f4a77d8fb Author: Wolfram Sang Date: Mon Jan 26 21:19:54 2009 +0100 eeprom: Move 93cx6 eeprom driver to /drivers/misc/eeprom Signed-off-by: Wolfram Sang Signed-off-by: Jean Delvare commit e51d565ff6bb1cedc10568425511badf0633a212 Author: Wolfram Sang Date: Mon Jan 26 21:19:54 2009 +0100 spi: Move at25 (for SPI eeproms) to /drivers/misc/eeprom Signed-off-by: Wolfram Sang Signed-off-by: Jean Delvare commit 2e157888f132131f8877affd2785dcee4c227c1d Author: Wolfram Sang Date: Mon Jan 26 21:19:53 2009 +0100 i2c: Move old eeprom driver to /drivers/misc/eeprom Update Kconfig text to specify this driver as I2C. Signed-off-by: Wolfram Sang Signed-off-by: Jean Delvare commit 5195e5093bb7d30dbf057b260005cb4ab9761168 Author: Wolfram Sang Date: Mon Jan 26 21:19:53 2009 +0100 i2c: Move at24 to drivers/misc/eeprom As drivers/i2c/chips is going to go away, move the driver to drivers/misc/eeprom. Other eeprom drivers may be moved here later, too. Update Kconfig text to specify this driver as I2C. Signed-off-by: Wolfram Sang Signed-off-by: Jean Delvare commit a01064a92a1125995fd9078c2305df89a63ed9fe Author: Jean Delvare Date: Mon Jan 26 21:19:53 2009 +0100 i2c: Quilt tree has moved My i2c quilt tree will now be hosted on kernel.org, because I can conveniently use rsync there. Also list the new i2c wiki. Signed-off-by: Jean Delvare commit 1745522ccbabd990bfc7511861aa9fa98287cba0 Author: Jean Delvare Date: Mon Jan 26 21:19:52 2009 +0100 i2c: Delete many unused adapter IDs Signed-off-by: Jean Delvare commit e2ba42ed0f8ba174302ebfabfa063fb456d5d6f5 Author: Jean Delvare Date: Mon Jan 26 21:19:52 2009 +0100 i2c: Delete 10 unused driver IDs Signed-off-by: Jean Delvare commit e955281cd6afef7ad7ea11cae0ca71d78a7b2b2b Author: Jesse Barnes Date: Mon Jan 26 12:19:23 2009 -0800 networking: document "nc" in addition to "netcat" in netconsole.txt It always annoyed me that the netconsole documentation didn't give me the correct command for my distro. Update it with a command line that actually works on my Fedora install. Signed-off-by: Jesse Barnes Signed-off-by: Randy Dunlap Signed-off-by: Matt Mackall Signed-off-by: David S. Miller commit 78272bbab895cc8f63bab5181dee55b72208e3b7 Author: Jesse Brandeburg Date: Mon Jan 26 12:16:26 2009 -0800 e1000e: workaround hw errata There is a hardware errata in some revisions of the 82574 that needs to be worked around in the driver by setting a register bit at init. If this bit is not set A0 versions of the 82574 can generate tx hangs. Signed-off-by: Jesse Brandeburg Signed-off-by: Bruce Allan Signed-off-by: Jeff Kirsher Signed-off-by: David S. Miller commit bf50c903faba4ec7686ee8a570ac384b0f20814d Merge: a90e8a7 74194cc Author: Linus Torvalds Date: Mon Jan 26 10:43:04 2009 -0800 Merge git://git.infradead.org/battery-2.6 * git://git.infradead.org/battery-2.6: power_supply: pda_power: Don't request shared IRQs w/ IRQF_DISABLED commit a90e8a75fbf9e7fe2d88da6a5cf38be07fd81c35 Merge: cc597bc 20d5a39 Author: Linus Torvalds Date: Mon Jan 26 10:42:05 2009 -0800 Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/teigland/dlm * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/teigland/dlm: dlm: initialize file_lock struct in GETLK before copying conflicting lock dlm: fix plock notify callback to lockd commit cc597bc3d31468596af6b8ad2b1d1b593e308957 Merge: ed80386 c475146 Author: Linus Torvalds Date: Mon Jan 26 10:41:00 2009 -0800 Merge branch 'for_linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jack/linux-quota-2.6 * 'for_linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jack/linux-quota-2.6: ocfs2: Remove ocfs2_dquot_initialize() and ocfs2_dquot_drop() quota: Improve locking commit ed803862954528e6fcf7bd0f2b2e5a772a7c3281 Merge: 6aeea60 c0e69a5 Author: Linus Torvalds Date: Mon Jan 26 10:40:28 2009 -0800 Merge git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/driver-core-2.6 * git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/driver-core-2.6: klist.c: bit 0 in pointer can't be used as flag debugfs: introduce stub for debugfs_create_size_t() when DEBUG_FS=n sysfs: fix problems with binary files PNP: fix broken pnp lowercasing for acpi module aliases driver core: Convert '/' to '!' in dev_set_name() commit 6aeea60aee945449c93d9aa70638deeb5c4c5439 Author: Harvey Harrison Date: Tue Jan 20 17:50:51 2009 -0800 m68k{nommu}: fixups after the header move swab.h seems to have been missed during the header merge. Add conditionals similar to byteorder.h and remove the now unnecessary byteorder_no/mm.h Signed-off-by: Harvey Harrison Signed-off-by: Linus Torvalds commit ac3d266bf1bbbdd7efb6bd6760f2ee29e43bb132 Merge: 9f4863b 4914802 Author: Linus Torvalds Date: Mon Jan 26 10:33:01 2009 -0800 Merge branch 'for-next' of git://git.kernel.org/pub/scm/linux/kernel/git/gerg/m68knommu * 'for-next' of git://git.kernel.org/pub/scm/linux/kernel/git/gerg/m68knommu: m68k,m68knommu: merge header files Resolve trivial conflict in arch/m68knommu/include/asm/Kbuild commit 9f4863b7dc7f545bb3a01746feafdc1208e86c89 Merge: 832fb4a e34a628 Author: Linus Torvalds Date: Mon Jan 26 10:26:27 2009 -0800 Merge branch 'for-linus' of git://git390.osdl.marist.edu/pub/scm/linux-2.6 * 'for-linus' of git://git390.osdl.marist.edu/pub/scm/linux-2.6: [S390] Add missing compat system call wrappers. [S390] etr/stp: fix possible deadlock [S390] cputime: fix lowcore initialization on cpu hotplug [S390] fix compat sigaltstack syscall table entry [S390] personality: fix personality loss on execve commit 832fb4a01ca27ded735421de2b090f03e20039fc Merge: 4a45659 2906f02 Author: Linus Torvalds Date: Mon Jan 26 10:16:11 2009 -0800 Merge branch 'drm-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/airlied/drm-2.6 * 'drm-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/airlied/drm-2.6: drm/i915: Fix cursor physical address choice to match the 2D driver. drm: stash AGP include under the do-we-have-AGP ifdef drm: don't whine about not reading EDID data drm/i915: hook up LVDS DPMS property drm/i915: remove unnecessary debug output in KMS init i915: fix freeing path for gem phys objects. drm: create mode_config idr lock drm: fix leak of device mappings since multi-master changes. commit 4a4565921aa9255be01921ff8ae339fa7b0a5468 Merge: 7954d5c c2fdd36 Author: Linus Torvalds Date: Mon Jan 26 10:13:36 2009 -0800 Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jbarnes/pci-2.6 * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jbarnes/pci-2.6: PCI hotplug: fix lock imbalance in pciehp PCI PM: Restore standard config registers of all devices early PCI/MSI: bugfix/utilize for msi_capability_init() commit 7954d5cf39ee1ce9bb0a4b19fcf1924885a9cad1 Merge: 37f5fed 86528da Author: Linus Torvalds Date: Mon Jan 26 10:13:08 2009 -0800 Merge branch 'fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/djbw/async_tx * 'fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/djbw/async_tx: i.MX31: framebuffer driver i.MX31: Image Processing Unit DMA and IRQ drivers dmaengine: add async_tx_clear_ack() macro dmaengine: dma_issue_pending_all == nop when CONFIG_DMA_ENGINE=n dmaengine: kill some dubious WARN_ONCEs fsldma: print correct IRQ on mpc83xx fsldma: check for NO_IRQ in fsl_dma_chan_remove() dmatest: Use custom map/unmap for destination buffer fsldma: use a valid 'device' for dma_pool_create dmaengine: fix dependency chaining commit 37f5fed55559a030c430550bcacec75e6a833f1b Merge: a1c70a7 0609697 Author: Linus Torvalds Date: Mon Jan 26 10:12:08 2009 -0800 Merge branch 'sh/for-2.6.29' of git://git.kernel.org/pub/scm/linux/kernel/git/lethal/sh-2.6 * 'sh/for-2.6.29' of git://git.kernel.org/pub/scm/linux/kernel/git/lethal/sh-2.6: (22 commits) dma-coherent: Restore dma_alloc_from_coherent() large alloc fall back policy. dma-coherent: per-device coherent area is in pages, not bytes. sh: fix unaligned and nonexistent address handling nommu: Stub in vm_map_ram()/vm_unmap_ram()/vm_unmap_aliases(). sh: fix sh-sci / early printk build on sh7723 sh: export the sh7343 JPU to user space sh: update defconfigs. serial: sh-sci: Fix up SH7720/SH7721 SCI build. sh: Kill off obsolete busses from arch/sh/Kconfig. sh: sh7785lcr/highlander/hp6xx need linux/irq.h. sh: Migo-R MMC support using spi_gpio and mmc_spi. sh: ap325rxa MMC support using spi_gpio and mmc_spi sh: mach-x3proto: needs linux/irq.h. sh: Drop the BKL from sys_execve() on SH-5. sh: convert rsk7203 to use smsc911x. sh: convert magicpanelr2 platform to use smsc911x. sh: convert ap325rxa platform to use smsc911x. sh: mach-migor: Add tw9910 support. sh: mach-migor: Delete soc_camera_platform setup. sh: mach-migor: Add ov772x support. ... commit a1c70a756f8d756668acdbfd61dfc14de12fbaea Merge: 3632dee 0fcb440 Author: Linus Torvalds Date: Mon Jan 26 10:08:50 2009 -0800 Merge branch 'Kconfig' of git://git.kernel.org/pub/scm/linux/kernel/git/adobriyan/misc * 'Kconfig' of git://git.kernel.org/pub/scm/linux/kernel/git/adobriyan/misc: (36 commits) fs/Kconfig: move 9p out fs/Kconfig: move afs out fs/Kconfig: move coda out fs/Kconfig: move the rest of ncpfs out fs/Kconfig: move smbfs out fs/Kconfig: move sunrpc out fs/Kconfig: move nfsd out fs/Kconfig: move nfs out fs/Kconfig: move ufs out fs/Kconfig: move sysv out fs/Kconfig: move romfs out fs/Kconfig: move qnx4 out fs/Kconfig: move hpfs out fs/Kconfig: move omfs out fs/Kconfig: move minix out fs/Kconfig: move vxfs out fs/Kconfig: move squashfs out fs/Kconfig: move cramfs out fs/Kconfig: move efs out fs/Kconfig: move bfs out ... commit 3632dee2f8b8a9720329f29eeaa4ec4669a3aff8 Author: Vegard Nossum Date: Thu Jan 22 15:29:45 2009 +0100 inotify: clean up inotify_read and fix locking problems If userspace supplies an invalid pointer to a read() of an inotify instance, the inotify device's event list mutex is unlocked twice. This causes an unbalance which effectively leaves the data structure unprotected, and we can trigger oopses by accessing the inotify instance from different tasks concurrently. The best fix (contributed largely by Linus) is a total rewrite of the function in question: On Thu, Jan 22, 2009 at 7:05 AM, Linus Torvalds wrote: > The thing to notice is that: > > - locking is done in just one place, and there is no question about it > not having an unlock. > > - that whole double-while(1)-loop thing is gone. > > - use multiple functions to make nesting and error handling sane > > - do error testing after doing the things you always need to do, ie do > this: > > mutex_lock(..) > ret = function_call(); > mutex_unlock(..) > > .. test ret here .. > > instead of doing conditional exits with unlocking or freeing. > > So if the code is written in this way, it may still be buggy, but at least > it's not buggy because of subtle "forgot to unlock" or "forgot to free" > issues. > > This _always_ unlocks if it locked, and it always frees if it got a > non-error kevent. Cc: John McCutchan Cc: Robert Love Cc: Signed-off-by: Vegard Nossum Signed-off-by: Linus Torvalds commit aeb565dfc3ac4c8b47c5049085b4c7bfb2c7d5d7 Author: Linus Torvalds Date: Mon Jan 26 10:01:53 2009 -0800 Fix annoying DRM_ERROR() string warning Use '%zu' to print out a size_t variable, not '%d'. Another case of the "let's keep at least Linus' defconfig compile warningless" rule. Signed-off-by: Linus Torvalds commit 2d07d4d1bba3b141941682fa36cacbe12bbb143b Merge: 3386c05 f6d47a1 Author: Linus Torvalds Date: Mon Jan 26 09:49:22 2009 -0800 Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/mszeredi/fuse * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/mszeredi/fuse: fuse: fix poll notify fuse: destroy bdi on umount fuse: fuse_fill_super error handling cleanup fuse: fix missing fput on error fuse: fix NULL deref in fuse_file_alloc() commit 3386c05bdbd3e60ca7158253442f0a00133db28e Merge: 1e70c7f 6552eba Author: Linus Torvalds Date: Mon Jan 26 09:47:56 2009 -0800 Merge branch 'core-fixes-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip * 'core-fixes-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip: debugobjects: add and use INIT_WORK_ON_STACK rcu: remove duplicate CONFIG_RCU_CPU_STALL_DETECTOR relay: fix lock imbalance in relay_late_setup_files oprofile: fix uninitialized use of struct op_entry rcu: move Kconfig menu softlock: fix false panic which can occur if softlockup_thresh is reduced rcu: add __cpuinit to rcu_init_percpu_data() commit 1e70c7f7a9d4a3d2cc78b40e1d7768d99cd79899 Merge: 810ee58 1d4a7f1 Author: Linus Torvalds Date: Mon Jan 26 09:47:43 2009 -0800 Merge branch 'timers-fixes-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip * 'timers-fixes-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip: hrtimers: fix inconsistent lock state on resume in hres_timers_resume time-sched.c: tick_nohz_update_jiffies should be static locking, hpet: annotate false positive warning kernel/fork.c: unused variable 'ret' itimers: remove the per-cpu-ish-ness commit 810ee58de26c9c1255d716b1db7344c4a1093fec Merge: 2927fce e88a0fa Author: Linus Torvalds Date: Mon Jan 26 09:47:28 2009 -0800 Merge branch 'x86-fixes-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip * 'x86-fixes-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip: (29 commits) xen: unitialised return value in xenbus_write_transaction x86: fix section mismatch warning x86: unmask CPUID levels on Intel CPUs, fix x86: work around PAGE_KERNEL_WC not getting WC in iomap_atomic_prot_pfn. x86: use standard PIT frequency xen: handle highmem pages correctly when shrinking a domain x86, mm: fix pte_free() xen: actually release memory when shrinking domain x86: unmask CPUID levels on Intel CPUs x86: add MSR_IA32_MISC_ENABLE bits to x86: fix PTE corruption issue while mapping RAM using /dev/mem x86: mtrr fix debug boot parameter x86: fix page attribute corruption with cpa() Revert "x86: signal: change type of paramter for sys_rt_sigreturn()" x86: use early clobbers in usercopy*.c x86: remove kernel_physical_mapping_init() from init section fix: crash: IP: __bitmap_intersects+0x48/0x73 cpufreq: use work_on_cpu in acpi-cpufreq.c for drv_read and drv_write work_on_cpu: Use our own workqueue. work_on_cpu: don't try to get_online_cpus() in work_on_cpu. ... commit 2927fceafc91afe744e0d1d33f8bbf98c42668fc Merge: 36f392d ef183f6 Author: Linus Torvalds Date: Mon Jan 26 09:46:29 2009 -0800 Merge git://git.kernel.org/pub/scm/linux/kernel/git/bart/ide-2.6 * git://git.kernel.org/pub/scm/linux/kernel/git/bart/ide-2.6: drivers/ide/palm_bk3710.c buildfix ide: fix Falcon IDE breakage ide: fix IDE PMAC breakage commit 36f392d09670d41716e0ba29e1fd1d0445367687 Merge: 6c31e7ee 74e2d06 Author: Linus Torvalds Date: Mon Jan 26 09:44:17 2009 -0800 Merge branch 'for-linus' of git://oss.sgi.com/xfs/xfs * 'for-linus' of git://oss.sgi.com/xfs/xfs: Long btree pointers are still 64 bit on disk [XFS] Remove the rest of the macro-to-function indirections. xfs: sanity check attr fork size xfs: fix bad_features2 fixups for the root filesystem xfs: add a lock class for group/project dquots xfs: lockdep annotations for xfs_dqlock2 xfs: add a separate lock class for the per-mount list of dquots xfs: use mnt_want_write in compat_attrmulti ioctl xfs: fix dentry aliasing issues in open_by_handle commit 6c31e7ee48c91ef271b9d092d8d5698df0c72e22 Merge: f3b8436 0f0779b Author: Linus Torvalds Date: Mon Jan 26 09:42:00 2009 -0800 Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tiwai/sound-2.6 * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tiwai/sound-2.6: ASoC: Add missing comma to SND_SOC_DAPM_SWITCH_E in soc-dapm.h ALSA: hda: Add STAC92HD83XXX_PWR_REF quirk ALSA: hda: revert change to 92hd83xxx power mapping ALSA: hda - Add model entry for HP dv4 ALSA: hda: 83xxx port 0xe DAC selection ASoC: fix registration of the SoC card in the Freescale MPC8610 drivers sound: virtuoso: document HDAV1.3 driver status sound: virtuoso: add newline sound: virtuoso: enable UART on Xonar HDAV1.3 sound: Remove removed OSS kernel parameters from doc ALSA: hda: fix invalid power mapping masks ASoC: atmel_pcm: Remove non-existant header ALSA: hda - add quirks for some 82801H variants to use ALC883_MITAC ALSA: hda - Fix (yet more) STAC925x issues commit 30a0fb947a68ad3ab8a7184e3b3d79dce10e3688 Author: H. Peter Anvin Date: Mon Jan 26 09:40:58 2009 -0800 x86: correct the CPUID pattern for MSR_IA32_MISC_ENABLE availability Impact: re-enable CPUID unmasking on affected processors As far as I am capable of discerning from the documentation, MSR_IA32_MISC_ENABLE should be available for all family 0xf CPUs, as well as family 6 for model >= 0xd (newer Pentium M). The documentation on this isn't ideal, so we need to be on the lookout for errors, still. Signed-off-by: H. Peter Anvin commit 6ba87c9b920bea8c2703308d31eb7de925242c30 Author: Artem Bityutskiy Date: Mon Jan 26 16:12:20 2009 +0200 UBIFS: fix assertions I introduce wrong assertions in one of the previous commits, this patch fixes them. Also, initialize debugfs after the debugging check. This is a little nicer because we want the FS data to be accessible to external users after everything has been initialized. Signed-off-by: Artem Bityutskiy commit f6d47a1761896dcd89e3184399a8962dff17267d Author: Miklos Szeredi Date: Mon Jan 26 15:00:59 2009 +0100 fuse: fix poll notify Move fuse_copy_finish() to before calling fuse_notify_poll_wakeup(). This is not a big issue because fuse_notify_poll_wakeup() should be atomic, but it's cleaner this way, and later uses of notification will need to be able to finish the copying before performing some actions. Signed-off-by: Miklos Szeredi commit 26c3679101dbccc054dcf370143941844ba70531 Author: Miklos Szeredi Date: Mon Jan 26 15:00:59 2009 +0100 fuse: destroy bdi on umount If a fuse filesystem is unmounted but the device file descriptor remains open and a new mount reuses the old device number, then the mount fails with EEXIST and the following warning is printed in the kernel log: WARNING: at fs/sysfs/dir.c:462 sysfs_add_one+0x35/0x3d() sysfs: duplicate filename '0:15' can not be created The cause is that the bdi belonging to the fuse filesystem was destoryed only after the device file was released. Fix this by calling bdi_destroy() from fuse_put_super() instead. Signed-off-by: Miklos Szeredi CC: stable@kernel.org commit c2b8f006909b9bf9e165dfdf3c378527938c4497 Author: Miklos Szeredi Date: Mon Jan 26 15:00:58 2009 +0100 fuse: fuse_fill_super error handling cleanup Clean up error handling for the whole of fuse_fill_super() function. Signed-off-by: Miklos Szeredi commit 3ddf1e7f57237ac7c5d5bfb7058f1ea4f970b661 Author: Miklos Szeredi Date: Mon Jan 26 15:00:58 2009 +0100 fuse: fix missing fput on error Fix the leaking file reference if allocation or initialization of fuse_conn failed. Signed-off-by: Miklos Szeredi CC: stable@kernel.org commit bb875b38dc5e343bdb696b2eab8233e4d195e208 Author: Dan Carpenter Date: Mon Jan 26 15:00:58 2009 +0100 fuse: fix NULL deref in fuse_file_alloc() ff is set to NULL and then dereferenced on line 65. Compile tested only. Signed-off-by: Dan Carpenter Signed-off-by: Miklos Szeredi CC: stable@kernel.org commit e88a0faae5baaaa3bdc6f23a55ad6bc7a7b4aa77 Author: Ian Campbell Date: Sat Jan 24 08:22:47 2009 +0000 xen: unitialised return value in xenbus_write_transaction The return value of xenbus_write_transaction can be uninitialised in the success case leading to the userspace xenstore utilities failing. Signed-off-by: Ian Campbell Signed-off-by: Ingo Molnar commit 659d2618b38f8a4d91bdb19cfc5c7fb330a4c55a Author: Rakib Mullick Date: Sat Jan 24 01:46:03 2009 +0600 x86: fix section mismatch warning Here function vmi_activate calls a init function activate_vmi , which causes the following section mismatch warnings: LD arch/x86/kernel/built-in.o WARNING: arch/x86/kernel/built-in.o(.text+0x13ba9): Section mismatch in reference from the function vmi_activate() to the function .init.text:vmi_time_init() The function vmi_activate() references the function __init vmi_time_init(). This is often because vmi_activate lacks a __init annotation or the annotation of vmi_time_init is wrong. WARNING: arch/x86/kernel/built-in.o(.text+0x13bd1): Section mismatch in reference from the function vmi_activate() to the function .devinit.text:vmi_time_bsp_init() The function vmi_activate() references the function __devinit vmi_time_bsp_init(). This is often because vmi_activate lacks a __devinit annotation or the annotation of vmi_time_bsp_init is wrong. WARNING: arch/x86/kernel/built-in.o(.text+0x13bdb): Section mismatch in reference from the function vmi_activate() to the function .devinit.text:vmi_time_ap_init() The function vmi_activate() references the function __devinit vmi_time_ap_init(). This is often because vmi_activate lacks a __devinit annotation or the annotation of vmi_time_ap_init is wrong. Fix it by marking vmi_activate() as __init too. Signed-off-by: Rakib Mullick Signed-off-by: Ingo Molnar commit e4d866cdea24543ee16ce6d07d80c513e86ba983 Author: JosephChan@via.com.tw Date: Fri Jan 23 15:37:39 2009 +0800 [libata] pata_via: support VX855, future chips whose IDE controller use 0x0571 It supports VX855 and future chips whose IDE controller uses PCI ID 0x0571. Signed-off-by: Joseph Chan Acked-by: Tejun Heo Signed-off-by: Jeff Garzik commit f9228c7ffaaa37521c46239ccea623f10fa44a27 Author: Mark Lord Date: Wed Jan 21 10:34:17 2009 -0500 sata_mv: no longer experimental (v2) Update Kconfig for sata_mv with full list of chips supported, and (finally!) remove the "EXPERIMENTAL" designations. Signed-off-by: Mark Lord Signed-off-by: Jeff Garzik commit 6d3c30efc964fadf2e6270e6fceaeca3ce50027a Author: Mark Lord Date: Wed Jan 21 10:31:29 2009 -0500 sata_mv: msi masking fix (v2) Enable reliable use of Message-Signaled Interrupts (MSI) in sata_mv by masking further chip interrupts within the main interrupt handler. Based upon a suggestion by Grant Grundler. MSI is working reliably in all of my test systems here now. Signed-off-by: Mark Lord Reviewed-by: Grant Grundler Signed-off-by: Jeff Garzik commit 5d0fb2e730e2085021cf5c8b6d14983e92aea75b Author: Thomas Reitmayr Date: Sat Jan 24 20:24:58 2009 +0100 sata_mv: Properly initialize main irq mask I noticed that during initialization sata_mv.c assumes that the main interrupt mask has its default value of 0. The function mv_platform_probe(..) initializes a shadow irq mask with 0 assuming that's the value of the controller's register. Now mv_set_main_irq_mask(..) only writes the controller's register if the new value differs from the "shadowed" value. This is fatal when trying to disable all interrupts in mv_init_host(..), i.e. the following function call does not write anything to the main irq mask register: mv_set_main_irq_mask(host, ~0, 0); The effect I see on my machine (QNAP TS-109 II) with booting via kexec (with Linux as a 2nd-stage boot loader) is that if the sata_mv module was still loaded when performing kexec, then the new kernel's sata_mv module starts up with interrupts enabled. This results in an unhandled IRQ and breaks the boot process. The unhandled interrupt itself might also be fixed by Lennert's patch proposed at http://markmail.org/message/kwvzxstnlsa3s26w which I did not try yet. However I still propose to additionally initialize the shadow variable with the current contents of the main irq mask register to get both in sync and allow proper disabling the main irq mask. This fixes the unhandled irq on my machine. Signed-off-by: Thomas Reitmayr Signed-off-by: Mark Lord Signed-off-by: Jeff Garzik commit cd12e1f7a2c28917c89d65c0d4a52d3919b4c125 Author: Mark Lord Date: Mon Jan 19 18:06:28 2009 -0500 sata_mv: remove bogus nsect restriction Remove unneeded nsect restriction from GenII NCQ path, and improve comments to explain why this is not a problem. Signed-off-by: Mark Lord Signed-off-by: Jeff Garzik commit cae6edc3b5a536119374a5439d9b253cb26f05e1 Author: Mark Lord Date: Mon Jan 19 18:05:42 2009 -0500 sata_mv: don't read hc_irq_cause Remove silly read-modify-write sequences when clearing interrupts in hc_irq_cause. This gets rid of unneeded MMIO reads, resulting in a slight performance boost when switching between EDMA and non-EDMA modes (eg. for cache flushes). Signed-off-by: Mark Lord Signed-off-by: Jeff Garzik commit b0bccb18bc523d1d5060d25958f12438062829a9 Author: Mark Lord Date: Mon Jan 19 18:04:37 2009 -0500 sata_mv: fix 8-port timeouts on 508x/6081 chips Fix a longstanding bug for the 8-port Marvell Sata controllers (508x/6081), where accesses to the upper 4 ports would cause lost-interrupts / timeouts for the lower 4-ports. With this patch, the 6081 boards should finally be reliable enough for mainstream use with Linux. Signed-off-by: Mark Lord Signed-off-by: Jeff Garzik commit 2d775708bc6613f1be47f1e720781343341ecc94 Author: Tejun Heo Date: Sun Jan 25 11:29:38 2009 +0900 sata_nv: fix MCP5x reset MCP5x family of controllers seem to share much more with nf2's as far as reset protocol is concerned. It requires heardreset to get the PHY going and classfication code report after hardreset is unreliable. Create a new board type MCP5x and use noclassify hardreset. SWNCQ is modified to inherit from this new type. This fixes hotplug regression reported in kernel bz#12351. Signed-off-by: Tejun Heo Signed-off-by: Jeff Garzik commit e8caa3c70e94d867ca2efe9e53fd388b52d6d0c8 Author: Tejun Heo Date: Sun Jan 25 11:25:22 2009 +0900 sata_nv: rename nv_nf2_hardreset() nv_nf2_hardreset() will be used by other flavors too. Rename it to nv_noclassify_hardreset(). Signed-off-by: Tejun Heo Signed-off-by: Jeff Garzik commit b919930c34e99a48d6b13a5ec9db8c059ec44d72 Author: Tejun Heo Date: Sun Jan 25 10:26:00 2009 +0900 libata: set NODEV_HINT for 0x7f status Asus Pundit-R with atiixp controller has the second port missing and, very unusually, its status is stuck at 0x7f and all others at 0. This meanst that it fails TF access test but gets detected as a disk due to classification code check and then evades polling IDENTIFY presence detection thanks to the missing BSY in the status value causing excessive delays during boot. This patch makes libata-sff HSM set NODEV_HINT if the status is 0x7f to make polling IDENTIFY presence detection work for these machines. Signed-off-by: Tejun Heo Signed-off-by: Jeff Garzik commit 99fb4d349db7e7dacb2099c5cc320a9e2d31c1ef Author: Ingo Molnar Date: Mon Jan 26 04:30:41 2009 +0100 x86: unmask CPUID levels on Intel CPUs, fix Impact: fix boot hang on pre-model-15 Intel CPUs rdmsrl_safe() does not work in very early bootup code yet, because we dont have the pagefault handler installed yet so exception section does not get parsed. rdmsr_safe() will just crash and hang the bootup. So limit the MSR_IA32_MISC_ENABLE MSR read to those CPU types that support it. Signed-off-by: Ingo Molnar commit 80ee6f54f51ffc623843dd8955248d4fab064b99 Author: Tejun Heo Date: Fri Jan 23 14:12:59 2009 +0900 libata-sff: fix incorrect EH message The EH message for NODEV_HINT path was describing the opposite condition. Fix it. Signed-off-by: Tejun Heo Signed-off-by: Jeff Garzik commit 49d128aa60751a010640f4763d11577e2f508853 Author: Adrian Hunter Date: Mon Jan 26 10:55:40 2009 +0200 UBIFS: ensure orphan area head is initialized When mounting read-only the orphan area head is not initialized. It must be initialized when remounting read/write, but it was not. This patch fixes that. [Artem: sorry, added comment tweaking noise] Signed-off-by: Adrian Hunter Signed-off-by: Artem Bityutskiy commit b4978e949104844224ecf786170c9263efa601f3 Author: Artem Bityutskiy Date: Fri Jan 23 18:23:03 2009 +0200 UBIFS: always clean up GC LEB space When we mount UBIFS, GC LEB may contain out-of-date information, and UBIFS should update lprops and set free space for thei LEB. Currently UBIFS does this only if mounted R/W. But for R/O mount we have to do the same, because otherwise we will have incorrect FS free space reported to user-space. Signed-off-by: Artem Bityutskiy commit 84abf972ccff5c13d10b672972949eba431a6e0e Author: Artem Bityutskiy Date: Fri Jan 23 14:54:59 2009 +0200 UBIFS: add re-mount debugging checks We observe space corrupted accounting when re-mounting. So add some debbugging checks to catch problems like this. Signed-off-by: Artem Bityutskiy commit e4d9b6cbfc98d696a28d2c24a3d49768695811ee Author: Artem Bityutskiy Date: Fri Jan 23 14:17:36 2009 +0200 UBIFS: fix LEB list freeing When freeing the c->idx_lebs list, we have to release the LEBs as well, because we might be called from mount to read-only mode code. Otherwise the LEBs stay taken forever, which may cause problems when we re-mount back ro RW mode. Signed-off-by: Artem Bityutskiy commit 82c1593cad3dfc97661764c8bc62aa1a416e9ea8 Author: Artem Bityutskiy Date: Tue Jan 20 16:46:02 2009 +0200 UBIFS: simplify locking This patch simplifies lock_[23]_inodes functions. We do not have to care about locking order, because UBIFS does this for @i_mutex and this is enough. Thanks to Al Viro for suggesting this. Signed-off-by: Artem Bityutskiy commit ef5fa0ab24b87646c7bc98645acbb4b51fc2acd4 Author: Eric Anholt Date: Fri Jan 23 14:14:21 2009 -0800 x86: work around PAGE_KERNEL_WC not getting WC in iomap_atomic_prot_pfn. In the absence of PAT, PAGE_KERNEL_WC ends up mapping to a memory type that gets UC behavior even in the presence of a WC MTRR covering the area in question. By swapping to PAGE_KERNEL_UC_MINUS, we can get the actual behavior the caller wanted (WC if you can manage it, UC otherwise). This recovers the 40% performance improvement of using WC in the DRM to upload vertex data. Signed-off-by: Eric Anholt Signed-off-by: H. Peter Anvin commit 71be7a36026b25e17657ff8e4317837176bf8cfd Merge: a8d694c 2fcbab0 Author: David S. Miller Date: Sun Jan 25 21:36:34 2009 -0800 Merge branch 'master' of git://git.kernel.org/pub/scm/linux/kernel/git/linville/wireless-2.6 commit a8d694c651356ec89452e15b0189c061fb7e1cf1 Author: Timo Teras Date: Sun Jan 25 20:49:14 2009 -0800 af_key: initialize xfrm encap_oa Currently encap_oa is left uninitialized, so it contains garbage data which is visible to userland via Netlink. Initialize it by zeroing it out. Signed-off-by: Timo Teras Acked-by: Herbert Xu Signed-off-by: David S. Miller commit e918085aaff34086e265f825dd469926b1aec4a4 Author: Alex Williamson Date: Sun Jan 25 18:06:26 2009 -0800 virtio_net: Fix MAX_PACKET_LEN to support 802.1Q VLANs 802.1Q expanded the maximum ethernet frame size by 4 bytes for the VLAN tag. We're not taking this into account in virtio_net, which means the buffers we provide to the backend in the virtqueue RX ring aren't big enough to hold a full MTU VLAN packet. For QEMU/KVM, this results in the backend exiting with a packet truncation error. Signed-off-by: Alex Williamson Acked-by: Mark McLoughlin Signed-off-by: David S. Miller commit 801599b0cd4c026a18fb9fce436eae4459f799a6 Author: Heiko Carstens Date: Tue Jan 20 06:14:32 2009 +0000 lcs: fix compilation for !CONFIG_IP_MULTICAST drivers/s390/net/lcs.c: In function 'lcs_new_device': drivers/s390/net/lcs.c:2179: error: implicit declaration of function 'lcs_set_multicast_list' Reported-by: Kamalesh Babulal Signed-off-by: Heiko Carstens Signed-off-by: Ursula Braun Signed-off-by: David S. Miller commit 74194cc71074c8bc17690a5d826093fb6f6e9928 Author: Philipp Zabel Date: Sun Jan 18 14:46:21 2009 +0100 power_supply: pda_power: Don't request shared IRQs w/ IRQF_DISABLED IRQF_DISABLED is not guaranteed for shared IRQs. I think power_changed_isr doesn't need it anyway, as it only fires a timer. This patch enables IRQF_SAMPLE_RANDOM instead. Signed-off-by: Philipp Zabel Signed-off-by: Anton Vorontsov commit 24f11ec001920f1cfaeeed8e8b55725d900bbb56 Author: Russell King Date: Sun Jan 25 17:36:34 2009 +0000 [ARM] fix section-based ioremap Tomi Valkeinen reports: Running with latest linux-omap kernel on OMAP3 SDP board, I have problem with iounmap(). It looks like iounmap() does not properly free large areas. Below is a test which fails for me in 6-7 loops. for (i = 0; i < 200; ++i) { vaddr = ioremap(paddr, size); if (!vaddr) { printk("couldn't ioremap\n"); break; } iounmap(vaddr); } The changes to vmalloc.c weren't reflected in the ARM ioremap implementation. Turns out the fix is rather simple. Tested-by: Tomi Valkeinen Tested-by: Matt Gerassimoff Signed-off-by: Russell King commit e1b4d1143651fb3838be1117785b6e0386fa151f Author: Ingo Molnar Date: Sun Jan 25 16:57:00 2009 +0100 x86: use standard PIT frequency the RDC and ELAN platforms use slighly different PIT clocks, resulting in a timex.h hack that changes PIT_TICK_RATE during build time. But if a tester enables any of these platform support .config options, the PIT will be miscalibrated on standard PC platforms. So use one frequency - in a subsequent patch we'll add a quirk to allow x86 platforms to define different PIT frequencies. Signed-off-by: Ingo Molnar commit 64b840dd88eb2054f86c72ed6d989cb8681f0058 Author: Brian King Date: Thu Jan 22 15:45:38 2009 -0600 [SCSI] ibmvfc: Fix DMA mapping leak on memory allocation failure There is currently a DMA mapping leak that can occur in the ibmvfc driver if we fail to allocate a scatterlist. Fix this by unmapping the scatterlist in the failure path. Additionally, only log an error for a scatterlist allocation failure if the log level is greater than the default, since this can occur when running Active Memory Sharing and this is not considered an error. Signed-off-by: Brian King Signed-off-by: James Bottomley commit f9932deb9900789ee0b5739c118f850d62e3b9b1 Author: Andrew Vasquez Date: Thu Jan 22 09:45:39 2009 -0800 [SCSI] qla2xxx: Update version number to 8.03.00-k2. Signed-off-by: Andrew Vasquez Signed-off-by: James Bottomley commit 3c01b4f9fbb43fc911acd33ea7a14ea7a4f9866b Author: Seokmann Ju Date: Thu Jan 22 09:45:38 2009 -0800 [SCSI] qla2xxx: Add checks for a valid fcport in dev-loss-tmo/terminate_rport_io callbacks. Commit f78badb1ae07e7f8b835ab2ea0b456ed3fc4caf4 ([SCSI] fc transport: pre-emptively terminate i/o upon dev_loss_tmo timeout) changed the callback semantics of dev_loss_tmo and terminate_rport_io such that repeated calls could be made. This could result in the the driver using stale (NULLed-out, in dev_loss_tmo) data from the rport. Correct this by addint a simple check to ensure a valid fcport is attached. Signed-off-by: Seokmann Ju Signed-off-by: Andrew Vasquez Signed-off-by: James Bottomley commit 53303c42d5a148a73b201a04c89e371d4d5a150f Author: Andrew Vasquez Date: Thu Jan 22 09:45:37 2009 -0800 [SCSI] qla2xxx: Correct regression in DMA-mask setting prior to allocations. Jeremy Higdon noted (http://marc.info/?l=linux-scsi&m=123262143131788&w=2) that the rework done in commit e315cd28b9ef0d7b71e462ac16e18dbaa2f5adfe was not setting the proper consistent and streaming DMA masks prior to memory allocations. Correct this and remove the unnecessary prototype. Signed-off-by: Andrew Vasquez Signed-off-by: James Bottomley commit b872ca4081c480e3d76443282ffd7f206321f50f Author: Joe Carnuccio Date: Thu Jan 22 09:45:36 2009 -0800 [SCSI] qla2xxx: Correct descriptions in flash manipulation routines. When clearing the flash device's SR, the comment is incorrect... clearing the SR is 2 steps: 1. the SR protect bit is 1, so the first write zero clears only that bit, 2. the SR protect bit is now 0, so the next write zero clears the remaining bits. The sector erase debug print more correctly identifies that the erase failed. Signed-off-by: Andrew Vasquez Signed-off-by: James Bottomley commit 2ac4b64f7483f3684a423b21ac4e687827f7eb62 Author: Andrew Vasquez Date: Thu Jan 22 09:45:35 2009 -0800 [SCSI] qla2xxx: Correct regression in EH abort handling. Commit 73208dfd7ab19f379d73e8a0fbf30f92c203e5e8 (qla2xxx: add support for multi-queue adapter) inadvertently backed-out the fix in 5bff55db3dc4d659f46b4d2fce2f61c1964c2762 (qla2xxx: Return a FAILED status when abort mailbox-command fails.). Signed-off-by: Andrew Vasquez Signed-off-by: James Bottomley commit 7c283177fad8786afa1bbf7ef848038284084e41 Author: Andrew Vasquez Date: Thu Jan 22 09:45:34 2009 -0800 [SCSI] qla2xxx: Correct endianness issue during flash manipulation. The flash data was incorrectly being converted (cpu_to_le32()) when using the bulk-flash-write mailbox command (ISP25xx and above). Signed-off-by: Andrew Vasquez Signed-off-by: James Bottomley commit ad038fa8242a1f4547045f9213c3881a34bbcc21 Author: Lalit Chandivade Date: Thu Jan 22 09:45:33 2009 -0800 [SCSI] qla2xxx: Correct MSI-X vector allocation for single queue mode. Signed-off-by: Andrew Vasquez Signed-off-by: James Bottomley commit eaac30be268b90e9288b3945fb5cc9ee8c5397c0 Author: Andrew Vasquez Date: Thu Jan 22 09:45:32 2009 -0800 [SCSI] qla2xxx: Modify firmware-load order precedence for ISP81XX parts. Pre-ISP81XX parts (including ISP24xx and ISP25xx) could contain a firmware image within a segment of flash, driver would fallback to loading this firmware if the request-firmware interface failed (userspace .bin file). Moving forward, all ISP81XX parts will ship with a suggested-to-be-used firmware image within flash which all driver should first attempt to load. If the flash firmware load fails, the driver will then fallback to loading firmware via the request-firmware interface (ql8100_fw.bin). Signed-off-by: Andrew Vasquez Signed-off-by: James Bottomley commit 8eca3f39c4b11320787f7b216f63214aee8415a9 Author: Andrew Vasquez Date: Thu Jan 22 09:45:31 2009 -0800 [SCSI] qla2xxx: Always serialize mailbox command execution. Original code would incorrectly bypass serialization if the DPC thread were performing a big-hammer operation (ISP abort). This short circuit, though rare, would subsequently stomp on a secondary thread's mailbox command execution. Found during ISP81XX testing. Signed-off-by: Andrew Vasquez Signed-off-by: James Bottomley commit 09ff36d30c27ee23b50ffb419c80a0aaef1db4a0 Author: Andrew Vasquez Date: Thu Jan 22 09:45:30 2009 -0800 [SCSI] qla2xxx: Ensure RISC-interrupt-enabled consistency for IS_NOPOLLING_TYPE() ISPs. Original code should work as well given qla24xx_reset_adapter() is only called in extreme cases where the HBA is taken offline. Signed-off-by: Andrew Vasquez Signed-off-by: James Bottomley commit 85d0acbb2e64cee4d3253ea9ce4650658e05d945 Author: Andrew Vasquez Date: Thu Jan 22 09:45:29 2009 -0800 [SCSI] qla2xxx: Simplify sector-mask calculation in preparation for larger flash parts. Also removes unneeded 'findex' local variable within routine. Signed-off-by: Andrew Vasquez Signed-off-by: James Bottomley commit 6e9f21f3d3d4933087d1e13b04667b6eb663b487 Author: Anirban Chakraborty Date: Thu Jan 22 09:45:28 2009 -0800 [SCSI] qla2xxx: Fix memory leak in error path Reviewed-by: Hisashi Hifumi Signed-off-by: Anirban Chakraborty Signed-off-by: James Bottomley commit 41bbdbebbbe7e06871d25f51c2eb1d6466bb9e5f Author: Mike Christie Date: Fri Jan 16 12:36:52 2009 -0600 [SCSI] qla4xxx: do not reuse session when connecting to different target port qla4xxx does not check the I_T nexus values correctly so it ends up creating one session to the target. If a portal should disappear or they should be reported in different order the driver will think it is already logged in when it could now be speaking to a different target portal or accessing it through a different initiator port (iscsi initiator port is not tied to hardware and is just the initiator name plus isid so you could end up with multiple ports through one host). This patch has the driver check the iscsi scsi port values when matching sessions (we do not check the initiator name because that is static). It results in a portal from each target portal group getting logged into instead of just one per target. In the future the firmware should hopefully send us notification of other sessions that are created to other portals within the same tpgt and the sessions should have different isids. Signed-off-by: Mike Christie Signed-off-by: James Bottomley commit 2f5899a39dcffb404c9a3d06ad438aff3e03bf04 Author: Mike Christie Date: Fri Jan 16 12:36:51 2009 -0600 [SCSI] libiscsi: fix iscsi pool leak I am not sure what happened. It looks like we have always leaked the q->queue that is allocated from the kfifo_init call. nab finally noticed that we were leaking and this patch fixes it by adding a kfree call to iscsi_pool_free. kfifo_free is not used per kfifo_init's instructions to use kfree. Signed-off-by: Mike Christie Signed-off-by: James Bottomley commit fb22d72782b023cda5e9876d3381f30932a64f91 Author: Uwe Kleine-König Date: Thu Jan 22 23:29:42 2009 +0100 [NET] am79c961a: fix spin_lock usage spin_lock functions take a pointer to the lock, not the lock itself. This error was noticed by compiling ebsa110_defconfig for linux-rt where the locking functions obviously are more picky about their arguments. Signed-off-by: Uwe Kleine-König Cc: Roel Kluin <12o3l@tiscali.nl> Cc: Steven Rostedt Cc: netdev@vger.kernel.org Signed-off-by: Russell King commit e747a5c0be3efe5465e45c8e326bc766b1288be6 Author: Stefan Richter Date: Sat Jan 24 20:35:38 2009 +0100 firewire: core: optimize card shutdown This fixes a regression by "firewire: keep highlevel drivers attached during brief connection loss": There were 2 seconds unnecessary waiting added to the shutdown procedure of each controller. We use card->link as status flag to signal the device handler that there is no use to wait for a come-back. Signed-off-by: Stefan Richter commit 0b23a0efec9ab691a5bb902f9255892c8ddfd434 Author: Russell King Date: Sat Jan 24 17:00:45 2009 +0000 [ARM] omap: usb: thou shalt not provide empty release functions ... for devices. Doing so is a bug, plain and simple, and drives GregKH round the bend. Signed-off-by: Russell King commit b7cfc9ca6a511acec529cad322eec2a6379f35f7 Author: Russell King Date: Sat Jan 24 16:48:42 2009 +0000 [ARM] omap: watchdog: allow OMAP watchdog driver on OMAP34xx platforms The driver was updated for OMAP34xx, but the Kconfig file was missed. So this adds the missing parts from d99241c in Tony Lindgren's tree: Add watchdog timer support for TI OMAP3430. Signed-off-by: Madhusudhan Chikkature Signed-off-by: Tony Lindgren Signed-off-by: Russell King commit a45c6cb816474cefe56059fce422a9bdcd77e0dc Author: Madhusudhan Chikkature Date: Fri Jan 23 01:05:23 2009 +0100 [ARM] 5369/1: omap mmc: Add new omap hsmmc controller for 2430 and 34xx, v3 Add omap hsmmc controller for 2430 and 34xx. Note that this controller has different registers compared to the earlier omap MMC controller, so sharing code currently is not possible. Various updates and fixes from linux-omap list have been merged into this patch. Signed-off-by: Madhusudhan Chikkature Acked-by: Pierre Ossman Signed-off-by: Tony Lindgren Signed-off-by: Russell King commit 409dc360b49480b57869ffd457e4b95901b76b75 Author: Russell King Date: Sat Jan 24 10:14:37 2009 +0000 [ARM] clkdev: fix clock matching The old matching algorithm was too fuzzy, causing false positives. For example, when asked for device D connection C1 and we only find device D connection C2, we return that as a valid match despite the connection names being different. Change the algorithm such that: An entry with a NULL ID is assumed to be a wildcard. If an entry has a device ID, it must match If an entry has a connection ID, it must match However, we maintain the order of precidence while still only doing a single pass over all entries: dev+con > dev only > con only. Signed-off-by: Russell King commit 02e0746ecc0e72482fe6f350cbb8b65d1d5fc40a Author: Jean-Christop PLAGNIOL-VILLARD Date: Fri Jan 23 10:06:07 2009 +0100 [ARM] 5370/1: at91: fix rm9200 watchdog Signed-off-by: Jean-Christophe PLAGNIOL-VILLARD Signed-off-by: Russell King commit d0e58ae76cdcbcea05149e48220503ab00b4fb0b Author: David Brownell Date: Sun Jan 18 17:29:10 2009 +0100 [ARM] 5368/1: arch/arm/mach-davinci/usb.c buildfix From: David Brownell Subject: ARM/mach-davinci/usb.c buildfix CC arch/arm/mach-davinci/usb.o arch/arm/mach-davinci/usb.c:60: error: 'IRQ_USBINT' undeclared here (not in a function) make[1]: *** [arch/arm/mach-davinci/usb.o] Error 1 Signed-off-by: David Brownell Signed-off-by: Russell King commit 7ad14f83d335bc042baa21d710b4ea0918965ffe Author: Ramax Lo Date: Wed Jan 14 02:13:47 2009 +0100 [ARM] 5365/1: s3cmci: Use new include path of dma.h Since dma.h has been moved to arch/arm/mach-s3c2410/include/mach, use the new include path. Signed-off-by: Ramax Lo Acked-by: Ben Dooks Signed-off-by: Russell King commit 7dd8c4f3526b16edb1a3f4edb4665a8fa6e632d8 Author: Russell King Date: Sun Jan 18 16:24:19 2009 +0000 [ARM] fix StrongARM-11x0 page copy implementation Which had the 'from' and 'to' pages reversed. Signed-off-by: Russell King commit 953a7e8476bbd7367cebdb868c326ba42968bc13 Author: Russell King Date: Sun Jan 18 12:52:38 2009 +0000 [ARM] omap: ensure OMAP drivers pass a struct device to clk_get() Signed-off-by: Russell King commit 64c634ef83991b390ec0503e61f16efb0ba3c60b Author: Stefan Richter Date: Tue Jan 20 19:09:58 2009 +0100 ieee1394: ohci1394: increase AT req. retries, fix ack_busy_X from Panasonic camcorders and others Camcorders have a tendency to fail read requests to their config ROM and write request to their FCP command register with ack_busy_X. This has become a problem with newer kernels and especially Panasonic camcorders, causing AV/C in dvgrab and kino to fail. Dvgrab for example frequently logs "send oops"; kino reports loss of AV/C control. I suspect that lower CPU scheduling latencies in newer kernels made this issue more prominent now. According to https://sourceforge.net/tracker/?func=detail&atid=114103&aid=2492640&group_id=14103 this can be fixed by configuring the FireWire controller for more hardware retries for request transmission; these retries are evidently more successful than libavc1394's own retry loop (typically 3 tries on top of hardware retries). Presumably the same issue has been reported at https://bugzilla.redhat.com/show_bug.cgi?id=449252 and https://bugzilla.redhat.com/show_bug.cgi?id=477279 . Tested-by: Mathias Beilstein Signed-off-by: Stefan Richter commit 8b7b6afaa84708d08139daa08538ca3e56c351f1 Author: Stefan Richter Date: Tue Jan 20 19:10:58 2009 +0100 firewire: ohci: increase AT req. retries, fix ack_busy_X from Panasonic camcorders and others Camcorders have a tendency to fail read requests to their config ROM and write request to their FCP command register with ack_busy_X. This has become a problem with newer kernels and especially Panasonic camcorders, causing AV/C in dvgrab and kino to fail. Dvgrab for example frequently logs "send oops"; kino reports loss of AV/C control. I suspect that lower CPU scheduling latencies in newer kernels made this issue more prominent now. According to https://sourceforge.net/tracker/?func=detail&atid=114103&aid=2492640&group_id=14103 this can be fixed by configuring the FireWire controller for more hardware retries for request transmission; these retries are evidently more successful than libavc1394's own retry loop (typically 3 tries on top of hardware retries). Presumably the same issue has been reported at https://bugzilla.redhat.com/show_bug.cgi?id=449252 and https://bugzilla.redhat.com/show_bug.cgi?id=477279 . In a quick test with a JVC camcorder (which didn't malfunction like the reported camcorders), this change decreased the number of ack_busy_X from 16 in three runs of dvgrab to 4 in three runs of the same capture duration. Signed-off-by: Stefan Richter commit b006854955254a971096c120d4ef115a7c6145fb Author: Stefan Richter Date: Mon Jan 5 20:43:23 2009 +0100 firewire: ohci: change "context_stop: still active" log message The present message is mostly just noise. We only need to be notified if the "active" flag does not go off before the retry loop terminates. Signed-off-by: Stefan Richter commit 2fcbab044a3faf4d4a6e269148dd1f188303b206 Author: Larry Finger Date: Fri Jan 23 11:46:32 2009 -0600 rtl8187: Add termination packet to prevent stall The RTL8187 and RTL8187B devices can stall unless an explicit termination packet is sent. Signed-off-by: Larry Finger Signed-off-by: John W. Linville commit c338ba3ca5bef2df2082d9e8d336ff7b2880c326 Author: Abbas, Mohamed Date: Wed Jan 21 10:58:02 2009 -0800 iwlwifi: fix rs_get_rate WARN_ON() In ieee80211_sta structure there is u64 supp_rates[IEEE80211_NUM_BANDS] this is filled with all support rate from assoc_resp. If we associate with G-band AP only supp_rates of G-band will be set the other band supp_rates will be set to 0. If the user type this command this will cause mac80211 to set to new channel, mac80211 does not disassociate in setting new channel, so the active band is now A-band. then in handling the new essid mac80211 will kick in the assoc steps which involve sending disassociation frame. in this mac80211 will WARN_ON sta->supp_rates[A_BAND] == 0. This fixes: http://www.intellinuxwireless.org/bugzilla/show_bug.cgi?id=1822 http://www.kerneloops.org/searchweek.php?search=rs_get_rate Signed-off-by: mohamed abbas Signed-off-by: Reinette Chatre Signed-off-by: John W. Linville commit b4068a80492022848c11123bf485aff5c902c583 Author: Christian Lamparter Date: Tue Jan 20 23:11:21 2009 +0100 p54usb: fix packet loss with first generation devices Artur Skawina confirmed that the first generation devices needs the same URB_ZERO_PACKET flag, in oder to finish the pending transfer properly. The second generation has been successfully fixed by "p54usb: fix random traffic stalls (LM87)" (43af18f06d5) Signed-off-by: Christian Lamparter Signed-off-by: John W. Linville commit ff4ce8c332859508dc97826ab8b7f42bb9c212c9 Author: Ian Campbell Date: Fri Jan 23 16:26:21 2009 +0000 xen: handle highmem pages correctly when shrinking a domain Commit 1058a75f07b9bb8323fb5197be5526220f8b75cf ("xen: actually release memory when shrinking domain") causes a crash if the page being released is a highmem page. If a page is highmem then there is no need to unmap it. Signed-off-by: Ian Campbell Acked-by: Jeremy Fitzhardinge Signed-off-by: Ingo Molnar commit 42ef73fe134732b2e91c0326df5fd568da17c4b2 Author: Peter Zijlstra Date: Fri Jan 23 17:37:49 2009 +0100 x86, mm: fix pte_free() On -rt we were seeing spurious bad page states like: Bad page state in process 'firefox' page:c1bc2380 flags:0x40000000 mapping:c1bc2390 mapcount:0 count:0 Trying to fix it up, but a reboot is needed Backtrace: Pid: 503, comm: firefox Not tainted 2.6.26.8-rt13 #3 [] ? printk+0x14/0x19 [] bad_page+0x4e/0x79 [] free_hot_cold_page+0x5b/0x1d3 [] free_hot_page+0xf/0x11 [] __free_pages+0x20/0x2b [] __pte_alloc+0x87/0x91 [] handle_mm_fault+0xe4/0x733 [] ? rt_mutex_down_read_trylock+0x57/0x63 [] ? rt_mutex_down_read_trylock+0x57/0x63 [] do_page_fault+0x36f/0x88a This is the case where a concurrent fault already installed the PTE and we get to free the newly allocated one. This is due to pgtable_page_ctor() doing the spin_lock_init(&page->ptl) which is overlaid with the {private, mapping} struct. union { struct { unsigned long private; struct address_space *mapping; }; spinlock_t ptl; struct kmem_cache *slab; struct page *first_page; }; Normally the spinlock is small enough to not stomp on page->mapping, but PREEMPT_RT=y has huge 'spin'locks. But lockdep kernels should also be able to trigger this splat, as the lock tracking code grows the spinlock to cover page->mapping. The obvious fix is calling pgtable_page_dtor() like the regular pte free path __pte_free_tlb() does. It seems all architectures except x86 and nm10300 already do this, and nm10300 doesn't seem to use pgtable_page_ctor(), which suggests it doesn't do SMP or simply doesnt do MMU at all or something. Signed-off-by: Peter Zijlstra Signed-off-by: Ingo Molnar Cc: commit 0f0779b155f9060dc750e14e0d29e7491263e46b Merge: 092ebf7 43d5080 Author: Takashi Iwai Date: Fri Jan 23 18:14:25 2009 +0100 Merge branch 'fix/asoc' into for-linus commit e34a6280419a24297e6603075ac5af6ce9f13562 Author: Michael Holzheu Date: Fri Jan 23 16:40:27 2009 +0100 [S390] Add missing compat system call wrappers. Add wrapper functions for the following compat system calls: * readahead * sendfile64 * tkill * tgkill * keyctl This ensures that the high order bits of the parameter registers are correctly sign extended. Signed-off-by: Michael Holzheu Signed-off-by: Heiko Carstens commit 179cb81aa1e9dc5444f678a6dd4dbb90c60322e1 Author: Heiko Carstens Date: Fri Jan 23 16:40:26 2009 +0100 [S390] etr/stp: fix possible deadlock Precreate stop_machine threads in case the machine supports ETR/STP. Otherwise we might deadlock if a time sync operation gets scheduled and the creation of stop_machine threads would cause disk I/O. This is just the minimal fix. The real fix would be to only precreate stop_machine threads if ETR/STP is actually used. But that would be a rather large and complicated patch. Signed-off-by: Heiko Carstens commit f9a2f797fcde5a4aa818bd3ca8584fd1197e9c15 Author: Heiko Carstens Date: Fri Jan 23 16:40:25 2009 +0100 [S390] cputime: fix lowcore initialization on cpu hotplug On (initial) cpu hotplug the lowcore values for user_timer and system_timer don't get initialized like they would get on each process schedule. On initial start of secondary cpus this leads to the situation where per thread user/system_timer values are larger than the corresponding contents of the lowcore. When later calculating time spent in user/system context the result can be negative. So for cpu hotplug we should manually initialize lowcore values. Fixes this bug: Kernel BUG at 000ec080 [verbose debug info unavailable] fixpoint divide exception: 0009 [#1] PREEMPT SMP Modules linked in: CPU: 10 Not tainted 2.6.28 #4 Process sysctl (pid: 975, task: 3fa752e0, ksp: 3fbebca0) Krnl PSW : 070c1000 800ec080 (show_stat+0x390/0x5fc) R:0 T:1 IO:1 EX:1 Key:0 M:1 W:0 P:0 AS:0 CC:1 PM:0 Krnl GPRS: 7fffffff fefc7ce5 3faec080 003879ae 00000001 01388000 7fffffff 01388000 00000000 00000000 0049ad50 3fbebcf8 01388000 002f51a8 800ec1fe 3fbebcf8 Krnl Code: 800ec076: 9001b188 stm %r0,%r1,392(%r11) 800ec07a: 9801b0c0 lm %r0,%r1,192(%r11) 800ec07e: 1d05 dr %r0,%r5 >800ec080: 9001b0c0 stm %r0,%r1,192(%r11) 800ec084: 5860b0c4 l %r6,196(%r11) 800ec088: 1806 lr %r0,%r6 800ec08a: 8c800001 srdl %r8,1 800ec08e: 1d87 dr %r8,%r7 Call Trace: ([<00000000000ec1ee>] show_stat+0x4fe/0x5fc) [<00000000000c13e8>] seq_read+0xc4/0x3ac [<00000000000e4796>] proc_reg_read+0x6e/0x9c [<00000000000a6a44>] vfs_read+0x78/0x100 [<00000000000a6ba8>] sys_read+0x40/0x80 [<00000000000234a8>] sysc_do_restart+0x1a/0x1e Signed-off-by: Heiko Carstens commit e9a4e9d563ea643d305b5fe83031d7deca311db3 Author: Michael Holzheu Date: Fri Jan 23 16:40:24 2009 +0100 [S390] fix compat sigaltstack syscall table entry When 31 bit user space programs call sigaltstack on a 64 bit Linux OS, the system call returns -1 with errno=EFAULT. The 31 bit pointer passed to the system call is extended to 64 bit, but the high order bits are not set to zero. The kernel detects the invalid user space pointer and returns -EFAULT. To solve the problem, sys32_sigaltstack_wrapper() instead of sys32_sigaltstack() has to be called. The wrapper function sets the high order bits to zero. Signed-off-by: Michael Holzheu Signed-off-by: Heiko Carstens commit 03e4c49f847f23c62900424f65a62f76de5a7151 Author: Heiko Carstens Date: Fri Jan 23 16:40:23 2009 +0100 [S390] personality: fix personality loss on execve Use the personality() macro to mask out all bits that are not relevant for the personality type. The personality field contains bits for other things as well, so without masking out the not relevalent bits the comparison won't do what is expected. Reported-by: Andreas Krebbel Signed-off-by: Heiko Carstens commit 43d50807dbf47a139f83660fec14aebe936b3c80 Author: Peter Ujfalusi Date: Fri Jan 23 10:08:35 2009 +0200 ASoC: Add missing comma to SND_SOC_DAPM_SWITCH_E in soc-dapm.h Typo fix. Signed-off-by: Peter Ujfalusi Signed-off-by: Mark Brown commit 0b21bcd5b52779be0c18a6c201ae8f060d3b2bf2 Author: Josh Boyer Date: Fri Jan 23 08:57:19 2009 -0500 powerpc/4xx: Update multi-board PowerPC 4xx defconfigs Update the multi-board configs for 2.6.29-rc2 Signed-off-by: Josh Boyer commit f67d347f0365f8c4acfab08c6bc47340f177c9d5 Author: Josh Boyer Date: Tue Jan 20 13:03:05 2009 -0500 powerpc/44x: Update PowerPC 44x defconfigs Update the 44x defconfigs for 2.6.29-rc2 Signed-off-by: Josh Boyer commit 8f5140a6a0b1a9aa79585b0008e88c5d266c5c1d Author: David Vrabel Date: Fri Jan 23 12:57:20 2009 +0000 uwb: lock rc->rsvs_lock with spin_lock_bh() rc->rsvs_lock may be taken in a timer so lock it with spin_lock_bh(). Signed-off-by: David Vrabel commit 00a602db1ce9d61319d6f769dee206ec85f19bda Author: Takashi Iwai Date: Fri Jan 23 11:55:42 2009 +0100 ALSA: hda - Fix PCM reference NID for STAC/IDT analog outputs The reference NID for the analog outputs of STAC/IDT codecs is set to a fixed number 0x02. But this isn't always correct and in many codecs it points to a non-existing NID. This patch fixes the initialization of the PCM reference NID taken from the actually probed DAC list. Signed-off-by: Takashi Iwai commit 092ebf7a01aa8020501986ab9a2f481a01bb541a Merge: dd501d9 32ed3f4 Author: Takashi Iwai Date: Fri Jan 23 08:13:52 2009 +0100 Merge branch 'fix/hda' into for-linus commit dd501d94b5df820305363d504f51115b45e23e4f Merge: 6e78b78 8a9dee5 Author: Takashi Iwai Date: Fri Jan 23 08:13:49 2009 +0100 Merge branch 'fix/asoc' into for-linus commit 32ed3f4640631ab7a4c0bc0f1463cf019d510341 Author: Matthew Ranostay Date: Thu Jan 22 20:53:29 2009 -0500 ALSA: hda: Add STAC92HD83XXX_PWR_REF quirk Some revisions of the 92hd8xxx codec's not supporting port power downs in which the using of it causes capture and also randomly playback streams to not function at all. Thus by disabling it by default and adding a option to enable it manually will fix all issue on current and future revisions. Signed-off-by: Matthew Ranostay Signed-off-by: Takashi Iwai commit 87e88a746d6d93242c15e380dc8cd2579b524974 Author: Matthew Ranostay Date: Thu Jan 22 20:38:42 2009 -0500 ALSA: hda: revert change to 92hd83xxx power mapping Port 0xe power mapping was incorrect set to 0x80 changed to the correct value 0x40. Signed-off-by: Matthew Ranostay Signed-off-by: Takashi Iwai commit ae53b5bd77719fed58086c5be60ce4f22bffe1c6 Author: Vlad Yasevich Date: Thu Jan 22 14:53:23 2009 -0800 sctp: Fix another socket race during accept/peeloff There is a race between sctp_rcv() and sctp_accept() where we have moved the association from the listening socket to the accepted socket, but sctp_rcv() processing cached the old socket and continues to use it. The easy solution is to check for the socket mismatch once we've grabed the socket lock. If we hit a mis-match, that means that were are currently holding the lock on the listening socket, but the association is refrencing a newly accepted socket. We need to drop the lock on the old socket and grab the lock on the new one. A more proper solution might be to create accepted sockets when the new association is established, similar to TCP. That would eliminate the race for 1-to-1 style sockets, but it would still existing for 1-to-many sockets where a user wished to peeloff an association. For now, we'll live with this easy solution as it addresses the problem. Reported-by: Michal Hocko Reported-by: Karsten Keil Signed-off-by: Vlad Yasevich Signed-off-by: David S. Miller commit 759af00ebef858015eb68876ac1f383bcb6a1774 Author: Vlad Yasevich Date: Thu Jan 22 14:53:01 2009 -0800 sctp: Properly timestamp outgoing data chunks for rtx purposes Recent changes to the retransmit code exposed a long standing bug where it was possible for a chunk to be time stamped after the retransmit timer was reset. This caused a rare situation where the retrnamist timer has expired, but nothing was marked for retrnasmission because all of timesamps on data were less then 1 rto ago. As result, the timer was never restarted since nothing was retransmitted, and this resulted in a hung association that did couldn't complete the data transfer. The solution is to timestamp the chunk when it's added to the packet for transmission purposes. After the packet is trsnmitted the rtx timer is restarted. This guarantees that when the timer expires, there will be data to retransmit. Signed-off-by: Vlad Yasevich Signed-off-by: David S. Miller commit 6574df9a89f9f7da3a4e5cee7633d430319d3350 Author: Vlad Yasevich Date: Thu Jan 22 14:52:43 2009 -0800 sctp: Correctly start rtx timer on new packet transmissions. Commit 62aeaff5ccd96462b7077046357a6d7886175a57 (sctp: Start T3-RTX timer when fast retransmitting lowest TSN) introduced a regression where it was possible to forcibly restart the sctp retransmit timer at the transmission of any new chunk. This resulted in much longer timeout times and sometimes hung sctp connections. Signed-off-by: Vlad Yasevich Signed-off-by: David S. Miller commit 9c5ff5f75d0d0a1c7928ecfae3f38418b51a88e3 Author: Vlad Yasevich Date: Thu Jan 22 14:52:23 2009 -0800 sctp: Fix crc32c calculations on big-endian arhes. crc32c algorithm provides a byteswaped result. On little-endian arches, the result ends up in big-endian/network byte order. On big-endinan arches, the result ends up in little-endian order and needs to be byte swapped again. Thus calling cpu_to_le32 gives the right output. Tested-by: Jukka Taimisto Signed-off-by: Vlad Yasevich Signed-off-by: David S. Miller commit 1058a75f07b9bb8323fb5197be5526220f8b75cf Author: Dan Magenheimer Date: Thu Jan 22 14:36:08 2009 -0800 xen: actually release memory when shrinking domain Fix this: > It appears that in the upstream balloon driver, > the call to HYPERVISOR_update_va_mapping is missing > from decrease_reservation. I think as a result, > the balloon driver is eating memory but not > releasing it to Xen, thus rendering the balloon > driver essentially useless. (Can be observed via xentop.) Signed-off-by: Dan Magenheimer Signed-off-by: Jeremy Fitzhardinge Signed-off-by: Ingo Molnar commit c64d2a9afbccd0aecb122d108770a407fe7b7e3f Author: Steve Glendinning Date: Thu Jan 22 14:07:43 2009 -0800 phy: Add suspend/resume support to SMSC PHYs All supported SMSC PHYs implement the standard "power down" bit 11 of BMCR, so this patch adds support using the generic genphy_{suspend,resume} functions. Signed-off-by: Steve Glendinning Signed-off-by: David S. Miller commit 6f051069d8a2045666055e3020ae8a7dec9762e0 Author: Anton Vorontsov Date: Thu Jan 22 13:51:24 2009 -0800 phylib: Fix oops in suspend/resume paths Suspend/resume routines check for phydrv != NULL, but that is wrong because "phydrv" comes from container_of(drv). If drv is NULL, then container_of(drv) will return non-NULL result, and the checks won't work. The Freescale TBI PHYs are driver-less, so "drv" is NULL, and that leads to the following oops: Unable to handle kernel paging request for data at address 0xffffffe4 Faulting instruction address: 0xc0215554 Oops: Kernel access of bad area, sig: 11 [#1] [...] NIP [c0215554] mdio_bus_suspend+0x34/0x70 LR [c01cc508] suspend_device+0x258/0x2bc Call Trace: [cfad3da0] [cfad3db8] 0xcfad3db8 (unreliable) [cfad3db0] [c01cc508] suspend_device+0x258/0x2bc [cfad3dd0] [c01cc62c] dpm_suspend+0xc0/0x140 [cfad3e20] [c01cc6f4] device_suspend+0x48/0x5c [cfad3e40] [c0068dd8] suspend_devices_and_enter+0x8c/0x148 [cfad3e60] [c00690f8] enter_state+0x100/0x118 [cfad3e80] [c00691c0] state_store+0xb0/0xe4 [cfad3ea0] [c018c938] kobj_attr_store+0x24/0x3c [cfad3eb0] [c00ea9a8] flush_write_buffer+0x58/0x7c [cfad3ed0] [c00eadf0] sysfs_write_file+0x58/0xa0 [cfad3ef0] [c009e810] vfs_write+0xb4/0x16c [cfad3f10] [c009ed40] sys_write+0x4c/0x90 [cfad3f40] [c0014954] ret_from_syscall+0x0/0x38 [...] This patch fixes the issue, plus removes unneeded parentheses and fixes indentation level in mdio_bus_suspend(). Signed-off-by: Anton Vorontsov Signed-off-by: David S. Miller commit 5422a2257350d984094e655b2361abed51a9ddc1 Author: Eilon Greenstein Date: Thu Jan 22 06:01:37 2009 +0000 bnx2x: Version Signed-off-by: Eilon Greenstein Signed-off-by: David S. Miller commit 3910c8ae44c59cebed721e33aa496f0a385b4e03 Author: Eilon Greenstein Date: Thu Jan 22 06:01:32 2009 +0000 bnx2x: loopback test failure A link change interrupt might be queued and activated after the loopback was set and it will cause the loopback to fail. The PHY lock should be kept until the loopback test is over. That implies that the bnx2x_test_link should used within the loopback function and not bnx2x_wait_for_link since that function also takes the PHY link Signed-off-by: Eilon Greenstein Signed-off-by: David S. Miller commit 5650d9d4cbf3898d3f9725ccad5dfca6bc086324 Author: Eilon Greenstein Date: Thu Jan 22 06:01:29 2009 +0000 bnx2x: Missing rmb when waiting for FW response Waiting for the FW to response requires a memory barrier Signed-off-by: Michal Kalderon Signed-off-by: Eilon Greenstein Signed-off-by: David S. Miller commit 7cde1c8b79f913a0158bae4f4c612de2cb98e7e4 Author: Eilon Greenstein Date: Thu Jan 22 06:01:25 2009 +0000 bnx2x: Calling napi_del rmmod might hang without this patch since the reference counter is not going down Signed-off-by: Yitchak Gertner Signed-off-by: Eilon Greenstein Signed-off-by: David S. Miller commit 6eccabb301d442e6106ecc84b07a976c2816d9fb Author: Eilon Greenstein Date: Thu Jan 22 03:37:48 2009 +0000 bnx2x: Carrier off first call Call carrier off should not be called after register_netdev since after register netdev open can be called at any time followed by an interrupt that will set it to carrier_on and the probe will resume control and set it to off Signed-off-by: Eilon Greenstein Signed-off-by: David S. Miller commit 2dfe0e1fecb582b4aae7f2490904864c05472f3a Author: Eilon Greenstein Date: Thu Jan 22 03:37:44 2009 +0000 bnx2x: Handling load failures Failures on load were not handled correctly - separate the flow to handle different failures Signed-off-by: Eilon Greenstein Signed-off-by: David S. Miller commit e94d8af3da79f4bfbd22819d28ecf0602456f06f Author: Eilon Greenstein Date: Thu Jan 22 03:37:36 2009 +0000 bnx2x: Disable napi Calling napi disabled unconditionally at netif stop Signed-off-by: Eilon Greenstein Signed-off-by: David S. Miller commit 81f75bbf67c7a26ea1266ac93b9319bb985d588d Author: Eilon Greenstein Date: Thu Jan 22 03:37:31 2009 +0000 bnx2x: Reset HW before use To avoid complications, make sure that the HW is in reset (as it should be) before trying to take it out of reset. In normal flows, the HW is indeed in rest so this should have no effect Signed-off-by: Eilon Greenstein Signed-off-by: David S. Miller commit dff243f7cb3a2ebbb09093066c1bc4a90ff5b3a4 Merge: a5e6ced f3b8436 Author: David Vrabel Date: Thu Jan 22 19:12:32 2009 +0000 Merge branch 'master' of git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux-2.6 into for-upstream commit 637f883739b32746889a191f282c9ea2590ecf4f Author: Reinette Chatre Date: Mon Jan 19 15:30:32 2009 -0800 iwlwifi: return NETDEV_TX_OK from _tx ops be consistent with mac80211 drivers and return correct return code. NETDEV_TX_OK is 0, but we need to be consistent wrt formatting amongst implementations re: http://marc.info/?l=linux-wireless&m=123119327419865&w=2 Signed-off-by: Reinette Chatre Reviewed-by: Tomas Winkler Signed-off-by: John W. Linville commit de2624966f9bc6ffafc4fd6555336fabc2854420 Author: Hin-Tak Leung Date: Mon Jan 19 23:39:09 2009 +0000 zd1211rw: adding Sitecom WL-603 (0df6:0036) to the USB id list Giuseppe Cala (The second "a" in "Cala" should be a grave, U+00E0) reported success on zd1211-devs@lists.sourceforge.net. The chip info is: zd1211b chip 0df6:0036 v4810 high 00-0c-f6 AL2230_RF pa0 g--N- The Sitecom WL-603 is detected as a zd1211b with a AL2230 RF transceiver chip. Signed-off-by: Giuseppe Cala Signed-off-by: Hin-Tak Leung Signed-off-by: John W. Linville commit e2fe154e918276e900067a9d1d3a6a963faee041 Author: Christian Lamparter Date: Tue Jan 20 00:27:57 2009 +0100 p54usb: fix nasty use after free In theory, the firmware acks the received a data frame, before signaling the driver to free it again. However Artur Skawina has shown that it can happen in reverse order as well. This is very bad and could lead to memory corruptions, oopses and panics. Thanks to Artur Skawina for reporting and debugging this issue. Signed-off-by: Christian Lamparter Tested-by: Artur Skawina Signed-off-by: John W. Linville commit 12da401e0d616f738c8b8a368d1f63f365cc78e4 Author: Christian Lamparter Date: Mon Jan 19 16:08:48 2009 +0100 p54: more cryptographic accelerator fixes If we let the firmware do the data encryption, we have to remove the ICV and (M)MIC at the end of the frame before we can give it back to mac80211. Or, these data frames have a few trailing bytes on cooked monitor interfaces. Signed-off-by: Christian Lamparter Signed-off-by: John W. Linville commit 40ab73cc6c38ce93253fe8c2d7e502c948adfd13 Author: Chr Date: Mon Jan 19 14:30:26 2009 +0100 p54: add missing break in eeprom parser This patch fixes a obvious memory leak in the eeprom parser. Signed-off-by: Christian Lamparter Signed-off-by: John W. Linville commit 11eaea416716deebcb18383b201ba8033cbf33dc Author: Pavel Roskin Date: Sun Jan 18 23:20:58 2009 -0500 orinoco: use KERN_DEBUG for link status messages KERN_INFO is too "loud" for messages that are generated by the ordinary events, such as accociation. Use of KERN_DEBUG is consistent with mac80211. Suggested by Michael Gilbert Signed-off-by: Pavel Roskin Signed-off-by: John W. Linville commit 7490889c105764d80af58dee5983d91a84e4aec8 Author: Ivo van Doorn Date: Sun Jan 18 20:15:24 2009 +0100 rt2x00: Fix TX rate short preamble detection Mac80211 provides 2 structures to handle bitrates, namely ieee80211_rate and ieee80211_tx_rate. To determine the short preamble mode for an outgoing frame, the flag IEEE80211_TX_RC_USE_SHORT_PREAMBLE must be checked on ieee80211_tx_rate and not ieee80211_rate (which rt2x00 did). This fixes a regression which was triggered in 2.6.29-rcX as reported by Chris Clayton. Signed-off-by: Ivo van Doorn Tested-By: Chris Clayton Signed-off-by: John W. Linville commit 391429c18f58ae37cc2e254e408bff847f4beb21 Author: Christian Lamparter Date: Sun Jan 18 02:24:15 2009 +0100 mac80211: fix slot time debug message wlan0: switched to short barker preamble (BSSID=00:01:aa:bb:cc:dd) wlan0: switched to short slot (BSSID=) should be: wlan0: switched to short barker preamble (BSSID=00:01:aa:bb:cc:dd) wlan0: switched to short slot (BSSID=00:01:aa:bb:cc:dd) Signed-off-by: Christian Lamparter Signed-off-by: John W. Linville commit 7fe99c4e28ab54eada8aa456b417114e6ef21587 Author: Andrey Borzenkov Date: Tue Jan 20 20:26:46 2009 +0300 orinoco: move kmalloc(..., GFP_KERNEL) outside spinlock in orinoco_ioctl_set_genie [ 56.923623] BUG: sleeping function called from invalid context at /home/bor/src/linux-git/mm/slub.c:1599 [ 56.923644] in_atomic(): 0, irqs_disabled(): 1, pid: 3031, name: wpa_supplicant [ 56.923656] 2 locks held by wpa_supplicant/3031: [ 56.923662] #0: (rtnl_mutex){--..}, at: [] rtnl_lock+0xf/0x20 [ 56.923703] #1: (&priv->lock){++..}, at: [] orinoco_ioctl_set_genie+0x52/0x130 [orinoco] [ 56.923782] irq event stamp: 910 [ 56.923788] hardirqs last enabled at (909): [] __kmalloc+0x7b/0x140 [ 56.923820] hardirqs last disabled at (910): [] _spin_lock_irqsave+0x19/0x80 [ 56.923847] softirqs last enabled at (880): [] __do_softirq+0xc4/0x110 [ 56.923865] softirqs last disabled at (871): [] do_softirq+0x8e/0xe0 [ 56.923895] Pid: 3031, comm: wpa_supplicant Not tainted 2.6.29-rc2-1avb #1 [ 56.923905] Call Trace: [ 56.923919] [] ? do_softirq+0x8e/0xe0 [ 56.923941] [] __might_sleep+0xd2/0x100 [ 56.923952] [] __kmalloc+0xd7/0x140 [ 56.923963] [] ? _spin_lock_irqsave+0x6a/0x80 [ 56.923981] [] ? orinoco_ioctl_set_genie+0x79/0x130 [orinoco] [ 56.923999] [] ? orinoco_ioctl_set_genie+0x52/0x130 [orinoco] [ 56.924017] [] orinoco_ioctl_set_genie+0x79/0x130 [orinoco] [ 56.924036] [] ? copy_from_user+0x35/0x130 [ 56.924061] [] ioctl_standard_call+0x196/0x380 [ 56.924085] [] ? __dev_get_by_name+0x85/0xb0 [ 56.924096] [] wext_handle_ioctl+0x14f/0x230 [ 56.924113] [] ? orinoco_ioctl_set_genie+0x0/0x130 [orinoco] [ 56.924132] [] dev_ioctl+0x495/0x570 [ 56.924155] [] ? sys_sendto+0xa5/0xd0 [ 56.924171] [] ? mark_held_locks+0x48/0x90 [ 56.924183] [] ? sock_ioctl+0x0/0x280 [ 56.924193] [] sock_ioctl+0xfd/0x280 [ 56.924203] [] ? sock_ioctl+0x0/0x280 [ 56.924235] [] vfs_ioctl+0x20/0x80 [ 56.924246] [] do_vfs_ioctl+0x72/0x570 [ 56.924257] [] ? sys_send+0x32/0x40 [ 56.924268] [] ? sys_socketcall+0x1d0/0x2a0 [ 56.924280] [] ? sysenter_exit+0xf/0x16 [ 56.924292] [] sys_ioctl+0x39/0x70 [ 56.924302] [] sysenter_do_call+0x12/0x31 Signed-off-by: Andrey Borzenkov Cc: stable@kernel.org Signed-off-by: John W. Linville commit 5dc306f3bd1d4cfdf79df39221b3036eab1ddcf3 Author: Brian Cavagnolo Date: Fri Jan 16 19:04:49 2009 -0800 mac80211: decrement ref count to netdev after launching mesh discovery After launching mesh discovery in tx path, reference count was not being decremented. This was preventing module unload. Signed-off-by: Brian Cavagnolo Signed-off-by: Andrey Yurovsky Acked-by: Johannes Berg Signed-off-by: John W. Linville commit a717531942f488209dded30f6bc648167bcefa72 Author: Chris Mason Date: Thu Jan 22 09:23:10 2009 -0500 Btrfs: do less aggressive btree readahead Just before reading a leaf, btrfs scans the node for blocks that are close by and reads them too. It tries to build up a large window of IO looking for blocks that are within a max distance from the top and bottom of the IO window. This patch changes things to just look for blocks within 64k of the target block. It will trigger less IO and make for lower latencies on the read size. Signed-off-by: Chris Mason commit ba2607fe9c1f2d4ad5a3d4c4ae9117c5bfdca826 Author: Markus Metzger Date: Mon Jan 19 10:38:35 2009 +0100 x86, ds, bts: cleanup/fix DS configuration Cleanup the cpuid check for DS configuration. This also fixes a Corei7 CPUID enumeration bug. Signed-off-by: Markus Metzger Signed-off-by: Steven Rostedt Signed-off-by: Ingo Molnar commit 2906f0258770d3a9c4e65364df8acc904e148bbe Author: Jesse Barnes Date: Tue Jan 20 19:10:54 2009 -0800 drm/i915: Fix cursor physical address choice to match the 2D driver. Signed-off-by: Jesse Barnes Signed-off-by: Eric Anholt commit 1bb88edb7a3769992026f34fd648bb459b0469aa Author: Eric Anholt Date: Thu Jan 15 01:16:25 2009 -0800 drm: stash AGP include under the do-we-have-AGP ifdef This fixes the MIPS with DRM build. Signed-off-by: Eric Anholt Tested-by: Martin Michlmayr Signed-off-by: Dave Airlie commit 4942f8b23b56a3f9a713d4436338710579329ffc Author: Jesse Barnes Date: Thu Jan 22 22:23:53 2009 +1000 drm: don't whine about not reading EDID data Make this message a little quieter, since it's common and not necessarily indicative of a problem. Signed-off-by: Jesse Barnes Signed-off-by: Dave Airlie commit 335041ed31d774391d9add49824d05e7d19d93e9 Author: Jesse Barnes Date: Thu Jan 22 22:22:06 2009 +1000 drm/i915: hook up LVDS DPMS property The LVDS output supports DPMS calls, but we never hooked up the property code, so set property calls didn't actually do anything. Implement a set_property callback for the LVDS output so that the right thing happens. Signed-off-by: Jesse Barnes commit ed2dd4b0cc1494c27478f4ea8452f68d2037a60c Author: Jesse Barnes Date: Thu Jan 22 22:21:16 2009 +1000 drm/i915: remove unnecessary debug output in KMS init We don't really need to print out the FB BAR... Signed-off-by: Jesse Barnes Signed-off-by: Dave Airlie commit e0c0e943af71c0f840a1f6a32a8cf0b61ebc61e5 Author: Takashi Iwai Date: Thu Jan 22 12:58:11 2009 +0100 ALSA: hda - Add model entry for HP dv4 Added model=hp-dv5 for HP dv4 (103c:30f7). Reference: kernel bug #12440 http://bugzilla.kernel.org/show_bug.cgi?id=12440 Signed-off-by: Takashi Iwai commit 0fcb44088970b18eaf2df4579d64840be6e3bf39 Author: Alexey Dobriyan Date: Thu Jan 22 11:16:42 2009 +0300 fs/Kconfig: move 9p out Signed-off-by: Alexey Dobriyan commit b2480c7fbfed172e6ec3ba1c8e80f05a3721b24a Author: Alexey Dobriyan Date: Thu Jan 22 11:16:02 2009 +0300 fs/Kconfig: move afs out Signed-off-by: Alexey Dobriyan commit 33a1a6fedf08bbcb4b4df74498d697e7a88d39f2 Author: Alexey Dobriyan Date: Thu Jan 22 11:15:06 2009 +0300 fs/Kconfig: move coda out Signed-off-by: Alexey Dobriyan commit 9d7d6447ef455f4561f63bf6e8f6bef58b42a0a3 Author: Alexey Dobriyan Date: Thu Jan 22 11:14:15 2009 +0300 fs/Kconfig: move the rest of ncpfs out Signed-off-by: Alexey Dobriyan commit 213a41d404d5ed16528df5aa0ed215adcb1e9d66 Author: Alexey Dobriyan Date: Thu Jan 22 11:13:16 2009 +0300 fs/Kconfig: move smbfs out Signed-off-by: Alexey Dobriyan commit 9098c24f35f7da6c89a83420acf21e3d7b35151d Author: Alexey Dobriyan Date: Thu Jan 22 11:11:56 2009 +0300 fs/Kconfig: move sunrpc out Signed-off-by: Alexey Dobriyan commit e2b329e2002685c1b0fa3c06caadc0936b7f507f Author: Alexey Dobriyan Date: Thu Jan 22 11:08:58 2009 +0300 fs/Kconfig: move nfsd out Signed-off-by: Alexey Dobriyan commit 97afe47ac378615d727fc2f0ffa1b58e9837f438 Author: Alexey Dobriyan Date: Thu Jan 22 11:07:41 2009 +0300 fs/Kconfig: move nfs out Signed-off-by: Alexey Dobriyan commit a276a52f9f1b1059bddade71df18ceb6481534a6 Author: Alexey Dobriyan Date: Thu Jan 22 11:05:02 2009 +0300 fs/Kconfig: move ufs out Signed-off-by: Alexey Dobriyan commit 8af915ba1d1eae1f9f31fa8c5db8040492dc4785 Author: Alexey Dobriyan Date: Thu Jan 22 11:04:23 2009 +0300 fs/Kconfig: move sysv out Signed-off-by: Alexey Dobriyan commit 41810246df2e65c66dc1f0da79b282a95b664fc7 Author: Alexey Dobriyan Date: Thu Jan 22 11:03:34 2009 +0300 fs/Kconfig: move romfs out Signed-off-by: Alexey Dobriyan commit 4c7415830c7ab465ff54ca7ffc20bfb1b59906c3 Author: Alexey Dobriyan Date: Thu Jan 22 11:02:21 2009 +0300 fs/Kconfig: move qnx4 out Signed-off-by: Alexey Dobriyan commit 928ea192959f188e6a4de95b293e3973887917b5 Author: Alexey Dobriyan Date: Thu Jan 22 11:01:26 2009 +0300 fs/Kconfig: move hpfs out Signed-off-by: Alexey Dobriyan commit da55e6f92830df9bba7c87438344479c60d44fdb Author: Alexey Dobriyan Date: Thu Jan 22 11:00:41 2009 +0300 fs/Kconfig: move omfs out Signed-off-by: Alexey Dobriyan commit 8b1cd7d3c5daaed6c4dec3697c1fc113eb817df0 Author: Alexey Dobriyan Date: Thu Jan 22 10:59:49 2009 +0300 fs/Kconfig: move minix out Signed-off-by: Alexey Dobriyan commit 22135169ddc536b1f7d7f070c7980fe4bcdaa20b Author: Alexey Dobriyan Date: Thu Jan 22 10:58:51 2009 +0300 fs/Kconfig: move vxfs out Signed-off-by: Alexey Dobriyan commit 22635ec9e0cb5afbc1eaa25495ae28da8416aac3 Author: Alexey Dobriyan Date: Thu Jan 22 10:57:46 2009 +0300 fs/Kconfig: move squashfs out Signed-off-by: Alexey Dobriyan commit 2a22783be0fbbd63599dd6aacf8bc2ddab941bf7 Author: Alexey Dobriyan Date: Thu Jan 22 10:56:54 2009 +0300 fs/Kconfig: move cramfs out Signed-off-by: Alexey Dobriyan commit 571f0a0bdeeb2d1692751b6c5df15dafb483c7ff Author: Alexey Dobriyan Date: Thu Jan 22 10:56:07 2009 +0300 fs/Kconfig: move efs out Signed-off-by: Alexey Dobriyan commit 0ff423849de3fe98c06d30a8ac73103c8741914c Author: Alexey Dobriyan Date: Thu Jan 22 10:55:13 2009 +0300 fs/Kconfig: move bfs out Signed-off-by: Alexey Dobriyan commit 0b09eb32985d5fbec567e83b18db3dec14d1fef9 Author: Alexey Dobriyan Date: Thu Jan 22 10:54:16 2009 +0300 fs/Kconfig: move befs out Signed-off-by: Alexey Dobriyan commit b08bac1f185b2281c3decb4f8e15e8f41f96e974 Author: Alexey Dobriyan Date: Thu Jan 22 10:53:24 2009 +0300 fs/Kconfig: move hfs, hfsplus out Signed-off-by: Alexey Dobriyan commit 295c896cb95de18004ef5e1b53f44c2ad001f936 Author: Alexey Dobriyan Date: Thu Jan 22 10:50:50 2009 +0300 fs/Kconfig: move ecryptfs out Signed-off-by: Alexey Dobriyan commit 10951bf05d952bf6d13094f66a0dccd11dec311e Author: Alexey Dobriyan Date: Thu Jan 22 10:49:44 2009 +0300 fs/Kconfig: move affs out Signed-off-by: Alexey Dobriyan commit bc2de2ae67177bc60bb9ab41c97ea4f827d52821 Author: Alexey Dobriyan Date: Thu Jan 22 10:48:46 2009 +0300 fs/Kconfig: move adfs out Signed-off-by: Alexey Dobriyan commit 4591dabe27ec0f7928fb73d93694698e21dc769e Author: Alexey Dobriyan Date: Thu Jan 22 10:42:52 2009 +0300 fs/Kconfig: move configfs out Signed-off-by: Alexey Dobriyan commit 5f3a211a8b02222498f134ea961fe29c97a4801f Author: Alexey Dobriyan Date: Thu Jan 22 10:40:58 2009 +0300 fs/Kconfig: move sysfs out Signed-off-by: Alexey Dobriyan commit 9d73ac9e8faffa3b930fcebbf4ebcd25f8061ada Author: Alexey Dobriyan Date: Thu Jan 22 10:39:20 2009 +0300 fs/Kconfig: move ntfs out Signed-off-by: Alexey Dobriyan commit 1c6ace019bce5e918a3d6cd53948652e14850644 Author: Alexey Dobriyan Date: Thu Jan 22 10:37:59 2009 +0300 fs/Kconfig: move fat out Signed-off-by: Alexey Dobriyan commit ddfaccd995b2d1bb1df4461ee9403ba9fdcbee04 Author: Alexey Dobriyan Date: Thu Jan 22 10:35:21 2009 +0300 fs/Kconfig: move iso9660, udf out Signed-off-by: Alexey Dobriyan commit 3ef7784e47975e31148c25b6fa795949fdc16d9c Author: Alexey Dobriyan Date: Thu Jan 22 10:33:25 2009 +0300 fs/Kconfig: move fuse out Signed-off-by: Alexey Dobriyan commit 90ffd467933eaf581e11fec51e7ba16fc9bd542d Author: Alexey Dobriyan Date: Thu Jan 22 10:31:56 2009 +0300 fs/Kconfig: move autofs, autofs4 out Signed-off-by: Alexey Dobriyan commit 335debee07f2d4187a6073d7764ed56bb2ae52f4 Author: Alexey Dobriyan Date: Thu Jan 22 10:27:30 2009 +0300 fs/Kconfig: move btrfs out Signed-off-by: Alexey Dobriyan commit 2fe4371dff3f1a5a1f7d91f1b090076954f4d17e Author: Alexey Dobriyan Date: Thu Jan 22 10:26:11 2009 +0300 fs/Kconfig: move ocfs2 out Signed-off-by: Alexey Dobriyan commit f5c77969b33cc5cbb4534289bf23cb1794f9d37c Author: Alexey Dobriyan Date: Thu Jan 22 10:24:27 2009 +0300 fs/Kconfig: move jfs out Signed-off-by: Alexey Dobriyan commit b16ecfe2f985f77901a36ee5a99c7d3400313341 Author: Alexey Dobriyan Date: Thu Jan 22 10:22:31 2009 +0300 fs/Kconfig: move reiserfs out Signed-off-by: Alexey Dobriyan commit 91a8d07d82cac3aae3ef2ea1aaba5c9c4a934e91 Author: Steven Rostedt Date: Wed Jan 21 18:45:57 2009 -0500 ring-buffer: reset timestamps when ring buffer is reset Impact: fix bad times of recent resets The ring buffer needs to reset its timestamps when reseting of the buffer, otherwise the timestamps are stale and might be used to calculate times in the buffer causing funny timestamps to appear. Signed-off-by: Steven Rostedt Signed-off-by: Ingo Molnar commit 6552ebae25ffd57574c6e72d17fce67fea08b918 Merge: 749a440 336f6c3 Author: Thomas Gleixner Date: Thu Jan 22 10:03:02 2009 +0100 Merge branch 'core/debugobjects' into core/urgent commit 336f6c322d87806ef93afad6308ac65083a865e5 Author: Thomas Gleixner Date: Thu Jan 22 09:50:44 2009 +0100 debugobjects: add and use INIT_WORK_ON_STACK Impact: Fix debugobjects warning debugobject enabled kernels spit out a warning in hpet code due to a workqueue which is initialized on stack. Add INIT_WORK_ON_STACK() which calls init_timer_on_stack() and use it in hpet. Signed-off-by: Thomas Gleixner commit 749a440b2218e9937dca8c68e23e51ca4d8d37fe Author: Lai Jiangshan Date: Thu Jan 22 09:46:38 2009 +0800 rcu: remove duplicate CONFIG_RCU_CPU_STALL_DETECTOR Impact: remove the old CONFIG_RCU_CPU_STALL_DETECTOR tree_rcu introduce CONFIG_RCU_CPU_STALL_DETECTOR again. These two are the same exactly except: the old one "depends on CLASSIC_RCU" the new one "depends on CLASSIC_RCU || TREE_RCU" This patch remove the old one. Signed-off-by: Lai Jiangshan Signed-off-by: Ingo Molnar commit 066941bd4eeb159307a5d7d795100d0887c00442 Author: H. Peter Anvin Date: Wed Jan 21 15:04:32 2009 -0800 x86: unmask CPUID levels on Intel CPUs Impact: Fixes crashes with misconfigured BIOSes on XSAVE hardware Avuton Olrich reported early boot crashes with v2.6.28 and bisected it down to dc1e35c6e95e8923cf1d3510438b63c600fee1e2 ("x86, xsave: enable xsave/xrstor on cpus with xsave support"). If the CPUID limit bit in MSR_IA32_MISC_ENABLE is set, clear it to make all CPUID information available. This is required for some features to work, in particular XSAVE. Reported-and-bisected-by: Avuton Olrich Tested-by: Avuton Olrich Signed-off-by: H. Peter Anvin commit 260883c85611d3a7e27130af9aef15252856e14f Author: Dave Airlie Date: Thu Jan 22 17:58:49 2009 +1000 i915: fix freeing path for gem phys objects. This off-by-one was pointed out by Jesse Barnes. Signed-off-by: Dave Airlie commit ad2563c2e42fc67b0976aeb70e9f3faf1c1196e8 Author: Jesse Barnes Date: Mon Jan 19 17:21:45 2009 +1000 drm: create mode_config idr lock Create a separate mode_config IDR lock for simplicity. The core DRM config structures (connector, mode, etc. lists) are still protected by the mode_config mutex, but the CRTC IDR (used for the various identifier IDs) is now protected by the mode_config idr_mutex. Simplifies the locking a bit and removes a warning. All objects are protected by the config mutex, we may in the future, split the object further to have reference counts. Signed-off-by: Jesse Barnes Signed-off-by: Dave Airlie commit 74e2d06521913443c7e2697037909f5efc200ec5 Author: Dave Chinner Date: Wed Jan 21 15:22:17 2009 +1100 Long btree pointers are still 64 bit on disk [XFS] Long btree pointers are still 64 bit on disk On 32 bit machines with CONFIG_LBD=n, XFS reduces the in memory size of xfs_fsblock_t to 32 bits so that it will fit within 32 bit addressing. However, the disk format for long btree pointers are still 64 bits in size. The recent btree rewrite failed to take this into account when initialising new btree blocks, setting sibling pointers to NULL and checking if they are NULL. Hence checking whether a 64 bit NULL was the same as a 32 bit NULL was failingi resulting in NULL sibling pointers failing to be detected correctly. This showed up as WANT_CORRUPTED_GOTO shutdowns in xfs_btree_delrec. Fix this by making all the comparisons and setting of long pointer btree NULL blocks to the disk format, not the in memory format. i.e. use NULLDFSBNO. Reported-by: Alexander Beregalov Reported-by: Jacek Luczak Reported-by: Danny ter Haar Tested-by: Jacek Luczak Reviewed-by: Christoph Hellwig Signed-off-by: Dave Chinner Signed-off-by: Felix Blyakher commit bdf21a49bab28f0d9613e8d8724ef9c9168b61b9 Author: H. Peter Anvin Date: Wed Jan 21 15:01:56 2009 -0800 x86: add MSR_IA32_MISC_ENABLE bits to Impact: None (new bit definitions currently unused) Add bit definitions for the MSR_IA32_MISC_ENABLE MSRs to . Signed-off-by: H. Peter Anvin commit 20d5a39929232a715f29e6cb7e3f0d0c790f41eb Author: Jeff Layton Date: Wed Jan 21 11:34:50 2009 -0500 dlm: initialize file_lock struct in GETLK before copying conflicting lock dlm_posix_get fills out the relevant fields in the file_lock before returning when there is a lock conflict, but doesn't clean out any of the other fields in the file_lock. When nfsd does a NFSv4 lockt call, it sets the fl_lmops to nfsd_posix_mng_ops before calling the lower fs. When the lock comes back after testing a lock on GFS2, it still has that field set. This confuses nfsd into thinking that the file_lock is a nfsd4 lock. Fix this by making DLM reinitialize the file_lock before copying the fields from the conflicting lock. Signed-off-by: Jeff Layton Signed-off-by: David Teigland commit 24179f488092267c9a033d7e25ce7a58af50ff79 Author: David Teigland Date: Mon Jan 19 13:13:33 2009 -0600 dlm: fix plock notify callback to lockd We should use the original copy of the file_lock, fl, instead of the copy, flc in the lockd notify callback. The range in flc has been modified by posix_lock_file(), so it will not match a copy of the lock in lockd. Signed-off-by: David Teigland commit 6d317482944250228255bcbe97a95b7e7ad9a538 Author: Christian Eggers Date: Wed Jan 21 12:56:24 2009 -0800 usb/mcs7830: Don't use buffers from stack for USB transfers mcs7830_set_reg() and mcs7830_get_reg() are called with buffers from stack which must not be used directly for USB transfers. This causes corruption of the stack particulary on non x86 architectures because DMA may be used for these transfers. Signed-off-by: Christian Eggers Acked-by: Arnd Bergmann Signed-off-by: David S. Miller commit 0b491eee46012772cbf029450d123e933c2e7940 Author: Steve Glendinning Date: Wed Jan 21 12:35:43 2009 -0800 usbnet: allow type check of devdbg arguments in non-debug build Improve usbnet's devdbg to always type-check diagnostic arguments, like dev_dbg (device.h). This makes no change to the resulting size of usbnet modules. This patch also removes an #ifdef DEBUG directive from rndis_wlan so it's devdbg statements are always type-checked at compile time. Signed-off-by: Steve Glendinning Signed-off-by: David Brownell Signed-off-by: David S. Miller commit 748085fcbedbf7b0f38d95e178265d7b13360b44 Author: Patrick McHardy Date: Wed Jan 21 12:19:49 2009 -0800 netfilter: ctnetlink: fix scheduling while atomic Caused by call to request_module() while holding nf_conntrack_lock. Reported-and-tested-by: Kövesdi György Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller commit 1506fcc8189cdd4b95e06df7845a09f18b4526a6 Author: Yehuda Sadeh Date: Wed Jan 21 14:39:14 2009 -0500 Btrfs: fiemap support Now that bmap support is gone, this is the only way to get extent mappings for userland. These are still not valid for IO, but they can tell us if a file has holes or how much fragmentation there is. Signed-off-by: Yehuda Sadeh commit 35054394c4b3cecd52577c2662c84da1f3e73525 Author: Chris Mason Date: Wed Jan 21 13:11:13 2009 -0500 Btrfs: stop providing a bmap operation to avoid swapfile corruptions Swapfiles use bmap to build a list of extents belonging to the file, and they assume these extents won't change over the life of the file. They also use resulting list to do IO directly to the block device. This causes problems for btrfs in a few ways: btrfs returns logical block numbers through bmap, and these are not suitable for IO. They might translate to different devices, raid etc. COW means that file block mappings are going to change frequently. Using swapfiles on btrfs will lead to corruption, so we're avoiding the problem for now by dropping bmap support entirely. A later commit will add fiemap support for people that really want to know how a file is laid out. Signed-off-by: Chris Mason commit 7237f1833601dcc435a64176c2c347ec4bd959f9 Author: Yan Zheng Date: Wed Jan 21 12:54:03 2009 -0500 Btrfs: fix tree logs parallel sync To improve performance, btrfs_sync_log merges tree log sync requests. But it wrongly merges sync requests for different tree logs. If multiple tree logs are synced at the same time, only one of them actually gets synced. This patch has following changes to fix the bug: Move most tree log related fields in btrfs_fs_info to btrfs_root. This allows merging sync requests separately for each tree log. Don't insert root item into the log root tree immediately after log tree is allocated. Root item for log tree is inserted when log tree get synced for the first time. This allows syncing the log root tree without first syncing all log trees. At tree-log sync, btrfs_sync_log first sync the log tree; then updates corresponding root item in the log root tree; sync the log root tree; then update the super block. Signed-off-by: Yan Zheng commit 9597134218300c045cf219be3664615e97cb239c Author: Suresh Siddha Date: Tue Jan 13 10:21:30 2009 -0800 x86: fix PTE corruption issue while mapping RAM using /dev/mem Beschorner Daniel reported: > hwinfo problem since 2.6.28, showing this in the oops: > Corrupted page table at address 7fd04de3ec00 Also, PaX Team reported a regression with this commit: > commit 9542ada803198e6eba29d3289abb39ea82047b92 > Author: Suresh Siddha > Date: Wed Sep 24 08:53:33 2008 -0700 > > x86: track memtype for RAM in page struct This commit breaks mapping any RAM page through /dev/mem, as the reserve_memtype() was not initializing the return attribute type and as such corrupting the PTE entry that was setup with the return attribute type. Because of this bug, application mapping this RAM page through /dev/mem will die with "Corrupted page table at address xxxx" message in the kernel log and also the kernel identity mapping which maps the underlying RAM page gets converted to UC. Fix this by initializing the return attribute type before calling reserve_ram_pages_type() Reported-by: PaX Team Reported-and-tested-by: Beschorner Daniel Tested-and-Acked-by: PaX Team Signed-off-by: Suresh Siddha Signed-off-by: Venkatesh Pallipadi Signed-off-by: Ingo Molnar commit 86528da229a448577a8401a17c295883640d336c Author: Guennadi Liakhovetski Date: Wed Jan 21 10:32:34 2009 -0700 i.MX31: framebuffer driver This is a framebuffer driver for i.MX31 SoCs. It only supports synchronous displays, vertical panning supported, no overlay support. Acked-by: Sascha Hauer Signed-off-by: Guennadi Liakhovetski Signed-off-by: Dan Williams commit 7e6628544abad773222d8b177f738ac2db1859de Author: Qinghuang Feng Date: Wed Jan 21 10:49:16 2009 -0500 Btrfs: open_ctree() error handling can oops on fs_info a bug in open_ctree: struct btrfs_root *open_ctree(..) { .... if (!extent_root || !tree_root || !fs_info || !chunk_root || !dev_root || !csum_root) { err = -ENOMEM; goto fail; //When code flow goes to "fail", fs_info may be NULL or uninitialized. } .... fail: btrfs_close_devices(fs_info->fs_devices);// ! btrfs_mapping_tree_free(&fs_info->mapping_tree);// ! kfree(extent_root); kfree(tree_root); bdi_destroy(&fs_info->bdi);// ! ... ) Signed-off-by: Qinghuang Feng Signed-off-by: Chris Mason commit 86288a198d8e4e8411ff02f9ab848245e8f11257 Author: Yan Zheng Date: Wed Jan 21 10:49:16 2009 -0500 Btrfs: fix stop searching test in replace_one_extent replace_one_extent searches tree leaves for references to a given extent. It stops searching if it goes beyond the last possible position. The last possible position is computed by adding the starting offset of a found file extent to the full size of the extent. The code uses physical size of the extent as the full size. This is incorrect when compression is used. The fix is get the full size from ram_bytes field of file extent item. Signed-off-by: Yan Zheng commit 95029d7d598babf62276d9006e575992b1333ba5 Author: Jan Engelhardt Date: Wed Jan 21 10:49:16 2009 -0500 Btrfs: change/remove typedef Change one typedef to a regular enum, and remove an unused one. Signed-off-by: Jan Engelhardt Signed-off-by: Chris Mason commit 653249ff9aea51e1ace6bd437389f06e2b84393f Author: Huang Weiyi Date: Wed Jan 21 10:49:16 2009 -0500 Btrfs: remove duplicated #include Removed duplicated #include "compat.h"in fs/btrfs/extent-tree.c Signed-off-by: Huang Weiyi Signed-off-by: Chris Mason commit 5a7be515b1f4569aac601170fc681741434cca92 Author: Yan Zheng Date: Wed Jan 21 10:49:16 2009 -0500 Btrfs: Fix infinite loop in btrfs_extent_post_op btrfs_extent_post_op calls finish_current_insert and del_pending_extents. They both may enter infinite loops. finish_current_insert enters infinite loop if it only finds some backrefs to update. The fix is to check for pending backref updates before restarting the loop. The infinite loop in del_pending_extents is due to a the skipped variable not being properly reset before looping around. Signed-off-by: Yan Zheng commit 3dfdb9348ada18c74c39b9ae7b115e0594792281 Author: Yan Zheng Date: Wed Jan 21 10:49:16 2009 -0500 Btrfs: fix locking issue in btrfs_remove_block_group We should hold the block_group_cache_lock while modifying the block groups red-black tree. Thank you, Signed-off-by: Yan Zheng commit c6e308713a47527f88a277ee95b7c5d1db80f77b Author: Qinghuang Feng Date: Wed Jan 21 10:59:08 2009 -0500 Btrfs: simplify iteration codes Merge list_for_each* and list_entry to list_for_each_entry* Signed-off-by: Qinghuang Feng Signed-off-by: Chris Mason commit 57506d50ed6db7b0e7ddc9845e86e81f140983d5 Author: Qinghuang Feng Date: Wed Jan 21 10:49:16 2009 -0500 Btrfs: check return value for kthread_run() correctly kthread_run() returns the kthread or ERR_PTR(-ENOMEM), not NULL. Signed-off-by: Qinghuang Feng Signed-off-by: Chris Mason commit 119e10cf1b2f6a6cafff74f32373d631489f54c2 Author: Roland Dreier Date: Wed Jan 21 10:49:16 2009 -0500 Btrfs: Remove extra KERN_INFO in the middle of a line The "devid transid " printk in btrfs_scan_one_device() actually follows another printk that doesn't end in a newline (since the intention is for the two printks to make one line of output), so the KERN_INFO just ends up messing up the output: device label exp <6>devid 1 transid 9 /dev/sda5 Fix this by changing the extra KERN_INFO to KERN_CONT. Signed-off-by: Roland Dreier Signed-off-by: Chris Mason commit 7eaebe7d503c3ef240ac7b3efc5433fe647c0298 Author: Huang Weiyi Date: Wed Jan 21 10:49:16 2009 -0500 Btrfs: removed unused #include 's Removed unused #include 's in btrfs Signed-off-by: Huang Weiyi Signed-off-by: Chris Mason commit 070604040b86511cc2df0f25f98e26c5529bd928 Author: Josef Bacik Date: Wed Jan 21 10:49:16 2009 -0500 Btrfs: cleanup xattr code Andrew's review of the xattr code revealed some minor issues that this patch addresses. Just an error return fix, got rid of a useless statement and commented one of the trickier parts of __btrfs_getxattr. Signed-off-by: Josef Bacik Signed-off-by: Chris Mason commit eb1eb04fdfbd9e1c9c40d072ab1b82fe593eeb0f Author: Joe Perches Date: Wed Jan 21 10:49:16 2009 -0500 Btrfs: MAINTAINERS entry Signed-off-by: Chris Mason commit 19d00cc196a3a66fd074f62b39d219f743b92338 Author: Wang Cong Date: Wed Jan 21 10:49:16 2009 -0500 Btrfs: cleanup fs/btrfs/super.c::btrfs_control_ioctl() - Remove the unused local variable 'len'; - Check return value of kmalloc(). Signed-off-by: Wang Cong Signed-off-by: Chris Mason commit c475146d8f3b97e79f9ef88521e28ad40ac07de6 Author: Jan Kara Date: Mon Jan 12 17:44:34 2009 +0100 ocfs2: Remove ocfs2_dquot_initialize() and ocfs2_dquot_drop() Since ->acquire_dquot and ->release_dquot callbacks aren't called under dqptr_sem anymore, we don't have to start a transaction and obtain locks so early. So we can just remove all this complicated stuff. Signed-off-by: Jan Kara Acked-by: Mark Fasheh commit 1092307d582a7566d23779c304cf86f3075ac5f0 Author: Steven Rostedt Date: Thu Jan 15 23:40:11 2009 -0500 trace: set max latency variable to zero on default Impact: trace max latencies on start of latency tracing This patch sets the max latency to zero whenever one of the irq variant tracers or the wakeup tracer is set to current tracer. Most developers expect to see output when starting up a latency tracer. But since the max_latency is already set to max, and it takes a latency greater than max_latency to be recorded, there is no trace. This is not the expected behavior and has even confused myself. Signed-off-by: Steven Rostedt Signed-off-by: Ingo Molnar commit a442e5e0a2011af5b2d1f118fee0a8f9079f1d88 Author: Steven Rostedt Date: Wed Jan 14 14:50:19 2009 -0500 trace: stop all recording to ring buffer on ftrace_dump Impact: limit ftrace dump output Currently ftrace_dump only calls ftrace_kill that is a fast way to prevent the function tracer functions from being called (just sets a flag and clears the function to call, nothing else). It is better to also turn off any recording to the ring buffers as well. Signed-off-by: Steven Rostedt Signed-off-by: Ingo Molnar commit faf6861ebd776871e77b761c43ec045cd20b5716 Author: Steven Rostedt Date: Wed Jan 14 12:24:42 2009 -0500 trace: print ftrace_dump at KERN_EMERG log level Impact: fix to print out ftrace_dump when expected I was debugging a hard race condition to only find out that after I hit the race, my log level was not at level to show KERN_INFO. The time it took to trigger the race was wasted because I did not capture the trace. Since ftrace_dump is only called from kernel oops (and only when it is set in the kernel command line to do so), or when a developer adds it to their own local tree, the log level of the print should be at KERN_EMERG to make sure the print appears. ftrace_dump is not called by a normal user setup, and will not add extra unwanted print out to the console. There is no reason it should be at KERN_INFO. Signed-off-by: Steven Rostedt Signed-off-by: Ingo Molnar commit 551b4048b3d4acf15aff9fe4aed89b892c135b02 Author: Lai Jiangshan Date: Mon Jan 12 11:06:18 2009 +0800 ring_buffer: reset write when reserve buffer fail Impact: reset struct buffer_page.write when interrupt storm if struct buffer_page.write is not reset, any succedent committing will corrupted ring_buffer: static inline void rb_set_commit_to_write(struct ring_buffer_per_cpu *cpu_buffer) { ...... cpu_buffer->commit_page->commit = cpu_buffer->commit_page->write; ...... } when "if (RB_WARN_ON(cpu_buffer, next_page == reader_page))", ring_buffer is disabled, but some reserved buffers may haven't been committed. we need reset struct buffer_page.write. when "if (unlikely(next_page == cpu_buffer->commit_page))", ring_buffer is still available, we should not corrupt it. Signed-off-by: Lai Jiangshan Signed-off-by: Steven Rostedt Signed-off-by: Ingo Molnar commit 00f57f545afa422db3003b0d0b30a30f8de7ecb2 Author: Frederic Weisbecker Date: Wed Jan 14 13:33:27 2009 -0800 tracing/function-graph-tracer: fix a regression while suspend to disk Impact: fix a crash while kernel image restore When the function graph tracer is running and while suspend to disk, some racy and dangerous things happen against this tracer. The current task will save its registers including the stack pointer which contains the return address hooked by the tracer. But the current task will continue to enter other functions after that to save the memory, and then it will store other return addresses, and finally loose the old depth which matches the return address saved in the old stack (during the registers saving). So on image restore, the code will return to wrong addresses. And there are other things: on restore, the task will have it's "current" pointer overwritten during registers restoring....switching from one task to another... That would be insane to try to trace function graphs at these stages. This patch makes the function graph tracer listening on power events, making it's tracing disabled for the current task (the one that performs the hibernation work) while suspend/resume to disk, making the tracing safe during hibernation. Signed-off-by: Frederic Weisbecker Signed-off-by: Steven Rostedt Signed-off-by: Ingo Molnar commit 731f1872f4e8a0f1eabd49c3548207e79a421202 Author: Thomas Renninger Date: Tue Jan 20 10:37:39 2009 +0100 x86: mtrr fix debug boot parameter while looking at: http://bugzilla.kernel.org/show_bug.cgi?id=11541 I realized that the mtrr.show param cannot work, because the code is processed much too early. This patch: - Declares mtrr.show as early_param - Stays consistent with the previous param (which I doubt that it ever worked), so mtrr.show=1 would still work - Declares mtrr_show as initdata Signed-off-by: Thomas Renninger Acked-by: Jan Beulich Signed-off-by: Ingo Molnar commit a1e46212a410793d575718818e81ddc442a65283 Author: Suresh Siddha Date: Tue Jan 20 14:20:21 2009 -0800 x86: fix page attribute corruption with cpa() Impact: fix sporadic slowdowns and warning messages This patch fixes a performance issue reported by Linus on his Nehalem system. While Linus reverted the PAT patch (commit 58dab916dfb57328d50deb0aa9b3fc92efa248ff) which exposed the issue, existing cpa() code can potentially still cause wrong(page attribute corruption) behavior. This patch also fixes the "WARNING: at arch/x86/mm/pageattr.c:560" that various people reported. In 64bit kernel, kernel identity mapping might have holes depending on the available memory and how e820 reports the address range covering the RAM, ACPI, PCI reserved regions. If there is a 2MB/1GB hole in the address range that is not listed by e820 entries, kernel identity mapping will have a corresponding hole in its 1-1 identity mapping. If cpa() happens on the kernel identity mapping which falls into these holes, existing code fails like this: __change_page_attr_set_clr() __change_page_attr() returns 0 because of if (!kpte). But doesn't set cpa->numpages and cpa->pfn. cpa_process_alias() uses uninitialized cpa->pfn (random value) which can potentially lead to changing the page attribute of kernel text/data, kernel identity mapping of RAM pages etc. oops! This bug was easily exposed by another PAT patch which was doing cpa() more often on kernel identity mapping holes (physical range between max_low_pfn_mapped and 4GB), where in here it was setting the cache disable attribute(PCD) for kernel identity mappings aswell. Fix cpa() to handle the kernel identity mapping holes. Retain the WARN() for cpa() calls to other not present address ranges (kernel-text/data, ioremap() addresses) Signed-off-by: Suresh Siddha Signed-off-by: Venkatesh Pallipadi Cc: Signed-off-by: Ingo Molnar commit 0609697eab9775564845d4c94f9e3780fb791ffd Author: Paul Mundt Date: Wed Jan 21 18:51:53 2009 +0900 dma-coherent: Restore dma_alloc_from_coherent() large alloc fall back policy. When doing large allocations (larger than the per-device coherent area) the generic memory allocators are silently fallen back on regardless of consideration for the per-device constraints. In the DMA_MEMORY_EXCLUSIVE case falling back on generic memory is not an option, as it tends not to be addressable by the DMA hardware in question. This issue showed up with the 8139too breakage on the Dreamcast, where non-addressable buffers were silently allocated due to the size mismatch calculation -- while it should have simply errored out upon being unable to satisfy the allocation with the given device constraints. This restores fall back behaviour to what it was before the oversized request change caused multiple regressions. Signed-off-by: Paul Mundt commit cdf57cab27aef72f13a19c86858c6cac9951dc24 Author: Adrian McMenamin Date: Wed Jan 21 18:47:38 2009 +0900 dma-coherent: per-device coherent area is in pages, not bytes. Commit 58c6d3dfe436eb8cfb451981d8fdc9044eaf42da ("dma-coherent: catch oversized requests to dma_alloc_from_coherent()") attempted to add a sanity check to bail out on allocations larger than the coherent area. Unfortunately when this was implemented, the fact the coherent area is tracked in pages rather than bytes was overlooked, which subsequently broke every single dma_alloc_from_coherent() user, forcing the allocation silently through generic memory instead. Signed-off-by: Adrian McMenamin Signed-off-by: Paul Mundt commit 2afb447f33c29cb000a494396559f8005d3e33c1 Author: SUGIOKA Toshinobu Date: Wed Jan 21 09:42:10 2009 +0900 sh: fix unaligned and nonexistent address handling unaligned and nonexistent address causes wrong exception handling in traps_32.c(handle_unaligned_access). 'handle_unalinged_ins' should return -EFAULT if address error is fixed up with kernel exception table, otherwise 'handle_unaligned_access' increases already fixed program counter and then crash. for example ioctl(fd, TCGETA, (struct termio *)-1) never return and stay in TASK_UNINTERRUPTIBLE state forever in my kernel. Signed-off-by: SUGIOKA Toshinobu Signed-off-by: Paul Mundt commit eb6434d9e79a72d35d68811efd68fe8bab8f5baf Author: Paul Mundt Date: Wed Jan 21 17:45:47 2009 +0900 nommu: Stub in vm_map_ram()/vm_unmap_ram()/vm_unmap_aliases(). Presently we do not support these interfaces, so make them BUG() wrappers as per the rest of the vmap interface on nommu. Fixes up the modular xfs build. Signed-off-by: Paul Mundt commit f686359e0da5ae71459ee045646a5f508f9ff6d8 Author: Magnus Damm Date: Tue Jan 20 12:18:22 2009 +0900 sh: fix sh-sci / early printk build on sh7723 This patch adds the SCSPTR register to the sh-sci driver in the case of sh7723 to make sure early printk builds properly. Signed-off-by: Magnus Damm Signed-off-by: Paul Mundt commit 3442c0d627985778ef275985831f8fdb5d626c25 Author: Magnus Damm Date: Thu Dec 25 18:55:26 2008 +0900 sh: export the sh7343 JPU to user space This patch exports the sh7343 JPU to user space using uio_pdrv_genirq, very similar to the sh7722 JPU patch by Hayama-san. While at it fix up the end of the sh7722 JPU iomem resource. Signed-off-by: Magnus Damm Signed-off-by: Paul Mundt commit 5e8766f1c1f747522350eba385c584a862f47e4c Author: Paul Mundt Date: Tue Jan 13 12:38:06 2009 +0900 sh: update defconfigs. Signed-off-by: Paul Mundt commit fd88cac90587a456eb944bf794634229553c11b9 Author: Paul Mundt Date: Fri Jan 9 16:32:08 2009 +0900 serial: sh-sci: Fix up SH7720/SH7721 SCI build. Missing definitions for PORT_xxx defs. Signed-off-by: Paul Mundt commit e16038aba3daee694b318fc7a7b4db74a485cde5 Author: Paul Mundt Date: Fri Jan 9 15:12:30 2009 +0900 sh: Kill off obsolete busses from arch/sh/Kconfig. ISA can go away now that the hd6446x PCMCIA drivers no longer exist in-tree. The rationale for enabling CONFIG_ISA in the first place is likewise no longer valid given that the subsystem has changed since the time that assertion was valid. While we are at it, kill off SBUS, MCA, EISA, and so on. These are not supported and never will be. Signed-off-by: Paul Mundt commit 604437f0f8ce1d66d4bdaa0d932949688d847d96 Author: Paul Mundt Date: Fri Jan 9 15:11:58 2009 +0900 sh: sh7785lcr/highlander/hp6xx need linux/irq.h. More build fixes.. Signed-off-by: Paul Mundt commit 70e5c4f0843c3021a2e95b46edd8925a885d2e31 Author: Magnus Damm Date: Wed Jan 7 20:36:10 2009 +0900 sh: Migo-R MMC support using spi_gpio and mmc_spi. This patch adds CN9 MMC support for MigoR using the mmc_spi driver on top of the bitbanging spi_gpio driver. Signed-off-by: Magnus Damm Signed-off-by: Paul Mundt commit 552b8aa4d1edcc1c764ff6f61a7686347a2d1827 Author: Ingo Molnar Date: Tue Jan 20 09:31:49 2009 +0100 Revert "x86: signal: change type of paramter for sys_rt_sigreturn()" This reverts commit 4217458dafaa57d8e26a46f5d05ab8c53cf64191. Justin Madru bisected this commit, it was causing weird Firefox crashes. The reason is that GCC mis-optimizes (re-uses) the on-stack parameters of the calling frame, which corrupts the syscall return pt_regs state and thus corrupts user-space register state. So we go back to the slightly less clean but more optimization-safe method of getting to pt_regs. Also add a comment to explain this. Resolves: http://bugzilla.kernel.org/show_bug.cgi?id=12505 Reported-and-bisected-by: Justin Madru Tested-by: Justin Madru Signed-off-by: Ingo Molnar commit e0a96129db574d6365e3439d16d88517c437ab33 Author: Andi Kleen Date: Fri Jan 16 15:22:11 2009 +0100 x86: use early clobbers in usercopy*.c Impact: fix rare (but currently harmless) miscompile with certain configs and gcc versions Hugh Dickins noticed that strncpy_from_user() was miscompiled in some circumstances with gcc 4.3. Thanks to Hugh's excellent analysis it was easy to track down. Hugh writes: > Try building an x86_64 defconfig 2.6.29-rc1 kernel tree, > except not quite defconfig, switch CONFIG_PREEMPT_NONE=y > and CONFIG_PREEMPT_VOLUNTARY off (because it expands a > might_fault() there, which hides the issue): using a > gcc 4.3.2 (I've checked both openSUSE 11.1 and Fedora 10). > > It generates the following: > > 0000000000000000 <__strncpy_from_user>: > 0: 48 89 d1 mov %rdx,%rcx > 3: 48 85 c9 test %rcx,%rcx > 6: 74 0e je 16 <__strncpy_from_user+0x16> > 8: ac lods %ds:(%rsi),%al > 9: aa stos %al,%es:(%rdi) > a: 84 c0 test %al,%al > c: 74 05 je 13 <__strncpy_from_user+0x13> > e: 48 ff c9 dec %rcx > 11: 75 f5 jne 8 <__strncpy_from_user+0x8> > 13: 48 29 c9 sub %rcx,%rcx > 16: 48 89 c8 mov %rcx,%rax > 19: c3 retq > > Observe that "sub %rcx,%rcx; mov %rcx,%rax", whereas gcc 4.2.1 > (and many other configs) say "sub %rcx,%rdx; mov %rdx,%rax". > Isn't it returning 0 when it ought to be returning strlen? The asm constraints for the strncpy_from_user() result were missing an early clobber, which tells gcc that the last output arguments are written before all input arguments are read. Also add more early clobbers in the rest of the file and fix 32-bit usercopy.c in the same way. Signed-off-by: Andi Kleen Signed-off-by: H. Peter Anvin [ since this API is rarely used and no in-kernel user relies on a 'len' return value (they only rely on negative return values) this miscompile was never noticed in the field. But it's worth fixing it nevertheless. ] Signed-off-by: Ingo Molnar commit fbdd9a70c21002c6ce50cd653380641a8b575eff Author: Magnus Damm Date: Wed Jan 7 20:35:21 2009 +0900 sh: ap325rxa MMC support using spi_gpio and mmc_spi This patch adds CN3 MMC support for ap325rxa using the mmc_spi driver on top of the bitbanging spi_gpio driver. Signed-off-by: Magnus Damm Signed-off-by: Paul Mundt commit 10f0fc17f54527520959298f947c9b9e80643f84 Author: Paul Mundt Date: Wed Jan 7 17:45:02 2009 +0900 sh: mach-x3proto: needs linux/irq.h. Since commit ba84be2338d3a2b6020d39279335bb06fcd332e1 ("remove linux/hardirq.h from asm-generic/local.h"), the asm/irq.h definitions that mach-x3proto/setup.c depends on are no longer available, causing the build to die. So, include linux/irq.h explicitly. Signed-off-by: Paul Mundt commit 5e6136135d4f50fda6699498185c6dffe08d7891 Author: Paul Mundt Date: Wed Jan 7 17:42:32 2009 +0900 sh: Drop the BKL from sys_execve() on SH-5. Brings it in line with the SH implementation, the BKL is not necessary here. Signed-off-by: Paul Mundt commit 8ed3592e567db7344b2c7353667e0d281cd13471 Author: Steve Glendinning Date: Wed Jan 7 17:22:24 2009 +0900 sh: convert rsk7203 to use smsc911x. Signed-off-by: Steve Glendinning Signed-off-by: Nobuhiro Iwamatsu Signed-off-by: Paul Mundt commit 02da916ae69889f72ca026d759fe521094ba7065 Author: Steve Glendinning Date: Wed Jan 7 17:21:29 2009 +0900 sh: convert magicpanelr2 platform to use smsc911x. Signed-off-by: Steve Glendinning Signed-off-by: Nobuhiro Iwamatsu Signed-off-by: Paul Mundt commit 90b764916abedbebe62ac41b2e4a3fc3e2b82f9b Author: Steve Glendinning Date: Wed Jan 7 17:20:07 2009 +0900 sh: convert ap325rxa platform to use smsc911x. Signed-off-by: Steve Glendinning Signed-off-by: Nobuhiro Iwamatsu Signed-off-by: Paul Mundt commit deae7b860a5aca341410b72cca789589c5c93ce4 Author: Kuninori Morimoto Date: Mon Jan 5 16:25:16 2009 +0900 sh: mach-migor: Add tw9910 support. Signed-off-by: Kuninori Morimoto Signed-off-by: Paul Mundt commit b9afb0bae5411faadc0afcfbaa8ef0035fc0e8f8 Author: Kuninori Morimoto Date: Tue Dec 2 16:42:24 2008 +0900 sh: mach-migor: Delete soc_camera_platform setup. Migo-R can use ov772x camera driver in Linux 2.6.29. Therefore, soc_camera_platform setting is no longer needed. This patch removes it. Signed-off-by: Kuninori Morimoto Signed-off-by: Paul Mundt commit ff04ea40ea3037b26d01bdeacbab1d6c15c5df61 Author: Kuninori Morimoto Date: Tue Dec 2 16:38:34 2008 +0900 sh: mach-migor: Add ov772x support. Signed-off-by: Kuninori Morimoto Signed-off-by: Paul Mundt commit c2bcc4a7ffa7438a8ded91fbd0313c50d420ff45 Author: Mike Frysinger Date: Fri Jan 2 02:52:57 2009 -0500 asm-sh/posix_types_{32,64}.h: drop __GLIBC__/__USE_ALL usage Bring sh in line with all the other ports. Not sure how sh missed this change as all the other arches were being updated ... Signed-off-by: Mike Frysinger Signed-off-by: Paul Mundt commit 7bfa122c19e47b1dee47476ce6e9ed6ba16f8269 Author: Julia Lawall Date: Fri Dec 26 08:27:24 2008 +0100 arch/sh/mm: Move a dereference below a NULL test If the NULL test is necessary, then the dereference should be moved below the NULL test. The semantic patch that makes this change is as follows: (http://www.emn.fr/x-info/coccinelle/). // @disable is_null@ identifier f; expression E; identifier fld; statement S; @@ + if (E == NULL) S f(...,E->fld,...); - if (E == NULL) S @@ identifier f; expression E; identifier fld; statement S; @@ + if (!E) S f(...,E->fld,...); - if (!E) S // Signed-off-by: Julia Lawall Signed-off-by: Paul Mundt commit c0e69a5bbc6fc74184aa043aadb9a53bc58f953b Author: Jesper Nilsson Date: Wed Jan 14 11:19:08 2009 +0100 klist.c: bit 0 in pointer can't be used as flag The commit a1ed5b0cffe4b16a93a6a3390e8cee0fbef94f86 (klist: don't iterate over deleted entries) introduces use of the low bit in a pointer to indicate if the knode is dead or not, assuming that this bit is always free. This is not true for all architectures, CRIS for example may align data on byte borders. The result is a bunch of warnings on bootup, devices not being added correctly etc, reported by Hinko Kocevar : ------------[ cut here ]------------ WARNING: at lib/klist.c:62 () Modules linked in: Stack from c1fe1cf0: c01cc7f4 c1fe1d11 c000eb4e c000e4de 00000000 00000000 c1f4f78f c1f50c2d c01d008c c1fdd1a0 c1fdd1a0 c1fe1d38 c0192954 c1fe0000 00000000 c1fe1dc0 00000002 7fffffff c1fe1da8 c0192d50 c1fe1dc0 00000002 7fffffff c1ff9fcc Call Trace: [] [] [] [] [] [] [] [] [] [] [] [] [] [] [] [] [] [] [] [] [] [] [] [] [] [] [] [] [] [] [] [] [] <4>---[ end trace 4eaa2a86a8e2da22 ]--- ------------[ cut here ]------------ Repeat ad nauseam. Wed, Jan 14, 2009 at 12:11:32AM +0100, Bastien ROUCARIES wrote: > Perhaps using a pointerhackalign trick on this structure where > #define pointerhackalign(x) __attribute__ ((aligned (x))) > and declare > struct klist_node { > ... > } pointerhackalign(2); > > Because __attribute__ ((aligned (x))) could only increase alignment > it will safe to do that and serve as documentation purpose :) That works, but we need to do it not for the struct klist_node, but for the struct we insert into the void * in klist_node, which is struct klist. Reported-by: Hinko Kocevar Signed-off-by: Jesper Nilsson Cc: stable Signed-off-by: Greg Kroah-Hartman commit 8adb711f3668b034e7b956fac951ed08b53e0d55 Author: Inaky Perez-Gonzalez Date: Tue Jan 20 12:17:28 2009 -0800 debugfs: introduce stub for debugfs_create_size_t() when DEBUG_FS=n Toralf Förster reported a build failure in the WiMAX stack when CONFIG_DEBUG_FS=n http://linuxwimax.org/pipermail/wimax/2009-January/000449.html This is due to debugfs_create_size_t() missing an stub that returns -ENODEV when the DEBUGFS subsystem is not configured in (like the rest of the debugfs API). This patch adds said stub. Reported-by: Toralf Förster Signed-off-by: Inaky Perez-Gonzalez Signed-off-by: Greg Kroah-Hartman commit 4503efd0891c40e30928afb4b23dc3f99c62a6b2 Author: Greg Kroah-Hartman Date: Tue Jan 20 15:51:16 2009 -0800 sysfs: fix problems with binary files Some sysfs binary files don't like having 0 passed to them as a size. Fix this up at the root by just returning to the vfs if userspace asks us for a zero sized buffer. Thanks to Pavel Roskin for pointing this out. Reported-by: Pavel Roskin Signed-off-by: Greg Kroah-Hartman commit 72638f598ec9f05a43fcb22dc1dd8dc34c43acc1 Author: Kay Sievers Date: Thu Jan 8 03:06:42 2009 +0100 PNP: fix broken pnp lowercasing for acpi module aliases Based on a patch from Brian, who identified the issue. Signed-off-by: Bryan Kadzban Signed-off-by: Kay Sievers Signed-off-by: Greg Kroah-Hartman commit 7143f7a1a3603002e4ef3719fa92e8dd6e607099 Author: Roland Dreier Date: Fri Jan 9 22:27:42 2009 -0800 driver core: Convert '/' to '!' in dev_set_name() Commit 3ada8b7e ("block: struct device - replace bus_id with dev_name(), dev_set_name()") deleted the code in register_disk() that changed a '/' to a '!' in the device name when registering a disk, but dev_set_name() does not perform this conversion. This leads to amusing problems with disks that have '/' in their names: for example a failure to boot with the root partition on a cciss device, even though the kernel says it knows about the root device: VFS: Cannot open root device "cciss/c0d0p6" or unknown-block(0,0) Please append a correct "root=" boot option; here are the available partitions: 6800 71652960 cciss/c0d0 driver: cciss 6802 1 cciss/c0d0p2 6805 2931831 cciss/c0d0p5 6806 34354908 cciss/c0d0p6 6810 71652960 cciss/c0d1 driver: cciss Fix this by adding code to change '/' to '!' in dev_set_name() to handle this until dev_set_name() is converted to use kobject_set_name(). Signed-off-by: Roland Dreier Acked-by: Kay Sievers Signed-off-by: Greg Kroah-Hartman commit 26a552264bc92d2ec4747b1babb7cb1264908018 Author: Eric Miao Date: Wed Jan 21 11:29:19 2009 +0800 [ARM] pxa: stop and disable IRQ for each DMA channels at startup Some broken bootloaders will leave the DMA channel state unclean, which we should really initialize correctly here. Signed-off-by: Eric Miao commit 65557f350749e11d51d15dee759d6e04f290e256 Author: Matthew Ranostay Date: Tue Jan 20 16:50:25 2009 -0500 ALSA: hda: 83xxx port 0xe DAC selection On the 92hd8xxx codecs port 0xe needs the connection selected to be the last DAC in the list. Signed-off-by: Matthew Ranostay Signed-off-by: Takashi Iwai commit 37fe4732b978eb02e5433387a40f2b61706cebe3 Author: Herbert Xu Date: Sat Jan 17 19:48:13 2009 +0000 gro: Fix merging of paged packets The previous fix to paged packets broke the merging because it reset the skb->len before we added it to the merged packet. This wasn't detected because it simply resulted in the truncation of the packet while the missing bit is subsequently retransmitted. The fix is to store skb->len before we clobber it. Signed-off-by: Herbert Xu Signed-off-by: David S. Miller commit 9a8e47ffd95608f0768e1a8a0225c822aa53aa9b Author: Herbert Xu Date: Sat Jan 17 19:47:18 2009 +0000 gro: Fix error handling on extremely short frags When a frag is shorter than an Ethernet header, we'd return a zeroed packet instead of aborting. This patch fixes that. Signed-off-by: Herbert Xu Signed-off-by: David S. Miller commit ebad18e93fbc6bc63ee734edbc0eb38ac6b919c0 Author: Herbert Xu Date: Sat Jan 17 19:46:16 2009 +0000 gro: Fix handling of complete checksums in IPv6 We need to perform skb_postpull_rcsum after pulling the IPv6 header in order to maintain the correctness of the complete checksum. This patch also adds a missing iph reload after pulling. Signed-off-by: Herbert Xu Signed-off-by: David S. Miller commit 0d1cfd20cc5f785d5345d249d4b6a6f84b29e6a6 Author: roel kluin Date: Sat Jan 17 11:14:31 2009 +0000 via-velocity: fix hot spin while(--j >= 0) keeps spinning when j is unsigned: Signed-off-by: Roel Kluin Signed-off-by: David S. Miller commit e3fd553468738e0342cbd82a63ede00c983a0eb4 Author: Brice Goglin Date: Sat Jan 17 08:27:19 2009 +0000 myri10ge: don't forget pci_disable_device() Don't forget to call pci_disable_device() in myri10ge_remove() and when myri10ge_probe() fails. By the way, update the copyright years. Signed-off-by: Brice Goglin Signed-off-by: David S. Miller commit 357f5b0b91054ae23385ea4b0634bb8b43736e83 Author: Jiri Slaby Date: Sat Jan 17 06:47:12 2009 +0000 NET: net_namespace, fix lock imbalance register_pernet_gen_subsys omits mutex_unlock in one fail path. Fix it. Signed-off-by: Jiri Slaby Signed-off-by: David S. Miller commit 518aa1b5443c8a36300c20a5473df01fb8975dad Merge: 66f9a25 6747430 Author: David S. Miller Date: Tue Jan 20 14:37:10 2009 -0800 Merge branch 'master' of git://git.kernel.org/pub/scm/linux/kernel/git/linville/wireless-2.6 commit 8a9dee59a345f96757dd45699de1c4182d8bf9a9 Author: Timur Tabi Date: Mon Jan 19 17:14:24 2009 -0600 ASoC: fix registration of the SoC card in the Freescale MPC8610 drivers The Freescale MPC8610 driver was defining two SOC card (snd_soc_card) structures, partially initializing each one, but registering only one of them with ASoC. Signed-off-by: Timur Tabi Signed-off-by: Mark Brown commit 2b25c9f01aa58d48129b2f93748dfb5d1f7ab0a2 Author: Corentin Chary Date: Tue Jan 20 16:17:49 2009 +0100 eeepc-laptop: use netlink interface To be prepared for /proc/acpi/event removal we export events also through generic netlink interface. Signed-off-by: Corentin Chary Signed-off-by: Len Brown commit 5740294ca3a9b113fe146f2826effb69ca50008d Author: Matthew Garrett Date: Tue Jan 20 16:17:48 2009 +0100 eeepc-laptop: Implement rfkill hotplugging in eeepc-laptop The Eee implements rfkill by logically unplugging the wireless card from the PCI bus. Despite sending ACPI notifications, this does not appear to be implemented using standard ACPI hotplug - nor does the firmware provide the _OSC method required to support native PCIe hotplug. The only sensible choice appears to be to handle the hotplugging directly in the eeepc-laptop driver. Tested successfully on a 700, 900 and 901. Signed-off-by: Matthew Garrett Signed-off-by: Corentin Chary Signed-off-by: Len Brown commit c9ddf8fede1271bde0a512fa94f77c4cb1ef4040 Author: Matthew Garrett Date: Tue Jan 20 16:17:47 2009 +0100 eeepc-laptop: Check return values from rfkill_register Error out if rfkill registration fails, and also set the default system state appropriately on boot Signed-off-by: Matthew Garrett Signed-off-by: Corentin Chary Signed-off-by: Len Brown commit b5f6f26550700445dcc125bbf75b9104e779d353 Author: Matthew Garrett Date: Tue Jan 20 16:17:46 2009 +0100 eeepc-laptop: Add support for extended hotkeys Newer Eees have extra hotkeys above the function keys. This patch adds support for sending them through the input layer. Signed-off-by: Matthew Garrett Signed-off-by: Corentin Chary Signed-off-by: Len Brown commit ed6f44215374d94c35cbe98b582d004b9a3f5fbe Author: Corentin Chary Date: Tue Jan 20 16:17:45 2009 +0100 asus-laptop: fix label indentation Fix the label indentation Signed-off-by: Corentin Chary Signed-off-by: Len Brown commit 12d6f35b0ff1f446d465e95e9a2fe187263479ef Author: Corentin Chary Date: Tue Jan 20 16:17:44 2009 +0100 asus-laptop: update Kconfig for input layer Update Kconfig, now asus-laptop use the input layer. Signed-off-by: Corentin Chary Signed-off-by: Len Brown commit 034ce90a8d1051deaeb31bae7f26ff1440a5b988 Author: Corentin Chary Date: Tue Jan 20 16:17:43 2009 +0100 asus-laptop: hotkeys via the generic input interface This patch is based on eeepc-laptop.c and the patchs from Nicolas Trangez and Daniel Nascimento (mainly for the keymap). Signed-off-by: Corentin Chary Signed-off-by: Len Brown commit 2a7dc0d8c60325e9bf820900bf919430e5a419ab Author: Corentin Chary Date: Tue Jan 20 16:17:42 2009 +0100 asus-laptop: use generic netlink interface To be prepared for /proc/acpi/event removal we export events also through generic netlink interface. Signed-off-by: Corentin Chary Signed-off-by: Len Brown commit 1021e2119eb33a990a2b9ff1410805dd9bdf7997 Author: Corentin Chary Date: Tue Jan 20 16:17:41 2009 +0100 asus_acpi: Add R1F support Add R1F support Signed-off-by: Corentin Chary Signed-off-by: Len Brown commit a9df80c5094ed2bac94f4a0d085651f44d549854 Author: Corentin Chary Date: Tue Jan 20 16:17:40 2009 +0100 eeepc-laptop: split eeepc_backlight_exit() eeepc_backlight_exit() was doing rfkill and input stuff, which is a nonsense. This patch add two specific exit functions, one for input and one for rfkill. Signed-off-by: Corentin Chary Signed-off-by: Len Brown commit 3d36a0df3b473fb53531484df227f2da8bc7494b Author: Stefan Richter Date: Sat Jan 17 22:45:54 2009 +0100 firewire: keep highlevel drivers attached during brief connection loss There are situations when nodes vanish from the bus and come back quickly thereafter: - When certain bus-powered hubs are plugged in, - when certain devices are plugged into 6-port hubs, - when certain disk enclosures are switched from self-power to bus power or vice versa and break the daisy chain during the transition, - when the user plugs a cable out and quickly plugs it back in, e.g. to reorder a daisy chain (works on Mac OS X if done quickly enough), - when certain hubs temporarily malfunction during high bus traffic. Until now, firewire-core reported affected nodes as lost to the highlevel drivers (firewire-sbp2 and userspace drivers). We now delay the destruction of device representations until after at least two seconds after the last bus reset. If a "new" device is detected in this period whose bus information block and root directory header match that of a device which is pending for deletion, we resurrect that device and send update calls to highlevel drivers. Signed-off-by: Stefan Richter commit 8cd0bbbdff7471163cc6a058be8b8610ddd01d6b Author: Stefan Richter Date: Mon Mar 24 20:56:40 2008 +0100 firewire: unnecessary BM delay after generation rollover Noticed by Jarod Wilson: The bus manager work was unnecessarily delayed each time the bus generation counter rolled over. Signed-off-by: Stefan Richter Signed-off-by: Jarod Wilson commit a5c7f4710fba334bf613d705f97b4471b36446f8 Author: Stefan Richter Date: Wed Mar 19 22:02:40 2008 +0100 firewire: insist on successive self ID complete events The whole topology code only works if the old and new topologies which are compared come from immediately successive self ID complete events. If there happened bus resets without self ID complete events in the meantime, or self ID complete events with invalid selfIDs, the topology comparison could identify nodes wrongly, or more likely just corrupt kernel memory or panic right away. We now discard all nodes of the old topology and treat all current nodes as new ones if the current self ID generation is not the previous one plus 1. Signed-off-by: Stefan Richter Signed-off-by: Jarod Wilson commit e801c72d61173dff2bbbaa164d43d84b993c6ddb Author: Josh Boyer Date: Tue Jan 20 13:01:54 2009 -0500 powerpc/40x: Update PowerPC 40x defconfigs Update the 40x defconfigs for 2.6.29-rc2 Signed-off-by: Josh Boyer commit 66f9a2590aa87dc77cddaeaf46177de76edd2339 Author: David S. Miller Date: Tue Jan 20 09:49:51 2009 -0800 Revert "xfrm: For 32/64 compatability wrt. xfrm_usersa_info" This reverts commit fc8c7dc1b29560c016a67a34ccff32a712b5aa86. As indicated by Jiri Klimes, this won't work. These numbers are not only used the size validation, they are also used to locate attributes sitting after the message. Signed-off-by: David S. Miller commit 36b477d005fbda29e7581c3cef7ee31a59d8970b Author: Artem Bityutskiy Date: Tue Jan 20 18:04:09 2009 +0200 UBI: fix resource de-allocation GregKH asked to fix UBI which has fake device release method. Indeed, we have to free UBI device description object from the release method, because otherwise we'll oops is someone opens a UBI device sysfs file, then the device is removed, and he reads the file. With this fix, he will get -ENODEV instead of an oops. Signed-off-by: Artem Bityutskiy commit 8c4c19f1367435afdc16ac122a2a95a4d6cff9f0 Author: Artem Bityutskiy Date: Tue Jan 20 17:48:02 2009 +0200 UBI: remove unused variable Signed-off-by: Artem Bityutskiy commit 6e11521506e592aed2eba90166e20796c0695023 Author: Kumar Gala Date: Tue Jan 20 09:57:24 2009 -0600 powerpc/85xx: Fix typo in mpc8572ds dts The localbus node flash had a minor typo for a read-only property. Signed-off-by: Kumar Gala commit e7f07968c16bdd9480001c0a9de013ba56889cf9 Author: Theodore Ts'o Date: Tue Jan 20 09:50:19 2009 -0500 ext4: Fix ext4_free_blocks() w/o a journal when files have indirect blocks When trying to unlink a file with indirect blocks on a filesystem without a journal, the "circular indirect block" sanity test was getting falsely triggered. Signed-off-by: "Theodore Ts'o" commit e275e023aa69bdc6a2f43b86ca3aa93a22e47837 Author: Sean MacLennan Date: Fri Jan 9 18:20:11 2009 +0000 powerpc/44x: Warp patches for the new NDFC driver Convert the Warp platform to use the newly merged NDFC driver - warp.dts changed to work with ndfc - warp-nand.c no longer needed - removed obsolete rev A support from cuboot-warp.c Signed-off-by: Sean MacLennan Signed-off-by: Josh Boyer commit 94ce1c585ed51dd9e72e812117e11f3f236a5399 Author: Grant Erickson Date: Thu Dec 18 12:34:05 2008 +0000 powerpc/4xx: DTS: Add Add'l SDRAM0 Compatible and Interrupt Info Added additional information for type and compatibility strings and interrupt information to the SDRAM0 memory-controller device tree nodes for AMCC PowerPC 405EX[r]-based boards to facilitate binding with the new "ibm,sdram-4xx-ddr2" EDAC memory controller adapter driver. Signed-off-by: Grant Erickson Acked-by: Stefan Roese Signed-off-by: Josh Boyer commit 082605de5f82eb692cc90f7fda071cc01bb5ac34 Author: Steven Rostedt Date: Mon Jan 19 14:32:51 2009 -0500 ring-buffer: fix alignment problem Impact: fix to allow some archs to use the ring buffer Commits in the ring buffer are checked by pointer arithmetic. If the calculation is incorrect, then the commits will never take place and the buffer will simply fill up and report an error. Each page in the ring buffer has a small header: struct buffer_data_page { u64 time_stamp; local_t commit; unsigned char data[]; }; Unfortuntely, some of the calculations used sizeof(struct buffer_data_page) to know the size of the header. But this is incorrect on some archs, where sizeof(struct buffer_data_page) does not equal offsetof(struct buffer_data_page, data), and on those archs, the commits are never processed. This patch replaces the sizeof with offsetof. Signed-off-by: Steven Rostedt Signed-off-by: Ingo Molnar commit 7078202e55b565582fcbd831a8dd3069bdc72610 Author: Artem Bityutskiy Date: Mon Jan 19 19:57:27 2009 +0200 UBIFS: document dark_wm and dead_wm better Just add more commentaries. Also some commentary fixes for lprops flags. Signed-off-by: Artem Bityutskiy commit a50412e3f8ce95d7ed558370d7dde5171fd04283 Author: Artem Bityutskiy Date: Tue Jan 6 19:54:02 2009 +0200 UBIFS: do not treat all data as short term UBIFS wrongly tells UBI that all data is short term. Use proper hints instead. Thanks to Xiaochuan-Xu for noticing this. Signed-off-by: Artem Bityutskiy commit fcd26f7ae2ea5889134e8b3d60a42ce8b993c95f Author: David S. Miller Date: Mon Jan 19 22:44:04 2009 -0800 sparc64: Fix DAX handling via userspace access from kernel. If we do a userspace access from kernel mode, and get a data access exception, we need to check the exception table just like a normal fault does. The spitfire DAX handler was doing this, but such logic was missing from the sun4v DAX code. Reported-by: Dennis Gilmore Signed-off-by: David S. Miller commit e42650196df34789c825fa83f8bb37a5d5e52c14 Author: David S. Miller Date: Mon Jan 19 21:11:27 2009 -0800 sparc64: Annotate sparc64 specific syscalls with SYSCALL_DEFINEx() Signed-off-by: David S. Miller commit 67605d6812691bbd2158d2f60259e0407611bc1b Author: Christian Borntraeger Date: Mon Jan 19 20:21:49 2009 -0800 [CVE-2009-0029] sparc: Enable syscall wrappers for 64-bit sparc64 needs sign-extended function parameters. We have to enable the system call wrappers. Signed-off-by: Christian Borntraeger Signed-off-by: David S. Miller commit f4895b8bc83a22a36446c4aee277e1750fcc6a18 Author: Inaky Perez-Gonzalez Date: Mon Jan 19 13:19:30 2009 +0000 wimax/i2400m: error paths that need to free an skb should use kfree_skb() Roel Kluin reported a bug in two error paths where skbs were wrongly being freed using kfree(). He provided a fix where it was replaced to kfree_skb(), as it should be. However, in i2400mu_rx(), the error path was missing returning an indication of the failure. Changed to reset rx_skb to NULL and return it to the caller, i2400mu_rxd(). It will be treated as a transient error and just ignore the packet. Depending on the buffering conditions inside the device, the data packet might be dropped or the device will signal the host again for data-ready-to-read and the host will retry. Signed-off-by: Inaky Perez-Gonzalez Signed-off-by: David S. Miller commit fe65e704534de5d0661ebc3466a2b9018945f694 Author: Gabriel Paubert Date: Mon Jan 19 17:18:09 2009 -0800 mv643xx_eth: prevent interrupt storm on ifconfig down Contrary to what the docs say, the 'extended interrupt cause' bit in the interrupt cause register (bit 1) appears to not be maskable on at least some of the mv643xx_eth platforms, making writing zeroes to the interrupt mask register but not the extended interrupt mask register insufficient to stop interrupts from occuring. Therefore, also write zeroes to the extended interrupt mask register when shutting down the port. This fixes the interrupt storm seen on the Pegasos board when shutting down the interface. Signed-off-by: Lennert Buytenhek Signed-off-by: David S. Miller commit 2b448334a255d34401562229f467ffd95d8ed6ef Author: Lennert Buytenhek Date: Mon Jan 19 17:17:18 2009 -0800 mv643xx_eth: fix multicast filter programming Commit 66e63ffbc04706568d8789cbb00eaa8ddbcae648 ("mv643xx_eth: implement ->set_rx_mode()") cleaned up mv643xx_eth's multicast filter programming, but broke it as well. The non-special multicast filter table (for multicast addresses that are not of the form 01:00:5e:00:00:xx) consists of 256 hash table buckets organised as 64 32-bit words, where the 'accept' bits are in the LSB of each byte, so in bits 24 16 8 0 of each 32-bit word. The old code got this right, but the referenced commit broke this by using bits 3 2 1 0 instead. This commit fixes this up. Signed-off-by: Lennert Buytenhek Signed-off-by: David S. Miller commit e0c6ef9388b58f297937fc9651331941d1579b25 Author: Lennert Buytenhek Date: Mon Jan 19 17:16:00 2009 -0800 Revert "mv643xx_eth: use longer DMA bursts". This reverts commit cd4ccf76bfd2c36d351e68be7e6a597268f98a1a. On the Pegasos board, we can't do DMA burst that are longer than one cache line. For now, go back to using 32 byte DMA bursts for all mv643xx_eth platforms -- we can switch the ARM-based platforms back to doing long 128 byte bursts in the next development cycle. Signed-off-by: Lennert Buytenhek Reported-by: Alan Curry Reported-by: Gabriel Paubert Signed-off-by: David S. Miller commit 8b9d3728977760f6bd1317c4420890f73695354e Author: Jarek Poplawski Date: Mon Jan 19 17:03:56 2009 -0800 net: Fix data corruption when splicing from sockets. The trick in socket splicing where we try to convert the skb->data into a page based reference using virt_to_page() does not work so well. The idea is to pass the virt_to_page() reference via the pipe buffer, and refcount the buffer using a SKB reference. But if we are splicing from a socket to a socket (via sendpage) this doesn't work. The from side processing will grab the page (and SKB) references. The sendpage() calls will grab page references only, return, and then the from side processing completes and drops the SKB ref. The page based reference to skb->data is not enough to keep the kmalloc() buffer backing it from being reused. Yet, that is all that the socket send side has at this point. This leads to data corruption if the skb->data buffer is reused by SLAB before the send side socket actually gets the TX packet out to the device. The fix employed here is to simply allocate a page and copy the skb->data bytes into that page. This will hurt performance, but there is no clear way to fix this properly without a copy at the present time, and it is important to get rid of the data corruption. With fixes from Herbert Xu. Tested-by: Willy Tarreau Foreseen-by: Changli Gao Diagnosed-by: Willy Tarreau Reported-by: Willy Tarreau Fixed-by: Jens Axboe Signed-off-by: Jarek Poplawski Signed-off-by: David S. Miller commit 9e9fd12dc0679643c191fc9795a3021807e77de4 Author: Matt Carlson Date: Mon Jan 19 16:57:45 2009 -0800 tg3: Fix firmware loading This patch modifies how the tg3 driver handles device firmware. The patch starts by consolidating David Woodhouse's earlier patch under the same name. Specifically, the patch moves the request_firmware call into a separate tg3_request_firmware() function and calls that function from tg3_open() rather than tg3_init_one(). The patch then goes on to limit the number of devices that will make request_firmware calls. The original firmware patch unnecessarily requested TSO firmware for devices that did not need it. This patch reduces the set of devices making TSO firmware patches to approximately the following device set : 5703, 5704, and 5705. Finally, the patch reduces the effects of a request_firmware() failure. For those devices that are requesting TSO firmware, the driver will turn off the TSO capability. If TSO firmware becomes available at a later time, the device can be closed and then opened again to reacquire the TSO capability. Signed-off-by: Matt Carlson Signed-off-by: Michael Chan Signed-off-by: David S. Miller commit 1da100bb47ef32cb43bb6a365f64183898f830b5 Author: Peter P Waskiewicz Jr Date: Mon Jan 19 16:55:03 2009 -0800 ixgbe: Fix usage of netif_*_all_queues() with netif_carrier_{off|on}() netif_carrier_off() is sufficient to stop Tx into the driver. Stopping the Tx queues is redundant and unnecessary. By the same token, netif_carrier_on() will be sufficient to re-enable Tx, so waking the queues is unnecessary. Signed-off-by: Peter P Waskiewicz Jr Signed-off-by: Jeff Kirsher Signed-off-by: David S. Miller commit 068c89b014ebd27b1c09c3c772e9d982988e7786 Author: Don Skidmore Date: Mon Jan 19 16:54:36 2009 -0800 ixgbe: fix tag stripping for VLAN ID 0 Register VLAN ID 0 so that frames with VLAN ID 0 are received and get their tag stripped when ixgbe is not in DCB mode. VLAN ID 0 means that the frame is 'priority tagged' only - it is not a VLAN, but the priority value is the tag in valid. The functions ixgbe_vlan_rx_register() and ixgbe_vlan_rx_kill_vid() were moved up a couple functions to correct compiling issues with this change. Signed-off-by: Don Skidmore Signed-off-by: Peter P Waskiewicz Jr Signed-off-by: Eric W Multanen Signed-off-by: David S. Miller commit 15005a320473b8d3676b878deb29bbe738ef9027 Author: Don Skidmore Date: Mon Jan 19 16:54:13 2009 -0800 ixgbe: fix dca issue with relaxed ordering turned on The is an issue where setting Relaxed Ordering (RO) bit (in a PCI-E write transaction) on 82598 causing the chipset to drop DCA hints. This patch forces RO not to be set for descriptors as well as payload. This will only be in effect while DCA is enabled and no performance difference was noticed in testing. Signed-off-by: Don Skidmore Signed-off-by: Peter P Waskiewicz Jr Signed-off-by: Jeff Kirsher Signed-off-by: David S. Miller commit 67fd1a731ff1a990d4da7689909317756e50cb4d Author: Herbert Xu Date: Mon Jan 19 16:26:44 2009 -0800 net: Add debug info to track down GSO checksum bug I'm trying to track down why people're hitting the checksum warning in skb_gso_segment. As the problem seems to be hitting lots of people and I can't reproduce it or locate the bug, here is a patch to print out more details which hopefully should help us to track this down. Signed-off-by: Herbert Xu Signed-off-by: David S. Miller commit e85bf47e6ded66ea138f692fe149c00a4998afe8 Author: Phil Sutter Date: Thu Jan 15 12:29:57 2009 +0000 korina: drop leftover assignment As the assigned value is being overwritten shortly after, it can be dropped and so the whole variable definition moved to the start of the function. Signed-off-by: Phil Sutter Acked-by: Florian Fainelli Signed-off-by: David S. Miller commit 63a66c6c0debcae70183849121734fd4809e1dde Author: Phil Sutter Date: Thu Jan 15 12:29:56 2009 +0000 korina: adjust headroom for new skb's also This is copy and paste from the original driver. As skb_reserve() is also called within korina_alloc_ring() when initially allocating the receive descriptors, the same should be done when allocating new space after passing an skb to upper layers. Signed-off-by: Phil Sutter Acked-by: Florian Fainelli Signed-off-by: David S. Miller commit 6a2fe9834e578590f4a2fbe18a574465ab0e127c Author: Phil Sutter Date: Thu Jan 15 12:29:55 2009 +0000 korina: fix loop back of receive descriptors After the last loop iteration, i has the value RC32434_NUM_RDS and therefore leads to an index overflow when used afterwards to address the last element. This is yet another another bug introduced when rewriting parts of the driver for upstream preparation, as the original driver used 'RC32434_NUM_RDS - 1' instead. Signed-off-by: Phil Sutter Acked-by: Florian Fainelli Signed-off-by: David S. Miller commit eed087e367591fc08490d7c6c2779b4b72c8f20c Author: Divy Le Ray Date: Sun Jan 18 22:01:32 2009 -0800 cxgb3: Fix LRO misalignment The lro manager's frag_align_pad setting was missing, leading to misaligned access to the skb passed up to the stack. Tested-by: Rick Jones Signed-off-by: Divy Le Ray Signed-off-by: David S. Miller commit 39eddb4c3970e9aadbc87b8a7cab7b4fefff077f Author: Richard Röjfors Date: Sun Jan 18 21:57:35 2009 -0800 macb: avoid lockup when TGO during underrun In rare cases when an underrun occur, all macb buffers where consumed and the netif_queue was stopped infinitely. This happens then the TGO (transfer ongoing) bit in the TSR is set (and UND). It seems like clening up after the underrun makes the driver and the macb hardware end up in an inconsistent state. The result of this is that in the following calls to macb_tx no TX buffers are released -> the netif_queue was stopped, and never woken up again. The solution is to disable the transmitter, if TGO is set, before clening up after the underrun, and re-enable the transmitter when the cleaning up is done. Signed-off-by: Richard Röjfors Signed-off-by: David S. Miller commit 24e94de41e76134fad05552588fe01af2cab1494 Author: Roel Kluin Date: Sun Jan 18 21:32:11 2009 -0800 net/9p: fid->fid is used uninitialized Signed-off-by: Roel Kluin Signed-off-by: David S. Miller commit d05c26ce690e867aabfc7d708d481e0f86f23496 Author: Eilon Greenstein Date: Sat Jan 17 23:26:13 2009 -0800 bnx2x: Version update Updating the version and the year of updated files Signed-off-by: Eilon Greenstein Signed-off-by: David S. Miller commit 237907c1ded8a1a447cea7c4f97ab853e8b46052 Author: Eilon Greenstein Date: Wed Jan 14 06:42:44 2009 +0000 bnx2x: Barriers for the compiler To make sure no swapping are made by the compiler, changed HAS_WORK to inline functions and added all the necessary barriers Signed-off-by: Eilon Greenstein Signed-off-by: David S. Miller commit e47d7e6eb841c1850f0e69b95ae6cf3c86881f53 Author: Eilon Greenstein Date: Wed Jan 14 06:44:28 2009 +0000 bnx2x: Driver description update The Driver supports the 57711 and 57711E as well but the description was out of date Signed-off-by: Eilon Greenstein Signed-off-by: David S. Miller commit 16b311cc29806bb968746c1a752a087b32841af9 Author: Eilon Greenstein Date: Wed Jan 14 06:44:24 2009 +0000 bnx2x: Handling PHY FW load failure If the default PHY version (0x4321) is read - the PHY FW load failed Signed-off-by: Yaniv Rosner Signed-off-by: Eilon Greenstein Signed-off-by: David S. Miller commit 44722d1d216c9dd4536de5f88fe8320b07e68a96 Author: Eilon Greenstein Date: Wed Jan 14 06:44:21 2009 +0000 bnx2x: Legacy speeds autoneg failures 10M/100M autoneg was not establishing link. Signed-off-by: Yaniv Rosner Signed-off-by: Eilon Greenstein Signed-off-by: David S. Miller commit 3858276b7198074bf3570470463808627f0c9e31 Author: Eilon Greenstein Date: Wed Jan 14 06:44:16 2009 +0000 bnx2x: Prevent self test loopback failures Setting loopback requires time to take effect Signed-off-by: Yaniv Rosner Signed-off-by: Eilon Greenstein Signed-off-by: David S. Miller commit 6c55c3cdc86881383075a933594748b30dd0054b Author: Eilon Greenstein Date: Wed Jan 14 06:44:13 2009 +0000 bnx2x: 1G-10G toggling race The HW should be configured so fast toggling between 1G and 10G will not be missed. Make sure that the HW is re-configured in full Signed-off-by: Yaniv Rosner Signed-off-by: Eilon Greenstein Signed-off-by: David S. Miller commit 632da4d66324b5baf947a048dd1f1e9093b6dd90 Author: Eilon Greenstein Date: Wed Jan 14 06:44:10 2009 +0000 bnx2x: Overstepping array bounds If the page size is > 8KB this violation happens Signed-off-by: Eilon Greenstein Signed-off-by: David S. Miller commit 2add3acb11a26cc14b54669433ae6ace6406cbf2 Author: Eilon Greenstein Date: Wed Jan 14 06:44:07 2009 +0000 bnx2x: Block nvram access when the device is inactive Don't dump eeprom when bnx2x adapter is down. Running ethtool -e causes an eeh without it when the device is down Signed-off-by: Paul Larson Signed-off-by: Eilon Greenstein Signed-off-by: David S. Miller commit 5a40e08e666e8caa1227333de41fd1e2cd84d4f5 Author: Eilon Greenstein Date: Wed Jan 14 06:44:04 2009 +0000 bnx2x: Read chip ID Signed-off-by: Eilon Greenstein Signed-off-by: David S. Miller commit af2464011f0954785687071b298f066f6cbb1c84 Author: Eilon Greenstein Date: Wed Jan 14 06:43:59 2009 +0000 bnx2x: Wrong HDR offset in CAM Has a negative side effect when sending MAC update with no content (as done in the self-test) Signed-off-by: Eilon Greenstein Signed-off-by: David S. Miller commit b4661739c67acd15a02f8e112f8cc52d24b609ed Author: Eilon Greenstein Date: Wed Jan 14 06:43:56 2009 +0000 bnx2x: Potential race after iSCSI boot The lock was release too soon. Make sure the HW is marked as locked until the boot driver was unloaded from FW perspective Signed-off-by: Eilon Greenstein Signed-off-by: David S. Miller commit 693fc0d14334859430733ab902adac182fdd8153 Author: Eilon Greenstein Date: Wed Jan 14 06:43:52 2009 +0000 bnx2x: Handling probe failures Failures in the probe not handled correctly - separate the flow to handle different failures Signed-off-by: Eilon Greenstein Signed-off-by: David S. Miller commit 70b9986ca4baaf6deb6f0e01d50f72457579adea Author: Eilon Greenstein Date: Wed Jan 14 06:43:48 2009 +0000 bnx2x: Free IRQ Error check could result with not freeing the IRQ Signed-off-by: Eilon Greenstein Signed-off-by: David S. Miller commit f5495506c3c1300d249d403c36f92de71920dbeb Author: Gary Hade Date: Mon Jan 19 13:46:41 2009 -0800 x86: remove kernel_physical_mapping_init() from init section Impact: fix crash with memory hotplug enabled kernel_physical_mapping_init() is called during memory hotplug so it does not belong in the init section. If the kernel is built with CONFIG_DEBUG_SECTION_MISMATCH=y on the make command line, arch/x86/mm/init_64.c is compiled with the -fno-inline-functions-called-once gcc option defeating inlining of kernel_physical_mapping_init() within init_memory_mapping(). When kernel_physical_mapping_init() is not inlined it is placed in the .init.text section according to the __init in it's current declaration. A later call to kernel_physical_mapping_init() during a memory hotplug operation encounters an int3 trap because the .init.text section memory has been freed. This patch eliminates the crash caused by the int3 trap by moving the non-inlined kernel_physical_mapping_init() from .init.text to .meminit.text. Signed-off-by: Gary Hade Signed-off-by: Ingo Molnar commit bfa318ad52a23f1e303d176b44366cdd2bb71ad2 Author: Ingo Molnar Date: Thu Jan 15 15:46:08 2009 +0100 fix: crash: IP: __bitmap_intersects+0x48/0x73 -tip testing found this crash: > [ 35.258515] calling acpi_cpufreq_init+0x0/0x127 @ 1 > [ 35.264127] BUG: unable to handle kernel NULL pointer dereference at (null) > [ 35.267554] IP: [] __bitmap_intersects+0x48/0x73 > [ 35.267554] PGD 0 > [ 35.267554] Oops: 0000 [#1] SMP DEBUG_PAGEALLOC arch/x86/kernel/cpu/cpufreq/acpi-cpufreq.c is still broken: there's no allocation of the variable mask, so we pass in an uninitialized cmd.mask field to drv_read(), which then passes it to the scheduler which then crashes ... Switch it over to the much simpler constant-cpumask-pointers approach. Signed-off-by: Ingo Molnar commit 5296b56d1b2000b60fb966be161c1f8fb629786b Author: Guennadi Liakhovetski Date: Mon Jan 19 15:36:21 2009 -0700 i.MX31: Image Processing Unit DMA and IRQ drivers i.MX3x SoCs contain an Image Processing Unit, consisting of a Control Module (CM), Display Interface (DI), Synchronous Display Controller (SDC), Asynchronous Display Controller (ADC), Image Converter (IC), Post-Filter (PF), Camera Sensor Interface (CSI), and an Image DMA Controller (IDMAC). CM contains, among other blocks, an Interrupt Generator (IG) and a Clock and Reset Control Unit (CRCU). This driver serves IDMAC and IG. They are supported over dmaengine and irq-chip APIs respectively. IDMAC is a specialised DMA controller, its DMA channels cannot be used for general-purpose operations, even though it might be possible to configure a memory-to-memory channel for memcpy operation. This driver will not work with generic dmaengine clients, clients, wishing to use it must use respective wrapper structures, they also must specify which channels they require, as channels are hard-wired to specific IPU functions. Acked-by: Sascha Hauer Signed-off-by: Guennadi Liakhovetski Signed-off-by: Dan Williams commit ef560682a97491f62ef538931a4861b57d66c52c Author: Guennadi Liakhovetski Date: Mon Jan 19 15:36:21 2009 -0700 dmaengine: add async_tx_clear_ack() macro To complete the DMA_CTRL_ACK handling API add a async_tx_clear_ack() macro. Signed-off-by: Guennadi Liakhovetski Signed-off-by: Dan Williams commit c50331e8be32eaba5e1949f98c70d50b891262db Author: Dan Williams Date: Mon Jan 19 15:33:14 2009 -0700 dmaengine: dma_issue_pending_all == nop when CONFIG_DMA_ENGINE=n The device list will always be empty in this configuration, so no need to walk the list. Reported-by: Ingo Molnar Signed-off-by: Dan Williams commit 83436a0560e9ef8af2f0796264dde4bed1415359 Author: Dan Williams Date: Mon Jan 19 14:39:10 2009 -0700 dmaengine: kill some dubious WARN_ONCEs dma_find_channel and dma_issue_pending_all are good places to warn about improper api usage. However, warning correctly means synchronizing with dma_list_mutex, i.e. too much overhead for these fast-path calls. Reported-by: Ingo Molnar Signed-off-by: Dan Williams commit 72859081851af2bda04117ca3d64206ffa199e5e Author: Mike Travis Date: Fri Jan 16 15:31:15 2009 -0800 cpufreq: use work_on_cpu in acpi-cpufreq.c for drv_read and drv_write Impact: use new work_on_cpu function to reduce stack usage Replace the saving of current->cpus_allowed and set_cpus_allowed_ptr() with a work_on_cpu function for drv_read() and drv_write(). Basically converts do_drv_{read,write} into "work_on_cpu" functions that are now called by drv_read and drv_write. Note: This patch basically reverts 50c668d6 which reverted 7503bfba, now that the work_on_cpu() function is more stable. Signed-off-by: Mike Travis Acked-by: Rusty Russell Tested-by: Dieter Ries Tested-by: Maciej Rutecki Cc: Dave Jones Cc: Signed-off-by: Ingo Molnar commit 8ccad40df8d314f786fdb06bdbedd4f43f3257cd Author: Rusty Russell Date: Fri Jan 16 15:31:15 2009 -0800 work_on_cpu: Use our own workqueue. Impact: remove potential clashes with generic kevent workqueue Annoyingly, some places we want to use work_on_cpu are already in workqueues. As per Ingo's suggestion, we create a different workqueue for work_on_cpu. Signed-off-by: Rusty Russell Signed-off-by: Mike Travis Signed-off-by: Ingo Molnar commit 31ad9081200c06ccc350625d41d1f8b2d1cef29f Author: Rusty Russell Date: Fri Jan 16 15:31:15 2009 -0800 work_on_cpu: don't try to get_online_cpus() in work_on_cpu. Impact: remove potential circular lock dependency with cpu hotplug lock This has caused more problems than it solved, with a pile of cpu hotplug locking issues. Followup patches will get_online_cpus() in callers that need it, but if they don't do it they're no worse than before when they were using set_cpus_allowed without locking. Signed-off-by: Rusty Russell Signed-off-by: Mike Travis Signed-off-by: Ingo Molnar commit b7c18c1b2636ecb9ad76759f99dac6efd441fa92 Author: David S. Miller Date: Sun Jan 18 22:42:15 2009 -0800 sparc64: Initialize FHC/CLOCK LED platform_device 'id' field correctly. There is only one clock board, so use -1 as the 'id' so we get just the base name as the LED device name string. There are multiple FHC boards potentially in a system so use the board number as the 'id' value for that case. Reported-by: Meelis Roos Tested-by: Meelis Roos Signed-off-by: David S. Miller commit c2fdd36b550659f5ac2240d1f5a83ffa1a092289 Author: Jiri Slaby Date: Sat Jan 17 16:23:55 2009 +0100 PCI hotplug: fix lock imbalance in pciehp set_lock_status omits mutex_unlock in fail path. Add the omitted unlock. As a result a lockup caused by this can be triggered from userspace by writing 1 to /sys/bus/pci/slots/.../lock often enough. Signed-off-by: Jiri Slaby Reviewed-by: Kenji Kaneshige Signed-off-by: Jesse Barnes commit 6e78b780efdfc5cfbd3c92df7dbdfb5c81aa2a15 Merge: c0554f1 3288a66 Author: Takashi Iwai Date: Mon Jan 19 14:08:25 2009 +0100 Merge branch 'topic/virtuoso' into for-linus commit 3288a66243c8d34c299dd6b8a336a34321ccff52 Author: Clemens Ladisch Date: Mon Jan 19 10:08:38 2009 +0100 sound: virtuoso: document HDAV1.3 driver status Mention in the Kconfig help text that the HDAV1.3 code is rather experimental. Signed-off-by: Clemens Ladisch Signed-off-by: Takashi Iwai commit 45bf81011312958777f33088ac0911f241ada297 Author: Clemens Ladisch Date: Mon Jan 19 10:07:58 2009 +0100 sound: virtuoso: add newline Add a missing newline. Signed-off-by: Clemens Ladisch Signed-off-by: Takashi Iwai commit 22c733788bbd4b75c00279119a83da5cd74b987a Author: Clemens Ladisch Date: Mon Jan 19 10:07:21 2009 +0100 sound: virtuoso: enable UART on Xonar HDAV1.3 This hardware has a better chance of working correctly if we don't forget to enable it. Signed-off-by: Clemens Ladisch Cc: Signed-off-by: Takashi Iwai commit ef183f6b5982aa10499432a0cb243c92ce623512 Author: David Brownell Date: Mon Jan 19 13:46:57 2009 +0100 drivers/ide/palm_bk3710.c buildfix CC drivers/ide/palm_bk3710.o drivers/ide/palm_bk3710.c: In function 'palm_bk3710_probe': drivers/ide/palm_bk3710.c:382: warning: assignment makes integer from pointer without a cast Someone should fix hw_regs_t to neither be a typedef, nor use "unsigned long" where it should use "void __iomem *". Signed-off-by: David Brownell Cc: Kevin Hilman Cc: Sergei Shtylyov Signed-off-by: Bartlomiej Zolnierkiewicz commit abb8817967cc080ee024f7d1a3d5a9830074ca1c Author: Michael Schmitz Date: Mon Jan 19 13:46:56 2009 +0100 ide: fix Falcon IDE breakage [m68k] Falcon IDE: always serialize, in order to force execution of ide_get_lock() and friends. Signed-off-By: Michael Schmitz Cc: Geert Uytterhoeven [bart: set flag in falconide_port_info instead of falconide_init()] Signed-off-by: Bartlomiej Zolnierkiewicz commit bb54affa6fbdd6fe80f193ec1b6977a93078785d Author: Andreas Schwab Date: Mon Jan 19 13:46:56 2009 +0100 ide: fix IDE PMAC breakage Bartlomiej Zolnierkiewicz writes: > Signed-off-by: Bartlomiej Zolnierkiewicz > --- > drivers/ide/ide-probe.c | 9 ++------- > 1 file changed, 2 insertions(+), 7 deletions(-) > > Index: b/drivers/ide/ide-probe.c > =================================================================== > --- a/drivers/ide/ide-probe.c > +++ b/drivers/ide/ide-probe.c > @@ -640,14 +640,9 @@ static int ide_register_port(ide_hwif_t > /* register with global device tree */ > dev_set_name(&hwif->gendev, hwif->name); > hwif->gendev.driver_data = hwif; > - if (hwif->gendev.parent == NULL) { > - if (hwif->dev) > - hwif->gendev.parent = hwif->dev; > - else > - /* Would like to do = &device_legacy */ > - hwif->gendev.parent = NULL; > - } > + hwif->gendev.parent = hwif->dev; This [bart: commit 96d40941236722777c259775640b8880b7dc6f33 ("ide: small ide_register_port() cleanup")] breaks ide-pmac. It overwrites the parent that pmac_ide_macio_attach has set. Signed-off-by: Andreas Schwab Cc: Benjamin Herrenschmidt Signed-off-by: Bartlomiej Zolnierkiewicz commit c1ff85d97708550e634fb6fa099c463db90fc40d Author: Dave Airlie Date: Mon Jan 19 17:17:58 2009 +1000 drm: fix leak of device mappings since multi-master changes. Device maps now contain a link to the master that created them, so when cleaning up the master, remove any maps that are connected to it. Also delete any remaining maps at driver unload time. Signed-off-by: Dave Airlie commit b6e3222732a3551e786aa47b90a8eab2a517711c Author: Eric Sandeen Date: Wed Jan 14 23:22:07 2009 -0600 [XFS] Remove the rest of the macro-to-function indirections. Remove the last of the macros-defined-to-static-functions. Signed-off-by: Eric Sandeen Reviewed-by: Christoph Hellwig Signed-off-by: Lachlan McIlroy commit b828d8c33867dd6479644c06500975570bfd525c Author: Christoph Hellwig Date: Mon Jan 19 02:04:16 2009 +0100 xfs: sanity check attr fork size Recently we have quite a few kerneloops reports about dereferencing a NULL if_data in the attribute fork. From looking over the code this can only happen if we pass a 0 size argument to xfs_iformat_local. This implies some sort of corruption and in fact the only mailinglist report about this from earlier this year was after a powerfail presumably on a system with write cache and without barriers. Add a quick sanity check for the attr fork size in xfs_iformat to catch these early and without an oops. Signed-off-by: Christoph Hellwig Reviewed-by: Dave Chinner commit 49739140e57a65114d9e1976c4c158d2145595fb Author: Christoph Hellwig Date: Mon Jan 19 02:04:07 2009 +0100 xfs: fix bad_features2 fixups for the root filesystem Currently the bad_features2 fixup and the alignment updates in the superblock are skipped if we mount a filesystem read-only. But for the root filesystem the typical case is to mount read-only first and only later remount writeable so we'll never perform this update at all. It's not a big problem but means the logs of people needing the fixup get spammed at every boot because they never happen on disk. Reported-by: Arkadiusz Miskiewicz Signed-off-by: Christoph Hellwig Reviewed-by: Dave Chinner commit 5aa2dc0a0697c762874241fa9ddbecd2d878b934 Author: Christoph Hellwig Date: Mon Jan 19 02:03:25 2009 +0100 xfs: add a lock class for group/project dquots We can have both a user and a group/project dquot locked at the same time, as long as the user dquot is locked first. Tell lockdep about that fact by making the group/project dquots a different lock class. Signed-off-by: Christoph Hellwig Reviewed-by: Dave Chinner commit 4f2d4ac6e5eb7d72e8df7f3fbf67a78dab8b91cf Author: Christoph Hellwig Date: Mon Jan 19 02:03:19 2009 +0100 xfs: lockdep annotations for xfs_dqlock2 xfs_dqlock2 locks two xfs_dquots, which is fine as it always locks the dquot with the lower id first. Use mutex_lock_nested to tell lockdep about this fact. Signed-off-by: Christoph Hellwig Reviewed-by: Dave Chinner commit 080dda7f5e8e8df95bcd17a5345c276e365a2054 Author: Christoph Hellwig Date: Mon Jan 19 02:03:11 2009 +0100 xfs: add a separate lock class for the per-mount list of dquots We can have both a a quota hash chain and the per-mount list locked at the same time. But given that both use the same struct dqhash as list head we have to tell lockdep that they are different lock classes. Signed-off-by: Christoph Hellwig Reviewed-by: Dave Chinner commit 62e194ecdaf8a1935991c1f8704886328d96a391 Author: Christoph Hellwig Date: Mon Jan 19 02:03:03 2009 +0100 xfs: use mnt_want_write in compat_attrmulti ioctl The compat version of the attrmulti ioctl needs to ask for and then later release write access to the mount just like the native version, otherwise we could potentially write to read-only mounts. Signed-off-by: Christoph Hellwig Reviewed-by: Dave Chinner commit ab596ad8972f314ace538799734c7e1bdd1da2ff Author: Christoph Hellwig Date: Mon Jan 19 02:02:57 2009 +0100 xfs: fix dentry aliasing issues in open_by_handle Open by handle just grabs an inode by handle and then creates itself a dentry for it. While this works for regular files it is horribly broken for directories, where the VFS locking relies on the fact that there is only just one single dentry for a given inode, and that these are always connected to the root of the filesystem so that it's locking algorithms work (see Documentations/filesystems/Locking) Remove all the existing open by handle code and replace it with a small wrapper around the exportfs code which deals with all these issues. At the same time we also make the checks for a valid handle strict enough to reject all not perfectly well formed handles - given that we never hand out others that's okay and simplifies the code. Signed-off-by: Christoph Hellwig Reviewed-by: Dave Chinner commit b6729deb26a131083add5b7238c7b7478ef6b502 Author: Eric Miao Date: Mon Jan 19 11:42:32 2009 +0800 [ARM] pxa: make more SSCR0 bit definitions visible on multiple processors The only exclusive definitions are SSCR0_SCR and SSCR0_SerClkDiv(), loosen that exclusive #ifdef .. #else .. #endif to allow other definitions to be visible when slected multiple processors. This helps to pass the building of pxa-ssp.c. Signed-off-by: Eric Miao commit ec971c91c55b8e2e2609f8d61eb34da13aedb37d Author: Eric Miao Date: Mon Jan 19 11:39:36 2009 +0800 [ARM] pxa: fix missing of __REG() definition for ac97 registers access This currently happens for 'drivers/input/touch/mainstone-wm97xx.c'. Signed-off-by: Eric Miao commit 8d69abb08343706f88380edb83927ffc0fc83098 Author: Mike Rapoport Date: Sun Jan 18 11:55:19 2009 +0200 [ARM] pxa: fix NAND and MMC clock initialization for pxa3xx After commit 8c3abc7d903df492a7394b0adae4349d9a381aaf ("[ARM] pxa: convert to clkdev and match clocks by struct device where possible") get_clk in pxa3xx_nand fails with -ENOENT. Apparently, clk_get in pxamci will also fail for MCI2 on PXA310. The 'clk_find' and therefore 'clk_get' require driver to supply both 'dev_id' and 'con_id' if they are not NULL in the 'strcut clk_lookup', but neither pxa3xx_nand nor pxamci supply 'con_id'. This patch sets 'con_id' to NULL in NAND clock and MCI2 clock registration. Signed-off-by: Mike Rapoport Signed-off-by: Eric Miao commit f90d4118bacef87894621a3e8aba853fa0c89abc Author: Miao Xie Date: Fri Jan 16 10:24:10 2009 +0800 cpuset: fix possible deadlock in async_rebuild_sched_domains Lockdep reported some possible circular locking info when we tested cpuset on NUMA/fake NUMA box. ======================================================= [ INFO: possible circular locking dependency detected ] 2.6.29-rc1-00224-ga652504 #111 ------------------------------------------------------- bash/2968 is trying to acquire lock: (events){--..}, at: [] flush_work+0x24/0xd8 but task is already holding lock: (cgroup_mutex){--..}, at: [] cgroup_lock_live_group+0x12/0x29 which lock already depends on the new lock. ...... ------------------------------------------------------- Steps to reproduce: # mkdir /dev/cpuset # mount -t cpuset xxx /dev/cpuset # mkdir /dev/cpuset/0 # echo 0 > /dev/cpuset/0/cpus # echo 0 > /dev/cpuset/0/mems # echo 1 > /dev/cpuset/0/memory_migrate # cat /dev/zero > /dev/null & # echo $! > /dev/cpuset/0/tasks This is because async_rebuild_sched_domains has the following lock sequence: run_workqueue(async_rebuild_sched_domains) -> do_rebuild_sched_domains -> cgroup_lock But, attaching tasks when memory_migrate is set has following: cgroup_lock_live_group(cgroup_tasks_write) -> do_migrate_pages -> flush_work This patch fixes it by using a separate workqueue thread. Signed-off-by: Miao Xie Signed-off-by: Lai Jiangshan Signed-off-by: Ingo Molnar commit 3afd522de8d8ec446efe957b86e4f63e3dd8ce9d Author: Roel Kluin Date: Mon Jan 19 00:15:13 2009 +0100 [MTD] slram: Handle negative devlength correctly A negative devlength won't get noticed and clean up: Signed-off-by: Roel Kluin Signed-off-by: David Woodhouse commit c7f8562a51c2e5dcc1a00a2bdd232b9965ff960d Author: Leonardo Potenza Date: Sun Jan 18 23:03:56 2009 +0100 x86: fix section mismatch warnings in kernel/setup_percpu.c The function setup_cpu_local_masks() has been marked __init, in order to remove the following section mismatch messages: WARNING: vmlinux.o(.text+0x3c2c7): Section mismatch in reference from the function setup_cpu_local_masks() to the function .init.text:alloc_bootmem_cpumask_var() The function setup_cpu_local_masks() references the function __init alloc_bootmem_cpumask_var(). This is often because setup_cpu_local_masks lacks a __init annotation or the annotation of alloc_bootmem_cpumask_var is wrong. WARNING: vmlinux.o(.text+0x3c2d3): Section mismatch in reference from the function setup_cpu_local_masks() to the function .init.text:alloc_bootmem_cpumask_var() The function setup_cpu_local_masks() references the function __init alloc_bootmem_cpumask_var(). This is often because setup_cpu_local_masks lacks a __init annotation or the annotation of alloc_bootmem_cpumask_var is wrong. WARNING: vmlinux.o(.text+0x3c2df): Section mismatch in reference from the function setup_cpu_local_masks() to the function .init.text:alloc_bootmem_cpumask_var() The function setup_cpu_local_masks() references the function __init alloc_bootmem_cpumask_var(). This is often because setup_cpu_local_masks lacks a __init annotation or the annotation of alloc_bootmem_cpumask_var is wrong. WARNING: vmlinux.o(.text+0x3c2eb): Section mismatch in reference from the function setup_cpu_local_masks() to the function .init.text:alloc_bootmem_cpumask_var() The function setup_cpu_local_masks() references the function __init alloc_bootmem_cpumask_var(). This is often because setup_cpu_local_masks lacks a __init annotation or the annotation of alloc_bootmem_cpumask_var is wrong. Signed-off-by: Leonardo Potenza Signed-off-by: Ingo Molnar commit 1d4a7f1c4faf53eb9e822743ec8a70b3019a26d2 Author: Peter Zijlstra Date: Sun Jan 18 16:39:29 2009 +0100 hrtimers: fix inconsistent lock state on resume in hres_timers_resume Andrey Borzenkov reported this lockdep assert: > [17854.688347] ================================= > [17854.688347] [ INFO: inconsistent lock state ] > [17854.688347] 2.6.29-rc2-1avb #1 > [17854.688347] --------------------------------- > [17854.688347] inconsistent {in-hardirq-W} -> {hardirq-on-W} usage. > [17854.688347] pm-suspend/18240 [HC0[0]:SC0[0]:HE1:SE1] takes: > [17854.688347] (&cpu_base->lock){++..}, at: [] retrigger_next_event+0x5c/0xa0 > [17854.688347] {in-hardirq-W} state was registered at: > [17854.688347] [] __lock_acquire+0x79d/0x1930 > [17854.688347] [] lock_acquire+0x5c/0x80 > [17854.688347] [] _spin_lock+0x35/0x70 > [17854.688347] [] hrtimer_run_queues+0x31/0x140 > [17854.688347] [] run_local_timers+0x8/0x20 > [17854.688347] [] update_process_times+0x23/0x60 > [17854.688347] [] tick_periodic+0x24/0x80 > [17854.688347] [] tick_handle_periodic+0x12/0x70 > [17854.688347] [] timer_interrupt+0x14/0x20 > [17854.688347] [] handle_IRQ_event+0x29/0x60 > [17854.688347] [] handle_level_irq+0x69/0xe0 > [17854.688347] [] 0xffffffff > [17854.688347] irq event stamp: 55771 > [17854.688347] hardirqs last enabled at (55771): [] _spin_unlock_irqrestore+0x35/0x60 > [17854.688347] hardirqs last disabled at (55770): [] _spin_lock_irqsave+0x19/0x80 > [17854.688347] softirqs last enabled at (54836): [] __do_softirq+0xc4/0x110 > [17854.688347] softirqs last disabled at (54831): [] do_softirq+0x8e/0xe0 > [17854.688347] > [17854.688347] other info that might help us debug this: > [17854.688347] 3 locks held by pm-suspend/18240: > [17854.688347] #0: (&buffer->mutex){--..}, at: [] sysfs_write_file+0x25/0x100 > [17854.688347] #1: (pm_mutex){--..}, at: [] enter_state+0x4f/0x140 > [17854.688347] #2: (dpm_list_mtx){--..}, at: [] device_pm_lock+0xf/0x20 > [17854.688347] > [17854.688347] stack backtrace: > [17854.688347] Pid: 18240, comm: pm-suspend Not tainted 2.6.29-rc2-1avb #1 > [17854.688347] Call Trace: > [17854.688347] [] ? printk+0x18/0x20 > [17854.688347] [] print_usage_bug+0x16c/0x1d0 > [17854.688347] [] mark_lock+0x8bf/0xc90 > [17854.688347] [] ? pit_next_event+0x2f/0x40 > [17854.688347] [] __lock_acquire+0x580/0x1930 > [17854.688347] [] ? _spin_unlock+0x1d/0x20 > [17854.688347] [] ? pit_next_event+0x2f/0x40 > [17854.688347] [] ? clockevents_program_event+0x98/0x160 > [17854.688347] [] ? mark_held_locks+0x48/0x90 > [17854.688347] [] ? _spin_unlock_irqrestore+0x35/0x60 > [17854.688347] [] ? trace_hardirqs_on_caller+0x139/0x190 > [17854.688347] [] ? trace_hardirqs_on+0xb/0x10 > [17854.688347] [] lock_acquire+0x5c/0x80 > [17854.688347] [] ? retrigger_next_event+0x5c/0xa0 > [17854.688347] [] _spin_lock+0x35/0x70 > [17854.688347] [] ? retrigger_next_event+0x5c/0xa0 > [17854.688347] [] retrigger_next_event+0x5c/0xa0 > [17854.688347] [] hres_timers_resume+0xa/0x10 > [17854.688347] [] timekeeping_resume+0xee/0x150 > [17854.688347] [] __sysdev_resume+0x14/0x50 > [17854.688347] [] sysdev_resume+0x47/0x80 > [17854.688347] [] device_power_up+0xb/0x20 > [17854.688347] [] suspend_devices_and_enter+0xcf/0x150 > [17854.688347] [] ? freeze_processes+0x3f/0x90 > [17854.688347] [] enter_state+0xf4/0x140 > [17854.688347] [] state_store+0x7d/0xc0 > [17854.688347] [] ? state_store+0x0/0xc0 > [17854.688347] [] kobj_attr_store+0x24/0x30 > [17854.688347] [] sysfs_write_file+0x9c/0x100 > [17854.688347] [] vfs_write+0x9c/0x160 > [17854.688347] [] ? restore_nocheck_notrace+0x0/0xe > [17854.688347] [] ? sysfs_write_file+0x0/0x100 > [17854.688347] [] sys_write+0x3d/0x70 > [17854.688347] [] sysenter_do_call+0x12/0x31 Andrey's analysis: > timekeeping_resume() is called via class ->resume > method; and according to comments in sysdev_resume() and > device_power_up(), they are called with interrupts disabled. > > Looking at suspend_enter, irqs *are* disabled at this point. > > So it actually looks like something (may be some driver) > unconditionally enabled irqs in resume path. Add a debug check to test this theory. If it triggers then it triggers because the resume code calls it with irqs enabled, which is a no-no not just for timekeeping_resume(), but also bad for a number of other resume handlers. Reported-by: Andrey Borzenkov Signed-off-by: Peter Zijlstra Signed-off-by: Ingo Molnar commit b2b815d80a5c4e5b50be0a98aba8c445ce8f3e1f Author: Mike Travis Date: Fri Jan 16 15:22:16 2009 -0800 x86: put trigger in to detect mismatched apic versions Impact: add debug warning Fire off one message if two apic's discovered with different apic versions. (this code is only called during CPU init) The goal of this is to pave the way of the removal of the apic_version[] array. We dont expect any apic version incompatibilities in the x86 landscape of systems [if so we dont handle them very well and probably never will handle deep apic version assymetries well], but it's prudent to have a debug check for one kernel cycle nevertheless. Signed-off-by: Mike Travis Signed-off-by: Ingo Molnar commit 64dec40ddee9d36d7b83f8a0513fdeaffe260a0e Author: Jeff Mahoney Date: Fri Jan 16 13:23:35 2009 -0500 x86: define ARCH_WANT_FRAME_POINTERS Commit da4276b8299a6544dc41ac2485d3ffca5811b3fb changed a dependency for FRAME_POINTER from X86 to ARCH_WANT_FRAME_POINTERS, but didn't actually define it. This patch adds the definition for ARCH_WANT_FRAME_POINTERS. Without it, FRAME_POINTER can't be enabled on x86. Signed-off-by: Jeff Mahoney Signed-off-by: Ingo Molnar commit b786c6a98ef6fa81114ba7b9fbfc0d67060775e3 Author: Jiri Slaby Date: Sat Jan 17 12:04:36 2009 +0100 relay: fix lock imbalance in relay_late_setup_files One fail path in relay_late_setup_files() omits mutex_unlock(&relay_channels_mutex); Add it. Signed-off-by: Jiri Slaby Signed-off-by: Ingo Molnar commit 3013ee31b6c5fd9a49a81816d6c13e1cdb7a1288 Author: Artem Bityutskiy Date: Fri Jan 16 19:08:43 2009 +0200 UBI: use nicer 64-bit math Get rid of 'do_div()' and use more user-friendly primitives from 'linux/math64.h'. Signed-off-by: Artem Bityutskiy commit f429b2ea8eadb5a576542a70f7fd6f5c2a7455e1 Author: Artem Bityutskiy Date: Fri Jan 16 18:06:55 2009 +0200 UBI: add ioctl compatibility UBI ioctl's do not work when running 64-bit kernel and 32-bit user-land. Fix this by adding the compat_ioctl method. Also, UBI serializes all ioctls, so more than one ioctl at a time is not a problem. Amd UBI does not seem to depend on anything else, so use unlocked_ioctl instead of ioctl (no BKL needed). Reported-by: Geert Uytterhoeven Signed-off-by: Artem Bityutskiy Reviewed-by: Arnd Bergmann commit e8b815663b1bfd9c255af5176604ec0eafdf6ed7 Author: Artem Bityutskiy Date: Thu Jan 15 17:43:23 2009 +0200 UBIFS: constify operations Mark super, file, and inode operation structcutes with 'const'. Signed-off-by: Artem Bityutskiy commit dedb0d48a9d4d57086526b94a4b64da789a646e4 Author: Artem Bityutskiy Date: Fri Jan 9 21:02:37 2009 +0200 UBIFS: do not commit twice VFS calls '->sync_fs()' twice - first time with @wait = 0, second time with @wait = 1. As a result, we may commit and synchronize write-buffers twice. Avoid doing this by returning immediatelly if @wait = 0. Signed-off-by: Artem Bityutskiy commit 4d187a88d3ee3be6a1a0b6859eb00f70e1601b5e Author: Jan Engelhardt Date: Sun Jan 11 23:55:39 2009 +0100 UBI: constify file operations Signed-off-by: Jan Engelhardt Signed-off-by: Artem Bityutskiy commit ade44ce07c9316351ae321051221c9bad3af3a44 Author: Artem Bityutskiy Date: Fri Jan 16 18:03:22 2009 +0200 UBI: allow all ioctls Some ioctl's in UBI are enabled only when debugging is switched on. There is not particular reason for this, just noone needed them. However, some people need the now for their user-space development. Thus, allow these ioctl's even if UBI debugging is disabled. Signed-off-by: Artem Bityutskiy commit 573135b5dbc02be12940558db23158cc9ee89c66 Author: Artem Bityutskiy Date: Fri Jan 16 18:02:08 2009 +0200 UBI: remove unnecessry header inclusion Signed-off-by: Artem Bityutskiy commit f7fc6f3f33703e3365c0ef9d4bf322b88cc9dae7 Author: Artem Bityutskiy Date: Wed Jan 7 16:10:58 2009 +0200 UBI: improve ioctl commentaries Signed-off-by: Artem Bityutskiy commit a27ce8f55dd5fddf0b8ea179cce8f399c13dc94f Author: Corentin Chary Date: Mon Jan 5 14:48:59 2009 +0100 UBI: add ioctl for is_mapped operation This patch adds ioctl to check if an LEB is mapped or not (as a debugging option so far). [Re-named ioctl to make it look the same as the other one and made some minor stylistic changes. Artem Bityutskiy.] Signed-off-by: Corentin Chary Signed-off-by: Artem Bityutskiy commit c3da23be1673be4e738aea235604b4e6cb259655 Author: Corentin Chary Date: Mon Jan 5 14:46:19 2009 +0100 UBI: add ioctl for unmap operation This patch adds ioctl for the LEB unmap operation (as a debugging option so far). [Re-named ioctl to make it look the same as the other one and made some minor stylistic changes. Artem Bityutskiy.] Signed-off-by: Corentin Chary Signed-off-by: Artem Bityutskiy commit 141e6ebd1b1759bd5cebf092b7216b6f1c7b4c4f Author: Corentin Chary Date: Mon Jan 5 14:44:11 2009 +0100 UBI: add ioctl for map operation This patch adds ioctl for the LEB map operation (as a debugging option so far). [Re-named ioctl to make it look the same as the other one and made some minor stylistic changes. Artem Bityutskiy.] Signed-off-by: Corentin Chary Signed-off-by: Artem Bityutskiy commit c0554f102e428b8d8de3bd006a7aa77d9a3ff930 Merge: a3aaebc cd9f8e6 Author: Takashi Iwai Date: Sun Jan 18 11:06:41 2009 +0100 Merge branch 'topic/oss-cleanup' into for-linus commit a3aaebc4b006e9405cddd553d8a75a531e6f01a8 Merge: 9177b42 989738c Author: Takashi Iwai Date: Sun Jan 18 11:06:37 2009 +0100 Merge branch 'topic/hda' into for-linus commit cd9f8e64c232eeb1247950007ee95de00b89ba7a Author: Henrik Kretzschmar Date: Sun Jan 18 10:40:24 2009 +0100 sound: Remove removed OSS kernel parameters from doc Remove removed OSS kernel parameters from kernel-parameters.txt Remove the kernel parameters from the OSS drivers of the chips es1371 (removed 10-2007/2.6.24) and cs4232 (removed 02-2008/2.6.25) from the kernel parameters documentation. Signed-off-by: Henrik Kretzschmar Signed-off-by: Takashi Iwai commit 989738c4f82126207b9e04c9395b78e544f3d33c Author: Matthew Ranostay Date: Sat Jan 17 18:47:27 2009 -0500 ALSA: hda: fix invalid power mapping masks Fixed invalid power mappings for ports 0xd and 0xe on 93hd83xxx codecs. They were shifted right one too many bits. Signed-off-by: Matthew Ranostay Signed-off-by: Takashi Iwai commit 62dfcd336c79c49f9aeb0acc99cf9a1832102dd5 Author: Sam Ravnborg Date: Sat Jan 17 23:12:27 2009 -0800 sparc64: fix modpost failure Previously PeeCeeI.o was a library but it was always pulled in due to insw and friends being exported (at least for a modular kernel). But this resulted in modpost failures if there where no in-kernel users because then insw & friends were not linked in. Fix this by including PeeCeeI.o in the kernel unconditionally. The only drawback for this solution is that a nonmodular kernel will always include insw & friends no matter if they are in use or not. Reported-by: Meelis Roos Signed-off-by: Sam Ravnborg Signed-off-by: David S. Miller commit c275ce44929402664902cbb09d4f054b315623d7 Author: Sam Ravnborg Date: Sat Jan 17 23:10:35 2009 -0800 sparc64: fix readout of cpu/fpu type Meelis reported that on his box /proc/cpuinfo started to reported "Unknow CPU" and the same did the boot messages. It was a stupid bug I introduced when merging cpu.c for 32 and 64 bit. The code did an array reference where it had to search for the right index. Reported-by: Meelis Roos Tested-by: Meelis Roos Signed-off-by: Sam Ravnborg Signed-off-by: David S. Miller commit 2b190e76def5233c542f6025b4a133b1d4bd1a37 Author: Roel Kluin Date: Sat Jan 17 15:51:27 2009 +0100 panasonic-laptop: fix X[ ARRAY_SIZE(X) ] Ensure pcc->keymap[ ARRAY_SIZE(pcc->keymap) ] does not occur. Signed-off-by: Roel Kluin Signed-off-by: Len Brown commit 4312495f7db63d27ef52ec83dab55f14a8c43827 Author: Tero Roponen Date: Sat Jan 17 13:06:02 2009 +0200 ACPI: Fix crash on ASUS laptops This patch fixes the crash I experienced in 2.6.29-rc2. Tested on ASUS M50vm. Signed-off-by: Tero Roponen Acked-by: Alexey Starikovskiy Signed-off-by: Len Brown commit f3b8436ad9a8ad36b3c9fa1fe030c7f38e5d3d0b Merge: 0bac038 ac8581d Author: Linus Torvalds Date: Sat Jan 17 14:28:53 2009 -0800 Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/roland/infiniband * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/roland/infiniband: IB/ehca: Use consistent types for ehca_plpar_hcall9() IB/ehca: Fix printk format warnings from u64 type change IPoIB: Do not print error messages for multicast join retries IB/mlx4: Fix memory ordering problem when posting LSO sends mlx4_core: Fix min() warning IPoIB: Fix deadlock between ipoib_open() and child interface create IPoIB: Fix hang in napi_disable() if P_Key is never found commit 0bac038a9eec00ac27f95ca0360954c0016fd859 Merge: 8115692 5dbdf73 Author: Linus Torvalds Date: Sat Jan 17 14:28:23 2009 -0800 Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/lrg/voltage-2.6 * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/lrg/voltage-2.6: move wm8400-regulator's probe function to .devinit.text commit 81156928f8fe31621e467490b9d441c0285998c3 Author: Pavel Roskin Date: Sat Jan 17 13:33:03 2009 -0500 dell_rbu: use scnprintf() instead of less secure sprintf() Reading 0 bytes from /sys/devices/platform/dell_rbu/image_type or /sys/devices/platform/dell_rbu/packet_size by an ordinary user causes an oops. Signed-off-by: Pavel Roskin Signed-off-by: Linus Torvalds commit 0d54ee1c7850a954026deec4cd4885f331da35cc Author: Vegard Nossum Date: Sat Jan 17 17:45:45 2009 +0100 security: introduce missing kfree Plug this leak. Acked-by: David Howells Cc: James Morris Cc: Signed-off-by: Vegard Nossum Signed-off-by: Linus Torvalds commit fdb6a8f4db813b4e50f4e975efe6be12ba5bf460 Author: Robert Richter Date: Sat Jan 17 17:13:27 2009 +0100 oprofile: fix uninitialized use of struct op_entry Impact: fix crash In case of losing samples struct op_entry could have been used uninitialized causing e.g. a wrong preemption count or NULL pointer access. This patch fixes this. Signed-off-by: Robert Richter Signed-off-by: Ingo Molnar commit 5dbdf7354821e00e4419ac3520d05d126857d56e Author: Uwe Kleine-König Date: Mon Jan 12 23:25:05 2009 +0100 move wm8400-regulator's probe function to .devinit.text A pointer to wm8400_regulator_probe is passed to the core via platform_driver_register and so the function must not disappear when the .init sections are discarded. Otherwise (if also having HOTPLUG=y) unbinding and binding a device to the driver via sysfs will result in an oops as does a device being registered late. An alternative to this patch is using platform_driver_probe instead of platform_driver_register plus removing the pointer to the probe function from the struct platform_driver. Signed-off-by: Uwe Kleine-König Signed-off-by: Liam Girdwood commit 9177b42bd7ce4fd1f7eef6d80221db1b148c973b Merge: db45705 2de686d Author: Takashi Iwai Date: Sat Jan 17 12:10:17 2009 +0100 Merge branch 'topic/hda' into for-linus commit db45705c7fc473fd2ffb2c9621df4a4a4f33f1ad Merge: 1de9e8e 591046c Author: Takashi Iwai Date: Sat Jan 17 12:10:13 2009 +0100 Merge branch 'topic/asoc' into for-linus commit 5d8b532af9e52ea89208f5ef31889f646e67ba28 Author: Rafael J. Wysocki Date: Fri Jan 16 23:09:14 2009 +0100 ACPI suspend: Fix compilation warnings in drivers/acpi/sleep.c Fix two compilation warnings in drivers/acpi/sleep.c, one triggered by unsetting CONFIG_SUSPEND and the other triggered by unsetting CONFIG_HIBERNATION, by moving some code under the appropriate #ifdefs . Signed-off-by: Rafael J. Wysocki Signed-off-by: Len Brown commit 091d71e023557136e96f0e54f301497a3fc95dc3 Author: Rafael J. Wysocki Date: Sat Jan 17 00:10:45 2009 +0100 PM: Fix compilation warning in kernel/power/main.c Reorder the code in kernel/power/main.c to fix compilation warning triggered by unsetting CONFIG_SUSPEND. Signed-off-by: Rafael J. Wysocki Signed-off-by: Len Brown commit ac8581d408d41ebd5583b4e85b18e7ef16bb044b Merge: ee96aae 3c20962 0fd7e1d Author: Roland Dreier Date: Fri Jan 16 15:05:54 2009 -0800 Merge branches 'ehca', 'ipoib' and 'mlx4' into for-linus commit ee96aae57381e77311538f4a1dd4326f6ae079d1 Author: Stephen Rothwell Date: Fri Jan 16 14:55:40 2009 -0800 IB/ehca: Use consistent types for ehca_plpar_hcall9() ehca_plpar_hcall9() takes an unsigned long array, so make all callers pass that in. This fixes warnings introduced by commit fe333321 ("powerpc: Change u64/s64 to a long long integer type"), which changed u64 from unsigned long to unsigned long long. Signed-off-by: Stephen Rothwell Signed-off-by: Roland Dreier commit 3750f60557b68776eb749859ad68af70d1a01ad0 Author: Stephen Rothwell Date: Fri Jan 16 14:55:28 2009 -0800 IB/ehca: Fix printk format warnings from u64 type change Commit fe333321 ("powerpc: Change u64/s64 to a long long integer type") changed u64 from unsigned long to unsigned long long, which means that printk formats for printing u64 values should use "ll" instead of "l" to avoid warnings. Fix all the places affected by this in ehca. Signed-off-by: Stephen Rothwell Signed-off-by: Roland Dreier commit 674743033c1ae9f7cc94e1e0037f6f719e6d1d67 Author: Christian Lamparter Date: Fri Jan 16 19:46:28 2009 +0100 p54: fix p54_set_key's return code p54 doesn't support AES-128-CMAC offload. This patch will fix the noisy mac80211 warnings, when 802.11w is enabled: mac80211-phy189: failed to set key (4, ff:ff:ff:ff:ff:ff) to hardware (-22) mac80211-phy189: failed to set key (5, ff:ff:ff:ff:ff:ff) to hardware (-22) Signed-off-by: Christian Lamparter Signed-off-by: John W. Linville commit 275719089bfe7dbf446b72c3e520966e7fa42b6a Author: Artur Skawina Date: Thu Jan 15 21:07:03 2009 +0100 p54: set_tim must be atomic. Fix for: BUG: scheduling while atomic: named/2004/0x10000200 Pid: 2004, comm: named Not tainted 2.6.29-rc1-00271-ge9fa6b0 #45 Call Trace: [] schedule+0x2a7/0x320 [] __alloc_skb+0x34/0x110 [] __cond_resched+0x13/0x30 [] _cond_resched+0x2d/0x40 [] kmem_cache_alloc+0x95/0xc0 [] check_object+0xc4/0x230 [] __alloc_skb+0x34/0x110 [] p54_alloc_skb+0x71/0xf0 [] p54_set_tim+0x3f/0xa0 [] sta_info_set_tim_bit+0x64/0x80 [] invoke_tx_handlers+0xd57/0xd80 [] free_debug_processing+0x197/0x210 [] pskb_expand_head+0xf5/0x170 [] __ieee80211_tx_prepare+0x164/0x2f0 [] ieee80211_skb_resize+0x6d/0xe0 [] ieee80211_master_start_xmit+0x23f/0x550 [] __slab_alloc+0x2b8/0x4f0 [] getnstimeofday+0x51/0x120 [] dev_hard_start_xmit+0x1db/0x240 [] __qdisc_run+0x1ab/0x200 [] __run_hrtimer+0x31/0xf0 [] dev_queue_xmit+0x247/0x500 [] ieee80211_subif_start_xmit+0x356/0x7d0 [] packet_rcv_spkt+0x37/0x150 [] packet_rcv_spkt+0x37/0x150 [] dev_hard_start_xmit+0x1db/0x240 [] __qdisc_run+0x1ab/0x200 [] dev_queue_xmit+0x247/0x500 [] neigh_resolve_output+0xe2/0x200 [] ip_finish_output+0x0/0x290 [] ip_finish_output+0x1e7/0x290 [] ip_local_out+0x15/0x20 [] ip_push_pending_frames+0x272/0x380 [] udp_push_pending_frames+0x146/0x3a0 [] udp_sendmsg+0x2fa/0x6b0 [] inet_sendmsg+0x37/0x70 [] sock_sendmsg+0xbe/0x100 [] autoremove_wake_function+0x0/0x50 [] __wake_up_common+0x43/0x70 [] copy_from_user+0x32/0x130 [] copy_from_user+0x32/0x130 [] verify_iovec+0x2e/0xb0 [] sys_sendmsg+0x17f/0x290 [] pipe_write+0x29a/0x570 [] update_wall_time+0x492/0x8e0 [] getnstimeofday+0x51/0x120 [] sched_slice+0x3d/0x80 [] getnstimeofday+0x51/0x120 [] hrtimer_forward+0x147/0x1a0 [] lapic_next_event+0x10/0x20 [] clockevents_program_event+0xa3/0x170 [] sys_socketcall+0xa4/0x290 [] smp_apic_timer_interrupt+0x40/0x70 [] sysenter_do_call+0x12/0x25 Signed-off-by: Artur Skawina Acked-by: Christian Lamparter Signed-off-by: John W. Linville commit e223b6dc051ad030a70d5c6ed6226b95bdfc3af7 Author: Rami Rosen Date: Wed Jan 14 00:00:13 2009 +0200 rt2x00: fix a wrong parameter for __test_and_clear_bit() in rt2x00rfkill_free(). When running modprobe rt73usb, and then rmmod rt73usb, and then iwconfig, the wlan0 device does not disappear. When repeating this process again, we get a kernel Oops errors and "BUG: unable to handle kernel paging request..." message in the kernel log. The reason for this is that there is an error in rt2x00rfkill_free(), which is called in the process of removing the device (rt2x00lib_remove_dev() in rt2x00dev.c). rt2x00rfkill_free() clears the RFKILL_STATE_ALLOCATED bit , which is bit number 1 () in rt2x00dev->flags instead of in rt2x00dev->rfkill_state. As a result, when checking the DEVICE_STATE_REGISTERED_HW bit (bit number 1 in rt2x00dev->flags) in rt2x00lib_remove_hw() it is **unset**, and we wrongly **don't** call ieee80211_unregister_hw(). This patch corrects this: the parameter for __test_and_clear_bit() in rt2x00rfkill_free() should be &rt2x00dev->rfkill_state and not &rt2x00dev->flags. Signed-off-by: Rami Rosen Acked-by: Ivo van Doorn Signed-off-by: John W. Linville commit 02e68a3da0fbdb178cdec54b7db48edeefd1691d Author: Luis R. Rodriguez Date: Wed Jan 7 17:43:37 2009 -0800 cfg80211: Fix parsed country IE info for 5 GHz The country IE number of channels on 5 GHz specifies the number of 5 GHz channels, not the number of sequential channel numbers. For example, if in a country IEs if the first channel given is 36 and the number of channels passed is 4 then the individual channel numbers defined for the 5 GHz PHY by these parameters are: 36, 40, 44, 48 not: 36, 37, 38, 39 See: http://tinyurl.com/11d-clarification Signed-off-by: Luis R. Rodriguez Acked-by: Johannes Berg Signed-off-by: John W. Linville commit 0c7dc45d21de6ae212b5ccb7cdff5beff795ccf0 Author: Luis R. Rodriguez Date: Wed Jan 7 17:43:36 2009 -0800 cfg80211: Fix regression with 11d on bands This fixes a regression on disallowing bands introduced with the new 802.11d support. The issue is that IEEE-802.11 allows APs to send a subset of what a country regulatory domain defines. This was clarified in this document: http://tinyurl.com/11d-clarification As such it is possible, and this is what is done in practice, that a single band 2.4 GHz AP will only send 2.4 GHz band regulatory information through the 802.11 country information element and then the current intersection with what CRDA provided yields a regulatory domain with no 5 GHz information -- even though that country may actually allow 5 GHz operation. We correct this by only applying the intersection rules on a channel if the the intersection yields a regulatory rule on the same band the channel is on. Signed-off-by: Luis R. Rodriguez Acked-by: Johannes Berg Signed-off-by: John W. Linville commit a92a3ce72483d7f0902dff8a3be8cdcee215a37c Author: Luis R. Rodriguez Date: Wed Jan 7 17:43:33 2009 -0800 cfg80211: make handle_band() and handle_channel() wiphy specific This allows us to make more wiphy specific judgements when handling the channels later on. Signed-off-by: Luis R. Rodriguez Acked-by: Johannes Berg Signed-off-by: John W. Linville commit 73e1a65d3c4a013f6fa56e47133be95143a75fe3 Author: Zhu Yi Date: Thu Jan 8 10:19:58 2009 -0800 iwlwifi: remove CMD_WANT_SKB flag if send_cmd_sync failure In function iwl_send_cmd_sync(), if the flag CMD_WANT_SKB is set but we are not provided with a valid SKB (cmd->meta.u.skb == NULL), we need to remove the CMD_WANT_SKB flag from the TX cmd queue. Otherwise in case the cmd comes in later, it will possibly set an invalid address. Thus it causes an invalid memory access. This fixed the bug http://bugzilla.kernel.org/show_bug.cgi?id=11326. Signed-off-by: Zhu Yi Signed-off-by: John W. Linville commit 9d97f2e55e3df44e3b6b4cc58b091501ba7ee0ac Author: Jouni Malinen Date: Tue Jan 13 14:35:08 2009 +0200 ath9k: Fix an operator typo in REG_DOMAIN_2GHZ_MASK Incorrect operator causes the REG_DOMAIN_2GHZ_MASK to be zero which surely was not the goal of this definition. Mask out the 11a flags correctly. Signed-off-by: Jouni Malinen Signed-off-by: John W. Linville commit b657eade2f98b5c689e405bd6e4e445471066380 Author: Jouni Malinen Date: Tue Jan 13 14:33:49 2009 +0200 ath9k: Fix an operator typo in phy rate validation This was not supposed to be a bitwise AND operation, but a check of two separate conditions. Anyway, the old code happened to result in the same behavior, so this is just changing the code to be easier to understand and also to keep sparse from warning about dubious operators. Signed-off-by: Jouni Malinen Signed-off-by: John W. Linville commit d71038c05970ad0c9d7da6f797803f69e4f91837 Author: Andrey Yurovsky Date: Mon Jan 12 13:14:27 2009 -0800 libertas: Fix alignment issues in libertas core Data structures that come over the wire from the WLAN firmware must be packed. This fixes alignment problems on the blackfin architecture and, reportedly, on the AVR32. This is a replacement for the previous version of this patch which had also explicitly used get_unaligned_ macros. As Johannes Berg pointed out, these macros were unnecessary. Signed-off-by: Andrey Yurovsky Signed-off-by: Colin McCabe Signed-off-by: John W. Linville commit b6b50a21625bbf59a89b807dd0fc1eb5412aeff3 Author: Randy Dunlap Date: Fri Jan 9 15:25:09 2009 -0800 mac80211: more kernel-doc fixes Fix (delete) more mac80211 kernel-doc: Warning(linux-2.6.28-git13//include/net/mac80211.h:375): Excess struct/union/enum/typedef member 'retry_count' description in 'ieee80211_tx_info' Warning(linux-2.6.28-git13//net/mac80211/sta_info.h:308): Excess struct/union/enum/typedef member 'last_txrate' description in 'sta_info' Signed-off-by: Randy Dunlap Signed-off-by: John W. Linville commit ef15aa490f2e447ce04fe643500b814ef40f6ea9 Author: Christian Lamparter Date: Fri Jan 9 21:06:30 2009 +0100 p54: fix oops caused by bad eeproms This patch fixes a bug that could occur, if it the eeprom is incomplete or partly corrupted. BUG: unable to handle kernel NULL pointer dereference at 00000008 IP: p54_assign_address+0x108/0x15d [p54common] Oops: 0002 [#1] SMP Pid: 12988, comm: phy1 Tainted: P W 2.6.28-rc6-wl #3 RIP: 0010: p54_assign_address+0x108/0x15d [p54common] [...] Call Trace: p54_alloc_skb+0xa3/0xc0 [p54common] p54_scan+0x37/0x204 [p54common] [...] Signed-off-by: Christian Lamparter Signed-off-by: John W. Linville commit 3c20962086b0ceb5498ba840e5a91bf4a692aae9 Author: Yossi Etigin Date: Fri Jan 16 13:42:59 2009 -0800 IPoIB: Do not print error messages for multicast join retries When IPoIB tries to join a multicast group, and the SA module's SM address handle is NULL (because of an SM change, etc), the join returns with -EAGAIN status. In that case, don't print an error message unless multicast debugging is enabled. Signed-off-by: Yossi Etigin Signed-off-by: Roland Dreier commit aa8c6c93747f7b55fa11e1624fec8ca33763a805 Author: Rafael J. Wysocki Date: Fri Jan 16 21:54:43 2009 +0100 PCI PM: Restore standard config registers of all devices early There is a problem in our handling of suspend-resume of PCI devices that many of them have their standard config registers restored with interrupts enabled and they are put into the full power state with interrupts enabled as well. This may lead to the following scenario: * an interrupt vector is shared between two or more devices * one device is resumed earlier and generates an interrupt * the interrupt handler of another device tries to handle it and attempts to access the device the config space of which hasn't been restored yet and/or which still is in a low power state * the system crashes as a result To prevent this from happening we should restore the standard configuration registers of all devices with interrupts disabled and we should put them into the D0 power state right after that. Unfortunately, this cannot be done using the existing pci_set_power_state(), because it can sleep. Also, to do it we have to make sure that the config spaces of all devices were actually saved during suspend. Signed-off-by: Rafael J. Wysocki Acked-by: Linus Torvalds Signed-off-by: Jesse Barnes commit 0fd7e1d8559f45a6838cee93ea49adc0c5bda8f0 Author: Roland Dreier Date: Fri Jan 16 12:47:47 2009 -0800 IB/mlx4: Fix memory ordering problem when posting LSO sends The current work request posting code writes the LSO segment before writing any data segments. This leaves a window where the LSO segment overwrites the stamping in one cacheline that the HCA prefetches before the rest of the cacheline is filled with the correct data segments. When the HCA processes this work request, a local protection error may result. Fix this by saving the LSO header size field off and writing it only after all data segments are written. This fix is a cleaned-up version of a patch from Jack Morgenstein . This fixes . Reported-by: Jack Morgenstein Signed-off-by: Roland Dreier commit 1de9e8e70f5acc441550ca75433563d91b269bbe Author: Linus Torvalds Date: Fri Jan 16 12:43:00 2009 -0800 Linux 2.6.29-rc2 commit 71556b9800fff8bf59075d2c1622acc9d99113ef Merge: abcea85 d45e085 Author: Linus Torvalds Date: Fri Jan 16 12:40:37 2009 -0800 Merge branch 'release' of git://git.kernel.org/pub/scm/linux/kernel/git/lenb/linux-acpi-2.6 * 'release' of git://git.kernel.org/pub/scm/linux/kernel/git/lenb/linux-acpi-2.6: (23 commits) ACPI PCI hotplug: harden against panic regression ACPI: rename main.c to sleep.c dell-laptop: move to drivers/platform/x86/ from drivers/misc/ eeepc-laptop: enable Bluetooth ACPI details ACPI: fix ACPI_FADT_S4_RTC_WAKE comment kprobes: check CONFIG_FREEZER instead of CONFIG_PM PM: Fix freezer compilation if PM_SLEEP is unset thermal fixup for broken BIOS which has invalid trip points. ACPI: EC: Don't trust ECDT tables from ASUS ACPI: EC: Limit workaround for ASUS notebooks even more ACPI: thinkpad-acpi: bump up version to 0.22 ACPI: thinkpad-acpi: handle HKEY event 6030 ACPI: thinkpad-acpi: clean-up fan subdriver quirk ACPI: thinkpad-acpi: start the event hunt season ACPI: thinkpad-acpi: handle HKEY thermal and battery alarms ACPI: thinkpad-acpi: clean up hotkey_notify() ACPI: thinkpad-acpi: use killable instead of interruptible mutexes ACPI: thinkpad-acpi: add UWB radio support ACPI: thinkpad-acpi: preserve radio state across shutdown ACPI: thinkpad-acpi: resume with radios disabled ... commit abcea859783f63c9140ebd9fcb69580d0832f2c8 Merge: 4b48d9d 0097778 Author: Linus Torvalds Date: Fri Jan 16 12:40:11 2009 -0800 Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-2.6 * git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-2.6: netxen: include ipv6.h (fixes build failure) netxen: avoid invalid iounmap commit 0db29af1e767464d71b89410d61a1e5b668d0370 Author: Hidetoshi Seto Date: Wed Dec 24 17:27:04 2008 +0900 PCI/MSI: bugfix/utilize for msi_capability_init() This patch fix a following bug and does a cleanup. bug: commit 5993760f7fc75b77e4701f1e56dc84c0d6cf18d5 had a wrong change (since is_64 is boolean[0|1]): - pci_write_config_dword(dev, - msi_mask_bits_reg(pos, is_64bit_address(control)), - maskbits); + pci_write_config_dword(dev, entry->msi_attrib.is_64, maskbits); utilize: Unify separated if (entry->msi_attrib.maskbit) statements. Signed-off-by: Hidetoshi Seto Acked-by: "Jike Song" Cc: stable@vger.kernel.org Signed-off-by: Jesse Barnes commit d45e0855488032ea62ec5638fb1dcd47367f8ddb Author: James Bottomley Date: Thu Jan 15 15:12:27 2009 -0500 ACPI PCI hotplug: harden against panic regression ACPI hotplug panic with current git head http://lkml.org/lkml/2009/1/10/136 Rather than reverting the entire commit that causes the crash: e8c331e963c58b83db24b7d0e39e8c07f687dbc6 "PCI hotplug: introduce functions for ACPI slot detection" simply harden against it while the changes to the hotplug code on this particularl machine are understood. Signed-off-by: James Bottomley Acked-by: Jesse Barnes Signed-off-by: Len Brown commit 88d998c264722cd6e8fafa42aee191f7d9194960 Merge: 79491ca d08ca2c Author: Len Brown Date: Fri Jan 16 14:45:34 2009 -0500 Merge branch 'misc' into release commit 79491ca416347f9e3c51993db556ba78bef44afa Merge: f1f055f aa2fbce Author: Len Brown Date: Fri Jan 16 14:45:24 2009 -0500 Merge branch 'thinkpad-acpi' into release commit f1f055f1036a20742608c28ee82139f572dfd031 Merge: 4b48d9d c6cb0e8 0e4240d Author: Len Brown Date: Fri Jan 16 14:45:11 2009 -0500 Merge branches 'bugzilla-11884' and 'bugzilla-8544' into release commit d08ca2ca743f324eceba59e93188f9439e966bce Author: Len Brown Date: Fri Jan 16 13:52:03 2009 -0500 ACPI: rename main.c to sleep.c Signed-off-by: Len Brown commit cad73120ab0dfd484682229346de8c16073577e1 Author: Len Brown Date: Fri Jan 9 17:23:38 2009 -0500 dell-laptop: move to drivers/platform/x86/ from drivers/misc/ Signed-off-by: Len Brown commit 3af9bfcb433c110839e4c815a9928377f66bbd0e Author: Jonathan McDowell Date: Wed Dec 3 20:31:11 2008 +0000 eeepc-laptop: enable Bluetooth ACPI details Although rfkill support for the EEE bluetooth device has been added to 2.6.28-rc the appropriate ACPI accessor definitions were not added, so the support was non functional. The patch below adds the get and set accessors and has been verified to work on an EEE 901. Signed-off-by: Jonathan McDowell Acked-by: Matthew Garrett Acked-by: Corentin Chary Signed-off-by: Len Brown commit c3407710b76610962a5ebb244172631ef9eeb51a Author: David Brownell Date: Fri Jan 9 12:17:08 2009 -0800 ACPI: fix ACPI_FADT_S4_RTC_WAKE comment Make the comment for ACPI_FADT_S4_RTC_WAKE match the ACPI spec; that bit has nothing to do with status bits. Signed-off-by: David Brownell Signed-off-by: Andrew Morton Signed-off-by: Len Brown commit 5a4ccaf37ffece09ef33f1cfec67efa8ee56f967 Author: Masami Hiramatsu Date: Tue Jan 6 21:15:32 2009 +0100 kprobes: check CONFIG_FREEZER instead of CONFIG_PM Check CONFIG_FREEZER instead of CONFIG_PM because kprobe booster depends on freeze_processes() and thaw_processes() when CONFIG_PREEMPT=y. This fixes a linkage error which occurs when CONFIG_PREEMPT=y, CONFIG_PM=y and CONFIG_FREEZER=n. Reported-by: Cheng Renquan Signed-off-by: Masami Hiramatsu Signed-off-by: Rafael J. Wysocki Acked-by: Ingo Molnar Signed-off-by: Len Brown commit 33f1d7ecc6cffff3c618a02295de969ebbacd95d Author: Rafael J. Wysocki Date: Tue Jan 6 21:14:04 2009 +0100 PM: Fix freezer compilation if PM_SLEEP is unset Freezer fails to compile if with the following configuration settings: CONFIG_CGROUPS=y CONFIG_CGROUP_FREEZER=y CONFIG_MODULES=y CONFIG_FREEZER=y CONFIG_PM=y CONFIG_PM_SLEEP=n Fix this by making process.o compilation depend on CONFIG_FREEZER. Reported-by: Cheng Renquan Signed-off-by: Rafael J. Wysocki Acked-by: Pavel Machek Signed-off-by: Len Brown commit 0e4240d94628530a912d216cad1e32d2e3827327 Author: Zhang Rui Date: Fri Jan 16 12:53:42 2009 -0500 thermal fixup for broken BIOS which has invalid trip points. ACPI thermal driver only re-evaluate VALID trip points. For the broken BIOS show in http://bugzilla.kernel.org/show_bug.cgi?id=8544 the active[0] is set to invalid at boot time and it will not be re-evaluated again. We can still get a single warning message at boot time. http://marc.info/?l=linux-kernel&m=120496222629983&w=2 http://bugzilla.kernel.org/show_bug.cgi?id=12203 Signed-off-by: Zhang Rui Tested-by: Márton Németh Signed-off-by: Len Brown commit 009777846165fcc49352c0f1487e3a96102884c3 Author: Dhananjay Phadke Date: Fri Jan 16 11:03:25 2009 -0800 netxen: include ipv6.h (fixes build failure) Fixes a build error in absence of CONFIG_IPV6: drivers/net/netxen/netxen_nic_main.c:1189: error: implicit declaration of function 'ipv6_hdr' drivers/net/netxen/netxen_nic_main.c:1189: error: invalid type argument of '->' Reported-by: Ingo Molnar Signed-off-by: Dhananjay Phadke Signed-off-by: David S. Miller commit c6cb0e878446c79f42e7833d7bb69ed6bfbb381f Author: Alexey Starikovskiy Date: Wed Jan 14 02:57:53 2009 +0300 ACPI: EC: Don't trust ECDT tables from ASUS http://bugzilla.kernel.org/show_bug.cgi?id=9399 http://bugzilla.kernel.org/show_bug.cgi?id=11880 Signed-off-by: Alexey Starikovskiy Signed-off-by: Len Brown commit 3bfafd6b136bea2de9bd96c01b7e3808635a15b2 Author: Dhananjay Phadke Date: Fri Jan 16 11:03:01 2009 -0800 netxen: avoid invalid iounmap For NX3031 only one I/O range is mapped, so unmapping other two which are used by older chips, causes this warning on ppc64. "Attempt to iounmap early bolted mapping at 0x0000000000000000" Signed-off-by: Dhananjay Phadke Signed-off-by: David S. Miller commit 235c4a59278eb07e61d909f1f0c233733034a8b3 Author: Alexey Starikovskiy Date: Wed Jan 14 02:57:47 2009 +0300 ACPI: EC: Limit workaround for ASUS notebooks even more References: http://bugzilla.kernel.org/show_bug.cgi?id=11884 Signed-off-by: Alexey Starikovskiy Signed-off-by: Len Brown commit 4b48d9d44ebe0e8c31b4fe3b7480941576fff613 Merge: b762666 c071fcf Author: Linus Torvalds Date: Fri Jan 16 09:32:33 2009 -0800 Merge git://git.kernel.org/pub/scm/linux/kernel/git/mason/btrfs-unstable * git://git.kernel.org/pub/scm/linux/kernel/git/mason/btrfs-unstable: Btrfs: fix ioctl arg size (userland incompatible change!) Btrfs: Clear the device->running_pending flag before bailing on congestion commit cc33412fb1f11613e20f9dfc2919a77ecd63fbc4 Author: Jan Kara Date: Mon Jan 12 17:23:05 2009 +0100 quota: Improve locking We implement dqget() and dqput() that need neither dqonoff_mutex nor dqptr_sem. Then move dqget() and dqput() calls so that they are not called from under dqptr_sem. This is important because filesystem callbacks aren't called from under dqptr_sem which used to cause *lots* of problems with lock ranking (and with OCFS2 they became close to unsolvable). The patch also removes two functions which were introduced solely because OCFS2 needed them to cope with the old locking scheme. As time showed, they were not enough for OCFS2 anyway and it would be unnecessary work to adapt them to the new locking scheme in which they aren't needed. As a result OCFS2 needs the following patch to compile properly with quotas. Sorry to any bisecters which hit this in advance. Signed-off-by: Jan Kara commit c071fcfdb60e7abbe95e02460005d6bca165bf24 Author: Chris Mason Date: Fri Jan 16 11:59:08 2009 -0500 Btrfs: fix ioctl arg size (userland incompatible change!) The structure used to send device in btrfs ioctl calls was not properly aligned, and so 32 bit ioctls would not work properly on 64 bit kernels. We could fix this with compat ioctls, but we're just one byte away and it doesn't make sense at this stage to carry about the compat ioctls forever at this stage in the project. This patch brings the ioctl arg up to an evenly aligned 4k. Signed-off-by: Chris Mason commit 1d9e2ae949411c2f329f30e01ea0355cd02c4296 Author: Chris Mason Date: Fri Jan 16 11:58:19 2009 -0500 Btrfs: Clear the device->running_pending flag before bailing on congestion Btrfs maintains a queue of async bio submissions so the checksumming threads don't have to wait on get_request_wait. In order to avoid extra wakeups, this code has a running_pending flag that is used to tell new submissions they don't need to wake the thread. When the threads notice congestion on a single device, they may decide to requeue the job and move on to other devices. This makes sure the running_pending flag is cleared before the job is requeued. It should help avoid IO stalls by making sure the task is woken up when new submissions come in. Signed-off-by: Chris Mason commit 08ec8c3878cea0bf91f2ba3c0badf44b383752d0 Author: Theodore Ts'o Date: Fri Jan 16 11:57:00 2009 -0500 jbd2: On a __journal_expect() assertion failure printk "JBD2", not "EXT3-fs" Otherwise it can be very confusing to find a "EXT3-fs: " failure in the middle of EXT4-fs failures, and it makes it harder to track the source of the failure. Signed-off-by: "Theodore Ts'o" commit b762666cc7c9f83ac5759127c29dfad438c09e48 Merge: e58d4fd 0025e75 Author: Linus Torvalds Date: Fri Jan 16 08:41:09 2009 -0800 Merge branch 'merge' of git://git.kernel.org/pub/scm/linux/kernel/git/benh/powerpc * 'merge' of git://git.kernel.org/pub/scm/linux/kernel/git/benh/powerpc: serial: Add 16850 uart type support to OF uart driver hvc_console: Remove tty->low_latency powerpc: Get the number of SLBs from "slb-size" property powerpc: is_hugepage_only_range() must account for both 4kB and 64kB slices powerpc/ps3: printing fixups for l64 to ll64 conversion drivers/video powerpc/ps3: Printing fixups for l64 to ll64 conversion drivers/scsi powerpc/ps3: Printing fixups for l64 to ll64 conversion drivers/ps3 powerpc/ps3: Printing fixups for l64 to ll64 conversion sound/ppc powerpc/ps3: Printing fixups for l64 to ll64 conversion drivers/char powerpc/ps3: Printing fixups for l64 to ll64 conversion drivers/block powerpc/ps3: Printing fixups for l64 to ll64 conversion arch/powerpc powerpc/ps3: ps3_repository_read_mm_info() takes u64 * arguments powerpc/ps3: clear_bit()/set_bit() operate on unsigned longs powerpc/ps3: The lv1_ routines have u64 parameters powerpc/ps3: Use dma_addr_t down through the stack powerpc/ps3: set_dabr() takes an unsigned long powerpc: Cleanup from l64 to ll64 change drivers/scsi commit e58d4fd89aa91369357526f810c783a5acaf0cc4 Merge: a11d9b6 e4ac522 Author: Linus Torvalds Date: Fri Jan 16 08:40:57 2009 -0800 Merge branch 'upstream-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jgarzik/libata-dev * 'upstream-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jgarzik/libata-dev: sata_fsl: Return non-zero on error in probe() drivers/ata/pata_ali.c: s/isa_bridge/ali_isa_bridge/ to fix alpha build libata: New driver for OCTEON SOC Compact Flash interface (v7). libata: Add another column to the ata_timing table. sata_via: Add VT8261 support pata_atiixp: update port enabledness test handling [libata] get-identity ioctl: Fix use of invalid memory pointer commit a11d9b623ea7cdcd647318bb2b3282d4c337f086 Merge: 4c44323 32aeef6 Author: Linus Torvalds Date: Fri Jan 16 08:40:40 2009 -0800 Merge git://git.kernel.org/pub/scm/linux/kernel/git/jejb/scsi-rc-fixes-2.6 * git://git.kernel.org/pub/scm/linux/kernel/git/jejb/scsi-rc-fixes-2.6: [SCSI] Skip deleted devices in __scsi_device_lookup_by_target() [SCSI] Add SUN Universal Xport to no attach blacklist [SCSI] iscsi_tcp: make padbuf non-static [SCSI] mpt fusion: Add Firmware debug support [SCSI] mpt fusion: Add separate msi enable disable for FC,SPI,SAS [SCSI] mpt fusion: Update MPI Headers to version 01.05.19 [SCSI] qla2xxx: Fix ISP restart bug in multiq code commit 4c44323db15f26f4c744f06179daa43711cdb708 Merge: 50246dd 34b8686 Author: Linus Torvalds Date: Fri Jan 16 08:39:52 2009 -0800 Merge branch 'drm-next' of git://git.kernel.org/pub/scm/linux/kernel/git/airlied/drm-2.6 * 'drm-next' of git://git.kernel.org/pub/scm/linux/kernel/git/airlied/drm-2.6: drm/i915: lock correct mutex around object unreference. drm/i915: add support for physical memory objects drm/i915: make LVDS fixed mode a preferred mode drm: handle depth & bpp changes correctly drm: initial KMS config fixes drm/i915: setup sarea properly in master_priv drm/i915: set vblank enabled flag correctly across IRQ install/uninstall drm/i915: don't enable vblanks on disabled pipes commit 591046cfc5f1b452db0a4557850ad7f394e38231 Author: Ben Nizette Date: Fri Jan 16 08:45:45 2009 +1100 ASoC: atmel_pcm: Remove non-existant header doesn't exist on AVR32 and therefore this driver won't build on that arch. AFAICT this driver doesn't actually use the content of that header so easiest just to remove it. Signed-off-by: Ben Nizette Signed-off-by: Mark Brown commit 50246dd41ccbcb47beb06d6c1d9355f6b7137a11 Author: Linus Torvalds Date: Fri Jan 16 08:14:51 2009 -0800 Revert "PCI PM: Register power state of devices during initialization" This reverts commit 98e6e286d7b01deb7453b717aa38ebb69d6cefc0, as Yinghai Lu reports that it breaks kexec with at least the e1000 and e1000e drivers. The reason is that the shutdown sequence puts the hardware into D3 sleep, and the commit causes us to claim that it then is in D0 (running) state just because we don't understand the PM capabilities. Which then later makes "pci_set_power_state()" not do anything, and the device never wakes up properly and just returns 0xff to everything. Reported-by: Yinghai Lu Acked-by: From: Rafael J. Wysocki Cc: Jesse Barnes Signed-off-by: Linus Torvalds commit a21102b55c4f8dfd3adb4a15a34cd62237b46039 Author: Theodore Ts'o Date: Fri Jan 16 11:13:47 2009 -0500 ext3: Add sanity check to make_indexed_dir Make sure the rec_len field in the '..' entry is sane, lest we overrun the directory block and cause a kernel oops on a purposefully corrupted filesystem. This fixes a bug related to a bug originally reported by Sami Liedes for ext4 at: http://bugzilla.kernel.org/show_bug.cgi?id=12430 Signed-off-by: "Theodore Ts'o" Cc: stable@kernel.org commit e6b8bc09ba2075cd91fbffefcd2778b1a00bd76f Author: Theodore Ts'o Date: Fri Jan 16 11:13:40 2009 -0500 ext4: Add sanity check to make_indexed_dir Make sure the rec_len field in the '..' entry is sane, lest we overrun the directory block and cause a kernel oops on a purposefully corrupted filesystem. Thanks to Sami Liedes for reporting this bug. http://bugzilla.kernel.org/show_bug.cgi?id=12430 Signed-off-by: "Theodore Ts'o" Cc: stable@kernel.org commit 06a279d636734da32bb62dd2f7b0ade666f65d7c Author: Theodore Ts'o Date: Sat Jan 17 18:41:37 2009 -0500 ext4: only use i_size_high for regular files Directories are not allowed to be bigger than 2GB, so don't use i_size_high for anything other than regular files. E2fsck should complain about these inodes, but the simplest thing to do for the kernel is to only use i_size_high for regular files. This prevents an intentially corrupted filesystem from causing the kernel to burn a huge amount of CPU and issuing error messages such as: EXT4-fs warning (device loop0): ext4_block_to_path: block 135090028 > max Thanks to David Maciejak from Fortinet's FortiGuard Global Security Research Team for reporting this issue. http://bugzilla.kernel.org/show_bug.cgi?id=12375 Signed-off-by: "Theodore Ts'o" Cc: stable@kernel.org commit e4ac522bd7261829197a3d01d5feedb2aca8ae38 Author: Michal Sojka Date: Wed Jan 14 14:02:38 2009 +0100 sata_fsl: Return non-zero on error in probe() while I was looking over kernel sources I've found this small bug. Formerly, zero was returned even if an error happened. Signed-off-by: Michal Sojka Signed-off-by: Jeff Garzik commit bc42b24e6ef01ca7b23fafee7237882d27031614 Author: Andrew Morton Date: Wed Jan 14 16:48:42 2009 -0800 drivers/ata/pata_ali.c: s/isa_bridge/ali_isa_bridge/ to fix alpha build drivers/ata/pata_ali.c:44: error: static declaration of 'isa_bridge' follows non-static declaration arch/alpha/include/asm/pci.h:274: error: previous declaration of 'isa_bridge' was here Cc: Alan Cox Cc: Jeff Garzik Signed-off-by: Andrew Morton Signed-off-by: Jeff Garzik commit 3c929c6f5aa7501790586a38dd8faca8fed9a158 Author: David Daney Date: Thu Jan 15 17:45:32 2009 -0800 libata: New driver for OCTEON SOC Compact Flash interface (v7). Cavium OCTEON processor support was recently merged, so now we have this CF driver for your consideration. Most OCTEON variants have *no* DMA or interrupt support on the CF interface so for these, only PIO is supported. Although if DMA is available, we do take advantage of it. Signed-off-by: David Daney Signed-off-by: Jeff Garzik commit 3ada9c126499dd4700dcdbd5b9fe8110ad17f578 Author: David Daney Date: Thu Jan 15 17:45:31 2009 -0800 libata: Add another column to the ata_timing table. The forthcoming OCTEON SOC Compact Flash driver needs an additional timing value that was not available in the ata_timing table. I add a new column for dmack_hold time. The values were obtained from the Compact Flash specification Rev 4.1. Signed-off-by: David Daney Signed-off-by: Jeff Garzik commit 6813952021a7820a505002de260bda36978671f7 Author: JosephChan@via.com.tw Date: Fri Jan 16 19:44:55 2009 +0800 sata_via: Add VT8261 support Signed-off-by: Joseph Chan Signed-off-by: Jeff Garzik commit 16028232bf6dc5ed7e4bd341ef335f386229ad0b Author: Tejun Heo Date: Fri Jan 16 15:27:27 2009 +0900 pata_atiixp: update port enabledness test handling Port enabledness test fits much better into init_one() instead of pre_reset(). The reason why these tests are in pre_reset() is purely historical at this point. Move it to init_one(). This will help further changes. Signed-off-by: Tejun Heo Signed-off-by: Jeff Garzik commit 94be9a58d7e683ac3c1df1858a17f09ebade8da0 Author: Jeff Garzik Date: Fri Jan 16 10:17:09 2009 -0500 [libata] get-identity ioctl: Fix use of invalid memory pointer for SAS drivers. Caught by Ke Wei (and team?) at Marvell. Also, move the ata_scsi_ioctl export to libata-scsi.c, as that seems to be the general trend. Acked-by: James Bottomley Signed-off-by: Jeff Garzik commit a3c6018e565dc07cf3738ace6bbe412f97b1bba8 Author: Jan Beulich Date: Fri Jan 16 11:59:33 2009 +0000 x86: fix assumed to be contiguous leaf page tables for kmap_atomic region (take 2) Debugging and original patch from Nick Piggin The early fixmap pmd entry inserted at the very top of the KVA is causing the subsequent fixmap mapping code to not provide physically linear pte pages over the kmap atomic portion of the fixmap (which relies on said property to calculate pte addresses). This has caused weird boot failures in kmap_atomic much later in the boot process (initial userspace faults) on a 32-bit PAE system with a larger number of CPUs (smaller CPU counts tend not to run over into the next page so don't show up the problem). Solve this by attempting to clear out the page table, and copy any of its entries to the new one. Also, add a bug if a nonlinear condition is encountered and can't be resolved, which might save some hours of debugging if this fragile scheme ever breaks again... Once we have such logic, we can also use it to eliminate the early ioremap trickery around the page table setup for the fixmap area. This also fixes potential issues with FIX_* entries sharing the leaf page table with the early ioremap ones getting discarded by early_ioremap_clear() and not restored by early_ioremap_reset(). It at once eliminates the temporary (and configuration, namely NR_CPUS, dependent) unavailability of early fixed mappings during the time the fixmap area page tables get constructed. Finally, also replace the hard coded calculation of the initial table space needed for the fixmap area with a proper one, allowing kernels configured for large CPU counts to actually boot. Based-on: Nick Piggin Signed-off-by: Jan Beulich Signed-off-by: Ingo Molnar commit 49148020bcb6910ce71417bd990a5ce7017f9bd3 Author: Sam Ravnborg Date: Fri Jan 16 21:58:10 2009 +1000 m68k,m68knommu: merge header files Merge header files for m68k and m68knommu to the single location: arch/m68k/include/asm The majority of this patch was the result of the script that is included in the changelog below. The script was originally written by Arnd Bergman and exten by me to cover a few more files. When the header files differed the script uses the following: The original m68k file is named _mm.h [mm for memory manager] The m68knommu file is named _no.h [no for no memory manager] The files uses the following include guard: This include gaurd works as the m68knommu toolchain set the __uClinux__ symbol - so this should work in userspace too. Merging the header files for m68k and m68knommu exposes the (unexpected?) ABI differences thus it is easier to actually identify these and thus to fix them. The commit has been build tested with both a m68k and a m68knommu toolchain - with success. The commit has also been tested with "make headers_check" and this patch fixes make headers_check for m68knommu. The script used: TARGET=arch/m68k/include/asm SOURCE=arch/m68knommu/include/asm INCLUDE="cachectl.h errno.h fcntl.h hwtest.h ioctls.h ipcbuf.h \ linkage.h math-emu.h md.h mman.h movs.h msgbuf.h openprom.h \ oplib.h poll.h posix_types.h resource.h rtc.h sembuf.h shmbuf.h \ shm.h shmparam.h socket.h sockios.h spinlock.h statfs.h stat.h \ termbits.h termios.h tlb.h types.h user.h" EQUAL="auxvec.h cputime.h device.h emergency-restart.h futex.h \ ioctl.h irq_regs.h kdebug.h local.h mutex.h percpu.h \ sections.h topology.h" NOMUUFILES="anchor.h bootstd.h coldfire.h commproc.h dbg.h \ elia.h flat.h m5206sim.h m520xsim.h m523xsim.h m5249sim.h \ m5272sim.h m527xsim.h m528xsim.h m5307sim.h m532xsim.h \ m5407sim.h m68360_enet.h m68360.h m68360_pram.h m68360_quicc.h \ m68360_regs.h MC68328.h MC68332.h MC68EZ328.h MC68VZ328.h \ mcfcache.h mcfdma.h mcfmbus.h mcfne.h mcfpci.h mcfpit.h \ mcfsim.h mcfsmc.h mcftimer.h mcfuart.h mcfwdebug.h \ nettel.h quicc_simple.h smp.h" FILES="atomic.h bitops.h bootinfo.h bug.h bugs.h byteorder.h cache.h \ cacheflush.h checksum.h current.h delay.h div64.h \ dma-mapping.h dma.h elf.h entry.h fb.h fpu.h hardirq.h hw_irq.h io.h \ irq.h kmap_types.h machdep.h mc146818rtc.h mmu.h mmu_context.h \ module.h page.h page_offset.h param.h pci.h pgalloc.h \ pgtable.h processor.h ptrace.h scatterlist.h segment.h \ setup.h sigcontext.h siginfo.h signal.h string.h system.h swab.h \ thread_info.h timex.h tlbflush.h traps.h uaccess.h ucontext.h \ unaligned.h unistd.h" mergefile() { BASE=${1%.h} git mv ${SOURCE}/$1 ${TARGET}/${BASE}_no.h git mv ${TARGET}/$1 ${TARGET}/${BASE}_mm.h cat << EOF > ${TARGET}/$1 EOF git add ${TARGET}/$1 } set -e mkdir -p ${TARGET} git mv include/asm-m68k/* ${TARGET} rmdir include/asm-m68k git rm ${SOURCE}/Kbuild for F in $INCLUDE $EQUAL; do git rm ${SOURCE}/$F done for F in $NOMUUFILES; do git mv ${SOURCE}/$F ${TARGET}/$F done for F in $FILES ; do mergefile $F done rmdir arch/m68knommu/include/asm rmdir arch/m68knommu/include Cc: Arnd Bergmann Cc: Geert Uytterhoeven Signed-off-by: Sam Ravnborg Signed-off-by: Greg Ungerer commit 2de686d227e8869547683de659d5419061c2c518 Author: Luke Yelavich Date: Fri Jan 16 15:08:02 2009 +1100 ALSA: hda - add quirks for some 82801H variants to use ALC883_MITAC Add the 82801H variants 1071:8227 and 8086:2503 to use ALC883_MITAC Reference: Ubuntu bug 210865 https://bugs.launchpad.net/bugs/210865 Signed-off-by: Luke Yelavich Signed-off-by: Takashi Iwai commit 34b8686e12eaf9878aaab89e92222060c3e7cc48 Author: Dave Airlie Date: Thu Jan 15 14:03:07 2009 +1000 drm/i915: lock correct mutex around object unreference. This makes sure the mutex is held around the unreference. Signed-off-by: Dave Airlie commit 71acb5eb8d95b371f4cdd88a47f3c83c870d1c8f Author: Dave Airlie Date: Tue Dec 30 20:31:46 2008 +1000 drm/i915: add support for physical memory objects This is an initial patch to do support for objects which needs physical contiguous main ram, cursors and overlay registers on older chipsets. These objects are bound on cursor bin, like pinning, and we copy the data to/from the backing store object into the real one on attach/detach. notes: possible over the top in attach/detach operations. no overlay support yet. Signed-off-by: Dave Airlie commit e285f3cd2c376d2336f9a383241a98266363c7d4 Author: Jesse Barnes Date: Wed Jan 14 10:53:36 2009 -0800 drm/i915: make LVDS fixed mode a preferred mode The detected fixed panel mode really is preferred, so mark it as such and add it to the LVDS connector mode list. Signed-off-by: Jesse Barnes Signed-off-by: Eric Anholt Signed-off-by: Dave Airlie commit 712531bfe95be42a672ebab51b55580e7d92c464 Author: Jesse Barnes Date: Fri Jan 9 13:56:14 2009 -0800 drm: handle depth & bpp changes correctly Signed-off-by: Jesse Barnes Signed-off-by: Eric Anholt Signed-off-by: Dave Airlie commit 40a518d9f1fd8ed1061b8b4e2ce8a44794f4eb03 Author: Jesse Barnes Date: Mon Jan 12 12:05:32 2009 -0800 drm: initial KMS config fixes When mode setting is first initialized, the driver will call into drm_helper_initial_config() to set up an initial output and framebuffer configuration. This routine is responsible for probing the available connectors, encoders, and crtcs, looking for modes and putting together something reasonable (where reasonable is defined as "allows kernel messages to be visible on as many displays as possible"). However, the code was a bit too aggressive in setting default modes when none were found on a given connector. Even if some connectors had modes, any connectors found lacking modes would have the default 800x600 mode added to their mode list, which in some cases could cause problems later down the line. In my case, the LVDS was perfectly available, but the initial config code added 800x600 modes to both of the detected but unavailable HDMI connectors (which are on my non-existent docking station). This ended up preventing later code from setting a mode on my LVDS, which is bad. This patch fixes that behavior by making the initial config code walk through the connectors first, counting the available modes, before it decides to add any default modes to a possibly connected output. It also fixes the logic in drm_target_preferred() that was causing zeroed out modes to be set as the preferred mode for a given connector, even if no modes were available. Signed-off-by: Jesse Barnes Signed-off-by: Eric Anholt Signed-off-by: Dave Airlie commit 169d5f663759ec494aa74a552ce99486235e6e50 Author: Peter Korsgaard Date: Wed Jan 14 22:33:31 2009 -0700 fsldma: print correct IRQ on mpc83xx The mpc83xx variant uses a shared IRQ for all channels, so the individual channel nodes don't have an interrupt property. Fix the code to print the controller IRQ instead if there isn't any for the channel. Acked-by: Timur Tabi Acked-by: Li Yang Signed-off-by: Peter Korsgaard Signed-off-by: Dan Williams commit 0025e75357e7e8daf03a74294c98425a80a433c7 Author: Matthias Fuchs Date: Thu Jan 15 09:43:35 2009 +0000 serial: Add 16850 uart type support to OF uart driver This patch adds support for "ns16850" as supported value of the compatible node in flat device tree uart descriptions. This is needed for example when you have a XR16C2850 uart connected to a PPC405's external bus controller. Signed-off-by: Matthias Fuchs Signed-off-by: Benjamin Herrenschmidt commit 7f8030d166f84b7413a0393819cb8b800484d5a9 Author: Hendrik Brueckner Date: Wed Jan 14 23:15:44 2009 +0000 hvc_console: Remove tty->low_latency This patch removes the tty->low_latency setting. For irq based hvc_console backends the tty->low_latency must be set to 0, because the tty_flip_buffer_push() function must not be called from IRQ context (see drivers/char/tty_buffer.c). For polled backends, the low_latency setting causes the bug trace below, because tty_flip_buffer_push() is called within an atomic context and subsequent calls might sleep due to mutex_lock. BUG: sleeping function called from invalid context at /root/cvs/linux-2.6.git/kernel/mutex.c:207 in_atomic(): 1, irqs_disabled(): 0, pid: 748, name: khvcd 1 lock held by khvcd/748: #0: (hvc_structs_lock){--..}, at: [<00000000002ceb50>] khvcd+0x58/0x12c CPU: 0 Not tainted 2.6.29-rc1git #29 Process khvcd (pid: 748, task: 000000002fb9a480, ksp: 000000002f66bd78) 070000000000000a 000000002f66ba00 0000000000000002 (null) 000000002f66baa0 000000002f66ba18 000000002f66ba18 0000000000104f08 ffffffffffffc000 000000002f66bd78 (null) (null) 000000002f66ba00 000000000000000c 000000002f66ba00 000000002f66ba70 0000000000466af8 0000000000104f08 000000002f66ba00 000000002f66ba50 Call Trace: ([<0000000000104e7c>] show_trace+0x138/0x158) [<0000000000104f62>] show_stack+0xc6/0xf8 [<0000000000105740>] dump_stack+0xb0/0xc0 [<000000000013144a>] __might_sleep+0x14e/0x17c [<000000000045e226>] mutex_lock_nested+0x42/0x3b4 [<00000000002c443e>] echo_char_raw+0x3a/0x9c [<00000000002c688c>] n_tty_receive_buf+0x1154/0x1208 [<00000000002ca0a2>] flush_to_ldisc+0x152/0x220 [<00000000002ca1da>] tty_flip_buffer_push+0x6a/0x90 [<00000000002cea74>] hvc_poll+0x244/0x2c8 [<00000000002ceb68>] khvcd+0x70/0x12c [<000000000015bbd0>] kthread+0x68/0xa0 [<0000000000109d5a>] kernel_thread_starter+0x6/0xc [<0000000000109d54>] kernel_thread_starter+0x0/0xc 1 lock held by khvcd/748: #0: (hvc_structs_lock){--..}, at: [<00000000002ceb50>] khvcd+0x58/0x12c Signed-off-by: Hendrik Brueckner Acked-by: Christian Borntraeger Signed-off-by: Benjamin Herrenschmidt commit b60c31d85a2a2f1a9c8623f1fb56e2688aa1e2b1 Author: Michael Neuling Date: Wed Jan 14 13:42:41 2009 +0000 powerpc: Get the number of SLBs from "slb-size" property The PAPR says that the property for specifying the number of SLBs should be called "slb-size". We currently only look for "ibm,slb-size" because this is what firmware actually presents. This patch makes us look for the "slb-size" property as well and in preference to the "ibm,slb-size". This should future proof us if firmware changes to match PAPR. Signed-off-by: Michael Neuling Signed-off-by: Benjamin Herrenschmidt commit 9ba0fdbfaed2e74005d87fab948c5522b86ff733 Author: Dave Kleikamp Date: Wed Jan 14 09:09:34 2009 +0000 powerpc: is_hugepage_only_range() must account for both 4kB and 64kB slices powerpc: is_hugepage_only_range() must account for both 4kB and 64kB slices The subpage_prot syscall fails on second and subsequent calls for a given region, because is_hugepage_only_range() is mis-identifying the 4 kB slices when the process has a 64 kB page size. Signed-off-by: Dave Kleikamp Signed-off-by: Benjamin Herrenschmidt commit 5d9ee3ff3dbf815cd9ee18c166bb9b538e8057d2 Author: Stephen Rothwell Date: Tue Jan 13 20:13:39 2009 +0000 powerpc/ps3: printing fixups for l64 to ll64 conversion drivers/video Signed-off-by: Stephen Rothwell Acked-by: Geoff Levand Signed-off-by: Benjamin Herrenschmidt commit 7ad489e3d2459f7520d9062cb855ff29a8dd683d Author: Stephen Rothwell Date: Tue Jan 13 20:11:44 2009 +0000 powerpc/ps3: Printing fixups for l64 to ll64 conversion drivers/scsi Signed-off-by: Stephen Rothwell Acked-by: Geoff Levand Signed-off-by: Benjamin Herrenschmidt commit a9dad6e598155e2a548142336cd833e5360335d1 Author: Stephen Rothwell Date: Tue Jan 13 20:10:06 2009 +0000 powerpc/ps3: Printing fixups for l64 to ll64 conversion drivers/ps3 Also some min -> mint_t conversion. Signed-off-by: Stephen Rothwell Acked-by: Geoff Levand Signed-off-by: Benjamin Herrenschmidt commit 26db11af12fb58dde1d6327035a248a99f60f112 Author: Stephen Rothwell Date: Tue Jan 13 20:07:55 2009 +0000 powerpc/ps3: Printing fixups for l64 to ll64 conversion sound/ppc Signed-off-by: Stephen Rothwell Acked-by: Takashi Iwai Acked-by: Geoff Levand Signed-off-by: Benjamin Herrenschmidt commit 4c33d2dc34f50e5d5436e62cd99395859f157a19 Author: Stephen Rothwell Date: Tue Jan 13 20:06:02 2009 +0000 powerpc/ps3: Printing fixups for l64 to ll64 conversion drivers/char Also a couple of min -> min_t changes. Signed-off-by: Stephen Rothwell Acked-by: Geoff Levand Signed-off-by: Benjamin Herrenschmidt commit e377c6e24d1b465ebd18fe49d0dc06932ced9bb0 Author: Stephen Rothwell Date: Tue Jan 13 20:04:48 2009 +0000 powerpc/ps3: Printing fixups for l64 to ll64 conversion drivers/block Signed-off-by: Stephen Rothwell Acked-by: Geoff Levand Signed-off-by: Benjamin Herrenschmidt commit 5c949070c7a591d1001a5d8444731dfa4223b094 Author: Stephen Rothwell Date: Tue Jan 13 20:02:39 2009 +0000 powerpc/ps3: Printing fixups for l64 to ll64 conversion arch/powerpc Signed-off-by: Stephen Rothwell Acked-by: Geoff Levand Signed-off-by: Benjamin Herrenschmidt commit 5418b9c671a99727667cd499a2acbebe66e172cc Author: Stephen Rothwell Date: Tue Jan 13 20:01:28 2009 +0000 powerpc/ps3: ps3_repository_read_mm_info() takes u64 * arguments Fixes compiler warnings: arch/powerpc/platforms/ps3/mm.c:1205: warning: passing argument 2 of 'ps3_repository_read_mm_info' from incompatible pointer type arch/powerpc/platforms/ps3/mm.c:1205: warning: passing argument 3 of 'ps3_repository_read_mm_info' from incompatible pointer type Signed-off-by: Stephen Rothwell Acked-by: Geoff Levand Signed-off-by: Benjamin Herrenschmidt commit 46ca0d15394baf804fbb38694c651dd067c69458 Author: Stephen Rothwell Date: Tue Jan 13 20:00:29 2009 +0000 powerpc/ps3: clear_bit()/set_bit() operate on unsigned longs This fixes these compiler warning: arch/powerpc/platforms/ps3/interrupt.c:109: warning: passing argument 2 of 'clear_bit' from incompatible pointer type arch/powerpc/platforms/ps3/interrupt.c:130: warning: passing argument 2 of 'set_bit' from incompatible pointer type Signed-off-by: Stephen Rothwell Acked-by: Geoff Levand Signed-off-by: Benjamin Herrenschmidt commit b17b3df161814c43c03dbc8dbf8d32741bb30ba4 Author: Stephen Rothwell Date: Tue Jan 13 19:59:41 2009 +0000 powerpc/ps3: The lv1_ routines have u64 parameters We just fix up the reference parameters as the others are dealt with by arithmetic promotion rules and don't cause warnings. This removes warnings like this: arch/powerpc/platforms/ps3/interrupt.c:327: warning: passing argument 1 of 'lv1_construct_event_receive_port' from incompatible pointer type Also, these: drivers/ps3/ps3-vuart.c:462: warning: passing argument 4 of 'ps3_vuart_raw_read' from incompatible pointer type drivers/ps3/ps3-vuart.c:592: warning: passing argument 4 of 'ps3_vuart_raw_read' from incompatible pointer type Signed-off-by: Stephen Rothwell Acked-by: Geoff Levand Signed-off-by: Benjamin Herrenschmidt commit 494fd07a88ea561e1bea73516d7e92c4c2d1f223 Author: Stephen Rothwell Date: Tue Jan 13 19:58:10 2009 +0000 powerpc/ps3: Use dma_addr_t down through the stack Push the dma_addr_t type usage all the way down to where the actual values are manipulated. Now that u64 is "unsigned long long", this removes warnings like: arch/powerpc/platforms/ps3/system-bus.c:532: warning: passing argument 4 of 'ps3_dma_map' from incompatible pointer type arch/powerpc/platforms/ps3/system-bus.c:649: warning: passing argument 4 of 'ps3_dma_map' from incompatible pointer type Signed-off-by: Stephen Rothwell Acked-by: Geoff Levand Signed-off-by: Benjamin Herrenschmidt commit c52fe6b620e9c7a52b296ec478bd24b91b4e7634 Author: Stephen Rothwell Date: Tue Jan 13 19:54:50 2009 +0000 powerpc/ps3: set_dabr() takes an unsigned long Also silences this warning: arch/powerpc/platforms/ps3/setup.c:275: warning: initialization from incompatible pointer type Signed-off-by: Stephen Rothwell Acked-by: Geoff Levand Signed-off-by: Benjamin Herrenschmidt commit 775a42ecf8b8a86b55173da27e6cc874af5b944d Author: Stephen Rothwell Date: Tue Jan 6 14:59:00 2009 +0000 powerpc: Cleanup from l64 to ll64 change drivers/scsi This is a powerpc specific driver. Signed-off-by: Stephen Rothwell Signed-off-by: Benjamin Herrenschmidt commit d3b924d960a808105180d229b4667061123cc4ef Author: Andrew Morton Date: Thu Jan 15 20:43:56 2009 -0800 mlx4_core: Fix min() warning Fix drivers/net/mlx4/profile.c: In function `mlx4_make_profile': drivers/net/mlx4/profile.c:110: warning: comparison of distinct pointer types lacks a cast This happened because num_possible_cpus() was secretly changed by commit ae7a47e7 ("cpumask: make cpumask.h eat its own dogfood.") from returning "int" to (now) returning "unsigned int". I think that was a good change, so we should just swallow the fallout. Cc: "David S. Miller" Cc: Roland Dreier Cc: Yevgeny Petrilin Cc: Jack Morgenstein Cc: Vladimir Sokolovsky Cc: Michael S. Tsirkin Signed-off-by: Andrew Morton Signed-off-by: Roland Dreier commit 7cb36b6ccdca03bd87e8faca7fd920643dd1aec7 Merge: a9f8d25 6272d68 Author: Linus Torvalds Date: Thu Jan 15 16:55:00 2009 -0800 Merge branch 'sched-fixes-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip * 'sched-fixes-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip: sched: sched_slice() fixlet sched: fix update_min_vruntime sched: SCHED_OTHER vs SCHED_IDLE isolation sched: SCHED_IDLE weight change sched: fix bandwidth validation for UID grouping Revert "sched: improve preempt debugging" commit a9f8d25b655c7b5e08c9ed67a2fd2fdbe79404a6 Merge: 3feeba1 7a6046e Author: Linus Torvalds Date: Thu Jan 15 16:53:42 2009 -0800 Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/sparc-2.6 * git://git.kernel.org/pub/scm/linux/kernel/git/davem/sparc-2.6: sparc64: Fix UP build failure. commit 3feeba1e53f54f726a39da254a5c41e02530255e Merge: 7e92214 a58c891 Author: Linus Torvalds Date: Thu Jan 15 16:53:15 2009 -0800 Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-2.6 * git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-2.6: (95 commits) b44: GFP_DMA skb should not escape from driver korina: do not use IRQF_SHARED with IRQF_DISABLED korina: do not stop queue here korina: fix handling tx_chain_tail korina: do tx at the right position korina: do schedule napi after testing for it korina: rework korina_rx() for use with napi korina: disable napi on close and restart korina: reset resource buffer size to 1536 korina: fix usage of driver_data bnx2x: First slow path interrupt race bnx2x: MTU Filter bnx2x: Indirection table initialization index bnx2x: Missing brackets bnx2x: Fixing the doorbell size bnx2x: Endianness issues bnx2x: VLAN tagged packets without VLAN offload bnx2x: Protecting the link change indication bnx2x: Flow control updated before reporting the link bnx2x: Missing mask when calculating flow control ... commit 7e92214b539ea17ccaf0886d140cbba9801a4d40 Merge: 6364853 46a5f17 Author: Linus Torvalds Date: Thu Jan 15 16:40:12 2009 -0800 Merge branch 'hwmon-for-linus' of git://jdelvare.pck.nerim.net/jdelvare-2.6 * 'hwmon-for-linus' of git://jdelvare.pck.nerim.net/jdelvare-2.6: hwmon: (abituguru3) Fix CONFIG_DMI=n fallback to probe hwmon: (abituguru3) Enable DMI probing feature on IN9 32X MAX hwmon: (abituguru3) Match partial DMI board name strings hwmon: Add a driver for the ADT7475 hardware monitoring chip hwmon: (k8temp) Fix temperature reporting for (most) K8 RevG CPUs hwmon: (k8temp) Fix wrong sensor selection for AMD K8 RevF/RevG CPUs hwmon: (k8temp) Warn about fam F rev F errata commit 6364853dabe78dda7ffdfb8803c1e56c0fff2e43 Author: Roland Dreier Date: Thu Jan 15 13:51:29 2009 -0800 9p: disallow RDMA if RDMA CM isn't available If INET=y and INFINIBAND=y, but IPV6=m then INFINIBAND_ADDR_TRANS is set to n and the RDMA CM functions rdma_connect() et al are not built. However, the current config dependencies allow NET_9P_RDMA to be selected in this, which leads to a build failure. Fix this by adding a dependency on INFINIBAND_ADDR_TRANS to disallow NET_9P_RDMA in this case. Reported-by: Randy Dunlap Signed-off-by: Roland Dreier Acked-by: Randy Dunlap Tested-by: Randy Dunlap Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 6b7021ef7e1a703c7092daeceda063951b22b4f6 Author: Jan Kara Date: Thu Jan 15 13:51:29 2009 -0800 ext2: also update the inode on disk when dir is IS_DIRSYNC We used to just write changed page for IS_DIRSYNC inodes. But we also have to update the directory inode itself just for the case that we've allocated a new block and changed i_size. [akpm@linux-foundation.org: still sync the data page] Signed-off-by: Jan Kara Tested-by: Pavel Machek Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 634a84f8d5b74da497688d3346f6809c28239eda Author: David Brownell Date: Thu Jan 15 13:51:28 2009 -0800 drivers/usb/core/hub.c: fix CONFIG_USB_OTG=y build Carry out the PM-routine interface change in the USB OTG pathway. This was omitted from the earlier interface-change patch by mistake. Signed-off-by: Alan Stern Cc: Greg KH Cc: Russell King Cc: Felipe Balbi Cc: Tony Lindgren Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 00bfddaf7f68a6551319b536f052040c370756b0 Author: Jaswinder Singh Rajput Date: Thu Jan 15 13:51:26 2009 -0800 include of is preferred over Impact: fix 15 make headers_check warnings: include of is preferred over Signed-off-by: Jaswinder Singh Rajput Cc: Ingo Molnar Cc: Sam Ravnborg Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 068b38c1fa7a9210608f27ac521897ccc5f9b726 Author: Li Zefan Date: Thu Jan 15 13:51:26 2009 -0800 memcg: fix a race when setting memory.swappiness (suppose: memcg->use_hierarchy == 0 and memcg->swappiness == 60) echo 10 > /memcg/0/swappiness | mem_cgroup_swappiness_write() | ... | echo 1 > /memcg/0/use_hierarchy | mkdir /mnt/0/1 | sub_memcg->swappiness = 60; memcg->swappiness = 10; | In the above scenario, we end up having 2 different swappiness values in a single hierarchy. We should hold cgroup_lock() when cheking cgrp->children list. Signed-off-by: Li Zefan Acked-by: KAMEZAWA Hiroyuki Cc: Balbir Singh Cc: Paul Menage Cc: Daisuke Nishimura Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 0eb253e223c88b982461e59154fcad1b82597592 Author: Li Zefan Date: Thu Jan 15 13:51:25 2009 -0800 memcg: fix section mismatch At system boot when creating the top cgroup, mem_cgroup_create() calls enable_swap_cgroup() which is marked as __init, so mark mem_cgroup_create() as __ref to avoid false section mismatch warning. Reported-by: Rakib Mullick Signed-off-by: Li Zefan Acked-by; KAMEZAWA Hiroyuki Cc: Balbir Singh Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 9e1c9d865543593ee92ec3a5075f064dec981a96 Author: Pavel Machek Date: Thu Jan 15 13:51:24 2009 -0800 hp_accel: do not call ACPI from invalid context The LED on HP notebooks is connected through ACPI. That unfortunately means that it needs to be delayed by using schedule_work() to avoid calling the ACPI interpreter from an invalid context. [akpm@linux-foundation.org: use flush_work() rather than sort-of reimplementing it] Signed-off-by: Pavel Machek Cc: Éric Piel Cc: Len Brown Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 219beb291ba9275dd676578724103abed4cfbfe3 Author: Pavel Machek Date: Thu Jan 15 13:51:24 2009 -0800 lis3: fix documentation to fit into 80 columns Fix lis3 documentation to fit into 80 columns. Signed-off-by: Pavel Machek Cc: Éric Piel Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 9e0c79782143a816ba7d7f0f6e195091a97053f6 Author: Eric Piel Date: Thu Jan 15 13:51:23 2009 -0800 lis3lv02d: merge with leds hp disk Move the second part of the HP laptop disk protection functionality (a red led) to the same driver. From a purely Linux developer's point of view, the led and the accelerometer have nothing related. However, they correspond to the same ACPI functionality, and so will always be used together, moreover as they share the same ACPI PNP alias, there is no other simple to allow to have same loaded at the same time if they are not in the same module. Also make it requires the led class to compile and update the Kconfig text. Signed-off-by: Pavel Machek Signed-off-by: Eric Piel Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 5b019e99016f3a692ba45bf68fba73a402d7c01a Author: Andrew Morton Date: Thu Jan 15 13:51:21 2009 -0800 lib/idr.c: use kmem_cache_zalloc() for the idr_layer cache David points out that the idr_remove_all() function returns unused slabs to the kmem cache, but needs to zero them first or else they will be uninitialized upon next use. This causes crashes which have been observed in the firewire subsystem. He fixed this by zeroing the object before freeing it in idr_remove_all(). But we agree that simply removing the constructor and zeroing the object at allocation time is simpler than relying upon slab constructor machinery and might even be faster. This problem was introduced by "idr: make idr_remove rcu-safe" (commit cf481c20c476ad2c0febdace9ce23f5a4db19582), which was first released in 2.6.27. There are no known codesites which trigger this bug in 2.6.27 or 2.6.28. The post-2.6.28 firewire changes are the only known triggerer. There might of course be not-yet-discovered triggerers in 2.6.27 and 2.6.28, and there might be out-of-tree triggerers which are added to those kernel versions. I'll let the -stable guys decide whether they want to backport this fix. Reported-by: David Moore Cc: Stefan Richter Cc: Nadia Derbey Cc: Paul E. McKenney Cc: Manfred Spraul Cc: Kristian Hgsberg Acked-by: Pekka Enberg Cc: Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 5da7f3d71e243ef5c464967581414d29c72bab75 Author: Ivan Kokshaysky Date: Thu Jan 15 13:51:20 2009 -0800 alpha: make pte_alloc_one_kernel() inline As it's just a single call to __get_free_page(). Signed-off-by: Ivan Kokshaysky Cc: Richard Henderson Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 6946ce00c944131464d408c1e9b7b290d8bc3d15 Author: Ivan Kokshaysky Date: Thu Jan 15 13:51:20 2009 -0800 alpha: .gitignore vmlinux.lds Signed-off-by: Ivan Kokshaysky Cc: Richard Henderson Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 5f7dc5d75076fd1c1fc6bc09f2467509d20db24a Author: Ivan Kokshaysky Date: Thu Jan 15 13:51:19 2009 -0800 alpha: fix RTC on marvel Unlike other alphas, marvel doesn't have real PC-style CMOS clock hardware - RTC accesses are emulated via PAL calls. Unfortunately, for unknown reason these calls work only on CPU #0. So current implementation for arbitrary CPU makes CMOS_READ/WRITE to be executed on CPU #0 via IPI. However, for obvious reason this doesn't work with standard get/set_rtc_time() functions, where a bunch of CMOS accesses is done with disabled interrupts. Solved by making the IPI calls for entire get/set_rtc_time() functions, not for individual CMOS accesses. Which is also a lot more effective performance-wise. The patch is largely based on the code from Jay Estabrook. My changes: - tweak asm-generic/rtc.h by adding a couple of #defines to avoid a massive code duplication in arch/alpha/include/asm/rtc.h; - sys_marvel.c: fix get/set_rtc_time() return values (Jay's FIXMEs). NOTE: this fixes *only* LIB_RTC drivers. Legacy (CONFIG_RTC) driver wont't work on marvel. Actually I think that we should just disable CONFIG_RTC on alpha (maybe in 2.6.30?), like most other arches - AFAIK, all modern distributions use LIB_RTC anyway. Signed-off-by: Ivan Kokshaysky Cc: Richard Henderson Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 2f88d151cb8e73587983d7feccd70672ff6730fe Author: Ivan Kokshaysky Date: Thu Jan 15 13:51:18 2009 -0800 alpha: nautilus - fix hang on boot Recently introduced generic pci_common_swizzle() relies on bus->self being NULL for the root PCI bus. But on nautilus bus->self points to the host bridge device, which is necessary as we do a root bus sizing on this system. As a result, pci_common_swizzle() loops infinitely. This worked until 2.6.29-rc1 because the alpha-specific swizzle routine checked for bus->parent == NULL (instead of bus->self). Fixed by clearing bus->self after bus sizing is done. Signed-off-by: Ivan Kokshaysky Cc: Richard Henderson Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 70b66cbfd3316b792a855cb9a2574e85f1a63d0f Author: Ivan Kokshaysky Date: Thu Jan 15 13:51:17 2009 -0800 alpha: nautilus - fix compile failure with gcc-4.3 init_srm_irq() deals with irq's #16 and above, but size of irq_desc array on nautilus and some other system types is 16. So gcc-4.3 complains that "array subscript is above array bounds", even though this function is never called on those systems. This adds a check for NR_IRQS <= 16, which effectively optimizes init_srm_irq() code away on problematic platforms. Thanks to Daniel Drake for detailed analysis of the problem. Signed-off-by: Ivan Kokshaysky Cc: Richard Henderson Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 46666d8ac42893f90edde7e57a11bc8749d7e89c Author: Andrew Morton Date: Thu Jan 15 13:51:15 2009 -0800 revert "mm: vmalloc use mutex for purge" Revert commit e97a630eb0f5b8b380fd67504de6cedebb489003 ("mm: vmalloc use mutex for purge") Bryan Donlan reports: : After testing 2.6.29-rc1 on xen-x86 with a btrfs root filesystem, I : got the OOPS quoted below and a hard freeze shortly after boot. : Boot messages and config are attached. : : ------------[ cut here ]------------ : Kernel BUG at c05ef80d [verbose debug info unavailable] : invalid opcode: 0000 [#1] SMP : last sysfs file: /sys/block/xvdc/size : Modules linked in: : : Pid: 0, comm: swapper Not tainted (2.6.29-rc1 #6) : EIP: 0061:[] EFLAGS: 00010087 CPU: 2 : EIP is at schedule+0x7cd/0x950 : EAX: d5aeca80 EBX: 00000002 ECX: 00000000 EDX: d4cb9a40 : ESI: c12f5600 EDI: d4cb9a40 EBP: d6033fa4 ESP: d6033ef4 : DS: 007b ES: 007b FS: 00d8 GS: 0000 SS: 0069 : Process swapper (pid: 0, ti=d6032000 task=d6020b70 task.ti=d6032000) : Stack: : 000d85bc 00000000 000186a0 00000000 0dd11410 c0105417 c12efe00 0dc367c3 : 00000011 c0105d46 d5a5d310 deadbeef d4cb9a40 c07cc600 c05f1340 c12e0060 : deadbeef d6020b70 d6020d08 00000002 c014377d 00000000 c12f5600 00002c22 : Call Trace: : [] xen_force_evtchn_callback+0x17/0x30 : [] check_events+0x8/0x12 : [] _spin_unlock_irqrestore+0x20/0x40 : [] hrtimer_start_range_ns+0x12d/0x2e0 : [] tick_nohz_restart_sched_tick+0x146/0x160 : [] cpu_idle+0xa5/0xc0 and bisected it to this commit. Let's remove it now while we have a think about the problem. Reported-by: Bryan Donlan Tested-by: Christophe Saout Cc: Nick Piggin Cc: Ingo Molnar Cc: Jeremy Fitzhardinge Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 4d1c627389c8ba6d9e703208567ffcdbd356f682 Author: Daisuke Nishimura Date: Thu Jan 15 13:51:14 2009 -0800 memcg: make oom less frequently In previous implementation, mem_cgroup_try_charge checked the return value of mem_cgroup_try_to_free_pages, and just retried if some pages had been reclaimed. But now, try_charge(and mem_cgroup_hierarchical_reclaim called from it) only checks whether the usage is less than the limit. This patch tries to change the behavior as before to cause oom less frequently. Signed-off-by: Daisuke Nishimura Acked-by: Balbir Singh Acked-by: KAMEZAWA Hiroyuki Cc: Pavel Emelyanov Cc: Li Zefan Cc: Paul Menage Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit c268e9946d7dc30ac4e55cdc3f43c8af1ae8153c Author: Daisuke Nishimura Date: Thu Jan 15 13:51:13 2009 -0800 memcg: fix hierarchical reclaim If root_mem has no children, last_scaned_child is set to root_mem itself. But after some children added to root_mem, mem_cgroup_get_next_node can mem_cgroup_put the root_mem although root_mem has not been mem_cgroup_get. This patch fixes this behavior by: - Set last_scanned_child to NULL if root_mem has no children or DFS search has returned to root_mem itself(root_mem is not a "child" of root_mem). Make mem_cgroup_get_first_node return root_mem in this case. There are no mem_cgroup_get/put for root_mem. - Rename mem_cgroup_get_next_node to __mem_cgroup_get_next_node, and mem_cgroup_get_first_node to mem_cgroup_get_next_node. Make mem_cgroup_hierarchical_reclaim call only new mem_cgroup_get_next_node. Signed-off-by: Daisuke Nishimura Cc: Balbir Singh Cc: KAMEZAWA Hiroyuki Cc: Pavel Emelyanov Cc: Li Zefan Cc: Paul Menage Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 40d58138f832a48208cdce57d6572a033b1f7a23 Author: Daisuke Nishimura Date: Thu Jan 15 13:51:12 2009 -0800 memcg: fix error path of mem_cgroup_move_parent There is a bug in error path of mem_cgroup_move_parent. Extra refcnt got from try_charge should be dropped, and usages incremented by try_charge should be decremented in both error paths: A: failure at get_page_unless_zero B: failure at isolate_lru_page This bug makes this parent directory unremovable. In case of A, rmdir doesn't return, because res.usage doesn't go down to 0 at mem_cgroup_force_empty even after all the pc in lru are removed. In case of B, rmdir fails and returns -EBUSY, because it has extra ref counts even after res.usage goes down to 0. Signed-off-by: Daisuke Nishimura Acked-by: KAMEZAWA Hiroyuki Acked-by: Balbir Singh Cc: Pavel Emelyanov Cc: Li Zefan Cc: Paul Menage Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit bd112db872c2f69993c86f458467acb4a14da010 Author: Daisuke Nishimura Date: Thu Jan 15 13:51:11 2009 -0800 memcg: fix mem_cgroup_get_reclaim_stat_from_page In case of swapin, a new page is added to lru before it is charged, so page->pc->mem_cgroup points to NULL or last mem_cgroup the page was charged before. In the latter case, if the mem_cgroup has already freed by rmdir, the area pointed to by page->pc->mem_cgroup may have invalid data. Actually, I saw general protection fault. general protection fault: 0000 [#1] SMP last sysfs file: /sys/devices/system/cpu/cpu15/cache/index1/shared_cpu_map CPU 4 Modules linked in: ipt_REJECT xt_tcpudp iptable_filter ip_tables x_tables bridge stp ipv6 autofs4 hidp rfcomm l2cap bluetooth sunrpc dm_mirror dm_region_hash dm_log dm_multipath dm_mod rfkill input_polldev sbs sbshc battery ac lp sg ide_cd_mod cdrom button serio_raw acpi_memhotplug parport_pc e1000 rtc_cmos parport rtc_core rtc_lib i2c_i801 i2c_core shpchp pcspkr ata_piix libata megaraid_mbox megaraid_mm sd_mod scsi_mod ext3 jbd ehci_hcd ohci_hcd uhci_hcd [last unloaded: microcode] Pid: 26038, comm: page01 Tainted: G W 2.6.28-rc9-mm1-mmotm-2008-12-22-16-14-f2ab3dea #1 RIP: 0010:[] [] update_page_reclaim_stat+0x2f/0x42 RSP: 0000:ffff8801ee457da8 EFLAGS: 00010002 RAX: 32353438312021c8 RBX: 0000000000000000 RCX: 32353438312021c8 RDX: 0000000000000000 RSI: ffff8800cb0b1000 RDI: ffff8801164d1d28 RBP: ffff880110002cb8 R08: ffff88010f2eae23 R09: 0000000000000001 R10: ffff8800bc514b00 R11: ffff880110002c00 R12: 0000000000000000 R13: ffff88000f484100 R14: 0000000000000003 R15: 00000000001200d2 FS: 00007f8a261726f0(0000) GS:ffff88010f2eaa80(0000) knlGS:0000000000000000 CS: 0010 DS: 0000 ES: 0000 CR0: 000000008005003b CR2: 00007f8a25d22000 CR3: 00000001ef18c000 CR4: 00000000000006e0 DR0: 0000000000000000 DR1: 0000000000000000 DR2: 0000000000000000 DR3: 0000000000000000 DR6: 00000000ffff0ff0 DR7: 0000000000000400 Process page01 (pid: 26038, threadinfo ffff8801ee456000, task ffff8800b585b960) Stack: ffffe200071ee568 ffff880110001f00 0000000000000000 ffffffff8028ea17 ffff88000f484100 0000000000000000 0000000000000020 00007f8a25d22000 ffff8800bc514b00 ffffffff8028ec34 0000000000000000 0000000000016fd8 Call Trace: [] ? ____pagevec_lru_add+0xc1/0x13c [] ? drain_cpu_pagevecs+0x36/0x89 [] ? swapin_readahead+0x78/0x98 [] ? handle_mm_fault+0x3d9/0x741 [] ? do_page_fault+0x3ce/0x78c [] ? trace_hardirqs_off_thunk+0x3a/0x3c [] ? page_fault+0x1f/0x30 Code: cc 55 48 8d af b8 0d 00 00 48 89 f7 53 89 d3 e8 39 85 02 00 48 63 d3 48 ff 44 d5 10 45 85 e4 74 05 48 ff 44 d5 00 48 85 c0 74 0e <48> ff 44 d0 10 45 85 e4 74 04 48 ff 04 d0 5b 5d 41 5c c3 41 54 RIP [] update_page_reclaim_stat+0x2f/0x42 RSP Signed-off-by: Daisuke Nishimura Acked-by: KAMEZAWA Hiroyuki Cc: Balbir Singh Cc: Pavel Emelyanov Cc: Li Zefan Cc: Paul Menage Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit c3d6362b8717759de7f2086f9665a4d96cacbc51 Author: Alex Murray Date: Thu Jan 15 13:51:08 2009 -0800 hwmon: applesmc: fix light sensor readings on newer MacBooks The light sensors ALV0 and ALV1 on newer MacBooks (early 2008 and later) changed to report 10 bytes instead the earlier 6, and the sensor encoding subsequently changed. As a result, the reported light sensors readings are much too low. Via experiments leading up to this patch, it seems only the ALV0 is reporting data, and the most useful value therein is a 10-bit big-endian value at offset 6. This suggests that a new protocol was added as a backward-compatible replacement on top of the old one. This patch makes applesmc report the improved light sensor reading for the new machines, on a scale in conformance with earlier ones. Signed-off-by: Alex Murray Signed-off-by: Henrik Rydberg Cc: Nicolas Boichat Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit db92a6502d4e8cb885e85e862b24ba5c07036fbf Author: Andy Whitcroft Date: Thu Jan 15 13:51:07 2009 -0800 checkpatch: version: 0.27 Signed-off-by: Andy Whitcroft Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 6903ffb2257266472ef2edd0092d526ae2dc00f7 Author: Andy Whitcroft Date: Thu Jan 15 13:51:07 2009 -0800 checkpatch: struct seq_operations should normally be const In the general use case struct seq_operations should be a const object. Check for and warn where it is not. Cc: Ingo Molnar Signed-off-by: Andy Whitcroft Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 39667782362becd5527e48d6c976a9f9985b95e6 Author: Andy Whitcroft Date: Thu Jan 15 13:51:06 2009 -0800 checkpatch: if should not continue a preceeding brace We should not be continuing a braced section with an if, for example: if (...) { } if (...) { } Detect this and suggest adding a newline. Signed-off-by: Andy Whitcroft Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 63f17f8973ccdb8260e59ce5b1b4e2b2ee0401f0 Author: Andy Whitcroft Date: Thu Jan 15 13:51:06 2009 -0800 checkpatch: allow parentheses on return handle array values When we allow return to have surrounding parentheses when containing comparison operators we are not correctly handling the case where the values contain array sufffixes. Squash them. Signed-off-by: Andy Whitcroft Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit f9a0b3d17a01fe1ba24ce1e9c18666a52052e011 Author: Andy Whitcroft Date: Thu Jan 15 13:51:05 2009 -0800 checkpatch: type/cast spacing should not check prefix spacing We should not be complaining about the prefix spacing for types and casts. We are triggering here because the check for spacing between '*'s is overly loose. Tighten this up. Signed-off-by: Andy Whitcroft Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit a27506459c5e6ccc8437fca0adb6d3759c883c28 Author: Andy Whitcroft Date: Thu Jan 15 13:51:04 2009 -0800 checkpatch: handle missing #if open in context If the #if opening statement is not in the context then the context stack can be empty. Handle this by ensuring there is always a blank entry in the stack. Signed-off-by: Andy Whitcroft Tested-by: Dhaval Giani Cc: Ingo Molnar Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit c91192d66d6cea7878b8542c9d9f1873971aba92 Author: Pavel Machek Date: Thu Jan 15 13:51:03 2009 -0800 nbd: do not allow two clients at the same time Two nbd-clients at same time are bad idea, and cause WARN_ON from nbd in 2.6.28-rc7 from sysfs_add_one. This simply prevents that from happening. To reproduce: cat /dev/zero | head -c 10000000 > /tmp/delme.fstest.fs nbd-server 9100 -l /anyone.can.connect > /tmp/delme.fstest.fs & sleep 1 nbd-client localhost 9100 /dev/nd0 & nbd-client localhost 9100 /dev/nd0 & Signed-off-by: Pavel Machek Acked-by: Paul Clements Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 1bcbf31337391a2f54ef6c1e8871c2de5944a7dc Author: Qinghuang Feng Date: Thu Jan 15 13:51:03 2009 -0800 btrfs & squashfs: Move btrfs and squashfsto's magic number to Use the standard magic.h for btrfs and squashfs. Signed-off-by: Qinghuang Feng Cc: Phillip Lougher Cc: Chris Mason Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 71038f527f3665f562cf9afe083df729958a099b Author: Pavel Machek Date: Thu Jan 15 13:51:02 2009 -0800 MAINTAINERS: add entry for freezer Now that people are using freezer for non-suspend/hibernation stuff, it should have separate maintainers entry so that it is easier to find. Signed-off-by: Pavel Machek Acked-by: Rafael J. Wysocki Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 6ae301e85c9c58d2f430a8a7057ce488b7ff76df Author: Randy Dunlap Date: Thu Jan 15 13:51:01 2009 -0800 resources: fix parameter name and kernel-doc Fix __request_region() parameter kernel-doc notation and parameter name: Warning(linux-2.6.28-git10//kernel/resource.c:627): No description found for parameter 'flags' Signed-off-by: Randy Dunlap Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 3eabdb76a03bbe8f556162738c264dbfb24cff6a Author: Randy Dunlap Date: Thu Jan 15 13:51:01 2009 -0800 jbd: fix missing kernel-doc Fix jbd header file kernel-doc notation: Warning(linux-2.6.28-git13//include/linux/jbd.h:823): No description found for parameter 'j_average_commit_time' Signed-off-by: Randy Dunlap Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 65a67bd2644bef225ee318dde76016a4697218fa Author: Marcus Meissner Date: Thu Jan 15 13:51:00 2009 -0800 Documentation/accounting/getdelays.c: fix endless loop When no option is passed to getdelays it just hangs, waiting for a reply which will never come. This patch prints usage() when no output marker is specified. Signed-off-by: Marcus Meissner Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit b098161b4d0231f7dc5306111d576c0bfe0c8eba Author: Li Zefan Date: Thu Jan 15 13:51:00 2009 -0800 idr: fix wrong kernel-doc idr_get_new_above() and ida_get_new_above() return an id in the range of @staring_id ... 0x7fffffff, not 0 ... 0x7fffffff. Signed-off-by: Li Zefan Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 45ce80fb6b6f9594d1396d44dd7e7c02d596fef8 Author: Li Zefan Date: Thu Jan 15 13:50:59 2009 -0800 cgroups: consolidate cgroup documents Move Documentation/cpusets.txt and Documentation/controllers/* to Documentation/cgroups/ Signed-off-by: Li Zefan Acked-by: KAMEZAWA Hiroyuki Acked-by: Balbir Singh Acked-by: Paul Menage Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 23964d2d02984d44aeb2d84d7ffb3359e728df43 Author: Li Zefan Date: Thu Jan 15 13:50:58 2009 -0800 cgroups: clean up Kconfig - move CONFIG_PROC_PID_CPUSET into cgroup menu - move MM_OWNER to the bottom for better menu indent - fix typos - use tabs not spaces Signed-off-by: Li Zefan Acked-by: Paul Menage Acked-by: Balbir Singh Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit a6b2f87be1aafedc585bad86b77c2e2bbd49b308 Author: Paul Fulghum Date: Thu Jan 15 13:50:57 2009 -0800 synclink_gt: enable RI interrupt - Enable ring indicator interrupt. - Remove vendor specific CVS version tags. Signed-off-by: Paul Fulghum Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 158bc69effbf96f59c01cdeb20f8d4c184e59f8e Author: Dean Nelson Date: Thu Jan 15 13:50:57 2009 -0800 sgi-xp: eliminate false detection of no heartbeat After XPC has been up and running on multiple partitions for any length of time, if XPC on one of the partitions is stopped and restarted (either by a rmmod/insmod or a system restart), it is possible for the XPCs running on the other partitions to falsely detect a lack of heartbeat from the XPC that was just restarted. This false detection will occur if the restarted XPC comes up within the five-seconds preceding one of the other XPC's heartbeat check (which occurs once every twenty seconds). The detection of no heartbeat results in the detecting XPC deactivating from the just restarted XPC. The only remedy is to restart one of the XPCs and hope that one doesn't hit this five-second window on any of the other partitions. Signed-off-by: Dean Nelson Signed-off-by: Robin Holt Cc: Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit cafa1d8b0c90252e73f20db1b6f32cf88e73ff17 Author: Matti Halme Date: Thu Jan 15 13:50:56 2009 -0800 rtc: rtc-twl4030 don't mask alarm interrupts on shutdown A triggering RTC alarm should be able to power on a device that has been powered off. This patch enables that on twl4030 by not masking the alarm interrupt at shutdown. Signed-off-by: Matti Halme Signed-off-by: Alessandro Zummo Acked-by: David Brownell Cc: Tony Lindgren Cc: Samuel Ortiz Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 4216d0bd8fef77b7926eb065a766e2ee003acf6a Author: Antonio Ospite Date: Thu Jan 15 13:50:54 2009 -0800 rtc-pxa: fix build failure Fix these build errors: CC drivers/rtc/rtc-pxa.o drivers/rtc/rtc-pxa.c: In function `pxa_rtc_init': drivers/rtc/rtc-pxa.c:472: error: implicit declaration of function `cpu_is_pxa27x' drivers/rtc/rtc-pxa.c:472: error: implicit declaration of function `cpu_is_pxa3xx' Signed-off-by: Antonio Ospite Signed-off-by: Alessandro Zummo Cc: David Brownell Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit a748384bba1754409383ba9f0738bffdfa3fd431 Author: Alessandro Zummo Date: Thu Jan 15 13:50:52 2009 -0800 rtc: tw4030 add alarm/update interfaces - implement alarm_irq_enable - return correct error code when registering fails [dbrownell@users.sourceforge.net: build fixes, force 1/sec irqs] Signed-off-by: Alessandro Zummo Signed-off-by: David Brownell Cc: Tony Lindgren Cc: Samuel Ortiz Cc: rtc-linux@googlegroups.com Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit fb144adc517d9ebe8fd8d98a5696fb68ec91e1f5 Author: Andy Whitcroft Date: Thu Jan 15 13:50:52 2009 -0800 sysrq: add commentary on why we use the console loglevel over using KERN_EMERG Add an explanitory comment as to why we modify the kernel console loglevel rather than simply moving sysrq messages to KERN_EMERG level. Signed-off-by: Andy Whitcroft Cc: Randy Dunlap Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 47c33d9c1984ae4c5bd1f144024eacc14c5bc0c0 Author: Andy Whitcroft Date: Thu Jan 15 13:50:51 2009 -0800 sysrq documentation: document why the command header only is shown Document the interactions between loglevel and the sysrq output. Also document how to work round it should output be required on the console. Signed-off-by: Andy Whitcroft Cc: Martin Mares Cc: Randy Dunlap Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 89365e264104b52da6a61c4e227bb5a934764fa7 Author: Andy Whitcroft Date: Thu Jan 15 13:50:50 2009 -0800 sysrq documentation: remove the redundant updated date git is maintaining the last update time much more accuratly than the internal update time. Remove it. Signed-off-by: Andy Whitcroft Cc: Randy Dunlap Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 44c12cb2f564b532971c1474073fcbbb8336242e Author: Mauro Carvalho Chehab Date: Thu Jan 15 13:50:49 2009 -0800 edac: add MAINTAINERS entry for i5400 EDAC driver i5400 EDAC driver were added upstream by those changesets: - 920c8df6ac678fdb8c49a6ce2e47a98e62757d77 "edac: driver for i5400 MCH (Seaburg)" - 8375d4909aee4c18798f373ecf24a79f040f75fc "edac: driver for i5400 MCH (update)" Update MAINTAINERS entry for this file to correspond to the driver maintainer. Signed-off-by: Mauro Carvalho Chehab Cc: Ben Woodard Cc: Doug Thompson Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 822c18f2e38cbc775792ab65ace4f9198678dec9 Author: Ivan Kokshaysky Date: Thu Jan 15 13:50:48 2009 -0800 alpha: fix vmalloc breakage On alpha, we have to map some stuff in the VMALLOC space very early in the boot process (to make SRM console callbacks work and so on, see arch/alpha/mm/init.c). For old VM allocator, we just manually placed a vm_struct onto the global vmlist and this worked for ages. Unfortunately, the new allocator isn't aware of this, so it constantly tries to allocate the VM space which is already in use, making vmalloc on alpha defunct. This patch forces KVA to import vmlist entries on init. [akpm@linux-foundation.org: remove unneeded check (per Johannes)] Signed-off-by: Ivan Kokshaysky Cc: Nick Piggin Cc: Johannes Weiner Cc: Richard Henderson Cc: Johannes Weiner Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit b46578ed094122a6b36002c644711cef68aa9c9e Author: Michael Hennerich Date: Thu Jan 15 13:50:46 2009 -0800 video/framebuffer: fix bug: jpegview cannot work on framebuffer device other than 16BPP Force fb_var_screeninfo color format on all Blackfin Framebuffer Drivers. Signed-off-by: Michael Hennerich Signed-off-by: Bryan Wu Cc: Mike Frysinger Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit a342d215c206d955fea55d778e3803b29ee41b60 Author: Ben Dooks Date: Thu Jan 15 13:50:45 2009 -0800 gpio: fix probe() error return in gpio driver probes A number of drivers in drivers/gpio return -ENODEV when confronted with missing setup parameters such as the platform data. However, returning -ENODEV causes the driver layer to silently ignore the driver as it assumes the probe did not find anything and was only speculative. To make life easier to discern why a driver is not being attached, change to returning -EINVAL, which is a better description of the fact that the driver data was not valid. Also add a set of dev_dbg() statements to the error paths to provide an better explanation of the error as there may be more that one point in the driver. Signed-off-by: Ben Dooks Cc: David Brownell Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 5b96f1729064453e09805a387378e0644da1c937 Author: Stanislaw Gruszka Date: Thu Jan 15 13:50:44 2009 -0800 atmel_spi: allow transfer when max_speed_hz = 0 For some reason I have to slowdown clock to touchscreen device. In atmel_spi_setup() there is comment that max_speed_hz == 0 means as slow as possible and divider is set to maximum value. But in atmel_spi_transfer() function is check against not zero max_speed_hz with EINVAL returned. Probably driver should setup divider for each transfer based on transfer->speed_hz value, but I think that would be not necessary overhead as all used devices have constant clock. Below patch works fine for me. Signed-off-by: Stanislaw Gruszka Signed-off-by: Haavard Skinnemoen Cc: David Brownell Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 1f14081d8b31b2780e2e6e2ae2766264e1f7d38b Author: Itai Levi Date: Thu Jan 15 13:50:43 2009 -0800 atmel_serial: fix flow control bug Fix the following problem, related to hardware flow control (CTS/RTS): Transmitting while CTS line is asserted in DMA mode, due to not checking for tx-stopped condition. We found these problems while testing the UARTs with hardware flow-control. Signed-off-by: Haavard Skinnemoen Cc: "Andrew Victor" Cc: Alan Cox Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit db0fb1848a645b0b1b033765f3a5244e7afd2e3c Author: Peter W Morreale Date: Thu Jan 15 13:50:42 2009 -0800 Update of Documentation: vm.txt and proc.txt Update Documentation/sysctl/vm.txt and Documentation/filesystems/proc.txt. More specifically, the section on /proc/sys/vm in Documentation/filesystems/proc.txt was removed and a link to Documentation/sysctl/vm.txt added. Most of the verbiage from proc.txt was simply moved in vm.txt, with new addtional text for "swappiness" and "stat_interval". Signed-off-by: Peter W Morreale Acked-by: Randy Dunlap Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit b5db0e38653bfada34a92f360b4111566ede3842 Author: Linus Torvalds Date: Thu Jan 15 15:32:12 2009 -0800 Revert "x86 PAT: remove CPA WARN_ON for zero pte" This reverts commit 58dab916dfb57328d50deb0aa9b3fc92efa248ff, which makes my Nehalem come to a nasty crawling almost-halt. It looks like it turns off caching of regular kernel RAM, with the understandable slowdown of a few orders of magnitude as a result. Acked-by: Ingo Molnar Cc: Yinghai Lu Cc: Peter Anvin Cc: Venkatesh Pallipadi Cc: Suresh Siddha Signed-off-by: Linus Torvalds commit a58c891a53aca81c78f9cbe0572a301042470e96 Author: Eric Dumazet Date: Thu Jan 15 15:29:35 2009 -0800 b44: GFP_DMA skb should not escape from driver b44 chip has some hardware limitations, that need GFP_DMA bounce buffers in some situations. In order to not deplete DMA zone, we should keep allocated GFP_DMA skb only for driver use. At rx time, we copy such skb to newly allocated skb, reusing existing copybreak infrastructure. On machines with low amount of memory, all skb meet the hardware limitation, so no copy is needed. We detect this situation using a new device flag, set to one if one GFP_DMA skb was ever allocated by b44_alloc_rx_skb(). Previously allocated skb, even outside from DMA zone will then be recycled, to have minimal impact on DMA zone use. Signed-off-by: Eric Dumazet Tested-by: Ionut Leonte Signed-off-by: David S. Miller commit 18c07cf530cf4aa8b7551801f68ed40db5ee4e45 Author: Cliff Wickman Date: Thu Jan 15 09:51:20 2009 -0600 x86, UV: cpu_relax in uv_wait_completion The function uv_wait_completion() spins on reads of a memory-mapped register, waiting for completion of BAU hardware replies. It should call "cpu_relax()" between those reads to improve performance on hyperthreaded configurations. Signed-off-by: Cliff Wickman Acked-by: Jack Steiner Signed-off-by: Ingo Molnar commit 4a13ad0bd8869bb491c67918662f9b1852595af5 Author: Jan Beulich Date: Wed Jan 14 12:28:51 2009 +0000 x86: avoid early crash in disable_local_APIC() E.g. when called due to an early panic. Signed-off-by: Jan Beulich Signed-off-by: Ingo Molnar commit c903ff837909ccada51243307d4239f86af40179 Author: Mike Travis Date: Thu Jan 15 12:28:29 2009 -0800 rcu: move Kconfig menu Move RCU Kconfig options from top-level menu to an "RCU Subsystem" menu under the "General Setup" menu. Signed-off-by: Mike Travis Tested-by: "Paul E. McKenney" Signed-off-by: Ingo Molnar commit 46a5f173fc88ffc22651162033696d8a9fbcdc5c Author: Alistair John Strachan Date: Thu Jan 15 22:27:48 2009 +0100 hwmon: (abituguru3) Fix CONFIG_DMI=n fallback to probe When CONFIG_DMI is not enabled, dmi detection should flag that no board could be detected (err=1) rather than another error condition (err<0). This fixes the fallback to manual probing for all motherboards, even those without DMI strings, when CONFIG_DMI=n. Signed-off-by: Alistair John Strachan Cc: Hans de Goede Signed-off-by: Jean Delvare commit 3907a8def78a15cd91985c23a3e76b563f36929a Author: Alistair John Strachan Date: Thu Jan 15 22:27:48 2009 +0100 hwmon: (abituguru3) Enable DMI probing feature on IN9 32X MAX Switch the IN9 32X MAX over from port probing to the preferred DMI probe method. Signed-off-by: Alistair John Strachan Tested-by: Paul Hartman Cc: Hans de Goede Signed-off-by: Jean Delvare commit 058943ddcb7cb307a0c406088c1e61f203d8b66f Author: Alistair John Strachan Date: Thu Jan 15 22:27:47 2009 +0100 hwmon: (abituguru3) Match partial DMI board name strings The switch-over to using DMI board strings to identify abituguru3 compatible mainboards works most of the time, but sometimes the vendor has substantially modified the board string between BIOS revisions. We have found that the vendor chipset identification string (provided in brackets) changes frequently and is of no use to us. The rest of the board string sometimes changes in subtle ways, e.g. whitespace or variations in capitalization. The new comparison code checks only a part of the supplied DMI board string, trimming the bracketed content, whitespace, and ignoring case as necessary. This fixes a bug where an IP35 Pro running an early BIOS would not be detected without the force=1 module parameter, and also speculatively fixes other similiar issues. Signed-off-by: Alistair John Strachan Reported-by: Nick Pasich Cc: Hans de Goede Signed-off-by: Jean Delvare commit 1c301fc5394f7e1aa4c201e6e03d55d9c08b3bdf Author: Jordan Crouse Date: Thu Jan 15 22:27:47 2009 +0100 hwmon: Add a driver for the ADT7475 hardware monitoring chip Hwmon driver for the ADT7475 chip. Signed-off-by: Jordan Crouse Signed-off-by: Hans de Goede Signed-off-by: Jean Delvare commit 76ff08da34196cfa308fcd3552bb9ea20888e745 Author: Andreas Herrmann Date: Thu Jan 15 22:27:47 2009 +0100 hwmon: (k8temp) Fix temperature reporting for (most) K8 RevG CPUs Current Temperature for K8 RevG desktop CPUs is a "normalized value" which can be below ambient temperature. As a consequence lots of RevG systems report temperatures like: $ sensors k8temp-pci-00c3 Adapter: PCI adapter Core0 Temp: +17 C Core0 Temp: +3 C Core1 Temp: +21 C Core1 Temp: +5 C being quite below ambient temperature. There are even reports of negative temperature values. This patch corrects the temperature reporting of k8temp for RevG desktop CPUs. Cc: Rudolf Marek Signed-off-by: Andreas Herrmann Signed-off-by: Jean Delvare commit a2e066bba2aad6583e3ff648bf28339d6c9f0898 Author: Andreas Herrmann Date: Thu Jan 15 22:27:47 2009 +0100 hwmon: (k8temp) Fix wrong sensor selection for AMD K8 RevF/RevG CPUs Meaning of ThermSenseCoreSel bit was inverted beginning with K8 RevF. That means with current driver temp1/temp2 belong to core 1 and temp3/temp4 belong to core 0 on a K8 RevF/RevG CPU. This patch ensures that temp1/temp2 always belong to core 0 and temp3/temp4 to core 1 for all K8 revisions. Cc: Rudolf Marek Signed-off-by: Andreas Herrmann Signed-off-by: Jean Delvare commit bb9a35f293a3c8b5d57253cdfe2f29fa2627e1b9 Author: Andreas Herrmann Date: Thu Jan 15 22:27:46 2009 +0100 hwmon: (k8temp) Warn about fam F rev F errata Add warning about wrong CPU temperature readouts on all fam F rev F. The allowed combinations of processors ensure that all processors in a multisocket system have similar characteristics, e.g. (1) provide temperature sensor interface (>=RevC && =RevF) Thus it is sufficient to check the revision of the boot CPU. For "mixed silicon support" refer to "Revision Guide for AMD Athlon 64 and AMD Opteron Processors" (RevA-E) and "Revision Guide for AMD NPT Family 0Fh Processors" (RefF-G). Cc: Rudolf Marek Signed-off-by: Andreas Herrmann Signed-off-by: Jean Delvare commit 647df5189fecb2c2fa811421a3f28bf9034e3a70 Merge: cbbc498 175add1 Author: Linus Torvalds Date: Thu Jan 15 12:56:12 2009 -0800 Merge branch 'release' of git://git.kernel.org/pub/scm/linux/kernel/git/aegl/linux-2.6 * 'release' of git://git.kernel.org/pub/scm/linux/kernel/git/aegl/linux-2.6: [IA64] SN specific version of dma_get_required_mask() [IA64] generic_defconfig: Enable SATA_VITESSE [IA64] dump stack on kernel unaligned warnings [IA64] Turn on CONFIG_HAVE_UNSTABLE_CLOCK [IA64] Update to use account_{steal,idle}_ticks commit cbbc49877d44408c4d0decf77c3c141732bbc679 Author: David Woodhouse Date: Thu Jan 15 19:12:51 2009 +0000 CREDITS address update for dwmw2. Update employer's care-of address in CREDITS file, and remove references to some _very_ old stuff I'd forgotten I'd ever done. Signed-off-by: David Woodhouse Signed-off-by: Linus Torvalds commit 22deb791f303a26c7181e640b2aab2a4536626c5 Merge: 5839b41 7c4958e Author: Linus Torvalds Date: Thu Jan 15 12:49:13 2009 -0800 Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tiwai/sound-2.6 * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tiwai/sound-2.6: ALSA: hda - Fix invalid amp value for STAC925x ASoC: Fix the power update function for snd_soc_dapm_value_mux sound: virtuoso: do not overwrite EEPROM on Xonar D2/D2X ALSA: hda - Fix HP dv5 mic input ALSA: hda - Fix missing initialization of NID 0x0e for STAC925x ALSA: USB quirk for Logitech Quickcam Pro 9000 name ALSA: hda - Fix stac92hd83xxx_amp_nids[] ALSA: hda - Add automatic model setting for Samsung Q45 ALSA: hda - Don't reset HP pinctl in patch_sigmatel.c ALSA: hda: stac92hd8xxx amp mixers ALSA: hda - Fix silent headphone output on Panasonic CF-74 ALSA: hda - Update model descriptions in patch_sigmatel.c ALSA: hda - Use queue_delayed_work() ALSA: hda - Add quirk for another HP dv5 ALSA: hda - Add support of NVidia MCP78 HDMI ALSA: hda - Fix a typo ALSA: hda - More fixes on Gateway entries ALSA: patch_sigmatel: Add missing Gateway entries and autodetection ALSA: hda - Add a new function to seek for a codec ID commit 5839b414f9f9d2d6a471988763b61dbf85eb2dba Author: Denis Joseph Barrow Date: Thu Jan 15 13:31:34 2009 +0000 hso serial throttled tty kref fix. This patch is for Alan Cox as it related to the tty layer. Hopefully the hso driver is again relatively stable with this fix. Signed-off-by: Denis Joseph Barrow Signed-off-by: Alan Cox Signed-off-by: Linus Torvalds commit d45eb81c3e345fabaf27ef3ab437b85c0bf9fafa Author: Denis Joseph Barrow Date: Thu Jan 15 13:31:24 2009 +0000 tty: Fix double grabbing of a spinlock The HSO changes for kref introduced a recursive spinlock take. All functions which call put_rxbuf_data already have serial->serial_lock grabbed. [Comment to code added-AC] Signed-off-by: Denis Joseph Barrow Signed-off-by: Alan Cox Signed-off-by: Linus Torvalds commit fe41cbb164a0dc55f3914a0e4cabe8240410157c Author: Alan Cox Date: Thu Jan 15 13:31:15 2009 +0000 tty: Fix a kref leak in the HSO driver on re-open Signed-off-by: Linus Torvalds commit a9fec7102f01f6464b19e13ffd9d8c48663379ad Author: Jim Paris Date: Thu Jan 15 13:31:07 2009 +0000 ftdi_sio: fix kref leak Commit 4a90f09b20f4622dcbff1f0e1e6bae1704f8ad8c added kref stuff to ftdi_sio, but missed tty_kref_put at one exit point in ftdi_process_read. Signed-off-by: Jim Paris Signed-off-by: Alan Cox Signed-off-by: Linus Torvalds commit cd1e40f0981e22018373307cd4087dc876b08fb0 Author: Mischa Jonker Date: Thu Jan 15 13:30:56 2009 +0000 When a break signal is detected, the next character should be ignored. This was not implemented correctly for the pnx8xxx_uart driver. [From further discussion: Correct, you can look to it as two separate bugs: a) the next character is not ignored while it should; b) the status bits 31-8 are copied to the 'ch' variable while they shouldn't. Both bugs prevent correct break signal handling (and therefore correct behaviour of the magic SysRq key). Bug b didn't cause too much trouble earlier because in most situations the status bits are all zero; for this case they unfortunately aren't. ] Signed-off-by: Mischa Jonker Signed-off-by: Alan Cox Signed-off-by: Linus Torvalds commit 7fdd4f76e9a289592d020538f1837a7541ea89ff Author: Daniel Gagnon Date: Thu Jan 15 13:30:45 2009 +0000 serial: Add SupraExpress 336i PnP Voice Modem Add SupraExpress 336i PnP Voice Modem Tested and working with the following device: (output from lspnp -v) 01:01.00 SUP1381 (unknown) state = active io 0x2f8-0x2ff irq 3 Signed-off-by: Daniel Gagnon Signed-off-by: Alan Cox Signed-off-by: Linus Torvalds commit 25cf9bc1fcb085daaeb82b09bab0fb3c40570887 Author: Jiri Slaby Date: Thu Jan 15 13:30:34 2009 +0000 8250_pci: add support for netmos 9835 IBM devices Most of netmos 9835 hardware is handled by parport-serial. IBM introduces a device which doesn't have any parallel ports and have screwed subdevice PCI id (not corresponding to port numbers). Handle this device (9710:9835 1014:0299) properly. Signed-off-by: Jiri Slaby Signed-off-by: Andrew Morton Signed-off-by: Alan Cox Signed-off-by: Linus Torvalds commit c0253eec2a8e1140dd9672a1efe095cdcf5811d0 Author: Alan Cox Date: Thu Jan 15 13:30:25 2009 +0000 tty: Fix race in the flush for some ldiscs If you issue an ioctl to flush a tty as the line discipline is changing or otherwise unplugged you can get a crash. The bug is very old but the rest of the BKL lock dropping and some very "good" luck on Ingo's part caught an example. Use the correct ldisc_ref form so that we wait for the ldisc change to complete and then flush Signed-off-by: Alan Cox Signed-off-by: Linus Torvalds commit 6272d68cc6a5f90c6b1a2228cf0f67b895305d17 Author: Lin Ming Date: Thu Jan 15 17:17:15 2009 +0100 sched: sched_slice() fixlet Mike's change: 0a582440f "sched: fix sched_slice())" broke group scheduling by forgetting to reload cfs_rq on each loop. This patch fixes aim7 regression and specjbb2005 regression becomes less than 1.5% on 8-core stokley. Signed-off-by: Lin Ming Signed-off-by: Peter Zijlstra Tested-by: Jayson King Signed-off-by: Ingo Molnar commit aa2fbcec07b0d594808bc3058692395d24eba66e Author: Henrique de Moraes Holschuh Date: Sun Jan 11 03:01:10 2009 -0200 ACPI: thinkpad-acpi: bump up version to 0.22 It is about time to bump up the version. Features added since 0.21: fan suspend/resume support, preserve radio state across power off (for some radio types), built-in UWB radio rfkill support and thermal alarm events support. Signed-off-by: Henrique de Moraes Holschuh Signed-off-by: Len Brown commit 54926ce8d2db7ebcbc4b80aae2cec571cd793e46 Author: Henrique de Moraes Holschuh Date: Sun Jan 11 03:01:09 2009 -0200 ACPI: thinkpad-acpi: handle HKEY event 6030 HKEY event 0x6030 is a helper for Lenovo's Advanced Thermal Management Windows driver, which is, of course, completely undocumented. Silence any warnings about it being an unknown alarm, and report it unmodified for userspace. Signed-off-by: Henrique de Moraes Holschuh Signed-off-by: Len Brown commit 1c2ece758a36b48133717e4db060fbe8fa52c5cd Author: Henrique de Moraes Holschuh Date: Sun Jan 11 03:01:08 2009 -0200 ACPI: thinkpad-acpi: clean-up fan subdriver quirk Better document the Unitialized HFSP quirk, and modularize it a bit. This makes the code flow easier to read and reduces LOC. Apply the Unitialized HFSP closer to the source (i.e. inside the get_fan_status()), this fixes a harmless buglet where at driver init with the quirk active, the user could set the hwmon pwm1 attribute and switch out of pwm1_mode=2 to pwm1_mode=0 without changing pwm1_mode directly. Signed-off-by: Henrique de Moraes Holschuh Cc: Tino Keitel Signed-off-by: Len Brown commit cb4293589855714b6d5079336019bf2af5fc41f8 Author: Henrique de Moraes Holschuh Date: Sun Jan 11 03:01:07 2009 -0200 ACPI: thinkpad-acpi: start the event hunt season Ask users to tell us about any unhandled events they find. Signed-off-by: Henrique de Moraes Holschuh Signed-off-by: Len Brown commit 106b4e6657e10831f35c32afa26d9c11e6312783 Author: Henrique de Moraes Holschuh Date: Sun Jan 11 03:01:06 2009 -0200 ACPI: thinkpad-acpi: handle HKEY thermal and battery alarms Handle some HKEY events that are actually firmware alarms. For now, we do the simple thing: log specific messages to the log and let the thinkpad-specific event pass to userspace. In the future, these events will be migrated to generic notifications and subsystems. These alarms are NOT available on all ThinkPads. E.g. the T43 only issues 0x6011 and 0x6012. Signed-off-by: Henrique de Moraes Holschuh Signed-off-by: Len Brown commit 175add1981e53d22caba8f42d5f924a4de507b6c Author: John Keller Date: Mon Nov 24 16:47:17 2008 -0600 [IA64] SN specific version of dma_get_required_mask() Create a platform specific version of dma_get_required_mask() for ia64 SN Altix. All SN Altix platforms support 64 bit DMA addressing regardless of the size of system memory. Create an ia64 machvec for dma_get_required_mask, with the SN version unconditionally returning DMA_64BIT_MASK. Signed-off-by: John Keller Signed-off-by: Tony Luck commit a6a3bb5c88d706c5efe0c86b3b669ac9ee012b3f Author: Brent Casavant Date: Wed Dec 10 09:46:16 2008 -0600 [IA64] generic_defconfig: Enable SATA_VITESSE CONFIG_SATA_VITESSE=y was not added to generic_defconfig when sn2_defconfig was removed. SGI Altix systems that use an IO10 base IO card to drive the root device are unable to boot without the Vitesse controller. Signed-off-by: Brent Casavant Signed-off-by: Robin Holt Signed-off-by: Jes Sorensen Signed-off-by: Tony Luck commit 3827e7a3fd03718d4d204c66d9e3ab9b125ae552 Author: Henrique de Moraes Holschuh Date: Sun Jan 11 03:01:05 2009 -0200 ACPI: thinkpad-acpi: clean up hotkey_notify() Clean up the hotkey_notify() handler, which handles the HKEY notifications from the ACPI firmware. It was getting too long and deep. No functional changes. Signed-off-by: Henrique de Moraes Holschuh Signed-off-by: Len Brown commit 7646ea88af80a92f2775e17d4283830d7f09ea2d Author: Henrique de Moraes Holschuh Date: Sun Jan 11 03:01:04 2009 -0200 ACPI: thinkpad-acpi: use killable instead of interruptible mutexes Unfortunately, POSIX in all of its braindamage, do not state that userspace has to deal with EINTR in read/write and friends... so, lesser code just doesn't. Switch from *_interruptible to *_killable on the sysfs- and procfs-related mutexes. This closes this possible can of worms. Signed-off-by: Henrique de Moraes Holschuh Signed-off-by: Len Brown commit 88fc241f54459ac3d86c5e13b449730199f66061 Author: Doug Chapman Date: Thu Jan 15 10:38:56 2009 -0800 [IA64] dump stack on kernel unaligned warnings Often the cause of kernel unaligned access warnings is not obvious from just the ip displayed in the warning. This adds the option via proc to dump the stack in addition to the warning. The default is off (just display the 1 line warning). To enable the stack to be shown: echo 1 > /proc/sys/kernel/unaligned-dump-stack Signed-off-by: Doug Chapman Signed-off-by: Tony Luck commit 0045c0aa7d5e787f78938e6a10927b8a516f0b83 Author: Henrique de Moraes Holschuh Date: Sun Jan 11 03:01:03 2009 -0200 ACPI: thinkpad-acpi: add UWB radio support Add rfkill support for USB UWB radio devices on very recent ThinkPad laptop models. The new subdriver is moslty a trimmed down copy of the wwan subdriver. Signed-off-by: Henrique de Moraes Holschuh Cc: Ivo van Doorn Signed-off-by: Len Brown commit 90d9d3c79c44bcf95bc487e9bbceaff2de370310 Author: Henrique de Moraes Holschuh Date: Sun Jan 11 03:01:02 2009 -0200 ACPI: thinkpad-acpi: preserve radio state across shutdown Store in firmware NVRAM the radio state on machine shutdown for WWAN and bluetooth. Also, try to set the initial boot state of these radios as the rfkill default state for their respective classes. Signed-off-by: Henrique de Moraes Holschuh Cc: Ivo van Doorn Signed-off-by: Len Brown commit 153f82207c51193e4d6a7e6f0e3f9442eabeba1c Author: Henrique de Moraes Holschuh Date: Sun Jan 11 03:01:01 2009 -0200 ACPI: thinkpad-acpi: resume with radios disabled Instruct the firmware to not enable the radios when resuming. This is safer, and the rfkill core will take care to manually enable any radios that need to be enabled. Signed-off-by: Henrique de Moraes Holschuh Signed-off-by: Len Brown commit a73f30916ee524437253739eacc682f6fb0f3ea8 Author: Henrique de Moraes Holschuh Date: Sun Jan 11 03:01:00 2009 -0200 ACPI: thinkpad-acpi: debug facility to emulate the rf switches This code is required to keep the thinkpad-acpi maintainer sane, and it is disabled by default. Add a debug facility to simulate an rfkill hardware rocker switch, a bluetooth rfkill soft-switch, a WWAN rfkill soft-switch on thinkpads. The simulated switches obviously do not kill any radios in hardware or firmware (unlike the real one). They also don't issue deprecated proc events. Signed-off-by: Henrique de Moraes Holschuh Signed-off-by: Len Brown commit 0773a6cf673316440999752e23f8c3d4f85e48b9 Author: Tony Luck Date: Thu Jan 15 10:29:17 2009 -0800 [IA64] Turn on CONFIG_HAVE_UNSTABLE_CLOCK sched_clock() on ia64 is based on ar.itc, so is never completely synchronized between cpus. On some platforms (e.g. certain models of SGI Altix) it may be running at radically different frequencies. Based on a patch from Dimitri Sivanich which set this just for SN2 && GENERIC kernels ... it is needed for all ia64 machines. Signed-off-by: Tony Luck commit e0b36fc5efd610a208b6b80e821a49302ca424ab Author: Kay Sievers Date: Sun Jan 11 03:00:59 2009 -0200 ACPI: thinkpad-acpi: struct device - replace bus_id with dev_name(), dev_set_name() Signed-off-by: Kay Sievers Acked-by: Greg Kroah-Hartman Acked-by: Henrique de Moraes Holschuh Signed-off-by: Len Brown commit 9abf0eea877d6107d3a8a5c6913450e961fb7050 Author: Henrique de Moraes Holschuh Date: Sun Jan 11 03:00:58 2009 -0200 ACPI: thinkpad-acpi: update documents for the new location Update documentation to reflect the new location of the thinkpad-acpi driver. Signed-off-by: Henrique de Moraes Holschuh Signed-off-by: Len Brown commit 7a0b6e01434f77194b86c8051b4c3718da636c64 Author: Isaku Yamahata Date: Thu Jan 15 15:16:55 2009 +0900 [IA64] Update to use account_{steal,idle}_ticks This patch fixes the following errors caused by 79741dd35713ff4f6fd0eafd59fa94e8a4ba922d which changed the prototypes of account_steal_time() and account_idle_time(). > CC arch/ia64/xen/time.o > arch/ia64/xen/time.c: In function 'consider_steal_time': > arch/ia64/xen/time.c:132: warning: passing argument 1 of 'account_steal_time' makes integer from pointer without a cast > arch/ia64/xen/time.c:132: error: too many arguments to function 'account_steal_time' > arch/ia64/xen/time.c:133: warning: passing argument 1 of 'account_steal_time' makes integer from pointer without a cast > arch/ia64/xen/time.c:133: error: too many arguments to function 'account_steal_time' Cc: Martin Schwidefsky Signed-off-by: Isaku Yamahata Signed-off-by: Tony Luck commit c9280d681c4093405fc896dc25f81d5ff9de8183 Author: Takashi Iwai Date: Thu Jan 15 17:31:00 2009 +0100 ALSA: hda - Fix (yet more) STAC925x issues The codec-parsing of STAC925x was utterly broken due to its unique design unlike other STAC codecs. It has a volume control only in NID 0x0e (similar as STAC9200), but the parser assumes that the amp is available on each DAC widget. The patch fixes the whole wrong stories: fix the initial volume, assign the fixed "Master" volume, and avoid to create wrong volume controls. Signed-off-by: Takashi Iwai commit 1c5625cf0f121486abad4da0e0251ec67765aa95 Author: Phil Sutter Date: Wed Jan 14 21:51:48 2009 -0800 korina: do not use IRQF_SHARED with IRQF_DISABLED As the kernel warning states: "IRQF_DISABLED is not guaranteed on shared IRQs". Since these IRQs' values are hardcoded and my test system doesn't show any shared use of IRQs at all, rather make them non-shared than non-disabled. Signed-off-by: Phil Sutter Acked-by: Florian Fainelli Signed-off-by: David S. Miller commit 5edc7668bbece4238a32943ae7a47135af076948 Author: Phil Sutter Date: Wed Jan 14 21:51:15 2009 -0800 korina: do not stop queue here Apparently this doesn't make sense. Otherwise the queue gets disabled as soon as it's getting empty and can only be resurrected by a driver restart. Signed-off-by: Phil Sutter Acked-by: Florian Fainelli Signed-off-by: David S. Miller commit 97bc477cbc3d63f2a29c2c81031434b3a082f44c Author: Phil Sutter Date: Wed Jan 14 21:50:41 2009 -0800 korina: fix handling tx_chain_tail Originally this must have been a rewrite error when introducing 'chain_index'. But the original driver did not use the previous chain item everywhere: when altering the address tx_chain_tail points to, it should move forward, not backwards. Also this is not an "index" but rather the penultimate element in the chain, so rename it accordingly. Signed-off-by: Phil Sutter Acked-by: Florian Fainelli Signed-off-by: David S. Miller commit 60d3f9827ca455e7272681d67a37137c328d7012 Author: Phil Sutter Date: Wed Jan 14 21:50:12 2009 -0800 korina: do tx at the right position Triggering TX before the write to the DMA status mask register leads to transferring packets with maximum payload no matter what the actual packet size is. While here, also trigger RX scheduling after writing the DMA status mask register, like it was in the original driver before it was sent upstream. Signed-off-by: Phil Sutter Acked-by: Florian Fainelli Signed-off-by: David S. Miller commit 4676f63d4c1e2e3530e42cb39bf88a1c1d4d78a5 Author: Phil Sutter Date: Wed Jan 14 21:49:39 2009 -0800 korina: do schedule napi after testing for it The called netif_rx_schedule() does all the work for us: - it checks the return value of netif_rx_schedule_prep() and - if everything is ok calls __netif_rx_schedule(). Before this change, the driver received absolutely nothing. Signed-off-by: Phil Sutter Acked-by: Florian Fainelli Signed-off-by: David S. Miller commit 4cf83b664fc14f8262d3013566ca36645f891df2 Author: Phil Sutter Date: Wed Jan 14 21:48:59 2009 -0800 korina: rework korina_rx() for use with napi This function needs an early exit condition to function properly, or else caller assumes napi workload wasn't enough to handle all received packets and korina_rx is called again (and again and again and ...). Signed-off-by: Phil Sutter Acked-by: Florian Fainelli Signed-off-by: David S. Miller commit beb0babfb77eab0cbcc7f64a7b8f3545fec5c0ba Author: Phil Sutter Date: Wed Jan 14 21:48:24 2009 -0800 korina: disable napi on close and restart Without this the driver will crash when the NIC is being restarted. Signed-off-by: Phil Sutter Acked-by: Florian Fainelli Signed-off-by: David S. Miller commit a13b27826a67bfc0ca444fb42885f2069b6898e2 Author: Phil Sutter Date: Wed Jan 14 21:47:50 2009 -0800 korina: reset resource buffer size to 1536 The new value is the one used in the external patch before and allows at least a standard MTU of 1500 to be handled correctly. Impact of this change gets visible when bigger packets are to be received, issuing: | ping -s 492 and bigger payload sized led to 100% packet loss. Signed-off-by: Phil Sutter Acked-by: Florian Fainelli commit b96ecfa689126d1e652ebd758da0b5b9b27dbd12 Author: Phil Sutter Date: Wed Jan 14 21:46:51 2009 -0800 korina: fix usage of driver_data Using platform_set_drvdata() here makes no sense, since the driver_data field has already been filled with valuable data (i.e. the MAC address). Also having driver_data point to the net_device is rather pointless since struct korina_device contains an apropriate field for it. Signed-off-by: Phil Sutter Signed-off-by: David S. Miller commit 0ef00459a638ae4f5d1e5326d3e50232fa80119f Author: Eilon Greenstein Date: Wed Jan 14 21:31:08 2009 -0800 bnx2x: First slow path interrupt race The "read for interrupts" flag must be set before enabling slow-path interrupts as well (and not just before fast-path interrupts) Signed-off-by: Eilon Greenstein Signed-off-by: David S. Miller commit e7799c5f79072b5b34cf08170f142bcb8569cfff Author: Eilon Greenstein Date: Wed Jan 14 21:30:27 2009 -0800 bnx2x: MTU Filter Too big packets could pass due to wrong filter size Signed-off-by: Eilon Greenstein Signed-off-by: David S. Miller commit 26c8fa4d8a08b6e7a61f23339e2236218957ecc0 Author: Eilon Greenstein Date: Wed Jan 14 21:29:55 2009 -0800 bnx2x: Indirection table initialization index Wrong initialization of the multi-queue indirection table - it should be using the function and not the port index Signed-off-by: Eilon Greenstein Signed-off-by: David S. Miller commit f5ba6772f226be0266f95642c8162493246d3b79 Author: Eilon Greenstein Date: Wed Jan 14 21:29:18 2009 -0800 bnx2x: Missing brackets Calculation bug due to missing brackets Signed-off-by: Eilon Greenstein Signed-off-by: David S. Miller commit a5f67a04d998b0b6e4beb1de8f1247dd93ac1ff4 Author: Eilon Greenstein Date: Wed Jan 14 21:28:13 2009 -0800 bnx2x: Fixing the doorbell size The size of the doorbell is 4KB, this bug become visible when using more than 8 queues Signed-off-by: Eilon Greenstein Signed-off-by: David S. Miller commit 68d5948436c2f782ebb5ddf25a6588ee452e8c30 Author: Eilon Greenstein Date: Wed Jan 14 21:27:36 2009 -0800 bnx2x: Endianness issues Adding missing le_to_cpu and disabling wrong HW endianity flag (the two complete each other) Signed-off-by: Eilon Greenstein Signed-off-by: David S. Miller commit 0c6671b0d94f706dfc20cb22d792218ba9814412 Author: Eilon Greenstein Date: Wed Jan 14 21:26:51 2009 -0800 bnx2x: VLAN tagged packets without VLAN offload Wrong handling of tagged packet if VLAN offload is disabled caused packets to get corrupted Signed-off-by: Eilon Greenstein Signed-off-by: David S. Miller commit a5e9a7cfad5fd301ce2b7869bbf386b70aa39e7c Author: Eilon Greenstein Date: Wed Jan 14 21:26:01 2009 -0800 bnx2x: Protecting the link change indication Without this lock, in some race conditions the driver missed link change indication Signed-off-by: Eilon Greenstein Signed-off-by: David S. Miller commit 3c96c68b0c67d11b8519bc38233aec586f0211f4 Author: Eilon Greenstein Date: Wed Jan 14 21:25:31 2009 -0800 bnx2x: Flow control updated before reporting the link Signed-off-by: Eilon Greenstein Signed-off-by: David S. Miller commit ad33ea3a8d2ec324dc0f46b6ae404d824d2b349b Author: Eilon Greenstein Date: Wed Jan 14 21:24:57 2009 -0800 bnx2x: Missing mask when calculating flow control Signed-off-by: Eilon Greenstein Signed-off-by: David S. Miller commit 4f40f2cba244e04c0f385c5ce60498b513b335dd Author: Eilon Greenstein Date: Wed Jan 14 21:24:17 2009 -0800 bnx2x: Using system page size for SGE When the page size is not 4KB, the FW must be programmed to work with the right SGE boundaries and fragment list length. To avoid confusion with the BCM_PAGE_SIZE which is set to 4KB for the FW sake, another alias for the system page size was added to explicitly indicate that it is meant for the SGE Signed-off-by: Eilon Greenstein Signed-off-by: David S. Miller commit 58f4c4cfce5c4715b79621f0a635925c55f855d5 Author: Eilon Greenstein Date: Wed Jan 14 21:23:36 2009 -0800 bnx2x: Missing memory barriers While working on IA64, it became clear that the following memory barriers are missing Signed-off-by: Eilon Greenstein Signed-off-by: David S. Miller commit 1cf167f27ad2720af11ee8aa350009342f909e70 Author: Eilon Greenstein Date: Wed Jan 14 21:22:18 2009 -0800 bnx2x: Using singlethread work queue Since slow-path events, including link update, are handled in work-queue, a race condition was introduced in the self-test that sometimes caused the link status to fail: the self-test was running under RTNL lock, and if the link-watch was scheduled it stoped the shared work-queue (waiting for the RTNL lock) and so the link update event was not handled until the self-test ended (releasing the RTNL lock) with failure (since the link status was not updated) Signed-off-by: Eilon Greenstein Signed-off-by: David S. Miller commit 7c4958ee061b678114ffae8fb5783ccc91ffc614 Merge: 320bc3b 428549f Author: Takashi Iwai Date: Thu Jan 15 17:03:02 2009 +0100 Merge branch 'topic/hda' into for-linus commit 428549f5746c9d6135d425d076a1bed2614d58ee Author: Takashi Iwai Date: Thu Jan 15 16:56:59 2009 +0100 ALSA: hda - Fix invalid amp value for STAC925x The value set in the commit 2465fb6605b4f8f3964b132017bf4078d1265fe9 is actually wrong. The value range is from 0 to 0x1f while the patch sets to 0x7f. Let's fix it. Signed-off-by: Takashi Iwai commit 320bc3b1553fa3e0d950c91471d2e88316305f8e Merge: 40f135f 7e86c0e Author: Takashi Iwai Date: Thu Jan 15 16:22:39 2009 +0100 Merge branch 'topic/virtuoso-fix' into for-linus commit 40f135f0660e9edec4beeb0ef142dd218e559d99 Merge: e8d7bd3 5c6c9e6 Author: Takashi Iwai Date: Thu Jan 15 16:22:33 2009 +0100 Merge branch 'topic/usb-fix' into for-linus commit e8d7bd34a5cd850329b4908efe6f3ae73bc5fd1a Merge: eff317d 1b0652e Author: Takashi Iwai Date: Thu Jan 15 16:22:28 2009 +0100 Merge branch 'topic/hda' into for-linus commit eff317d0834ad1ff03f747f6bc2d76b9a9c95160 Author: Peter Ujfalusi Date: Thu Jan 15 14:40:47 2009 +0200 ASoC: Fix the power update function for snd_soc_dapm_value_mux Modify the check for the mux type to also handle the snd_soc_dapm_value_mux type in a same way as the snd_soc_dapm_mux. Signed-off-by: Peter Ujfalusi Signed-off-by: Takashi Iwai commit e17036dac189dd034c092a91df56aa740db7146d Author: Peter Zijlstra Date: Thu Jan 15 14:53:39 2009 +0100 sched: fix update_min_vruntime Impact: fix SCHED_IDLE latency problems OK, so we have 1 running task A (which is obviously curr and the tree is equally obviously empty). 'A' nicely chugs along, doing its thing, carrying min_vruntime along as it goes. Then some whacko speed freak SCHED_IDLE task gets inserted due to SMP balancing, which is very likely far right, in that case update_curr update_min_vruntime cfs_rq->rb_leftmost := true (the crazy task sitting in a tree) vruntime = se->vruntime and voila, min_vruntime is waaay right of where it ought to be. OK, so why did I write it like that to begin with... Aah, yes. Say we've just dequeued current schedule deactivate_task(prev) dequeue_entity update_min_vruntime Then we'll set vruntime = cfs_rq->min_vruntime; we find !cfs_rq->curr, but do find someone in the tree. Then we _must_ do vruntime = se->vruntime, because vruntime = min_vruntime(vruntime := cfs_rq->min_vruntime, se->vruntime) will not advance vruntime, and cause lags the other way around (which we fixed with that initial patch: 1af5f730fc1bf7c62ec9fb2d307206e18bf40a69 (sched: more accurate min_vruntime accounting). Signed-off-by: Peter Zijlstra Tested-by: Mike Galbraith Acked-by: Mike Galbraith Cc: Signed-off-by: Ingo Molnar commit 6bc912b71b6f33b041cfde93ca3f019cbaa852bc Author: Peter Zijlstra Date: Thu Jan 15 14:53:38 2009 +0100 sched: SCHED_OTHER vs SCHED_IDLE isolation Stronger SCHED_IDLE isolation: - no SCHED_IDLE buddies - never let SCHED_IDLE preempt on wakeup - always preempt SCHED_IDLE on wakeup - limit SLEEPER fairness for SCHED_IDLE. Signed-off-by: Mike Galbraith Signed-off-by: Peter Zijlstra Signed-off-by: Ingo Molnar commit cce7ade803699463ecc62a065ca522004f7ccb3d Author: Peter Zijlstra Date: Thu Jan 15 14:53:37 2009 +0100 sched: SCHED_IDLE weight change Increase the SCHED_IDLE weight from 2 to 3, this gives much more stable vruntime numbers. time advanced in 100ms: weight=2 64765.988352 67012.881408 88501.412352 weight=3 35496.181411 34130.971298 35497.411573 Signed-off-by: Mike Galbraith Signed-off-by: Peter Zijlstra Signed-off-by: Ingo Molnar commit 98a4826b99bc4bcc34c604b2fc4fcf4d771600ec Author: Peter Zijlstra Date: Wed Jan 14 10:56:32 2009 +0100 sched: fix bandwidth validation for UID grouping Impact: make rt-limit tunables work again Mark Glines reported: > I've got an issue on x86-64 where I can't configure the system to allow > RT tasks for a non-root user. > > In 2.6.26.5, I was able to do the following to set things up nicely: > echo 450000 >/sys/kernel/uids/0/cpu_rt_runtime > echo 450000 >/sys/kernel/uids/1000/cpu_rt_runtime > > Seems like every value I try to echo into the /sys files returns EINVAL. For UID grouping we initialize the root group with infinite bandwidth which by default is actually more than the global limit, therefore the bandwidth check always fails. Because the root group is a phantom group (for UID grouping) we cannot runtime adjust it, therefore we let it reflect the global bandwidth settings. Reported-by: Mark Glines Signed-off-by: Peter Zijlstra Signed-off-by: Ingo Molnar commit 1639058ed1dd0b856a5c34064a990c7827b0e32b Author: Tony Lindgren Date: Thu Jan 15 13:57:48 2009 +0200 ARM: OMAP: Fix compile for h3 MMC Fix compile for h3 MMC Signed-off-by: Tony Lindgren commit e999bbe7f1318390e997d13e508e4f16b1b130af Author: Tony Lindgren Date: Thu Jan 15 13:55:59 2009 +0200 ARM: OMAP: Remove unused platform devices, v3 This patch removes old platform devices. Alsa should now be using the ASoC driver. For boards not yet using ASoC, please see sound/soc/omap/osk5912.c. Add dummy aic23_power_up and aic23_power_down functions for 770 to keep things compiling. Remove references to omap_gpio_switch, and unused h2_nand_dev_ready function. This patch is based on an earlier patch by Arun KS. Cc: Jarkko Nikula Signed-off-by: Arun KS Signed-off-by: Tony Lindgren commit 3127f8f8595a064b3f1a1837fea2177902589ac3 Author: Tony Lindgren Date: Thu Jan 15 13:09:54 2009 +0200 ARM: OMAP: Fix ASoC by enabling writes to XCCR and RCCR McBSP registers, v3 This patch enables writing to McBSP Transmit Configuration Control Register (XCCR) and Receive Configuration Control Register (RCCR) for 2430/34xx platforms. It also adds XCCR, RCCR entries in McBSP register configuration structure and bit definitions for both registers. If we enable the writing to CCR registers for 2430/34xx and don't set the default values (setting 0 as a consequence) in ASoC driver, the Transmit/Receive DMA mode gets disabled and the the transmission/reception doesn't happen, ending with a "write error: Input/Output error" when playing with 'aplay'. Also define dummy CCR registers for omap1. Cc: Jarkko Nikula Signed-off-by: Misael Lopez Cruz Signed-off-by: Tony Lindgren commit 9b4a357787c27289b8c9efe916417690473538f7 Author: Arun KS Date: Thu Jan 15 13:09:54 2009 +0200 ARM: OMAP: Fix OSK ASoC by registering I2C board info for tlvaic23 Adding I2C board info is required for tlvaic23 i2c chip driver. Cc: Jarkko Nikula Signed-off-by: Arun KS Signed-off-by: Tony Lindgren commit 52628229db37229d9a6eb3af082b17a61736b86c Author: Huang Weiyi Date: Thu Jan 15 13:09:54 2009 +0200 ARM: OMAP: remove duplicated #include's Removed duplicated #include's in arch/arm/mach-omap1/board-voiceblue.c Signed-off-by: Huang Weiyi Signed-off-by: Tony Lindgren commit 4b3cf44846b6424d4119676ad68d54a62b81e31c Author: Anand Gadiyar Date: Thu Jan 15 13:09:53 2009 +0200 ARM: OMAP: Fix DMA CCR programming for request line > 63, v3 Bug in existing code causes synchro control to be set +32 if request line greater than 63 is used. Also clean up the function a bit by removing extra parens and clearing the bits at before write. Reported by Wenbiao Wang. Signed-off-by: Anand Gadiyar Signed-off-by: Tony Lindgren commit 3a26e3318bc2ceec340f242c6ee7074becdc7219 Author: Tony Lindgren Date: Thu Jan 15 13:09:53 2009 +0200 ARM: OMAP: Fix gpio.c compile on 15xx with CONFIG_DEBUGFS There are no wakeup registers on 15xx, and suspend_wakeup does not exist in the struct gpio_bank. Without this fix we'll get "arch/arm/plat-omap/gpio.c:1792: error: 'struct gpio_bank' has no member named 'suspend_wakeup'" as noted by Russell King. Note that the ifdefs will be cleaned up once the omap gpio code gets split into omap1 and omap2 specific parts. Signed-off-by: Tony Lindgren commit 145d9c94b9039efdab6853255f6b916adc793bfd Author: Tony Lindgren Date: Thu Jan 15 13:09:53 2009 +0200 ARM: OMAP: Fix compile for beagle Move twl4030 gpio init code to where it should be. Also include twl4030.h. Signed-off-by: Tony Lindgren commit 73069e388d0f2509e45e1a58b0facca99ef2446e Author: Jarkko Nikula Date: Thu Jan 15 13:09:52 2009 +0200 ARM: OMAP: Fix gpio by switching to generic gpio calls, v2 Fix compile by removing remaining omap specific gpio calls. Based on earlier patches by Jarkko Nikula. Also remove old GPIO key code, there is already a patch to do this with gpio_keys. Signed-off-by: Jarkko Nikula Signed-off-by: Tony Lindgren commit dc0e88c7e15acbe3d7e8682312f709938f0dcf01 Author: Tony Lindgren Date: Thu Jan 15 13:09:52 2009 +0200 ARM: OMAP: Fix compile for palmte Remove old MMC platform init code accidentally left behind. Patches are welcome to the new style MMC init code. Signed-off-by: Tony Lindgren commit dd7667aa700a45ffb3efac64f6df0867d5837f5b Author: Tony Lindgren Date: Thu Jan 15 13:09:51 2009 +0200 ARM: OMAP: Fix compile for various McBSP Include irqs.h or cpu.h directly as needed to fix omap builds. Signed-off-by: Tony Lindgren commit 934d96eafadcf3eb3ccd094af9919f020907fc41 Author: Jaswinder Singh Rajput Date: Wed Jan 14 20:38:17 2009 +0530 time-sched.c: tick_nohz_update_jiffies should be static Impact: cleanup, reduce kernel size a bit, avoid sparse warning Fixes sparse warning: kernel/time/tick-sched.c:137:6: warning: symbol 'tick_nohz_update_jiffies' was not declared. Should it be static? Signed-off-by: Jaswinder Singh Rajput Signed-off-by: Ingo Molnar commit 9e6f8ed7c3a303d37eb119847dd3029701e37e28 Author: Balaji Rao Date: Wed Jan 14 13:02:00 2009 +0100 mfd: Remove non exported references from pcf50633 Remove references to set_irq_type and handle_level_irq which are not exported to modules Signed-off-by: Balaji Rao Signed-off-by: Samuel Ortiz commit 7e86c0e6850504ec9516b953f316a47277825e33 Author: Clemens Ladisch Date: Thu Jan 15 10:21:23 2009 +0100 sound: virtuoso: do not overwrite EEPROM on Xonar D2/D2X On the Asus Xonar D2 and D2X models, the SPI chip select signal for the fourth DAC shares its pin with the serial clock for the EEPROM that contains the PCI subdevice ID values. It appears that when DAC registers are written and some other unknown conditions occur (probably noise on the EEPROM's chip select line), the EEPROM gets overwritten with garbage, which makes it impossible to properly detect the card later. Therefore, we better avoid DAC register writes and make sure that the driver works with the DAC's registers' default values. Consequently, the sample format is now I2S instead of left-justified (no user-visible change), and the DAC's volume/mute registers cannot be used anymore (volume changes are now done by the software volume plugin). Signed-off-by: Clemens Ladisch Cc: Signed-off-by: Takashi Iwai commit cbbe1efa4972350286b52cb48aefaa11e198c0fb Author: Roland Dreier Date: Wed Jan 14 21:44:39 2009 -0800 IPoIB: Fix deadlock between ipoib_open() and child interface create Fix a deadlock between child interface creation/deletion and ipoib start/stop. The former takes vlan_mutex, and then might take RTNL via register_netdev()/unregister_netdev(). The latter is executed with RTNL held, and tries to take vlan_mutex, which can lead to an AB-BA deadlock. Fix this by having the child interface creation/deletion code take the RTNL first so vlan_mutex always nests inside RTNL. We can use register_netdevice() for child interfaces because we form the interface name from the parent interface and hence don't need the '%' expansion of register_netdev(). Reported-by: Yossi Etigin Signed-off-by: Roland Dreier commit 6782dfe44acedf1e583d84e9e0d4f966d8e9befa Author: Peter Korsgaard Date: Wed Jan 14 22:32:58 2009 -0700 fsldma: check for NO_IRQ in fsl_dma_chan_remove() There's no per-channel IRQ on mpc83xx, so only call free_irq if we have one. Acked-by: Timur Tabi Acked-by: Li Yang Signed-off-by: Peter Korsgaard Signed-off-by: Dan Williams commit c53a6ee88b0a91bd012ef1b7988c0b93dae6f24d Author: Oliver Hartkopp Date: Wed Jan 14 21:06:55 2009 -0800 can: fix slowpath issue in hrtimer callback function Due to the loopback functionality in can_send() we can not invoke it from hardirq context which was done inside the bcm_tx_timeout_handler() hrtimer callback: [ 700.361154] [] warn_slowpath+0x80/0xb6 [ 700.361163] [] valid_state+0x125/0x136 [ 700.361171] [] mark_lock+0x18e/0x332 [ 700.361180] [] __lock_acquire+0x12e/0xb1e [ 700.361189] [] bcm_tx_timeout_handler+0x0/0xbc [can_bcm] [ 700.361198] [] dev_queue_xmit+0x191/0x479 [ 700.361206] [] __local_bh_disable+0x2b/0x64 [ 700.361213] [] dev_queue_xmit+0x191/0x479 [ 700.361225] [] can_send+0xd7/0x11a [can] [ 700.361235] [] bcm_can_tx+0x9d/0xd9 [can_bcm] [ 700.361245] [] bcm_tx_timeout_handler+0x6a/0xbc [can_bcm] [ 700.361255] [] bcm_tx_timeout_handler+0x0/0xbc [can_bcm] [ 700.361263] [] __run_hrtimer+0x5a/0x86 [ 700.361273] [] bcm_tx_timeout_handler+0x0/0xbc [can_bcm] [ 700.361282] [] hrtimer_interrupt+0xb9/0x110 This patch moves the rest of the functionality from the hrtimer callback to the already existing tasklet to fix this slowpath problem. Signed-off-by: Oliver Hartkopp Signed-off-by: David S. Miller commit d57bc36e7aba9e3a00d154f5eff80ff596146fc4 Author: Magnus Damm Date: Wed Jan 14 21:05:55 2009 -0800 ax88796: start_xmit fix using net_device_ops This patch hooks up the start_xmit/tx_timeout/get_stats callbacks in the ax88796 driver since they no longer are installed by the lib8390 code. Without this patch the function dev_hard_start_xmit() crashes due to a start_xmit callback with the value NULL. While at it, update the ax88796 driver to make use of use of struct net_device_ops. Signed-off-by: Magnus Damm Signed-off-by: David S. Miller commit 937f1ba56b4be37d9e2ad77412f95048662058d2 Author: Benjamin Herrenschmidt Date: Wed Jan 14 21:05:05 2009 -0800 net: Add init_dummy_netdev() and fix EMAC driver using it This adds an init_dummy_netdev() function that gets a network device structure (allocation and lifetime entirely under caller's control) and initialize the minimum amount of fields so it can be used to schedule NAPI polls without registering a full blown interface. This is to be used by drivers that need to tie several hardware interfaces to a single NAPI poll scheduler due to HW limitations. It also updates the ibm_newemac driver to use that, this fixing the oops on 2.6.29 due to passing NULL as "dev" to netif_napi_add() Symbol is exported GPL only a I don't think we want binary drivers doing that sort of acrobatics (if we want them at all). Signed-off-by: Benjamin Herrenschmidt Tested-by: Geert Uytterhoeven Signed-off-by: David S. Miller commit 2950e952920811be465ec95c6b56f03dc66a05c0 Author: Jos-Vicente Gilabert Date: Wed Jan 14 20:55:00 2009 -0800 drivers/net/irda/irda-usb.c: fix buffer overflow Taken from http://bugzilla.kernel.org/show_bug.cgi?id=12397 We're doing an sprintf of an 11-char string into an 11-char buffer. Whoops. It breaks firmware uploading. Reported-by: Jos-Vicente Gilabert Signed-off-by: Andrew Morton Signed-off-by: David S. Miller commit 6f70340698333f14b1d9c9e913c5de8f66b72c55 Author: Dhananjay Phadke Date: Wed Jan 14 20:50:00 2009 -0800 netxen: handle dma mapping failures o Bail out if pci_map_single() fails while replenishing rx ring. o Drop packet if pci_map_{single,page}() fail in tx. Signed-off-by: Dhananjay Phadke Signed-off-by: David S. Miller commit 03e678ee968ae54b79c1580c2935895bd863ad95 Author: Dhananjay Phadke Date: Wed Jan 14 20:49:43 2009 -0800 netxen: hold tx lock while sending firmware commands Some firmware commands like mac address addition/deletion are sent on the transmit ring. So need to hold the tx lock before touching tx producer/consumer indices. Signed-off-by: Dhananjay Phadke Signed-off-by: David S. Miller commit 06e9d9f9783860fe4c602ef491f47211804ccc96 Author: Dhananjay Phadke Date: Wed Jan 14 20:49:22 2009 -0800 netxen: cleanup mac list on driver unload This fixes a tiny memory leak when driver is unloaded. The mac address list maintained in netxen_adapter needs to deleted when driver is going down. Signed-off-by: Dhananjay Phadke Signed-off-by: David S. Miller commit 27c915a4d843b90eb4065298969578d15e5e6ab0 Author: Dhananjay Phadke Date: Wed Jan 14 20:49:00 2009 -0800 netxen: firmware init fix o Fix order or rom register writes. o Reduce udelays when writing rom registers. This cuts the firmware init time by 40%. o Do not reset core/memory clocks when reinitializing driver. Firmware willl handle this when initialized. Signed-off-by: Dhananjay Phadke Signed-off-by: David S. Miller commit c7860a2aec571ea95d3ad19b8d9775b27828baac Author: Dhananjay Phadke Date: Wed Jan 14 20:48:32 2009 -0800 netxen: fix link speed reporting for some boards o Read negotiated link speed when link state changes. o Fix link speed reporting for hybrid nic boards, which have both 1Gbps and 10Gbps ports. Signed-off-by: Dhananjay Phadke Signed-off-by: David S. Miller commit 391587c3447d99b842a647f8e701895c9eea050b Author: Dhananjay Phadke Date: Wed Jan 14 20:48:11 2009 -0800 netxen: fix ipv6 offload and tx cleanup o fix the ip/tcp hdr offset in tx descriptors for ipv6. o cleanup xmit function, move the tso checks into separate function, this reduces unnecessary endian conversions back and forth. o optimize macros to initialize tx descriptors. Signed-off-by: Dhananjay Phadke Signed-off-by: David S. Miller commit 2edbb454428729f450f7a0aabbf95ac62b46b78a Author: Dhananjay Phadke Date: Wed Jan 14 20:47:30 2009 -0800 netxen: fix endianness in firmware commands o Set restricted (little endian) data types in firmware command requests and responses. o Remove unnecessary conversion to LE when writing registers. Signed-off-by: Dhananjay Phadke Signed-off-by: David S. Miller commit d1d5e6b1cead3df6f722d1d458874bd7f93da8d6 Author: Daniele Venzano Date: Wed Jan 14 20:46:24 2009 -0800 sis900: generate fake MAC address if the hardware doesn't have one The attached patch modifies the sis900 driver when the MAC address read from the hardware is invalid. As suggested, the patch now generates a random address so that the user can go on and use the hardware. In any case a message is also shown to warn on the unexpected condition. This seems to happen with newer HW implementation of the sis900 chipset, since this never came up before. Patch is against vanilla 2.6.28 (but the driver doesn't change so often, so it will probably apply to older/newer versions too). See bugzilla ID 10201 and 11649 and ignore the previous patch. Signed-off-by: Daniele Venzano Signed-off-by: David S. Miller commit d7e094d4212bc72f5575e54edfef1349e0c4cdb5 Author: Mike Ditto Date: Wed Jan 14 20:43:43 2009 -0800 powerpc/fs_enet: Add missing irq free in error path. If something goes wrong attaching to phy driver, we weren't freeing the IRQ. Signed-off-by: Mike Ditto Signed-off-by: David S. Miller commit 4e704ee3c2cd38748ca59d835435d6a7e7f6f613 Author: Herbert Xu Date: Wed Jan 14 20:41:12 2009 -0800 gso: Ensure that the packet is long enough When we get a GSO packet from an untrusted source, we need to ensure that it is sufficiently long so that we don't end up crashing. Based on discovery and patch by Ian Campbell. Signed-off-by: Herbert Xu Tested-by: Ian Campbell Signed-off-by: David S. Miller commit f557206800801410c30e53ce7a27219b2c4cf0ba Author: Herbert Xu Date: Wed Jan 14 20:40:03 2009 -0800 gro: Fix page ref count for skbs freed normally When an skb with page frags is merged into an existing one, we cannibalise its reference count. This is OK when the skb is reused because we set nr_frags to zero in that case. However, for the case where the skb is freed through kfree_skb, we didn't clear nr_frags which causes the page to be freed prematurely. This is fixed by moving the skb resetting into skb_gro_receive. Reported-by: Jeff Kirsher Signed-off-by: Herbert Xu Signed-off-by: David S. Miller commit 29b37f42127f7da511560a40ea74f5047da40c13 Author: Herbert Xu Date: Tue Jan 13 11:26:18 2009 +1100 crypto: authenc - Fix zero-length IV crash As it is if an algorithm with a zero-length IV is used (e.g., NULL encryption) with authenc, authenc may generate an SG entry of length zero, which will trigger a BUG check in the hash layer. This patch fixes it by skipping the IV SG generation if the IV size is zero. Signed-off-by: Herbert Xu commit 5393f780277165f282a37ed82dd878159ec9dad5 Merge: bca2685 ea0105e Author: Linus Torvalds Date: Wed Jan 14 20:00:28 2009 -0800 Merge branch 'merge' of git://git.kernel.org/pub/scm/linux/kernel/git/benh/powerpc * 'merge' of git://git.kernel.org/pub/scm/linux/kernel/git/benh/powerpc: (29 commits) powerpc/83xx: Move mcu_mpc8349emitx driver out of drivers/i2c/chips/ powerpc/83xx: Make serial ports work on MPC8315E-RDB w/ FSL U-Boots powerpc/e500mc: Doorbells need to be taken w/exceptions disabled powerpc: Enable PS3 options and QPACE in ppc64_defconfig powerpc/powermac: Fix occasional SMP boot failure powerpc/cacheinfo: Rename cache_dir per-cpu variable hvc_console: Use kzalloc() instead of kmalloc() + memset() hvc_console: Do not set low_latency when using interrupts hvc_console: Call free_irq() only if request_irq() was successful hvc_console: Change an mb() to smp_mb() and add some comments powerpc: Cleanup from l64 to ll64 change: drivers/net powerpc: Cleanup from l64 to ll64 change: drivers/char powerpc: Cleanup from l64 to ll64 change: arch code powerpc: Change u64/s64 to a long long integer type powerpc/kexec: Check crash_base for relocatable kernel powerpc: Make dummy section a valid note header Xilinx: SPI: updated driver for device tree drivers/of: Add the of_find_i2c_device_by_node function. powerpc/xsysace: add compatible string for non-ipcore instance powerpc/mpc52xx: remove dead code from GPIO driver ... commit bca268565fd18f0b36ab8fff6e1623d8dffae2b1 Merge: 74d96f0 2668945 Author: Linus Torvalds Date: Wed Jan 14 19:58:40 2009 -0800 Merge branch 'syscalls' of git://git390.osdl.marist.edu/pub/scm/linux-2.6 * 'syscalls' of git://git390.osdl.marist.edu/pub/scm/linux-2.6: (44 commits) [CVE-2009-0029] s390 specific system call wrappers [CVE-2009-0029] System call wrappers part 33 [CVE-2009-0029] System call wrappers part 32 [CVE-2009-0029] System call wrappers part 31 [CVE-2009-0029] System call wrappers part 30 [CVE-2009-0029] System call wrappers part 29 [CVE-2009-0029] System call wrappers part 28 [CVE-2009-0029] System call wrappers part 27 [CVE-2009-0029] System call wrappers part 26 [CVE-2009-0029] System call wrappers part 25 [CVE-2009-0029] System call wrappers part 24 [CVE-2009-0029] System call wrappers part 23 [CVE-2009-0029] System call wrappers part 22 [CVE-2009-0029] System call wrappers part 21 [CVE-2009-0029] System call wrappers part 20 [CVE-2009-0029] System call wrappers part 19 [CVE-2009-0029] System call wrappers part 18 [CVE-2009-0029] System call wrappers part 17 [CVE-2009-0029] System call wrappers part 16 [CVE-2009-0029] System call wrappers part 15 ... commit 74d96f018673759d04d032c137d132f6447bfb1e Author: Harvey Harrison Date: Tue Jan 13 19:27:09 2009 -0800 byteorder: make swab.h include asm/swab.h like a regular header Add swab.h to kbuild.asm and remove the individual entries from each arch, mark as unifdef as some arches have some kernel-only bits inside. Signed-off-by: Harvey Harrison Signed-off-by: Linus Torvalds commit aa0effbd1c0269ce7dd13be8dbf13e6b04f30ebd Author: Harvey Harrison Date: Tue Jan 13 19:31:29 2009 -0800 cris: introduce asm/swab.h Adjust the arch overrides to the new names as well. Signed-off-by: Harvey Harrison Signed-off-by: Linus Torvalds commit 5bf431fa32c52e7027c4af85c7afc82326fa6d43 Merge: c2919f2 cb7a97d Author: Linus Torvalds Date: Wed Jan 14 19:55:25 2009 -0800 Merge branch 'for-linus' of git://oss.sgi.com/xfs/xfs * 'for-linus' of git://oss.sgi.com/xfs/xfs: [XFS] Update maintainers [XFS] use scalable vmap API [XFS] remove old vmap cache [XFS] make xfs_ino_t an unsigned long long [XFS] truncate readdir offsets to signed 32 bit values [XFS] fix compile of xfs_btree_readahead_lblock on m68k [XFS] Remove macro-to-function indirections in the mask code [XFS] Remove macro-to-function indirections in attr code [XFS] Remove several unused typedefs. [XFS] pass XFS_IGET_BULKSTAT to xfs_iget for handle operations commit c2919f2ab9a2bb961e97c61bcf94f81d2c7e9feb Merge: 9316fca e720b9e Author: Linus Torvalds Date: Wed Jan 14 19:51:26 2009 -0800 Merge git://git.kernel.org/pub/scm/linux/kernel/git/bart/ide-2.6 * git://git.kernel.org/pub/scm/linux/kernel/git/bart/ide-2.6: IDE: fix sparse signed-ness errors with host->host_busy ide: fix suspend regression tx4938ide: Fix build error due to read_sff_dma_status moving ide: remove unused CONFIG_BLK_DEV_IDE_AU1XXX_SEQTS_PER_RQ sl82c105: remove dead code via82cxxx: fix cable warning message ide: can't use SSD/non-rotational queue flag for all CFA devices it821x.c: use dev->revision instead of pci_read_config_byte it821x: Add ultra_mask quirk for Vortex86SX ide: fix accidental LOCKDEP breakage caused by local_irq_set() removal commit b8a1b1ce14252b59b2d5c89de25b54f9bfd4cc5e Author: Roland Dreier Date: Wed Jan 14 14:55:41 2009 -0800 IPoIB: Fix hang in napi_disable() if P_Key is never found After commit fe25c561 ("IPoIB: Don't enable NAPI when it's already enabled"), if an interface is brought up but the corresponding P_Key never appears, then ipoib_stop() will hang in napi_disable(), because ipoib_open() returns before it does napi_enable(). Fix this by changing ipoib_open() to call napi_enable() even if the P_Key isn't present. Reported-by: Yossi Etigin Signed-off-by: Roland Dreier commit fc8c7dc1b29560c016a67a34ccff32a712b5aa86 Author: David S. Miller Date: Wed Jan 14 14:55:35 2009 -0800 xfrm: For 32/64 compatability wrt. xfrm_usersa_info Reported by Jiri Klimes. Fix suggested by Patrick McHardy. Signed-off-by: David S. Miller commit 5f3e54057c62e5f654c66e4ce1172993f67fc284 Author: Paul Bolle Date: Wed Jan 14 14:42:21 2009 -0800 i4l: minor cleanups Minor cleanups, either made possible or obvious after commit d700555 (I4l: convert to net_device_ops). Signed-off-by: Paul Bolle Signed-off-by: David S. Miller commit bae584316045011ce3376816585a305d2b9b76f2 Author: Paul Bolle Date: Wed Jan 14 14:41:00 2009 -0800 i4l: do not print a warning when shutting down an i4l ppp interface When an i4l ppp interface is shut down (e.g. with /sbin/ifdown ippp0) a scary warning is logged: isdn_free_channel: called with invalid drv(-1) or channel(-1) This warning is caused by isdn_net_unbind_channel(), which always calls isdn_free_channel() even if isdn_net_local->isdn_device and isdn_net_local->isdn_channel are (still) in a perfectly acceptable default state, so let's not do that. Signed-off-by: Paul Bolle Signed-off-by: David S. Miller commit f0d44ae310bc8eb0b6694e257015d8b24e1a357c Author: Anton Vorontsov Date: Wed Jan 14 14:38:02 2009 -0800 phylib: Fix Freescale TBI PHY detection Freescale on-chip TBI PHYs reports PHY ID as 0x0, but as of commit 3ee82383f0098a2e13acc8cf1be8e47512f41e5a Author: Giulio Benetti Date: Thu Nov 13 21:53:13 2008 +0000 phy: fix phy address bug PHYID returns 0xffff and not 0xffffffff when not found and in some case(at91sam9263) 0x0. Maybe this patch could be useful. phy_device.c treats PHY ID == 0x0 as bogus IDs, and that results in gianfar driver failure to see the TBI PHYs. This code snippet triggers: if (!priv->tbiphy) { printk(KERN_WARNING "SGMII mode requires that the device " "tree specify a tbi-handle\n"); return; } Although tbi-handle is specified in the device tree. Btw, technically PHY ID == 0x0 is a valid ID (if we ever see a PHY manufactured by Xerox :-). Signed-off-by: Anton Vorontsov Acked-by: Andy Fleming Signed-off-by: David S. Miller commit f17f5c91ae3bfeb5cfc37fa132a5fdfceb8927be Author: Herbert Xu Date: Wed Jan 14 14:36:12 2009 -0800 gro: Check for GSO packets and packets with frag_list As GRO cannot be applied to packets with frag_list we need to make sure that we reject such packets if they are fed to us, e.g., through a tunnel device. Also there is no point in applying GRO on GSO packets so they too should be rejected. This allows GRO to be used in virtio-net which may produce GSO packets directly but may still benefit from GRO if the other end of it doesn't support GSO. Signed-off-by: Herbert Xu Signed-off-by: David S. Miller commit 483a2b3a3182abcb7fcea986d7ea13e793bb00b1 Author: David S. Miller Date: Wed Jan 14 14:35:15 2009 -0800 ARM etherh: Fix build failure. Reported by Russell King: drivers/net/arm/etherh.c:649: error: unknown field 'ndo_set_mac_addr' specified in initializer Signed-off-by: David S. Miller commit 1b0652eb588e57c3ab230e0291e7da99c7e665e0 Author: Takashi Iwai Date: Wed Jan 14 08:27:35 2009 +0100 ALSA: hda - Fix HP dv5 mic input Fix HP dv5 (103c:3603) built-in mic input. Reference: kernel bug 12440 http://bugzilla.kernel.org/show_bug.cgi?id=12440 Signed-off-by: Takashi Iwai Cc: stable@kernel.org commit df291fa993c506da89a89264ff8166bccd172a14 Author: Randy Dunlap Date: Thu Jan 8 10:59:34 2009 -0800 kbuild: fix kbuild.txt typos Fix typos in the new kbuild.txt file. Signed-off-by: Randy Dunlap Signed-off-by: Sam Ravnborg commit 2302e8730e5caa774e7c6702fc878404d71f13f9 Author: Andi Kleen Date: Wed Jan 7 22:33:15 2009 +0100 kbuild: print usage with no arguments in scripts/config Requested by Sam. Signed-off-by: Andi Kleen Signed-off-by: Sam Ravnborg commit 2ea038917bbdd51a7ae4a898c6a04641324dd033 Author: Sam Ravnborg Date: Wed Jan 14 21:38:20 2009 +0100 Revert "kbuild: strip generated symbols from *.ko" This reverts commit ad7a953c522ceb496611d127e51e278bfe0ff483. And commit: ("allow stripping of generated symbols under CONFIG_KALLSYMS_ALL") 9bb482476c6c9d1ae033306440c51ceac93ea80c These stripping patches has caused a set of issues: 1) People have reported compatibility issues with binutils due to lack of support for `--strip-unneeded-symbols' with objcopy 2.15.92.0.2 Reported by: Wenji 2) ccache and distcc no longer works as expeced Reported by: Ted, Roland, + others 3) The installed modules increased a lot in size Reported by: Ted, Davej + others Reported-by: Wenji Huang Reported-by: "Theodore Ts'o" Reported-by: Dave Jones Reported-by: Roland McGrath Signed-off-by: Sam Ravnborg commit 5cca0cf15a94417f49625ce52e23589eed0a1675 Author: Suresh Siddha Date: Fri Jan 9 14:35:20 2009 -0800 x86, pat: fix reserve_memtype() for legacy 1MB range Thierry Vignaud reported: > http://bugzilla.kernel.org/show_bug.cgi?id=12372 > > On P4 with an SiS motherboard (video card is a SiS 651) > X server fails to start with error: > xf86MapVidMem: Could not mmap framebuffer (0x00000000,0x2000) (Invalid > argument) Here X is trying to map first 8KB of memory using /dev/mem. Existing code treats first 0-4KB of memory as non-RAM and 4KB-8KB as RAM. Recent code changes don't allow to map memory with different attributes at the same time. Fix this by treating the first 1MB legacy region as special and always track the attribute requests with in this region using linear linked list (and don't bother if the range is RAM or non-RAM or mixed) Reported-and-tested-by: Thierry Vignaud Signed-off-by: Suresh Siddha Signed-off-by: Venkatesh Pallipadi Signed-off-by: Ingo Molnar commit e720b9e498b6bbb1b4f3b3d2f8e9a78578aafef7 Author: Ben Dooks Date: Wed Jan 14 19:19:04 2009 +0100 IDE: fix sparse signed-ness errors with host->host_busy The host_busy field in struct ide_host defaults to a signed-long, where most arch's test_and_set_bit_* macros use an unsigned long. Change to using an unsigned long, which on ARM removes the following sparse errors: drivers/ide/ide-io.c:681:8: warning: incorrect type in argument 2 (different signedness) drivers/ide/ide-io.c:681:8: expected unsigned long volatile *p drivers/ide/ide-io.c:681:8: got long volatile * drivers/ide/ide-io.c:681:8: warning: incorrect type in argument 2 (different signedness) drivers/ide/ide-io.c:681:8: expected unsigned long volatile *p drivers/ide/ide-io.c:681:8: got long volatile * drivers/ide/ide-io.c:695:3: warning: incorrect type in argument 2 (different signedness) drivers/ide/ide-io.c:695:3: expected unsigned long volatile *p drivers/ide/ide-io.c:695:3: got long volatile * drivers/ide/ide-io.c:695:3: warning: incorrect type in argument 2 (different signedness) drivers/ide/ide-io.c:695:3: expected unsigned long volatile *p drivers/ide/ide-io.c:695:3: got long volatile * drivers/ide/ide-io.c:695:3: warning: incorrect type in argument 2 (different signedness) drivers/ide/ide-io.c:695:3: expected unsigned long volatile *p drivers/ide/ide-io.c:695:3: got long volatile * drivers/ide/ide-io.c:695:3: warning: incorrect type in argument 2 (different signedness) drivers/ide/ide-io.c:695:3: expected unsigned long volatile *p drivers/ide/ide-io.c:695:3: got long volatile * drivers/ide/ide-io.c:695:3: warning: incorrect type in argument 2 (different signedness) drivers/ide/ide-io.c:695:3: expected unsigned long volatile *p drivers/ide/ide-io.c:695:3: got long volatile * drivers/ide/ide-io.c:695:3: warning: incorrect type in argument 2 (different signedness) drivers/ide/ide-io.c:695:3: expected unsigned long volatile *p drivers/ide/ide-io.c:695:3: got long volatile * drivers/ide/ide-io.c:695:3: warning: incorrect type in argument 2 (different signedness) drivers/ide/ide-io.c:695:3: expected unsigned long volatile *p drivers/ide/ide-io.c:695:3: got long volatile * drivers/ide/ide-io.c:695:3: warning: incorrect type in argument 2 (different signedness) drivers/ide/ide-io.c:695:3: expected unsigned long volatile *p drivers/ide/ide-io.c:695:3: got long volatile * Signed-off-by: Ben Dooks Signed-off-by: Bartlomiej Zolnierkiewicz commit 2ea5521022ac8f4f528dcbae02668e02a3501a5a Author: Bartlomiej Zolnierkiewicz Date: Wed Jan 14 19:19:04 2009 +0100 ide: fix suspend regression On Monday 12 January 2009, Simon Holm Thøgersen wrote: > commit 295f000 ("ide: don't execute the next queued command from the > hard-IRQ context (v2)") breaks suspend to disk for me. On > 'echo disk > /sys/power/state' the systems hangs, letting me switch > virtual consoles, but not responding to Alt+SysRq Restart the request queue early for REQ_TYPE_PM_RESUME requests (though there is only one resume request for the whole resume sequence it stays in the queue until is fully completed and now depends on kblockd for processing consequential resume states). Reported-and-bisected-by: Simon Holm Thøgersen Tested-by: Simon Holm Thøgersen Signed-off-by: Bartlomiej Zolnierkiewicz commit a294d97742568f429590cf2022d92e4b0c5f6ba0 Author: Atsushi Nemoto Date: Wed Jan 14 19:19:04 2009 +0100 tx4938ide: Fix build error due to read_sff_dma_status moving Signed-off-by: Atsushi Nemoto Acked-by: Sergei Shtylyov Signed-off-by: Bartlomiej Zolnierkiewicz commit e86c1451d3138b4cd0378282b30397d171fa4252 Author: Bartlomiej Zolnierkiewicz Date: Wed Jan 14 19:19:03 2009 +0100 ide: remove unused CONFIG_BLK_DEV_IDE_AU1XXX_SEQTS_PER_RQ Acked-by: Sergei Shtylyov Signed-off-by: Bartlomiej Zolnierkiewicz commit cadb300a4254b1f28bce84e280b7d46c525f73c6 Author: Bartlomiej Zolnierkiewicz Date: Wed Jan 14 19:19:03 2009 +0100 sl82c105: remove dead code CONFIG_LOPEC and CONFIG_SANDPOINT config options are gone. Acked-by: Sergei Shtylyov Signed-off-by: Bartlomiej Zolnierkiewicz commit 4180e8334cf8301cf37131bc5d69c0cd724682cb Author: Bartlomiej Zolnierkiewicz Date: Wed Jan 14 19:19:03 2009 +0100 via82cxxx: fix cable warning message Remove reference to the removed old-style kernel parameter. Acked-by: Sergei Shtylyov Signed-off-by: Bartlomiej Zolnierkiewicz commit 655772cc79c94ebf282e1df4d3c3375f05a565ae Author: Bartlomiej Zolnierkiewicz Date: Wed Jan 14 19:19:03 2009 +0100 ide: can't use SSD/non-rotational queue flag for all CFA devices Some rotating disks also present themselves as CFA devices. Reported-by: Alan Cox Acked-by: Sergei Shtylyov Signed-off-by: Bartlomiej Zolnierkiewicz commit 4a2462693b37da1438f53f3fbfc75e081659e975 Author: Brandon Philips Date: Wed Jan 14 19:19:03 2009 +0100 it821x.c: use dev->revision instead of pci_read_config_byte Minor cleanup. Signed-off-by: Brandon Philips Cc: Alan Cox Cc: Shawn Lin Signed-off-by: Bartlomiej Zolnierkiewicz commit b94b898f3107046b5c97c556e23529283ea5eadd Author: Brandon Philips Date: Wed Jan 14 19:19:02 2009 +0100 it821x: Add ultra_mask quirk for Vortex86SX On Vortex86SX with IDE controller revision 0x11 ultra DMA must be disabled. This patch was tested by DMP and seems to work. It is a cleaned up version of their older Kernel patch: http://www.dmp.com.tw/tech/vortex86sx/patch-2.6.24-DMP.gz Tested-by: Shawn Lin Signed-off-by: Brandon Philips Cc: Alan Cox Signed-off-by: Bartlomiej Zolnierkiewicz commit 9b896033aa2781d36b2d3f756fe70325fc8487e2 Author: Bartlomiej Zolnierkiewicz Date: Wed Jan 14 19:19:02 2009 +0100 ide: fix accidental LOCKDEP breakage caused by local_irq_set() removal commit 54cc1428cfa619e16d75baae8cb041a2eff015f0 ("ide: remove local_irq_set() macro") accidentally replaced local_save_flags() by local_irq_set() in ide_probe_port() and __ide_wait_stat() which resulted in LOCKDEP breakage. Reported-by: Larry Finger Tested-by: Larry Finger Signed-off-by: Bartlomiej Zolnierkiewicz commit 9316fcacb89c59fe556c48587ac02cd7f5d38045 Author: Andrew Morton Date: Wed Jan 14 09:35:44 2009 -0800 kernel/up.c: omit it if SMP=y, USE_GENERIC_SMP_HELPERS=n Fix the sparc build - we were including `up.o' on SMP builds, when CONFIG_USE_GENERIC_SMP_HELPERS=n. Tested-by: Robert Reif Fixed-by: Robert Reif Cc: David Miller Cc: Ingo Molnar Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 18e6959c385f3edf3991fa6662a53dac4eb10d5b Author: Nick Piggin Date: Wed Jan 14 07:28:16 2009 +0100 mm: fix assertion This assertion is incorrect for lockless pagecache. By definition if we have an unpinned page that we are trying to take a speculative reference to, it may become the tail of a compound page at any time (if it is freed, then reallocated as a compound page). It was still a valid assertion for the vmscan.c LRU isolation case, but it doesn't seem incredibly helpful... if somebody wants it, they can put it back directly where it applies in the vmscan code. Signed-off-by: Nick Piggin Signed-off-by: Linus Torvalds commit 2465fb6605b4f8f3964b132017bf4078d1265fe9 Author: Takashi Iwai Date: Wed Jan 14 15:58:55 2009 +0100 ALSA: hda - Fix missing initialization of NID 0x0e for STAC925x The selector widget 0x0e isn't initialized properly in the whole probe process, thus it can be a wrong value depending on the BIOS setup. This patch adds the init verb to set it to the max & unmuted. Signed-off-by: Takashi Iwai commit 26689452f5ca201add63b1b1ff0dbcf82d6885e7 Author: Heiko Carstens Date: Wed Jan 14 14:14:36 2009 +0100 [CVE-2009-0029] s390 specific system call wrappers Signed-off-by: Heiko Carstens commit 2b66421995d2e93c9d1a0111acf2581f8529c6e5 Author: Heiko Carstens Date: Wed Jan 14 14:14:35 2009 +0100 [CVE-2009-0029] System call wrappers part 33 Signed-off-by: Heiko Carstens commit d4e82042c4cfa87a7d51710b71f568fe80132551 Author: Heiko Carstens Date: Wed Jan 14 14:14:34 2009 +0100 [CVE-2009-0029] System call wrappers part 32 Signed-off-by: Heiko Carstens commit 836f92adf121f806e9beb5b6b88bd5c9c4ea3f24 Author: Heiko Carstens Date: Wed Jan 14 14:14:33 2009 +0100 [CVE-2009-0029] System call wrappers part 31 Signed-off-by: Heiko Carstens commit 6559eed8ca7db0531a207cd80be5e28cd6f213c5 Author: Heiko Carstens Date: Wed Jan 14 14:14:32 2009 +0100 [CVE-2009-0029] System call wrappers part 30 Signed-off-by: Heiko Carstens commit 2e4d0924eb0c403ce4014fa139d1d61bf2c44fee Author: Heiko Carstens Date: Wed Jan 14 14:14:31 2009 +0100 [CVE-2009-0029] System call wrappers part 29 Signed-off-by: Heiko Carstens commit 938bb9f5e840eddbf54e4f62f6c5ba9b3ae12c9d Author: Heiko Carstens Date: Wed Jan 14 14:14:30 2009 +0100 [CVE-2009-0029] System call wrappers part 28 Signed-off-by: Heiko Carstens commit 1e7bfb2134dfec37ce04fb3a4ca89299e892d10c Author: Heiko Carstens Date: Wed Jan 14 14:14:29 2009 +0100 [CVE-2009-0029] System call wrappers part 27 Signed-off-by: Heiko Carstens commit c4ea37c26a691ad0b7e86aa5884aab27830e95c9 Author: Heiko Carstens Date: Wed Jan 14 14:14:28 2009 +0100 [CVE-2009-0029] System call wrappers part 26 Signed-off-by: Heiko Carstens commit d5460c9974a321a194aded4a8c4daaac68ea8171 Author: Heiko Carstens Date: Wed Jan 14 14:14:27 2009 +0100 [CVE-2009-0029] System call wrappers part 25 Signed-off-by: Heiko Carstens commit e48fbb699f82ef1e80bd7126046394d2dc9ca7e6 Author: Heiko Carstens Date: Wed Jan 14 14:14:26 2009 +0100 [CVE-2009-0029] System call wrappers part 24 Signed-off-by: Heiko Carstens commit 5a8a82b1d306a325d899b67715618413657efda4 Author: Heiko Carstens Date: Wed Jan 14 14:14:25 2009 +0100 [CVE-2009-0029] System call wrappers part 23 Signed-off-by: Heiko Carstens commit 3e0fa65f8ba4fd24b3dcfaf14d5b15eaab0fdc61 Author: Heiko Carstens Date: Wed Jan 14 14:14:24 2009 +0100 [CVE-2009-0029] System call wrappers part 22 Signed-off-by: Heiko Carstens commit 20f37034fb966a1c35894f9fe529fda0b6440101 Author: Heiko Carstens Date: Wed Jan 14 14:14:23 2009 +0100 [CVE-2009-0029] System call wrappers part 21 Signed-off-by: Heiko Carstens commit 3cdad42884bbd95d5aa01297e8236ea1bad70053 Author: Heiko Carstens Date: Wed Jan 14 14:14:22 2009 +0100 [CVE-2009-0029] System call wrappers part 20 Signed-off-by: Heiko Carstens commit 003d7ab479168132a2b2c6700fe682b08f08ab0c Author: Heiko Carstens Date: Wed Jan 14 14:14:21 2009 +0100 [CVE-2009-0029] System call wrappers part 19 Signed-off-by: Heiko Carstens commit a6b42e83f249aad723589b2bdf6d1dfb2b0997c8 Author: Heiko Carstens Date: Wed Jan 14 14:14:20 2009 +0100 [CVE-2009-0029] System call wrappers part 18 Signed-off-by: Heiko Carstens commit ca013e945b1ba5828b151ee646946f1297b67a4c Author: Heiko Carstens Date: Wed Jan 14 14:14:19 2009 +0100 [CVE-2009-0029] System call wrappers part 17 Signed-off-by: Heiko Carstens commit 002c8976ee537724b20a5e179d9b349309438836 Author: Heiko Carstens Date: Wed Jan 14 14:14:18 2009 +0100 [CVE-2009-0029] System call wrappers part 16 Signed-off-by: Heiko Carstens commit a26eab2400f0477bfac0255600552394855016f7 Author: Heiko Carstens Date: Wed Jan 14 14:14:17 2009 +0100 [CVE-2009-0029] System call wrappers part 15 Signed-off-by: Heiko Carstens commit 3480b25743cb7404928d57efeaa3d085708b04c2 Author: Heiko Carstens Date: Wed Jan 14 14:14:16 2009 +0100 [CVE-2009-0029] System call wrappers part 14 Signed-off-by: Heiko Carstens commit 6a6160a7b5c27b3c38651baef92a14fa7072b3c1 Author: Heiko Carstens Date: Wed Jan 14 14:14:15 2009 +0100 [CVE-2009-0029] System call wrappers part 13 Signed-off-by: Heiko Carstens commit 64fd1de3d821659ac0a3004fd5ee1de59e64af30 Author: Heiko Carstens Date: Wed Jan 14 14:14:14 2009 +0100 [CVE-2009-0029] System call wrappers part 12 Signed-off-by: Heiko Carstens commit 257ac264d69017270fbc3cf5536953525db4076c Author: Heiko Carstens Date: Wed Jan 14 14:14:13 2009 +0100 [CVE-2009-0029] System call wrappers part 11 Signed-off-by: Heiko Carstens commit bdc480e3bef6eb0e7071770834cbdda7e30a5436 Author: Heiko Carstens Date: Wed Jan 14 14:14:12 2009 +0100 [CVE-2009-0029] System call wrappers part 10 Signed-off-by: Heiko Carstens commit a5f8fa9e9ba5ef3305e147f41ad6e1e84ac1f0bd Author: Heiko Carstens Date: Wed Jan 14 14:14:11 2009 +0100 [CVE-2009-0029] System call wrappers part 09 Signed-off-by: Heiko Carstens commit 17da2bd90abf428523de0fb98f7075e00e3ed42e Author: Heiko Carstens Date: Wed Jan 14 14:14:10 2009 +0100 [CVE-2009-0029] System call wrappers part 08 Signed-off-by: Heiko Carstens commit 754fe8d297bfae7b77f7ce866e2fb0c5fb186506 Author: Heiko Carstens Date: Wed Jan 14 14:14:09 2009 +0100 [CVE-2009-0029] System call wrappers part 07 Signed-off-by: Heiko Carstens commit 5add95d4f7cf08f6f62510f19576992912387501 Author: Heiko Carstens Date: Wed Jan 14 14:14:08 2009 +0100 [CVE-2009-0029] System call wrappers part 06 Signed-off-by: Heiko Carstens commit 362e9c07c7220c0a78c88826fc0d2bf7e4a4bb68 Author: Heiko Carstens Date: Wed Jan 14 14:14:07 2009 +0100 [CVE-2009-0029] System call wrappers part 05 Signed-off-by: Heiko Carstens commit b290ebe2c46d01b742b948ce03f09e8a3efb9a92 Author: Heiko Carstens Date: Wed Jan 14 14:14:06 2009 +0100 [CVE-2009-0029] System call wrappers part 04 Signed-off-by: Heiko Carstens commit ae1251ab785f6da87219df8352ffdac68bba23e4 Author: Heiko Carstens Date: Wed Jan 14 14:14:05 2009 +0100 [CVE-2009-0029] System call wrappers part 03 Signed-off-by: Heiko Carstens commit dbf040d9d1cbf1ef6250bdb095c5c118950bcde8 Author: Heiko Carstens Date: Wed Jan 14 14:14:04 2009 +0100 [CVE-2009-0029] System call wrappers part 02 Signed-off-by: Heiko Carstens commit 58fd3aa288939d3097fa04505b25c2f5e6e144d1 Author: Heiko Carstens Date: Wed Jan 14 14:14:03 2009 +0100 [CVE-2009-0029] System call wrappers part 01 Signed-off-by: Heiko Carstens commit 6673e0c3fbeaed2cd08e2fd4a4aa97382d6fedb0 Author: Heiko Carstens Date: Wed Jan 14 14:14:02 2009 +0100 [CVE-2009-0029] System call wrapper special cases System calls with an unsigned long long argument can't be converted with the standard wrappers since that would include a cast to long, which in turn means that we would lose the upper 32 bit on 32 bit architectures. Also semctl can't use the standard wrapper since it has a 'union' parameter. So we handle them as special case and add some extra wrappers instead. Signed-off-by: Heiko Carstens commit ed6bb6194350dc6ae97a65dbf2d621a3dbe6bbe9 Author: Heiko Carstens Date: Wed Jan 14 14:14:01 2009 +0100 [CVE-2009-0029] s390: enable system call wrappers Signed-off-by: Heiko Carstens commit ee6a093222549ac0c72cfd296c69fa5e7d6daa34 Author: Benjamin Herrenschmidt Date: Wed Jan 14 14:14:00 2009 +0100 [CVE-2009-0029] powerpc: Enable syscall wrappers for 64-bit This enables the use of syscall wrappers to do proper sign extension for 64-bit programs. Signed-off-by: Benjamin Herrenschmidt Signed-off-by: Heiko Carstens commit 1a94bc34768e463a93cb3751819709ab0ea80a01 Author: Heiko Carstens Date: Wed Jan 14 14:13:59 2009 +0100 [CVE-2009-0029] System call wrapper infrastructure From: Martin Schwidefsky By selecting HAVE_SYSCALL_WRAPPERS architectures can activate system call wrappers in order to sign extend system call arguments. All architectures where the ABI defines that the caller of a function has to perform sign extension probably need this. Reported-by: Christian Borntraeger Acked-by: Ralf Baechle Signed-off-by: Martin Schwidefsky Signed-off-by: Heiko Carstens commit f627a741d24f12955fa2d9f8831c3b12860635bd Author: Heiko Carstens Date: Wed Jan 14 14:13:58 2009 +0100 [CVE-2009-0029] Make sys_syslog a conditional system call Remove the -ENOSYS implementation for !CONFIG_PRINTK and use the cond_syscall infrastructure instead. Acked-by: Kyle McMartin Signed-off-by: Heiko Carstens commit c9da9f2129d6a421c32e334a83770a9e67f7feac Author: Heiko Carstens Date: Wed Jan 14 14:13:57 2009 +0100 [CVE-2009-0029] Make sys_pselect7 static Not a single architecture has wired up sys_pselect7 plus it is the only system call with seven parameters. Just make it static and rename it to do_pselect which will do the work for sys_pselect6. Signed-off-by: Heiko Carstens commit 1134723e96f6e2abcf8bfd7a2d1c96fcc323ef35 Author: Heiko Carstens Date: Wed Jan 14 14:13:56 2009 +0100 [CVE-2009-0029] Remove __attribute__((weak)) from sys_pipe/sys_pipe2 Remove __attribute__((weak)) from common code sys_pipe implemantation. IA64, ALPHA, SUPERH (32bit) and SPARC (32bit) have own implemantations with the same name. Just rename them. For sys_pipe2 there is no architecture specific implementation. Cc: Richard Henderson Cc: David S. Miller Cc: Paul Mundt Cc: Tony Luck Signed-off-by: Heiko Carstens commit e55380edf68796d75bf41391a781c68ee678587d Author: Heiko Carstens Date: Wed Jan 14 14:13:55 2009 +0100 [CVE-2009-0029] Rename old_readdir to sys_old_readdir This way it matches the generic system call name convention. Signed-off-by: Heiko Carstens commit 2ed7c03ec17779afb4fcfa3b8c61df61bd4879ba Author: Heiko Carstens Date: Wed Jan 14 14:13:54 2009 +0100 [CVE-2009-0029] Convert all system calls to return a long Convert all system calls to return a long. This should be a NOP since all converted types should have the same size anyway. With the exception of sys_exit_group which returned void. But that doesn't matter since the system call doesn't return. Signed-off-by: Heiko Carstens commit 4c696ba7982501d43dea11dbbaabd2aa8a19cc42 Author: Heiko Carstens Date: Wed Jan 14 14:13:53 2009 +0100 [CVE-2009-0029] Move compat system call declarations to compat header file Move declarations to correct header file. Signed-off-by: Heiko Carstens commit 14819ea1e0bcbdc9b084cd60a6a24d5d786324ef Author: Ingo Molnar Date: Wed Jan 14 12:34:21 2009 +0100 irq: export __set_irq_handler() and handle_level_irq() Impact: build fix ARM updates broke x86 allmodconfig builds: ERROR: "__set_irq_handler" [drivers/mfd/pcf50633-core.ko] undefined! ERROR: "handle_level_irq" [drivers/mfd/pcf50633-core.ko] undefined! Signed-off-by: Ingo Molnar commit baf48f6577e581a9adb8fe849dc80e24b21d171d Author: Mandeep Singh Baines Date: Mon Jan 12 21:15:17 2009 -0800 softlock: fix false panic which can occur if softlockup_thresh is reduced At run-time, if softlockup_thresh is changed to a much lower value, touch_timestamp is likely to be much older than the new softlock_thresh. This will cause a false softlockup to be detected. If softlockup_panic is enabled, the system will panic. The fix is to touch all watchdogs before changing softlockup_thresh. Signed-off-by: Mandeep Singh Baines Signed-off-by: Ingo Molnar commit e4fa4c97016037620f9dc8bafe03e1086b665b4c Author: Lai Jiangshan Date: Wed Jan 14 14:58:15 2009 +0800 rcu: add __cpuinit to rcu_init_percpu_data() Impact: reduce memory footprint add __cpuinit to rcu_init_percpu_data(), and this function's text will be discarded after boot when !CONFIG_HOTPLUG_CPU. Signed-off-by: Lai Jiangshan Signed-off-by: Ingo Molnar commit 5c6c9e6feccf771d060708fbbba9e0f67f8e0e67 Author: Signed-off-by: Peter Stokes Date: Wed Jan 14 09:47:57 2009 +0100 ALSA: USB quirk for Logitech Quickcam Pro 9000 name The Logitech QuickCam Pro 9000 does not appear to any product identification strings in its USB device descriptor. Therefore it receives a device name of "USB Device 0x46d:0x990". Th e attached patch below adds a USB quirk to provide a more friendly name. Signed-off-by: Takashi Iwai commit 9248f2693921b143b54f380b60c945b28a7a5358 Author: Takashi Iwai Date: Wed Jan 14 09:40:25 2009 +0100 ALSA: hda - Fix stac92hd83xxx_amp_nids[] Fix the bug introduced in commit c15c5060fc32d7de7cde76aa61e98bae1334d82e: sound/pci/hda/patch_sigmatel.c: In function ‘patch_stac92hd83xxx’: sound/pci/hda/patch_sigmatel.c:4765: warning: assignment from incompatible pointer type Signed-off-by: Takashi Iwai commit 3e420e78ece6f9d2accc1568e80dfd0501e13df1 Author: Luke Yelavich Date: Tue Dec 16 12:37:47 2008 +1100 ALSA: hda - Add automatic model setting for Samsung Q45 Have the Samsung Q45 (144d:c510) select ALC262_HIPPO by default Reference: Ubuntu bug 200210 http://launchpad.net/bugs/200210 Signed-off-by: Luke Yelavich Cc: stable@kernel.org Signed-off-by: Takashi Iwai commit 8317e0b0c2234f5f1f5d54804e4093d11bc0dffa Author: Takashi Iwai Date: Wed Jan 14 07:56:51 2009 +0100 ALSA: hda - Don't reset HP pinctl in patch_sigmatel.c Resetting HP pinctl at the unplugged state may cause a sort of regression on some devices because of their wrong pin configuration. A simple workaround is to disable the pin reset. This is ugly and may be not good from the power-saving POV (if any), but damn simple. Signed-off-by: Takashi Iwai Cc: stable@kernel.org commit c15c5060fc32d7de7cde76aa61e98bae1334d82e Author: Matthew Ranostay Date: Tue Jan 13 13:30:07 2009 -0500 ALSA: hda: stac92hd8xxx amp mixers Added amp nid for stac92hd8xxx families of codecs so the input amp mixer is created. Signed-off-by: Matthew Ranostay Signed-off-by: Takashi Iwai commit 2acc9dcb609427a20463e529ef552dd93b469847 Author: Takashi Iwai Date: Fri Jan 9 16:57:14 2009 +0100 ALSA: hda - Fix silent headphone output on Panasonic CF-74 CF-74 does the headphone/speaker switching on hardware, thus the driver shouldn't do any software-toggling of pins. Otherwise it results in a silent headphone output. This patch simply resets the hp_detect flag to fix the problem. Signed-off-by: Takashi Iwai commit 7891cc818967e186be68caac32d84bfd0a3f0bd2 Author: Herbert Xu Date: Tue Jan 13 22:17:51 2009 -0800 ipv6: Fix fib6_dump_table walker leak When a fib6 table dump is prematurely ended, we won't unlink its walker from the list. This causes all sorts of grief for other users of the list later. Reported-by: Chris Caputo Signed-off-by: Herbert Xu Signed-off-by: David S. Miller commit cb7a97d01521797cad9f63e8478403c3e51fea49 Merge: 0335cb7 a652504 Author: Lachlan McIlroy Date: Wed Jan 14 16:29:51 2009 +1100 Merge git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux-2.6 into for-linus commit 27f23336bcc1b08512751c878b3e05ed6b815e86 Author: Uwe Kleine-König Date: Tue Jan 13 18:20:31 2009 -0800 Input: spitzkbd - mark probe function as __devinit A pointer to spitzkbd_probe is passed to the core via platform_driver_register and so the function must not disappear when the .init sections are discarded. Otherwise (if also having HOTPLUG=y) unbinding and binding a device to the driver via sysfs will result in an oops as does a device being registered late. An alternative to this patch is using platform_driver_probe instead of platform_driver_register plus removing the pointer to the probe function from the struct platform_driver. [dtor@mail.ru: fixed some more section markups] Signed-off-by: Uwe Kleine-König Signed-off-by: Dmitry Torokhov commit d63dab00e85641515a0a060e6de93e6b7f450665 Author: Uwe Kleine-König Date: Tue Jan 13 18:20:20 2009 -0800 Input: omap-keypad - mark probe function as __devinit A pointer to omap_kp_probe is passed to the core via platform_driver_register and so the function must not disappear when the .init sections are discarded. Otherwise (if also having HOTPLUG=y) unbinding and binding a device to the driver via sysfs will result in an oops as does a device being registered late. An alternative to this patch is using platform_driver_probe instead of platform_driver_register plus removing the pointer to the probe function from the struct platform_driver. [dtor@mail.ru: fixed some more section markups] Signed-off-by: Uwe Kleine-König Signed-off-by: Dmitry Torokhov commit 7a6046ebe28d6a5d259097dcb44162e5a6eca88e Author: David S. Miller Date: Tue Jan 13 17:38:24 2009 -0800 sparc64: Fix UP build failure. sparc_ksyms_64.c includes asm/spinlock.h directly, which is a no-no. Even better, none of these exports are even necessary. All of these functions are inlines. Reported by Meelis Roos and Alexander Beregalov. Signed-off-by: David S. Miller commit 33966dd0e2f68f26943cd9ee93ec6abbc6547a8e Author: Willy Tarreau Date: Tue Jan 13 16:04:36 2009 -0800 tcp: splice as many packets as possible at once As spotted by Willy Tarreau, current splice() from tcp socket to pipe is not optimal. It processes at most one segment per call. This results in low performance and very high overhead due to syscall rate when splicing from interfaces which do not support LRO. Willy provided a patch inside tcp_splice_read(), but a better fix is to let tcp_read_sock() process as many segments as possible, so that tcp_rcv_space_adjust() and tcp_cleanup_rbuf() are called less often. With this change, splice() behaves like tcp_recvmsg(), being able to consume many skbs in one system call. With typical 1460 bytes of payload per frame, that means splice(SPLICE_F_NONBLOCK) can return 16*1460 = 23360 bytes. Signed-off-by: Willy Tarreau Signed-off-by: Eric Dumazet Signed-off-by: David S. Miller commit ea0105ea3881b409e362451690184af494bce6e3 Author: Anton Vorontsov Date: Sun Jan 11 19:55:39 2009 +0300 powerpc/83xx: Move mcu_mpc8349emitx driver out of drivers/i2c/chips/ This patch is used to help Jean Delvare to get rid of drivers/i2c/chips/ directory. The new location suggested by Kumar Gala: as the driver is 83xx specific it's placed into arch/powerpc/platforms/83xx/. Signed-off-by: Anton Vorontsov Acked-by: Jean Delvare Signed-off-by: Kumar Gala commit 6c9789de2a02755101f757789ffcb17312f3fa9b Author: Anton Vorontsov Date: Sun Jan 11 18:30:13 2009 +0300 powerpc/83xx: Make serial ports work on MPC8315E-RDB w/ FSL U-Boots FSL U-Boots use /soc8315@e0000000 node to search and fixup serial nodes' clock-frequency properties. Though in upstream kernels we use new naming convention -- for IMMR address space dts files specify /immr@e0000000 nodes. This makes FSL U-Boots fail to fixup the clock frequencies, and that leads to serial ports misbehaviour. We can workaround the issue by filling the clock frequency values manually. p.s. For the same reason FSL U-Boots fail to fixup MAC addresses for ethernet nodes, so users should either change the .dts file locally or set MAC address via `ifconfig hw ether' command. Signed-off-by: Anton Vorontsov Signed-off-by: Kumar Gala commit 5597b25c300eeaf43392f399990d3f3027a9b779 Author: Kumar Gala Date: Thu Jan 8 18:11:56 2009 -0600 powerpc/e500mc: Doorbells need to be taken w/exceptions disabled We use Doorbell interrupts for IPIs and thus we need to make sure we aren't interrupted in the process of processing the IPI. Signed-off-by: Kumar Gala Acked-by: Dave Liu commit a6525042bfdfcab128bd91fad264de10fd24a55e Merge: b9a0d06 58dab91 Author: Linus Torvalds Date: Tue Jan 13 14:53:16 2009 -0800 Merge branch 'x86-pat-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip * 'x86-pat-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip: x86 PAT: remove CPA WARN_ON for zero pte x86 PAT: return compatible mapping to remap_pfn_range callers x86 PAT: change track_pfn_vma_new to take pgprot_t pointer param x86 PAT: consolidate old memtype new memtype check into a function x86 PAT: remove PFNMAP type on track_pfn_vma_new() error commit b9a0d06a35c382c02f471a0815e2e27cdfe1c7f9 Merge: 6256851 e6b50c8 Author: Linus Torvalds Date: Tue Jan 13 14:52:35 2009 -0800 Merge master.kernel.org:/home/rmk/linux-2.6-arm * master.kernel.org:/home/rmk/linux-2.6-arm: TWL4030: fix clk API usage [ARM] 5364/1: allow flush_ioremap_region() to be used from modules [ARM] w90x900: fix build errors and warnings [ARM] i.MX add missing include [ARM] i.MX: fix breakage from commit 278892736e99330195c8ae5861bcd9d791bbf19e [ARM] i.MX: remove LCDC controller register definitions from imx-regs.h commit 62568510b8e2679cbc331d7de10ea9ba81ae8b3d Author: Bernd Schmidt Date: Tue Jan 13 22:14:48 2009 +0100 Fix timeouts in sys_pselect7 Since we (Analog Devices) updated our Blackfin kernel to 2.6.28, we've seen occasional 5-second hangs from telnet. telnetd calls select with a NULL timeout, but with the new kernel, the system call occasionally returns 0, which causes telnet to call sleep (5). This did not happen with earlier kernels. The code in sys_pselect7 looks a bit strange, in particular the variable "to" is initialized to NULL, then changed if a non-null timeout was passed in, but not used further. It needs to be passed to core_sys_select instead of &end_time. This bug was introduced by 8ff3e8e85fa6c312051134b3953e397feb639f51 ("select: switch select() and poll() over to hrtimers"). Signed-off-by: Bernd Schmidt Reviewed-by: Ulrich Drepper Tested-by: Robin Getz Cc: stable@kernel.org Signed-off-by: Linus Torvalds commit 125c97d8a59888c5678734c2b70cbd08c847bd99 Author: Helge Deller Date: Tue Jan 13 22:51:07 2009 +0100 fix early_serial_setup() regression Commit b430428a188e8a434325e251d0704af4b88b4711 ("8250: Don't clobber spinlocks.") introduced a regression on the parisc architecture, which broke the handover to the serial port at boottime. early_serial_setup() was changed to only copy a subset of the uart_port fields, and sadly the "type" and "line" fields were forgotten and thus the serial port was not initialized and could not be used for a handover. This patch fixes this by copying the missing fields. As this change to early_serial_setup() doesn't need an initialized spinlock in the uart_port struct any longer, we can drop the spinlock initialization in the superio driver. Cc: David Daney Cc: Tomaso Paoletti Cc: Andrew Morton Cc: Alan Cox Acked-by: Kyle McMartin Cc: linux-parisc@vger.kernel.org Signed-off-by: Helge Deller Signed-off-by: Linus Torvalds commit 9a0811ca4e9cf7be320ae8a5a43a259feb70074f Merge: 8599757 26d1597 Author: David S. Miller Date: Tue Jan 13 12:22:26 2009 -0800 Merge branch 'master' of git://git.kernel.org/pub/scm/linux/kernel/git/linville/wireless-2.6 commit e6b50c8d58bde1cdc5c9c9520be7ed8921d26aab Author: Russell King Date: Sat Jan 10 10:40:42 2009 +0000 TWL4030: fix clk API usage Always pass a struct device if one is available; and there's really no reason for the processor specific stuff in this file if only people would follow the API usage properly by using the struct device. Signed-off-by: Russell King commit 58dab916dfb57328d50deb0aa9b3fc92efa248ff Author: venkatesh.pallipadi@intel.com Date: Fri Jan 9 16:13:14 2009 -0800 x86 PAT: remove CPA WARN_ON for zero pte Impact: reduce scope of debug check - avoid warnings The logic to find whether identity map exists or not using high_memory or max_low_pfn_mapped/max_pfn_mapped are not complete as the memory withing the range may not be mapped if there is a unusable hole in e820. Specifically, on my test system I started seeing these warnings with tools like hwinfo, acpidump trying to map ACPI region. [ 27.400018] ------------[ cut here ]------------ [ 27.400344] WARNING: at /home/venkip/src/linus/linux-2.6/arch/x86/mm/pageattr.c:560 __change_page_attr_set_clr+0xf3/0x8b8() [ 27.400821] Hardware name: X7DB8 [ 27.401070] CPA: called for zero pte. vaddr = ffff8800cff6a000 cpa->vaddr = ffff8800cff6a000 [ 27.401569] Modules linked in: [ 27.401882] Pid: 4913, comm: dmidecode Not tainted 2.6.28-05716-gfe0bdec #586 [ 27.402141] Call Trace: [ 27.402488] [] warn_slowpath+0xd3/0x10f [ 27.402749] [] ? find_get_page+0xb3/0xc9 [ 27.403028] [] ? find_get_page+0x0/0xc9 [ 27.403333] [] __change_page_attr_set_clr+0xf3/0x8b8 [ 27.403628] [] ? __purge_vmap_area_lazy+0x192/0x1a1 [ 27.403883] [] ? __purge_vmap_area_lazy+0x4b/0x1a1 [ 27.404172] [] ? vm_unmap_aliases+0x1ab/0x1bb [ 27.404512] [] ? vm_unmap_aliases+0x48/0x1bb [ 27.404766] [] change_page_attr_set_clr+0x13e/0x2e6 [ 27.405026] [] ? _spin_unlock+0x26/0x2a [ 27.405292] [] ? reserve_memtype+0x19b/0x4e3 [ 27.405590] [] _set_memory_wb+0x22/0x24 [ 27.405844] [] ioremap_change_attr+0x26/0x28 [ 27.406097] [] reserve_pfn_range+0x1a3/0x235 [ 27.406427] [] track_pfn_vma_new+0x49/0xb3 [ 27.406686] [] remap_pfn_range+0x94/0x32c [ 27.406940] [] ? phys_mem_access_prot_allowed+0xb5/0x1a8 [ 27.407209] [] mmap_mem+0x75/0x9d [ 27.407523] [] mmap_region+0x2cf/0x53e [ 27.407776] [] do_mmap_pgoff+0x2a9/0x30d [ 27.408034] [] sys_mmap+0x92/0xce [ 27.408339] [] system_call_fastpath+0x16/0x1b [ 27.408614] ---[ end trace 4b16ad70c09a602d ]--- [ 27.408871] dmidecode:4913 reserve_pfn_range ioremap_change_attr failed write-back for cff6a000-cff6b000 This is wih track_pfn_vma_new trying to keep identity map in sync. The address cff6a000 is the ACPI region according to e820. [ 0.000000] BIOS-provided physical RAM map: [ 0.000000] BIOS-e820: 0000000000000000 - 000000000009c000 (usable) [ 0.000000] BIOS-e820: 000000000009c000 - 00000000000a0000 (reserved) [ 0.000000] BIOS-e820: 00000000000cc000 - 00000000000d0000 (reserved) [ 0.000000] BIOS-e820: 00000000000e4000 - 0000000000100000 (reserved) [ 0.000000] BIOS-e820: 0000000000100000 - 00000000cff60000 (usable) [ 0.000000] BIOS-e820: 00000000cff60000 - 00000000cff69000 (ACPI data) [ 0.000000] BIOS-e820: 00000000cff69000 - 00000000cff80000 (ACPI NVS) [ 0.000000] BIOS-e820: 00000000cff80000 - 00000000d0000000 (reserved) [ 0.000000] BIOS-e820: 00000000e0000000 - 00000000f0000000 (reserved) [ 0.000000] BIOS-e820: 00000000fec00000 - 00000000fec10000 (reserved) [ 0.000000] BIOS-e820: 00000000fee00000 - 00000000fee01000 (reserved) [ 0.000000] BIOS-e820: 00000000ff000000 - 0000000100000000 (reserved) [ 0.000000] BIOS-e820: 0000000100000000 - 0000000230000000 (usable) And is not mapped as per init_memory_mapping. [ 0.000000] init_memory_mapping: 0000000000000000-00000000cff60000 [ 0.000000] init_memory_mapping: 0000000100000000-0000000230000000 We can add logic to check for this. But, there can also be other holes in identity map when we have 1GB of aligned reserved space in e820. This patch handles it by removing the WARN_ON and returning a specific error value (EFAULT) to indicate that the address does not have any identity mapping. The code that tries to keep identity map in sync can ignore this error, with other callers of cpa still getting error here. Signed-off-by: Venkatesh Pallipadi Signed-off-by: Suresh Siddha Signed-off-by: Ingo Molnar commit cdecff6864a1cd352a41d44a65e7451b8ef5cee2 Author: venkatesh.pallipadi@intel.com Date: Fri Jan 9 16:13:12 2009 -0800 x86 PAT: return compatible mapping to remap_pfn_range callers Impact: avoid warning message, potentially solve 3D performance regression Change x86 PAT code to return compatible memtype if the exact memtype that was requested in remap_pfn_rage and friends is not available due to some conflict. This is done by returning the compatible type in pgprot parameter of track_pfn_vma_new(), and the caller uses that memtype for page table. Note that track_pfn_vma_copy() which is basically called during fork gets the prot from existing page table and should not have any conflict. Hence we use strict memtype check there and do not allow compatible memtypes. This patch fixes the bug reported here: http://marc.info/?l=linux-kernel&m=123108883716357&w=2 Specifically the error message: X:5010 map pfn expected mapping type write-back for d0000000-d0101000, got write-combining Should go away. Reported-and-bisected-by: Kevin Winchester Signed-off-by: Venkatesh Pallipadi Signed-off-by: Suresh Siddha Signed-off-by: Ingo Molnar commit e4b866ed197cef9989348e0479fed8d864ea465b Author: venkatesh.pallipadi@intel.com Date: Fri Jan 9 16:13:11 2009 -0800 x86 PAT: change track_pfn_vma_new to take pgprot_t pointer param Impact: cleanup Change the protection parameter for track_pfn_vma_new() into a pgprot_t pointer. Subsequent patch changes the x86 PAT handling to return a compatible memtype in pgprot_t, if what was requested cannot be allowed due to conflicts. No fuctionality change in this patch. Signed-off-by: Venkatesh Pallipadi Signed-off-by: Suresh Siddha Signed-off-by: Ingo Molnar commit afc7d20c8429f32f19d47367fdc36eeed2334ec3 Author: venkatesh.pallipadi@intel.com Date: Fri Jan 9 16:13:10 2009 -0800 x86 PAT: consolidate old memtype new memtype check into a function Impact: cleanup Move the new memtype old memtype allowed check to header so that is can be shared by other users. Subsequent patch uses this in pat.c in remap_pfn_range() code path. No functionality change in this patch. Signed-off-by: Venkatesh Pallipadi Signed-off-by: Suresh Siddha Signed-off-by: Ingo Molnar commit a36706131182f5507d1e2cfbf391b0fa8d72203c Author: venkatesh.pallipadi@intel.com Date: Fri Jan 9 16:13:09 2009 -0800 x86 PAT: remove PFNMAP type on track_pfn_vma_new() error Impact: fix (harmless) double-free of memtype entries and avoid warning On track_pfn_vma_new() failure, reset the vm_flags so that there will be no second cleanup happening when upper level routines call unmap_vmas(). This patch fixes part of the bug reported here: http://marc.info/?l=linux-kernel&m=123108883716357&w=2 Specifically the error message: X:5010 freeing invalid memtype d0000000-d0101000 Is due to multiple frees on error path, will not happen with the patch below. Signed-off-by: Venkatesh Pallipadi Signed-off-by: Suresh Siddha Signed-off-by: Ingo Molnar commit c8399943bdb70fef78798b97f975506ecc99e039 Author: Andi Kleen Date: Mon Jan 12 23:01:15 2009 +0100 x86, generic: mark complex bitops.h inlines as __always_inline Impact: reduce kernel image size Hugh Dickins noticed that older gcc versions when the kernel is built for code size didn't inline some of the bitops. Mark all complex x86 bitops that have more than a single asm statement or two as always inline to avoid this problem. Probably should be done for other architectures too. Ingo then found a better fix that only requires a single line change, but it unfortunately only works on gcc 4.3. On older gccs the original patch still makes a ~0.3% defconfig difference with CONFIG_OPTIMIZE_INLINING=y. With gcc 4.1 and a defconfig like build: 6116998 1138540 883788 8139326 7c323e vmlinux-oi-with-patch 6137043 1138540 883788 8159371 7c808b vmlinux-optimize-inlining ~20k / 0.3% difference. Signed-off-by: Andi Kleen Signed-off-by: Andrew Morton Signed-off-by: Ingo Molnar commit e0b325d310a6b11f1538413fd557d2eb98f2fae5 Merge: 2883985 e8cea89 Author: Linus Torvalds Date: Tue Jan 13 09:03:02 2009 -0800 Merge branch 'x86-fixes-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip * 'x86-fixes-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip: Revert "i386: add TRACE_IRQS_OFF for the nmi" commit 28839855bf623f2d7eee72377d4896770a45494f Merge: ccbf04f 6e96281 Author: Linus Torvalds Date: Tue Jan 13 09:02:21 2009 -0800 Merge branch 'core-fixes-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip * 'core-fixes-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip: smp_call_function_single(): be slightly less stupid, fix #2 lockdep, mm: fix might_fault() annotation commit 417bec5b0f25e000866f1be845d44a3ca0690697 Author: Takashi Iwai Date: Tue Jan 13 17:57:12 2009 +0100 ALSA: hda - Update model descriptions in patch_sigmatel.c Update models in patch_sigmatel.c, mainly for the last Gateway updates. Signed-off-by: Takashi Iwai commit 14ed74fbe2b917f0ad3e30cf2644203c04a45e89 Merge: c107b41 58eec42 Author: Takashi Iwai Date: Tue Jan 13 17:50:46 2009 +0100 Merge branch 'topic/hda-gateway' into topic/hda commit 32aeef605aa01e1fee45e052eceffb00e72ba2b0 Author: Hannes Reinecke Date: Tue Jan 13 16:50:37 2009 +0100 [SCSI] Skip deleted devices in __scsi_device_lookup_by_target() __scsi_device_lookup_by_target() will always return the first sdev with a matching LUN, regardless of the state. However, when this sdev is in SDEV_DEL scsi_device_lookup_by_target() will ignore this device and so any valid device on the list after the deleted device will never be found. So we have to modify __scsi_device_lookup_by_target() to skip any device in SDEV_DEL. Signed-off-by: Hannes Reinecke Signed-off-by: James Bottomley commit c107b41c485c43f15b24743e81eaab742b3c0b67 Author: Takashi Iwai Date: Tue Jan 13 17:46:37 2009 +0100 ALSA: hda - Use queue_delayed_work() Replaced the old schedule_work() with queue_delayed_work() where overlooked in the previous patches. Signed-off-by: Takashi Iwai commit debf47779efd6eace440c884c8cca2665d966eb4 Author: ILLES, Marton Date: Mon Jan 12 15:45:52 2009 +0100 [SCSI] Add SUN Universal Xport to no attach blacklist I was using a Sun ST2510 device (iSCSI) and a special "block device" appeared which is used by SUN Common Array Manager in-band management. However it also appeared as a block device and caused some IO error: [ 716.868000] scsi 15:0:0:31: Direct-Access SUN Universal Xport 0735 PQ: 0 ANSI: 5 [ 716.868000] qla4xxx 0000:04:01.1: scsi(15:0:0:31): Enabled tagged queuing, queue depth 32. [ 716.868000] sd 15:0:0:31: [sdf] 40960 512-byte hardware sectors (21 MB) [ 716.868000] sd 15:0:0:31: [sdf] Write Protect is off [ 716.868000] sd 15:0:0:31: [sdf] Mode Sense: 77 00 10 08 [ 716.868000] sd 15:0:0:31: [sdf] Write cache: disabled, read cache: enabled, supports DPO and FUA [ 716.868000] sd 15:0:0:31: [sdf] 40960 512-byte hardware sectors (21 MB) [ 716.868000] sd 15:0:0:31: [sdf] Write Protect is off [ 716.868000] sd 15:0:0:31: [sdf] Mode Sense: 77 00 10 08 [ 716.872000] sd 15:0:0:31: [sdf] Write cache: disabled, read cache: enabled, supports DPO and FUA [ 716.872000] sdf: unknown partition table [ 716.932000] sd 15:0:0:31: [sdf] Attached SCSI disk [ 716.932000] sd 15:0:0:31: Attached scsi generic sg6 type 0 [ 717.412000] end_request: I/O error, dev sdf, sector 40 [ 717.412000] Buffer I/O error on device sdf, logical block 5 [ 717.412000] Buffer I/O error on device sdf, logical block 6 [ 717.412000] Buffer I/O error on device sdf, logical block 7 [ 717.412000] Buffer I/O error on device sdf, logical block 8 [ 717.412000] Buffer I/O error on device sdf, logical block 9 [ 717.412000] Buffer I/O error on device sdf, logical block 10 [ 717.412000] Buffer I/O error on device sdf, logical block 11 [ 717.412000] Buffer I/O error on device sdf, logical block 12 [ 717.412000] Buffer I/O error on device sdf, logical block 13 [ 717.412000] Buffer I/O error on device sdf, logical block 14 After some googling it appeared that similar issue has been solved for SGI/IBM devices in 4869040512082b761de2d7c35975d01044f8bfea, so here is the patch for SUN, please apply. Signed-off-by: James Bottomley commit 2856830bd395fbc2f0c5327effe71fb025dd262d Author: Karen Xie Date: Sat Jan 10 19:06:07 2009 -0800 [SCSI] iscsi_tcp: make padbuf non-static virt_to_page() call should not be used on kernel text and data addresses. virt_to_page() is used by sg_init_one(). So change padbuf to be allocated within iscsi_segment. Signed-off-by: Karen Xie Acked-by: Mike Christie Signed-off-by: James Bottomley commit 2f4c782c2e06fbaef2ac2b6b7abd796b96abd98b Author: Kashyap, Desai Date: Tue Jan 6 15:03:37 2009 +0530 [SCSI] mpt fusion: Add Firmware debug support Signed-off-by: Kashyap Desai Signed-off-by: James Bottomley commit e382968ba618e016ff7922dff9a6140c2f9108c8 Author: Kashyap, Desai Date: Thu Jan 8 14:27:16 2009 +0530 [SCSI] mpt fusion: Add separate msi enable disable for FC,SPI,SAS Added support for MSI enable/disable for different buses FC,SPI,SAS instead of having single MSI enable/disable feature. Signed-off-by: Kashyap Desai Signed-off-by: James Bottomley commit fd7a253311412b3fc7c85586552c90eca61e7d23 Author: Kashyap, Desai Date: Tue Jan 6 14:56:31 2009 +0530 [SCSI] mpt fusion: Update MPI Headers to version 01.05.19 This Patch is submitted to increment the MPI headers used by LSI MPT fusion drivers to the latest version 01.05.19. Year is changed in CopyRight. Signed-off-by: Kashyap Desai Signed-off-by: James Bottomley commit 29bdccbee69c199910b2b39377e66ee5c33f241c Author: Anirban Chakraborty Date: Thu Jan 8 15:41:08 2009 -0800 [SCSI] qla2xxx: Fix ISP restart bug in multiq code After restarting ISP the additional queues are not being setup correctly. The following patch fixes the issue. Please apply. Signed-off-by: Anirban Chakraborty Signed-off-by: James Bottomley commit d86be86e9aab221089d72399072511f13fe2a771 Author: Atsushi Nemoto Date: Tue Jan 13 09:22:20 2009 -0700 dmatest: Use custom map/unmap for destination buffer The dmatest driver should use DMA_BIDIRECTIONAL on the destination buffer to ensure that the poison values are written to RAM and not just written to cache and discarded. Acked-by: Haavard Skinnemoen Acked-by: Maciej Sosnowski Signed-off-by: Atsushi Nemoto Signed-off-by: Dan Williams commit ccbf04f24c55ead791dac5df8ddeb1a640fbaad8 Merge: 51eb9ab 8c9ea7f Author: Linus Torvalds Date: Tue Jan 13 08:19:42 2009 -0800 Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/roland/infiniband * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/roland/infiniband: IB/iser: Add dependency on INFINIBAND_ADDR_TRANS IPoIB: Do not join broadcast group if interface is brought down RDMA/nes: Fix for NIPQUAD removal IPoIB: Fix loss of connectivity after bonding failover on both sides IB/mlx4: Don't register IB device for adapters with no IB ports mlx4_core: Fix warning from min() IB/ehca: spin_lock_irqsave() takes an unsigned long commit 51eb9ab91abc9c384118b1d947e4b99cc2bc5fc5 Merge: 288e487 4a99d95 Author: Linus Torvalds Date: Tue Jan 13 08:17:41 2009 -0800 Merge branch 'upstream-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jgarzik/libata-dev * 'upstream-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jgarzik/libata-dev: pata_it821x: Update RDC UDMA handling ata: fix wrong WARN_ON_ONCE commit 288e4877f94a3b144aadc206e7796921d02432c1 Author: Dirk Hohndel Date: Sun Jan 11 15:33:51 2009 +0000 Prevent oops at boot with VT-d With some broken BIOSs when VT-d is enabled, the data structures are filled incorrectly. This can cause a NULL pointer dereference in very early boot. Signed-off-by: Dirk Hohndel Acked-by: Yu Zhao Signed-off-by: David Woodhouse Signed-off-by: Linus Torvalds commit 4a99d95fa836e254d17910e52663ba2be7b880e7 Author: Alan Cox Date: Sun Jan 11 19:51:08 2009 +0000 pata_it821x: Update RDC UDMA handling The UDMA affliction is apparently specific to revision 0x11. Keeps us in sync with drivers/ide current. Signed-off-by: Alan Cox Signed-off-by: Jeff Garzik commit a0f79f7ad3e52b908786462cf5446ebe20fe14fa Author: Christian Borntraeger Date: Tue Jan 13 10:38:36 2009 +0100 ata: fix wrong WARN_ON_ONCE This patch fixes a wrong WARN_ON that was triggered by 32bit PIO support: WARNING: at drivers/ata/libata-sff.c:1017 ata_sff_hsm_move+0x45e/0x750() __atapi_pio_bytes simply doesnt know enough to decide if there is a bug. Signed-off-by: Christian Borntraeger Signed-off-by: Jeff Garzik commit 26d1597c9a4532eec74f9651c4c96483cb8892fe Author: John W. Linville Date: Mon Jan 12 14:46:39 2009 -0500 p54: fix "‘ret’ may be used uninitialized" warning drivers/net/wireless/p54/p54common.c: In function ‘p54_config’: drivers/net/wireless/p54/p54common.c:1853: warning: ‘ret’ may be used uninitialized in this function Signed-off-by: John W. Linville commit 25a4cceaa44a7f73c8f92e6177812347500a0b15 Author: John W. Linville Date: Mon Jan 12 14:44:52 2009 -0500 iwl3945: fix "‘power_idx’ may be used uninitialized" warning drivers/net/wireless/iwlwifi/iwl-3945.c: In function ‘iwl3945_txpower_set_from_eeprom’: drivers/net/wireless/iwlwifi/iwl-3945.c:2222: warning: ‘power_idx’ may be used uninitialized in this function Signed-off-by: John W. Linville commit 08cb7e01678b0a8d95d76aa0a395f2d7390f7ee1 Author: John W. Linville Date: Mon Jan 12 14:43:18 2009 -0500 b43legacy: fix "‘up_dev’ may be used uninitialized" warning drivers/net/wireless/b43legacy/main.c: In function ‘b43legacy_op_dev_config’: drivers/net/wireless/b43legacy/main.c:2468: warning: ‘up_dev’ may be used uninitialized in this function Signed-off-by: John W. Linville commit 922d8a0b6d82fb40ffb561576e3800c3784ff43d Author: John W. Linville Date: Mon Jan 12 14:40:20 2009 -0500 b43: fix "‘gmode’ may be used uninitialized" warning drivers/net/wireless/b43/main.c: In function ‘b43_op_config’: drivers/net/wireless/b43/main.c:3264: warning: ‘gmode’ may be used uninitialized Signed-off-by: John W. Linville commit 85b9e4fe13de9b35af1dbd50acc5f4978b9119ee Author: John W. Linville Date: Mon Jan 12 14:37:44 2009 -0500 mac80211: fix "‘ret’ may be used uninitialized" warning net/mac80211/ht.c: In function ‘ieee80211_start_tx_ba_session’: net/mac80211/ht.c:472: warning: ‘ret’ may be used uninitialized in this function Signed-off-by: John W. Linville commit 4a922a969cb0190ce4580d4b064e2ac35f3ac9bf Author: Ingo Molnar Date: Tue Jan 13 16:11:00 2009 +0100 x86, cpufreq: remove leftover copymask_copy() Impact: fix potential boot crash on MAXSMP Remove code left over by: 50c668d: Revert "cpumask: use work_on_cpu in acpi-cpufreq.c for drv_read That cmd.cpumask is not allocated anymore. No impact on default !MAXSMP kernels. Signed-off-by: Ingo Molnar commit dafb70ce1026d4d6ef1b16ad6996c9589bb11cce Author: Giuseppe Bilotta Date: Tue Jan 13 08:58:49 2009 -0500 ALSA: hda - Add quirk for another HP dv5 Add the model=hp-m4 quirk for another HP dv5 (103c:3603) Reference: kernel bug#12440 http://bugzilla.kernel.org/show_bug.cgi?id=12440 Signed-off-by: Takashi Iwai Cc: stable@kernel.org commit f84e3e915ea03dfa6e32626fc25a4f284ef222ac Author: Takashi Iwai Date: Tue Jan 13 12:32:21 2009 +0100 ALSA: hda - Add support of NVidia MCP78 HDMI Added the new id for NVidia MCP HDMI (10de:0007). Signed-off-by: Takashi Iwai commit f9d088b2080b476c86f8ddbc274851b89668c6d7 Author: Takashi Iwai Date: Tue Jan 13 11:54:49 2009 +0100 ALSA: hda - Fix a typo Fix a typo in stac92hd83xxx_cfg_tbl[]. The actual number is identical thus there is no behavior change. Signed-off-by: Takashi Iwai commit 840207edfa8b5e5b46e0d268bf33efe71fecea20 Author: Uwe Kleine-König Date: Mon Jan 12 22:32:17 2009 -0800 Input: corgi_ts - mark probe function as __devinit A pointer to corgits_probe is passed to the core via platform_driver_register and so the function must not disappear when the .init sections are discarded. Otherwise (if also having HOTPLUG=y) unbinding and binding a device to the driver via sysfs will result in an oops as does a device being registered late. An alternative to this patch is using platform_driver_probe instead of platform_driver_register plus removing the pointer to the probe function from the struct platform_driver. [dtor@mail.ru: fixed some more section markups] Signed-off-by: Uwe Kleine-König Signed-off-by: Dmitry Torokhov commit f2d8dc75a14479f8803a70cf637b5d79a3bb87f1 Author: Uwe Kleine-König Date: Mon Jan 12 22:29:23 2009 -0800 Input: corgikbd - mark probe function as __devinit A pointer to corgikbd_probe is passed to the core via platform_driver_register and so the function must not disappear when the .init sections are discarded. Otherwise (if also having HOTPLUG=y) unbinding and binding a device to the driver via sysfs will result in an oops as does a device being registered late. An alternative to this patch is using platform_driver_probe instead of platform_driver_register plus removing the pointer to the probe function from the struct platform_driver. [dtor@mail.ru: fixed some more section markups] Signed-off-by: Uwe Kleine-König Signed-off-by: Dmitry Torokhov commit 859975764fa61e927e7a69f46a55a4ba415785dd Author: Cyrill Gorcunov Date: Mon Jan 12 22:11:56 2009 -0800 net: ppp_generic - fix regressions caused by IDR conversion The commits: 7a95d267fb62cd6b80ef73be0592bbbe1dbd5df7 ("net: ppp_generic - use idr technique instead of cardmaps") ab5024ab23b78c86a0a1425defcdde48710fe449 ("net: ppp_generic - use DEFINE_IDR for static initialization") introduced usage of IDR functionality but broke userspace side. Before this commits it was possible to allocate new ppp interface with specified number. Now it fails with EINVAL. Fix it by trying to allocate interface with specified unit number and return EEXIST if fail which allow pppd to ask us to allocate new unit number. And fix messages on memory allocation fails - add details that it's PPP module who is complaining. Signed-off-by: Cyrill Gorcunov Signed-off-by: David S. Miller commit a6d0b91ae5dd01263530c96f9b29001cb1ed58b0 Author: Anton Vorontsov Date: Mon Jan 12 21:57:34 2009 -0800 gianfar: Fix soft lockup with multi-interrupt TSECs This patch fixes following bug: BUG: soft lockup - CPU#0 stuck for 61s! [S03mountvirtfs-:922] Modules linked in: NIP: c006505c LR: c00675f0 CTR: c0020438 REGS: c7a1db90 TRAP: 0901 Not tainted (2.6.28-rc8-01311-g8c7396a) MSR: 00009032 CR: 28248442 XER: 20000000 TASK = c7a288a0[922] 'S03mountvirtfs-' THREAD: c7a1c000 GPR00: 00009032 c7a1dc40 c7a288a0 00000024 c79a1840 00000000 00000300 00000020 GPR08: c035f97c 00000000 00004008 c04d5210 00000000 NIP [c006505c] handle_IRQ_event+0x34/0xb0 LR [c00675f0] handle_level_irq+0xa8/0x144 Call Trace: [c7a1dc40] [c00204d8] ipic_mask_irq+0xa0/0xb4 (unreliable) [c7a1dc60] [c00675f0] handle_level_irq+0xa8/0x144 [c7a1dc80] [c00067f8] do_IRQ+0x78/0x108 [c7a1dc90] [c0014d7c] ret_from_except+0x0/0x14 --- Exception: 501 at gfar_schedule_cleanup+0x54/0x7c LR = gfar_transmit+0x14/0x28 [c7a1dd50] [c0352a3c] _spin_unlock_irqrestore+0x18/0x30 (unreliable) [c7a1dd60] [c01f49a8] gfar_transmit+0x14/0x28 [c7a1dd70] [c0065084] handle_IRQ_event+0x5c/0xb0 [c7a1dd90] [c00675f0] handle_level_irq+0xa8/0x144 [c7a1ddb0] [c00067f8] do_IRQ+0x78/0x108 [c7a1ddc0] [c0014d7c] ret_from_except+0x0/0x14 --- Exception: 501 at up_read+0x10/0x48 LR = do_page_fault+0x2b0/0x3e0 [c7a1de80] [c7a177e8] 0xc7a177e8 (unreliable) [c7a1de90] [c0017964] do_page_fault+0x2b0/0x3e0 [c7a1df40] [c0014b14] handle_page_fault+0xc/0x80 --- Exception: 301 at 0xfe98b7c LR = 0xfe989c0 Instruction dump: 7c0802a6 bf810010 7c9f2378 7c7c1b78 90010024 80040004 70090020 40820010 7c0000a6 60008000 7c000124 3bc00000 <3ba00000> 48000010 83ff0014 2f9f0000 The bug introduced by commit 8c7396aebb68994c0519e438eecdf4d5fa9c7844 ("gianfar: Merge Tx and Rx interrupt for scheduling clean up ring"). The commit merged TX and RX interrupt code into a single routine that schedules NAPI, but no locks were introduced. This causes irq races, so when irqs are enabled and netif_rx_schedule_prep() returns 0, nobody disable the interrupts again. This leads to interrupt storm and finally to the lockup. Signed-off-by: Anton Vorontsov Signed-off-by: David S. Miller commit b74f62c1e736ea01c660355526dd54132d241ca9 Author: Denis Joseph Barrow Date: Mon Jan 12 21:56:49 2009 -0800 hso: driver fix for big endian machines. Filip Aben says this fix is neccessary for big endian machines. Signed-off-by: Denis Joseph Barrow Signed-off-by: David S. Miller commit a73be040650463eacb95f83d2e6673ac57b4fc59 Author: Jarek Poplawski Date: Mon Jan 12 21:54:40 2009 -0800 pkt_sched: sch_htb: Break all htb_do_events() after 2 jiffies Currently htb_do_events() breaks events recounting for a level after 2 jiffies, but there is no reason to repeat this for next levels and increase delays even more (with softirqs disabled). htb_dequeue_tree() can add to this too, btw. In such a case q->now time is invalid anyway. Thanks to Patrick McHardy for spotting an error around earlier version of this patch. Signed-off-by: Jarek Poplawski Signed-off-by: David S. Miller commit c08513471911cf33cb50249a7ff12848374f7263 Author: Jarek Poplawski Date: Mon Jan 12 21:54:16 2009 -0800 pkt_sched: sch_htb: Consider used jiffies in htb_do_events() Next event time should consider jiffies used for recounting. Otherwise qdisc_watchdog_schedule() triggers hrtimer immediately with the event in the past, and may cause very high ksoftirqd cpu usage (if highres is on). There is also removed checking "event" for zero in htb_dequeue(): it's always true in this place. Signed-off-by: Jarek Poplawski Signed-off-by: David S. Miller commit daaf83d2b9277928739f3eb7ea64f49c1254fd62 Author: Richard Kennedy Date: Mon Jan 12 00:06:11 2009 +0000 netfilter 09/09: remove padding from struct xt_match on 64bit builds reorder struct xt_match to remove 8 bytes of padding and make its size 128 bytes. This saves a small amount of data space in each of the xt netfilter modules and fits xt_match in one 128 byte cache line. Signed-off-by: Richard Kennedy Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller commit e6210f3be5b13b6cda9c8dad8926818a73c8e6ac Author: Jan Engelhardt Date: Mon Jan 12 00:06:10 2009 +0000 netfilter 08/09: xt_time: print timezone for user information netfilter: xt_time: print timezone for user information Let users have a way to figure out if their distro set the kernel timezone at all. Signed-off-by: Jan Engelhardt Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller commit cd7fcbf1cb6933bfb9171452b4a370c92923544d Author: Julia Lawall Date: Mon Jan 12 00:06:08 2009 +0000 netfilter 07/09: simplify nf_conntrack_alloc() error handling nf_conntrack_alloc cannot return NULL, so there is no need to check for NULL before using the value. I have also removed the initialization of ct to NULL in nf_conntrack_alloc, since the value is never used, and since perhaps it might lead one to think that return ct at the end might return NULL. The semantic patch that finds this problem is as follows: (http://www.emn.fr/x-info/coccinelle/) // @match exists@ expression x, E; position p1,p2; statement S1, S2; @@ x@p1 = nf_conntrack_alloc(...) ... when != x = E ( if (x@p2 == NULL || ...) S1 else S2 | if (x@p2 == NULL && ...) S1 else S2 ) @other_match exists@ expression match.x, E1, E2; position p1!=match.p1,match.p2; @@ x@p1 = E1 ... when != x = E2 x@p2 @ script:python depends on !other_match@ p1 << match.p1; p2 << match.p2; @@ print "%s: call to nf_conntrack_alloc %s bad test %s" % (p1[0].file,p1[0].line,p2[0].line) // Signed-off-by: Julia Lawall Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller commit 71320afcdb33b3f0b754ba1fac6a8c77aa469041 Author: Patrick McHardy Date: Mon Jan 12 00:06:07 2009 +0000 netfilter 06/09: nf_conntrack: fix ICMP/ICMPv6 timeout sysctls on big-endian An old bug crept back into the ICMP/ICMPv6 conntrack protocols: the timeout values are defined as unsigned longs, the sysctl's maxsize is set to sizeof(unsigned int). Use unsigned int for the timeout values as in the other conntrack protocols. Reported-by: Jean-Mickael Guerin Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller commit d61ba9fd55b52a10b8e0ffd39bbc33587d3bfc8d Author: Jan Engelhardt Date: Mon Jan 12 00:06:06 2009 +0000 netfilter 05/09: ebtables: fix inversion in match code Commit 8cc784ee (netfilter: change return types of match functions for ebtables extensions) broke ebtables matches by inverting the sense of match/nomatch. Reported-by: Matt Cross Signed-off-by: Jan Engelhardt Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller commit 656caff20e12ba6e07b4bf342641df5ab33b4e49 Author: Patrick McHardy Date: Mon Jan 12 00:06:04 2009 +0000 netfilter 04/09: x_tables: fix match/target revision lookup Commit 55b69e91 (netfilter: implement NFPROTO_UNSPEC as a wildcard for extensions) broke revision probing for matches and targets that are registered with NFPROTO_UNSPEC. Fix by continuing the search on the NFPROTO_UNSPEC list if nothing is found on the af-specific lists. Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller commit 47e0e1ca13d64eeeb687995fbe4e239e743d7544 Author: Herbert Xu Date: Mon Jan 12 00:06:03 2009 +0000 netfilter 03/09: bridge: Disable PPPOE/VLAN processing by default The PPPOE/VLAN processing code in the bridge netfilter is broken by design. The VLAN tag and the PPPOE session ID are an integral part of the packet flow information, yet they're completely ignored by the bridge netfilter. This is potentially a security hole as it treats all VLANs and PPPOE sessions as the same. What's more, it's actually broken for PPPOE as the bridge netfilter tries to trim the packets to the IP length without adjusting the PPPOE header (and adjusting the PPPOE header isn't much better since the PPPOE peer may require the padding to be present). Therefore we should disable this by default. It does mean that people relying on this feature may lose networking depending on how their bridge netfilter rules are configured. However, IMHO the problems this code causes are serious enough to warrant this. Signed-off-by: Herbert Xu Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller commit a2bd40ad3151d4d346fd167e01fb84b06f7247fc Author: Herbert Xu Date: Mon Jan 12 00:06:02 2009 +0000 netfilter 02/09: bridge: Fix handling of non-IP packets in FORWARD/POST_ROUTING Currently the bridge FORWARD/POST_ROUTING chains treats all non-IPv4 packets as IPv6. This packet fixes that by returning NF_ACCEPT on non-IP packets instead, just as is done in PRE_ROUTING. Signed-off-by: Herbert Xu Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller commit 88843104a19d5896bf67ab6bd685e976240dd04a Author: Patrick McHardy Date: Mon Jan 12 00:06:00 2009 +0000 netfilter 01/09: remove "happy cracking" message Don't spam logs for locally generated short packets. these can only be generated by root. Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller commit 985ebdb5ed54151eba734aa1b307460e8e4267ba Author: Krzysztof Hałasa Date: Mon Jan 12 16:32:13 2009 -0800 net: Fix a comment in include/linux/netdevice.h. Fix a comment in include/linux/netdevice.h. Signed-off-by: Krzysztof Hałasa Signed-off-by: David S. Miller commit d9736749f581abd80c2831244e2659e2e833b0e3 Author: Krzysztof Hałasa Date: Mon Jan 12 16:31:54 2009 -0800 WAN: Fix NAPI interface in IXP4xx HSS driver. Signed-off-by: Krzysztof Hałasa Signed-off-by: David S. Miller commit 061b908cf888c1bfd3dd1b91ce6f676e3bc42633 Author: Michael Ellerman Date: Mon Jan 12 16:30:00 2009 +0000 powerpc: Enable PS3 options and QPACE in ppc64_defconfig To increase the amount of code that's built for a defconfig build. Signed-off-by: Michael Ellerman Signed-off-by: Benjamin Herrenschmidt commit c478b58135e6c9b49c8b80bff8ef910f2ba9b313 Author: Benjamin Herrenschmidt Date: Sun Jan 11 19:03:45 2009 +0000 powerpc/powermac: Fix occasional SMP boot failure The PowerMac kernel occasionally fails to bring up the secondary CPUs on SMP, the trigger factor seem to be fairly random and related to location of code and data. This appears to be due to the initial loading of the TOC value by the secondary processor which now happens before we clear HID4:RM_CI (Real Mode Cache Invalidate). This bit should really be cleared before we do any load or store other than fetching code. This fix works based on the assumption that all SMP 64-bit PowerMacs use variants of the 970, which fortunately is true, by explicitely clearing that bit, adding an slbia for good measure as RM_CI mode is known to create bogus ERAT entries. I also removed some spurrious debug output that was left enabled by mistake while at it. Signed-off-by: Benjamin Herrenschmidt commit fc7a9feb9c9df50ed6d115514b48c49e8511a4de Author: Nathan Lynch Date: Fri Jan 9 13:12:44 2009 +0000 powerpc/cacheinfo: Rename cache_dir per-cpu variable The per_cpu__ prefix on DECLARE_PER_CPU'd variables is going away; rename cache_dir to cache_dir_pcpu. Signed-off-by: Nathan Lynch Signed-off-by: Benjamin Herrenschmidt commit 2da7582f7cf5ef5e6adcf42537b6b8be06312152 Author: Milton Miller Date: Thu Jan 8 02:14:28 2009 +0000 hvc_console: Use kzalloc() instead of kmalloc() + memset() Replace kmalloc() + memset() with kzalloc(). Signed-off-by: Milton Miller Signed-off-by: Benjamin Herrenschmidt commit da9dc13289fa58dced12f2baff51dfb87c339ba3 Author: Milton Miller Date: Thu Jan 8 02:14:24 2009 +0000 hvc_console: Do not set low_latency when using interrupts hvc_console is setting low_latency unconditionally, but some clients are interrupt driven and will call hvc_poll from irq context. This will cause tty_flip_buffer_push to be called from irq context, and it very clearly states it must not be called from IRQ when low_latency is specified. Looking back through history: v2.6.16-rc1 via 33f0f88f1c51ae5c2d593d26960c760ea154c2e2 [PATCH] TTY layer buffering revamp added this new api. v2.6.16-rc3 via 8977d929e49021d9a6e031310aab01fa72f849c2 [PATCH] tty buffering stall fix claims to fix a stall discovered with hvc_console v2.6.16-rc5 via fb5c594c2acc441f0d2d8f457484a0e0e9285db3 [PATCH] Fix race condition in hvc console. said set this flag to avoid a stall problem, and was merged through the powerpc arch tree. Without searching for email discussions, it would appear to be an overlapping "fix", but one that did not consider all users. Signed-off-by: Benjamin Herrenschmidt commit c21f7a527f7757a0e246cea521a5dd3b8e1224d5 Author: Milton Miller Date: Thu Jan 8 02:14:21 2009 +0000 hvc_console: Call free_irq() only if request_irq() was successful Only call free_irq if we marked the request_irq has having succeeded instead of whenever the the sub-driver identified the interrupt to use. Signed-off-by: Milton Miller Signed-off-by: Benjamin Herrenschmidt commit 9fef3d2d15ae8ca24e4a145f2e189eea145d18c2 Author: Milton Miller Date: Thu Jan 8 02:14:18 2009 +0000 hvc_console: Change an mb() to smp_mb() and add some comments I remember some history on this barrier. There was a race between open via /dev/console and the tty being fully setup. Its also why there is a temporary variable and the global is assigned at the end of the function. Signed-off-by: Milton Miller Signed-off-by: Benjamin Herrenschmidt commit a1c5a8932bbb75b550deb156d890027827fc9d6e Author: Stephen Rothwell Date: Tue Jan 6 14:40:06 2009 +0000 powerpc: Cleanup from l64 to ll64 change: drivers/net These are powerpc specific drivers. Signed-off-by: Stephen Rothwell Acked-by: David S. Miller Signed-off-by: Benjamin Herrenschmidt commit 1901515c79f13d9a1913d246b6c0711318dadb4c Author: Stephen Rothwell Date: Tue Jan 6 14:28:48 2009 +0000 powerpc: Cleanup from l64 to ll64 change: drivers/char This is a powerpc specific driver. Signed-off-by: Stephen Rothwell Signed-off-by: Benjamin Herrenschmidt commit 9477e455b4b3ded3e7add8c96d8293105947eaac Author: Stephen Rothwell Date: Tue Jan 6 14:27:38 2009 +0000 powerpc: Cleanup from l64 to ll64 change: arch code Signed-off-by: Stephen Rothwell Signed-off-by: Benjamin Herrenschmidt commit fe333321e2a71f706b794d55b6a3dcb5ab240f65 Author: Ingo Molnar Date: Tue Jan 6 14:26:03 2009 +0000 powerpc: Change u64/s64 to a long long integer type Convert arch/powerpc/ over to long long based u64: -#ifdef __powerpc64__ -# include -#else -# include -#endif +#include This will avoid reoccuring spurious warnings in core kernel code that comes when people test on their own hardware. (i.e. x86 in ~98% of the cases) This is what x86 uses and it generally helps keep 64-bit code 32-bit clean too. [Adjusted to not impact user mode (from paulus) - sfr] Signed-off-by: Ingo Molnar Signed-off-by: Stephen Rothwell Signed-off-by: Benjamin Herrenschmidt commit 66c721e184e594d5761c5db804ade08fab81930d Author: Milton Miller Date: Fri Jan 2 10:46:15 2009 +0000 powerpc/kexec: Check crash_base for relocatable kernel Enforce that the crash kernel region never overlaps the current kernel, as it will be written directly on kexec load. Also, default to the previous KDUMP_KERNELBASE if the start is 0. Other architectures (x86, ia64) state that specifying the start address 0 (or omitting it) will result in the kernel allocating it. Before the relocatable patch in 2.6.28, powerpc would adjust any other start value to the hardcoded KDUMP_KERNELBASE of 32M. Signed-off-by: Milton Miller Signed-off-by: Benjamin Herrenschmidt commit e16459c6b7e9c1390020a3e2a033b5383d1c4f3b Author: Milton Miller Date: Fri Jan 2 10:46:04 2009 +0000 powerpc: Make dummy section a valid note header We are declaring the dummy section (used to work around a binutils bug) as PT_NOTE, but we don't have enough bytes for it to be a valid note header, and kexec userspace complains: Warning: Elf Note name is not null terminated Warning: append= option is not passed. Using the first kernel root partition Warning: Elf Note name is not null terminated Instead of using the arbitray value 0xf177 (aka "fill"), declare a no-name no-description note of type 0. Signed-off-by: Milton Miller Signed-off-by: Benjamin Herrenschmidt commit 8c9ea7fe96afb30660673da77853114827fac0ca Merge: 7ddccb2 50df48f f5eb3b7 22e7ef9 03080e5 Author: Roland Dreier Date: Mon Jan 12 19:37:31 2009 -0800 Merge branches 'ehca', 'ipoib', 'iser', 'mlx4' and 'nes' into for-next commit f5eb3b76003cc36f3f66514eef05779e7559c6a3 Author: Randy Dunlap Date: Mon Jan 12 19:30:41 2009 -0800 IB/iser: Add dependency on INFINIBAND_ADDR_TRANS Fix ib_iser build to depend on INFINIBAND_ADDR_TRANS; if INET=y but IPV6=n, then the RDMA CM is not built but INFINIBAND_ISER can be enabled, leading to: ERROR: "rdma_destroy_id" [drivers/infiniband/ulp/iser/ib_iser.ko] undefined! ERROR: "rdma_connect" [drivers/infiniband/ulp/iser/ib_iser.ko] undefined! ERROR: "rdma_destroy_qp" [drivers/infiniband/ulp/iser/ib_iser.ko] undefined! ERROR: "rdma_create_id" [drivers/infiniband/ulp/iser/ib_iser.ko] undefined! ERROR: "rdma_create_qp" [drivers/infiniband/ulp/iser/ib_iser.ko] undefined! ERROR: "rdma_resolve_route" [drivers/infiniband/ulp/iser/ib_iser.ko] undefined! ERROR: "rdma_disconnect" [drivers/infiniband/ulp/iser/ib_iser.ko] undefined! ERROR: "rdma_resolve_addr" [drivers/infiniband/ulp/iser/ib_iser.ko] undefined! Signed-off-by: Randy Dunlap commit 50df48f59d656d58a1734df5cfe00cdc9a74e8b5 Author: Yossi Etigin Date: Mon Jan 12 19:28:42 2009 -0800 IPoIB: Do not join broadcast group if interface is brought down Because the ipoib_workqueue is not flushed when ipoib interface is brought down, ipoib_mcast_join() may trigger a join to the broadcast group after priv->broadcast was set to NULL (during cleanup). This will cause the system to be a member of the broadcast group when interface is down. As a side effect, this breaks the optimization of setting the Q_key only when joining the broadcast group. Signed-off-by: Yossi Etigin Signed-off-by: Roland Dreier commit bd1f7936ab5138d7e5e4f61bb4371e2994b2b2c5 Merge: 30aae73 ff82c58 Author: Benjamin Herrenschmidt Date: Tue Jan 13 13:59:11 2009 +1100 Merge commit 'gcl/gcl-next' into next commit 30aae739a9eb6db31ad7b08dac44bd302f41c709 Merge: 37a76bd 6fd8be4 Author: Benjamin Herrenschmidt Date: Tue Jan 13 13:59:03 2009 +1100 Merge commit 'kumar/kumar-next' into next commit 37a76bd4f1b716949fc38a6842e89f0ccb8384d0 Author: Arjan van de Ven Date: Sun Jan 11 15:35:01 2009 +0000 async: fix __lowest_in_progress() At 37000 feet somewhere near Greenland I woke up from a half-sleep with the realisation that __lowest_in_progress() is buggy. After landing I checked and there were indeed 2 problems with it; this patch fixes both: * The order of the list checks was wrong * The locking was not correct. Signed-off-by: Arjan van de Ven Signed-off-by: Linus Torvalds commit d32ad102c6d748b510fd89f1af4232eac1be8732 Author: Arjan van de Ven Date: Sun Jan 11 15:03:23 2009 +0000 script: improve markup_oops.pl to also decode oopses in modules There has been some light flamewar on lkml about decoding oopses in modules (as part of the crashdump flamewar). Now this isn't rocket science, just the markup_oops.pl script cheaped out and didn't handle modules. But really; a flamewar all about that?? What happened to C++ in the kernel or reading files from inside the kernel? This patch adds module support to markup_oops.pl; it's not the most pretty perl but it works for my testcases... Signed-off-by: Arjan van de Ven Signed-off-by: Linus Torvalds commit 7df52316601bfe308e427e0882f3e801682d800b Author: Chris Adams Date: Sun Jan 11 19:49:11 2009 +0000 ti_usb_3410_5052: add Multi-Tech firmware Add the Multi-Tech cellular modem firmware to the TI USB serial driver. This firmware was extracted from: ftp://ftp.multitech.com/wireless/wireless_linux.zip Firmware licence: "all firmware components are redistributable in binary form" per support@multitech.com Copyright (C) 2005 Multi-Tech Systems, Inc. Signed-off-by: Chris Adams Signed-off-by: Alan Cox Signed-off-by: Linus Torvalds commit cb7a7c6a2cae5696b8aa636e86e9befd3dd00318 Author: Chris Adams Date: Sun Jan 11 19:49:00 2009 +0000 ti_usb_3410_5052: add Multi-Tech modem support Add Multi-Tech cellular modem support to the ti_usb_3410_5052 driver. Signed-off-by: Chris Adams Signed-off-by: Alan Cox Signed-off-by: Linus Torvalds commit 05a3d9050ad7bb791b9ba306165ea98e6d9e9da2 Author: Chris Adams Date: Sun Jan 11 19:48:53 2009 +0000 ti_usb_3410_5052: support alternate firmware The TI USB serial driver supports specifying alternate vendor and product IDs (since the chips can and are used in devices under other vendor/product IDs). However, the alternate IDs were not loaded in the combined product table. This patch also adds support for loading alternate firmware for alternate vendor/product IDs. Signed-off-by: Chris Adams Signed-off-by: Alan Cox Signed-off-by: Linus Torvalds commit bf0672db79c18ce38d1783be982051a718a0bc22 Author: Alan Cox Date: Sun Jan 11 19:48:41 2009 +0000 usb-serial: remove NULL check Julia Lawell found a case where a NULL check was misplaced in the usb-serial code. However as the object in question cannot be NULL the check can simply be removed. Signed-off-by: Alan Cox Signed-off-by: Linus Torvalds commit 21b56ec4e96f2bd8c584db41bd9a42c6cb71fdac Author: Alan Cox Date: Sun Jan 11 19:48:34 2009 +0000 neo: Remove a bogus NULL check Julia Lawall found an un-needed check in the neo driver. Her patch moves the check to cover the code dereferencing it, however it cannot be NULL anyway so remove the NULL check instead. Signed-off-by: Alan Cox Signed-off-by: Linus Torvalds commit c774bda2fdc5412124a854a791d9f6f52936ff81 Author: Alan Cox Date: Sun Jan 11 19:46:49 2009 +0000 pty: Fix documentation The pty changes and updates for window sizing forgot to correct the kerneldoc Signed-off-by: Alan Cox Signed-off-by: Linus Torvalds commit 12847095e9c96cdf1ca6dd980ca733c38f8e9a98 Merge: 1181a24 fd2ab30 Author: Linus Torvalds Date: Mon Jan 12 16:29:00 2009 -0800 Merge branch 'sched-fixes-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip * 'sched-fixes-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip: kernel/sched.c: add missing forward declaration for 'double_rq_lock' sched: partly revert "sched debug: remove NULL checking in print_cfs_rt_rq()" cpumask: fix CONFIG_NUMA=y sched.c commit 1181a2449969c59f0ab6b95374fe6983cc07286d Merge: b743791 9d07933 Author: Linus Torvalds Date: Mon Jan 12 16:28:26 2009 -0800 Merge branch 'core-fixes-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip * 'core-fixes-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip: sparc64: Fix cpumask related build failure smp_call_function_single(): be slightly less stupid, fix smp_call_function_single(): be slightly less stupid rcu: fix bug in rcutorture system-shutdown code commit b743791639d8142277df1c2814c282e3ad752f06 Merge: 9219a3b b29c06a Author: Linus Torvalds Date: Mon Jan 12 16:27:24 2009 -0800 Merge branch 'for-next' of git://git.o-hand.com/linux-mfd * 'for-next' of git://git.o-hand.com/linux-mfd: mfd: Fix twl4030-core build mfd: Ensure sm501 GPIO pin mode is GPIO when configured mfd: dm355 evm MMC/SD card detection regulator: PCF50633 pmic driver input: PCF50633 input driver power_supply: PCF50633 battery charger driver rtc: PCF50633 rtc driver mfd: PCF50633 gpio support mfd: PCF50633 adc driver mfd: PCF50633 core driver commit 9219a3b9889dbc7dae68e472f239672ff48860b0 Merge: 23ead72 cde15b5 Author: Linus Torvalds Date: Mon Jan 12 16:25:35 2009 -0800 Merge branch 'upstream' of git://ftp.linux-mips.org/pub/scm/upstream-linus * 'upstream' of git://ftp.linux-mips.org/pub/scm/upstream-linus: (37 commits) MIPS: Only write c0_framemask on CPUs which have this register. MIPS: Alchemy: new userspace suspend interface for development boards. MIPS: Alchemy: dbdma suspend/resume support. MIPS: Alchemy: Fix up PM code on Au1550/Au1200 MIPS: Alchemy: move calc_clock function. MIPS: Alchemy: RTC counter clocksource / clockevent support. MIPS: make cp0 counter clocksource/event usable as fallback. MIPS: Alchemy: remove cpu_table. MIPS: Alchemy: remove get/set_au1x00_lcd_clock(). MIPS: Print irq handler description MIPS: Alchemy: pb1200: update CPLD cascade irq handler. MIPS: Alchemy: update core interrupt code. MIPS: Alchemy: move commandline mangling out of common code MIPS: Alchemy: devboards: consolidate files MIPS: Alchemy: Move development board code to common subdirectory MIPS: Add Cavium OCTEON to arch/mips/Kconfig MIPS: Add defconfig for Cavium OCTEON. MIPS: Adjust the dma-common.c platform hooks. MIPS: Add Cavium OCTEON slot into proper tlb category. MIPS: Compute branch returns for Cavium OCTEON specific branch instructions. ... commit 23ead7291269db3be71b442324381c8d63e5d0b3 Merge: 54c2668 3bc5342 Author: Linus Torvalds Date: Mon Jan 12 16:22:31 2009 -0800 Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-2.6 * git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-2.6: (37 commits) ucc_geth: use correct UCCE macros net_dma: acquire/release dma channels on ifup/ifdown cxgb3: Keep LRO off if disabled when interface is down sfc: SFT9001: Fix condition for LNPGA power-off dccp ccid-3: Fix RFC reference smsc911x: register irq with device name, not driver name smsc911x: fix smsc911x_reg_read compiler warning forcedeth: napi schedule lock fix net: fix section mismatch warnings in dccp/ccids/lib/tfrc.c forcedeth: remove mgmt unit for mcp79 chipset qlge: Remove dynamic alloc of rx ring control blocks. qlge: Fix schedule while atomic issue. qlge: Remove support for device ID 8000. qlge: Get rid of split addresses in hardware control blocks. qlge: Get rid of volatile usage for shadow register. forcedeth: version bump and copyright forcedeth: xmit lock fix netdev: missing validate_address hooks netdev: add missing set_mac_address hook netdev: gianfar: add MII ioctl handler ... commit 54c266870c0d75b919b07d5a6bfcdc18a57deb01 Merge: ddb4a9d fc4dbea Author: Linus Torvalds Date: Mon Jan 12 16:22:12 2009 -0800 Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/sparc-2.6 * git://git.kernel.org/pub/scm/linux/kernel/git/davem/sparc-2.6: sparc: Fix asm/signal.h for 32-bit. sparc: Eliminate PROMLIB_INTERNAL as it does nothing sparc: Kill exports of prom internal functions sparc64: move EXPORT_SYMBOL to the symbols definition sparc: move EXPORT_SYMBOL to the symbols definition sparc: Create a new file lib/ksyms.c and add export of all symbols defined in assembler in lib/ to this file. sparc: Most unaligned_64.c tweaks for branch tracer warnings. sparc: Fix sun4d_irq.c build. sparc: Update 32-bit defconfig. sparc64: fix warnings in psycho_common after ull conversion commit ddb4a9dd6af72cc2c57a82d54d104d53c86384c2 Merge: 87aa08b 24dafdf Author: Linus Torvalds Date: Mon Jan 12 15:57:34 2009 -0800 Merge branch 'for_2.6.29' of git://git.kernel.org/pub/scm/linux/kernel/git/kkeil/ISDN-2.6 * 'for_2.6.29' of git://git.kernel.org/pub/scm/linux/kernel/git/kkeil/ISDN-2.6: Fix small typo misdn: indentation and braces disagree - add braces misdn: one handmade ARRAY_SIZE converted drivers/isdn/hardware/mISDN: move a dereference below a NULL test indentation & braces disagree - add braces Make parameter debug writable BUGFIX: used NULL pointer at ioctl(sk,IMGETDEVINFO,&devinfo) when devinfo.id not registered commit 87aa08b7fee79dac908c80f7593007243448ef89 Merge: 3b1b719 618efba Author: Linus Torvalds Date: Mon Jan 12 15:56:33 2009 -0800 Merge git://git.kernel.org/pub/scm/linux/kernel/git/wim/linux-2.6-watchdog * git://git.kernel.org/pub/scm/linux/kernel/git/wim/linux-2.6-watchdog: [WATCHDOG] Pika Warp appliance watchdog timer [WATCHDOG] Enable watchdog timer on GE Fanuc's SBC610 [WATCHDOG] Basic support for GE Fanuc's FPGA based watchdog timer [WATCHDOG] wm8350: Fix section annotations commit 3b1b71950b81c4a20ae63c2322383ab4932cdabd Merge: c69e883 877d524 Author: Linus Torvalds Date: Mon Jan 12 15:55:19 2009 -0800 Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/geert/linux-m68k * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/geert/linux-m68k: (30 commits) m68k: Fix --build-id breakage for sun3 m68k: Wire up sys_restart_syscall fbdev: Kill Atari vblank cursor blinking m68k: zorro - Use %pR to print resources m68k: dio - Kill resource_size_t format warnings m68k: dmasound - Kill warn_unused_result warnings m68k: zorro - Kill warn_unused_result warnings m68k: dio - Kill warn_unused_result warnings m68k: atafb - Kill warn_unused_result warnings m68k: amiserial - Kill warn_unused_result warnings m68k: ser_a2232 - Kill warn_unused_result warnings m68k: vme_scc - Kill warn_unused_result warnings m68k: sun3 core - Kill warn_unused_result warnings m68k: mvme147 core - Kill warn_unused_result warnings m68k: mac core - Kill warn_unused_result warnings m68k: hp300 core - Kill warn_unused_result warnings m68k: atari core - Kill warn_unused_result warnings m68k: apollo core - Kill warn_unused_result warnings m68k: amiga core - Kill warn_unused_result warnings m68k: Kill several external declarations in source files ... commit c69e8839c230c60d3c5f62c8f88bd23d8d6519ee Merge: 3e55f1a c7be761 Author: Linus Torvalds Date: Mon Jan 12 15:54:27 2009 -0800 Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/teigland/dlm * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/teigland/dlm: dlm: change rsbtbl rwlock to spinlock dlm: fix seq_file usage in debugfs lock dump commit 3e55f1a292583b11ff85952eec77d65a459da2dd Merge: 9b0c474 50c668d Author: Linus Torvalds Date: Mon Jan 12 15:53:58 2009 -0800 Merge branch 'x86-fixes-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip * 'x86-fixes-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip: Revert "cpumask: use work_on_cpu in acpi-cpufreq.c for drv_read and drv_write" x86: fix apic.c build error on latest git x86: fix mpparse.c build error on latest git x86: avoid theoretical vmalloc fault loop x86, mtrr: fix types used in userspace exported header commit 9b0c474f0a2366d6a9c4e7a0f348875017a841a5 Merge: ae04d14 05f9341 Author: Linus Torvalds Date: Mon Jan 12 15:53:02 2009 -0800 Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tiwai/sound-2.6 * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tiwai/sound-2.6: ALSA: hda - Use own workqueue ALSA: hda - add support for Intel DX58SO board ASoC: TWL4030: Module unloading fix ALSA: hda - create hda_codec.control_mutex for kcontrol->private_value ALSA: caiaq - Version 1.3.10 ALSA: hda - Add quirk for Dell Inspiron Mini9 ALSA: caiaq - Fix Oops with MIDI ASoC: TWL4030: Change the soc_value_enum back to soc_enum ASoC: Merge the soc_value_enum to soc_enum struct ALSA: hda - Add quirks for Acer Aspire 5930G and 6930G ALSA: hda - Add codec ID for MCP73 HDMI ALSA: hda - Fix typos for AD1882 codecs ALSA: hda - Add quirk for HP 2230s commit 6527de6d6d25ebfae7c7572cb7a4ed768e2e20a5 Author: Dan Williams Date: Mon Jan 12 15:18:34 2009 -0700 fsldma: use a valid 'device' for dma_pool_create The dmaengine sysfs implementation was fixed to support proper lifetime rules which means that the current: new_fsl_chan->dev = &new_fsl_chan->common.dev->device; ...retrieves a NULL pointer because new_fsl_chan->common.dev has not been allocated at this point. So, set new_fsl_chan->dev to a valid device. Cc: Li Yang Cc: Zhang Wei Reported-by: Ira Snyder Tested-by: Ira Snyder Signed-off-by: Dan Williams commit dd59b8537f6cb53ab863fafad86a5828f1e889a2 Author: Yuri Tikhonov Date: Mon Jan 12 15:17:20 2009 -0700 dmaengine: fix dependency chaining In dmaengine we track the dependencies between the descriptors using the 'next' pointers of the structure. These pointers are set to NULL as soon as the corresponding descriptor has been submitted to the channel (in dma_run_dependencies()). But, the first 'next' in chain is still remaining set, regardless the fact, that tx->next has been already submitted. This may lead to multiple submissions of the same descriptor. This patch fixes this. Actually, some previous implementation of the xxx_run_dependencies() function already had this fix in place. The fdb..0eaf3 commit, beside the correct things, broke this. Cc: Signed-off-by: Yuri Tikhonov Signed-off-by: Dan Williams commit 618efba999d0e7f4bcde93231dcb9a748223c6e3 Author: Sean MacLennan Date: Tue Sep 23 20:26:26 2008 -0400 [WATCHDOG] Pika Warp appliance watchdog timer The FPGA based watchdog timer used by the Pika Warp appliance. Signed-off-by: Sean MacLennan Signed-off-by: Wim Van Sebroeck commit 6ec9eae67a82a38865af20580e5e0ccd012aca4b Author: Martyn Welch Date: Mon Nov 10 12:31:33 2008 +0000 [WATCHDOG] Enable watchdog timer on GE Fanuc's SBC610 Support for the FPGA based watchdog timer on GE Fanuc's SBC610. This patch enables one of the watchdog timers found on the SBC610. There are two identical watchdog timers at different offsets in the above mentioned boards, however the current driver is only capable of supporting one of them. The watchdog timers are also capable of generating interrupts at a user-configurable threshold, though support for this operation is currently not supported by the driver. Signed-off-by: Martyn Welch Signed-off-by: Wim Van Sebroeck commit 3268b5618f387c6b78b8f8b1190d43380c8170ac Author: Martyn Welch Date: Mon Nov 10 12:31:26 2008 +0000 [WATCHDOG] Basic support for GE Fanuc's FPGA based watchdog timer GE Fanuc SBC610 Support for the FPGA based watchdog timer as found on GE Fanuc's SBC310, SBC610 and PPC9A Single Board Computers. This patch adds support for the watchdog timer found in one of the devices FPGAs. There are two identical watchdog timers at different offsets in the above mentioned boards, this driver is capable of supporting one of them. The watchdog timers are also capable of generating interrupts at a user-configurable threshold, though support for this operation is currently not supported by the driver. Signed-off-by: Martyn Welch Signed-off-by: Wim Van Sebroeck commit b1cf3e99dbca10cc3ed62ce354f6541e76ac8ea8 Author: Mark Brown Date: Thu Jan 8 12:04:27 2009 +0000 [WATCHDOG] wm8350: Fix section annotations The probe and remove functions were incorrectly annotated, with the misannotation of the remove function causing build failures when built in. Signed-off-by: Mark Brown Signed-off-by: Wim Van Sebroeck commit 877d52431f4d3cda4adea077ffbe88f3fd1755d3 Author: Al Viro Date: Mon Jan 5 17:28:10 2009 +0000 m68k: Fix --build-id breakage for sun3 Counterpart of commit 08a3db94f2a36c28278922732bc281c1722ceb18 ("m68k: Add NOTES to init data so its discarded at boot") for sun3 build. Signed-off-by: Al Viro Signed-off-by: Geert Uytterhoeven commit c162564ebf001e79448e8aa7a6e0ffee00b55f74 Author: Andreas Schwab Date: Mon Dec 29 19:34:57 2008 +0100 m68k: Wire up sys_restart_syscall Make restart blocks working, required for proper syscall restarting. Signed-off-by: Andreas Schwab Signed-off-by: Geert Uytterhoeven commit 1fa0b29f3a43f9dd8080d24cd16790b15ef963f5 Author: Geert Uytterhoeven Date: Tue Dec 30 14:11:23 2008 +0100 fbdev: Kill Atari vblank cursor blinking Kill the last remaining vblank cursor blinking user Signed-off-by: Geert Uytterhoeven commit b01e3b07ec29e98464a4f580ae000291cf0d2f87 Author: Geert Uytterhoeven Date: Tue Dec 30 14:23:35 2008 +0100 m68k: zorro - Use %pR to print resources Signed-off-by: Geert Uytterhoeven commit fae3306ac0c74be0e1ab32e1c77120e792ab2a33 Author: Geert Uytterhoeven Date: Tue Dec 30 14:22:01 2008 +0100 m68k: dio - Kill resource_size_t format warnings warning: format '%08lx' expects type 'long unsigned int', but argument 3 has type 'resource_size_t' Signed-off-by: Geert Uytterhoeven commit 89bde7b86e21291ef091dc6ad3e63412f7c6ddd9 Author: Geert Uytterhoeven Date: Tue Dec 30 14:25:31 2008 +0100 m68k: dmasound - Kill warn_unused_result warnings warning: ignoring return value of 'request_irq', declared with attribute warn_unused_result Signed-off-by: Geert Uytterhoeven commit 11a8b2c5cde1377c716087df0866d7dc5a6d5d10 Author: Geert Uytterhoeven Date: Tue Dec 30 14:21:19 2008 +0100 m68k: zorro - Kill warn_unused_result warnings warning: ignoring return value of 'device_register', declared with attribute warn_unused_result warning: ignoring return value of 'device_create_file', declared with attribute warn_unused_result Signed-off-by: Geert Uytterhoeven commit 2e4c77bea3d8b17d94f8ee382411f359b708560f Author: Geert Uytterhoeven Date: Tue Dec 30 14:16:41 2008 +0100 m68k: dio - Kill warn_unused_result warnings warning: ignoring return value of 'device_register', declared with attribute warn_unused_result warning: ignoring return value of 'device_create_file', declared with attribute warn_unused_result Signed-off-by: Geert Uytterhoeven commit 639274d8106e25c2f91bf92270f46aaa3d104040 Author: Geert Uytterhoeven Date: Tue Dec 30 14:10:11 2008 +0100 m68k: atafb - Kill warn_unused_result warnings warning: ignoring return value of 'request_irq', declared with attribute warn_unused_result Signed-off-by: Geert Uytterhoeven commit 5edc304f49f3b1a246a3cc4ecc248e8fe7174840 Author: Geert Uytterhoeven Date: Tue Dec 30 14:13:41 2008 +0100 m68k: amiserial - Kill warn_unused_result warnings warning: ignoring return value of 'request_irq', declared with attribute warn_unused_result and clean up the error path handling. Signed-off-by: Geert Uytterhoeven Acked-by: Alan Cox commit 67c53c34660c535083c4c8753e547a9338802ec6 Author: Geert Uytterhoeven Date: Tue Dec 30 14:08:21 2008 +0100 m68k: ser_a2232 - Kill warn_unused_result warnings warning: ignoring return value of 'request_irq', declared with attribute warn_unused_result Signed-off-by: Geert Uytterhoeven Acked-by: Alan Cox commit c36a4e40389a17bb439e2f38b1ae9632ba8af7ae Author: Geert Uytterhoeven Date: Tue Dec 30 14:07:07 2008 +0100 m68k: vme_scc - Kill warn_unused_result warnings warning: ignoring return value of 'request_irq', declared with attribute warn_unused_result Signed-off-by: Geert Uytterhoeven Acked-by: Alan Cox commit 07e449b5b43b4b82c54e3026fc26bd4d8c81b080 Author: Geert Uytterhoeven Date: Tue Dec 30 14:05:24 2008 +0100 m68k: sun3 core - Kill warn_unused_result warnings warning: ignoring return value of 'request_irq', declared with attribute warn_unused_result Signed-off-by: Geert Uytterhoeven commit 41904f8fe160202b8bfcc5da91dd927be40775b3 Author: Geert Uytterhoeven Date: Tue Dec 30 14:03:28 2008 +0100 m68k: mvme147 core - Kill warn_unused_result warnings warning: ignoring return value of 'request_irq', declared with attribute warn_unused_result Signed-off-by: Geert Uytterhoeven commit 92c3dd15cd0589adf66c13c7b6114790c207e5a2 Author: Geert Uytterhoeven Date: Tue Dec 30 14:02:27 2008 +0100 m68k: mac core - Kill warn_unused_result warnings warning: ignoring return value of 'request_irq', declared with attribute warn_unused_result Signed-off-by: Geert Uytterhoeven commit 8bd3968bd1653b4499e843bf86a167ead7c86b74 Author: Geert Uytterhoeven Date: Tue Dec 30 14:02:06 2008 +0100 m68k: hp300 core - Kill warn_unused_result warnings warning: ignoring return value of 'request_irq', declared with attribute warn_unused_result Signed-off-by: Geert Uytterhoeven commit 5b8b4c3d1b0ed4ccac3b1985acd0a973dfa00801 Author: Geert Uytterhoeven Date: Tue Dec 30 14:01:32 2008 +0100 m68k: atari core - Kill warn_unused_result warnings warning: ignoring return value of 'request_irq', declared with attribute warn_unused_result Signed-off-by: Geert Uytterhoeven commit 844306538920b3aaf6806e238f0c0309a1e2bb5f Author: Geert Uytterhoeven Date: Tue Dec 30 14:01:07 2008 +0100 m68k: apollo core - Kill warn_unused_result warnings warning: ignoring return value of 'request_irq', declared with attribute warn_unused_result Signed-off-by: Geert Uytterhoeven commit 66acd2581259d80935fc5216b4b1268d639d9143 Author: Geert Uytterhoeven Date: Tue Dec 30 14:00:34 2008 +0100 m68k: amiga core - Kill warn_unused_result warnings warning: ignoring return value of 'request_irq', declared with attribute warn_unused_result Signed-off-by: Geert Uytterhoeven commit c85627fbf5f47045b25bf66f1b4a7001b5b157af Author: Geert Uytterhoeven Date: Sun Dec 21 12:03:37 2008 +0100 m68k: Kill several external declarations in source files - Replace external declarations by proper includes where availiable. The accesses to some symbols had to be modified, as before they were declared using e.g. "extern int _end", while asm-generic/sections.h uses e.g. "extern char _end[]" - Remove unused or superfluous external declarations Signed-off-by: Geert Uytterhoeven commit 6d0be946e150ac17da7381b27fd40603ca40b58f Author: Andreas Bombe Date: Wed Dec 10 02:02:19 2008 +0100 m68k: amiflop - Get rid of sleep_on calls Apart from sleep_on() calls that could be easily converted to wait_event() and completion calls amiflop also used a flag in ms_delay() and ms_isr() as a custom mutex for ms_delay() without a need for explicit unlocking. I converted that to a standard mutex. The replacement for the unconditional sleep_on() in fd_motor_on() is a complete_all() together with a INIT_COMPLETION() before the mod_timer() call. It appears to me that fd_motor_on() might be called concurrently and fd_select() does not guarantee mutual exclusivity in the case the same drive gets selected again. Signed-off-by: Andreas Bombe Acked-by: Jörg Dorchain Signed-off-by: Geert Uytterhoeven commit dc8ee69c760317be0bb4eac2bd2fd81eb663627a Author: Kars de Jong Date: Fri Nov 21 13:18:12 2008 +0100 m68k: zorro - Add devlist.h and gen-devlist to .gitignore drivers/zorro/.gitignore: Added devlist.h and gen-devlist to .gitignore file because they shouldn't be tracked. Signed-off-by: Kars de Jong Signed-off-by: Geert Uytterhoeven commit 2455e3c60583961c6f3ddb33201a422404564d8f Author: Kars de Jong Date: Thu Nov 20 14:28:30 2008 +0100 m68k: Add vmlinux.lds to .gitignore arch/m68k/kernel/.gitignore: Added vmlinux.lds to .gitignore file because it shouldn't be tracked. Signed-off-by: Kars de Jong Signed-off-by: Geert Uytterhoeven commit 2eab7ff843d2cb8c9b2ace869774bd85b2316090 Author: Geert Uytterhoeven Date: Sun Dec 21 15:48:13 2008 +0100 fbdev: c2p - Rename c2p to c2p_planar Signed-off-by: Geert Uytterhoeven commit 96f47d6105203ab06c2004e26979dea153bce073 Author: Geert Uytterhoeven Date: Sun Dec 21 15:48:12 2008 +0100 fbdev: c2p/atafb - Add support for Atari interleaved bitplanes The c2p() for normal bitplanes is not suitable for interleaved bitplanes with 2 bytes of interleave, causing a garbled penguin logo. Add c2p_iplan2(). Signed-off-by: Geert Uytterhoeven commit 2cd1de0a0ff1d3da08ff1f1437cf4a44deae6a00 Author: Geert Uytterhoeven Date: Sun Jan 4 11:58:20 2009 +0100 fbdev: c2p - Extract common c2p core to c2p_core.h Signed-off-by: Geert Uytterhoeven commit 1f034456c140a8677d0ff3a9bdb3c4b620aae2cb Author: Geert Uytterhoeven Date: Sun Jan 4 11:43:00 2009 +0100 fbdev: c2p - Cleanups - Improve comments and naming - Convert macros to static inline functions - Remove superfluous `break' after `return' - Make sure we get a build-time error (undefined reference to 'c2p_unsupported') in case of future misuse - Replace `unsigned long' by `u32' in comp(), as that's what all callers use - Use {get,put}_unaligned_be32() in store_planar{,_masked}() - Use void * for arbitrary pointers - Use a union to represent pixels/words, to avoid casts Signed-off-by: Geert Uytterhoeven commit 8280eb8a33d60be4f5fa76d5144f66656c71a680 Author: Geert Uytterhoeven Date: Sun Jan 4 11:42:16 2009 +0100 fbdev: c2p - Correct indentation Signed-off-by: Geert Uytterhoeven commit 74511413dd0b8f6c9f5a47bf045eba434f4fdd2b Author: Geert Uytterhoeven Date: Tue Nov 18 21:13:01 2008 +0100 fbdev: atafb - Fix 16 bpp console - 16 bpp must use the cfb_*() ops - 16 bpp needs to set up info->pseudo_palette[] (was fbcon_cfb16_cmap[] in 2.4.x) - Kill commented out 2.4.x fbcon remnants Signed-off-by: Geert Uytterhoeven commit 02603930da19fa447648952873e967fb9663ec18 Author: Geert Uytterhoeven Date: Tue Nov 18 21:13:01 2008 +0100 fbdev: atafb - Fix line length handling - Make sure par->next_line is always set (this was done for Falcon only), as all the text console drawing operations need a valid par->next_line, - Make sure fix->line_length is always set, as some userspace applications need it because they don't have fallback code for the case where it's zero. Signed-off-by: Geert Uytterhoeven commit 51e99158d261a5ec5772ca89b935c3daa270b07c Author: Andrey Yurovsky Date: Mon Jan 5 14:37:31 2009 -0800 libertas_tf: return NETDEV_TX_OK in TX op The TX op should return NETDEV_TX_OK or NETDEV_TX_BUSY. Signed-off-by: Andrey Yurovsky Signed-off-by: John W. Linville commit f1dd2b23badfe8a28910a78be24452c627c4b6f2 Author: Ivo van Doorn Date: Sat Jan 3 16:27:14 2009 +0100 rt2x00: Fix rt2500usb HW crypto: WEP 128 & AES The TXD_W0_CIPHER field is a 1-bit field. It only acts as boolean value to indicate if the frame must be encrypted or not. The way rt2x00_set_field32() worked it would grab the least signifcant bit from txdesc->cipher and use that as value. Because of that WEP 64 and TKIP worked since they had odd-numbered values, while WEP 128 and AES were even numbers and didn't work. Correctly booleanize the txdecs->cipher value to allow the hardware to encrypt the outgoing data. After this we can enable HW crypto by default again. Signed-off-by: Ivo van Doorn Signed-off-by: John W. Linville commit b973c31a925c6753d84a100673f6b25546ec8b34 Author: Christian Lamparter Date: Sat Dec 27 22:19:49 2008 +0100 mac80211: initialize RC data for all mesh links upon allocation This patch fixes a panic that might occur, if the device is part of a mesh and tries to send with a higher rate index than "0". kernel BUG at net/mac80211/rate.c:239! invalid opcode: 0000 [#1] SMP [...] Call Trace: <0> ? invoke_tx_handlers+0x474/0xb57 [mac80211] ? __ieee80211_tx_prepare+0x260/0x2a8 [mac80211] ? ieee80211_master_start_xmit+0x300/0x43a [mac80211] ? __qdisc_run+0xde/0x1da ? net_tx_action+0xb4/0x102 Kernel panic - not syncing: Fatal exception in interrupt Signed-off-by: Christian Lamparter Signed-off-by: John W. Linville commit 71ef99c8b79ab07e1c79794085481464f9870d62 Author: Bob Copeland Date: Mon Jan 5 20:46:34 2009 -0500 ath5k: fix return values from ath5k_tx Should return NETDEV_TX_{OK,BUSY} instead of 0,-1 (this doesn't change any current functionality). Changes-licensed-under: 3-Clause-BSD Reported-by: Johannes Berg Signed-off-by: Bob Copeland Signed-off-by: John W. Linville commit d6e2be988d5146d1faa8df895cd8b32106d987bd Author: Johannes Berg Date: Mon Jan 5 23:11:26 2009 -0600 rtl8187: Fix module so that rmmod/insmod does not error Due to misunderstanding of the returned values allowed for the tx callback of mac80211, rtl8187 was using skb's that had been freed. This problem was triggered when the module was sujected to a rmmod/insmod cycle. After that was fixed, the modules would not work after the rmmod/insmod cycle until the USB device was reset. Signed-off-by: Johannes Berg Signed-off-by: Larry Finger Signed-off-by: John W. Linville commit 124b68e755c2ef9342d5d477142c499fd7901360 Author: Christian Lamparter Date: Fri Dec 26 19:09:45 2008 +0100 p54: fix WARN_ON at line 2247 of net/mac80211/rx.c This patch hopefully fixes a mac80211<->p54 interaction problem, which was described by Larry Finger (ref: http://marc.info/?l=linux-wireless&m=123009889327707 ) I guess the warning was triggered by pending frames in the receive queue, while we're doing a band change 5GHz. Signed-off-by: Christian Lamparter Signed-off-by: John W. Linville commit dcebf45cdc8384be9009b2b9a825054b64742768 Author: Pavel Roskin Date: Mon Dec 22 16:39:36 2008 -0500 mac80211: allow mode change if IBSS is not allowed Changing mode on an interface is not allowed if IBSS is disabled for the current channel. That restriction should only apply when switching to the ad-hoc mode, as it was prior to "cfg80211: handle SIOCGIWMODE/SIOCSIWMODE". Signed-off-by: Pavel Roskin Signed-off-by: John W. Linville commit 4fb7404e0eaf574c00d01d2b1ce2615229b350cd Author: Steve Brown Date: Tue Dec 23 07:57:05 2008 -0500 ath5k: Correct usage of AR5K_CFG_ADHOC This corrects usage of AR5K_CFG_ADHOC introduced in "ath5k: Update PCU code". Also, the name of the indicator is changed to AR5K_CFG_IBSS to more accurately reflect its function. This change restores beaconing in AP and mesh modes. Signed-off-by: Steve Brown Signed-off-by: John W. Linville commit 157ec8768457e8177d281ae099fb1c321c9a16d7 Author: Jouni Malinen Date: Mon Dec 22 16:45:54 2008 +0200 ath9k: Revert fix to TX status reporting for retries and MCS index This patch reverts "ath9k: Fix TX status reporting for retries and MCS index" because that change ended up breaking ath9k rate control. While the MCS index reporting to mac80211 was indeed fixed by the patch, it did not take into account that the ath9k rate control algorithm was updating private tables based on this index and the index comes through the rate control API call, i.e., based on mac80211 TX status call. In addition, it looks like the "fix" to remove +1 from TX status 'count' field was not correct based on ieee80211_tx_status() implementation that counts the total of count values, but starting from -1, not 0. The TX status reporting for frames using MCS needs to be fixed somehow, but it does not look like there is any easy fix for the ath9k rate control algorithm, so the best option now seems to be to revert the change and bring it back once the rate control code is cleaned up to handle this better. Signed-off-by: Jouni Malinen Signed-off-by: John W. Linville commit d57854bb1d78ba89ffbfdfd1c3e95b52ed7478ff Author: Christian Lamparter Date: Mon Dec 22 15:35:31 2008 +0100 minstrel: fix warning if lowest supported rate index is not 0 This patch fixes the following WARNING (caused by rix_to_ndx): " >WARNING: at net/mac80211/rc80211_minstrel.c:69 minstrel_rate_init+0xd2/0x33a [mac80211]() >[...] >Call Trace: > warn_on_slowpath+0x51/0x75 > _format_mac_addr+0x4c/0x88 > minstrel_rate_init+0xd2/0x33a [mac80211] > print_mac+0x16/0x1b > schedule_hrtimeout_range+0xdc/0x107 > ieee80211_add_station+0x158/0x1bd [mac80211] > nl80211_new_station+0x1b3/0x20b [cfg80211] The reason is that I'm experimenting with "g" only mode on a 802.11 b/g card. Therefore rate_lowest_index returns 4 (= 6Mbit, instead of usual 0 = 1Mbit). Since mi->r array is initialized with zeros in minstrel_alloc_sta, rix_to_ndx has a hard time to find the 6Mbit entry and will trigged the WARNING. Signed-off-by: Christian Lamparter Acked-by: Felix Fietkau Signed-off-by: John W. Linville commit d3a1db1c67735063921d9186145fc86164cf9781 Author: Senthil Balasubramanian Date: Mon Dec 22 16:31:58 2008 +0530 ath9k: Fix incorrect sequence numbering for unaggregated QoS Frame. This patch fixes an issue with the sequence numbers of unaggregated QoS frames, because of which the frames are handled in a different order at the AP and resulted in MLME REPLAYFAILURE. Signed-off-by: Senthil Balasubramanian Signed-off-by: John W. Linville commit f3d340c1d536fd3e5a104c99ac9c3f8694270d72 Author: Ivo van Doorn Date: Sun Dec 21 23:19:17 2008 +0100 Fix rt2500usb HW crypto: TKIP rt2500usb doesn't strip the IV/ICV data from received frames, so we don't need to set the RX_FLAG_IV_STRIPPED flag. We do need to set the RX_FLAG_MMIC_STRIPPED flag for all encryption types since the MMIC has been removed from the frame. After this patch TKIP Hardware crypto works for rt2500usb. WEP and AES are still failing. Signed-off-by: Ivo van Doorn Signed-off-by: John W. Linville commit b55eae3349ff5d6d088c7ab0151260d5e3dbd26d Author: Larry Finger Date: Sun Dec 21 15:40:33 2008 -0600 rtl8180: Fix to add STA mode To be compatible with mac80211 following "mac80211: only create default STA interface if supported", rtl8180 needs to set NL80211_IFTYPE_STATION in interface_modes. Signed-off-by: Larry Finger Reported-by: Fabio Rossi Tested-by: Piter PUNK Acked-by: Johannes Berg Signed-off-by: John W. Linville commit 1061787967db03975dc02030d6815811f4eb9231 Author: Daniel Wu Date: Sat Dec 20 10:53:29 2008 -0800 iwlwifi: Fix typo in iwl-commands.h for CCK rate bit range. My first (minor) patch, hopefully this is correct. Fix a typo in iwl-commands.h for CCK rates which needs 7 bits and not 4. Signed-off-by: Daniel Wu Signed-off-by: John W. Linville commit d15cfc3ac77388f1d588c57743d5f26b15eba9a8 Author: Ivo van Doorn Date: Sat Dec 20 11:00:23 2008 +0100 rt2x00: Fix segementation fault The queue_end() macro points to 1 position after the queue, which means that if we want to know if queue is at the end of the queue we should first increment the position and then check if it is a valid entry. This fixes a segmentation fault which only occurs when the device has enough endpoints to provide a dedicated endpoint for all TX queues (which likely won't happen for rt2500usb and rt73usb, but will happen for rt2800usb). Signed-off-by: Ivo van Doorn Signed-off-by: John W. Linville commit 00627f229c9807e4cb825a7ce36b886e2adf2229 Author: Christian Lamparter Date: Sat Dec 20 02:21:56 2008 +0100 p54usb: fix random traffic stalls (LM87) All LM87 firmwares need a explicit termination "packet", in oder to finish the pending transfer properly. Signed-off-by: Christian Lamparter Signed-off-by: John W. Linville commit c1d34c1dad76be6d515ef33e24eb92f10547b08b Author: Christian Lamparter Date: Sat Dec 20 02:21:37 2008 +0100 p54: crypto offload fixes This patch fixes two small flaws: - restore the original TKIP IV if we altered it. - reserve & initialize ICV with zeros. This is actually only necessary for some obsolete p54usb firmwares. But we don't know yet, if all devices are compatible with the new revisions. Signed-off-by: Christian Lamparter Signed-off-by: John W. Linville commit 706ea9b66935e341b063d860c9c8f279b37b5578 Author: Pavel Roskin Date: Fri Jan 9 12:31:48 2009 -0500 orinoco_cs: add ID for ARtem Onair Comcard 11 Reported by Michael Jarosch Signed-off-by: Pavel Roskin Signed-off-by: John W. Linville commit d732129b25b972c208c9705759c8c64f63a21800 Author: Samuel Ortiz Date: Thu Jan 8 10:20:00 2009 -0800 iwlwifi: Fix get_cmd_string() for REPLY_3945_RX 0x1b is a 3945 specific command, we should print it too when debugging. Signed-off-by: Samuel Ortiz Signed-off-by: Reinette Chatre Signed-off-by: John W. Linville commit 86060f0d691f5ee1b4ef4efe770b683e54ac438d Author: Sujith Date: Wed Jan 7 14:25:29 2009 +0530 ath9k: Fix chainmask handling bug The chainmasks have to be updated before setting the channel, since the HW reset routine uses them to set the appropriate registers. Signed-off-by: Sujith Signed-off-by: John W. Linville commit 20953ad68ee522f6420b63c200ac9b23f96d937a Author: David Kilroy Date: Wed Jan 7 00:23:55 2009 +0000 orinoco: take the driver lock in the rx tasklet Fix the warning reproduced below. We add to rx_list in interrupt context and remove elements in tasklet context. While removing elements we need to prevent the interrupt modifying the list. Note that "orinoco: Process bulk of receive interrupt in a tasklet" did not preserve locking semantics on what is now orinoco_rx. This patch reinstates the locking semantics and ensures it covers rx_list as well. This leads to additional cleanup required in free_orinocodev. [89479.105038] WARNING: at lib/list_debug.c:30 __list_add+0x8f/0xa0() [89479.105058] list_add corruption. prev->next should be next (dddb3568), but was cbc28978. (prev=dddb3568). [89479.106002] Pid: 15746, comm: X Not tainted 2.6.28-1avb #26 [89479.106020] Call Trace: [89479.106062] [] warn_slowpath+0x60/0x80 [89479.106104] [] ? native_sched_clock+0x20/0x70 [89479.106194] [] ? lock_release_holdtime+0x35/0x200 [89479.106218] [] ? __slab_alloc+0x550/0x560 [89479.106254] [] ? _spin_unlock+0x1d/0x20 [89479.106270] [] ? __slab_alloc+0x550/0x560 [89479.106302] [] ? delay_tsc+0x17/0x24 [89479.106319] [] ? __const_udelay+0x21/0x30 [89479.106376] [] ? hermes_bap_seek+0x112/0x1e0 [hermes] [89479.106396] [] ? trace_hardirqs_off+0xb/0x10 [89479.106418] [] ? __kmalloc_track_caller+0xb7/0x110 [89479.106448] [] ? dev_alloc_skb+0x1c/0x30 [89479.106465] [] ? dev_alloc_skb+0x1c/0x30 [89479.106482] [] __list_add+0x8f/0xa0 [89479.106551] [] orinoco_interrupt+0xcae/0x16c0 [orinoco] [89479.106574] [] ? tick_dev_program_event+0x33/0xb0 [89479.106594] [] ? native_sched_clock+0x20/0x70 [89479.106613] [] ? lock_release_holdtime+0x35/0x200 [89479.106662] [] ? trace_hardirqs_off+0xb/0x10 [89479.106892] [] ? usb_hcd_irq+0x97/0xa0 [usbcore] [89479.106926] [] handle_IRQ_event+0x29/0x60 [89479.106947] [] handle_level_irq+0x69/0xe0 [89479.106963] [] ? handle_level_irq+0x0/0xe0 [89479.106977] [] ? tcp_v4_rcv+0x633/0x6e0 [89479.107025] [] ? common_interrupt+0x28/0x30 [89479.107057] [] ? sk_run_filter+0x320/0x7a0 [89479.107078] [] ? list_del+0x21/0x90 [89479.107106] [] ? orinoco_rx_isr_tasklet+0x2ce/0x480 [orinoco] [89479.107131] [] ? __lock_acquire+0x160/0x1650 [89479.107151] [] ? native_sched_clock+0x20/0x70 [89479.107169] [] ? lock_release_holdtime+0x35/0x200 [89479.107200] [] ? irq_enter+0xa/0x60 [89479.107217] [] ? do_IRQ+0xd2/0x130 [89479.107518] [] ? restore_nocheck_notrace+0x0/0xe [89479.107542] [] ? __do_softirq+0x0/0x110 [89479.107561] [] ? trace_hardirqs_on_caller+0x74/0x140 [89479.107583] [] ? trace_hardirqs_on_thunk+0xc/0x10 [89479.107602] [] ? tasklet_action+0x27/0x90 [89479.107620] [] ? trace_hardirqs_on_caller+0x74/0x140 [89479.107638] [] ? tasklet_action+0x43/0x90 [89479.107655] [] ? __do_softirq+0x6f/0x110 [89479.107674] [] ? __do_softirq+0x0/0x110 [89479.107685] [] ? handle_level_irq+0x0/0xe0 [89479.107715] [] ? irq_exit+0x5d/0x80 [89479.107732] [] ? do_IRQ+0xd2/0x130 [89479.107747] [] ? sysenter_exit+0xf/0x16 [89479.107765] [] ? trace_hardirqs_on_caller+0xfd/0x140 [89479.107782] [] ? common_interrupt+0x28/0x30 [89479.107797] ---[ end trace a1fc0a52df4a729d ]--- Reported-by: Andrey Borzenkov Signed-off-by: David Kilroy Signed-off-by: John W. Linville commit 176ddc7dcfe3fd93778f52abf9a947d92932f19e Author: Jouni Malinen Date: Mon Jan 5 13:51:24 2009 +0200 ath9k: Enforce module build if rfkill is a module CONFIG_ATH9K=y results in build issues if CONFIG_RFKILL=m since ath9k does not depend on rfkill in kconfig (i.e., CONFIG_RFKILL is used to select whether to enable rfkill in ath9k), but uses its functions if rfkill is enabled. Enforce ath9k to be build as a module if CONFIG_RFKILL=m to avoid this invalid configuration. Signed-off-by: Jouni Malinen Signed-off-by: John W. Linville commit 878e6a432f85690a2c0d88d96f177e54ff1d4a57 Author: Michiel Date: Sun Jan 4 17:22:28 2009 -0600 p54usb: Add USB ID for Thomson Speedtouch 121g Add the USB ID for Thomson Speedtouch 121g to p54usb. Signed-off-by: Michiel Signed-off-by: Larry Finger Signed-off-by: John W. Linville commit 3ea96463156123cbfd09ac412012a87fef068830 Author: Ivo van Doorn Date: Sun Jan 4 17:33:25 2009 +0100 rt2x00: Fix TX short preamble detection The short preamble mode was not correctly detected during TX, rt2x00 used the rate->hw_value_short field but mac80211 is not using this field that way. Instead the flag IEEE80211_TX_RC_USE_SHORT_PREAMBLE should be used to determine if the frame should be send out using short preamble or not. Signed-off-by: Ivo van Doorn Signed-off-by: John W. Linville commit 3be36ae223271f9c2cfbe7406846c8fdcd2f50c3 Author: Stefan Lippers-Hollmann Date: Sun Jan 4 01:10:49 2009 +0100 rt2x00: add USB ID for the Linksys WUSB200. add USB ID for the Linksys WUSB200 Wireless-G Business USB Adapter to rt73usb. Signed-off-by: Stefan Lippers-Hollmann Cc: stable Signed-off-by: John W. Linville commit 51fb80fefe736db1182551fec6528d1ef095b0ea Author: Larry Finger Date: Sat Jan 3 12:45:12 2009 -0600 p54usb: Fix to prevent SKB memory allocation errors with 4K page size On x86_64 architecture with 4K page size and SLUB debugging enabled, stress testing on p54usb has resulted in skb allocation failures of O(1) and extreme page fragmentation. Reducing rx_mtu fixes this problem by reducing the size of all receive skb allocations to be of O(0). This change does not impact performance in any way. Signed-off-by: Larry Finger Signed-off-by: John W. Linville commit d1b29405bd3590bc97c4d3ff2c9139ca55e56ccd Author: Andrew Price Date: Fri Jan 2 08:05:27 2009 +0000 rt2x00: Fix radio LED type check Since "rt2x00: Fix LED state handling", rt2x00leds_led_radio wrongly checks that the LED type is LED_TYPE_ASSOC. This patch makes it check for LED_TYPE_RADIO once again. Signed-off-by: Andrew Price Acked-by: Ivo van Doorn Signed-off-by: John W. Linville commit 8476a6571005f9440adda08ca4d6c69c7f4db30b Author: Erik Ekman Date: Tue Dec 30 22:49:28 2008 +0100 Wireless: Fix Kconfig fact error Raytheon cards use 2.4 GHz, not 2.4 MHz. See http://www.hpl.hp.com/personal/Jean_Tourrilhes/Linux/Linux.Wireless.drivers.html#Raylink Signed-off-by: Erik Ekman Signed-off-by: John W. Linville commit e8cea892dff8e3ebed42954c46730309b617196f Author: Ingo Molnar Date: Mon Jan 12 19:36:59 2009 +0100 Revert "i386: add TRACE_IRQS_OFF for the nmi" This reverts commit e0c7317557c8fc8eacf611e30c2a80f4e24e47a3. This patch was wrong, as lockdep (and thus the irq state tracer) aren't nmi safe. People are already seeing lockdep warnings due to this. Signed-off-by: Ingo Molnar commit 50c668d678fd01284799a6e4f1b91829d83cb9ed Author: Ingo Molnar Date: Mon Jan 12 10:49:53 2009 +0100 Revert "cpumask: use work_on_cpu in acpi-cpufreq.c for drv_read and drv_write" This reverts commit 7503bfbae89eba07b46441a5d1594647f6b8ab7d. Dieter Ries reported bootup soft-hangs and bisected it back to this commit, and reverting this commit gave him a working system. The commit introduces work_on_cpu() use into the cpufreq code, but that is subtly problematic from a lock hierarchy POV: the hotplug-cpu lock is an highlevel lock that is taken before lowlevel locks, and in this codepath we are called with the policy lock taken. Dieter did not have lockdep enabled so we dont have a nice stack trace proof for this, but using work_on_cpu() in such a lowlevel place certainly looks wrong, so we revert the patch. work_on_cpu() needs to be reworked to be more generally usable. Reported-by: Dieter Ries Tested-by: Dieter Ries Signed-off-by: Ingo Molnar commit 2bc1379712e74c5b99adaa6db433c14d8841ab4f Author: Jaswinder Singh Rajput Date: Sun Jan 11 20:34:47 2009 +0530 x86: fix apic.c build error on latest git Fix this by reintroducing asm/smp.h include in apic.c - later on I will fix this by removing non-smp data from smp.h Also fix the __inquire_remote_apic() prototype/inline. Signed-off-by: Jaswinder Singh Rajput Signed-off-by: Ingo Molnar commit 4884d8e6a05026ec906355436cea9dc1acb1d09e Author: Jaswinder Singh Rajput Date: Sun Jan 11 18:38:55 2009 +0530 x86: fix mpparse.c build error on latest git Fix this by reintroducing asm/smp.h include in mpparse.c - later on I will fix this by removing non-smp data from smp.h. Reported-by: Petr Titera Signed-off-by: Jaswinder Singh Rajput Signed-off-by: Ingo Molnar commit f313e12308f7c5ea645f18e759d104d088b18615 Author: Andi Kleen Date: Fri Jan 9 12:17:43 2009 -0800 x86: avoid theoretical vmalloc fault loop Ajith Kumar noticed: I was going through the vmalloc fault handling for x86_64 and am unclear about the following lines in the vmalloc_fault() function. pgd = pgd_offset(current->mm ?: &init_mm, address); pgd_ref = pgd_offset_k(address); Here the intention is to get the pgd corresponding to the current process and sync it up with the pgd in init_mm(obtained from pgd_offset_k). However, for kernel threads current->mm is NULL and hence pgd = pgd_offset(init_mm, address) = pgd_ref which means the fault handler returns without setting the pgd entry in the MM structure in the context of which the kernel thread has faulted. This could lead to never-ending faults and busy looping of kernel threads like pdflush. So, shouldn't the pgd = pgd_offset(current->mm ?: &init_mm, address); be pgd = pgd_offset(current->active_mm ?: &init_mm, address); We can use active_mm unconditionally because it should be always set. Signed-off-by: Andi Kleen Signed-off-by: Andrew Morton Signed-off-by: Ingo Molnar commit 6e96281412f2f757abe623e08a9577e2bbd3402f Author: Ingo Molnar Date: Mon Jan 12 16:04:37 2009 +0100 smp_call_function_single(): be slightly less stupid, fix #2 fix m68k build failure: tip/kernel/up.c: In function 'smp_call_function_single': tip/kernel/up.c:16: error: dereferencing pointer to incomplete type make[2]: *** [kernel/up.o] Error 1 Signed-off-by: Ingo Molnar commit a04b9f845164a745e8773d916d45b0ea1a67726d Merge: 98007c2 da17490 Author: Russell King Date: Mon Jan 12 13:51:40 2009 +0000 Merge branch 'for-rmk' of git://git.pengutronix.de/git/imx/linux-2.6 commit 98007c230eb1e85ff5d49b4a697835680483dafd Author: Nicolas Pitre Date: Fri Jan 9 15:28:55 2009 +0100 [ARM] 5364/1: allow flush_ioremap_region() to be used from modules Without this, the pxa2xx-flash driver cannot be used as a module. Reported-by: Chris Lawrence Signed-off-by: Nicolas Pitre Signed-off-by: Russell King commit d672d2fc13242f9284345cb7e4c5a32cd5edefa3 Author: Russell King Date: Sat Jan 10 11:34:39 2009 +0000 [ARM] w90x900: fix build errors and warnings Fix: arch/arm/mach-w90x900/mach-w90p910evb.c:65: error: 'W90X900_PA_UART' undeclared here (not in a function) and silence warnings caused by inappropriate inclusion of mach/system.h. Signed-off-by: Russell King commit 05f93414fad0f22e7c6f766adef8d5e72a1d3c67 Merge: a24ba44 16b2857 Author: Takashi Iwai Date: Mon Jan 12 14:06:01 2009 +0100 Merge branch 'topic/usb-caiaq' into for-linus commit a24ba44cf2adf166bbb1028d57ca0f4b636a1ef7 Merge: 9229f43 6acaed3 Author: Takashi Iwai Date: Mon Jan 12 14:05:55 2009 +0100 Merge branch 'topic/hda' into for-linus commit 9229f43f48d1b454a4e8b83985d0195b1760a550 Merge: c597650 c6d1662 Author: Takashi Iwai Date: Mon Jan 12 14:05:50 2009 +0100 Merge branch 'topic/asoc' into for-linus commit 6d612b0f943289856c6e8186c564cda922cd040e Author: Peter Zijlstra Date: Mon Jan 12 12:52:23 2009 +0100 locking, hpet: annotate false positive warning Alexander Beregalov reported that this warning is caused by the HPET code: > hpet0: at MMIO 0xfed00000, IRQs 2, 8, 0 > hpet0: 3 comparators, 64-bit 14.318180 MHz counter > ODEBUG: object is on stack, but not annotated > ------------[ cut here ]------------ > WARNING: at lib/debugobjects.c:251 __debug_object_init+0x2a4/0x352() > Bisected down to 26afe5f2fbf06ea0765aaa316640c4dd472310c0 > (x86: HPET_MSI Initialise per-cpu HPET timers) The commit is fine - but the on-stack workqueue entry needs annotation. Reported-and-bisected-by: Alexander Beregalov Signed-off-by: Peter Zijlstra Tested-by: Alexander Beregalov Signed-off-by: Ingo Molnar commit 24dafdf00b630cb827875c187f2a493280cab078 Merge: fae3e7f ae04d14 Author: Karsten Keil Date: Mon Jan 12 13:16:17 2009 +0100 Merge branch 'master' of git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux-2.6 into for_2.6.29 commit 95156f0051cba60ec674bbaa5cf7dc74a74c5612 Author: Peter Zijlstra Date: Mon Jan 12 13:02:11 2009 +0100 lockdep, mm: fix might_fault() annotation Some code (nfs/sunrpc) uses socket ops on kernel memory while holding the mmap_sem, this is safe because kernel memory doesn't get paged out, therefore we'll never actually fault, and the might_fault() annotations will generate false positives. Reported-by: "J. Bruce Fields" Signed-off-by: Peter Zijlstra Signed-off-by: Ingo Molnar commit 3a03ac1a0223f779a3de313523408ddb099e5679 Author: Dave Airlie Date: Sun Jan 11 09:03:49 2009 +1000 drm/i915: setup sarea properly in master_priv If we are running DRI1 userspace, we really need to set the sarea up properly. thanks to Richard for finding/testing this. Signed-off-by: Richard Purdie Signed-off-by: Dave Airlie commit 01e3eb82278bf45221fc38b391bc5ee0f6a314d6 Author: Ingo Molnar Date: Mon Jan 12 13:00:50 2009 +0100 Revert "sched: improve preempt debugging" This reverts commit 7317d7b87edb41a9135e30be1ec3f7ef817c53dd. This has been reported (and bisected) by Alexey Zaytsev and Kamalesh Babulal to produce annoying warnings during bootup on both x86 and powerpc. kernel_locked() is not a valid test in IRQ context (we update the BKL's ->lock_depth and the preempt count separately and non-atomicalyy), so we cannot put it into the generic preempt debugging checks which can run in IRQ contexts too. Reported-and-bisected-by: Alexey Zaytsev Reported-and-bisected-by: Kamalesh Babulal Signed-off-by: Ingo Molnar commit da17490c0d4f9fd38761e6a7e95ac0bbd9f45ad9 Author: Sascha Hauer Date: Mon Jan 12 12:14:40 2009 +0100 [ARM] i.MX add missing include Signed-off-by: Sascha Hauer commit 96cb767239d12ce98e66892ccc82787fbc63505f Author: Sascha Hauer Date: Mon Jan 12 12:09:59 2009 +0100 [ARM] i.MX: fix breakage from commit 278892736e99330195c8ae5861bcd9d791bbf19e Fix breakage from commit 278892736e99330195c8ae5861bcd9d791bbf19e: i.MX Framebuffer: rename imxfb_mach_info to imx_fb_platform_data Forgot to rename the parts in arch/arm/mach-imx/generic.c Signed-off-by: Sascha Hauer commit 68b5e4891c2a7a86d8fe65c29c025d7a7f2b0e35 Author: Sascha Hauer Date: Mon Jan 12 12:07:32 2009 +0100 [ARM] i.MX: remove LCDC controller register definitions from imx-regs.h The LCDC controller register definitions are now part of the driver itself, so remove them from imx-regs.h to avoid redefitions. Signed-off-by: Sascha Hauer commit 6acaed38a32e8571e92cfc832b971f9e4450c207 Author: Takashi Iwai Date: Mon Jan 12 10:09:24 2009 +0100 ALSA: hda - Use own workqueue snd-hda-intel driver used schedule_work() fot the delayed DMA pointer updates, but this has several potential problems: - it may block other eventsd works longer - it may deadlock when probing fails and flush_scheduled_work() is called during probe callback (as probe callback itself could be invoked from eventd) This patch adds an own workq for each driver instance to solve these problems. Signed-off-by: Takashi Iwai commit 4b558991049c12689e5fd645222864b8a80730f1 Author: Wu Fengguang Date: Mon Jan 12 09:18:58 2009 +0800 ALSA: hda - add support for Intel DX58SO board The Intel DX58SO board works fine with model ALC883_3ST_6ch_INTEL. Signed-off-by: Wu Fengguang Signed-off-by: Takashi Iwai commit ae04d1401577bb63151480a053057de58b8e10bb Author: Benjamin Herrenschmidt Date: Mon Jan 12 11:22:01 2009 +1100 powerpc: Fix cpufreq drivers after cpufreq core changes This updates the cpufreq drivers in arch/powerpc so they build again after the core cpufreq changes that broke them in commit in835481d9bcd65720b473db6b38746a74a3964218. Signed-off-by: Benjamin Herrenschmidt Signed-off-by: Linus Torvalds commit c225aa57ff4ffe715df4692676b77c815a337236 Author: Simon Holm Thøgersen Date: Sun Jan 11 22:34:01 2009 -0500 ext4: fix wrong use of do_div the following warning: fs/jbd2/journal.c: In function ‘jbd2_seq_info_show’: fs/jbd2/journal.c:850: warning: format ‘%lu’ expects type ‘long unsigned int’, but argument 3 has type ‘uint32_t’ is caused by wrong usage of do_div that modifies the dividend in-place and returns the quotient. So not only would an incorrect value be displayed, but s->journal->j_average_commit_time would also be changed to a wrong value! Fix it by using div_u64 instead. Signed-off-by: Simon Holm Thøgersen Signed-off-by: "Theodore Ts'o" commit 5f877607cdfe8b60bf96fb96e527e0ce2a21e68b Author: Alan Cox Date: Sun Jan 11 19:52:19 2009 +0000 [MTD] map_rom has NULL erase pointer Which means if inftl or similar are loaded with it (which is a dumb thing to do admittedly) it may oops. Closes #8108 [dwmw2: change error to -EROFS to match write-protected flash] Signed-off-by: Alan Cox Signed-off-by: David Woodhouse commit fae3e7fba4c664b3a15f2cf15ac439e8d754afc2 Author: Karsten Keil Date: Sun Jan 11 18:36:30 2009 +0100 Fix small typo Remove additional ; Signed-off-by: Karsten Keil commit 21c150a6d2c39fe6975e91437095a2c31efdb550 Author: Ilpo Järvinen Date: Fri Jan 9 12:22:52 2009 -0800 misdn: indentation and braces disagree - add braces This is not buggy due to plain luck as there is only one entry currently in the element_attributes. Signed-off-by: Ilpo Järvinen Signed-off-by: Andrew Morton Signed-off-by: Karsten Keil commit 1916ebb2ddad78ae6405b1291acb9f9de212ec49 Author: Ilpo Järvinen Date: Fri Jan 9 12:22:51 2009 -0800 misdn: one handmade ARRAY_SIZE converted Defined as: static struct device_attribute element_attributes[] = { Signed-off-by: Ilpo Järvinen Signed-off-by: Andrew Morton Signed-off-by: Karsten Keil commit 20b788045b73e81ace2498eae42220e64547d6d2 Author: Julia Lawall Date: Fri Jan 9 12:22:53 2009 -0800 drivers/isdn/hardware/mISDN: move a dereference below a NULL test In each case, if the NULL test is necessary, then the dereference should be moved below the NULL test. The semantic patch that makes this change is as follows: (http://www.emn.fr/x-info/coccinelle/) // @@ type T; expression E; identifier i,fld; statement S; @@ - T i = E->fld; + T i; ... when != E when != i if (E == NULL) S + i = E->fld; // Signed-off-by: Julia Lawall Signed-off-by: Andrew Morton Signed-off-by: Karsten Keil commit f27b8c356c4fab9ad222b45bc1cd1c750e64d97b Author: Ilpo Järvinen Date: Fri Jan 9 12:22:50 2009 -0800 indentation & braces disagree - add braces Nothing is broken because of this - currently. Signed-off-by: Ilpo Järvinen Signed-off-by: Karsten Keil Signed-off-by: Andrew Morton commit 9785a8f8db3df0605fa680f44185957aff9d8776 Author: Karsten Keil Date: Sun Jan 11 17:58:13 2009 +0100 Make parameter debug writable Overseen in the last patch series. Signed-off-by: Karsten Keil commit 57de16e612d63138bd2c618449af9d8312466e25 Author: Martin Bachem Date: Sun Oct 26 13:30:09 2008 +0100 BUGFIX: used NULL pointer at ioctl(sk,IMGETDEVINFO,&devinfo) when devinfo.id not registered daxtar example # modprobe hfcsusb daxtar example # modprobe mISDN_l1loop daxtar example # ./misdnportinfo Found 3 devices id: 0 Dprotocols: 00000006 Bprotocols: 0000000e protocol: 0 nrbchan: 2 name: HFC-S_USB.1 id: 1 Dprotocols: 00000006 Bprotocols: 0000000e protocol: 0 nrbchan: 2 name: mISDN_l1loop.1 id: 2 Dprotocols: 00000006 Bprotocols: 0000000e protocol: 0 nrbchan: 2 name: mISDN_l1loop.2 daxtar example # rmmod hfcsusb daxtar example # ./misdnportinfo Found 2 devices *Segmentation* *fault* dmesg: [ 9914.939718] BUG: unable to handle kernel NULL pointer dereference at 000000d4 [ 9914.939721] IP: [] :mISDN_core:get_mdevice+0x19/0x22 [ 9914.939729] *pde = 00000000 [ 9914.939732] Oops: 0000 [#14] PREEMPT SMP [ 9914.939734] Modules linked in: mISDN_l1loop mISDN_core vmnet vmblock vmci vmmon coretemp w83627ehf hwmon_vid rfcomm l2cap blue tooth usbhid snd_usb_audio snd_usb_lib snd_rawmidi snd_hwdep fuse nvidia(P) uhci_hcd i2c_i801 ehci_hcd snd_hda_intel atl1 usbcore i2c_core parport_seria l [last unloaded: hfcsusb] [ 9914.939751] Pid: 29618, comm: misdnportinfo Tainted: P D (2.6.27.3 #5) [ 9914.939753] EIP: 0060:[] EFLAGS: 00210246 CPU: 0 [ 9914.939758] EIP is at get_mdevice+0x19/0x22 [mISDN_core] [ 9914.939760] EAX: 00000000 EBX: f8fa791c ECX: f6afaa58 EDX: f7960cf4 [ 9914.939762] ESI: 80044944 EDI: bfc2e62c EBP: bfc2e62c ESP: f5adbef4 [ 9914.939763] DS: 007b ES: 007b FS: 00d8 GS: 0033 SS: 0068 [ 9914.939765] Process misdnportinfo (pid: 29618, ti=f5ada000 task=f6bec430 task.ti=f5ada000) [ 9914.939767] Stack: f8f9f4e0 00000000 f8f9f867 bfc2e62c 0000000a c02461e8 00200246 c042dde8 [ 9914.939771] 00000003 c042dde4 00000000 00000001 00200082 c0114775 00000000 00000000 [ 9914.939775] 00000003 f7088010 00200282 f8fa791c 80044944 bfc2e62c bfc2e62c c02f6615 [ 9914.939780] Call Trace: [ 9914.939782] [] _get_mdevice+0x0/0x18 [mISDN_core] [ 9914.939789] [] base_sock_ioctl+0x7a/0x129 [mISDN_core] [ 9914.939789] [] opost+0x171/0x182 [ 9914.939789] [] __wake_up+0x29/0x39 [ 9914.939789] [] sock_ioctl+0x1b5/0x1d9 [ 9914.939789] [] sock_ioctl+0x0/0x1d9 [ 9914.939789] [] vfs_ioctl+0x1c/0x5d [ 9914.939789] [] do_vfs_ioctl+0x23e/0x24e [ 9914.939789] [] sys_ioctl+0x2c/0x45 [ 9914.939789] [] sysenter_do_call+0x12/0x21 [ 9914.939789] [] pci_fixup_i450gx+0x4e/0x56 [ 9914.939789] ======================= [ 9914.939789] Code: 00 68 02 f0 f9 f8 e8 ae b4 2c c7 8b 44 24 04 5a 59 c3 83 ec 04 31 d2 89 04 24 89 e1 b8 ac df fa f8 68 e0 f4 f9 f8 e8 4a b5 2c c7 <8b> 80 d4 00 00 00 5a 59 c3 53 89 cb 8d 90 9c 00 00 00 89 c8 e8 [ 9914.939789] EIP: [] get_mdevice+0x19/0x22 [mISDN_core] SS:ESP 0068:f5adbef4 [ 9914.939858] ---[ end trace 50e18a715b019424 ]--- Signed-off-by: Martin Bachem Signed-off-by: Karsten Keil commit 783adf42cf039083dd3c734c07c3bdc707e2bb15 Author: Steven Noonan Date: Sun Jan 11 01:04:21 2009 -0800 kernel/fork.c: unused variable 'ret' Removed the unused variable. Signed-off-by: Steven Noonan Signed-off-by: Ingo Molnar commit d19b85db9d5c44a4c21dcb10d6fbadaa4425ab2a Merge: 490dea4 c597650 Author: Ingo Molnar Date: Sun Jan 11 15:34:05 2009 +0100 Merge commit 'v2.6.29-rc1' into timers/urgent commit 9d0793370987b98708d2f75ee3bba7c1008d8512 Author: David Miller Date: Sun Jan 11 04:06:40 2009 -0800 sparc64: Fix cpumask related build failure cpumask_of_pcibus() was missing - this triggers on NUMA builds. Signed-off-by: David S. Miller Signed-off-by: Ingo Molnar commit fd2ab30b65e961b974ae0bc71e0d47d6b35e0968 Author: Steven Noonan Date: Sun Jan 11 01:04:22 2009 -0800 kernel/sched.c: add missing forward declaration for 'double_rq_lock' Impact: build fix on certain configs Added 'double_rq_lock' forward declaration, allowing double_rq_lock to be used in _double_lock_balance(). Signed-off-by: Steven Noonan Signed-off-by: Ingo Molnar commit df051434f1dfc93ec2e1c1d186bb87cb3db9dcdf Merge: 805194c c597650 Author: Ingo Molnar Date: Sun Jan 11 13:03:08 2009 +0100 Merge commit 'v2.6.29-rc1' into sched/urgent commit 57c1a24ee276a33190008243f986419e122c0dea Author: Alexey Korolev Date: Tue Jan 6 17:36:09 2009 +0000 [MTD] [LPDDR] qinfo_probe depends on lpddr Signed-off-by: Alexey Korolev Signed-off-by: David Woodhouse commit cde15b5927fea3e1b4de0b277008cf273d8b000b Author: Ralf Baechle Date: Tue Jan 6 23:07:20 2009 +0000 MIPS: Only write c0_framemask on CPUs which have this register. Signed-off-by: Ralf Baechle commit 61f9c58da57a80b0df1ced18a28cbbaebd4d417a Author: Manuel Lauss Date: Sun Dec 21 09:26:27 2008 +0100 MIPS: Alchemy: new userspace suspend interface for development boards. Replace the current sysctl-based suspend interface with a new sysfs- based one which also uses the Linux-2.6 suspend model. To configure wakeup sources, a subtree for the demoboards is created under /sys/power/db1x: sys/ `-- power `-- db1x |-- gpio0 |-- gpio1 |-- gpio2 |-- gpio3 |-- gpio4 |-- gpio5 |-- gpio6 |-- gpio7 |-- timer |-- timer_timeout |-- wakemsk `-- wakesrc The nodes 'gpio[0-7]' and 'timer' configure the GPIO0..7 and M2 bits of the SYS_WAKEMSK (wakeup source enable) register. Writing '1' enables a wakesource, 0 disables it. The 'timer_timeout' node holds the timeout in seconds after which the TOYMATCH2 event should wake the system. The 'wakesrc' node holds the SYS_WAKESRC register after wakeup (in hex), the 'wakemsk' node can be used to get/set the wakeup mask directly. For example, to have the timer wake the system after 10 seconds of sleep, the following must be done in userspace: echo 10 > /sys/power/db1x/timer_timeout echo 1 > /sys/power/db1x/timer echo mem > /sys/power/sleep This patch also removes the homebrew CPU frequency switching code. I don't understand how it could have ever worked reliably; it does not communicate the clock changes to peripheral devices other than uarts. Signed-off-by: Manuel Lauss Signed-off-by: Ralf Baechle create mode 100644 arch/mips/alchemy/devboards/pm.c commit ac15dad061d351281b0bafbae1ecdd84e601435a Author: Manuel Lauss Date: Sun Dec 21 09:26:26 2008 +0100 MIPS: Alchemy: dbdma suspend/resume support. Implement suspend/resume for DBDMA controller and its channels. Signed-off-by: Manuel Lauss Signed-off-by: Ralf Baechle commit 564365b0fc3395ed55501ef25705664888cebdbc Author: Manuel Lauss Date: Sun Dec 21 09:26:25 2008 +0100 MIPS: Alchemy: Fix up PM code on Au1550/Au1200 Au1550/Au1200 have a different memory controller which requires additi- onal code to properly put memory to sleep (code taken from AMD/RMI's Linux-2.6.11 source package). Also fix up the remaining pm-related paths to compile on Au1200/Au1550 platforms. Signed-off-by: Manuel Lauss Signed-off-by: Ralf Baechle commit 2699cdfb765c3b7d77d28ea3bc7d84e486697177 Author: Manuel Lauss Date: Sun Dec 21 09:26:24 2008 +0100 MIPS: Alchemy: move calc_clock function. Now that nothing in time.c depends on calc_clock, it can be moved to clocks.c where it belongs. While at it, give it a better non-generic name and call it as soon as possible in plat_mem_init. Signed-off-by: Manuel Lauss Signed-off-by: Ralf Baechle commit 0c694de12b54fa96b9555e07603f567906ce21c8 Author: Manuel Lauss Date: Sun Dec 21 09:26:23 2008 +0100 MIPS: Alchemy: RTC counter clocksource / clockevent support. Add support for the 32 kHz counter1 (RTC) as clocksource / clockevent device. As a nice side effect, this also enables use of the 'wait' instruction for runtime idle power savings. If the counters aren't enabled/working properly, fall back on the cp0 counter clock code. Signed-off-by: Manuel Lauss Signed-off-by: Ralf Baechle commit 779e7d41ad004946603da139da99ba775f74cb1c Author: Manuel Lauss Date: Sun Dec 21 09:26:22 2008 +0100 MIPS: make cp0 counter clocksource/event usable as fallback. The current mips clock build infrastructure lets a system only use either the MIPS cp0 counter or a SoC specific timer as a clocksource / clockevent device. This patch renames the core cp0 counter clocksource / clockevent functions from mips_* to r4k_* and updates the wrappers in asm-mips/time.h to call these renamed functions instead. Chips which can detect whether it is safe to use a chip-specific timer can now fall back on the cp0 counter if necessary and possible (e.g. Alchemy with a follow-on patch). Existing behaviour is not changed in any way. Signed-off-by: Manuel Lauss Signed-off-by: Ralf Baechle commit 074cf656700ddd1d2bd7f815f78e785418beb898 Author: Manuel Lauss Date: Sun Dec 21 09:26:21 2008 +0100 MIPS: Alchemy: remove cpu_table. Remove the cpu_table: - move detection of whether c0_config[OD] is read-only and should be set to fix various chip errata to au1000 headers. - move detection of write-only sys_cpupll to au1000 headers. - remove the BCLK switching code: Activation of this features should be left to the boards using the chips since it also affects external devices tied to BCLK, and only the board designers know whether it is safe to enable. Signed-off-by: Manuel Lauss Signed-off-by: Ralf Baechle delete mode 100644 arch/mips/alchemy/common/cputable.c commit 1820ec1d2b993f3ec00169e881504aa4541a9bf7 Author: Manuel Lauss Date: Sun Dec 21 09:26:20 2008 +0100 MIPS: Alchemy: remove get/set_au1x00_lcd_clock(). There are no in-tree users, so remove them. Signed-off-by: Manuel Lauss Signed-off-by: Ralf Baechle commit 558d1de8ba9ebb1cc3f3062f1371b9330772164f Author: Manuel Lauss Date: Sun Dec 21 09:26:19 2008 +0100 MIPS: Print irq handler description Add the name set by set_irq_chip_and_handler_name() to the output of /proc/interrupts, like so: db1200 ~ # cat /proc/interrupts CPU0 8: 52 Alchemy-IC0-hilevel serial 10: 171 Alchemy-IC0-hilevel au1xxx-mmc 11: 47 Alchemy-IC0-hilevel Au1xxx dbdma 18: 1 Alchemy-IC0-hilevel au1550-spi 29: 1250997 Alchemy-IC0-riseedge timer 37: 211 Alchemy-IC0-hilevel ehci_hcd:usb1, ohci_hcd:usb2 38: 0 Alchemy-IC0-hilevel lcd 72: 2623 DB1200 CPLD-level ide0 73: 257 DB1200 CPLD-level eth0 84: 1 DB1200 CPLD-level sd_insert 85: 0 DB1200 CPLD-level sd_eject ERR: 0 Signed-off-by: Manuel Lauss Signed-off-by: Ralf Baechle commit 197b0d31eb3e82f598bf13da6ee777d906c611f3 Author: Manuel Lauss Date: Sun Dec 21 09:26:18 2008 +0100 MIPS: Alchemy: pb1200: update CPLD cascade irq handler. Tested on Db1200. Signed-off-by: Manuel Lauss Signed-off-by: Ralf Baechle commit 785e3268e2951d4c0c21417c8e5d8004b2ab2480 Author: Manuel Lauss Date: Sun Dec 21 09:26:17 2008 +0100 MIPS: Alchemy: update core interrupt code. This patch attempts to modernize core Alchemy interrupt handling code. - add irq_chips for irq controllers instead of irq type, - add a set_type() hook to change irq trigger type during runtime, - add a set_wake() hook to control GPIO0..7 based wakeup, - use linux' IRQF_TRIGGER_ constants instead of homebrew ones, - enable GENERIC_HARDIRQS_NO__DO_IRQ. - simplify plat_irq_dispatch - merge au1xxx_irqmap into irq.c file, the only place where its contents are referenced. - board_init_irq() is now mandatory for every board; use it to register the remaining (gpio-based) interrupt sources; update all boards accordingly. Run-tested on Db1200 and other Au1200 based platforms. Signed-off-by: Manuel Lauss Signed-off-by: Ralf Baechle delete mode 100644 arch/mips/alchemy/common/au1xxx_irqmap.c commit 7179380ee9bdeb5fa2ff07581f512fe0f5382e5b Author: Manuel Lauss Date: Sun Dec 21 09:26:16 2008 +0100 MIPS: Alchemy: move commandline mangling out of common code Not every alchemy-based board might want these options forced on it, and most of this stuff seems to be intended for devboard code anyway. Remove commandline mangling code out of common chip code and instead add relevant sections to all in-tree boards to not change existing behaviour. Signed-off-by: Manuel Lauss Signed-off-by: Ralf Baechle commit 23ba25d56606eec6fabc37c1efcbd48837dc9adc Author: Manuel Lauss Date: Sun Dec 21 09:26:15 2008 +0100 MIPS: Alchemy: devboards: consolidate files Share some code and merge small files: - Extract the prom init code from all devboard files (they only differ in memory configuration). - Merge the irq configuration into board setup code. - Merge smaller files into board setup code. Signed-off-by: Manuel Lauss Signed-off-by: Ralf Baechle delete mode 100644 arch/mips/alchemy/devboards/db1x00/init.c delete mode 100644 arch/mips/alchemy/devboards/pb1000/init.c delete mode 100644 arch/mips/alchemy/devboards/pb1000/irqmap.c delete mode 100644 arch/mips/alchemy/devboards/pb1100/init.c delete mode 100644 arch/mips/alchemy/devboards/pb1100/irqmap.c delete mode 100644 arch/mips/alchemy/devboards/pb1200/init.c delete mode 100644 arch/mips/alchemy/devboards/pb1500/init.c delete mode 100644 arch/mips/alchemy/devboards/pb1500/irqmap.c delete mode 100644 arch/mips/alchemy/devboards/pb1550/init.c delete mode 100644 arch/mips/alchemy/devboards/pb1550/irqmap.c create mode 100644 arch/mips/alchemy/devboards/prom.c commit 58e75e86cf9af1130b3c628d924e6df0bc72832f Author: Manuel Lauss Date: Sun Dec 21 09:26:14 2008 +0100 MIPS: Alchemy: Move development board code to common subdirectory This should ease sharing of common devboard code. Signed-off-by: Manuel Lauss Signed-off-by: Ralf Baechle commit a86c7f72454c4e855d5d6c80ed9f7f2ac55b001a Author: David Daney Date: Thu Dec 11 15:33:38 2008 -0800 MIPS: Add Cavium OCTEON to arch/mips/Kconfig Signed-off-by: Tomaso Paoletti Signed-off-by: David Daney Signed-off-by: Ralf Baechle commit 551d9304de60229080b5bf97230728c1c1bc8260 Author: David Daney Date: Thu Dec 11 15:33:37 2008 -0800 MIPS: Add defconfig for Cavium OCTEON. Signed-off-by: David Daney Signed-off-by: Tomaso Paoletti Signed-off-by: Ralf Baechle commit 843aef4930b9953c9ca624a990b201440304b56f Author: David Daney Date: Thu Dec 11 15:33:36 2008 -0800 MIPS: Adjust the dma-common.c platform hooks. We add a dev parameter to plat_unmap_dma_mem(), and hooks for plat_dma_supported() and plat_extra_sync_for_device() which should be nop changes for all existing targets. Signed-off-by: David Daney Signed-off-by: Ralf Baechle commit ec454d8c4fee3b2feb87e594d806c0987c5dd538 Author: David Daney Date: Thu Dec 11 15:33:35 2008 -0800 MIPS: Add Cavium OCTEON slot into proper tlb category. Expand the case statement for build_tlb_write_entry so that it does the right thing on Cavium CPU variants. Signed-off-by: Tomaso Paoletti Signed-off-by: Paul Gortmaker Signed-off-by: David Daney Signed-off-by: Ralf Baechle commit 126336f065e5d80bd2f4c3199df8a573eb0abcf7 Author: David Daney Date: Thu Dec 11 15:33:34 2008 -0800 MIPS: Compute branch returns for Cavium OCTEON specific branch instructions. For Cavium OCTEON, compute the return epc value for OCTEON specific branch instructions. Signed-off-by: Tomaso Paoletti Signed-off-by: David Daney Signed-off-by: Ralf Baechle commit 2a219b0eaa7bb9f1a7dae4e8ac5b1bf68adab289 Author: David Daney Date: Thu Dec 11 15:33:33 2008 -0800 MIPS: Cavium OCTEON multiplier state preservation. For OCTEON, implement a save and restore of the multiplier state across context switches. Signed-off-by: Tomaso Paoletti Signed-off-by: David Daney Signed-off-by: Ralf Baechle commit ddcdb1b4a46915b70dce3af3a78582b3ca79cf76 Author: David Daney Date: Thu Dec 11 15:33:32 2008 -0800 MIPS: Add SMP_ICACHE_FLUSH for the Cavium CPU family. Signed-off-by: Tomaso Paoletti Signed-off-by: Paul Gortmaker Signed-off-by: David Daney Signed-off-by: Ralf Baechle commit babed555695fad25820fb5fb0b5068c56e375900 Author: David Daney Date: Thu Dec 11 15:33:31 2008 -0800 MIPS: Add Cavium OCTEON specific registers to ptrace.h and asm-offsets.c Signed-off-by: David Daney Signed-off-by: Tomaso Paoletti Signed-off-by: Ralf Baechle commit b5e00af81f298f4ba2e41325042a7ce1ec022b1d Author: David Daney Date: Thu Dec 11 15:33:30 2008 -0800 MIPS: Add Cavium OCTEON cop2/cvmseg state entries to processor.h. Add in the cop2 and cvmseg state info to the known proc reg data for Cavium so that it can be tracked, saved, restored. Signed-off-by: Tomaso Paoletti Signed-off-by: David Daney Signed-off-by: Ralf Baechle commit 8faca49a6731299c32b333fd6535db8d21557ce3 Author: David Daney Date: Thu Dec 11 15:33:29 2008 -0800 MIPS: Modify core io.h macros to account for the Octeon Errata Core-301. Signed-off-by: Tomaso Paoletti Signed-off-by: David Daney Signed-off-by: Ralf Baechle commit 7e69deb83c9fffe75e8ea17fb40a63375e56ac9f Author: David Daney Date: Thu Dec 11 15:33:28 2008 -0800 MIPS: Hook up Cavium OCTEON in arch/mips. Take all the OCTEON specific files that were added, and hook them into the build system for the arch/mips. For versions of GCC that lack OCTEON support, override gas target architecture. Signed-off-by: Tomaso Paoletti Signed-off-by: David Daney Signed-off-by: Ralf Baechle commit 47d979eca33f8df49bfead2d5efa23a70b413882 Author: David Daney Date: Thu Dec 11 15:33:27 2008 -0800 MIPS: Hook Cavium OCTEON cache init into cache.c Follow precedent of other boards, and hook-up the CPU specific cache init. Signed-off-by: Tomaso Paoletti Signed-off-by: David Daney Signed-off-by: Ralf Baechle commit 0dd4781bca56871434507ed35d5bb8ef92077907 Author: David Daney Date: Thu Dec 11 15:33:26 2008 -0800 MIPS: Add Cavium OCTEON processor constants and CPU probe. Add OCTEON constants to asm/cpu.h and asm/module.h. Add probe function for Cavium OCTEON CPUs and hook it up. Signed-off-by: Tomaso Paoletti Signed-off-by: David Daney Signed-off-by: Ralf Baechle commit 25c3000300163e2ebf68d94425088de35ead3d76 Author: David Daney Date: Thu Dec 11 15:33:25 2008 -0800 MIPS: Override assembler target architecture for octeon. Gas from binutils 2.19 fails to compile some cop1 instructions with -march=octeon. Since the cop1 instructions are present in mips1, use that arch instead. This will be fixed in binutils 2.20. Signed-off-by: David Daney Signed-off-by: Ralf Baechle commit ed918c2daf9ef4c3b52f75736c3a652e5160c8ad Author: David Daney Date: Thu Dec 11 15:33:24 2008 -0800 MIPS: Add Cavium OCTEON specific register definitions to mipsregs.h Signed-off-by: David Daney Signed-off-by: Ralf Baechle commit f9bb4cf37ad3f7dec63abc5db688dd1e9df0056c Author: David Daney Date: Thu Dec 11 15:33:23 2008 -0800 MIPS: For Cavium OCTEON set hwrena and lazily restore CP2 state. If on Cavium, be aware of cop2 and hwrena during do_cpu(). Signed-off-by: Tomaso Paoletti Signed-off-by: Paul Gortmaker Signed-off-by: David Daney Signed-off-by: Ralf Baechle commit bd6d85c21a5adf24567fdb235aa8e7c8c95d5847 Author: David Daney Date: Thu Dec 11 15:33:22 2008 -0800 MIPS: For Cavium OCTEON handle hazards as per the R10000 handling. For Cavium CPU, we treat the same as R10000, in that all hazards are dealt with in hardware. Signed-off-by: Tomaso Paoletti Signed-off-by: Paul Gortmaker Signed-off-by: David Daney Signed-off-by: Ralf Baechle commit 5b3b16880f404ca54126210ca86141cceeafc0cf Author: David Daney Date: Thu Jan 8 16:46:40 2009 -0800 MIPS: Add Cavium OCTEON processor support files to arch/mips/cavium-octeon. These are the rest of the new files needed to add OCTEON processor support to the Linux kernel. Other than Makefile and Kconfig which should be obvious, we have: csrc-octeon.c -- Clock source driver for OCTEON. dma-octeon.c -- Helper functions for mapping DMA memory. flash_setup.c -- Register on-board flash with the MTD subsystem. octeon-irq.c -- OCTEON interrupt controller managment. octeon-memcpy.S -- Optimized memcpy() implementation. serial.c -- Register 8250 platform driver and early console. setup.c -- Early architecture initialization. smp.c -- OCTEON SMP support. octeon_switch.S -- Scheduler context switch for OCTEON. c-octeon.c -- OCTEON cache controller support. cex-oct.S -- OCTEON cache exception handler. asm/mach-cavium-octeon/*.h -- Architecture include files. Signed-off-by: Tomaso Paoletti Signed-off-by: David Daney Signed-off-by: Ralf Baechle create mode 100644 arch/mips/cavium-octeon/Kconfig create mode 100644 arch/mips/cavium-octeon/Makefile create mode 100644 arch/mips/cavium-octeon/csrc-octeon.c create mode 100644 arch/mips/cavium-octeon/dma-octeon.c create mode 100644 arch/mips/cavium-octeon/flash_setup.c create mode 100644 arch/mips/cavium-octeon/octeon-irq.c create mode 100644 arch/mips/cavium-octeon/octeon-memcpy.S create mode 100644 arch/mips/cavium-octeon/serial.c create mode 100644 arch/mips/cavium-octeon/setup.c create mode 100644 arch/mips/cavium-octeon/smp.c create mode 100644 arch/mips/include/asm/mach-cavium-octeon/cpu-feature-overrides.h create mode 100644 arch/mips/include/asm/mach-cavium-octeon/dma-coherence.h create mode 100644 arch/mips/include/asm/mach-cavium-octeon/irq.h create mode 100644 arch/mips/include/asm/mach-cavium-octeon/kernel-entry-init.h create mode 100644 arch/mips/include/asm/mach-cavium-octeon/war.h create mode 100644 arch/mips/include/asm/octeon/octeon.h create mode 100644 arch/mips/kernel/octeon_switch.S create mode 100644 arch/mips/mm/c-octeon.c create mode 100644 arch/mips/mm/cex-oct.S commit 58f07778ce9d32c22cecb1d8ef348001f0e705c9 Author: David Daney Date: Tue Dec 23 15:22:14 2008 -0800 MIPS: Add Cavium OCTEON processor support files to arch/mips/cavium-octeon/executive and asm/octeon. These files are used to coordinate resource sharing between all of the programs running on the OCTEON SOC. The OCTEON processor has many CPU cores (current parts have up to 16, but more are possible). It also has a variety of on-chip hardware blocks for things like network acceleration, encryption and RAID. One typical configuration is to run Linux on several of the CPU cores, and other dedicated applications on the other cores. Resource allocation between the various programs running on the system (Linux kernel and other dedicated applications) needs to be coordinated. The code we use to do this we call the 'executive'. All of this resource allocation and sharing code is gathered together in the executive directory. Included in the patch set are the following files: cvmx-bootmem.c and cvmx-sysinfo.c -- Coordinate memory allocation. All memory used by the Linux kernel is obtained here at boot time. cvmx-l2c.c -- Coordinates operations on the shared level 2 cache. octeon-model.c -- Probes chip capabilities and version. The corresponding headers are in asm/octeon. Signed-off-by: Tomaso Paoletti Signed-off-by: David Daney Signed-off-by: Ralf Baechle create mode 100644 arch/mips/cavium-octeon/executive/Makefile create mode 100644 arch/mips/cavium-octeon/executive/cvmx-bootmem.c create mode 100644 arch/mips/cavium-octeon/executive/cvmx-l2c.c create mode 100644 arch/mips/cavium-octeon/executive/cvmx-sysinfo.c create mode 100644 arch/mips/cavium-octeon/executive/octeon-model.c create mode 100644 arch/mips/include/asm/octeon/cvmx-asm.h create mode 100644 arch/mips/include/asm/octeon/cvmx-bootinfo.h create mode 100644 arch/mips/include/asm/octeon/cvmx-bootmem.h create mode 100644 arch/mips/include/asm/octeon/cvmx-l2c.h create mode 100644 arch/mips/include/asm/octeon/cvmx-packet.h create mode 100644 arch/mips/include/asm/octeon/cvmx-spinlock.h create mode 100644 arch/mips/include/asm/octeon/cvmx-sysinfo.h create mode 100644 arch/mips/include/asm/octeon/cvmx.h create mode 100644 arch/mips/include/asm/octeon/octeon-feature.h create mode 100644 arch/mips/include/asm/octeon/octeon-model.h commit 54293ec3074a5fe61abd297502f68b2529a3dab3 Author: David Daney Date: Thu Dec 11 15:33:19 2008 -0800 MIPS: Add Cavium OCTEON processor CSR definitions Here we define the addresses and bit-fields of the Configuration and Status Registers (CSRs) for some of the hardware functional units on the OCTEON SOC. Definitions are needed for: CIU -- Central Interrupt Unit. GPIO -- General Purpose Input Output. IOB -- Input / Output {Busing,Bridge}. IPD -- Input Packet Data unit. L2C -- Level-2 Cache controller. L2D -- Level-2 Data cache. L2T -- Level-2 cache Tag. LED -- Light Emitting Diode controller. MIO -- Miscellaneous Input / Output. POW -- Packet Order / Work unit. Signed-off-by: Tomaso Paoletti Signed-off-by: David Daney Signed-off-by: Ralf Baechle commit 2bd2dd059ca7406a030bace8dccdb25f635578c1 Author: Julia Lawall Date: Tue Nov 25 14:12:32 2008 +0100 MIPS: Alchemy: Change strict_strtol to strict_strtoul Since memsize is unsigned, it would seem better to use strict_strtoul that strict_strtol. A simplified version of the semantic patch that makes this change is as follows: (http://www.emn.fr/x-info/coccinelle/) // @s2@ long e; position p; @@ strict_strtol@p(...,&e) @@ position p != s2.p; type T; T e; @@ - strict_strtol@p + strict_strtoul (...,&e) // Signed-off-by: Julia Lawall Signed-off-by: Ralf Baechle commit 797c3f322454f5994e88b0e0bfc34cd4ad521d38 Author: Anirban Sinha Date: Thu Nov 13 11:50:12 2008 -0800 MIPS: 64-bit: Use generic 32-bit ptrace compat code. Signed-off-by: Anirban Sinha Signed-off-by: Ralf Baechle commit 3bc53427e4f323d4f33f70477fc32c1c2ae7fb5d Author: Timur Tabi Date: Sun Jan 11 00:25:21 2009 -0800 ucc_geth: use correct UCCE macros The UCC Event Register (UCCE) already has unambigous macro definitions in qe.h, so we should not be defining our own in the UCC Ethernet driver. Removed unused local variable 'dev' from ucc_geth_poll(), which fixes a warning caused by commit 908a7a16b852ffd618a9127be8d62432182d81b4 ("net: Remove unused netdev arg from some NAPI interfaces."). Replaced in_be/out_be pairs with setbits32 or clrbits32, where applicable. Signed-off-by: Timur Tabi Signed-off-by: David S. Miller commit 649274d993212e7c23c0cb734572c2311c200872 Author: Dan Williams Date: Sun Jan 11 00:20:39 2009 -0800 net_dma: acquire/release dma channels on ifup/ifdown The recent dmaengine rework removed the capability to remove dma device driver modules while net_dma is active. Rather than notify dmaengine-clients that channels are trying to be removed, we now rely on clients to notify dmaengine when they no longer have a need for channels. Teach net_dma to release channels by taking dmaengine references at netdevice open and dropping references at netdevice close. Acked-by: Maciej Sosnowski Signed-off-by: Dan Williams Signed-off-by: David S. Miller commit 47fd23fe8efeea3af4593a8424419df48724eb25 Author: Roland Dreier Date: Sun Jan 11 00:19:36 2009 -0800 cxgb3: Keep LRO off if disabled when interface is down I have a system with a Chelsio adapter (driven by cxgb3) whose ports are part of a Linux bridge. Recently I updated the kernel and discovered that things stopped working because cxgb3 was doing LRO on packets that were passed into the bridge code for forwarding. (Incidentally, this problem manifested itself in a strange way that made debugging a bit interesting -- for some reason, the skb_warn_if_lro() check in bridge didn't trigger and these LROed packets were forwarded out a forcedeth interface, and caused the forcedeth transmit path to get stuck) This is because cxgb3 has no way of keeping state for the LRO flag until the interface is brought up, so if the bridging code disables LRO while the interface is down, then cxgb3_up() will just reenable LRO, and on my Debian system at least, the init scripts add interfaces to a bridge before bringing the interfaces up. Fix this by keeping track of each interface's LRO state in cxgb3 so that when bridge disables LRO, it stays disabled in cxgb3_up() when the interface is brought up. I did this by changing the rx_csum_offload flag into a pair of bit flags; the effect of this on the rx_eth() fast path is miniscule enough that it should be fine (eg on x86, a cmpb instruction becomes a testb instruction). Signed-off-by: Roland Dreier Signed-off-by: David S. Miller commit 2a7e637de51ded7b0b56b927f45915eadb6734bb Author: Ben Hutchings Date: Sun Jan 11 00:18:13 2009 -0800 sfc: SFT9001: Fix condition for LNPGA power-off Only the SFX7101 requires software power control. This was incorrectly being applied to the SFT9001 rev A as well. Signed-off-by: Ben Hutchings Signed-off-by: David S. Miller commit 4dbc242ed3c94ff1cc10640d2119279ba0be943e Author: Gerrit Renker Date: Sun Jan 11 00:17:22 2009 -0800 dccp ccid-3: Fix RFC reference Thanks to Wei and Arnaldo for pointing out the correct new reference for CCID-3. Signed-off-by: Gerrit Renker Signed-off-by: David S. Miller commit 08168f7164fed494852361ab900358cd7a6b95d6 Author: Steve Glendinning Date: Sun Jan 11 00:14:52 2009 -0800 smsc911x: register irq with device name, not driver name This change lets "cat /proc/interrupts" show the name of the ethernet device (e.g. eth0) rather than the driver name (smsc911x). Signed-off-by: Steve Glendinning Signed-off-by: David S. Miller commit 702403af28ef647b090b49bb61abebb45150ce7f Author: Steve Glendinning Date: Sun Jan 11 00:14:27 2009 -0800 smsc911x: fix smsc911x_reg_read compiler warning if this code path is ever hit, the platform_data struct isn't properly configured with a bus width flag so the device won't work (hence the BUG()). This patch adds a dummy return statement to eliminate this compiler warning: drivers/net/smsc911x.c: In function 'smsc911x_reg_read': drivers/net/smsc911x.c:148: warning: control reaches end of non-void function Signed-off-by: Steve Glendinning Signed-off-by: David S. Miller commit eb10a781824ca63c4e484c4642a19b3370980792 Author: Ayaz Abdulla Date: Sun Jan 11 00:09:04 2009 -0800 forcedeth: napi schedule lock fix This patch fixes a potential race condition between scheduling napi and completing napi poll. The call to netif_rx_schedule should be under protection of the lock (as is the completion), otherwise, interrupts could be masked off. Signed-off-by: Ayaz Abdulla Signed-off-by: David S. Miller commit 1b6725dea766b7437d885661140b6e0340d47613 Author: Leonardo Potenza Date: Fri Jan 9 23:06:28 2009 -0800 net: fix section mismatch warnings in dccp/ccids/lib/tfrc.c Removed the __exit annotation of tfrc_lib_exit(), in order to suppress the following section mismatch messages: WARNING: net/dccp/dccp.o(.text+0xd9): Section mismatch in reference from the function ccid_cleanup_builtins() to the function .exit.text:tfrc_lib_exit() The function ccid_cleanup_builtins() references a function in an exit section. Often the function tfrc_lib_exit() has valid usage outside the exit section and the fix is to remove the __exit annotation of tfrc_lib_exit. WARNING: net/dccp/dccp.o(.init.text+0x48): Section mismatch in reference from the function ccid_initialize_builtins() to the function .exit.text:tfrc_lib_exit() The function __init ccid_initialize_builtins() references a function __exit tfrc_lib_exit(). This is often seen when error handling in the init function uses functionality in the exit path. The fix is often to remove the __exit annotation of tfrc_lib_exit() so it may be used outside an exit section. Signed-off-by: Leonardo Potenza Acked-by: Arnaldo Carvalho de Melo Acked-by: Gerrit Renker Signed-off-by: David S. Miller commit a7ee2f73f3ce90d73736de1cf432339c35a3faf2 Author: Ayaz Abdulla Date: Fri Jan 9 22:40:06 2009 -0800 forcedeth: remove mgmt unit for mcp79 chipset This patch removes the feature flag for mgmt unit as it is not used for this chipset. Signed-off-by: Ayaz Abdulla Signed-off-by: David S. Miller commit 683d46a9798c382220ef282b37f8210b5276cb3a Author: Ron Mercer Date: Fri Jan 9 11:31:53 2009 +0000 qlge: Remove dynamic alloc of rx ring control blocks. Signed-off-by: Ron Mercer Signed-off-by: David S. Miller commit 0857e9d73feea0125280dcd431cee84f6cb3b4e2 Author: Ron Mercer Date: Fri Jan 9 11:31:52 2009 +0000 qlge: Fix schedule while atomic issue. There is no need to sleep while waiting for the hardware semaphore to become available. Signed-off-by: Ron Mercer Signed-off-by: David S. Miller commit 697cdc46801d1106a25d27a8225cb925f0a7f5aa Author: Ron Mercer Date: Fri Jan 9 11:31:51 2009 +0000 qlge: Remove support for device ID 8000. Support for dev id 8000 is pushed out until 2.6.30. Signed-off-by: Ron Mercer Signed-off-by: David S. Miller commit 97345524392dcbe0157ce2a9d9a589e2022b1c15 Author: Ron Mercer Date: Fri Jan 9 11:31:50 2009 +0000 qlge: Get rid of split addresses in hardware control blocks. Signed-off-by: Ron Mercer Signed-off-by: David S. Miller commit ba7cd3ba97f81564be3e4a4ee8ee17726aa853d7 Author: Ron Mercer Date: Fri Jan 9 11:31:49 2009 +0000 qlge: Get rid of volatile usage for shadow register. Putting back ql_read_sh_reg() function and using rmb() instead of volatile. Signed-off-by: Ron Mercer Signed-off-by: David S. Miller commit f1405d32e392f2f5f80f4687fe186305de300bf6 Author: Ayaz Abdulla Date: Fri Jan 9 11:03:54 2009 +0000 forcedeth: version bump and copyright This patch bumps up the version number and adds current year to copyright. Signed-off-by: Ayaz Abdulla Signed-off-by: David S. Miller commit 001eb84bbf7205f8cc541a75364a6a0892b5d0a2 Author: Ayaz Abdulla Date: Fri Jan 9 11:03:44 2009 +0000 forcedeth: xmit lock fix This patch fixes a potential race condition between xmit thread and xmit completion thread. The calculation of empty tx descriptors is not performed under the lock. This could cause it to set the stop flag while the completion thread finishes all tx's. This will result in the tx queue in stopped state and no one to wake it up. Signed-off-by: Ayaz Abdulla Signed-off-by: David S. Miller commit 52255bbe3551e481b7af423406ca229a13990b1c Author: Stephen Hemminger Date: Fri Jan 9 10:45:37 2009 +0000 netdev: missing validate_address hooks Some devices were converted incorrectly and are missing the validate address hooks. Signed-off-by: Stephen Hemminger Signed-off-by: David S. Miller commit fe96aaa14f553f0eb7af0e3502563a5400c65257 Author: Stephen Hemminger Date: Fri Jan 9 11:13:14 2009 +0000 netdev: add missing set_mac_address hook Many drivers lost the ability to set ethernet address accidently during the net_device_ops conversion. Signed-off-by: Stephen Hemminger Signed-off-by: David S. Miller commit 0faac9f75fa4260d67fed5a67bb2f16dbe2e93c8 Author: Clifford Wolf Date: Fri Jan 9 10:23:11 2009 +0000 netdev: gianfar: add MII ioctl handler This is the same kind of wrapper that can also be found in many other network device drivers. Tested with a freescale MPC8349E host CPU: Toggled the interface LEDs on a DP83865 PHY. Signed-off-by: Clifford Wolf Signed-off-by: Andrew Morton Signed-off-by: David S. Miller commit 43baa5bb26298e8e268056c58900098ce8454548 Author: Julia Lawall Date: Fri Jan 9 10:23:10 2009 +0000 drivers/net/wireless/libertas: move a dereference below a NULL test In each case, if the NULL test is necessary, then the dereference should be moved below the NULL test. I have also taken advantage of the availability of the value of priv->dev in the subsequent calls to netif_stop_queue and netif_carrier_off. The semantic patch that makes this change is as follows: (http://www.emn.fr/x-info/coccinelle/) // @@ type T; expression E; identifier i,fld; statement S; @@ - T i = E->fld; + T i; ... when != E when != i if (E == NULL) S + i = E->fld; // Signed-off-by: Julia Lawall Acked-by: Dan Williams Signed-off-by: Andrew Morton Signed-off-by: David S. Miller commit 0397a2648434a65d73564216c4f96945c192ad4a Author: Julia Lawall Date: Fri Jan 9 10:23:09 2009 +0000 drivers/net/hamradio/6pack.c: move a dereference below a NULL test In each case, if the NULL test is necessary, then the dereference should be moved below the NULL test. The semantic patch that makes this change is as follows: (http://www.emn.fr/x-info/coccinelle/) // @@ type T; expression E; identifier i,fld; statement S; @@ - T i = E->fld; + T i; ... when != E when != i if (E == NULL) S + i = E->fld; // Signed-off-by: Julia Lawall Signed-off-by: Andrew Morton Signed-off-by: David S. Miller commit debc251b602fa4795c00c0aa82caa28cebc619ee Author: Julia Lawall Date: Fri Jan 9 10:22:53 2009 +0000 drivers/isdn/hardware/mISDN: move a dereference below a NULL test In each case, if the NULL test is necessary, then the dereference should be moved below the NULL test. The semantic patch that makes this change is as follows: (http://www.emn.fr/x-info/coccinelle/) // @@ type T; expression E; identifier i,fld; statement S; @@ - T i = E->fld; + T i; ... when != E when != i if (E == NULL) S + i = E->fld; // Signed-off-by: Julia Lawall Signed-off-by: Andrew Morton Signed-off-by: David S. Miller commit f3d8b2e467da7a9237a45248ff03b56b6a7c3df7 Author: Julia Lawall Date: Fri Jan 9 10:22:22 2009 +0000 net/bridge/netfilter: move a dereference below a NULL test In each case, if the NULL test is necessary, then the dereference should be moved below the NULL test. The semantic patch that makes this change is as follows: (http://www.emn.fr/x-info/coccinelle/) // @@ type T; expression E; identifier i,fld; statement S; @@ - T i = E->fld; + T i; ... when != E when != i if (E == NULL) S + i = E->fld; // Signed-off-by: Julia Lawall Signed-off-by: Andrew Morton Signed-off-by: David S. Miller commit 6c614a50206ee56c21b34cc02d0bd40e756db87e Author: Julia Lawall Date: Fri Jan 9 10:22:21 2009 +0000 net/tipc/bcast.h: use ARRAY_SIZE ARRAY_SIZE is more concise to use when the size of an array is divided by the size of its type or the size of its first element. The semantic patch that makes this change is as follows: (http://www.emn.fr/x-info/coccinelle/) // @i@ @@ #include @depends on i using "paren.iso"@ type T; T[] E; @@ - (sizeof(E)/sizeof(T)) + ARRAY_SIZE(E) // Signed-off-by: Julia Lawall Signed-off-by: Andrew Morton Signed-off-by: David S. Miller commit 2a4d71d69f97cef48da969ab917b55e0193ed9ec Author: Inaky Perez-Gonzalez Date: Fri Jan 9 07:34:00 2009 +0000 wimax: fix typo in kernel-doc for debugfs_dentry in struct wimax_dev The kernel-doc was referring to member @debufs_dentry instead of @debugfs_dentry. Reported by Randy Dunlap http://marc.info/?l=linux-netdev&m=123147942302885&w=2 As well, escape the colon in the field's text description, as it is causing the generated text to be erraticly broken up (with paragraphs moved down). Could not find a reason why it is happening so, even when other field descriptions use colons and work as expected. Signed-off-by: Inaky Perez-Gonzalez Signed-off-by: David S. Miller commit c17931c52ec6b1af710185986e10c344039edeb7 Author: Steffen Klassert Date: Fri Jan 9 03:53:17 2009 +0000 3c59x: Use device_set_wakeup_enable Since dev->power.should_wakeup bit is used by the PCI core to decide whether the device should wake up the system from sleep states, set this bit by calling device_set_wakeup_enable(). This restores proper WOL for the 3c59x driver. Reported-and-tested-by: Graeme Wilford Reported-by: Gunnar Degnbol Signed-off-by: Steffen Klassert Signed-off-by: David S. Miller commit 3d58cefd823e47209ffcac9cada0a618771da1a4 Author: Frank Blaschka Date: Fri Jan 9 03:44:00 2009 +0000 qeth: fix usage of netdev_ops Have separate netdev_ops for OSA and HiperSocket/TR. Signed-off-by: Frank Blaschka Signed-off-by: David S. Miller commit c224969e636ea027e7ce474b48e84922e62ca1d6 Author: Jesper Dangaard Brouer Date: Fri Jan 9 03:14:47 2009 +0000 qlge: Naming interrupt vectors Name interrupt vectors according to the new naming standard, by Robert Olsson and DaveM. The qlge driver were very close to the new standard, thus the change is kind of trivial. Signed-off-by: Jesper Dangaard Brouer Signed-off-by: Ron Mercer Signed-off-by: David S. Miller commit 4ca857958c129781b46870ec1d2d13c50aafb8c5 Author: Felix Fietkau Date: Fri Jan 9 02:39:57 2009 +0000 b44: fix misalignment and wasted space in rx handling Broadcom 4400 puts a header of configurable size (apparently needs to be at least 28 bytes) in front of received packets. When handling this, the previous code accidentally added the offset 30 *twice* for the software and once for the hardware, thereby cancelling out the IP alignment effect of the 30 byte padding and wasting an additional 30 bytes of memory per packet. This patch fixes this problem and improves routing throughput by about 30% on MIPS, where unaligned access is expensive. Signed-off-by: Felix Fietkau Signed-off-by: David S. Miller commit 9498c05820580afbf03a317b0b5bdb0ca0e27e40 Author: Herbert Xu Date: Thu Jan 8 21:27:06 2009 +0000 ipcomp: Remove spurious truesize increase When I made ipcomp use frags, I forgot to take out the original truesize update that was added for pskb_expand_head. As we no longer expand the head of skb, that update should have been removed. This bug is not related to the truesize warnings since we only made it bigger than what it should've been. Signed-off-by: Herbert Xu Signed-off-by: David S. Miller commit eefacf3b4f8a688aeaddd2f7c46ac5ffceb92472 Author: David Graham Date: Thu Jan 8 16:03:29 2009 +0000 e1000e: Add process name to WARN message when detecting Mutex contention Adds process name of the current mutex holder to the WARN message output when the e1000e driver attempts to acquire the nvm_mutex and finds that it is already being held. With this patch the WARN message indicates both the process name of the current mutex holder and the process name of the attempted acquisition, which together will help to identify the contending codepaths. Signed-off-by: David Graham Acked-by: Bruce Allan Signed-off-by: Jeff Kirsher Signed-off-by: David S. Miller commit e56e356b21c285663712dc39aa9e4303072cbaba Author: Florian Fainelli Date: Thu Jan 8 15:04:57 2009 +0000 r6040: bump release to 0.21 Bump version to 0.21 and release date to 09Jan2009. Signed-off-by: Florian Fainelli Signed-off-by: David S. Miller commit 68334115eecc2502426657a1449dd04b3572ae0d Author: Florian Fainelli Date: Thu Jan 8 15:04:50 2009 +0000 r6040: no longer mark r6040 as being experimental We do not depend on EXPERIMENTAL and the driver is not experimental, so remove this warning. Signed-off-by: Florian Fainelli Signed-off-by: David S. Miller commit 9f1136182f732f6e847fc43bd88b579739d5c211 Author: Florian Fainelli Date: Thu Jan 8 15:04:45 2009 +0000 r6040: generate random ethernet MAC address when not initialized This patch makes the ethernet driver assign a random ethernet MAC address when the bootloader does not set it. Signed-off-by: Florian Fainelli Signed-off-by: David S. Miller commit 58854c6b411e9e9f46b39bd7092022f639c41904 Author: Florian Fainelli Date: Fri Jan 9 23:19:26 2009 -0800 r6040: fix ifconfig down and freeing of tx/rx descriptors This patch fixes warnings and such traces that appear when doing an ifconfig down on the interface: WARNING: at arch/x86/kernel/pci-dma.c:376 dma_free_coherent+0x40/0x7d() Modules linked in: Signed-off-by: Joe Chou Signed-off-by: Florian Fainelli Signed-off-by: David S. Miller commit 216c32d4407ea6951d6832773fdb3de058e12c62 Author: Alexander Beregalov Date: Thu Jan 8 16:42:08 2009 -0800 irda: fix incomplete conversation to internal stats Fix for commit af0490810c (irda: convert to internal stats) Signed-off-by: Alexander Beregalov Signed-off-by: David S. Miller commit 74ca11c2056d01d9ebb3615cd781a148450c3c82 Author: Bastien Nocera Date: Sat Jan 10 23:44:22 2009 -0800 Input: uvc - the button on the camera is KEY_CAMERA Cameras should generate KEY_CAMERA, not BTN_0. Also call input_sync() on the device once the button has been pressed. Signed-off-by: Andrew Morton Signed-off-by: Dmitry Torokhov commit 3c0340b774916caa4149892504169d290c8a720a Author: Jean Delvare Date: Sat Jan 10 23:44:22 2009 -0800 Input: psmouse - make MOUSE_PS2_LIFEBOOK depend on X86 All Fujitsu-Siemens Lifebook systems are x86-based, so we might as well make MOUSE_PS2_LIFEBOOK depend on X86. This will avoid surprising things like: arch/arm/configs/s3c2410_defconfig:CONFIG_MOUSE_PS2_LIFEBOOK=y Signed-off-by: Jean Delvare Signed-off-by: Dmitry Torokhov commit 520abcdeb13de23e22b7d4367b1c3b136ef3b108 Author: Daniel Mierswa Date: Sat Jan 10 23:44:22 2009 -0800 Input: atkbd - make forced_release_keys[] static Signed-off-by: Andrew Morton Signed-off-by: Dmitry Torokhov commit c9cbf3d3b35f198fab39e98d696312dd0b97a69a Author: Dan Streetman Date: Sat Jan 10 23:44:22 2009 -0800 Input: usbtouchscreen - allow reporting calibrated data This patch adds a module parameter to report either the raw coordinate data or the hardware-calibrated coordinate data for MicroTouch/3M touchscreens. The default is set to the raw coordinates for backwards compatibilty. Signed-off-by: Dan Streetman Signed-off-by: Dmitry Torokhov commit fc4dbea733119b37d36d0006b8be778db2601946 Author: David S. Miller Date: Sat Jan 10 23:44:45 2009 -0800 sparc: Fix asm/signal.h for 32-bit. Fix a 32-bit sparc regression reported by Robert Reif. _NSIG_BPW needs to be 32 for 32-bit and 64 for 64-bit Tested-by: Robert Reif Signed-off-by: David S. Miller commit 03080e5cbe0222744173d3e726f6ba5d13b7f04e Author: Harvey Harrison Date: Sat Jan 10 21:45:42 2009 -0800 RDMA/nes: Fix for NIPQUAD removal Commit 63779436 ("drivers: replace NIPQUAD()") accidentally replaced some HIPQUAD()s, causing IP addresses to be printed in reverse order. Add temporary local vars until the byteswapping can be pushed further up the stack. Signed-off-by: Harvey Harrison Signed-off-by: Roland Dreier commit 93423b8665f43a0c7a006a1d5be048b99db56d32 Author: Ingo Molnar Date: Sun Jan 11 05:15:21 2009 +0100 smp_call_function_single(): be slightly less stupid, fix Impact: build fix on Alpha kernel/up.c: In function 'smp_call_function_single': kernel/up.c:12: error: 'cpuid' undeclared (first use in this function) kernel/up.c:12: error: (Each undeclared identifier is reported only once kernel/up.c:12: error: for each function it appears in.) The typo didnt show up on x86 because 'cpuid' happens to be a function address as well ... Signed-off-by: Ingo Molnar commit 53ce3d9564908794ae7dd32969089b57df5fc098 Author: Andrew Morton Date: Fri Jan 9 12:27:08 2009 -0800 smp_call_function_single(): be slightly less stupid If you do smp_call_function_single(expression-with-side-effects, ...) then expression-with-side-effects never gets evaluated on UP builds. As always, implementing it in C is the correct thing to do. While we're there, uninline it for size and possible header dependency reasons. And create a new kernel/up.c, as a place in which to put uniprocessor-specific code and storage. It should mirror kernel/smp.c. Signed-off-by: Andrew Morton Signed-off-by: Ingo Molnar commit abede81c4fb2e3b85d8760f25e3da39d2c69a134 Merge: c9d557c c597650 Author: Ingo Molnar Date: Sun Jan 11 03:41:39 2009 +0100 Merge commit 'v2.6.29-rc1' into core/urgent commit f45ac22ae2b8fc5b4c32d9b8d17ea419a8701d89 Merge: 79f3b3c c597650 Author: Ingo Molnar Date: Sun Jan 11 03:03:30 2009 +0100 Merge commit 'v2.6.29-rc1' into x86/urgent commit 805194c35b91999b139e4d6b6145f4f84fd4c814 Author: Li Zefan Date: Sat Jan 10 15:43:15 2009 +0800 sched: partly revert "sched debug: remove NULL checking in print_cfs_rt_rq()" Impact: avoid accessing NULL tg.css->cgroup In commit 0a0db8f5c9d4bbb9bbfcc2b6cb6bce2d0ef4d73d, I removed checking NULL tg.css->cgroup, but I realized I was wrong when I found reading /proc/sched_debug can race with cgroup_create(). Signed-off-by: Li Zefan Signed-off-by: Ingo Molnar commit b29c06ae96acc47e866f29d19075707f91df69c8 Author: Samuel Ortiz Date: Sun Jan 11 01:21:48 2009 +0100 mfd: Fix twl4030-core build Fixes: drivers/mfd/twl4030-core.c:657: error: implicit declaration of function 'cpu_is_omap2430' Not the nicest fix, but this should be improved by a better OMAP clock API implementation. Signed-off-by: Samuel Ortiz commit 98325f8f8e950818c306cbc224897a1dda471945 Author: Ben Dooks Date: Sat Jan 10 16:59:53 2009 +0100 mfd: Ensure sm501 GPIO pin mode is GPIO when configured When setting an GPIO to either input or output, we should ensure that the pin configuration elsewhere in the chip is set to GPIO in-case the initial setup has not been done correctly. Signed-off-by: Ben Dooks Signed-off-by: Samuel Ortiz commit d1fdb4f6fbb155af88363bc949a35daa11872d9f Author: David Brownell Date: Fri Jan 9 02:02:42 2009 +0100 mfd: dm355 evm MMC/SD card detection Support card detect and writeprotect switches on DM355 EVM. Signed-off-by: David Brownell Signed-off-by: Kevin Hilman Signed-off-by: Samuel Ortiz commit 5ec271e745350c7df6a6ebca24b43cb7a10bfa4a Author: Balaji Rao Date: Fri Jan 9 01:51:01 2009 +0100 regulator: PCF50633 pmic driver Changes from V1: - Removed support for suspend_enable & suspend_disable functions. Signed-off-by: Balaji Rao Cc: Andy Green Cc: Liam Girdwood Acked-by: Mark Brown Signed-off-by: Samuel Ortiz commit 1851b06ac40c57fe4efe7ddefc3c04dab4f99e67 Author: Balaji Rao Date: Fri Jan 9 01:50:58 2009 +0100 input: PCF50633 input driver Signed-off-by: Balaji Rao Cc: Andy Green Cc: Dmitry Torokhov Acked-by: Dmitry Torokhov Signed-off-by: Samuel Ortiz commit f5714dc97d63cc0dd1219bd0eb2e1f8df1e4347a Author: Balaji Rao Date: Fri Jan 9 01:50:55 2009 +0100 power_supply: PCF50633 battery charger driver Signed-off-by: Balaji Rao Cc: Andy Green Cc: David Woodhouse Acked-by: Anton Vorontsov Signed-off-by: Samuel Ortiz commit eae854b22d25a6d08524c0783a2c772e67121840 Author: Balaji Rao Date: Fri Jan 9 01:50:51 2009 +0100 rtc: PCF50633 rtc driver Signed-off-by: Balaji Rao Cc: Andy Green Acked-by: Alessandro Zummo Cc: Paul Gortmaker Cc: rtc-linux@googlegroups.com Signed-off-by: Samuel Ortiz commit 6a3d119b4ce29cf32bfe91eb61d46e9dbd8ce38a Author: Balaji Rao Date: Fri Jan 9 01:49:37 2009 +0100 mfd: PCF50633 gpio support What the PCF05633 calls as a 'GPIO' is much more than the GPIO in the linux sense and there are only 4 of them - which means, the gpiolib is not used here. Signed-off-by: Balaji Rao Cc: Andy Green Signed-off-by: Samuel Ortiz commit 08c3e06a5eb27d43b712adef18379f8464425e71 Author: Balaji Rao Date: Fri Jan 9 01:49:26 2009 +0100 mfd: PCF50633 adc driver This patch adds basic support for the PCF50633 ADC. The subtractive mode is not supported yet. Since we don't have adc subsystem, it currently lives in drivers/mfd. Signed-off-by: Balaji Rao Cc: Andy Green Acked-by: Jonathan Cameron Signed-off-by: Samuel Ortiz commit f52046b14b1e1a8a02ae48d0c69d39c5e204644f Author: Balaji Rao Date: Fri Jan 9 01:49:01 2009 +0100 mfd: PCF50633 core driver This patch implements the core of the PCF50633 driver. This core driver has generic register read/write functions and does interrupt management for its sub devices. Signed-off-by: Balaji Rao Cc: Andy Green Signed-off-by: Samuel Ortiz commit 62ea9ceb17a74bc7544211bfeecf4170c554ac4f Author: Rusty Russell Date: Sun Jan 11 01:04:16 2009 +0100 cpumask: fix CONFIG_NUMA=y sched.c Impact: fix panic on ia64 with NR_CPUS=1024 struct sched_domain is now a dangling structure; where we really want static ones, we need to use static_sched_domain. (As the FIXME in this file says, cpumask_var_t would be better, but this code is hairy enough without trying to add initialization code to the right places). Reported-by: Mike Travis Signed-off-by: Rusty Russell Signed-off-by: Ingo Molnar commit c59765042f53a79a7a65585042ff463b69cb248c Author: Linus Torvalds Date: Sat Jan 10 15:43:05 2009 -0800 Linux 2.6.29-rc1 commit d3f8ddea444b3b5324d74144177a50557cd1f137 Author: Arjan van de Ven Date: Sat Jan 10 10:03:05 2009 -0800 bootgraph: make the bootgraph script show async waiting time It is useful for diagnosing boot performance to see where async function calls are waiting on serialization... this patch adds this functionality to the bootgraph.pl script. The waiting time is shown as a half transparent, gray bar through the block that is waiting. Signed-off-by: Arjan van de Ven Signed-off-by: Linus Torvalds commit fa853a48413c2ca1a5dc6b539bf07cf8e7247f8e Author: Arjan van de Ven Date: Sat Jan 10 10:18:44 2009 -0800 libata: only ports >= 0 need to synchronize In a discussio with Jeff Garzik, he mentioned that the serialization for the libata port probes only needs to be within the domain of a host. This means that for the first port of each host (with ID 0), we don't need to wait, so we can relax our serialization a little. Signed-off-by: Arjan van de Ven Signed-off-by: Linus Torvalds commit 886ad09fc83342aa1c5a02a0b6d3298b78a8067f Author: Arjan van de Ven Date: Fri Jan 9 15:54:07 2009 -0800 libata: Add a per-host flag to opt-in into parallel port probes This patch adds a per host flag that allows drivers to opt in into having its busses scanned in parallel. Drivers that do not set this flag get their ports scanned in the "original" sequence. Signed-off-by: Arjan van de Ven Signed-off-by: Linus Torvalds commit dc1336ff4fe08ae7cfe8301bfd7f0b2cfd31d20a Author: Jesse Barnes Date: Tue Jan 6 10:21:24 2009 -0800 drm/i915: set vblank enabled flag correctly across IRQ install/uninstall In the absence of kernel mode setting, many drivers disable IRQs across VT switch. The core DRM vblank code is missing a check for this case however; even after IRQ disable, the vblank code will still have the vblank_enabled flag set, so unless we track the fact that they're disabled at IRQ uninstall time, when we VT switch back in we won't actually re-enable them, which means any apps waiting on vblank before the switch will hang. This patch does that and also adds a sanity check to the wait condition to look for the irq_enabled flag in general, as well as adding a wakeup to the IRQ uninstall path. Fixes fdo bug #18879 with compiz hangs at VT switch. Signed-off-by: Jesse Barnes Signed-off-by: Eric Anholt Signed-off-by: Dave Airlie commit 71e0ffa599f54058d9b8724b4b14d0486751681d Author: Jesse Barnes Date: Thu Jan 8 10:42:15 2009 -0800 drm/i915: don't enable vblanks on disabled pipes In some cases userland may be confused and try to wait on vblank events from pipes that aren't actually enabled. We shouldn't allow this, so return -EINVAL if the pipe isn't on. Signed-off-by: Jesse Barnes Signed-off-by: Eric Anholt Signed-off-by: Dave Airlie commit 3d14bdad40315b54470cb7812293d14c8af2bf7d Merge: 4e9b1c1 51d7a13 Author: Linus Torvalds Date: Sat Jan 10 06:13:09 2009 -0800 Merge branch 'x86-fixes-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip * 'x86-fixes-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip: (36 commits) x86: fix section mismatch warnings in mcheck/mce_amd_64.c x86: offer frame pointers in all build modes x86: remove duplicated #include's x86: k8 numa register active regions later x86: update Alan Cox's email addresses x86: rename all fields of mpc_table mpc_X to X x86: rename all fields of mpc_oemtable oem_X to X x86: rename all fields of mpc_bus mpc_X to X x86: rename all fields of mpc_cpu mpc_X to X x86: rename all fields of mpc_intsrc mpc_X to X x86: rename all fields of mpc_lintsrc mpc_X to X x86: rename all fields of mpc_iopic mpc_X to X x86: irqinit_64.c init_ISA_irqs should be static Documentation/x86/boot.txt: payload length was changed to payload_length x86: setup_percpu.c fix style problems x86: irqinit_64.c fix style problems x86: irqinit_32.c fix style problems x86: i8259.c fix style problems x86: irq_32.c fix style problems x86: ioport.c fix style problems ... commit 4e9b1c184cadbece3694603de5f880b6e35bd7a7 Merge: 0176260 36c401a Author: Linus Torvalds Date: Sat Jan 10 06:12:18 2009 -0800 Merge branch 'cpus4096-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip * 'cpus4096-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip: [IA64] fix typo in cpumask_of_pcibus() x86: fix x86_32 builds for summit and es7000 arch's cpumask: use work_on_cpu in acpi-cpufreq.c for read_measured_perf_ctrs cpumask: use work_on_cpu in acpi-cpufreq.c for drv_read and drv_write cpumask: use cpumask_var_t in acpi-cpufreq.c cpumask: use work_on_cpu in acpi/cstate.c cpumask: convert struct cpufreq_policy to cpumask_var_t cpumask: replace CPUMASK_ALLOC etc with cpumask_var_t x86: cleanup remaining cpumask_t ops in smpboot code cpumask: update pci_bus_show_cpuaffinity to use new cpumask API cpumask: update local_cpus_show to use new cpumask API ia64: cpumask fix for is_affinity_mask_valid() commit 0176260fc30842e358cf34afa7dcd9413db44822 Author: Linus Torvalds Date: Sat Jan 10 06:09:52 2009 -0800 btrfs: fix for write_super_lockfs/unlockfs error handling Commit c4be0c1dc4cdc37b175579be1460f15ac6495e9a added the ability for write_super_lockfs to return errors, and renamed them to match. But btrfs didn't get converted. Do the minimal conversion to make it compile again. Signed-off-by: Linus Torvalds commit f4b477c47332367d35686bd2b808c2156b96d7c7 Author: Artem Bityutskiy Date: Sat Jan 10 11:12:09 2009 +0000 rbtree: add const qualifier to some functions The 'rb_first()', 'rb_last()', 'rb_next()' and 'rb_prev()' calls take a pointer to an RB node or RB root. They do not change the pointed objects, so add a 'const' qualifier in order to make life of the users of these functions easier. Indeed, if I have my own constant pointer &const struct my_type *p, and I call 'rb_next(&p->rb)', I get a GCC warning: warning: passing argument 1 of ‘rb_next’ discards qualifiers from pointer target type Signed-off-by: Artem Bityutskiy Signed-off-by: David Woodhouse Signed-off-by: Linus Torvalds commit cfce41a6d643c001d416ead960caf04fae2d609a Author: Eric Piel Date: Fri Jan 9 16:41:01 2009 -0800 LIS3LV02D: separate the core from HP ACPI API The sensor can be accessed via various buses. In particular, SPI, I²C and, on HP laptops, via a specific ACPI API (the only one currently supported). Separate this latest platform from the core of the sensor driver to allow support for the other bus type. The second, and more direct goal is actually to be able to merge this part with the hp-disk-leds driver, which has the same ACPI PNP number. Signed-off-by: Pavel Machek Signed-off-by: Eric Piel Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 8e961870bb9804110d5c8211d5d9d500451c4518 Author: Takashi Sato Date: Fri Jan 9 16:41:00 2009 -0800 filesystem freeze: remove XFS specific ioctl interfaces for freeze feature It removes XFS specific ioctl interfaces and request codes for freeze feature. This patch has been supplied by David Chinner. Signed-off-by: Dave Chinner Signed-off-by: Takashi Sato Cc: Dave Chinner Cc: Cc: Cc: Christoph Hellwig Cc: Dave Kleikamp Cc: Alasdair G Kergon Cc: Al Viro Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit fcccf502540e3d752d33b2d8e976034dee81f9f7 Author: Takashi Sato Date: Fri Jan 9 16:40:59 2009 -0800 filesystem freeze: implement generic freeze feature The ioctls for the generic freeze feature are below. o Freeze the filesystem int ioctl(int fd, int FIFREEZE, arg) fd: The file descriptor of the mountpoint FIFREEZE: request code for the freeze arg: Ignored Return value: 0 if the operation succeeds. Otherwise, -1 o Unfreeze the filesystem int ioctl(int fd, int FITHAW, arg) fd: The file descriptor of the mountpoint FITHAW: request code for unfreeze arg: Ignored Return value: 0 if the operation succeeds. Otherwise, -1 Error number: If the filesystem has already been unfrozen, errno is set to EINVAL. [akpm@linux-foundation.org: fix CONFIG_BLOCK=n] Signed-off-by: Takashi Sato Signed-off-by: Masayuki Hamaguchi Cc: Cc: Cc: Christoph Hellwig Cc: Dave Kleikamp Cc: Dave Chinner Cc: Alasdair G Kergon Cc: Al Viro Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit c4be0c1dc4cdc37b175579be1460f15ac6495e9a Author: Takashi Sato Date: Fri Jan 9 16:40:58 2009 -0800 filesystem freeze: add error handling of write_super_lockfs/unlockfs Currently, ext3 in mainline Linux doesn't have the freeze feature which suspends write requests. So, we cannot take a backup which keeps the filesystem's consistency with the storage device's features (snapshot and replication) while it is mounted. In many case, a commercial filesystem (e.g. VxFS) has the freeze feature and it would be used to get the consistent backup. If Linux's standard filesystem ext3 has the freeze feature, we can do it without a commercial filesystem. So I have implemented the ioctls of the freeze feature. I think we can take the consistent backup with the following steps. 1. Freeze the filesystem with the freeze ioctl. 2. Separate the replication volume or create the snapshot with the storage device's feature. 3. Unfreeze the filesystem with the unfreeze ioctl. 4. Take the backup from the separated replication volume or the snapshot. This patch: VFS: Changed the type of write_super_lockfs and unlockfs from "void" to "int" so that they can return an error. Rename write_super_lockfs and unlockfs of the super block operation freeze_fs and unfreeze_fs to avoid a confusion. ext3, ext4, xfs, gfs2, jfs: Changed the type of write_super_lockfs and unlockfs from "void" to "int" so that write_super_lockfs returns an error if needed, and unlockfs always returns 0. reiserfs: Changed the type of write_super_lockfs and unlockfs from "void" to "int" so that they always return 0 (success) to keep a current behavior. Signed-off-by: Takashi Sato Signed-off-by: Masayuki Hamaguchi Cc: Cc: Cc: Christoph Hellwig Cc: Dave Kleikamp Cc: Dave Chinner Cc: Alasdair G Kergon Cc: Al Viro Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 69347a236b22c3962ea812511495e502dedfd50c Author: Harvey Harrison Date: Fri Jan 9 16:40:56 2009 -0800 memstick: annotate endianness of attribute structs The code was shifting the endianness appropriately everywhere, annotate the structs to avoid the sparse warnings when assigning the endian types to the struct members, or passing them to be[16|32]_to_cpu: drivers/memstick/core/mspro_block.c:331:4: warning: cast to restricted __be16 drivers/memstick/core/mspro_block.c:333:4: warning: cast to restricted __be16 drivers/memstick/core/mspro_block.c:335:4: warning: cast to restricted __be16 drivers/memstick/core/mspro_block.c:337:4: warning: cast to restricted __be16 drivers/memstick/core/mspro_block.c:341:4: warning: cast to restricted __be16 drivers/memstick/core/mspro_block.c:347:4: warning: cast to restricted __be32 drivers/memstick/core/mspro_block.c:356:4: warning: cast to restricted __be16 drivers/memstick/core/mspro_block.c:358:4: warning: cast to restricted __be16 drivers/memstick/core/mspro_block.c:364:4: warning: cast to restricted __be16 drivers/memstick/core/mspro_block.c:367:4: warning: cast to restricted __be16 drivers/memstick/core/mspro_block.c:369:4: warning: cast to restricted __be16 drivers/memstick/core/mspro_block.c:371:4: warning: cast to restricted __be16 drivers/memstick/core/mspro_block.c:377:4: warning: cast to restricted __be16 drivers/memstick/core/mspro_block.c:478:4: warning: cast to restricted __be16 drivers/memstick/core/mspro_block.c:480:4: warning: cast to restricted __be16 drivers/memstick/core/mspro_block.c:482:4: warning: cast to restricted __be16 drivers/memstick/core/mspro_block.c:484:4: warning: cast to restricted __be16 drivers/memstick/core/mspro_block.c:486:4: warning: cast to restricted __be16 drivers/memstick/core/mspro_block.c:689:22: expected unsigned int [unsigned] [assigned] data_address drivers/memstick/core/mspro_block.c:689:22: got restricted __be32 [usertype] drivers/memstick/core/mspro_block.c:697:3: warning: cast to restricted __be32 drivers/memstick/core/mspro_block.c:960:17: warning: incorrect type in initializer (different base types) drivers/memstick/core/mspro_block.c:960:17: expected unsigned short [unsigned] data_count drivers/memstick/core/mspro_block.c:960:17: got restricted __be16 [usertype] drivers/memstick/core/mspro_block.c:993:6: warning: cast to restricted __be16 drivers/memstick/core/mspro_block.c:995:28: warning: cast to restricted __be16 Signed-off-by: Harvey Harrison Cc: Alex Dubov Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit fe8e4e039dc3680681bf51af097af391f87038f8 Author: Larry Finger Date: Fri Jan 9 16:40:54 2009 -0800 hp-wmi: handle rfkill_register() failure Compilation of the HP WMI hotkeys code results in the following: CC [M] drivers/platform/x86/hp-wmi.o drivers/platform/x86/hp-wmi.c: In function hp_wmi_bios_setup: drivers/platform/x86/hp-wmi.c:431: warning: ignoring return value of rfkill_register, declared with attribute warn_unused_result drivers/platform/x86/hp-wmi.c:441: warning: ignoring return value of rfkill_register, declared with attribute warn_unused_result drivers/platform/x86/hp-wmi.c:450: warning: ignoring return value of rfkill_register, declared with attribute warn_unused_result Signed-off-by: Larry Finger Cc: Matthew Garrett Cc: Len Brown Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 85c210edc46d602a1562aeea0fc74919349c8cf0 Author: Andi Kleen Date: Fri Jan 9 16:40:53 2009 -0800 compiler-gcc.h: add more comments to RELOC_HIDE Requested by C. Lameter Signed-off-by: Andi Kleen Cc: Christoph Lameter Cc: Andi Kleen Cc: Rusty Russell Cc: Stephen Rothwell Cc: Mike Travis Cc: Ingo Molnar Cc: Richard Henderson Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 2d96d1053d97cf0db832c4545bfb02a337043e09 Author: David Brownell Date: Fri Jan 9 16:40:52 2009 -0800 CORE_DUMP_DEFAULT_ELF_HEADERS depends on ELF_CORE Kernels that don't support ELF coredumps at all surely can't be supporting new partial-segment flavored ELF coredumps ... don't make folk answer Kconfig questions about that flavor. Signed-off-by: David Brownell Acked-by: Roland McGrath Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 9a100a4464917b5ffff3a8ce1c2758088fd9bb32 Merge: 0d34052 cdb80f6 Author: Linus Torvalds Date: Fri Jan 9 15:32:26 2009 -0800 Merge git://git.kernel.org/pub/scm/linux/kernel/git/arjan/linux-2.6-async-2 * git://git.kernel.org/pub/scm/linux/kernel/git/arjan/linux-2.6-async-2: async: make async a command line option for now partial revert of asynchronous inode delete commit 0d34052dfeba307ebc18d2f672e80e3f419714d4 Merge: f0fb2eb 926bead Author: Linus Torvalds Date: Fri Jan 9 15:30:54 2009 -0800 Merge git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/driver-core-2.6 * git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/driver-core-2.6: Revert "driver core: create a private portion of struct device" Revert "driver core: move klist_children into private structure" Revert "driver core: move knode_driver into private structure" Revert "driver core: move knode_bus into private structure" commit f0fb2eb7bd76b9927f1350cfb0a3653385b82c6c Merge: 32b838b 6230582 Author: Linus Torvalds Date: Fri Jan 9 15:30:30 2009 -0800 Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/ieee1394/linux1394-2.6 * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/ieee1394/linux1394-2.6: firewire: core: fix sleep in atomic context due to driver core change commit 32b838b8cfa269d688889b3213e7ee37ee901f72 Merge: 2fb585a ab5610b Author: Linus Torvalds Date: Fri Jan 9 15:29:04 2009 -0800 Merge git://git.infradead.org/mtd-2.6 * git://git.infradead.org/mtd-2.6: [JFFS2] remove junk prototypes commit 2fb585a10e421b4eeae066eb99080bd7e4512079 Merge: 31aeb6c 69f52ad Author: Linus Torvalds Date: Fri Jan 9 15:27:39 2009 -0800 Merge branch 'for_2.6.29' of git://git.kernel.org/pub/scm/linux/kernel/git/kkeil/ISDN-2.6 * 'for_2.6.29' of git://git.kernel.org/pub/scm/linux/kernel/git/kkeil/ISDN-2.6: (28 commits) mISDN: Add HFC USB driver mISDN: Add layer1 prim MPH_INFORMATION_REQ mISDN: Fix kernel crash when doing hardware conference with more than two members mISDN: Added missing create_l1() call mISDN: Add MODULE_DEVICE_TABLE() to hfcpci mISDN: Minor cleanups mISDN: Create /sys/class/mISDN mISDN: Add missing release functions mISDN: Add different different timer settings for hfc-pci mISDN: Minor fixes mISDN: Correct busy device detection mISDN: Fix deactivation, if peer IP is removed from l1oip instance. mISDN: Add ISDN_P_TE_UP0 / ISDN_P_NT_UP0 mISDN: Fix irq detection mISDN: Add ISDN sample clock API to mISDN core mISDN: Return error on E-channel access mISDN: Add E-Channel logging features mISDN: Use protocol to detect D-channel mISDN: Fixed more indexing bugs mISDN: Make debug output a little bit more verbose ... commit 31aeb6c815549948571eec988ad9728c27d7a68d Merge: c40f6f8 fc55584 Author: Linus Torvalds Date: Fri Jan 9 15:18:49 2009 -0800 Merge git://git.kernel.org/pub/scm/linux/kernel/git/pkl/squashfs-linus * git://git.kernel.org/pub/scm/linux/kernel/git/pkl/squashfs-linus: MAINTAINERS: squashfs entry Squashfs: documentation Squashfs: initrd support Squashfs: Kconfig entry Squashfs: Makefiles Squashfs: header files Squashfs: block operations Squashfs: cache operations Squashfs: uid/gid lookup operations Squashfs: fragment block operations Squashfs: export operations Squashfs: super block operations Squashfs: symlink operations Squashfs: regular file operations Squashfs: directory readdir operations Squashfs: directory lookup operations Squashfs: inode operations commit 926beadb3dfaddccb3348a5b9e6c2a1f8290a220 Author: Greg Kroah-Hartman Date: Fri Jan 9 15:06:12 2009 -0800 Revert "driver core: create a private portion of struct device" This reverts commit 2831fe6f9cc4e16c103504ee09a47a084297c0f3. Turns out that device_initialize shouldn't fail silently. This series needs to be reworked in order to get into proper shape. Reported-by: Stefan Richter Cc: Alan Cox Cc: Kay Sievers Signed-off-by: Greg Kroah-Hartman commit ff82c587a9a4cb8796e7e04377155deba15ae18b Author: John Linn Date: Fri Jan 9 16:01:53 2009 -0700 Xilinx: SPI: updated driver for device tree The driver was updated to use the device tree rather than the platform data. Signed-off-by: John Linn commit e2d4077678c7ec7661003c268120582adc544897 Author: Greg Kroah-Hartman Date: Fri Jan 9 14:55:37 2009 -0800 Revert "driver core: move klist_children into private structure" This reverts commit 11c3b5c3e08f4d855cbef52883c266b9ab9df879. Turns out that device_initialize shouldn't fail silently. This series needs to be reworked in order to get into proper shape. Reported-by: Stefan Richter Cc: Alan Cox Cc: Kay Sievers Signed-off-by: Greg Kroah-Hartman commit 2526c151c31358aec66b63921dd712bbec5ee0cb Author: Jon Smirl Date: Fri Jan 9 15:49:06 2009 -0700 drivers/of: Add the of_find_i2c_device_by_node function. The of_find_i2c_device_by_node function allows you to follow a reference in the device tree to an i2c device node and then locate the linux device instantiated by the device tree. Example use: an I2S bus driver finding the i2c_device instance for a codec described by a device tree node. This was waiting for Anton's i2c patches that were just added. Signed-off-by: Jon Smirl Signed-off-by: Grant Likely commit f5020384e4fa8ab9397aa6fa176e61e9bf7947f7 Author: Yuri Tikhonov Date: Fri Jan 9 15:49:06 2009 -0700 powerpc/xsysace: add compatible string for non-ipcore instance Add "xlnx,sysace" compatible string to the of_platform binding table. Platforms which have the SysACE chip on board (e.g. Katmai) instead of via a Xilinx generated IP core will use this value in their device tree. Signed-off-by: Yuri Tikhonov Signed-off-by: Grant Likely commit ddd527d56a0e635abdc7ffeb688cdde7593ad2d3 Author: Wolfram Sang Date: Fri Jan 9 15:49:05 2009 -0700 powerpc/mpc52xx: remove dead code from GPIO driver Eliminate duplicate return statements Signed-off-by: Wolfram Sang Signed-off-by: Grant Likely commit d30239a0ef2000cfae6c60f8e870da2d8dba4d22 Author: Grant Likely Date: Fri Jan 9 15:49:05 2009 -0700 powerpc/mpc52xx: Properly update irq_desc when set_type() is called. The MPC5200 PIC driver doesn't correctly update the .status field of the irq_desc structure when the set_type hook is called. This patch adds the required code. Also cleans up the external IRQ typename field to be something easier to read (very minor). Signed-off-by: Grant Likely commit 23faf63123e306b4a134f6d6c501813f6c8599dc Author: roel kluin Date: Fri Jan 9 15:49:04 2009 -0700 powerpc/mpc5121: fix NULL test in mpc5121_clk_get utility function. strcmp on NULL results in a segmentation fault, also, remove the second, redundant test on dev Signed-off-by: Roel Kluin Signed-off-by: Grant Likely commit cda5e83fdea476dce9c0a9b1152cd6ca46832cc4 Author: Greg Kroah-Hartman Date: Fri Jan 9 14:44:18 2009 -0800 Revert "driver core: move knode_driver into private structure" This reverts commit 93e746db183b3bdbbda67900f79b5835f9cb388f. Turns out that device_initialize shouldn't fail silently. This series needs to be reworked in order to get into proper shape. Reported-by: Stefan Richter Cc: Alan Cox Cc: Kay Sievers Signed-off-by: Greg Kroah-Hartman commit 4db8e282f2d1dfa43d51ce2a4817901312c9134d Author: Greg Kroah-Hartman Date: Fri Jan 9 14:32:46 2009 -0800 Revert "driver core: move knode_bus into private structure" This reverts commit b9daa99ee533578e3f88231e7a16784dcb44ec42. Turns out that device_initialize shouldn't fail silently. This series needs to be reworked in order to get into proper shape. Reported-by: Stefan Richter Cc: Alan Cox Cc: Kay Sievers Signed-off-by: Greg Kroah-Hartman commit 6230582320b721e6cf2581d048cb688dca97f504 Author: Stefan Richter Date: Fri Jan 9 20:49:37 2009 +0100 firewire: core: fix sleep in atomic context due to driver core change Due to commit 2831fe6f9cc4e16c103504ee09a47a084297c0f3, "driver core: create a private portion of struct device", device_initialize() can no longer be called from atomic contexts. We now defer it until after config ROM probing. This requires changes to the bus manager code because this may use a device before it was probed. Reported-by: Jay Fenlason Signed-off-by: Stefan Richter commit a50df398cddf6b757bdbf30f5f0875982ef5c660 Author: Yossi Etigin Date: Fri Jan 9 14:05:11 2009 -0800 IPoIB: Fix loss of connectivity after bonding failover on both sides Fix bonding failover in the case both peers failover and the gratuitous ARP is lost. In that case, the sender side will create an ipoib_neigh and issue a path request with the old GID first. When skb->dst->neighbour->ha changes due to ARP refresh, this ipoib_neigh will not be added to the path->list of the path of the new GID, because the ipoib_neigh already exists. It will not have an AH either, because of sender-side failover. Therefore, it will not get an AH when the path is resolved. The solution here is to compare GIDs in ipoib_start_xmit() even if neigh->ah is invalid. Comparing with an uninitialized value of neigh->dgid should be fine, since a spurious match is harmless (and astronomically unlikely too). Signed-off-by: Moni Shoua Signed-off-by: Yossi Etigin Signed-off-by: Roland Dreier commit c40f6f8bbc4cbd2902671aacd587400ddca62627 Merge: 1a7d0f0 cb6ff20 Author: Linus Torvalds Date: Fri Jan 9 14:00:58 2009 -0800 Merge git://git.kernel.org/pub/scm/linux/kernel/git/dhowells/linux-2.6-nommu * git://git.kernel.org/pub/scm/linux/kernel/git/dhowells/linux-2.6-nommu: NOMMU: Support XIP on initramfs NOMMU: Teach kobjsize() about VMA regions. FLAT: Don't attempt to expand the userspace stack to fill the space allocated FDPIC: Don't attempt to expand the userspace stack to fill the space allocated NOMMU: Improve procfs output using per-MM VMAs NOMMU: Make mmap allocation page trimming behaviour configurable. NOMMU: Make VMAs per MM as for MMU-mode linux NOMMU: Delete askedalloc and realalloc variables NOMMU: Rename ARM's struct vm_region NOMMU: Fix cleanup handling in ramfs_nommu_get_umapped_area() commit 1a7d0f0bec4be078ce2cfb11538c0f4ffbbed8e5 Merge: 7d671f3 b945637 Author: Linus Torvalds Date: Fri Jan 9 13:59:25 2009 -0800 Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jmorris/security-testing-2.6 * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jmorris/security-testing-2.6: CRED: Fix commit_creds() on a process that has no mm commit 7d671f3e713fc5ff18a5227a8dc16dfdb8bc0664 Merge: d7d717f 555d61d Author: Linus Torvalds Date: Fri Jan 9 13:56:06 2009 -0800 Merge branch 'for-linus' of git://git390.osdl.marist.edu/pub/scm/linux-2.6 * 'for-linus' of git://git390.osdl.marist.edu/pub/scm/linux-2.6: [S390] update documentation for hvc_iucv kernel parameter. [S390] hvc_iucv: Special handling of IUCV HVC devices [S390] hvc_iucv: Refactor console and device initialization [S390] hvc_iucv: Update function documentation [S390] hvc_iucv: Limit rate of outgoing IUCV messages [S390] hvc_iucv: Change IUCV term id and use one device as default [S390] Use unsigned long long for u64 on 64bit. [S390] qdio: fix broken pointer in case of CONFIG_DEBUG_FS is disabled [S390] vdso: compile fix [S390] remove code for oldselect system call [S390] types: add/fix types.h include in header files [S390] dasd: add device attribute to disable blocking on lost paths [S390] dasd: send change uevents for dasd block devices [S390] tape block: fix dependencies [S390] asm-s390/posix_types.h: drop __USE_ALL usage [S390] gettimeofday.S: removed duplicated #includes [S390] ptrace: no extern declarations for userspace commit d7d717fa889fc7a60c38497846c7618940a999d9 Merge: b64dc5a ce70a24 Author: Linus Torvalds Date: Fri Jan 9 13:55:37 2009 -0800 Merge branch 'for-linus' of git://git.o-hand.com/linux-rpurdie-leds * 'for-linus' of git://git.o-hand.com/linux-rpurdie-leds: leds: ledtrig-timer - on deactivation hardware blinking should be disabled leds: Add suspend/resume to the core class leds: Add WM8350 LED driver leds: leds-pcs9532 - Move i2c work to a workqueque leds: leds-pca9532 - fix memory leak and properly handle errors leds: Fix wrong loop direction on removal in leds-ams-delta leds: fix Cobalt Raq LED dependency leds: Fix sparse warning in leds-ams-delta leds: Fixup kdoc comment to match parameter names leds: Make header variable naming consistent leds: eds-pca9532: mark pca9532_event() static leds: ALIX.2 LEDs driver commit b64dc5a4842c3420d7a093bf5e8979c57ceb789c Merge: 73d5931 d00ba72 Author: Linus Torvalds Date: Fri Jan 9 13:55:13 2009 -0800 Merge branch 'for-linus' of git://git.o-hand.com/linux-rpurdie-backlight * 'for-linus' of git://git.o-hand.com/linux-rpurdie-backlight: backlight: Rename the corgi backlight driver to generic backlight: add support for Toppoly TDO35S series to tdo24m lcd driver backlight: Add suspend/resume support to the backlight core bd->props.brightness doesn't reflect the actual backlight level. backlight: Support VGA/QVGA mode switching in tosa_lcd backlight: Catch invalid input in sysfs attributes backlight: Value of ILI9320_RGB_IF2 register should not be hardcoded backlight: crbllcd_bl - Use platform_device_register_simple() backlight: progear_bl - Use platform_device_register_simple() backlight: hp680_bl - Use platform_device_register_simple() commit 69f52adb2d534afc41fcc658f155e01f0b322f9e Author: Karsten Keil Date: Fri Jan 9 16:20:51 2009 +0100 mISDN: Add HFC USB driver Enable support for USB ISDN TAs with Cologne Chip AG's HFC-S USB ISDN Controller. Signed-off-by: Martin Bachem Signed-off-by: Karsten Keil commit 3f75e84a6a697c5cffb78ee15e79498a35473e05 Author: Martin Bachem Date: Tue Nov 4 14:11:22 2008 +0100 mISDN: Add layer1 prim MPH_INFORMATION_REQ MPH_INFORMATION provides full D- and B-Channel status overview - new layer1 primitive: MPF_INFORMATON_REQ - layer1 replies with MPH_INFORMATION_IND containing - dch->[state,Flags,nrbchan] - bch[]->[protocol,Flags] - hardware driver should send MPH_INFORMATION_IND on all ph state changes and BChannel state changes to MISDN_ID_ANY Signed-off-by: Martin Bachem Signed-off-by: Karsten Keil commit c6a2e587e5b28177eabfc2db4d5abd25b87604f2 Author: Andreas Eversberg Date: Sun Dec 28 16:31:26 2008 +0100 mISDN: Fix kernel crash when doing hardware conference with more than two members Fix kernel crash when doing hardware conference with more than two members. Removed DTMF threshold notice when debugging is disabled. Signed-off-by: Andreas Eversberg Signed-off-by: Karsten Keil commit c3b3cdeba5a671ce5d0064c52c8a85f5b1e72e92 Author: Andreas Eversberg Date: Sun Nov 9 10:23:19 2008 +0100 mISDN: Added missing create_l1() call create_l1() was missed when changing mode to TE. Signed-off-by: Andreas Eversberg Signed-off-by: Karsten Keil commit e314f89a62c1d74380455690325b1336ea0dca9d Author: Matthias Urlichs Date: Thu Oct 16 13:58:54 2008 +0200 mISDN: Add MODULE_DEVICE_TABLE() to hfcpci Add missed table. Signed-off-by: Matthias Urlichs Signed-off-by: Karsten Keil commit 400fd9783e7374bdf73b9cee9d7b90e35e3007da Author: Andreas Eversberg Date: Sat Oct 11 08:13:29 2008 +0200 mISDN: Minor cleanups Signed-off-by: Andreas Eversberg Signed-off-by: Karsten Keil commit b36b654a7e82308cea063cdf909a7f246105c2a3 Author: Matthias Urlichs Date: Sat Aug 16 00:09:24 2008 +0200 mISDN: Create /sys/class/mISDN Create /sys/class/mISDN and implement functions to handle device renames. Signed-Off-By: Matthias Urlichs Signed-off-by: Karsten Keil commit 808a14a1583ca3790bf0a9c20c7d4cbac212c775 Author: Andreas Eversberg Date: Sun Sep 28 15:40:15 2008 +0200 mISDN: Add missing release functions Add missing release function of ec-devices. Each device require a relase function now. All destruction (memory and list entry) must be done within the given release function of device, rather than after unregistering device. Signed-off-by: Andreas Eversberg Signed-off-by: Karsten Keil commit 87c5fa1bb42624254a2013cbbc3b170d6017f5d6 Author: Andreas Eversberg Date: Sun Sep 28 13:01:01 2008 +0200 mISDN: Add different different timer settings for hfc-pci - Poll-timer can now be set from 8 to 256 samples, depending on your kernel. - If default or 128 is used, the normal controller's clock is used as before. Usage: modprobe hfcpci poll=XXX - Added some debug code for dsp buffer size. (CMX_DELAY_DEBUG) Signed-off-by: Andreas Eversberg Signed-off-by: Karsten Keil commit 1b36c78f26bfa74c1782be98acb827afa95c3b0c Author: Andreas Eversberg Date: Sat Sep 20 13:43:28 2008 +0200 mISDN: Minor fixes minor typo fix compiler warning fix Signed-off-by: Andreas Eversberg Signed-off-by: Karsten Keil commit 9a812553bdc097a566aa79df7fae3457449c555b Author: Andreas Eversberg Date: Sun Sep 14 14:42:18 2008 +0200 mISDN: Correct busy device detection Correct busy device detection. This fix belongs to last commit. Signed-off-by: Andreas Eversberg Signed-off-by: Karsten Keil commit 1b4d33121f1d991f6ae226cc3333428ff87627bb Author: Andreas Eversberg Date: Sun Sep 14 12:30:18 2008 +0200 mISDN: Fix deactivation, if peer IP is removed from l1oip instance. Added GETPEER operation. Socket now checks if device is already busy at a differen mode. Signed-off-by: Andreas Eversberg Signed-off-by: Karsten Keil commit 02282eee56b75a35e6bbc42cc34c9005eb1653f4 Author: Martin Bachem Date: Mon Sep 8 15:57:48 2008 +0200 mISDN: Add ISDN_P_TE_UP0 / ISDN_P_NT_UP0 - new layer1 protocols for UP0 bus - helper #defines to test for TE/NT/S0/E1/UP0 Signed-off-by: Martin Bachem Signed-off-by: Karsten Keil commit 9e6115f2f5a9f8568bc8565d1401086952f09736 Author: Andreas Eversberg Date: Sat Sep 6 09:11:03 2008 +0200 mISDN: Fix irq detection Fix false irq detection on disabled irqs. Signed-off-by: Andreas Eversberg Signed-off-by: Karsten Keil commit 3bd69ad197a4a3d0085a5dc3b5796111bf176b12 Author: Andreas Eversberg Date: Sat Sep 6 09:03:46 2008 +0200 mISDN: Add ISDN sample clock API to mISDN core Add ISDN sample clock API to mISDN core (new file clock.c) hfcmulti and mISDNdsp use clock API. Signed-off-by: Andreas Eversberg Signed-off-by: Karsten Keil commit 55a6af9749d6a31e087f304f2ea39db3bb7b3f3e Author: Martin Bachem Date: Thu Sep 4 12:42:39 2008 +0200 mISDN: Return error on E-channel access Return error on D-channel access with E-channel data requested Signed-off-by: Martin Bachem Signed-off-by: Karsten Keil commit 1f28fa19d34c0d9186f274e61e4b3dcfc6428c5c Author: Martin Bachem Date: Wed Sep 3 15:17:45 2008 +0200 mISDN: Add E-Channel logging features New prim PH_DATA_E_IND. - all E-ch frames are indicated by recv_Echannel(), which pushes E-Channel frames into dch's rqueue - if dchannel is opened with channel nr 0, no E-Channel logging is requested - if dchannel is opened with channel nr 1, E-Channel logging is requested. if layer1 does not support that, -EINVAL in return is appropriate Signed-off-by: Martin Bachem Signed-off-by: Karsten Keil commit a9b61830cd88a1d3d5e6d61adb737a3e20f7f0f5 Author: Martin Bachem Date: Wed Sep 3 18:08:30 2008 +0200 mISDN: Use protocol to detect D-channel Use protocol to detect D-channel not the channel number 0 Signed-off-by: Martin Bachem Signed-off-by: Karsten Keil commit 83a8a55b1deb07ac1ce546a8f230a8ef8f3c5ce5 Author: Andreas Eversberg Date: Sat Aug 30 06:50:34 2008 +0200 mISDN: Fixed more indexing bugs Fix more indexing bugs when checking free timeslots. Signed-off-by: Andreas Eversberg Signed-off-by: Karsten Keil commit 0aafe75d5c9227f209c180012d799a9e19d7ee79 Author: Peter Schlaile Date: Mon Aug 25 17:55:53 2008 +0200 mISDN: Make debug output a little bit more verbose Add usefull info to debug output. Signed-off-by: Peter Schlaile Signed-off-by: Karsten Keil commit e4cce225f05c1daf89d10565c654f4c11907a049 Author: Peter Schlaile Date: Fri Aug 22 19:44:21 2008 +0200 mISDN: Fix HDLC DSP transmit Fix HDLC DSP transmit (DL_DATA frames were bounced back upwards instead of being sent down as PH_DATA frames) Thanks to Andreas Eversberg for the fix! Signed-off-by: Andreas Eversberg Signed-off-by: Peter Schlaile Signed-off-by: Karsten Keil commit 837468d135dcc49cdabc9fa92fc9550479f60704 Author: Matthias Urlichs Date: Sat Aug 16 00:04:33 2008 +0200 mISDN: Use struct device name field struct device already has a 'name' member, use it. Signed-off-by: Matthias Urlichs Signed-off-by: Karsten Keil commit 8b6015f736125050722dbe59c4f943e78cd626f0 Author: Matthias Urlichs Date: Tue Aug 12 10:12:09 2008 +0200 mISDN: Added an ioctl to change the device name To get persistent device names with hotplug we need to rename devices sometime. Signed-off-by: Matthias Urlichs Signed-off-by: Karsten Keil commit 9776ef0829ed33e8f36d9e7d859d00cc91c54ffd Author: Matthias Urlichs Date: Mon Aug 11 14:43:33 2008 +0200 mISDN: Remove the local max-card limit This is not needed. Signed-off-by: Matthias Urlichs Signed-off-by: Karsten Keil commit 11618496d03d9e1ad70ac68afbfa7df9b5fc19d1 Author: Andreas Eversberg Date: Wed Aug 6 19:13:07 2008 +0200 mISDN: Fix queue limit counting problem If received frames are not handled in time, purge them. Signed-off-by: Andreas Eversberg Signed-off-by: Karsten Keil commit 190f71d9d8516fea4db01ba86ddfad5738a92703 Author: Andreas Eversberg Date: Sun Aug 3 10:36:53 2008 +0200 mISDN: Add some debug option for clock problems Add a new debug bit for clock problems. Signed-off-by: Andreas Eversberg Signed-off-by: Karsten Keil commit 8dd2f36f317569665e454268a2677cfba3e848f1 Author: Andreas Eversberg Date: Sat Aug 2 22:51:52 2008 +0200 mISDN: Add feature via MISDN_CTRL_FILL_EMPTY to fill fifo if empty This prevents underrun of fifo when filled and in case of an underrun it prevents subsequent underruns due to jitter. Improve dsp, so buffers are kept filled with a certain delay, so moderate jitter will not cause underrun all the time -> the audio quality is highly improved. tones are not interrupted by gaps anymore, except when CPU is stalling or in high load. Signed-off-by: Andreas Eversberg Signed-off-by: Karsten Keil commit 69e656cc16511719a89d83373c48172d3f39bc5f Author: Karsten Keil Date: Wed Jan 7 00:00:59 2009 +0100 mISDN: Cleanup hfc multiport driver Remove references to external zaptel modules and some cosmetic cleanups. Signed-off-by: Karsten Keil commit cdb80f630be5cbc23d82331f24dc4704f75b64f4 Author: Arjan van de Ven Date: Fri Jan 9 13:23:45 2009 -0800 async: make async a command line option for now ... and have it default off. This does allow people to work with it for testing. Signed-off-by: Arjan van de Ven commit 22e7ef9c089305111661b01e425cd0b974231e2e Author: Roland Dreier Date: Fri Jan 9 13:22:29 2009 -0800 IB/mlx4: Don't register IB device for adapters with no IB ports If the mlx4_ib driver finds an adapter that has only ethernet ports, the current code will register an IB device with 0 ports. Nothing useful or sensible can be done with such a device, so just skip registering it. Signed-off-by: Roland Dreier commit b32714ba29358a688ef337d5297bf4bdc9f596dc Author: Arjan van de Ven Date: Fri Jan 9 07:04:15 2009 -0800 partial revert of asynchronous inode delete let the core of this one bake in -next as well, but leave some of the infrastructure in place. Signed-off-by: Arjan van de Ven commit 70cb92539cd1b8e1dec935a68fc154ea0db3a177 Author: Roland Dreier Date: Fri Jan 9 13:14:07 2009 -0800 mlx4_core: Fix warning from min() Recent cpumask changes changed num_possible_cpus() from returning an int to returning an unsigned int. This means that doing min(num_possible_cpus(), ) now produces a warning like drivers/net/mlx4/main.c: In function 'mlx4_enable_msi_x': drivers/net/mlx4/main.c:915: warning: comparison of distinct pointer types lacks a cast Fix this by using min_t(int, ...). Signed-off-by: Roland Dreier commit ab5610b434645518aca6e4de5ad851f9fef006f3 Author: Artem Bityutskiy Date: Thu Jan 8 19:38:07 2009 +0200 [JFFS2] remove junk prototypes 'rb_prev()', 'rb_next()' and 'rb_replace_node()' are declared in include/linux/rbtree.h, no need for JFFS2 to re-declare them. I believe these are left-overs from the old days when the common RB tree code did not have those call and JFFS2 had private implementation. Signed-off-by: Artem Bityutskiy Signed-off-by: David Woodhouse commit 73d59314e6ed268d6f322ae1bdd723b23fa5a4ed Merge: 6ddaab2 e293e97 Author: Linus Torvalds Date: Fri Jan 9 13:01:38 2009 -0800 Merge git://git.kernel.org/pub/scm/linux/kernel/git/mason/btrfs-unstable * git://git.kernel.org/pub/scm/linux/kernel/git/mason/btrfs-unstable: (864 commits) Btrfs: explicitly mark the tree log root for writeback Btrfs: Drop the hardware crc32c asm code Btrfs: Add Documentation/filesystem/btrfs.txt, remove old COPYING Btrfs: kmap_atomic(KM_USER0) is safe for btrfs_readpage_end_io_hook Btrfs: Don't use kmap_atomic(..., KM_IRQ0) during checksum verifies Btrfs: tree logging checksum fixes Btrfs: don't change file extent's ram_bytes in btrfs_drop_extents Btrfs: Use btrfs_join_transaction to avoid deadlocks during snapshot creation Btrfs: drop remaining LINUX_KERNEL_VERSION checks and compat code Btrfs: drop EXPORT symbols from extent_io.c Btrfs: Fix checkpatch.pl warnings Btrfs: Fix free block discard calls down to the block layer Btrfs: avoid orphan inode caused by log replay Btrfs: avoid potential super block corruption Btrfs: do not call kfree if kmalloc failed in btrfs_sysfs_add_super Btrfs: fix a memory leak in btrfs_get_sb Btrfs: Fix typo in clear_state_cb Btrfs: Fix memset length in btrfs_file_write Btrfs: update directory's size when creating subvol/snapshot Btrfs: add permission checks to the ioctls ... commit 6ddaab20c32af03d68de00e7c97ae8d9820e4dab Merge: c4295fb 54b0d12 Author: Linus Torvalds Date: Fri Jan 9 12:57:34 2009 -0800 Merge branch 'for-2.6.29' of git://git.kernel.dk/linux-2.6-block * 'for-2.6.29' of git://git.kernel.dk/linux-2.6-block: block: fix bug in ptbl lookup cache commit c4295fbb6048d85f0b41c5ced5cbf63f6811c46c Author: Linus Torvalds Date: Fri Jan 9 12:49:50 2009 -0800 x86: make 'constant_test_bit()' take an unsigned bit number Ingo noticed that using signed arithmetic seems to confuse the gcc inliner, and make it potentially decide that it's all too complicated. (Yeah, yeah, it's a constant. It's always positive. Still..) Based-on: Ingo Molnar Signed-off-by: Linus Torvalds commit e245b80c8357bf375f15c5f3b05ef8ae35e4fbc8 Author: Harvey Harrison Date: Fri Jan 9 12:42:54 2009 -0800 parisc: introduce asm/swab.h Fix for the linux/byteorder.h removal. Signed-off-by: Harvey Harrison Signed-off-by: Linus Torvalds commit 8659c406ade32f47da2c95889094801921d6330a Author: Andi Kleen Date: Fri Jan 9 12:17:39 2009 -0800 x86: only scan the root bus in early PCI quirks We found a situation on Linus' machine that the Nvidia timer quirk hit on a Intel chipset system. The problem is that the system has a fancy Nvidia card with an own PCI bridge, and the early-quirks code looking for any NVidia bridge triggered on it incorrectly. This didn't lead a boot failure by luck, but the timer routing code selecting the wrong timer first and some ugly messages. It might lead to real problems on other systems. I checked all the devices which are currently checked for by early_quirks and it turns out they are all located in the root bus zero. So change the early-quirks loop to only scan bus 0. This incidently also saves quite some unnecessary scanning work, because early_quirks doesn't go through all the non root busses. The graphics card is not on bus 0, so it is not matched anymore. Signed-off-by: Andi Kleen Cc: Ingo Molnar Cc: Thomas Gleixner Cc: "H. Peter Anvin" Cc: Jesse Barnes Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 54b0d127696aba2ef1ec5430301c968ab539fa0d Author: Neil Brown Date: Wed Jan 7 08:55:39 2009 +0100 block: fix bug in ptbl lookup cache Neil writes: Hi Jens, I've found a little bug for you. It was introduced by a6f23657d3072bde6844055bbc2290e497f33fbc block: add one-hit cache for disk partition lookup and has the effect of killing my machine whenever I try to assemble an md array :-( One of the devices in the array has partitions, and mdadm always deletes partitions before putting a whole-device in an array (as it can cause confusion). The next IO to that device locks the machine. I don't really understand exactly why it locks up, but it happens in disk_map_sector_rcu(). This patch fixes it. Which is due to a missing clear of the (now) stale partition lookup data. So clear that when we delete a partition. Signed-off-by: Jens Axboe commit 4ce5f24193cef2e26f182ce708e94ba1f5fafc0c Merge: 7c51d57 a076aa4 Author: Linus Torvalds Date: Fri Jan 9 12:43:06 2009 -0800 Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/rric/oprofile * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/rric/oprofile: (31 commits) powerpc/oprofile: fix whitespaces in op_model_cell.c powerpc/oprofile: IBM CELL: add SPU event profiling support powerpc/oprofile: fix cell/pr_util.h powerpc/oprofile: IBM CELL: cleanup and restructuring oprofile: make new cpu buffer functions part of the api oprofile: remove #ifdef CONFIG_OPROFILE_IBS in non-ibs code ring_buffer: fix ring_buffer_event_length() oprofile: use new data sample format for ibs oprofile: add op_cpu_buffer_get_data() oprofile: add op_cpu_buffer_add_data() oprofile: rework implementation of cpu buffer events oprofile: modify op_cpu_buffer_read_entry() oprofile: add op_cpu_buffer_write_reserve() oprofile: rename variables in add_ibs_begin() oprofile: rename add_sample() in cpu_buffer.c oprofile: rename variable ibs_allowed to has_ibs in op_model_amd.c oprofile: making add_sample_entry() inline oprofile: remove backtrace code for ibs oprofile: remove unused ibs macro oprofile: remove unused components in struct oprofile_cpu_buffer ... commit 7c51d57e9d7fbce89f79c41dc8da383101dbe9c6 Merge: a3a798c 85795da Author: Linus Torvalds Date: Fri Jan 9 12:36:45 2009 -0800 Merge git://git.infradead.org/mtd-2.6 * git://git.infradead.org/mtd-2.6: (67 commits) [MTD] [MAPS] Fix printk format warning in nettel.c [MTD] [NAND] add cmdline parsing (mtdparts=) support to cafe_nand [MTD] CFI: remove major/minor version check for command set 0x0002 [MTD] [NAND] ndfc driver [MTD] [TESTS] Fix some size_t printk format warnings [MTD] LPDDR Makefile and KConfig [MTD] LPDDR extended physmap driver to support LPDDR flash [MTD] LPDDR added new pfow_base parameter [MTD] LPDDR Command set driver [MTD] LPDDR PFOW definition [MTD] LPDDR QINFO records definitions [MTD] LPDDR qinfo probing. [MTD] [NAND] pxa3xx: convert from ns to clock ticks more accurately [MTD] [NAND] pxa3xx: fix non-page-aligned reads [MTD] [NAND] fix nandsim sched.h references [MTD] [NAND] alauda: use USB API functions rather than constants [MTD] struct device - replace bus_id with dev_name(), dev_set_name() [MTD] fix m25p80 64-bit divisions [MTD] fix dataflash 64-bit divisions [MTD] [NAND] Set the fsl elbc ECCM according the settings in bootloader. ... Fixed up trivial debug conflicts in drivers/mtd/devices/{m25p80.c,mtd_dataflash.c} commit a3a798c88a14b35e5d4ca30716dbc9eb9a1ddfe2 Merge: efcb3cf d97c0de Author: Linus Torvalds Date: Fri Jan 9 11:55:14 2009 -0800 Merge branch 'release' of git://git.kernel.org/pub/scm/linux/kernel/git/lenb/linux-acpi-2.6 * 'release' of git://git.kernel.org/pub/scm/linux/kernel/git/lenb/linux-acpi-2.6: (94 commits) ACPICA: hide private headers ACPICA: create acpica/ directory ACPI: fix build warning ACPI : Use RSDT instead of XSDT by adding boot option of "acpi=rsdt" ACPI: Avoid array address overflow when _CST MWAIT hint bits are set fujitsu-laptop: Simplify SBLL/SBL2 backlight handling fujitsu-laptop: Add BL power, LED control and radio state information ACPICA: delete utcache.c ACPICA: delete acdisasm.h ACPICA: Update version to 20081204. ACPICA: FADT: Update error msgs for consistency ACPICA: FADT: set acpi_gbl_use_default_register_widths to TRUE by default ACPICA: FADT parsing changes and fixes ACPICA: Add ACPI_MUTEX_TYPE configuration option ACPICA: Fixes for various ACPI data tables ACPICA: Restructure includes into public/private ACPI: remove private acpica headers from driver files ACPI: reboot.c: use new acpi_reset interface ACPICA: New: acpi_reset interface - write to reset register ACPICA: Move all public H/W interfaces to new hwxface ... commit efcb3cf7f00c3c424db012380a8a974c2676a3c8 Author: Tejun Heo Date: Fri Jan 9 19:19:14 2009 +0900 libata: use WARN_ON_ONCE on hot paths Convert WARN_ON() on command issue/completion paths to WARN_ON_ONCE() so that libata doesn't spam the machine even when one of those conditions triggers repeatedly. Signed-off-by: Tejun Heo Signed-off-by: Linus Torvalds commit 43529c97122f2c851126447963eedcb8cba74fbe Author: David Howells Date: Fri Jan 9 16:13:46 2009 +0000 CRED: Must initialise the new creds in prepare_kernel_cred() The newly allocated creds in prepare_kernel_cred() must be initialised before get_uid() and get_group_info() can access them. They should be copied from the old credentials. Reported-by: Steve Dickson Signed-off-by: David Howells Acked-by: Steve Dickson Signed-off-by: Linus Torvalds commit 0de336814107358bc8c4173bf9ce2d42445173fe Author: David Howells Date: Fri Jan 9 16:13:41 2009 +0000 CRED: Missing put_cred() in prepare_kernel_cred() Missing put_cred() in the error handling path of prepare_kernel_cred(). Signed-off-by: David Howells Acked-by: Steve Dickson Signed-off-by: Linus Torvalds commit 29a41e9e029d21c306e3ad6e723700348b04706a Merge: d9e8a3a ae16489 Author: Linus Torvalds Date: Fri Jan 9 11:53:07 2009 -0800 Merge git://git.kernel.org/pub/scm/linux/kernel/git/kyle/parisc-2.6 * git://git.kernel.org/pub/scm/linux/kernel/git/kyle/parisc-2.6: parisc: export length of os_hpmc vector parisc: fix kernel crash (protection id trap) when compiling ruby1.9 parisc: Use DEFINE_SPINLOCK parisc: add uevent helper for parisc bus parisc: fix ipv6 checksum parisc: quiet palo not-found message from "which" parisc: Replace NR_CPUS in parisc code parisc: trivial fixes parisc: fix braino in commit adding __space_to_prot parisc: factor out sid to protid conversion parisc: use leX_to_cpu in place of __fswabX parisc: fix GFP_KERNEL use while atomic in unwinder parisc: remove dead BIO_VMERGE_BOUNDARY and BIO_VMERGE_MAX_SIZE definitions parisc: set_time() catch errors parisc: use the new byteorder headers parisc: drivers/parisc/: make code static parisc: lib/: make code static commit d9e8a3a5b8298a3c814ed37ac5756e6f67b6be41 Merge: 2150edc b9bdcbb Author: Linus Torvalds Date: Fri Jan 9 11:52:14 2009 -0800 Merge branch 'next' of git://git.kernel.org/pub/scm/linux/kernel/git/djbw/async_tx * 'next' of git://git.kernel.org/pub/scm/linux/kernel/git/djbw/async_tx: (22 commits) ioat: fix self test for multi-channel case dmaengine: bump initcall level to arch_initcall dmaengine: advertise all channels on a device to dma_filter_fn dmaengine: use idr for registering dma device numbers dmaengine: add a release for dma class devices and dependent infrastructure ioat: do not perform removal actions at shutdown iop-adma: enable module removal iop-adma: kill debug BUG_ON iop-adma: let devm do its job, don't duplicate free dmaengine: kill enum dma_state_client dmaengine: remove 'bigref' infrastructure dmaengine: kill struct dma_client and supporting infrastructure dmaengine: replace dma_async_client_register with dmaengine_get atmel-mci: convert to dma_request_channel and down-level dma_slave dmatest: convert to dma_request_channel dmaengine: introduce dma_request_channel and private channels net_dma: convert to dma_find_channel dmaengine: provide a common 'issue_pending_all' implementation dmaengine: centralize channel allocation, introduce dma_find_channel dmaengine: up-level reference counting to the module level ... commit e293e97e363e419d8a3628a927321e3f75206a0b Author: Chris Mason Date: Fri Jan 9 13:14:17 2009 -0500 Btrfs: explicitly mark the tree log root for writeback Each subvolume has an extent_state_tree used to mark metadata that needs to be sent to disk while syncing the tree. This is used in addition to the dirty bits on the pages themselves so that a single subvolume can be sent to disk efficiently in disk order. Normally this marking happens in btrfs_alloc_free_block, which also does special recording of dirty tree blocks for the tree log roots. Yan Zheng noticed that when the root of the log tree is allocated, it is added to the wrong writeback list. The fix used here is to explicitly set it dirty as part of tree log creation. Signed-off-by: Chris Mason commit 85795dac740e63e81aeec8d49aada54ab07656b5 Author: David Woodhouse Date: Fri Jan 9 14:17:50 2009 +0000 [MTD] [MAPS] Fix printk format warning in nettel.c MTD size is 64-bit now... Pointed out by Randy Dunlap Signed-off-by: David Woodhouse commit 68874414def891ec1319ae19a1c7e9c00854d872 Author: Philip Rakity Date: Wed Oct 8 16:08:20 2008 -0700 [MTD] [NAND] add cmdline parsing (mtdparts=) support to cafe_nand [dwmw2: updated and made to still register whole device first] Signed-off-by: Philip Rakity Signed-off-by: David Woodhouse commit fefae48bf8caab7d56ee4f8181f06602cf73d29e Author: Wolfgang Grandegger Date: Thu Jan 8 19:21:27 2009 +0100 [MTD] CFI: remove major/minor version check for command set 0x0002 The NOR Flash memory K8P2815UQB from Samsung uses the major version number '0'. Add a quirk to cope with it. Signed-off-by: Wolfgang Grandegger Signed-off-by: David Woodhouse commit 555d61d6542d51563e50532ff604dcd31c96fb24 Author: Hendrik Brueckner Date: Fri Jan 9 12:15:02 2009 +0100 [S390] update documentation for hvc_iucv kernel parameter. Signed-off-by: Hendrik Brueckner Signed-off-by: Martin Schwidefsky commit 6c089fd3502c4655ad7dd9b0f83ab9cb98c98ba3 Author: Hendrik Brueckner Date: Fri Jan 9 12:15:01 2009 +0100 [S390] hvc_iucv: Special handling of IUCV HVC devices This patch introduces special handling of the IUCV HVC console device. If the first IUCV HVC terminal is used as (preferred) Linux console, and needs some special handling for hangup. The hvc_iucv_private structure contains a flag to indicate whether a IUCV HVC device is used as a console. A terminal acting as "console" behaves different if a tty hangup occurs: If the iucv communication path is severed, a tty hangup is not triggered (because the HVC layer does not notify its back-end in that case). Instead, the console session is left unchanged and the IUCV HVC device is reset to allow re-connects. Note: Any output between the disconnect and a re-connect is discarded. Signed-off-by: Hendrik Brueckner Signed-off-by: Martin Schwidefsky commit 68c6b3d2c6e49671f6974c9c5ea31c5f190cc8a5 Author: Hendrik Brueckner Date: Fri Jan 9 12:15:00 2009 +0100 [S390] hvc_iucv: Refactor console and device initialization The console_initcall() order might pick up the hvc_iucv device as preferred console even if it is not yet initialized. Move HVC console instantiation to hvc_iucv_init() and cleanup device driver initialization. Signed-off-by: Hendrik Brueckner Signed-off-by: Martin Schwidefsky commit 17e19f04ac73df05854ba2e7e945d51c494a3011 Author: Hendrik Brueckner Date: Fri Jan 9 12:14:59 2009 +0100 [S390] hvc_iucv: Update function documentation Update documentation of functions. Signed-off-by: Hendrik Brueckner Signed-off-by: Martin Schwidefsky commit c45ce4b5774498ae919f6219c751e824a7196e2b Author: Hendrik Brueckner Date: Fri Jan 9 12:14:58 2009 +0100 [S390] hvc_iucv: Limit rate of outgoing IUCV messages This patch introduces a send buffer to limit outgoing IUCV messages up to a maximum of 25 IUCV messages per second. If no communication path to a IUCV HVC terminal exist, any data written to the terminal is discarded. Signed-off-by: Hendrik Brueckner Signed-off-by: Martin Schwidefsky commit 2dc184c0ba5c8661649ed2ca0b9e97ed49860cb5 Author: Hendrik Brueckner Date: Fri Jan 9 12:14:57 2009 +0100 [S390] hvc_iucv: Change IUCV term id and use one device as default The patch renames the IUCV application ID from "ihvc" to "lnxhvc". The device driver allocates one IUCV terminal device (lnxhvc0) as default. Signed-off-by: Hendrik Brueckner Signed-off-by: Martin Schwidefsky commit 33e1911566183ac32baac35163c0962302e40f5f Author: Heiko Carstens Date: Fri Jan 9 12:14:56 2009 +0100 [S390] Use unsigned long long for u64 on 64bit. As requested by Andrew. Same as what sparc did. Signed-off-by: Heiko Carstens Signed-off-by: Martin Schwidefsky commit 19cdd08ba155dd87ebb87bb39ed097dbee671e0e Author: Jan Glauber Date: Fri Jan 9 12:14:55 2009 +0100 [S390] qdio: fix broken pointer in case of CONFIG_DEBUG_FS is disabled If CONFIG_DEBUG_FS is disabled debugfs_create_file returns -ENODEV instead of zero. Since the return value is stored and used at shutdown to remove existing entries an OOPS may be triggered. Add a check of the debugfs_create_file return value and in case of an error set the entry to NULL so it will be ignored at shutdown. Signed-off-by: Jan Glauber Signed-off-by: Martin Schwidefsky commit 81ffa0415b7ac9215c2030e2b15b8efff46605a0 Author: Heiko Carstens Date: Fri Jan 9 12:14:54 2009 +0100 [S390] vdso: compile fix !CONFIG_SMP: arch/s390/kernel/vdso.c: In function 'vdso_init': arch/s390/kernel/vdso.c:325: error: incompatible type for argument 2 of 'vdso_alloc_per_cpu' Also move the code out of the BUG_ON statement since it won't be executed on !CONFIG_BUG. And that would be a bug. Signed-off-by: Heiko Carstens Signed-off-by: Martin Schwidefsky commit f47d52afd3bc310a010a037f3cd69d75d163e845 Author: Heiko Carstens Date: Fri Jan 9 12:14:53 2009 +0100 [S390] remove code for oldselect system call The system call isn't wired up on s390. Just delete the dead code. Also we use the common code sys_ptrace system call, so the sys_ptrace declaration is pointless is well. Signed-off-by: Heiko Carstens Signed-off-by: Martin Schwidefsky commit 0680ba0133ffeac4bd3689668b05ea2d16f14ae0 Author: Heiko Carstens Date: Fri Jan 9 12:14:52 2009 +0100 [S390] types: add/fix types.h include in header files /include/asm/chpid.h:12: include of is preferred over /include/asm/chsc.h:15: found __[us]{8,16,32,64} type without #include /include/asm/cmb.h:28: found __[us]{8,16,32,64} type without #include /include/asm/dasd.h:195: found __[us]{8,16,32,64} type without #include /include/asm/kvm.h:16: include of is preferred over /include/asm/kvm.h:30: found __[us]{8,16,32,64} type without #include /include/asm/qeth.h:24: found __[us]{8,16,32,64} type without #include /include/asm/schid.h:5: found __[us]{8,16,32,64} type without #include /include/asm/swab.h:12: include of is preferred over /include/asm/swab.h:19: found __[us]{8,16,32,64} type without #include Signed-off-by: Heiko Carstens Signed-off-by: Martin Schwidefsky commit 13de227bcd80fbdaeebe1f31154487dddb7d5b1e Author: Holger Smolinski Date: Fri Jan 9 12:14:51 2009 +0100 [S390] dasd: add device attribute to disable blocking on lost paths When the connection between host and storage server is lost, the dasd device driver usually blocks all I/O on affected devices and waits for them to reappear. In some setups however it would be better if the I/O is returned as error so that device can be recovered by some other means, eg. in a raid or multipath setup. Signed-off-by: Holger Smolinski Signed-off-by: Stefan Weinhuber Signed-off-by: Martin Schwidefsky commit 1301809bcee33c2153605b4387c57fab75f9800a Author: Stefan Weinhuber Date: Fri Jan 9 12:14:50 2009 +0100 [S390] dasd: send change uevents for dasd block devices When a DASD device enters or leaves the 'online' state we need to trigger change events for the respective disk and partitions. These extra events are needed because when disk and partitions are first added, udev rules that try to read disk labels or other data may fail as the disk may not yet be ready. Signed-off-by: Stefan Weinhuber Signed-off-by: Martin Schwidefsky commit d41bf2f61d564b64aacdb58a911f99d4b413d492 Author: Kamalesh Babulal Date: Fri Jan 9 12:14:49 2009 +0100 [S390] tape block: fix dependencies CC drivers/s390/char/tape_block.o In file included from drivers/s390/char/tape_block.c:24: drivers/s390/char/tape.h:159: warning: 'struct request' declared inside parameter list Adding the dependency of CONFIG_BLOCK to CONFIG_S390_TAPE_BLOCK. Signed-off-by: Kamalesh Babulal Signed-off-by: Martin Schwidefsky commit dbb397d859b5436cfbbcb56915c4aaafe219b93f Author: Mike Frysinger Date: Fri Jan 9 12:14:48 2009 +0100 [S390] asm-s390/posix_types.h: drop __USE_ALL usage Bring s390 in line with all the other ports. Not sure how s390 missed this change as all the other arches were being updated ... CC: Heiko Carstens CC: linux390@de.ibm.com CC: linux-s390@vger.kernel.org Signed-off-by: Mike Frysinger Signed-off-by: Martin Schwidefsky commit 2020238b2bb20685e03351426562f8288419ce14 Author: Huang Weiyi Date: Fri Jan 9 12:14:47 2009 +0100 [S390] gettimeofday.S: removed duplicated #includes Removed duplicated #include's in arch/s390/kernel/vdso32/gettimeofday.S Signed-off-by: Huang Weiyi Signed-off-by: Martin Schwidefsky commit 16de0582bbfdd6cc57a0db807a56b7d4ec2a4150 Author: Heiko Carstens Date: Fri Jan 9 12:14:46 2009 +0100 [S390] ptrace: no extern declarations for userspace /include/asm/ptrace.h:275: extern's make no sense in userspace /include/asm/ptrace.h:279: extern's make no sense in userspace /include/asm/ptrace.h:280: extern's make no sense in userspace Signed-off-by: Heiko Carstens Signed-off-by: Martin Schwidefsky commit c6d1662b229410e64092fe3a9caed6535fb3dc65 Author: Peter Ujfalusi Date: Thu Jan 8 15:52:43 2009 +0200 ASoC: TWL4030: Module unloading fix Call the snd_soc_free_pcm and snd_soc_dapm_free when the codec driver is unloaded. Signed-off-by: Peter Ujfalusi Signed-off-by: Mark Brown commit d97c0defba25a959a990f6d4759f43075540832e Merge: ec9f168 b4f9fe1 Author: Len Brown Date: Fri Jan 9 04:01:26 2009 -0500 Merge branch 'drivers-platform' into release Conflicts: drivers/misc/Kconfig Signed-off-by: Len Brown commit 5a9e02e94989323c2a7102e2fc80ee9102b19fa0 Author: Wu Fengguang Date: Fri Jan 9 16:45:24 2009 +0800 ALSA: hda - create hda_codec.control_mutex for kcontrol->private_value Fix the following lockdep warning by not reusing the hda_codec.spdif_mutex. ALSA sound/pci/hda/hda_codec.c:882: hda_codec_cleanup_stream: NID=0x2 ======================================================= [ INFO: possible circular locking dependency detected ] 2.6.28-next-20090102 #33 ------------------------------------------------------- mplayer/3151 is trying to acquire lock: (&pcm->open_mutex){--..}, at: [] snd_pcm_release+0x43/0xd0 [snd_pcm] but task is already holding lock: (&mm->mmap_sem){----}, at: [] sys_munmap+0x42/0x80 which lock already depends on the new lock. Signed-off-by: Wu Fengguang Signed-off-by: Takashi Iwai commit ec9f168fcc344d2ffec1c8c822076bf22dab5c33 Merge: b2576e1 087da3b Author: Len Brown Date: Fri Jan 9 03:41:08 2009 -0500 Merge branch 'simplify_PRT' into release Conflicts: drivers/acpi/pci_irq.c Note that this merge disables e1d3a90846b40ad3160bf4b648d36c6badad39ac pci, acpi: reroute PCI interrupt to legacy boot interrupt equivalent Signed-off-by: Len Brown commit b2576e1d4408e134e2188c967b1f28af39cd79d4 Merge: 3cc8a5f 2150edc Author: Len Brown Date: Fri Jan 9 03:39:43 2009 -0500 Merge branch 'linus' into release commit 3cc8a5f4ba91f67bbdb81a43a99281a26aab8d77 Merge: d0302bc ada9cfd Author: Len Brown Date: Fri Jan 9 03:38:15 2009 -0500 Merge branch 'suspend' into release commit d0302bc62af7983040ea1cd1b5dd2b36e1a6a509 Merge: 106ad8d 237889b Author: Len Brown Date: Fri Jan 9 03:37:48 2009 -0500 Merge branch 'misc' into release Conflicts: include/acpi/acpixf.h Signed-off-by: Len Brown commit 106ad8d6b0a7c1a597fab56ec692c39f553fabbc Merge: 33a8c92 f87a1a5 Author: Len Brown Date: Fri Jan 9 03:37:26 2009 -0500 Merge branch 'fujitsu-laptop' into release commit 33a8c927e423a205bcbbecdc43b451bad781a08e Merge: b8ef914 8a383ef Author: Len Brown Date: Fri Jan 9 03:37:20 2009 -0500 Merge branch 'fluff' into release commit b8ef914e58e90c3b4dba5f5bdd8ab04c45d3e008 Merge: a8e896e 3e54048 935e5f2 7b37b5f Author: Len Brown Date: Fri Jan 9 03:37:11 2009 -0500 Merge branches 'release', 'bugzilla-11880', 'bugzilla-12037' and 'bugzilla-12257' into release commit a8e896e2813316a2d3657dc07d5eef83c3b2d9f4 Merge: 39cecf2 50b1785 Author: Len Brown Date: Fri Jan 9 03:36:59 2009 -0500 Merge branch 'battery' into release commit 39cecf2091f10c3a5052d1e58da690d20852b243 Merge: 38f64c7 d944718 Author: Len Brown Date: Fri Jan 9 03:36:53 2009 -0500 Merge branch 'asus-eeepc' into release commit 38f64c771bece2cdbd72ed733e6fc8f2e279a7c1 Merge: e2f7a77 2602a67 Author: Len Brown Date: Fri Jan 9 03:36:32 2009 -0500 Merge branch 'alarm' into release commit e2f7a7772880458edff1b1cc5a988947229fac26 Author: Len Brown Date: Fri Jan 9 00:30:03 2009 -0500 ACPICA: hide private headers Signed-off-by: Len Brown commit 95b482a8d31116f3f5c2a5089569393234d06385 Author: Len Brown Date: Fri Jan 9 00:13:17 2009 -0500 ACPICA: create acpica/ directory also, delete sleep/ and delete ACPI_CFLAGS from Makefile Signed-off-by: Len Brown commit 2602a671ad7321a25d253c080837e4569a9bceed Author: Len Brown Date: Fri Jan 9 02:10:16 2009 -0500 ACPI: fix build warning when CONFIG_RTC_DRV_CMOS=m and thus !defined(HAVE_ACPI_LEGACY_ALARM) drivers/acpi/proc.c:85: warning: ‘cmos_bcd_read’ declared ‘static’ but never defined Signed-off-by: Len Brown commit 16b2857589b77c486f6261fbd0a28107bb9c9953 Author: Takashi Iwai Date: Fri Jan 9 07:51:10 2009 +0100 ALSA: caiaq - Version 1.3.10 Increase the version number in module info to indicate the fixes. Signed-off-by: Takashi Iwai commit 237889bf0a62f1399fb2ba0c2a259e6a96597131 Author: Zhao Yakui Date: Wed Dec 17 16:55:18 2008 +0800 ACPI : Use RSDT instead of XSDT by adding boot option of "acpi=rsdt" On some boxes there exist both RSDT and XSDT table. But unfortunately sometimes there exists the following error when XSDT table is used: a. 32/64X address mismatch b. The 32/64X FACS address mismatch In such case the boot option of "acpi=rsdt" is provided so that RSDT is tried instead of XSDT table when the system can't work well. http://bugzilla.kernel.org/show_bug.cgi?id=8246 Signed-off-by: Zhao Yakui cc:Thomas Renninger Signed-off-by: Len Brown commit 13b40a1a065824d2d4e55c8b48ea9f3f9d162929 Author: Zhao Yakui Date: Sun Jan 4 12:04:21 2009 +0800 ACPI: Avoid array address overflow when _CST MWAIT hint bits are set The Cx Register address obtained from the _CST object is used as the MWAIT hints if the register type is FFixedHW. And it is used to check whether the Cx type is supported or not. On some boxes the following Cx state package is obtained from _CST object: >{ ResourceTemplate () { Register (FFixedHW, 0x01, // Bit Width 0x02, // Bit Offset 0x0000000000889759, // Address 0x03, // Access Size ) }, 0x03, 0xF5, 0x015E } In such case we should use the bit[7:4] of Cx address to check whether the Cx type is supported or not. mask the MWAIT hint to avoid array address overflow Signed-off-by: Zhao Yakui Acked-by:Venki Pallipadi Signed-off-by: Len Brown commit 0335cb76aa3fa913a2164bc9b669e5aef9d56fa3 Author: Lachlan McIlroy Date: Wed Dec 31 12:10:12 2008 +1100 [XFS] Update maintainers New maintainer contact and new tree location. Reviewed-by: Bill O`Donnell Signed-off-by: Lachlan McIlroy commit 0087167c9d5b1273e7e6bbe39a9ab13bdb9a39bb Author: Nick Piggin Date: Tue Jan 6 14:43:09 2009 +1100 [XFS] use scalable vmap API Implement XFS's large buffer support with the new vmap APIs. See the vmap rewrite (db64fe02) for some numbers. The biggest improvement that comes from using the new APIs is avoiding the global KVA allocation lock on every call. Signed-off-by: Nick Piggin Reviewed-by: Christoph Hellwig Signed-off-by: Lachlan McIlroy commit 958f8c0e4fc311e23a40635a530c01aec366a6e8 Author: Nick Piggin Date: Tue Jan 6 14:40:44 2009 +1100 [XFS] remove old vmap cache XFS's vmap batching simply defers a number (up to 64) of vunmaps, and keeps track of them in a list. To purge the batch, it just goes through the list and calls vunamp on each one. This is pretty poor: a global TLB flush is generally still performed on each vunmap, with the most expensive parts of the operation being the broadcast IPIs and locking involved in the SMP callouts, and the locking involved in the vmap management -- none of these are avoided by just batching up the calls. I'm actually surprised it ever made much difference. (Now that the lazy vmap allocator is upstream, this description is not quite right, but the vunmap batching still doesn't seem to do much) Rip all this logic out of XFS completely. I will improve vmap performance and scalability directly in subsequent patch. Signed-off-by: Nick Piggin Reviewed-by: Christoph Hellwig Signed-off-by: Lachlan McIlroy commit f87a1a5f6cdaff6232fed2ef0ae0479df9e781e8 Author: Tony Vroon Date: Wed Jan 7 10:11:24 2009 +0000 fujitsu-laptop: Simplify SBLL/SBL2 backlight handling GBLS and GBLL only differ in the clearing of the GHKS flag, so there is no need to have two backlight level readouts. Also, per Peter Gruber, the need for the BLNF check has disappeared. As a result, cleanups can be made in the code. This has been tested on the both the S6410 and the S6420 platforms and causes no functionality regressions, on the console without X or within X. One module parameter to disable the hotkeys is dropped, as we only ever took one codepath anyway. Signed-off-by: Tony Vroon Tested-by: Peter Gruber Tested-By: Stephen Gildea Acked-by: Jonathan Woithe Signed-off-by: Len Brown commit 3a407086090bb4fa1908d4dc3739c9ebc8ad6686 Author: Tony Vroon Date: Wed Dec 31 18:19:59 2008 +0000 fujitsu-laptop: Add BL power, LED control and radio state information The FUNC interface in the Fujitsu-Siemens DSDT was unused until now. It exposes state information that is now reported in additional platform files (whether the radios are killed by the hardware switch or operational, whether the machine is docked and whether the lid is open). Support for the backlight class is now extended with the ability to power the backlight on & off. Optional support for the LED class allows the keyboard headlamps found on the U810 netbook and the Fujitsu logo illumination on the P8010 notebook to be turned on & off. This was fed through checkpatch.pl and tested on the S6420, P8010 & U810 platforms. Signed-off-by: Stephen Gildea Tested-by: Stephen Gildea Tested-by: Julian Brown Signed-off-by: Tony Vroon Tested-by: Peter Gruber Acked-by: Jonathan Woithe Signed-off-by: Len Brown commit 058652a37dd9eac18d6b8c1a311137c679de9dae Author: Christoph Hellwig Date: Thu Jan 8 13:42:25 2009 -0500 [XFS] make xfs_ino_t an unsigned long long Currently xfs_ino_t is defined as a u64 which can either be an unsigned long long or on some 64 bit platforms and unsigned long. Just making it and unsigned long long mean's it's still always 64 bits wide, but we don't need to resort to cases to print it. Fixes a warning regression on 64 bit powerpc in current git. Signed-off-by: Christoph Hellwig Reviewed-by: Dave Chinner Signed-off-by: Lachlan McIlroy commit 15440319767942a363f282d6585303d3d75088ba Author: Christoph Hellwig Date: Thu Jan 8 14:00:00 2009 -0500 [XFS] truncate readdir offsets to signed 32 bit values John Stanley reported EOVERFLOW errors in readdir from his self-build glibc. I traced this down to glibc enabling d_off overflow checks in one of the about five million different getdents implementations. In 2.6.28 Dave Woodhouse moved our readdir double buffering required for NFS4 readdirplus into nfsd and at that point we lost the capping of the directory offsets to 32 bit signed values. Johns glibc used getdents64 to even implement readdir for normal 32 bit offset dirents, and failed with EOVERFLOW only if this happens on the first dirent in a getdents call. I managed to come up with a testcase that uses raw getdents and does the EOVERFLOW check manually. We always hit it with our last entry due to the special end of directory marker. The patch below is a dumb version of just putting back the masking, to make sure we have the same behavior as in 2.6.27 and earlier. I will work on a better and cleaner fix for 2.6.30. Reported-by: John Stanley Tested-by: John Stanley Signed-off-by: Christoph Hellwig Reviewed-by: Dave Chinner Signed-off-by: Lachlan McIlroy commit e6edbd1c1cbef278d58cdd8b046599ba8ac90cfc Author: Christoph Hellwig Date: Thu Jan 8 13:42:23 2009 -0500 [XFS] fix compile of xfs_btree_readahead_lblock on m68k Change the left/right variables to the proper always 64bit xfs_dfsbo_t type because otherwise compilation fails for Geert on m68k without CONFIG_LBD: | fs/xfs/xfs_btree.c: In function 'xfs_btree_readahead_lblock': | fs/xfs/xfs_btree.c:736: warning: comparison is always true due to limited range of data type | fs/xfs/xfs_btree.c:741: warning: comparison is always true due to limited range of data type Reported-by: Geert Uytterhoeven Signed-off-by: Christoph Hellwig Reviewed-by: Dave Chinner Signed-off-by: Lachlan McIlroy commit fb82557f16f3700ae4961a4ce599bdaff6a10b1c Author: Eric Sandeen Date: Fri Jan 9 15:53:54 2009 +1100 [XFS] Remove macro-to-function indirections in the mask code Signed-off-by: Eric Sandeen Reviewed-by: Christoph Hellwig Signed-off-by: Lachlan McIlroy commit c9fb86a917640d66ba2e0613a12f3a76eda8a30f Author: Eric Sandeen Date: Thu Jan 1 16:40:11 2009 -0600 [XFS] Remove macro-to-function indirections in attr code Signed-off-by: Eric Sandeen Reviewed-by: Christoph Hellwig Signed-off-by: Lachlan McIlroy commit 9800b550355e99c9bcaba7ec6540751dce0823d7 Author: Eric Sandeen Date: Thu Jan 1 16:40:10 2009 -0600 [XFS] Remove several unused typedefs. Signed-off-by: Eric Sandeen Reviewed-by: Christoph Hellwig Signed-off-by: Lachlan McIlroy commit 6620e0c49f577454b772fb381543d60ae53eb885 Author: Len Brown Date: Thu Jan 8 23:46:09 2009 -0500 ACPICA: delete utcache.c ACPI_USE_LOCAL_CACHE will never be defined by the Linux kernel, and thus utcache.c will always be dead code. Signed-off-by: Len Brown commit 5b929aa1ae7c64b40ab85c7b49d9f086747c85d2 Author: Len Brown Date: Thu Jan 8 23:44:17 2009 -0500 ACPICA: delete acdisasm.h it is referenced only #ifdef ACPI_DISASSEMBLER, which is never set by the kernel. Signed-off-by: Len Brown commit c9a98553d513dfc82cdce869970d5662c1f22c68 Author: Christoph Hellwig Date: Thu Jan 1 14:21:16 2009 -0500 [XFS] pass XFS_IGET_BULKSTAT to xfs_iget for handle operations NFS clients or users of the handle ioctls can pass us arbitrary inode numbers through the exportfs interface. Make sure we use the XFS_IGET_BULKSTAT so that these don't cause shutdowns due to the corruption checks. Also translate the EINVAL we get back for invalid inode clusters into an ESTALE which is more appropinquate, and remove the useless check for a NULL inode on a successfull xfs_iget return. I have a testcase to reproduce this using the handle interface which I will submit to xfsqa. Reported-by: Mario Becroft Signed-off-by: Christoph Hellwig Reviewed-by: Eric Sandeen Signed-off-by: Lachlan McIlroy commit 2150edc6c5cf00f7adb54538b9ea2a3e9cedca3f Merge: cd76469 4b90567 Author: Linus Torvalds Date: Thu Jan 8 17:14:59 2009 -0800 Merge branch 'for_linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tytso/ext4 * 'for_linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tytso/ext4: (57 commits) jbd2: Fix oops in jbd2_journal_init_inode() on corrupted fs ext4: Remove "extents" mount option block: Add Kconfig help which notes that ext4 needs CONFIG_LBD ext4: Make printk's consistently prefixed with "EXT4-fs: " ext4: Add sanity checks for the superblock before mounting the filesystem ext4: Add mount option to set kjournald's I/O priority jbd2: Submit writes to the journal using WRITE_SYNC jbd2: Add pid and journal device name to the "kjournald2 starting" message ext4: Add markers for better debuggability ext4: Remove code to create the journal inode ext4: provide function to release metadata pages under memory pressure ext3: provide function to release metadata pages under memory pressure add releasepage hooks to block devices which can be used by file systems ext4: Fix s_dirty_blocks_counter if block allocation failed with nodelalloc ext4: Init the complete page while building buddy cache ext4: Don't allow new groups to be added during block allocation ext4: mark the blocks/inode bitmap beyond end of group as used ext4: Use new buffer_head flag to check uninit group bitmaps initialization ext4: Fix the race between read_inode_bitmap() and ext4_new_inode() ext4: code cleanup ... commit 222bfda032d01d99501257e01a79833094f689f6 Author: Julian Calaby Date: Thu Jan 8 16:59:01 2009 -0800 sparc: Eliminate PROMLIB_INTERNAL as it does nothing Signed-off-by: Julian Calaby Signed-off-by: David S. Miller commit bc835978cfb5dbb904a9d2e13804b6c343743530 Author: Julian Calaby Date: Thu Jan 8 16:58:42 2009 -0800 sparc: Kill exports of prom internal functions __prom_getchild() and __prom_getsibling() are not used anywhere, so don't export them. Signed-off-by: Julian Calaby Signed-off-by: David S. Miller commit 917c3660d6d9a4b073a3db7c10f6989adae4e191 Author: Sam Ravnborg Date: Thu Jan 8 16:58:20 2009 -0800 sparc64: move EXPORT_SYMBOL to the symbols definition Move all applicable EXPORT_SYMBOL()s to the file where the respective symbol is defined. Removed all the includes that are no longer needed in sparc_ksyms_64.c Comment all remaining EXPORT_SYMBOL()s in sparc_ksyms_64.c Signed-off-by: Sam Ravnborg Additions by Julian Calaby: * Moved EXPORT_SYMBOL()s for prom functions to their rightful places. * Made some minor cleanups to the includes and comments of sparc_ksyms_64.c * Updated and tidied commit message. * Rebased patch over sparc-2.6.git HEAD. * Ensured that all modified files have the correct includes. Signed-off-by: Julian Calaby Signed-off-by: David S. Miller commit 6943f3da3e64edd95ee2d33abc0a642357746ba6 Author: Sam Ravnborg Date: Thu Jan 8 16:58:05 2009 -0800 sparc: move EXPORT_SYMBOL to the symbols definition Move all applicable EXPORT_SYMBOL()s to the file where the respective symbol is defined. Removed all the includes that are no longer needed in sparc_ksyms_32.c Comment all remaining EXPORT_SYMBOL()s in sparc_ksyms_32.c Two symbols are shared with sparc64 thus the exports were removed from the sparc_ksyms_64.c too, along with the include their ommission made redundant. Signed-off-by: Sam Ravnborg Additions by Julian Calaby: * Moved EXPORT_SYMBOL()s for prom functions to their rightful places. * Made some minor cleanups to the includes and comments of sparc_ksyms_32.c * Made another subtraction from sparc_ksyms_64.c * Updated and tidied commit message. * Rebased patch over sparc-2.6.git HEAD. * Ensured that all modified files have the correct includes. Signed-off-by: Julian Calaby Signed-off-by: David S. Miller commit 45536ffc8dcb7798ff4818f54391547e5af19648 Author: Sam Ravnborg Date: Thu Jan 8 16:57:35 2009 -0800 sparc: Create a new file lib/ksyms.c and add export of all symbols defined in assembler in lib/ to this file. Remove the duplicate entries from kernel/sparc_ksyms_*.c The rationale behind this is that the EXPORT_SYMBOL() should be close to their definition and we cannot add designate a symbol to be exported in assembler so at least put it in a file in the same directory. Signed-off-by: Sam Ravnborg Additions by Julian Calaby: * Rebased over sparc-2.6.git HEAD Signed-off-by: Julian Calaby Signed-off-by: David S. Miller commit b41418f48c389bad4cd87156792b4a4f24a70729 Author: David S. Miller Date: Thu Jan 8 16:52:36 2009 -0800 sparc: Most unaligned_64.c tweaks for branch tracer warnings. arch/sparc/kernel/unaligned_64.c: In function 'handle_lddfmna': arch/sparc/kernel/unaligned_64.c:592: warning: 'second' may be used uninitialized in this function Signed-off-by: David S. Miller commit a638f25ab04bcb8fd3012b0d4a2fe7dab329f82c Author: David S. Miller Date: Thu Jan 8 16:47:17 2009 -0800 sparc: Fix sun4d_irq.c build. Reported by Robert Reif. Fallout from 'swap' changes. Signed-off-by: David S. Miller commit dd5d1241ebd3fe72a9a245912fd49137f311a524 Author: David S. Miller Date: Thu Jan 8 16:46:17 2009 -0800 sparc: Update 32-bit defconfig. Signed-off-by: David S. Miller commit cd764695b67386a81964f68e9c66efd9f13f4d29 Merge: 97d61b8 ffda8c7 Author: Linus Torvalds Date: Thu Jan 8 16:27:31 2009 -0800 Merge git://git.kernel.org/pub/scm/linux/kernel/git/jejb/scsi-misc-2.6 * git://git.kernel.org/pub/scm/linux/kernel/git/jejb/scsi-misc-2.6: (45 commits) [SCSI] qla2xxx: Update version number to 8.03.00-k1. [SCSI] qla2xxx: Add ISP81XX support. [SCSI] qla2xxx: Use proper request/response queues with MQ instantiations. [SCSI] qla2xxx: Correct MQ-chain information retrieval during a firmware dump. [SCSI] qla2xxx: Collapse EFT/FCE copy procedures during a firmware dump. [SCSI] qla2xxx: Don't pollute kernel logs with ZIO/RIO status messages. [SCSI] qla2xxx: Don't fallback to interrupt-polling during re-initialization with MSI-X enabled. [SCSI] qla2xxx: Remove support for reading/writing HW-event-log. [SCSI] cxgb3i: add missing include [SCSI] scsi_lib: fix DID_RESET status problems [SCSI] fc transport: restore missing dev_loss_tmo callback to LLDD [SCSI] aha152x_cs: Fix regression that keeps driver from using shared interrupts [SCSI] sd: Correctly handle 6-byte commands with DIX [SCSI] sd: DIF: Fix tagging on platforms with signed char [SCSI] sd: DIF: Show app tag on error [SCSI] Fix error handling for DIF/DIX [SCSI] scsi_lib: don't decrement busy counters when inserting commands [SCSI] libsas: fix test for negative unsigned and typos [SCSI] a2091, gvp11: kill warn_unused_result warnings [SCSI] fusion: Move a dereference below a NULL test ... Fixed up trivial conflict due to moving the async part of sd_probe around in the async probes vs using dev_set_name() in naming. commit 97d61b8e3aef163a75f80f4762794c154572293d Merge: 1df2d01 048cd58 Author: Linus Torvalds Date: Thu Jan 8 16:04:50 2009 -0800 Merge branch 'bkl-removal' of git://git.lwn.net/linux-2.6 * 'bkl-removal' of git://git.lwn.net/linux-2.6: RTC: Remove the BKL. commit 1df2d017fe9d22a49bad157b4f5aa19212f29557 Merge: 022992e d5b5243 Author: Linus Torvalds Date: Thu Jan 8 15:52:13 2009 -0800 Merge branch 'docs-next' of git://git.lwn.net/linux-2.6 * 'docs-next' of git://git.lwn.net/linux-2.6: Fix a typo in the development process document. Document handling of bad memory Document RCU and unloadable modules commit 048cd5888f81713af4597bde5815f32d58fdf5b0 Author: David John Date: Thu Oct 23 13:55:56 2008 +0530 RTC: Remove the BKL. Remove calls to the BKL since concurrent access is protected by the spin lock rtc_lock. Signed-off-by: David John Cc: Ingo Molnar Signed-off-by: Jonathan Corbet commit d5b524327b2a482dddae3839ced8f8825074730d Author: Jonathan Corbet Date: Thu Jan 8 16:32:13 2009 -0700 Fix a typo in the development process document. Reported-by: Aníbal Monsalve Salazar Signed-off-by: Jonathan Corbet commit 022992ee59e90fef719493c09988884be157fb73 Merge: 5fbbf5f 0ba4887 Author: Linus Torvalds Date: Thu Jan 8 14:51:11 2009 -0800 Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/lrg/voltage-2.6 * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/lrg/voltage-2.6: regulator: fix kernel-doc warnings regulator: catch some registration errors regulator: Add basic DocBook manual regulator: Fix some kerneldoc rendering issues regulator: Add missing kerneldoc regulator: Clean up kerneldoc warnings regulator: Remove extraneous kerneldoc annotations regulator: init/link earlier regulator: move set_machine_constraints after regulator device initialization regulator: da903x: make da903x_is_enabled return 0 or 1 regulator: da903x: add '\n' to error messages regulator: sysfs attribute reduction (v2) regulator: code shrink (v2) regulator: improved mode error checks regulator: enable/disable refcounting regulator: struct device - replace bus_id with dev_name(), dev_set_name() commit 5fbbf5f648a9c4ef99276854f05b2255d1b004d3 Merge: ce279e6 56cf391 Author: Linus Torvalds Date: Thu Jan 8 14:25:41 2009 -0800 Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-2.6 * git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-2.6: (84 commits) wimax: fix kernel-doc for debufs_dentry member of struct wimax_dev net: convert pegasus driver to net_device_ops bnx2x: Prevent eeprom set when driver is down net: switch kaweth driver to netdevops pcnet32: round off carrier watch timer i2400m/usb: wrap USB power saving in #ifdef CONFIG_PM wimax: testing for rfkill support should also test for CONFIG_RFKILL_MODULE wimax: fix kconfig interactions with rfkill and input layers wimax: fix '#ifndef CONFIG_BUG' layout to avoid warning r6040: bump release number to 0.20 r6040: warn about MAC address being unset r6040: check PHY status when bringing interface up r6040: make printks consistent with DRV_NAME gianfar: Fixup use of BUS_ID_SIZE mlx4_en: Returning real Max in get_ringparam mlx4_en: Consider inline packets on completion netdev: bfin_mac: enable bfin_mac net dev driver for BF51x qeth: convert to net_device_ops vlan: add neigh_setup dm9601: warn on invalid mac address ... commit ce279e6ec91c49f2c5f59f7492e19d39edbf8bbd Merge: 894bcdf 97b5fe8 Author: Linus Torvalds Date: Thu Jan 8 14:25:00 2009 -0800 Merge master.kernel.org:/home/rmk/linux-2.6-arm * master.kernel.org:/home/rmk/linux-2.6-arm: (23 commits) [ARM] fix pxa930_trkball build errors [ARM] fix netx [ARM] fix pnx4008 [ARM] fix pxa [ARM] remove missed CLPS7500 defconfig [ARM] clps711x: fix warning in edb7211-mm.c [ARM] clps711x: fix warning in fortunet [ARM] fix AT91, davinci, h720x, ks8695, msm, mx2, mx3, netx, omap1, omap2, pxa, s3c [ARM] Fix realview build [ARM] 5357/1: Kirkwood: add missing ge01 tclk initialization [ARM] 5358/1: AT2440EVB: Use new include path of mci.h [ARM] 5361/1: mv78xx0: fix compilation error [ARM] 5360/1: Orion: fix compilation error [ARM] 5359/1: Kirkwood: fix compilation error [ARM] S3C64XX: Fix EINT group macro definition [ARM] Ensure CONFIG_SERIAL_SAMSUNG_UARTS is always set. [ARM] S3C24XX: Add gpio_to_irq implementation [ARM] S3C24XX: Add gpio_to_irq() facility [ARM] footbridge: dc21285.c warning fixes [ARM] footbridge: add isa_init_irq() to common header ... commit 894bcdfb1a40a7c5032242c380b956aab106e05d Merge: a419df8 4044ba5 Author: Linus Torvalds Date: Thu Jan 8 14:03:34 2009 -0800 Merge branch 'for-linus' of git://neil.brown.name/md * 'for-linus' of git://neil.brown.name/md: md: don't retry recovery of raid1 that fails due to error on source drive. md: Allow md devices to be created by name. md: make devices disappear when they are no longer needed. md: centralise all freeing of an 'mddev' in 'md_free' md: move allocation of ->queue from mddev_find to md_probe md: need another print_sb for mdp_superblock_1 md: use list_for_each_entry macro directly md: raid0: make hash_spacing and preshift sector-based. md: raid0: Represent the size of strip zones in sectors. md: raid0 create_strip_zones(): Add KERN_INFO/KERN_ERR to printk's. md: raid0 create_strip_zones(): Make two local variables sector-based. md: raid0: Represent zone->zone_offset in sectors. md: raid0: Represent device offset in sectors. md: raid0_make_request(): Replace local variable block by sector. md: raid0_make_request(): Remove local variable chunk_size. md: raid0_make_request(): Replace chunksize_bits by chunksect_bits. md: use sysfs_notify_dirent to notify changes to md/sync_action. md: fix bitmap-on-external-file bug. commit 97b5fe8e28d78779e35ac283bacb9eceffd5b4a3 Merge: be680c7 bdbb861 Author: Russell King Date: Thu Jan 8 22:01:49 2009 +0000 Merge branch 'devel' commit a419df8a0ff01b6694cebc8885778f854165d17d Merge: 33b04b9 0fe40ff Author: Linus Torvalds Date: Thu Jan 8 14:01:36 2009 -0800 Merge branch 'upstream-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jgarzik/libata-dev * 'upstream-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jgarzik/libata-dev: libata: clean up the SFF code for coding style libata: Add 32bit PIO support [libata] ahci: Withdraw IGN_SERR_INTERNAL for SB800 SATA pata_hpt366: reimplement mode programming [libata] pata_hpt3x3: correct _freeze() function declaration libata: Add special ata_pio_need_iordy() handling for Compact Flash. pata_platform: __pata_platform_remove() shouldn't be in discard section sata_sil24: remove unused sil24_port_multiplier [libata] ahci: Add SATA GEN3 related messages ata_piix: save, use saved and restore IOCFG pata_ali: Fix and workaround for FIFO DMA bug pata_ali: force initialise a few bits pata_hpt3x3: Workarounds for chipset commit be680c716c465a173c1c783185e3d023899742fc Merge: d8f2f18 0dc6c49 Author: Russell King Date: Thu Jan 8 22:01:34 2009 +0000 Merge branch 'next-footbridge' of git://aeryn.fluff.org.uk/bjdooks/linux commit 0fe40ff891faa940e539bd5a92c4a5dd9ae49b0b Author: Alan Cox Date: Mon Jan 5 14:16:13 2009 +0000 libata: clean up the SFF code for coding style Signed-off-by: Alan Cox Signed-off-by: Jeff Garzik commit 871af1210f13966ab911ed2166e4ab2ce775b99d Author: Alan Cox Date: Mon Jan 5 14:16:39 2009 +0000 libata: Add 32bit PIO support This matters for some controllers and in one or two cases almost doubles PIO performance. Add a bmdma32 operations set we can inherit and activate it for some controllers Signed-off-by: Alan Cox Signed-off-by: Jeff Garzik commit e427fe042cf90c0652eed9a85e57a8fd8af89890 Author: Shane Huang Date: Tue Dec 30 10:53:41 2008 +0800 [libata] ahci: Withdraw IGN_SERR_INTERNAL for SB800 SATA There is an issue in ATI SB600/SB700 SATA that PxSERR.E should not be set on some conditions, which will lead to many SATA ODD error messages. commit 55a61604cd1354e1783364e1c901034f2f474b7d is the workaround. Since SB800 fixed this HW issue, IGN_SERR_INTERNAL should be withdrawn for SB800. Signed-off-by: Shane Huang Signed-off-by: Jeff Garzik commit 4044ba58dd15cb01797c4fd034f39ef4a75f7cc3 Author: NeilBrown Date: Fri Jan 9 08:31:11 2009 +1100 md: don't retry recovery of raid1 that fails due to error on source drive. If a raid1 has only one working drive and it has a sector which gives an error on read, then an attempt to recover onto a spare will fail, but as the single remaining drive is not removed from the array, the recovery will be immediately re-attempted, resulting in an infinite recovery loop. So detect this situation and don't retry recovery once an error on the lone remaining drive is detected. Allow recovery to be retried once every time a spare is added in case the problem wasn't actually a media error. Signed-off-by: NeilBrown commit efeb53c0e57213e843b7ef3cc6ebcdea7d6186ac Author: NeilBrown Date: Fri Jan 9 08:31:10 2009 +1100 md: Allow md devices to be created by name. Using sequential numbers to identify md devices is somewhat artificial. Using names can be a lot more user-friendly. Also, creating md devices by opening the device special file is a bit awkward. So this patch provides a new option for creating and naming devices. Writing a name such as "md_home" to /sys/modules/md_mod/parameters/new_array will cause an array with that name to be created. It will appear in /sys/block/ /proc/partitions and /proc/mdstat as 'md_home'. It will have an arbitrary minor number allocated. md devices that a created by an open are destroyed on the last close when the device is inactive. For named md devices, they will not be destroyed until the array is explicitly stopped, either with the STOP_ARRAY ioctl or by writing 'clear' to /sys/block/md_XXXX/md/array_state. The name of the array must start 'md_' to avoid conflict with other devices. Signed-off-by: NeilBrown commit d3374825ce57ba2214d375023979f6197ccc1385 Author: NeilBrown Date: Fri Jan 9 08:31:10 2009 +1100 md: make devices disappear when they are no longer needed. Currently md devices, once created, never disappear until the module is unloaded. This is essentially because the gendisk holds a reference to the mddev, and the mddev holds a reference to the gendisk, this a circular reference. If we drop the reference from mddev to gendisk, then we need to ensure that the mddev is destroyed when the gendisk is destroyed. However it is not possible to hook into the gendisk destruction process to enable this. So we drop the reference from the gendisk to the mddev and destroy the gendisk when the mddev gets destroyed. However this has a complication. Between the call __blkdev_get->get_gendisk->kobj_lookup->md_probe and the call __blkdev_get->md_open there is no obvious way to hold a reference on the mddev any more, so unless something is done, it will disappear and gendisk will be destroyed prematurely. Also, once we decide to destroy the mddev, there will be an unlockable moment before the gendisk is unlinked (blk_unregister_region) during which a new reference to the gendisk can be created. We need to ensure that this reference can not be used. i.e. the ->open must fail. So: 1/ in md_probe we set a flag in the mddev (hold_active) which indicates that the array should be treated as active, even though there are no references, and no appearance of activity. This is cleared by md_release when the device is closed if it is no longer needed. This ensures that the gendisk will survive between md_probe and md_open. 2/ In md_open we check if the mddev we expect to open matches the gendisk that we did open. If there is a mismatch we return -ERESTARTSYS and modify __blkdev_get to retry from the top in that case. In the -ERESTARTSYS sys case we make sure to wait until the old gendisk (that we succeeded in opening) is really gone so we loop at most once. Some udev configurations will always open an md device when it first appears. If we allow an md device that was just created by an open to disappear on an immediate close, then this can race with such udev configurations and result in an infinite loop the device being opened and closed, then re-open due to the 'ADD' even from the first open, and then close and so on. So we make sure an md device, once created by an open, remains active at least until some md 'ioctl' has been made on it. This means that all normal usage of md devices will allow them to disappear promptly when not needed, but the worst that an incorrect usage will do it cause an inactive md device to be left in existence (it can easily be removed). As an array can be stopped by writing to a sysfs attribute echo clear > /sys/block/mdXXX/md/array_state we need to use scheduled work for deleting the gendisk and other kobjects. This allows us to wait for any pending gendisk deletion to complete by simply calling flush_scheduled_work(). Signed-off-by: NeilBrown commit a21d15042d8cd736caf82c2bac564f3f93f3d017 Author: NeilBrown Date: Fri Jan 9 08:31:09 2009 +1100 md: centralise all freeing of an 'mddev' in 'md_free' md_free is the .release handler for the md kobj_type. So it makes sense to release all the objects referenced by the mddev in there, rather than just prior to calling kobject_put for what we think is the last time. Signed-off-by: NeilBrown commit 8b76539823d71576927e3eb08b395eb6620f628d Author: NeilBrown Date: Fri Jan 9 08:31:08 2009 +1100 md: move allocation of ->queue from mddev_find to md_probe It is more balanced to just do simple initialisation in mddev_find, which allocates and links a new md device, and leave all the more sophisticated allocation to md_probe (which calls mddev_find). md_probe already allocated the gendisk. It should allocate the queue too. Signed-off-by: NeilBrown commit cd2ac9321c26dc7a76455cd2a4df89123fa2b73e Author: Cheng Renquan Date: Fri Jan 9 08:31:08 2009 +1100 md: need another print_sb for mdp_superblock_1 md_print_devices is called in two code path: MD_BUG(...), and md_ioctl with PRINT_RAID_DEBUG. it will dump out all in use md devices information; However, it wrongly processed two types of superblock in one: The header file has defined two types of superblock, struct mdp_superblock_s (typedefed with mdp_super_t) according to md with metadata 0.90, and struct mdp_superblock_1 according to md with metadata 1.0 and later, These two types of superblock are very different, The md_print_devices code processed them both in mdp_super_t, that would lead to wrong informaton dump like: [ 6742.345877] [ 6742.345887] md: ********************************** [ 6742.345890] md: * * [ 6742.345892] md: ********************************** [ 6742.345896] md1: [ 6742.345907] md: rdev ram7, SZ:00065472 F:0 S:1 DN:3 [ 6742.345909] md: rdev superblock: [ 6742.345914] md: SB: (V:0.90.0) ID:<42ef13c7.598c059a.5f9f1645.801e9ee6> CT:4919856d [ 6742.345918] md: L5 S00065472 ND:4 RD:4 md1 LO:2 CS:65536 [ 6742.345922] md: UT:4919856d ST:1 AD:4 WD:4 FD:0 SD:0 CSUM:b7992907 E:00000001 [ 6742.345924] D 0: DISK [ 6742.345930] D 1: DISK [ 6742.345933] D 2: DISK [ 6742.345937] D 3: DISK [ 6742.345942] md: THIS: DISK ... [ 6742.346058] md0: [ 6742.346067] md: rdev ram3, SZ:00065472 F:0 S:1 DN:3 [ 6742.346070] md: rdev superblock: [ 6742.346073] md: SB: (V:1.0.0) ID:<369aad81.00000000.00000000.00000000> CT:9a322a9c [ 6742.346077] md: L-1507699579 S976570180 ND:48 RD:0 md0 LO:65536 CS:196610 [ 6742.346081] md: UT:00000018 ST:0 AD:131048 WD:0 FD:8 SD:0 CSUM:00000000 E:00000000 [ 6742.346084] D 0: DISK [ 6742.346089] D 1: DISK [ 6742.346092] D 2: DISK [ 6742.346096] D 3: DISK [ 6742.346102] md: THIS: DISK ... [ 6742.346219] md: ********************************** [ 6742.346221] Here md1 is metadata 0.90.0, and md0 is metadata 1.2 After some more code to distinguish these two types of superblock, in this patch, it will generate dump information like: [ 7906.755790] [ 7906.755799] md: ********************************** [ 7906.755802] md: * * [ 7906.755804] md: ********************************** [ 7906.755808] md1: [ 7906.755819] md: rdev ram7, SZ:00065472 F:0 S:1 DN:3 [ 7906.755821] md: rdev superblock (MJ:0): [ 7906.755826] md: SB: (V:0.90.0) ID:<3fca7a0d.a612bfed.5f9f1645.801e9ee6> CT:491989f3 [ 7906.755830] md: L5 S00065472 ND:4 RD:4 md1 LO:2 CS:65536 [ 7906.755834] md: UT:491989f3 ST:1 AD:4 WD:4 FD:0 SD:0 CSUM:00fb52ad E:00000001 [ 7906.755836] D 0: DISK [ 7906.755842] D 1: DISK [ 7906.755845] D 2: DISK [ 7906.755849] D 3: DISK [ 7906.755855] md: THIS: DISK ... [ 7906.755972] md0: [ 7906.755981] md: rdev ram3, SZ:00065472 F:0 S:1 DN:3 [ 7906.755984] md: rdev superblock (MJ:1): [ 7906.755989] md: SB: (V:1) (F:0) Array-ID:<5fbcf158:55aa:5fbe:9a79:1e939880dcbd> [ 7906.755990] md: Name: "DG5:0" CT:1226410480 [ 7906.755998] md: L5 SZ130944 RD:4 LO:2 CS:128 DO:24 DS:131048 SO:8 RO:0 [ 7906.755999] md: Dev:00000003 UUID: 9194d744:87f7:a448:85f2:7497b84ce30a [ 7906.756001] md: (F:0) UT:1226410480 Events:0 ResyncOffset:-1 CSUM:0dbcd829 [ 7906.756003] md: (MaxDev:384) ... [ 7906.756113] md: ********************************** [ 7906.756116] this md0 (metadata 1.2) information dumping is exactly according to struct mdp_superblock_1. Signed-off-by: Cheng Renquan Cc: Neil Brown Cc: Dan Williams Signed-off-by: Andrew Morton Signed-off-by: NeilBrown commit 159ec1fc060ab22b157a62364045f5e98749c4d3 Author: Cheng Renquan Date: Fri Jan 9 08:31:08 2009 +1100 md: use list_for_each_entry macro directly The rdev_for_each macro defined in is identical to list_for_each_entry_safe, from , it should be defined to use list_for_each_entry_safe, instead of reinventing the wheel. But some calls to each_entry_safe don't really need a safe version, just a direct list_for_each_entry is enough, this could save a temp variable (tmp) in every function that used rdev_for_each. In this patch, most rdev_for_each loops are replaced by list_for_each_entry, totally save many tmp vars; and only in the other situations that will call list_del to delete an entry, the safe version is used. Signed-off-by: Cheng Renquan Signed-off-by: NeilBrown commit ccacc7d2cf03114a24ab903f710118e9e5d43273 Author: Andre Noll Date: Fri Jan 9 08:31:08 2009 +1100 md: raid0: make hash_spacing and preshift sector-based. This patch renames the hash_spacing and preshift members of struct raid0_private_data to spacing and sector_shift respectively and changes the semantics as follows: We always have spacing = 2 * hash_spacing. In case sizeof(sector_t) > sizeof(u32) we also have sector_shift = preshift + 1 while sector_shift = preshift = 0 otherwise. Note that the values of nb_zone and zone are unaffected by these changes because in the sector_div() preceeding the assignement of these two variables both arguments double. Signed-off-by: Andre Noll Signed-off-by: NeilBrown commit 83838ed87898e0a8ff8dbf001e54e6c017f0a011 Author: Andre Noll Date: Fri Jan 9 08:31:07 2009 +1100 md: raid0: Represent the size of strip zones in sectors. This completes the block -> sector conversion of struct strip_zone. Signed-off-by: Andre Noll Signed-off-by: NeilBrown commit 0825b87a7dd9645c7e16489fec839a3cb5c40a08 Author: Andre Noll Date: Fri Jan 9 08:31:07 2009 +1100 md: raid0 create_strip_zones(): Add KERN_INFO/KERN_ERR to printk's. This patch consists only of these trivial changes. Signed-off-by: Andre Noll Signed-off-by: NeilBrown commit 6b8796cc3decb43c7c67a13a0699b6a21b754c78 Author: Andre Noll Date: Fri Jan 9 08:31:07 2009 +1100 md: raid0 create_strip_zones(): Make two local variables sector-based. current_offset and curr_zone_offset stored the corresponding offsets as 1K quantities. Rename them to current_start and curr_zone_start to match the naming of struct strip_zone and store the offsets as sector counts. Also, add KERN_INFO to the printk() affected by this change to make checkpatch happy. Signed-off-by: Andre Noll Signed-off-by: NeilBrown commit 6199d3db0fc34f8ada895879d04a353a6ae632bc Author: Andre Noll Date: Fri Jan 9 08:31:07 2009 +1100 md: raid0: Represent zone->zone_offset in sectors. For the same reason as in the previous patch, rename it from zone_offset to zone_start. Signed-off-by: Andre Noll Signed-off-by: NeilBrown commit 019c4e2f3e02aac4b44003913b54ca4b332e4371 Author: Andre Noll Date: Fri Jan 9 08:31:06 2009 +1100 md: raid0: Represent device offset in sectors. Rename zone->dev_offset to zone->dev_start to make sure all users have been converted. Signed-off-by: Andre Noll Signed-off-by: NeilBrown commit e0f06868341700c5c1964a04f6c5b51d0a2d5bca Author: Andre Noll Date: Fri Jan 9 08:31:06 2009 +1100 md: raid0_make_request(): Replace local variable block by sector. This change already simplifies the code a bit. Signed-off-by: Andre Noll Signed-off-by: NeilBrown commit a471200595b24fb1907ad12107a6a66db02c63f2 Author: Andre Noll Date: Fri Jan 9 08:31:06 2009 +1100 md: raid0_make_request(): Remove local variable chunk_size. We might as well use chunk_sects instead. Signed-off-by: Andre Noll Signed-off-by: NeilBrown commit 1b7fdf8ff7c0e3fba9c679def4e98d5701d2949e Author: Andre Noll Date: Fri Jan 9 08:31:06 2009 +1100 md: raid0_make_request(): Replace chunksize_bits by chunksect_bits. As ffz(~(2 * x)) = ffz(~x) + 1, we have chunksect_bits = chunksize_bits + 1. Fixup all users accordingly. Signed-off-by: Andre Noll Signed-off-by: NeilBrown commit 0c3573f19d135d718264e38c46597295bd6154b7 Author: NeilBrown Date: Fri Jan 9 08:31:05 2009 +1100 md: use sysfs_notify_dirent to notify changes to md/sync_action. There is no compelling need for this, but sysfs_notify_dirent is a nicer interface and the change is good for consistency. Signed-off-by: NeilBrown commit 538452700d95480c16e7aa6b10ff77cd937d33f4 Author: NeilBrown Date: Fri Jan 9 08:31:05 2009 +1100 md: fix bitmap-on-external-file bug. commit a2ed9615e3222645007fc19991aedf30eed3ecfd fixed a bug with 'internal' bitmaps, but in the process broke 'in a file' bitmaps. So they are broken in 2.6.28 This fixes it, and needs to go in 2.6.28-stable. Signed-off-by: NeilBrown Cc: stable@kernel.org commit 6ecb6f25d3a52c0d032aa73bde1ff9bc454aa66c Author: Tejun Heo Date: Thu Jan 8 16:29:20 2009 -0500 pata_hpt366: reimplement mode programming Reimplement mode programming logic of pata_hpt366 such that it's identical to that of IDE hpt366 driver. The differences were... * pata_hpt366 used 0xCFFF8FFFF to mask pio modes and 0x3FFFFFFF dma modes. IDE hpt366 uses 0xC1F8FFFF for PIO, 0x303800FF for MWDMA and 0x30070000 for UDMA. * pata_hpt366 doesn't set 0x08000000 for PIO unless it's already set and always turns it on for MWDMA/UDMA. IDE hpt366 doesn't bother with the bit. It always uses what was there. * IDE hpt366 always clears 0xC0000000. pata_hpt366 doesn't. Signed-off-by: Tejun Heo Cc: Alan Cox Cc: Sergei Shtylyov Signed-off-by: Jeff Garzik commit b63d3953251f144b75993374d752e0d57034c8bb Author: Jeff Garzik Date: Thu Jan 8 16:28:21 2009 -0500 [libata] pata_hpt3x3: correct _freeze() function declaration Signed-off-by: Jeff Garzik commit c7be761a8163d2f1ac0b606c21e4316b7abc5af7 Author: David Teigland Date: Wed Jan 7 16:50:41 2009 -0600 dlm: change rsbtbl rwlock to spinlock The rwlock is almost always used in write mode, so there's no reason to not use a spinlock instead. Signed-off-by: David Teigland commit 892c4467e335e9050c95e0d8409c136c4dadaca2 Author: David Teigland Date: Wed Jan 7 16:48:52 2009 -0600 dlm: fix seq_file usage in debugfs lock dump The old code would leak iterators and leave reference counts on rsbs because it was ignoring the "stop" seq callback. The code followed an example that used the seq operations differently. This new code is based on actually understanding how the seq operations work. It also improves things by saving the hash bucket in the position to avoid cycling through completed buckets in start. Siged-off-by: Davd Teigland commit 5c18c4d28ba9a29203c1dc6b7c64df63ca00938a Author: David Daney Date: Wed Dec 10 15:39:12 2008 -0800 libata: Add special ata_pio_need_iordy() handling for Compact Flash. According to the Compact Flash specification r4.1, PIO modes 5 and 6 do not use iordy. Signed-off-by: David Daney Signed-off-by: Jeff Garzik commit 78a7ba47fbc34a387e6347179ba571236596efbb Author: Sonic Zhang Date: Thu Jan 8 00:37:12 2009 +0800 pata_platform: __pata_platform_remove() shouldn't be in discard section -- UPD include/linux/compile.h `___pata_platform_remove' referenced in section `__ksymtab_gpl' of drivers/built-in.o: defined in discarded section `.devexit.text' of drivers/built-in.o make: *** [.tmp_vmlinux1] Error 1 -- __pata_platform_remove() should not be in discarded section __pata_platform_remove(struct device *dev) is invoked in both pata_platform.c and pata_of_platform.c by reomve function defined in discarded section ".devexit.text". An exported function should not be put into discarded section. Signed-off-by: Sonic Zhang Signed-off-by: Bryan Wu Signed-off-by: Jeff Garzik commit 1564a187b4a7f43746da764347df16bf9095f92e Author: Grant Grundler Date: Wed Jan 7 11:26:40 2009 +0900 sata_sil24: remove unused sil24_port_multiplier AFAICT, struct sil24_port_multiplier isn't used anywhere. Remove it. Signed-off-by: Grant Grundler Signed-off-by: Tejun Heo Signed-off-by: Jeff Garzik commit 8522ee25f3a645577d41e71328cd4fcf8610dfeb Author: Shane Huang Date: Tue Dec 30 11:00:37 2008 +0800 [libata] ahci: Add SATA GEN3 related messages The present AHCI driver seems to support SATA GEN 3 speed, but the related messages should be modified. Signed-off-by: Shane Huang Signed-off-by: Jeff Garzik commit 2852bcf7c12d3027c5d10f4f5ca5fada24ce8088 Author: Tejun Heo Date: Fri Jan 2 12:04:48 2009 +0900 ata_piix: save, use saved and restore IOCFG Certain ACPI implementations mess up IOCFG on _STM making libata detect cable type incorrectly after a suspend/resume cycle. This patch makes ata_piix save IOCFG on attach, use the saved value for things which aren't dynamic and restore it on detach so that the next driver also gets the BIOS initialized value. This patch contains the following changes. * makes ich_pata_cable_detect() use saved_iocfg. * make piix_iocfg_bit18_quirk() take @host and use saved_iocfg. * hpriv allocation moved upwards to save iocfg before doing anything else. This fixes bz#11879. Andreas Mohr reported and diagnosed the problem. Signed-off-by: Tejun Heo Cc: Andreas Mohr Signed-off-by: Jeff Garzik commit fc80902fdf4219a81eccca4a06259c4b56812ba5 Author: Alan Cox Date: Mon Jan 5 14:13:53 2009 +0000 pata_ali: Fix and workaround for FIFO DMA bug In very obscure cases this can cause problems. We need to help the hardware out a bit to avoid DMA problems on a reset. Signed-off-by: Alan Cox Signed-off-by: Jeff Garzik commit 1b2c357c301b76118973763e886d9f70a7f50f7e Author: Alan Cox Date: Mon Jan 5 14:13:22 2009 +0000 pata_ali: force initialise a few bits We can't assume some of the setup here on non x86 boxes. Signed-off-by: Alan Cox Signed-off-by: Jeff Garzik commit 978ff6db23279422046c1b3f89fe2045c234dc91 Author: Alan Cox Date: Mon Jan 5 14:12:51 2009 +0000 pata_hpt3x3: Workarounds for chipset Correct the DMA bit flags (UDMA and MWDMA were swapped) Add workarounds so that we clear ERR and INTR bits before issuing a DMA Add workarounds so that we stop a live DMA before touching the CTL register Signed-off-by: Alan Cox Signed-off-by: Jeff Garzik commit 33b04b9308959af7febc1c111c766fa3fd8b1934 Author: Arjan van de Ven Date: Thu Jan 8 12:35:11 2009 -0800 async: make async_synchronize_full() more serializing turns out that there are real problems with allowing async tasks that are scheduled from async tasks to run after the async_synchronize_full() returns. This patch makes the _full more strict and a complete synchronization. Later I might need to add back a lighter form of synchronization for other uses.. but not right now. Signed-off-by: Arjan van de Ven Signed-off-by: Linus Torvalds commit ce70a24575414d615f6a7a05caf9b7e8f91a1b6f Author: Rodolfo Giometti Date: Thu Jan 8 19:50:15 2009 +0000 leds: ledtrig-timer - on deactivation hardware blinking should be disabled Signed-off-by: Rodolfo Giometti Signed-off-by: Richard Purdie commit 56cf391a9462a4897ea660a6af3662dda5ae8c84 Author: Inaky Perez-Gonzalez Date: Thu Jan 8 12:56:57 2009 -0800 wimax: fix kernel-doc for debufs_dentry member of struct wimax_dev Reported by Randy Dunlap from a warning in the v2.6.29 merge window tree as of 2009/1/8. Signed-off-by: Inaky Perez-Gonzalez Signed-off-by: David S. Miller commit d00ba726725c6f41e43df00f83e484ba8f9fac5c Author: Richard Purdie Date: Thu Jan 8 20:52:37 2009 +0000 backlight: Rename the corgi backlight driver to generic The corgi backlight driver is really generic code. This rename makes this a lot clearer and completes the partial rename made a while ago. Signed-off-by: Richard Purdie commit f4f6bda00fc6bf995a35d8246db45aacaa9b3f09 Author: Mike Rapoport Date: Wed Dec 3 08:48:52 2008 +0000 backlight: add support for Toppoly TDO35S series to tdo24m lcd driver Signed-off-by: Mike Rapoport Acked-by: Eric Miao Signed-off-by: Richard Purdie commit 0ba4887c6329043d6cee5b5b477cfe50c2b57674 Author: Randy Dunlap Date: Thu Jan 8 11:50:23 2009 -0800 regulator: fix kernel-doc warnings Fix kernel-doc warnings in regulator/driver.h: Warning(linux-next-20090108//include/linux/regulator/driver.h:95): Excess struct/union/enum/typedef member 'set_current' description in 'regulator_ops' Warning(linux-next-20090108//include/linux/regulator/driver.h:95): Excess struct/union/enum/typedef member 'get_current' description in 'regulator_ops' Warning(linux-next-20090108//include/linux/regulator/driver.h:124): No description found for parameter 'irq' Signed-off-by: Randy Dunlap cc: Liam Girdwood cc: Mark Brown Signed-off-by: Liam Girdwood commit 6001e13c5f708eb68c744a69df3c2c281156030d Author: David Brownell Date: Wed Dec 31 12:54:19 2008 +0000 regulator: catch some registration errors Prevent registration of duplicate "struct regulator" names. They'd be unavailable, and clearly indicate something wrong. [Edited to remove check for NULL consumer device until we have a solution for things like cpufreq -- broonie] Signed-off-by: David Brownell Signed-off-by: Mark Brown Signed-off-by: Liam Girdwood commit 9fe5817f196054142b9a13ed78c73b76a29f2ea3 Author: Mark Brown Date: Wed Dec 31 12:52:44 2008 +0000 regulator: Add basic DocBook manual Add a basic DocBook manual for the regulator API. This is much more skeletal than the existing text documentation, the main benefit is to provide a skeleton for automatic generation of a manual based on the kerneldoc for the API. Since large portions of the text are lifted from the existing text format documentation written by Liam Girdwood much of the credit belongs to him. Signed-off-by: Mark Brown Signed-off-by: Liam Girdwood commit cf7bbcdf4d267eff580cb7ce6cf4fe16a940a005 Author: Mark Brown Date: Wed Dec 31 12:52:43 2008 +0000 regulator: Fix some kerneldoc rendering issues There are some minor textual changes in here as well, mostly to enable() and disable() but the primary goal of these changes is to fix misrenderings of the kerneldoc documentation for the regulator API. Signed-off-by: Mark Brown Signed-off-by: Liam Girdwood commit c8e7e4640facbe99d10a6e262523b25be129b9b9 Author: Mark Brown Date: Wed Dec 31 12:52:42 2008 +0000 regulator: Add missing kerneldoc This is only the documentation that the kerneldoc system warns about. Signed-off-by: Mark Brown Signed-off-by: Liam Girdwood commit 69279fb9a95051971ac03e558c4d46e7ba84ab3a Author: Mark Brown Date: Wed Dec 31 12:52:41 2008 +0000 regulator: Clean up kerneldoc warnings Remove kerneldoc warnings that don't relate to missing documentation, mostly by renaming parameters in the documentation to match their actual names. Signed-off-by: Mark Brown Signed-off-by: Liam Girdwood commit 8dc5390d4f3fd8acc73773a56fea13544e7924dc Author: Mark Brown Date: Wed Dec 31 12:52:40 2008 +0000 regulator: Remove extraneous kerneldoc annotations Some of the internal structures have no kerneldoc but the ** at the start of the comment marking them for documentation. Remove the annotation until some is added. Signed-off-by: Mark Brown Signed-off-by: Liam Girdwood commit 9f4dab49e5351aead75d20f2d39acd0d6cf5f1c6 Author: David Brownell Date: Mon Dec 1 21:50:13 2008 -0800 regulator: init/link earlier Move regulator earlier in link sequence. The regulator core currently initializes as a core_initcall() to be available early ... but then it links way late, throwing away that benefit, so regulators available at e.g. subsys_initcall() are not available to subsystems which need to use them. Signed-off-by: David Brownell Acked-by: Mark Brown Signed-off-by: Liam Girdwood commit 74f544c1fc0339acf6f66ff438b8543b1f9faf10 Author: Mike Rapoport Date: Tue Nov 25 14:53:53 2008 +0200 regulator: move set_machine_constraints after regulator device initialization Calling set_machine_constraints before regulator device initialization causes crash when constraints have apply_uV set. Signed-off-by: Mike Rapoport Signed-off-by: Liam Girdwood commit 961869048b61c853a17f35b98be91c5630a73906 Author: Mike Rapoport Date: Tue Nov 25 10:19:52 2008 +0200 regulator: da903x: make da903x_is_enabled return 0 or 1 Signed-off-by: Mike Rapoport Signed-off-by: Liam Girdwood commit 471d8d49a752a8ee3caf606dca83f7d7b99355f7 Author: Mike Rapoport Date: Mon Nov 24 18:43:00 2008 +0200 regulator: da903x: add '\n' to error messages Signed-off-by: Mike Rapoport Acked-by: Eric Miao Signed-off-by: Liam Girdwood commit 7ad68e2f970fd84d15ad67ce3216aed05f944a9c Author: David Brownell Date: Tue Nov 11 17:39:02 2008 -0800 regulator: sysfs attribute reduction (v2) Clean up the sysfs interface to regulators by only exposing the attributes that can be properly displayed. For example: when a particular regulator method is needed to display the value, only create that attribute when that method exists. This cleaned-up interface is much more comprehensible. Most regulators only support a subset of the possible methods, so often more than half the attributes would be meaningless. Many "not defined" values are no longer necessary. (But handling of out-of-range values still looks a bit iffy.) Documentation is updated to reflect that few of the attributes are *always* present, and to briefly explain why a regulator may not have a given attribute. This adds object code, about a dozen bytes more than was removed by the preceding patch, but saves a bunch of per-regulator data associated with the now-removed attributes. So there's a net reduction in memory footprint. Signed-off-by: David Brownell Signed-off-by: Liam Girdwood commit 4fca9545d17b99cdb2774716b034c62a70151bcd Author: David Brownell Date: Tue Nov 11 17:38:53 2008 -0800 regulator: code shrink (v2) Shrink regulator core by removing duplication in attribute printing and probe() cleanup paths. Saves about 340 bytes (object) on ARM. Signed-off-by: David Brownell Signed-off-by: Liam Girdwood commit e573520b171095c106ffbbbf4f9cbed6d9bff576 Author: David Brownell Date: Sun Nov 16 11:46:56 2008 -0800 regulator: improved mode error checks Minor bugfixes in handling of regulator modes: - have the routine verifying regulator modes check against the set of legal modes (!); - have regulator_set_optimum_mode() verify the return value of regulator_ops.get_optimum_mode(), like drms_uA_update(); - one call to regulator_ops.set_mode() treated zero as a failure code; make this consistent with other callers. Both regulator_set_mode() and regulator_set_optimum_mode() now require valid_ops_mask to include REGULATOR_CHANGE_MODE; that seems like a bugfix too. Signed-off-by: David Brownell Signed-off-by: Liam Girdwood commit 412aec610559bdb602a0a21ce149ba8ffbb6f983 Author: David Brownell Date: Sun Nov 16 11:44:46 2008 -0800 regulator: enable/disable refcounting Make the framework treat enable/disable call pairs like the and frameworks do: they're refcounted, so that different parts of a driver don't need to put work into coordination that frameworks normally handle. It's a minor object code shrink. It also makes the regulator_is_disabled() kerneldoc say what it's actually returning: return value is not a refcount, and may report an error (e.g. I/O error from I2C). It also fixes some minor regulator_put() goofage: removing unlocked access to the enable state. (But still not making regulator put/get match the refcounting pattern they invoke.) Signed-off-by: David Brownell Signed-off-by: Liam Girdwood commit 812460a927c1d0dc1fbdbec9aa07de1b04043d83 Author: Kay Sievers Date: Sun Nov 2 03:55:10 2008 +0100 regulator: struct device - replace bus_id with dev_name(), dev_set_name() This patch is part of a larger patch series which will remove the "char bus_id[20]" name string from struct device. The device name is managed in the kobject anyway, and without any size limitation, and just needlessly copied into "struct device". To set and read the device name dev_name(dev) and dev_set_name(dev) must be used. If your code uses static kobjects, which it shouldn't do, "const char *init_name" can be used to statically provide the name the registered device should have. At registration time, the init_name field is cleared, to enforce the use of dev_name(dev) to access the device name at a later time. We need to get rid of all occurrences of bus_id in the entire tree to be able to enable the new interface. Please apply this patch, and possibly convert any remaining remaining occurrences of bus_id. We want to submit a patch to -next, which will remove bus_id from "struct device", to find the remaining pieces to convert, and finally switch over to the new api, which will remove the 20 bytes array and does no longer have a size limitation. Thanks, Kay From: Kay Sievers Subject: regulator: struct device - replace bus_id with dev_name(), dev_set_name() Cc: Liam Girdwood Acked-by: Greg Kroah-Hartman Signed-Off-By: Kay Sievers Signed-off-by: Liam Girdwood commit e8dc7c4882fd7629d8cf75a2a7b206d478dd0882 Author: Sam Ravnborg Date: Thu Jan 8 11:37:19 2009 -0800 sparc64: fix warnings in psycho_common after ull conversion After conversion to use unsigned long long for u64 I saw following warnings: CC arch/sparc/kernel/psycho_common.o arch/sparc/kernel/psycho_common.c: In function `psycho_check_stc_error': arch/sparc/kernel/psycho_common.c:104: warning: long long unsigned int format, long unsigned int arg (arg 4) arch/sparc/kernel/psycho_common.c:104: warning: long long unsigned int format, long unsigned int arg (arg 5) arch/sparc/kernel/psycho_common.c:114: warning: long long unsigned int format, long unsigned int arg (arg 4) arch/sparc/kernel/psycho_common.c:114: warning: long long unsigned int format, long unsigned int arg (arg 5) arch/sparc/kernel/psycho_common.c:114: warning: long long unsigned int format, long unsigned int arg (arg 6) arch/sparc/kernel/psycho_common.c:114: warning: long long unsigned int format, long unsigned int arg (arg 7) arch/sparc/kernel/psycho_common.c: In function `psycho_dump_iommu_tags_and_data': arch/sparc/kernel/psycho_common.c:187: warning: long long unsigned int format, long unsigned int arg (arg 8) arch/sparc/kernel/psycho_common.c:193: warning: long long unsigned int format, long unsigned int arg (arg 6) arch/sparc/kernel/psycho_common.c: In function `psycho_pcierr_intr': arch/sparc/kernel/psycho_common.c:333: warning: long long unsigned int format, long unsigned int arg (arg 3) arch/sparc/kernel/psycho_common.c:333: warning: long long unsigned int format, long unsigned int arg (arg 4) This is due to different integer promotion in my 32 bit hosted gcc. The fix is to force a few constants to ULL. The following stands out from the rest: +#define PSYCHO_IOMMU_TAG_VPAGE 0x7ffffULL +#define PSYCHO_IOMMU_DATA_PPAGE 0xfffffffULL They were needed otherwise the expression: (data_val & PSYCHO_IOMMU_DATA_PPAGE) << IOMMU_PAGE_SHIFT) were promoted to a unsigned long and not a unsigned long long as expected. I tried the alternative solution and made IOMMU_PAGE_SHIFT an ULL but that did not help. The only way gcc would make this expression an unsigned long long was to define PSYCHO_IOMMU_DATA_PPAGE as ULL. The alternative to add a cast was not considered a valid solution. We had this issue in two places and this were the only places the above two constants are used. A small coding style diff sneaked in too. Signed-off-by: Sam Ravnborg Signed-off-by: David S. Miller commit 8cb89571bd66fec6a71d8a2b1de2262722dfbb8d Author: Oliver Neukum Date: Thu Jan 8 11:22:25 2009 -0800 net: convert pegasus driver to net_device_ops This converts the pegasus driver to use of the new net_device_ops structure Signed-off-by: Oliver Neukum Signed-off-by: David S. Miller commit 9f4c95835654f6169469af8a1de91454f7a65ac1 Author: Eilon Greenstein Date: Thu Jan 8 11:21:43 2009 -0800 bnx2x: Prevent eeprom set when driver is down Signed-off-by: Eilon Greenstein Signed-off-by: David S. Miller commit 321ea8b2d37e1e09e65415c421403b40d7d81c1c Author: Oliver Neukum Date: Thu Jan 8 11:20:22 2009 -0800 net: switch kaweth driver to netdevops This converts the kaweth ethernet USB driver to netdevops. Signed-off-by: Oliver Neukum Signed-off-by: David S. Miller commit 283a21d3e16e9709012cc8b0839ec474d8888a5d Author: Stephen Hemminger Date: Thu Jan 8 11:17:13 2009 -0800 pcnet32: round off carrier watch timer The link check watchdog timer on this driver fires every two seconds, but since not aligned it causes extra wakeups. It is more important on this driver than most because it is the hardware that is emulated by default when using network interfaces on VMware. Signed-off-by: Stephen Hemminger Signed-off-by: David S. Miller commit 9fd7a1d92b4462acaa460bb0f58b12ede6ffe6b9 Author: Inaky Perez-Gonzalez Date: Thu Jan 8 11:08:25 2009 -0800 i2400m/usb: wrap USB power saving in #ifdef CONFIG_PM Current code was assuming PM was always enabled, which is not correct. Code which accesses members in the struct usb_device that are dependant on CONFIG_PM must be protected the same. Reported by Randy Dunlap from a build error in the linux-next tree on 07/01/2009. Signed-off-by: Inaky Perez-Gonzalez Signed-off-by: David S. Miller commit a2e9da4b09c99857080afd2e8143f70bc03ebe9b Author: Inaky Perez-Gonzalez Date: Thu Jan 8 11:08:01 2009 -0800 wimax: testing for rfkill support should also test for CONFIG_RFKILL_MODULE Current WiMAX rfkill code is missing the case where rfkill is compiled in as modules and works only when rfkill is compiled in. This is not correct. Fixed to test for CONFIG_RFKILL or CONFIG_RKILL_MODULE. Signed-off-by: Inaky Perez-Gonzalez Signed-off-by: David S. Miller commit 71f78afd67ca51d3656ba45aea293d6e2a27c8bc Author: Inaky Perez-Gonzalez Date: Thu Jan 8 11:07:36 2009 -0800 wimax: fix kconfig interactions with rfkill and input layers WiMAX can work without RFKILL, but it was missing a check to make sure RFKILL is not being made a module with wimax compiled into the kernel. This caused failed builds in s390, where CONFIG_INPUT is always off. When RFKILL is enabled, the code uses the input layer to report hardware switch changes; thus, if RFKILL is enabled, INPUT has to be too. It also needs to display some message when INPUT is disabled that explains why WiMAX is not selectable. (issues found by Randy Dunlap in the linux-next tree). Signed-off-by: Inaky Perez-Gonzalez Signed-off-by: David S. Miller commit d48e470f76887d0befe025049158aeb6c1219d71 Author: Inaky Perez-Gonzalez Date: Thu Jan 8 11:06:48 2009 -0800 wimax: fix '#ifndef CONFIG_BUG' layout to avoid warning Reported by Randy Dunlap: > Also, this warning needs to be fixed: > > linux-next-20090106/net/wimax/id-table.c:133: warning: ISO C90 > forbids mixed declarations and code Move the return on #defined(CONFIG_BUG) below the variable declarations so it doesn't violate ISO C90. On wimax_id_table_release() we want to do a debug check if CONFIG_BUG is enabled. However, we also want the debug code to be always compiled to ensure there is no bitrot. It will be optimized out by the compiler when CONFIG_BUG is disabled. Added a note to the function header stating this. Signed-off-by: Inaky Perez-Gonzalez Signed-off-by: David S. Miller commit 7f46b1343f723f98634a5dcee47856b2000079ed Merge: b8c31da 9e42d0c Author: David S. Miller Date: Thu Jan 8 11:05:59 2009 -0800 Merge branch 'master' of master.kernel.org:/pub/scm/linux/kernel/git/torvalds/linux-2.6 commit b8c31da64165b8566fc6e1c9c826f76e7b98ff02 Author: Florian Fainelli Date: Thu Jan 8 11:03:57 2009 -0800 r6040: bump release number to 0.20 This patch bumps release number to 0.20 and 07Jan2009. Signed-off-by: Florian Fainelli Signed-off-by: David S. Miller commit 1d2b1a76d39433ba9eb065bb31d3594cb491e617 Author: Florian Fainelli Date: Thu Jan 8 11:02:30 2009 -0800 r6040: warn about MAC address being unset Some bootloader/BIOSes do not set the MAC address, warn about that. Signed-off-by: Florian Fainelli Signed-off-by: David S. Miller commit 84314bf92265bccea601ed75ec93944e1a36dd81 Author: Florian Fainelli Date: Thu Jan 8 11:01:58 2009 -0800 r6040: check PHY status when bringing interface up This patch makes the driver properly initialize the PHY status if not correctly set by the bootloader/BIOS. It prevents some boards to bring up the link on boot. Signed-off-by: Florian Fainelli Signed-off-by: David S. Miller commit 9a48ce84004eb61940850c7066af5d222a5f81c9 Author: Florian Fainelli Date: Thu Jan 8 11:00:52 2009 -0800 r6040: make printks consistent with DRV_NAME This patch fixes some printks which were not prefixed with DRV_NAME, useful when having multiple cards/drivers on the system. Signed-off-by: Florian Fainelli Signed-off-by: David S. Miller commit a1d8f6015e0fab61cc27204560d54a442181be54 Author: Kumar Gala Date: Thu Jan 8 10:58:38 2009 -0800 gianfar: Fixup use of BUS_ID_SIZE Commit b31a1d8b41513b96e9c7ec2f68c5734cef0b26a4 ("gianfar: Convert gianfar to an of_platform_driver") went back to using BUS_ID_SIZE instead of sizeof() as per the larger patch series that will remove "char bus_id[20]" from struct device. Signed-off-by: Kumar Gala Signed-off-by: David S. Miller commit bd531e36b8aa223aded15493d0a93930e1de51c6 Author: Yevgeny Petrilin Date: Thu Jan 8 10:57:37 2009 -0800 mlx4_en: Returning real Max in get_ringparam Signed-off-by: Yevgeny Petrilin Signed-off-by: David S. Miller commit 41efea5a34caa76c11e56458db21eb259d5c6384 Author: Yevgeny Petrilin Date: Thu Jan 8 10:57:15 2009 -0800 mlx4_en: Consider inline packets on completion Was trying to unmap work queue entries that had inline packets, so naturally weren't mapped. Signed-off-by: Yevgeny Petrilin Signed-off-by: David S. Miller commit 33a2a2b4c7076fc3ff1ee77d2376723dd12df44d Author: Sonic Zhang Date: Thu Jan 8 10:52:26 2009 -0800 netdev: bfin_mac: enable bfin_mac net dev driver for BF51x Signed-off-by: Sonic Zhang Signed-off-by: Bryan Wu Signed-off-by: David S. Miller commit 8403b13c7627df7104e450cbc845627bf25c8cd6 Author: Frank Blaschka Date: Thu Jan 8 10:50:55 2009 -0800 qeth: convert to net_device_ops qeth_l2, qeth_l3 convert to net_device_ops. qeth_l3 remove vlan neigh_setup hack since it does not work any longer with the new net_device_ops. Signed-off-by: Frank Blaschka Signed-off-by: David S. Miller commit cc883d16c3b7434c7da2c45b54a49c2a99e83db7 Author: Frank Blaschka Date: Thu Jan 8 10:50:20 2009 -0800 vlan: add neigh_setup In case the real device has a neigh_setup function, this neigh_setup function should be used for the vlan device. Signed-off-by: Frank Blaschka Signed-off-by: David S. Miller commit f52deb0e8408515ecf58c330c93fa99b8cb53cb4 Author: Wu Fengguang Date: Thu Jan 8 10:47:01 2009 -0800 dm9601: warn on invalid mac address Add warnings on invalid mac address to help disclose/debug problems. Signed-off-by: Wu Fengguang Acked-by: Peter Korsgaard Signed-off-by: David S. Miller commit 4b9f8ec6e5e98779e8b3806a5f58267378ef57eb Author: Wu Fengguang Date: Tue Jan 6 18:52:58 2009 +0000 dm9601: tell HW about random generated mac address Otherwise unicast RX will only work in promisc mode. Signed-off-by: Peter Korsgaard Signed-off-by: Wu Fengguang Signed-off-by: David S. Miller commit 684f2176015b313ab59cecf574117969cf638f28 Author: Herbert Xu Date: Thu Jan 8 10:41:23 2009 -0800 tcp6: Add GRO support This patch adds GRO support for TCP over IPv6. The code is exactly the same as the IPv4 version except for the pseudo-header checksum computation. Note that I've removed the unused tcphdr argument from tcp_v6_check rather than invent a bogus value for GRO. Signed-off-by: Herbert Xu Signed-off-by: David S. Miller commit 787e9208360117835101f513f7db593dc2525cf8 Author: Herbert Xu Date: Thu Jan 8 10:40:57 2009 -0800 ipv6: Add GRO support This patch adds GRO support for IPv6. IPv6 GRO supports extension headers in the same way as GSO (by using the same infrastructure). It's also simpler compared to IPv4 since we no longer have to worry about fragmentation attributes or header checksums. Signed-off-by: Herbert Xu Signed-off-by: David S. Miller commit 859cb7f2a4244ea6da206d3fe9cc8a6810947a68 Author: Richard Purdie Date: Thu Jan 8 17:55:03 2009 +0000 leds: Add suspend/resume to the core class Add suspend/resume to the core class and remove all the now unneeded code from various drivers. Originally the class code couldn't support suspend/resume but since class_device can there is no reason for each driver doing its own suspend/resume anymore. commit 85da1fb545e5fe51c35e0576f71780cc557f4277 Merge: 73ac36e 5886188 Author: Linus Torvalds Date: Thu Jan 8 09:10:16 2009 -0800 Merge branch 'next' of git://git.kernel.org/pub/scm/linux/kernel/git/benh/powerpc * 'next' of git://git.kernel.org/pub/scm/linux/kernel/git/benh/powerpc: (53 commits) serial: Add driver for the Cell Network Processor serial port NWP device powerpc: enable dynamic ftrace powerpc/cell: Fix the prototype of create_vma_map() powerpc/mm: Make clear_fixmap() actually work powerpc/kdump: Use ppc_save_regs() in crash_setup_regs() powerpc: Export cacheable_memzero as its now used in a driver powerpc: Fix missing semicolons in mmu_decl.h powerpc/pasemi: local_irq_save uses an unsigned long powerpc/cell: Fix some u64 vs. long types powerpc/cell: Use correct types in beat files powerpc: Use correct type in prom_init.c powerpc: Remove unnecessary casts mtd/ps3vram: Use _PAGE_NO_CACHE in memory ioremap mtd/ps3vram: Use msleep in waits mtd/ps3vram: Use proper kernel types mtd/ps3vram: Cleanup ps3vram driver messages mtd/ps3vram: Remove ps3vram debug routines mtd/ps3vram: Add modalias support to the ps3vram driver mtd/ps3vram: Add ps3vram driver for accessing video RAM as MTD powerpc: Fix iseries drivers build failure without CONFIG_VIOPATH ... commit 73ac36ea14fd18ea3dc057e41b16ff31a3c0bd5a Author: Coly Li Date: Wed Jan 7 18:09:16 2009 -0800 fix similar typos to successfull When I review ocfs2 code, find there are 2 typos to "successfull". After doing grep "successfull " in kernel tree, 22 typos found totally -- great minds always think alike :) This patch fixes all the similar typos. Thanks for Randy's ack and comments. Signed-off-by: Coly Li Acked-by: Randy Dunlap Acked-by: Roland Dreier Cc: Jeremy Kerr Cc: Jeff Garzik Cc: Heiko Carstens Cc: Martin Schwidefsky Cc: Theodore Ts'o Cc: Mark Fasheh Cc: Vlad Yasevich Cc: Sridhar Samudrala Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit da2bdf9a6ff40b10d77620d0d76b02a738c103cb Author: Roel Kluin Date: Wed Jan 7 18:09:15 2009 -0800 Make various things static Building an allnoconfig kernel, sparse asked whether these could be static, so I checked, and they are only used in the file where they are declared. Signed-off-by: Roel Kluin Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 9a8d5bb4ad829e66ab5428ccdce2cbc8ab0ac96c Author: Wu Fengguang Date: Wed Jan 7 18:09:14 2009 -0800 generic swap(): dcache: use swap() instead of private do_switch() Use the new generic implementation. Signed-off-by: Wu Fengguang Cc: Al Viro Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit df4927bf6ccf6278a97a44bd107080c71b269cb5 Author: Wu Fengguang Date: Wed Jan 7 18:09:14 2009 -0800 generic swap(): sched: remove local swap() macro Use the new generic implementation. Signed-off-by: Wu Fengguang Cc: Ingo Molnar Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 97e133b4543c5c677e768a8538d6d704c4218ff2 Author: Wu Fengguang Date: Wed Jan 7 18:09:13 2009 -0800 generic swap(): ext4: remove local swap() macro Use the new generic implementation. Signed-off-by: Wu Fengguang Cc: Theodore Ts'o Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit be857df1dd8d8e1491e60d999caf3b8446ccd475 Author: Wu Fengguang Date: Wed Jan 7 18:09:12 2009 -0800 generic swap(): ext3: remove local swap() macro Use the new generic implementation. Signed-off-by: Wu Fengguang Cc: Theodore Ts'o Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 91f68b7359144aa40bb9668124543d15284750b4 Author: Wu Fengguang Date: Wed Jan 7 18:09:12 2009 -0800 generic swap(): introduce global macro swap(a, b) There have been some local definitions of swap(), it's time to replace them all with a uniform one. Signed-off-by: Wu Fengguang Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit b53907c0100a353a7ac53bed260e735e5ccbbbcc Author: Wu Fengguang Date: Wed Jan 7 18:09:11 2009 -0800 generic swap(): lib/sort.c: rename swap to swap_func This is to avoid name clashes for the introduction of a global swap() macro. Signed-off-by: Wu Fengguang Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit b67445fc17489fff5c8052147184e366abdb3d80 Author: Wu Fengguang Date: Wed Jan 7 18:09:10 2009 -0800 generic swap(): iphase: rename swap() to swap_byte_order() In preparation for the introduction of a generic swap() macro. Signed-off-by: Wu Fengguang Acked-by: David S. Miller Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 1a8a27c974d0f09c61874b81bf9670f1478b649a Author: Wu Fengguang Date: Wed Jan 7 18:09:10 2009 -0800 generic swap(): sparc: rename swap() to swap_ulong() In preparation for the introduction of a generic swap() macro. Signed-off-by: Wu Fengguang Acked-by: David S. Miller Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit c19a28e1193a6c854738d609ae9b2fe2f6e6bea4 Author: Fernando Carrijo Date: Wed Jan 7 18:09:08 2009 -0800 remove lots of double-semicolons Cc: Ingo Molnar Cc: Thomas Gleixner Acked-by: Theodore Ts'o Acked-by: Mark Fasheh Acked-by: David S. Miller Cc: James Morris Acked-by: Casey Schaufler Acked-by: Takashi Iwai Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit f15659628b43b27c20447c731456c39cbec973e9 Author: roel kluin Date: Wed Jan 7 18:09:08 2009 -0800 romfs: romfs_iget() - unsigned ino >= 0 is always true romfs_strnlen() returns int unsigned X >= 0 is always true [akpm@linux-foundation.org: coding-style fixes] Signed-off-by: roel kluin Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 921d58c0e6992f74d3a48180604a298f115d2dee Author: Magnus Damm Date: Wed Jan 7 18:09:06 2009 -0800 vmcore: remove saved_max_pfn check Remove the saved_max_pfn check from the /proc/vmcore function read_from_oldmem(). No need to verify, we should be able to just trust that "elfcorehdr=" is correctly passed to the crash kernel on the kernel command line like we do with other parameters. The read_from_oldmem() function in fs/proc/vmcore.c is quite similar to read_from_oldmem() in drivers/char/mem.c, but only in the latter it makes sense to use saved_max_pfn. For oldmem it is used to determine when to stop reading. For vmcore we already have the elf header info pointing out the physical memory regions, no need to pass the end-of- old-memory twice. Removing the saved_max_pfn check from vmcore makes it possible for architectures to skip oldmem but still support crash dump through vmcore - without the need for the old saved_max_pfn cruft. Architectures that want to play safe can do the saved_max_pfn check in copy_oldmem_page(). Not sure why anyone would want to do that, but that's even safer than today - the saved_max_pfn check in vmcore removed by this patch only checks the first page. Signed-off-by: Magnus Damm Acked-by: Vivek Goyal Acked-by: Simon Horman Cc: "Eric W. Biederman" Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 4037014e3fb71e998189374e19ca141c59d15323 Author: Evgeniy Polyakov Date: Wed Jan 7 18:09:05 2009 -0800 w1: send status messages after command processing Send completion status of the commands to the userspace. Message and protocol are described in the documentation. Signed-off-by: Evgeniy Polyakov Cc: Paul Alfille Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit f89735c4e281e8642907b38640c076ae5048f3a6 Author: Evgeniy Polyakov Date: Wed Jan 7 18:09:04 2009 -0800 w1: added w1 reset command Command which allows to reset the bus. Signed-off-by: Evgeniy Polyakov Cc: Paul Alfille Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 325a06fb13614fd4e5ea36996c0ce043752a93a0 Author: Evgeniy Polyakov Date: Wed Jan 7 18:09:03 2009 -0800 w1: move w1 commands from defines to enum Signed-off-by: Evgeniy Polyakov Cc: Paul Alfille Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit c7e26631d27b61d66ea6fb9b113fb92f1fa20d90 Author: Evgeniy Polyakov Date: Wed Jan 7 18:09:03 2009 -0800 w1: allow master IO commands This small patchset extendes existing commands with reset, master IO and status messages. Reset is used to reset the bus for given master device, master IO command allows to initiate IO against bus itself not selecting slave device first, which can be used to probe the device for example. And status messages carry command completion status back to the userspace (namely very useful to get -ENODEV from when requested device was not found). Great thanks to Paul Alfille of OWFS for testing and commands suggestions. This patch: Allow starting of IO not against already found slave devices, but against the bus itself, which can be used for example to probe devices. [akpm@linux-foundation.org: reindent switch statements] Signed-off-by: Evgeniy Polyakov Cc: Paul Alfille Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit e4e056aa3518197830c884b85268799b1868e8e3 Author: Evgeniy Polyakov Date: Wed Jan 7 18:09:02 2009 -0800 w1: documentation update Signed-off-by: Evgeniy Polyakov Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 3b8384070ea1dc358f6da6233b3b6c0926ae1bf4 Author: Evgeniy Polyakov Date: Wed Jan 7 18:09:01 2009 -0800 w1: list slaves commands Initiates search (or alarm search) and returns all found devices to userspace. Found devices are not added into the system (i.e. they are not attached to family devices or bus masters), it will be done via (if was not done yet) usual timed searching. Signed-off-by: Evgeniy Polyakov Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 9be62e0b2fadaf5ffeb32fd1b910ef1fe6bd43db Author: Evgeniy Polyakov Date: Wed Jan 7 18:09:01 2009 -0800 w1: add touch block command Writes and returns sampled data back to userspace. Signed-off-by: Evgeniy Polyakov Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 610705e780395ef30a1b8e53de150c37381ca31f Author: Evgeniy Polyakov Date: Wed Jan 7 18:08:59 2009 -0800 w1: add list masters w1 command This patch series introduces and extends several userspace commands used with netlink protocol. Touch block command allows to write data and return sampled data to the userspace. Extended search and alarm seach commands to return list of slave devices found during given search. List masters command allows to send all registered master IDs to the userspace. Great thanks to Paul Alfille (owfs) who tested this implementation and wrote w1-to-network daemon http://sourceforge.net/projects/w1repeater/ and Frederik Deweerdt and Randy Dunlap for review. This patch: Returns list of registered bus master devices. Signed-off-by: Evgeniy Polyakov Cc: Paul Alfille Cc: Frederik Deweerdt Cc: Randy Dunlap Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit a5fd9139f74c722a190b3bd69bbd611a8d91b388 Author: Sascha Hauer Date: Wed Jan 7 18:08:58 2009 -0800 w1: add 1-wire master driver for i.MX27 / i.MX31 This patch adds support for the 1-wire master interface for i.MX27 and i.MX31. Signed-off-by: Luotao Fu Signed-off-by: Sascha Hauer Signed-off-by: Evgeniy Polyakov Cc: Russell King Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 09f50c95425318232c534d931d8c28b96a3ce2c5 Author: David Smith Date: Wed Jan 7 18:08:57 2009 -0800 tpm: clean up tpm_nsc driver for platform_device suspend/resume compliance Signed-off-by: Marcel Selhorst Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit ad8f07ccaddca1b0f52d0e9677855122a46cfafc Author: Matthew Garrett Date: Wed Jan 7 18:08:56 2009 -0800 misc: add dell-laptop driver Add a driver for controlling Dell-specific backlight and rfkill interfaces. This driver makes use of the dcdbas interface to the Dell firmware to allow the backlight and rfkill interfaces on Dell systems to be driven through the standardised sysfs interfaces. Signed-off-by: Matthew Garrett Cc: Matt Domsch Cc: Ivo van Doorn Cc: Len Brown Cc: Richard Purdie Cc: Henrique de Moraes Holschuh Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 3cab7fd964916a5474dcaeb23b6723fbfb34cc66 Author: Matthew Garrett Date: Wed Jan 7 18:08:54 2009 -0800 dcdbas: export functionality for use in other drivers The dcdbas code allows calls to be made into the firmware on Dell systems. Exporting this to other drivers allows them to implement Dell-specific functionality in a safe way. Signed-off-by: Matthew Garrett Cc: Matt Domsch Cc: Greg KH Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit f06295b44c296c8fb08823a3118468ae343b60f2 Author: Kees Cook Date: Wed Jan 7 18:08:52 2009 -0800 ELF: implement AT_RANDOM for glibc PRNG seeding While discussing[1] the need for glibc to have access to random bytes during program load, it seems that an earlier attempt to implement AT_RANDOM got stalled. This implements a random 16 byte string, available to every ELF program via a new auxv AT_RANDOM vector. [1] http://sourceware.org/ml/libc-alpha/2008-10/msg00006.html Ulrich said: glibc needs right after startup a bit of random data for internal protections (stack canary etc). What is now in upstream glibc is that we always unconditionally open /dev/urandom, read some data, and use it. For every process startup. That's slow. ... The solution is to provide a limited amount of random data to the starting process in the aux vector. I suggested 16 bytes and this is what the patch implements. If we need only 16 bytes or less we use the data directly. If we need more we'll use the 16 bytes to see a PRNG. This avoids the costly /dev/urandom use and it allows the kernel to use the most adequate source of random data for this purpose. It might not be the same pool as that for /dev/urandom. Concerns were expressed about the depletion of the randomness pool. But this patch doesn't make the situation worse, it doesn't deplete entropy more than happens now. Signed-off-by: Kees Cook Cc: Jakub Jelinek Cc: Andi Kleen Cc: Ulrich Drepper Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit a6684999f7c6bddd75cf9755ad7ff44435f72fff Author: Sukadev Bhattiprolu Date: Wed Jan 7 18:08:50 2009 -0800 mqueue: fix si_pid value in mqueue do_notify() If a process registers for asynchronous notification on a POSIX message queue, it gets a signal and a siginfo_t structure when a message arrives on the message queue. The si_pid in the siginfo_t structure is set to the PID of the process that sent the message to the message queue. The principle is the following: . when mq_notify(SIGEV_SIGNAL) is called, the caller registers for notification when a msg arrives. The associated pid structure is stroed into inode_info->notify_owner. Let's call this process P1. . when mq_send() is called by say P2, P2 sends a signal to P1 to notify him about msg arrival. The way .si_pid is set today is not correct, since it doesn't take into account the fact that the process that is sending the message might not be in the same namespace as the notified one. This patch proposes to set si_pid to the sender's pid into the notify_owner namespace. Signed-off-by: Nadia Derbey Signed-off-by: Sukadev Bhattiprolu Acked-by: Oleg Nesterov Cc: Roland McGrath Cc: Bastian Blank Cc: Pavel Emelyanov Cc: Eric W. Biederman Acked-by: Serge Hallyn Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 61bce0f1371cfff497fe85594fd39d1a0b15ebe1 Author: Eric W. Biederman Date: Wed Jan 7 18:08:49 2009 -0800 pid: generalize task_active_pid_ns Currently task_active_pid_ns is not safe to call after a task becomes a zombie and exit_task_namespaces is called, as nsproxy becomes NULL. By reading the pid namespace from the pid of the task we can trivially solve this problem at the cost of one extra memory read in what should be the same cacheline as we read the namespace from. When moving things around I have made task_active_pid_ns out of line because keeping it in pid_namespace.h would require adding includes of pid.h and sched.h that I don't think we want. This change does make task_active_pid_ns unsafe to call during copy_process until we attach a pid on the task_struct which seems to be a reasonable trade off. Signed-off-by: Eric W. Biederman Signed-off-by: Sukadev Bhattiprolu Cc: Oleg Nesterov Cc: Roland McGrath Cc: Bastian Blank Cc: Pavel Emelyanov Cc: Nadia Derbey Acked-by: Serge Hallyn Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit f9fb860f67b9542cd78d1558dec7058092b57d8e Author: Eric W. Biederman Date: Wed Jan 7 18:08:46 2009 -0800 pid: implement ns_of_pid A current problem with the pid namespace is that it is easy to do pid related work after exit_task_namespaces which drops the nsproxy pointer. However if we are doing pid namespace related work we are always operating on some struct pid which retains the pid_namespace pointer of the pid namespace it was allocated in. So provide ns_of_pid which allows us to find the pid namespace a pid was allocated in. Using this we have the needed infrastructure to do pid namespace related work at anytime we have a struct pid, removing the chance of accidentally having a NULL pointer dereference when accessing current->nsproxy. Signed-off-by: Eric W. Biederman Signed-off-by: Sukadev Bhattiprolu Cc: Oleg Nesterov Cc: Roland McGrath Cc: Bastian Blank Cc: Pavel Emelyanov Cc: Nadia Derbey Acked-by: Serge Hallyn Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 6af866af34a96fed24a55979a78b6f73bd4e8e87 Author: Li Zefan Date: Wed Jan 7 18:08:45 2009 -0800 cpuset: remove remaining pointers to cpumask_t Impact: cleanups, use new cpumask API Final trivial cleanups: mainly s/cpumask_t/struct cpumask Note there is a FIXME in generate_sched_domains(). A future patch will change struct cpumask *doms to struct cpumask *doms[]. (I suppose Rusty will do this.) Signed-off-by: Li Zefan Cc: Ingo Molnar Cc: Rusty Russell Acked-by: Mike Travis Cc: Paul Menage Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 300ed6cbb70718872cb4936d1d22ef295f9ba44d Author: Li Zefan Date: Wed Jan 7 18:08:44 2009 -0800 cpuset: convert cpuset->cpus_allowed to cpumask_var_t Impact: use new cpumask API This patch mainly does the following things: - change cs->cpus_allowed from cpumask_t to cpumask_var_t - call alloc_bootmem_cpumask_var() for top_cpuset in cpuset_init_early() - call alloc_cpumask_var() for other cpusets - replace cpus_xxx() to cpumask_xxx() Signed-off-by: Li Zefan Cc: Ingo Molnar Cc: Rusty Russell Acked-by: Mike Travis Cc: Paul Menage Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 645fcc9d2f6946f97a41c8d00edee38f8a6f0060 Author: Li Zefan Date: Wed Jan 7 18:08:43 2009 -0800 cpuset: don't allocate trial cpuset on stack Impact: cleanups, reduce stack usage This patch prepares for the next patch. When we convert cpuset.cpus_allowed to cpumask_var_t, (trialcs = *cs) no longer works. Another result of this patch is reducing stack usage of trialcs. sizeof(*cs) can be as large as 148 bytes on x86_64, so it's really not good to have it on stack. Signed-off-by: Li Zefan Cc: Ingo Molnar Cc: Rusty Russell Acked-by: Mike Travis Cc: Paul Menage Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 2341d1b6598c7146d64a5050b53a72a5a819617f Author: Li Zefan Date: Wed Jan 7 18:08:42 2009 -0800 cpuset: convert cpuset_attach() to use cpumask_var_t Impact: reduce stack usage Allocate a global cpumask_var_t at boot, and use it in cpuset_attach(), so we won't fail cpuset_attach(). Signed-off-by: Li Zefan Cc: Ingo Molnar Cc: Rusty Russell Acked-by: Mike Travis Cc: Paul Menage Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 5771f0a2236df69683e9abea87f35f522c97ff94 Author: Li Zefan Date: Wed Jan 7 18:08:41 2009 -0800 cpuset: remove on stack cpumask_t in cpuset_can_attach() Impact: reduce stack usage Just use cs->cpus_allowed, and no need to allocate a cpumask_var_t. Signed-off-by: Li Zefan Cc: Ingo Molnar Cc: Rusty Russell Acked-by: Mike Travis Cc: Paul Menage Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 5a7625df725a486ad600b0036b6111dbd6321c41 Author: Li Zefan Date: Wed Jan 7 18:08:41 2009 -0800 cpuset: remove on stack cpumask_t in cpuset_sprintf_cpulist() This patchset converts cpuset to use new cpumask API, and thus remove on stack cpumask_t to reduce stack usage. Before: # cat kernel/cpuset.c include/linux/cpuset.h | grep -c cpumask_t 21 After: # cat kernel/cpuset.c include/linux/cpuset.h | grep -c cpumask_t 0 This patch: Impact: reduce stack usage It's safe to call cpulist_scnprintf inside callback_mutex, and thus we can just remove the cpumask_t and no need to allocate a cpumask_var_t. Signed-off-by: Li Zefan Cc: Ingo Molnar Cc: Rusty Russell Acked-by: Mike Travis Cc: Paul Menage Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit f5813d94279a18ff5936d675e24b44b44a571197 Author: Miao Xie Date: Wed Jan 7 18:08:40 2009 -0800 cpusets: set task's cpu_allowed to cpu_possible_map when attaching it into top cpuset I found a bug on my dual-cpu box. I created a sub cpuset in top cpuset and assign 1 to its cpus. And then we attach some tasks into this sub cpuset. After this, we offline CPU1. Now, the tasks in this new cpuset are moved into top cpuset automatically because there is no cpu in sub cpuset. Then we online CPU1, we find all the tasks which doesn't belong to top cpuset originally just run on CPU0. We fix this bug by setting task's cpu_allowed to cpu_possible_map when attaching it into top cpuset. This method needn't modify the current behavior of cpusets on CPU hotplug, and all of tasks in top cpuset use cpu_possible_map to initialize their cpu_allowed. Signed-off-by: Miao Xie Cc: Paul Menage Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 13337714f3b0307dc7f75ef5d83ecf0db2abbd65 Author: Lai Jiangshan Date: Wed Jan 7 18:08:39 2009 -0800 cpuset: rcu_read_lock() to protect task_cs() task_cs() calls task_subsys_state(). We must use rcu_read_lock() to protect cgroup_subsys_state(). It's correct that top_cpuset is never freed, but cgroup_subsys_state() accesses css_set, this css_set maybe freed when task_cs() called. We use use rcu_read_lock() to protect it. Signed-off-by: Lai Jiangshan Acked-by: Paul Menage Cc: KAMEZAWA Hiroyuki Cc: Pavel Emelyanov Cc: Balbir Singh Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit e7c5ec9193d32b9559a3bb8893ceedbda85201ff Author: Paul Menage Date: Wed Jan 7 18:08:38 2009 -0800 cgroups: add css_tryget() Add css_tryget(), that obtains a counted reference on a CSS. It is used in situations where the caller has a "weak" reference to the CSS, i.e. one that does not protect the cgroup from removal via a reference count, but would instead be cleaned up by a destroy() callback. css_tryget() will return true on success, or false if the cgroup is being removed. This is similar to Kamezawa Hiroyuki's patch from a week or two ago, but with the difference that in the event of css_tryget() racing with a cgroup_rmdir(), css_tryget() will only return false if the cgroup really does get removed. This implementation is done by biasing css->refcnt, so that a refcnt of 1 means "releasable" and 0 means "released or releasing". In the event of a race, css_tryget() distinguishes between "released" and "releasing" by checking for the CSS_REMOVED flag in css->flags. Signed-off-by: Paul Menage Tested-by: KAMEZAWA Hiroyuki Cc: Li Zefan Cc: Balbir Singh Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 2cb378c862777d050c20db903b119a029845fdcb Author: Paul Menage Date: Wed Jan 7 18:08:37 2009 -0800 cgroups: use hierarchy_mutex in memory controller Update the memory controller to use its hierarchy_mutex rather than calling cgroup_lock() to protected against cgroup_mkdir()/cgroup_rmdir() from occurring in its hierarchy. Signed-off-by: Paul Menage Tested-by: KAMEZAWA Hiroyuki Cc: Li Zefan Cc: Balbir Singh Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 999cd8a450f8f93701669a61cac4d3b19eca07e8 Author: Paul Menage Date: Wed Jan 7 18:08:36 2009 -0800 cgroups: add a per-subsystem hierarchy_mutex These patches introduce new locking/refcount support for cgroups to reduce the need for subsystems to call cgroup_lock(). This will ultimately allow the atomicity of cgroup_rmdir() (which was removed recently) to be restored. These three patches give: 1/3 - introduce a per-subsystem hierarchy_mutex which a subsystem can use to prevent changes to its own cgroup tree 2/3 - use hierarchy_mutex in place of calling cgroup_lock() in the memory controller 3/3 - introduce a css_tryget() function similar to the one recently proposed by Kamezawa, but avoiding spurious refcount failures in the event of a race between a css_tryget() and an unsuccessful cgroup_rmdir() Future patches will likely involve: - using hierarchy mutex in place of cgroup_lock() in more subsystems where appropriate - restoring the atomicity of cgroup_rmdir() with respect to cgroup_create() This patch: Add a hierarchy_mutex to the cgroup_subsys object that protects changes to the hierarchy observed by that subsystem. It is taken by the cgroup subsystem (in addition to cgroup_mutex) for the following operations: - linking a cgroup into that subsystem's cgroup tree - unlinking a cgroup from that subsystem's cgroup tree - moving the subsystem to/from a hierarchy (including across the bind() callback) Thus if the subsystem holds its own hierarchy_mutex, it can safely traverse its own hierarchy. Signed-off-by: Paul Menage Tested-by: KAMEZAWA Hiroyuki Cc: Li Zefan Cc: Balbir Singh Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit b5a84319a4343a0db753436fd8147e61eaafa7ea Author: KAMEZAWA Hiroyuki Date: Wed Jan 7 18:08:35 2009 -0800 memcg: fix shmem's swap accounting Now, you can see following even when swap accounting is enabled. 1. Create Group 01, and 02. 2. allocate a "file" on tmpfs by a task under 01. 3. swap out the "file" (by memory pressure) 4. Read "file" from a task in group 02. 5. the charge of "file" is moved to group 02. This is not ideal behavior. This is because SwapCache which was loaded by read-ahead is not taken into account.. This is a patch to fix shmem's swapcache behavior. - remove mem_cgroup_cache_charge_swapin(). - Add SwapCache handler routine to mem_cgroup_cache_charge(). By this, shmem's file cache is charged at add_to_page_cache() with GFP_NOWAIT. - pass the page of swapcache to shrink_mem_cgroup. Signed-off-by: KAMEZAWA Hiroyuki Cc: Daisuke Nishimura Cc: Balbir Singh Cc: Paul Menage Cc: Li Zefan Cc: Hugh Dickins Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 544122e5e0ee27d5aac4a441f7746712afbf248c Author: KAMEZAWA Hiroyuki Date: Wed Jan 7 18:08:34 2009 -0800 memcg: fix LRU accounting for SwapCache Now, a page can be deleted from SwapCache while do_swap_page(). memcg-fix-swap-accounting-leak-v3.patch handles that, but, LRU handling is still broken. (above behavior broke assumption of memcg-synchronized-lru patch.) This patch is a fix for LRU handling (especially for per-zone counters). At charging SwapCache, - Remove page_cgroup from LRU if it's not used. - Add page cgroup to LRU if it's not linked to. Reported-by: Daisuke Nishimura Signed-off-by: KAMEZAWA Hiroyuki Cc: Balbir Singh Cc: Paul Menage Cc: Li Zefan Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 54595fe2652f04dc8f5b985312c7cef5aa7bf722 Author: KAMEZAWA Hiroyuki Date: Wed Jan 7 18:08:33 2009 -0800 memcg: use css_tryget in memcg From:KAMEZAWA Hiroyuki css_tryget() newly is added and we can know css is alive or not and get refcnt of css in very safe way. ("alive" here means "rmdir/destroy" is not called.) This patch replaces css_get() to css_tryget(), where I cannot explain why css_get() is safe. And removes memcg->obsolete flag. Reviewed-by: Daisuke Nishimura Signed-off-by: KAMEZAWA Hiroyuki Cc: Balbir Singh Cc: Paul Menage Cc: Daisuke Nishimura Cc: Li Zefan Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit a7ba0eef3af51cd1b6fc4028e4705b3ea2ea9469 Author: KAMEZAWA Hiroyuki Date: Wed Jan 7 18:08:32 2009 -0800 memcg: fix double free and make refcnt sane 1. Fix double-free BUG in error route of mem_cgroup_create(). mem_cgroup_free() itself frees per-zone-info. 2. Making refcnt of memcg simple. Add 1 refcnt at creation and call free when refcnt goes down to 0. Reviewed-by: Daisuke Nishimura Signed-off-by: KAMEZAWA Hiroyuki Cc: Balbir Singh Cc: Paul Menage Cc: Daisuke Nishimura Cc: Li Zefan Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 03f3c433648a97ae7c86be789edba67690f6ea60 Author: KAMEZAWA Hiroyuki Date: Wed Jan 7 18:08:31 2009 -0800 memcg: fix swap accounting leak Fix swapin charge operation of memcg. Now, memcg has hooks to swap-out operation and checks SwapCache is really unused or not. That check depends on contents of struct page. I.e. If PageAnon(page) && page_mapped(page), the page is recoginized as still-in-use. Now, reuse_swap_page() calles delete_from_swap_cache() before establishment of any rmap. Then, in followinig sequence (Page fault with WRITE) try_charge() (charge += PAGESIZE) commit_charge() (Check page_cgroup is used or not..) reuse_swap_page() -> delete_from_swapcache() -> mem_cgroup_uncharge_swapcache() (charge -= PAGESIZE) ...... New charge is uncharged soon.... To avoid this, move commit_charge() after page_mapcount() goes up to 1. By this, try_charge() (usage += PAGESIZE) reuse_swap_page() (may usage -= PAGESIZE if PCG_USED is set) commit_charge() (If page_cgroup is not marked as PCG_USED, add new charge.) Accounting will be correct. Changelog (v2) -> (v3) - fixed invalid charge to swp_entry==0. - updated documentation. Changelog (v1) -> (v2) - fixed comment. [nishimura@mxp.nes.nec.co.jp: swap accounting leak doc fix] Signed-off-by: KAMEZAWA Hiroyuki Acked-by: Balbir Singh Tested-by: Balbir Singh Cc: Hugh Dickins Cc: Daisuke Nishimura Signed-off-by: Daisuke Nishimura Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 42e9abb628def2c335a4ecf130bb6c88d916d885 Author: Daisuke Nishimura Date: Wed Jan 7 18:08:30 2009 -0800 memcg: change try_to_free_pages to hierarchical_reclaim mem_cgroup_hierarchicl_reclaim() works properly even when !use_hierarchy now (by memcg-hierarchy-avoid-unnecessary-reclaim.patch), so, instead of try_to_free_mem_cgroup_pages(), it should be used in many cases. The only exception is force_empty. The group has no children in this case. Signed-off-by: Daisuke Nishimura Acked-by: KAMEZAWA Hiroyuki Acked-by: Balbir Singh Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 7f4d454dee2e0bdd21bafd413d1c53e443a26540 Author: Daisuke Nishimura Date: Wed Jan 7 18:08:29 2009 -0800 memcg: avoid deadlock caused by race between oom and cpuset_attach mpol_rebind_mm(), which can be called from cpuset_attach(), does down_write(mm->mmap_sem). This means down_write(mm->mmap_sem) can be called under cgroup_mutex. OTOH, page fault path does down_read(mm->mmap_sem) and calls mem_cgroup_try_charge_xxx(), which may eventually calls mem_cgroup_out_of_memory(). And mem_cgroup_out_of_memory() calls cgroup_lock(). This means cgroup_lock() can be called under down_read(mm->mmap_sem). If those two paths race, deadlock can happen. This patch avoid this deadlock by: - remove cgroup_lock() from mem_cgroup_out_of_memory(). - define new mutex (memcg_tasklist) and serialize mem_cgroup_move_task() (->attach handler of memory cgroup) and mem_cgroup_out_of_memory. Signed-off-by: Daisuke Nishimura Reviewed-by: KAMEZAWA Hiroyuki Acked-by: Balbir Singh Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit a5e924f5f8abf97944e625d74967cc9452cfbce8 Author: Daisuke Nishimura Date: Wed Jan 7 18:08:28 2009 -0800 memcg: remove mem_cgroup_try_charge After previous patch, mem_cgroup_try_charge is not used by anyone, so we can remove it. Signed-off-by: Daisuke Nishimura Acked-by: KAMEZAWA Hiroyuki Cc: Balbir Singh Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 3bb4edf24b26358eccfc69ac8b9a9c36ccc312da Author: Daisuke Nishimura Date: Wed Jan 7 18:08:28 2009 -0800 memcg: don't trigger oom at page migration I think triggering OOM at mem_cgroup_prepare_migration would be just a bit overkill. Returning -ENOMEM would be enough for mem_cgroup_prepare_migration. The caller would handle the case anyway. Signed-off-by: Daisuke Nishimura Acked-by: KAMEZAWA Hiroyuki Acked-by: Balbir Singh Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 9836d89191edd4887ed026a9ce53d9dfac62ec1c Author: KAMEZAWA Hiroyuki Date: Wed Jan 7 18:08:27 2009 -0800 memcg: explain details and test document Documentation for implementation details and how to test. Just an example. feel free to modify, add, remove lines. Signed-off-by: KAMEZAWA Hiroyuki Cc: Balbir Singh Cc: Daisuke Nishimura Cc: Hugh Dickins Cc: KOSAKI Motohiro Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit fee7b548e6f2bd4bfd03a1a45d3afd593de7d5e9 Author: KAMEZAWA Hiroyuki Date: Wed Jan 7 18:08:26 2009 -0800 memcg: show real limit under hierarchy mode Show "real" limit of memcg. This helps my debugging and maybe useful for users. While testing hierarchy like this mount -t cgroup none /cgroup -t memory mkdir /cgroup/A set use_hierarchy==1 to "A" mkdir /cgroup/A/01 mkdir /cgroup/A/01/02 mkdir /cgroup/A/01/03 mkdir /cgroup/A/01/03/04 mkdir /cgroup/A/08 mkdir /cgroup/A/08/01 .... and set each own limit to them, "real" limit of each memcg is unclear. This patch shows real limit by checking all ancestors. Changelog: (v1) -> (v2) - remove "if" and use "min(a,b)" Acked-by: Balbir Singh Signed-off-by: KAMEZAWA Hiroyuki Cc: KOSAKI Motohiro Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit c772be939e078afd2505ede7d596a30f8f61de95 Author: KOSAKI Motohiro Date: Wed Jan 7 18:08:25 2009 -0800 memcg: fix calculation of active_ratio Currently, inactive_ratio of memcg is calculated at setting limit. because page_alloc.c does so and current implementation is straightforward porting. However, memcg introduced hierarchy feature recently. In hierarchy restriction, memory limit is not only decided memory.limit_in_bytes of current cgroup, but also parent limit and sibling memory usage. Then, The optimal inactive_ratio is changed frequently. So, everytime calculation is better. Tested-by: KAMEZAWA Hiroyuki Acked-by: KAMEZAWA Hiroyuki Signed-off-by: KOSAKI Motohiro Cc: Balbir Singh Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit a7885eb8ad465ec9db99ac5b5e6680f0ca8e11c8 Author: KOSAKI Motohiro Date: Wed Jan 7 18:08:24 2009 -0800 memcg: swappiness Currently, /proc/sys/vm/swappiness can change swappiness ratio for global reclaim. However, memcg reclaim doesn't have tuning parameter for itself. In general, the optimal swappiness depend on workload. (e.g. hpc workload need to low swappiness than the others.) Then, per cgroup swappiness improve administrator tunability. Signed-off-by: KAMEZAWA Hiroyuki Signed-off-by: KOSAKI Motohiro Cc: Balbir Singh Cc: Daisuke Nishimura Cc: Hugh Dickins Cc: KOSAKI Motohiro Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 2733c06ac864ed40b9dfbbd5270f3f16949bd4a1 Author: KOSAKI Motohiro Date: Wed Jan 7 18:08:23 2009 -0800 memcg: protect prev_priority Currently, mem_cgroup doesn't have own lock and almost its member doesn't need. (e.g. mem_cgroup->info is protected by zone lock, mem_cgroup->stat is per cpu variable) However, there is one explict exception. mem_cgroup->prev_priorit need lock, but doesn't protect. Luckly, this is NOT bug because prev_priority isn't used for current reclaim code. However, we plan to use prev_priority future again. Therefore, fixing is better. In addition, we plan to reuse this lock for another member. Then "reclaim_param_lock" name is better than "prev_priority_lock". Acked-by: KAMEZAWA Hiroyuki Signed-off-by: KOSAKI Motohiro Cc: Balbir Singh Cc: Daisuke Nishimura Cc: Hugh Dickins Cc: KOSAKI Motohiro Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit e72e2bd6747c7a5c432197b6614cf3a387e61a0e Author: KAMEZAWA Hiroyuki Date: Wed Jan 7 18:08:23 2009 -0800 memcg: rename scan global lru Rename scan_global_lru() to scanning_global_lru(). Signed-off-by: KAMEZAWA Hiroyuki Cc: Balbir Singh Cc: Daisuke Nishimura Cc: Hugh Dickins Cc: KOSAKI Motohiro Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 7f016ee8b6a9a43f768e6252021f169abec4fa1f Author: KOSAKI Motohiro Date: Wed Jan 7 18:08:22 2009 -0800 memcg: show reclaim stat Add the following four fields to memory.stat file: - inactive_ratio - recent_rotated_anon - recent_rotated_file - recent_scanned_anon - recent_scanned_file Acked-by: Rik van Riel Signed-off-by: KAMEZAWA Hiroyuki Signed-off-by: KOSAKI Motohiro Cc: Balbir Singh Cc: Daisuke Nishimura Cc: Hugh Dickins Cc: KOSAKI Motohiro Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 9439c1c95b5c25b8031b2a7eb7e1590eb84be7f5 Author: KOSAKI Motohiro Date: Wed Jan 7 18:08:21 2009 -0800 memcg: remove mem_cgroup_cal_reclaim() Now, get_scan_ratio() return correct value although memcg reclaim. Then, mem_cgroup_calc_reclaim() can be removed. So, memcg reclaim get the same capability of anon/file reclaim balancing as global reclaim now. Acked-by: KAMEZAWA Hiroyuki Acked-by: Rik van Riel Signed-off-by: KOSAKI Motohiro Cc: Balbir Singh Cc: Daisuke Nishimura Cc: Hugh Dickins Cc: KOSAKI Motohiro Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 3e2f41f1f64744f7942980d93cc93dd3e5924560 Author: KOSAKI Motohiro Date: Wed Jan 7 18:08:20 2009 -0800 memcg: add zone_reclaim_stat Introduce mem_cgroup_per_zone::reclaim_stat member and its statics collecting function. Now, get_scan_ratio() can calculate correct value on memcg reclaim. [hugh@veritas.com: avoid reclaim_stat oops when disabled] Acked-by: KAMEZAWA Hiroyuki Acked-by: Rik van Riel Signed-off-by: KOSAKI Motohiro Cc: Balbir Singh Cc: Daisuke Nishimura Cc: Hugh Dickins Cc: KOSAKI Motohiro Signed-off-by: Hugh Dickins Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit a3d8e0549d913e30968fa02e505dfe02c0a23e0d Author: KOSAKI Motohiro Date: Wed Jan 7 18:08:19 2009 -0800 memcg: add mem_cgroup_zone_nr_pages() Introduce mem_cgroup_zone_nr_pages(). It is called by zone_nr_pages() helper function. This patch doesn't have any behavior change. Acked-by: KAMEZAWA Hiroyuki Acked-by: Rik van Riel Signed-off-by: KOSAKI Motohiro Acked-by: Balbir Singh Cc: Daisuke Nishimura Cc: Hugh Dickins Cc: KOSAKI Motohiro Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 14797e2363c2b2f1ce139fd1c5a215e4e05aa1d9 Author: KOSAKI Motohiro Date: Wed Jan 7 18:08:18 2009 -0800 memcg: add inactive_anon_is_low() The inactive_anon_is_low() is key component of active/inactive anon balancing on reclaim. However current inactive_anon_is_low() function only consider global reclaim. Therefore, we need following ugly scan_global_lru() condition. if (lru == LRU_ACTIVE_ANON && (!scan_global_lru(sc) || inactive_anon_is_low(zone))) { shrink_active_list(nr_to_scan, zone, sc, priority, file); return 0; it cause that memcg reclaim always deactivate pages when shrink_list() is called. To make mem_cgroup_inactive_anon_is_low() improve active/inactive anon balancing of memcgroup. Acked-by: KAMEZAWA Hiroyuki Acked-by: Rik van Riel Signed-off-by: KOSAKI Motohiro Cc: Cyrill Gorcunov Cc: "Pekka Enberg" Cc: Balbir Singh Cc: Daisuke Nishimura Cc: Hugh Dickins Cc: KOSAKI Motohiro Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 549927620b04a8f8073ce2ee2a8977f209af2ee5 Author: KOSAKI Motohiro Date: Wed Jan 7 18:08:18 2009 -0800 memcg: add null check to page_cgroup_zoneinfo() If CONFIG_CGROUP_MEM_RES_CTLR_SWAP=y, page_cgroup::mem_cgroup can be NULL. Therefore null checking is better. A later patch uses this function. Acked-by: KAMEZAWA Hiroyuki Acked-by: Rik van Riel Signed-off-by: KOSAKI Motohiro Cc: Balbir Singh Cc: Daisuke Nishimura Cc: Hugh Dickins Cc: KOSAKI Motohiro Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit eeee9a8cd1e93c8b94e7788790fa9e2f8910c779 Author: KOSAKI Motohiro Date: Wed Jan 7 18:08:17 2009 -0800 mm: make get_scan_ratio() safe for memcg Currently, get_scan_ratio() always calculate the balancing value for global reclaim and memcg reclaim doesn't use it. Therefore it doesn't have scan_global_lru() condition. However, we plan to expand get_scan_ratio() to be usable for memcg too, latter. Then, The dependency code of global reclaim in the get_scan_ratio() insert into scan_global_lru() condision explictly. This patch doesn't have any functional change. Acked-by: Rik van Riel Signed-off-by: KOSAKI Motohiro Cc: Balbir Singh Cc: Daisuke Nishimura Cc: Hugh Dickins Cc: KOSAKI Motohiro Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit c9f299d9862deadf9fbee3ca28d915fdb006975a Author: KOSAKI Motohiro Date: Wed Jan 7 18:08:16 2009 -0800 mm: add zone nr_pages helper function Add zone_nr_pages() helper function. It is used by a later patch. This patch doesn't have any functional change. Reviewed-by: KAMEZAWA Hiroyuki Signed-off-by: KOSAKI Motohiro Acked-by: Rik van Riel Cc: Balbir Singh Cc: Daisuke Nishimura Cc: Hugh Dickins Cc: KOSAKI Motohiro Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 6e9015716ae9b59e9635d692fddfcfb9582c146c Author: KOSAKI Motohiro Date: Wed Jan 7 18:08:15 2009 -0800 mm: introduce zone_reclaim struct Add zone_reclam_stat struct for later enhancement. A later patch uses this. This patch doesn't any behavior change (yet). Reviewed-by: KAMEZAWA Hiroyuki Signed-off-by: KOSAKI Motohiro Acked-by: Rik van Riel Cc: Balbir Singh Cc: Daisuke Nishimura Cc: Hugh Dickins Cc: KOSAKI Motohiro Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit f89eb90e33fd4e4e0cc1a6d20afd63c5a561885a Author: KOSAKI Motohiro Date: Wed Jan 7 18:08:14 2009 -0800 inactive_anon_is_low: move to vmscan The inactive_anon_is_low() is called only vmscan. Then it can move to vmscan.c This patch doesn't have any functional change. Reviewd-by: KAMEZAWA Hiroyuki Acked-by: Rik van Riel Signed-off-by: KOSAKI Motohiro Cc: Balbir Singh Cc: Daisuke Nishimura Cc: Hugh Dickins Cc: KOSAKI Motohiro Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 670ec2f170301425fc4fdfa63d40652071fe85f6 Author: Daisuke Nishimura Date: Wed Jan 7 18:08:13 2009 -0800 memcg: hierarchy avoid unnecessary reclaim If hierarchy is not used, no tree-walk is necessary. Reviewed-by: KOSAKI Motohiro Signed-off-by: Daisuke Nishimura Signed-off-by: KAMEZAWA Hiroyuki Cc: Balbir Singh Cc: Daisuke Nishimura Cc: Hugh Dickins Cc: KOSAKI Motohiro Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit a7fe942e94b2f66aa0f11d37699c0ec8155d3ad1 Author: KAMEZAWA Hiroyuki Date: Wed Jan 7 18:08:13 2009 -0800 memcg: swapout refcnt fix css's refcnt is dropped before end of following access. Hold it until end of access. Reported-by: Li Zefan Signed-off-by: KAMEZAWA Hiroyuki Cc: Balbir Singh Cc: Daisuke Nishimura Cc: Hugh Dickins Cc: KOSAKI Motohiro Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit b85a96c0b6cb79c67e7b01b66368f2e31579d7c5 Author: Daisuke Nishimura Date: Wed Jan 7 18:08:12 2009 -0800 memcg: memory swap controller: fix limit check There are scatterd calls of res_counter_check_under_limit(), and most of them don't take mem+swap accounting into account. define mem_cgroup_check_under_limit() and avoid direct use of res_counter_check_limit(). Reported-by: Daisuke Nishimura Signed-off-by: Daisuke Nishimura Signed-off-by: KAMEZAWA Hiroyuki Cc: Balbir Singh Cc: Daisuke Nishimura Cc: Hugh Dickins Cc: KOSAKI Motohiro Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit f9717d28d673468883df8ac34b47268719ac5a3d Author: Nikanth Karthikesan Date: Wed Jan 7 18:08:11 2009 -0800 memcg: check group leader fix Remove unnecessary codes (...fragments of not-implemented functionalilty...) Reported-by: Nikanth Karthikesan Signed-off-by: Nikanth Karthikesan Signed-off-by: KAMEZAWA Hiroyuki Cc: Balbir Singh Cc: Daisuke Nishimura Cc: Hugh Dickins Cc: KOSAKI Motohiro Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 2c26fdd70c3094fa3e84caf9ef434911933d5477 Author: KAMEZAWA Hiroyuki Date: Wed Jan 7 18:08:10 2009 -0800 memcg: revert gfp mask fix My patch, memcg-fix-gfp_mask-of-callers-of-charge.patch changed gfp_mask of callers of charge to be GFP_HIGHUSER_MOVABLE for showing what will happen at memory reclaim. But in recent discussion, it's NACKed because it sounds ugly. This patch is for reverting it and add some clean up to gfp_mask of callers of charge. No behavior change but need review before generating HUNK in deep queue. This patch also adds explanation to meaning of gfp_mask passed to charge functions in memcontrol.h. Signed-off-by: KAMEZAWA Hiroyuki Cc: Balbir Singh Cc: Daisuke Nishimura Cc: Hugh Dickins Cc: KOSAKI Motohiro Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 887007561ae58628f03aa9046949747c04f63be8 Author: KAMEZAWA Hiroyuki Date: Wed Jan 7 18:08:09 2009 -0800 memcg: fix reclaim result checks check_under_limit logic was wrong and this check should be against mem_over_limit rather than mem. Reported-by: Li Zefan Signed-off-by: KAMEZAWA Hiroyuki Cc: Balbir Singh Cc: Daisuke Nishimura Cc: Badari Pulavarty Cc: Jan Blunck Cc: Hirokazu Takahashi Cc: Nick Piggin Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit a636b327f731143ccc544b966cfd8de6cb6d72c6 Author: KAMEZAWA Hiroyuki Date: Wed Jan 7 18:08:08 2009 -0800 memcg: avoid unnecessary system-wide-oom-killer Current mmtom has new oom function as pagefault_out_of_memory(). It's added for select bad process rathar than killing current. When memcg hit limit and calls OOM at page_fault, this handler called and system-wide-oom handling happens. (means kernel panics if panic_on_oom is true....) To avoid overkill, check memcg's recent behavior before starting system-wide-oom. And this patch also fixes to guarantee "don't accnout against process with TIF_MEMDIE". This is necessary for smooth OOM. [akpm@linux-foundation.org: build fix] Signed-off-by: KAMEZAWA Hiroyuki Cc: Li Zefan Cc: Balbir Singh Cc: Daisuke Nishimura Cc: Badari Pulavarty Cc: Jan Blunck Cc: Hirokazu Takahashi Cc: Nick Piggin Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 2e4d40915fb85207fe48cfc31201824ec6d7426e Author: Lai Jiangshan Date: Wed Jan 7 18:08:07 2009 -0800 memcontrol: rcu_read_lock() to protect mm_match_cgroup() mm_match_cgroup() calls cgroup_subsys_state(). We must use rcu_read_lock() to protect cgroup_subsys_state(). Signed-off-by: Lai Jiangshan Cc: Paul Menage Reviewed-by: KAMEZAWA Hiroyuki Cc: Pavel Emelyanov Cc: Balbir Singh Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 18f59ea7de08db2449ba99185e8d8cc30e7acac5 Author: Balbir Singh Date: Wed Jan 7 18:08:07 2009 -0800 memcg: memory cgroup hierarchy feature selector Don't enable multiple hierarchy support by default. This patch introduces a features element that can be set to enable the nested depth hierarchy feature. This feature can only be enabled when the cgroup for which the feature this is enabled, has no children. Signed-off-by: Balbir Singh Cc: YAMAMOTO Takashi Cc: Paul Menage Cc: Li Zefan Cc: David Rientjes Cc: Pavel Emelianov Cc: Dhaval Giani Cc: KAMEZAWA Hiroyuki Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 6d61ef409d6ba168972f7c2f8c35baaade636a58 Author: Balbir Singh Date: Wed Jan 7 18:08:06 2009 -0800 memcg: memory cgroup hierarchical reclaim This patch introduces hierarchical reclaim. When an ancestor goes over its limit, the charging routine points to the parent that is above its limit. The reclaim process then starts from the last scanned child of the ancestor and reclaims until the ancestor goes below its limit. [akpm@linux-foundation.org: coding-style fixes] [d-nishimura@mtf.biglobe.ne.jp: mem_cgroup_from_res_counter should handle both mem->res and mem->memsw] Signed-off-by: Balbir Singh Cc: YAMAMOTO Takashi Cc: Paul Menage Cc: Li Zefan Cc: David Rientjes Cc: Pavel Emelianov Cc: Dhaval Giani Cc: KAMEZAWA Hiroyuki Signed-off-by: Daisuke Nishimura Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 28dbc4b6a01fb579a9441c7b81e3d3413dc452df Author: Balbir Singh Date: Wed Jan 7 18:08:05 2009 -0800 memcg: memory cgroup resource counters for hierarchy Add support for building hierarchies in resource counters. Cgroups allows us to build a deep hierarchy, but we currently don't link the resource counters belonging to the memory controller control groups, in the same fashion as the corresponding cgroup entries in the cgroup hierarchy. This patch provides the infrastructure for resource counters that have the same hiearchy as their cgroup counter parts. These set of patches are based on the resource counter hiearchy patches posted by Pavel Emelianov. NOTE: Building hiearchies is expensive, deeper hierarchies imply charging the all the way up to the root. It is known that hiearchies are expensive, so the user needs to be careful and aware of the trade-offs before creating very deep ones. [akpm@linux-foundation.org: coding-style fixes] Signed-off-by: Balbir Singh Cc: YAMAMOTO Takashi Cc: Paul Menage Cc: Li Zefan Cc: David Rientjes Cc: Pavel Emelianov Cc: Dhaval Giani Cc: KAMEZAWA Hiroyuki Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 52bc0d82100cd896213a9a25ec01c1ba87b939db Author: Balbir Singh Date: Wed Jan 7 18:08:03 2009 -0800 memcg: memory cgroup hierarchy documentation Documentation updates for hierarchy support Signed-off-by: Balbir Singh Cc: YAMAMOTO Takashi Cc: Paul Menage Cc: Li Zefan Cc: David Rientjes Cc: Pavel Emelianov Cc: Dhaval Giani Cc: KAMEZAWA Hiroyuki Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit f8d665422603ee1b8ed04dcad4242f14d623c941 Author: Hirokazu Takahashi Date: Wed Jan 7 18:08:02 2009 -0800 memcg: add mem_cgroup_disabled() We check mem_cgroup is disabled or not by checking mem_cgroup_subsys.disabled. I think it has more references than expected, now. replacing if (mem_cgroup_subsys.disabled) with if (mem_cgroup_disabled()) give us good look, I think. [kamezawa.hiroyu@jp.fujitsu.com: fix typo] Signed-off-by: KAMEZAWA Hiroyuki Cc: Li Zefan Cc: Balbir Singh Cc: Pavel Emelyanov Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 08e552c69c6930d64722de3ec18c51844d06ee28 Author: KAMEZAWA Hiroyuki Date: Wed Jan 7 18:08:01 2009 -0800 memcg: synchronized LRU A big patch for changing memcg's LRU semantics. Now, - page_cgroup is linked to mem_cgroup's its own LRU (per zone). - LRU of page_cgroup is not synchronous with global LRU. - page and page_cgroup is one-to-one and statically allocated. - To find page_cgroup is on what LRU, you have to check pc->mem_cgroup as - lru = page_cgroup_zoneinfo(pc, nid_of_pc, zid_of_pc); - SwapCache is handled. And, when we handle LRU list of page_cgroup, we do following. pc = lookup_page_cgroup(page); lock_page_cgroup(pc); .....................(1) mz = page_cgroup_zoneinfo(pc); spin_lock(&mz->lru_lock); .....add to LRU spin_unlock(&mz->lru_lock); unlock_page_cgroup(pc); But (1) is spin_lock and we have to be afraid of dead-lock with zone->lru_lock. So, trylock() is used at (1), now. Without (1), we can't trust "mz" is correct. This is a trial to remove this dirty nesting of locks. This patch changes mz->lru_lock to be zone->lru_lock. Then, above sequence will be written as spin_lock(&zone->lru_lock); # in vmscan.c or swap.c via global LRU mem_cgroup_add/remove/etc_lru() { pc = lookup_page_cgroup(page); mz = page_cgroup_zoneinfo(pc); if (PageCgroupUsed(pc)) { ....add to LRU } spin_lock(&zone->lru_lock); # in vmscan.c or swap.c via global LRU This is much simpler. (*) We're safe even if we don't take lock_page_cgroup(pc). Because.. 1. When pc->mem_cgroup can be modified. - at charge. - at account_move(). 2. at charge the PCG_USED bit is not set before pc->mem_cgroup is fixed. 3. at account_move() the page is isolated and not on LRU. Pros. - easy for maintenance. - memcg can make use of laziness of pagevec. - we don't have to duplicated LRU/Active/Unevictable bit in page_cgroup. - LRU status of memcg will be synchronized with global LRU's one. - # of locks are reduced. - account_move() is simplified very much. Cons. - may increase cost of LRU rotation. (no impact if memcg is not configured.) Signed-off-by: KAMEZAWA Hiroyuki Cc: Li Zefan Cc: Balbir Singh Cc: Pavel Emelyanov Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 8c7c6e34a1256a5082d38c8e9bd1474476912715 Author: KAMEZAWA Hiroyuki Date: Wed Jan 7 18:08:00 2009 -0800 memcg: mem+swap controller core This patch implements per cgroup limit for usage of memory+swap. However there are SwapCache, double counting of swap-cache and swap-entry is avoided. Mem+Swap controller works as following. - memory usage is limited by memory.limit_in_bytes. - memory + swap usage is limited by memory.memsw_limit_in_bytes. This has following benefits. - A user can limit total resource usage of mem+swap. Without this, because memory resource controller doesn't take care of usage of swap, a process can exhaust all the swap (by memory leak.) We can avoid this case. And Swap is shared resource but it cannot be reclaimed (goes back to memory) until it's used. This characteristic can be trouble when the memory is divided into some parts by cpuset or memcg. Assume group A and group B. After some application executes, the system can be.. Group A -- very large free memory space but occupy 99% of swap. Group B -- under memory shortage but cannot use swap...it's nearly full. Ability to set appropriate swap limit for each group is required. Maybe someone wonder "why not swap but mem+swap ?" - The global LRU(kswapd) can swap out arbitrary pages. Swap-out means to move account from memory to swap...there is no change in usage of mem+swap. In other words, when we want to limit the usage of swap without affecting global LRU, mem+swap limit is better than just limiting swap. Accounting target information is stored in swap_cgroup which is per swap entry record. Charge is done as following. map - charge page and memsw. unmap - uncharge page/memsw if not SwapCache. swap-out (__delete_from_swap_cache) - uncharge page - record mem_cgroup information to swap_cgroup. swap-in (do_swap_page) - charged as page and memsw. record in swap_cgroup is cleared. memsw accounting is decremented. swap-free (swap_free()) - if swap entry is freed, memsw is uncharged by PAGE_SIZE. There are people work under never-swap environments and consider swap as something bad. For such people, this mem+swap controller extension is just an overhead. This overhead is avoided by config or boot option. (see Kconfig. detail is not in this patch.) TODO: - maybe more optimization can be don in swap-in path. (but not very safe.) But we just do simple accounting at this stage. [nishimura@mxp.nes.nec.co.jp: make resize limit hold mutex] [hugh@veritas.com: memswap controller core swapcache fixes] Signed-off-by: KAMEZAWA Hiroyuki Cc: Li Zefan Cc: Balbir Singh Cc: Pavel Emelyanov Signed-off-by: Daisuke Nishimura Signed-off-by: Hugh Dickins Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 27a7faa0779dd13729196c1a818c294f44bbd1ee Author: KAMEZAWA Hiroyuki Date: Wed Jan 7 18:07:58 2009 -0800 memcg: swap cgroup for remembering usage For accounting swap, we need a record per swap entry, at least. This patch adds following function. - swap_cgroup_swapon() .... called from swapon - swap_cgroup_swapoff() ... called at the end of swapoff. - swap_cgroup_record() .... record information of swap entry. - swap_cgroup_lookup() .... lookup information of swap entry. This patch just implements "how to record information". No actual method for limit the usage of swap. These routine uses flat table to record and lookup. "wise" lookup system like radix-tree requires requires memory allocation at new records but swap-out is usually called under memory shortage (or memcg hits limit.) So, I used static allocation. (maybe dynamic allocation is not very hard but it adds additional memory allocation in memory shortage path.) Note1: In this, we use pointer to record information and this means 8bytes per swap entry. I think we can reduce this when we create "id of cgroup" in the range of 0-65535 or 0-255. Reported-by: Daisuke Nishimura Reviewed-by: Daisuke Nishimura Tested-by: Daisuke Nishimura Reported-by: Hugh Dickins Reported-by: Balbir Singh Reported-by: Andrew Morton Signed-off-by: KAMEZAWA Hiroyuki Cc: Pavel Emelianov Cc: Li Zefan Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit c077719be8e9e6b55702117513d1b5f41d80404a Author: KAMEZAWA Hiroyuki Date: Wed Jan 7 18:07:57 2009 -0800 memcg: mem+swap controller Kconfig Config and control variable for mem+swap controller. This patch adds CONFIG_CGROUP_MEM_RES_CTLR_SWAP (memory resource controller swap extension.) For accounting swap, it's obvious that we have to use additional memory to remember "who uses swap". This adds more overhead. So, it's better to offer "choice" to users. This patch adds 2 choices. This patch adds 2 parameters to enable swap extension or not. - CONFIG - boot option Reviewed-by: Daisuke Nishimura Signed-off-by: KAMEZAWA Hiroyuki Cc: Li Zefan Cc: Balbir Singh Cc: Pavel Emelyanov Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit d13d144309d2e5a3e6ad978b16c1d0226ddc9231 Author: KAMEZAWA Hiroyuki Date: Wed Jan 7 18:07:56 2009 -0800 memcg: handle swap caches SwapCache support for memory resource controller (memcg) Before mem+swap controller, memcg itself should handle SwapCache in proper way. This is cut-out from it. In current memcg, SwapCache is just leaked and the user can create tons of SwapCache. This is a leak of account and should be handled. SwapCache accounting is done as following. charge (anon) - charged when it's mapped. (because of readahead, charge at add_to_swap_cache() is not sane) uncharge (anon) - uncharged when it's dropped from swapcache and fully unmapped. means it's not uncharged at unmap. Note: delete from swap cache at swap-in is done after rmap information is established. charge (shmem) - charged at swap-in. this prevents charge at add_to_page_cache(). uncharge (shmem) - uncharged when it's dropped from swapcache and not on shmem's radix-tree. at migration, check against 'old page' is modified to handle shmem. Comparing to the old version discussed (and caused troubles), we have advantages of - PCG_USED bit. - simple migrating handling. So, situation is much easier than several months ago, maybe. [hugh@veritas.com: memcg: handle swap caches build fix] Reviewed-by: Daisuke Nishimura Tested-by: Daisuke Nishimura Signed-off-by: KAMEZAWA Hiroyuki Cc: Hugh Dickins Cc: Li Zefan Cc: Balbir Singh Cc: Pavel Emelyanov Signed-off-by: Hugh Dickins Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit c1e862c1f5ad34771b6d0a528cf681e0dcad7c86 Author: KAMEZAWA Hiroyuki Date: Wed Jan 7 18:07:55 2009 -0800 memcg: new force_empty to free pages under group By memcg-move-all-accounts-to-parent-at-rmdir.patch, there is no leak of memory usage and force_empty is removed. This patch adds "force_empty" again, in reasonable manner. memory.force_empty file works when #echo 0 (or some) > memory.force_empty and have following function. 1. only works when there are no task in this cgroup. 2. free all page under this cgroup as much as possible. 3. page which cannot be freed will be moved up to parent. 4. Then, memcg will be empty after above echo returns. This is much better behavior than old "force_empty" which just forget all accounts. This patch also check signal_pending() and above "echo" can be stopped by "Ctrl-C". [akpm@linux-foundation.org: cleanup] Signed-off-by: KAMEZAWA Hiroyuki Cc: Li Zefan Cc: Balbir Singh Cc: Pavel Emelyanov Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit c8dad2bb6307f5b00f804a686917105206a4d5c9 Author: Jan Blunck Date: Wed Jan 7 18:07:53 2009 -0800 memcg: reduce size of mem_cgroup by using nr_cpu_ids As Jan Blunck pointed out, allocating per-cpu stat for memcg to the size of NR_CPUS is not good. This patch changes mem_cgroup's cpustat allocation not based on NR_CPUS but based on nr_cpu_ids. Reviewed-by: Li Zefan Signed-off-by: KAMEZAWA Hiroyuki Cc: Li Zefan Cc: Balbir Singh Cc: Pavel Emelyanov Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit f817ed48535ac6510ebae7c4116f24a5f9268834 Author: KAMEZAWA Hiroyuki Date: Wed Jan 7 18:07:53 2009 -0800 memcg: move all acccounting to parent at rmdir() This patch provides a function to move account information of a page between mem_cgroups and rewrite force_empty to make use of this. This moving of page_cgroup is done under - lru_lock of source/destination mem_cgroup is held. - lock_page_cgroup() is held. Then, a routine which touches pc->mem_cgroup without lock_page_cgroup() should confirm pc->mem_cgroup is still valid or not. Typical code can be following. (while page is not under lock_page()) mem = pc->mem_cgroup; mz = page_cgroup_zoneinfo(pc) spin_lock_irqsave(&mz->lru_lock); if (pc->mem_cgroup == mem) ...../* some list handling */ spin_unlock_irqrestore(&mz->lru_lock); Of course, better way is lock_page_cgroup(pc); .... unlock_page_cgroup(pc); But you should confirm the nest of lock and avoid deadlock. If you treats page_cgroup from mem_cgroup's LRU under mz->lru_lock, you don't have to worry about what pc->mem_cgroup points to. moved pages are added to head of lru, not to tail. Expected users of this routine is: - force_empty (rmdir) - moving tasks between cgroup (for moving account information.) - hierarchy (maybe useful.) force_empty(rmdir) uses this move_account and move pages to its parent. This "move" will not cause OOM (I added "oom" parameter to try_charge().) If the parent is busy (not enough memory), force_empty calls try_to_free_page() and reduce usage. Purpose of this behavior is - Fix "forget all" behavior of force_empty and avoid leak of accounting. - By "moving first, free if necessary", keep pages on memory as much as possible. Adding a switch to change behavior of force_empty to - free first, move if necessary - free all, if there is mlocked/busy pages, return -EBUSY. is under consideration. (I'll add if someone requtests.) This patch also removes memory.force_empty file, a brutal debug-only interface. Reviewed-by: Daisuke Nishimura Tested-by: Daisuke Nishimura Signed-off-by: KAMEZAWA Hiroyuki Cc: Balbir Singh Cc: Paul Menage Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 0753b0ef3b301895234fed02bea2c099c7ff4feb Author: Fernando Luis Vazquez Cao Date: Wed Jan 7 18:07:51 2009 -0800 memcg: do not recalculate section unnecessarily in init_section_page_cgroup In init_section_page_cgroup() the section a given pfn belongs to is calculated at the top of the function and, despite the fact that the pfn/section correspondence does not change, it is recalculated further down the same function. By computing this just once and reusing that value we save some bytes in the object file and do not waste CPU cycles. Signed-off-by: Fernando Luis Vazquez Cao Reviewed-by: KAMEZAWA Hiroyuki Cc: Daisuke Nishimura Cc: Balbir Singh Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 01b1ae63c2270cbacfd43fea94578c17950eb548 Author: KAMEZAWA Hiroyuki Date: Wed Jan 7 18:07:50 2009 -0800 memcg: simple migration handling Now, management of "charge" under page migration is done under following manner. (Assume migrate page contents from oldpage to newpage) before - "newpage" is charged before migration. at success. - "oldpage" is uncharged at somewhere(unmap, radix-tree-replace) at failure - "newpage" is uncharged. - "oldpage" is charged if necessary (*1) But (*1) is not reliable....because of GFP_ATOMIC. This patch tries to change behavior as following by charge/commit/cancel ops. before - charge PAGE_SIZE (no target page) success - commit charge against "newpage". failure - commit charge against "oldpage". (PCG_USED bit works effectively to avoid double-counting) - if "oldpage" is obsolete, cancel charge of PAGE_SIZE. Signed-off-by: KAMEZAWA Hiroyuki Reviewed-by: Daisuke Nishimura Cc: Balbir Singh Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit bced0520fe462bb94021dcabd32e99630c171be2 Author: KAMEZAWA Hiroyuki Date: Wed Jan 7 18:07:49 2009 -0800 memcg: fix gfp_mask of callers of charge Fix misuse of gfp_kernel. Now, most of callers of mem_cgroup_charge_xxx functions uses GFP_KERNEL. I think that this is from the fact that page_cgroup *was* dynamically allocated. But now, we allocate all page_cgroup at boot. And mem_cgroup_try_to_free_pages() reclaim memory from GFP_HIGHUSER_MOVABLE + specified GFP_RECLAIM_MASK. * This is because we just want to reduce memory usage. "Where we should reclaim from ?" is not a problem in memcg. This patch modifies gfp masks to be GFP_HIGUSER_MOVABLE if possible. Note: This patch is not for fixing behavior but for showing sane information in source code. Signed-off-by: KAMEZAWA Hiroyuki Reviewed-by: Daisuke Nishimura Cc: Balbir Singh Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 7a81b88cb53e335ff7d019e6398c95792c817d93 Author: KAMEZAWA Hiroyuki Date: Wed Jan 7 18:07:48 2009 -0800 memcg: introduce charge-commit-cancel style of functions There is a small race in do_swap_page(). When the page swapped-in is charged, the mapcount can be greater than 0. But, at the same time some process (shares it ) call unmap and make mapcount 1->0 and the page is uncharged. CPUA CPUB mapcount == 1. (1) charge if mapcount==0 zap_pte_range() (2) mapcount 1 => 0. (3) uncharge(). (success) (4) set page's rmap() mapcount 0=>1 Then, this swap page's account is leaked. For fixing this, I added a new interface. - charge account to res_counter by PAGE_SIZE and try to free pages if necessary. - commit register page_cgroup and add to LRU if necessary. - cancel uncharge PAGE_SIZE because of do_swap_page failure. CPUA (1) charge (always) (2) set page's rmap (mapcount > 0) (3) commit charge was necessary or not after set_pte(). This protocol uses PCG_USED bit on page_cgroup for avoiding over accounting. Usual mem_cgroup_charge_common() does charge -> commit at a time. And this patch also adds following function to clarify all charges. - mem_cgroup_newpage_charge() ....replacement for mem_cgroup_charge() called against newly allocated anon pages. - mem_cgroup_charge_migrate_fixup() called only from remove_migration_ptes(). we'll have to rewrite this later.(this patch just keeps old behavior) This function will be removed by additional patch to make migration clearer. Good for clarifying "what we do" Then, we have 4 following charge points. - newpage - swap-in - add-to-cache. - migration. [akpm@linux-foundation.org: add missing inline directives to stubs] Signed-off-by: KAMEZAWA Hiroyuki Reviewed-by: Daisuke Nishimura Cc: Balbir Singh Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 0b82ac37b889ec881b645860da3775118effb3ca Author: Serge E. Hallyn Date: Wed Jan 7 18:07:46 2009 -0800 devices cgroup: allow mkfifo The devcgroup_inode_permission() hook in the devices whitelist cgroup has always bypassed access checks on fifos. But the mknod hook did not. The devices whitelist is only about block and char devices, and fifos can't even be added to the whitelist, so fifos can't be created at all except by tasks which have 'a' in their whitelist (meaning they have access to all devices). Fix the behavior by bypassing access checks to mkfifo. Signed-off-by: Serge E. Hallyn Cc: Li Zefan Cc: Pavel Emelyanov Cc: Paul Menage Cc: Lai Jiangshan Cc: KOSAKI Motohiro Cc: James Morris Reported-by: Daniel Lezcano Cc: [2.6.27.x] Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 116e05751285c20edf5768ca3bcc00dad86181bb Author: Lai Jiangshan Date: Wed Jan 7 18:07:45 2009 -0800 devcgroup: use list_for_each_entry_rcu() We should use list_for_each_entry_rcu in RCU read site. Signed-off-by: Lai Jiangshan Cc: Paul Menage Cc: KAMEZAWA Hiroyuki Cc: Pavel Emelyanov Cc: Balbir Singh Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit a47295e6bc42ad35f9c15ac66f598aa24debd4e2 Author: Paul Menage Date: Wed Jan 7 18:07:44 2009 -0800 cgroups: make cgroup_path() RCU-safe Fix races between /proc/sched_debug by freeing cgroup objects via an RCU callback. Thus any cgroup reference obtained from an RCU-safe source will remain valid during the RCU section. Since dentries are also RCU-safe, this allows us to traverse up the tree safely. Additionally, make cgroup_path() check for a NULL cgrp->dentry to avoid trying to report a path for a partially-created cgroup. [lizf@cn.fujitsu.com: call deactive_super() in cgroup_diput()] Signed-off-by: Paul Menage Reviewed-by: Li Zefan Tested-by: Li Zefan Cc: Peter Zijlstra Signed-off-by: Li Zefan Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit e7b80bb695a5b64c92e314838e083b2f3bdf29b2 Author: Gowrishankar M Date: Wed Jan 7 18:07:43 2009 -0800 cgroups: skip processes from other namespaces when listing a cgroup Once tasks are populated from system namespace inside cgroup, container replaces other namespace task with 0 while listing tasks, inside container. Though this is expected behaviour from container end, there is no use of showing unwanted 0s. In this patch, we check if a process is in same namespace before loading into pid array. [akpm@linux-foundation.org: coding-style fixes] Signed-off-by: Gowrishankar M Acked-by: Paul Menage Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit c12f65d4396e05c51ce3af7f159ead98574a587c Author: Li Zefan Date: Wed Jan 7 18:07:42 2009 -0800 cgroups: introduce link_css_set() to remove duplicate code Add a common function link_css_set() to link a css_set to a cgroup. Signed-off-by: Li Zefan Cc: Paul Menage Cc: KAMEZAWA Hiroyuki Cc: Balbir Singh Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 33a68ac1c1b695216e873ee12e819adbe73e4d9f Author: Li Zefan Date: Wed Jan 7 18:07:42 2009 -0800 cgroups: add inactive subsystems to rootnode.subsys_list Though for an inactive hierarchy, we have subsys->root == &rootnode, but rootnode's subsys_list is always empty. This conflicts with the code in find_css_set(): for (i = 0; i < CGROUP_SUBSYS_COUNT; i++) { ... if (ss->root->subsys_list.next == &ss->sibling) { ... } } if (list_empty(&rootnode.subsys_list)) { ... } The above code assumes rootnode.subsys_list links all inactive hierarchies. Signed-off-by: Li Zefan Cc: Paul Menage Cc: KAMEZAWA Hiroyuki Cc: Balbir Singh Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit e5f6a8609bab0c2d7543ab1505105e011832afd7 Author: Li Zefan Date: Wed Jan 7 18:07:41 2009 -0800 cgroups: make root_list contains active hierarchies only Don't link rootnode to the root list, so root_list contains active hierarchies only as the comment indicates. And rename for_each_root() to for_each_active_root(). Also remove redundant check in cgroup_kill_sb(). Signed-off-by: Li Zefan Cc: Paul Menage Cc: KAMEZAWA Hiroyuki Cc: Balbir Singh Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 7534432dcc3c654a8671b6b0cdffd1dbdbc73074 Author: Lai Jiangshan Date: Wed Jan 7 18:07:40 2009 -0800 cgroups: remove rcu_read_lock() in cgroupstats_build() cgroup_iter_* do not need rcu_read_lock(). In cgroup_enable_task_cg_lists(), do_each_thread() and while_each_thread() are protected by RCU, it's OK, for write_lock(&css_set_lock) implies rcu_read_lock() in non-RT kernel. If we need explicit rcu_read_lock(), we should add rcu_read_lock() in cgroup_enable_task_cg_lists(), not cgroup_iter_*. Signed-off-by: Lai Jiangshan Acked-by: Paul Menage Cc: KAMEZAWA Hiroyuki Cc: Pavel Emelyanov Cc: Balbir Singh Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 77efecd9e0526327548152df715ab8644ecb5ba0 Author: Lai Jiangshan Date: Wed Jan 7 18:07:39 2009 -0800 cgroups: call find_css_set() safely in cgroup_attach_task() In cgroup_attach_task(), tsk maybe exit when we call find_css_set(). and find_css_set() will access to invalid css_set. This patch increases the count before get_css_set(), and decreases it after find_css_set(). NOTE: css_set's refcount is also taskcount, after this patch applied, taskcount may be off-by-one WHEN cgroup_lock() is not held. but I reviewed other code which use taskcount, they are still correct. No regression found by reviewing and simply testing. So I do not use two counters in css_set. (one counter for taskcount, the other for refcount. like struct mm_struct) If this fix cause regression, we will use two counters in css_set. Signed-off-by: Lai Jiangshan Cc: Paul Menage Cc: KAMEZAWA Hiroyuki Cc: Pavel Emelyanov Cc: Balbir Singh Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 104cbd55377029e70fc2cee01089e84b9c36e5dc Author: Lai Jiangshan Date: Wed Jan 7 18:07:38 2009 -0800 cgroups: use task_lock() for access tsk->cgroups safe in cgroup_clone() Use task_lock() protect tsk->cgroups and get_css_set(tsk->cgroups). Signed-off-by: Lai Jiangshan Acked-by: Paul Menage Cc: KAMEZAWA Hiroyuki Cc: Pavel Emelyanov Cc: Balbir Singh Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit b2aa30f7bb381e04c93eed106089ba55553955f1 Author: Lai Jiangshan Date: Wed Jan 7 18:07:37 2009 -0800 cgroups: don't put struct cgroupfs_root protected by RCU We don't access struct cgroupfs_root in fast path, so we should not put struct cgroupfs_root protected by RCU But the comment in struct cgroup_subsys.root confuse us. struct cgroup_subsys.root is used in these places: 1 find_css_set(): if (ss->root->subsys_list.next == &ss->sibling) 2 rebind_subsystems(): if (ss->root != &rootnode) rcu_assign_pointer(ss->root, root); rcu_assign_pointer(subsys[i]->root, &rootnode); 3 cgroup_has_css_refs(): if (ss->root != cgrp->root) 4 cgroup_init_subsys(): ss->root = &rootnode; 5 proc_cgroupstats_show(): ss->name, ss->root->subsys_bits, ss->root->number_of_cgroups, !ss->disabled); 6 cgroup_clone(): root = subsys->root; if ((root != subsys->root) || All these place we have held cgroup_lock() or we don't dereference to struct cgroupfs_root. It's means wo don't need RCU when use struct cgroup_subsys.root, and we should not put struct cgroupfs_root protected by RCU. Signed-off-by: Lai Jiangshan Reviewed-by: Paul Menage Cc: KAMEZAWA Hiroyuki Cc: Pavel Emelyanov Cc: Balbir Singh Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 2019f634ce5904c19eba4e86f51b1a119a53a9f1 Author: Lai Jiangshan Date: Wed Jan 7 18:07:36 2009 -0800 cgroups: fix cgroup_iter_next() bug We access res->cgroups without the task_lock(), so res->cgroups may be changed. it's unreliable, and "if (l == &res->cgroups->tasks)" may be false forever. We don't need add any lock for fixing this bug. we just access to struct css_set by struct cg_cgroup_link, not by struct task_struct. Since we hold css_set_lock, struct cg_cgroup_link is reliable. Signed-off-by: Lai Jiangshan Reviewed-by: Paul Menage Cc: KAMEZAWA Hiroyuki Cc: Pavel Emelyanov Cc: Balbir Singh Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit b12b533fa523e94e0cc9dc23274ae4f9439f1313 Author: Lai Jiangshan Date: Wed Jan 7 18:07:36 2009 -0800 cgroups: add lock for child->cgroups in cgroup_post_fork() When cgroup_post_fork() is called, child is seen by find_task_by_vpid(), so child->cgroups maybe be changed, It'll incorrect. child->cgroups's refcnt is decreased child->cgroups's refcnt is increased but child->cg_list is added to child->cgroups's list. Signed-off-by: Lai Jiangshan Reviewed-by: Paul Menage Cc: KAMEZAWA Hiroyuki Cc: Pavel Emelyanov Cc: Balbir Singh Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit c9d5409f8d46fd0d18b4a4481d9caa04076d87fc Author: Li Zefan Date: Wed Jan 7 18:07:35 2009 -0800 memcg: fix a typo in Kconfig s/contoller/controller/ Signed-of-by: Li Zefan Cc: Paul Menage Acked-by: KAMEZAWA Hiroyuki Cc: Balbir Singh Cc: Pavel Emelyanov Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit cae7a366f77ea5c9f54ae98c5fc65056877a89ed Author: Li Zefan Date: Wed Jan 7 18:07:34 2009 -0800 ns_cgroup: remove unused spinlock I happened to find the spinlock in struct ns_cgroup is never used. Signed-off-by: Li Zefan Cc: Paul Menage Cc: KAMEZAWA Hiroyuki Cc: Balbir Singh Cc: Pavel Emelyanov Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 75139b8274c3e30354daea623f14b43a482a0bb5 Author: Li Zefan Date: Wed Jan 7 18:07:33 2009 -0800 cgroups: remove some redundant NULL checks - In cgroup_clone(), if vfs_mkdir() returns successfully, dentry->d_fsdata will be the pointer to the newly created cgroup and won't be NULL. - a cgroup file's dentry->d_fsdata won't be NULL, guaranteed by cgroup_add_file(). - When walking through the subsystems of a cgroup_fs (using for_each_subsys), cgrp->subsys[ss->subsys_id] won't be NULL, guaranteed by cgroup_create(). (Also remove 2 unused variables in cgroup_rmdir(). Signed-off-by: Li Zefan Cc: Paul Menage Cc: KAMEZAWA Hiroyuki Cc: Balbir Singh Cc: Pavel Emelyanov Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 18e7f1f0d34be4a39f7f47324a3e26b43fddb714 Author: Li Zefan Date: Wed Jan 7 18:07:32 2009 -0800 cgroups: documentation updates - remove 'releasable' since it has been moved to the debug subsys. - update lock requirements of subsys callbacks. Signed-off-by: Li Zefan Cc: Paul Menage Cc: KAMEZAWA Hiroyuki Cc: Balbir Singh Cc: Pavel Emelyanov Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 5cdc38f98596662620b822a4e13f797c3f2f65e0 Author: KAMEZAWA Hiroyuki Date: Wed Jan 7 18:07:30 2009 -0800 cgroups: make cgroup config a submenu Making CGROUP related configs be a sub-menu. This patch make CGROUP related configs be a sub-menu and makes 1st level configs of "General Setup" shorter. including following additional changes - add help comment about CGROUPS and GROUP_SCHED. - moved MM_OWNER config to the bottom. (for good indent in menuconfig) Signed-off-by: KAMEZAWA Hiroyuki Reviewed-by: Daisuke Nishimura Cc: Balbir Singh Cc: Paul Menage Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit e04a88a920ff36d03641e1b9c01b7960d94209f1 Author: Jan Kara Date: Wed Jan 7 18:07:29 2009 -0800 quota: don't set grace time when user isn't above softlimit do_set_dqblk() allowed SETDQBLK quotactl to set user's grace time even if user was not above his softlimit. This does not make much sence and by coincidence causes quota code to omit softlimit warning when user really exceeds softlimit. This patch makes do_set_dqblk() reset user's grace time if he has not exceeded softlimit. Signed-off-by: Jan Kara Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 87d1fda5e2ff6527740604a7918fc273b6f9ae13 Author: Richard A. Holden III Date: Wed Jan 7 18:07:28 2009 -0800 coda: fix fs/coda/sysctl.c build warnings when !CONFIG_SYSCTL Fix fs/coda/sysctl.c:14: warning: 'fs_table_header' defined but not used fs/coda/sysctl.c:44: warning: 'fs_table' defined but not used these are only used when CONFIG_SYSCTL is defined. Signed-off-by: Richard A. Holden III Cc: Jan Harkes Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 1579c3a15c06055713b42b077b805f818638302c Author: Randy Dunlap Date: Wed Jan 7 18:07:27 2009 -0800 jbd: remove excess kernel-doc notation Remove excess kernel-doc from fs/jbd/transaction.c: Warning(linux-2.6.28-git5//fs/jbd/transaction.c:764): Excess function parameter 'credits' description in 'journal_get_write_access' Signed-off-by: Randy Dunlap Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 04143e2fb9d512c21e1dcfb561dbb0445dcfdc8c Author: Duane Griffin Date: Wed Jan 7 18:07:26 2009 -0800 ext3: tighten restrictions on inode flags At the moment there are few restrictions on which flags may be set on which inodes. Specifically DIRSYNC may only be set on directories and IMMUTABLE and APPEND may not be set on links. Tighten that to disallow TOPDIR being set on non-directories and only NODUMP and NOATIME to be set on non-regular file, non-directories. Introduces a flags masking function which masks flags based on mode and use it during inode creation and when flags are set via the ioctl to facilitate future consistency. Signed-off-by: Duane Griffin Acked-by: Andreas Dilger Cc: Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 2e8671cb566da993425d324fc355af31edc6e7f1 Author: Duane Griffin Date: Wed Jan 7 18:07:26 2009 -0800 ext3: don't inherit inappropriate inode flags from parent At present INDEX is the only flag that new ext3 inodes do NOT inherit from their parent. In addition prevent the flags DIRTY, ECOMPR, IMAGIC and TOPDIR from being inherited. List inheritable flags explicitly to prevent future flags from accidentally being inherited. This fixes the TOPDIR flag inheritance bug reported at http://bugzilla.kernel.org/show_bug.cgi?id=9866. Signed-off-by: Duane Griffin Acked-by: Andreas Dilger Cc: Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 5df096d67ec2b6578518caed7d57317a4b807aa1 Author: Pekka Enberg Date: Wed Jan 7 18:07:25 2009 -0800 ext3: allocate ->s_blockgroup_lock separately As spotted by kmemtrace, struct ext3_sb_info is 17152 bytes on 64-bit which makes it a very bad fit for SLAB allocators. The culprit of the wasted memory is ->s_blockgroup_lock which can be as big as 16 KB when NR_CPUS >= 32. To fix that, allocate ->s_blockgroup_lock, which fits nicely in a order 2 page in the worst case, separately. This shinks down struct ext3_sb_info enough to fit a 1 KB slab cache so now we allocate 16 KB + 1 KB instead of 32 KB saving 15 KB of memory. Acked-by: Andreas Dilger Signed-off-by: Pekka Enberg Cc: Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit f420d4dc4272fd223986762df2ad06056ddebada Author: Josef Bacik Date: Wed Jan 7 18:07:24 2009 -0800 jbd: improve fsync batching There is a flaw with the way jbd handles fsync batching. If we fsync() a file and we were not the last person to run fsync() on this fs then we automatically sleep for 1 jiffie in order to wait for new writers to join into the transaction before forcing the commit. The problem with this is that with really fast storage (ie a Clariion) the time it takes to commit a transaction to disk is way faster than 1 jiffie in most cases, so sleeping means waiting longer with nothing to do than if we just committed the transaction and kept going. Ric Wheeler noticed this when using fs_mark with more than 1 thread, the throughput would plummet as he added more threads. This patch attempts to fix this problem by recording the average time in nanoseconds that it takes to commit a transaction to disk, and what time we started the transaction. If we run an fsync() and we have been running for less time than it takes to commit the transaction to disk, we sleep for the delta amount of time and then commit to disk. We acheive sub-jiffie sleeping using schedule_hrtimeout. This means that the wait time is auto-tuned to the speed of the underlying disk, instead of having this static timeout. I weighted the average according to somebody's comments (Andreas Dilger I think) in order to help normalize random outliers where we take way longer or way less time to commit than the average. I also have a min() check in there to make sure we don't sleep longer than a jiffie in case our storage is super slow, this was requested by Andrew. I unfortunately do not have access to a Clariion, so I had to use a ramdisk to represent a super fast array. I tested with a SATA drive with barrier=1 to make sure there was no regression with local disks, I tested with a 4 way multipathed Apple Xserve RAID array and of course the ramdisk. I ran the following command fs_mark -d /mnt/ext3-test -s 4096 -n 2000 -D 64 -t $i where $i was 2, 4, 8, 16 and 32. I mkfs'ed the fs each time. Here are my results type threads with patch without patch sata 2 24.6 26.3 sata 4 49.2 48.1 sata 8 70.1 67.0 sata 16 104.0 94.1 sata 32 153.6 142.7 xserve 2 246.4 222.0 xserve 4 480.0 440.8 xserve 8 829.5 730.8 xserve 16 1172.7 1026.9 xserve 32 1816.3 1650.5 ramdisk 2 2538.3 1745.6 ramdisk 4 2942.3 661.9 ramdisk 8 2882.5 999.8 ramdisk 16 2738.7 1801.9 ramdisk 32 2541.9 2394.0 Signed-off-by: Josef Bacik Cc: Andreas Dilger Cc: Arjan van de Ven Cc: Ric Wheeler Cc: Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit ef8b646183868b2d042fa6cde0eef2a31263ff85 Author: Duane Griffin Date: Wed Jan 7 18:07:21 2009 -0800 ext2: tighten restrictions on inode flags At the moment there are few restrictions on which flags may be set on which inodes. Specifically DIRSYNC may only be set on directories and IMMUTABLE and APPEND may not be set on links. Tighten that to disallow TOPDIR being set on non-directories and only NODUMP and NOATIME to be set on non-regular file, non-directories. Introduces a flags masking function which masks flags based on mode and use it during inode creation and when flags are set via the ioctl to facilitate future consistency. Signed-off-by: Duane Griffin Acked-by: Andreas Dilger Cc: Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 0e090f1e05a563cc9acdda442767176bf1616001 Author: Duane Griffin Date: Wed Jan 7 18:07:20 2009 -0800 ext2: don't inherit inappropriate inode flags from parent At present BTREE/INDEX is the only flag that new ext2 inodes do NOT inherit from their parent. In addition prevent the flags DIRTY, ECOMPR, INDEX, IMAGIC and TOPDIR from being inherited. List inheritable flags explicitly to prevent future flags from accidentally being inherited. This fixes the TOPDIR flag inheritance bug reported at http://bugzilla.kernel.org/show_bug.cgi?id=9866. Signed-off-by: Duane Griffin Acked-by: Andreas Dilger Cc: Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 18a82eb9f980b5e02cea651e4ecda26265d98933 Author: Pekka J Enberg Date: Wed Jan 7 18:07:19 2009 -0800 ext2: allocate ->s_blockgroup_lock separately As spotted by kmemtrace, struct ext2_sb_info is 17024 bytes on 64-bit which makes it a very bad fit for SLAB allocators. The culprit of the wasted memory is ->s_blockgroup_lock which can be as big as 16 KB when NR_CPUS >= 32. To fix that, allocate ->s_blockgroup_lock, which fits nicely in a order 2 page in the worst case, separately. This shinks down struct ext2_sb_info enough to fit a 1 KB slab cache so now we allocate 16 KB + 1 KB instead of 32 KB saving 15 KB of memory. Acked-by: Andreas Dilger Signed-off-by: Pekka Enberg Cc: Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 22d613d13445de9dea6edc3289c304237eb191f6 Author: Qinghuang Feng Date: Wed Jan 7 18:07:18 2009 -0800 ext2: fix ext2_splice_branch() comments There is no argument named @chain in ext2_splice_branch, remove references to it. Signed-off-by: Qinghuang Feng Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 74d88eb2930f09e1a63d61cc9d4cffc50c684412 Author: Jüri Reitel Date: Wed Jan 7 18:07:16 2009 -0800 rtc-ds1307: remove legacy probe() checks Remove RTC register value checks from the rtc-ds1307 probe() function. They were left over from the legacy style I2C driver, which had to defend against finding a non-RTC chip when the driver was probed. Also fix a minor glitch in the alarm support: DS1307 chips don't have alarms, so name those methods after one of the chips which actually *do* have alarms (DS1337). Signed-off-by: Jüri Reitel Signed-off-by: David Brownell Cc: Sebastien Barre Cc: Alessandro Zummo Acked-by: Jean Delvare Cc: Rodolfo Giometti Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit fed40b734c343d4e4acf4b46f186bc3d69271867 Author: BARRE Sebastien Date: Wed Jan 7 18:07:13 2009 -0800 rtc-ds1307: SMBus compatibility Change i2c access functions to SMBus access functions in order to use the ds1307 with SMBus adapter. Signed-off-by: Sebastien Barre Acked-by: David Brownell Tested-by: David Brownell Acked-by: Alessandro Zummo Acked-by: Jean Delvare Cc: Rodolfo Giometti Tested-by: Sebastien Barre Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 1107ba885e46964316c083d441d5dd185b6c9e49 Author: Alex Zeffertt Date: Wed Jan 7 18:07:11 2009 -0800 xen: add xenfs to allow usermode <-> Xen interaction The xenfs filesystem exports various interfaces to usermode. Initially this exports a file to allow usermode to interact with xenbus/xenstore. Traditionally this appeared in /proc/xen. Rather than extending procfs, this patch adds a backward-compat mountpoint on /proc/xen, and provides a xenfs filesystem which can be mounted there. Signed-off-by: Alex Zeffertt Signed-off-by: Jeremy Fitzhardinge Cc: Ingo Molnar Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit d8220347da2a0639f5e1919a5af08f49cb37c24f Author: Qinghuang Feng Date: Wed Jan 7 18:07:10 2009 -0800 drivers/xen/xenbus/xenbus_client.c: cleanup kerneldoc no argument named @xbt in xenbus_switch_state(), remove it. Signed-off-by: Qinghuang Feng Cc: Randy Dunlap Cc: Jeremy Fitzhardinge Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit d8f2f1808aa4a38e841cad59db0e5d1ec3a1b014 Author: Russell King Date: Thu Jan 8 12:27:00 2009 +0000 [ARM] fix pxa930_trkball build errors drivers/input/mouse/pxa930_trkball.c: In function `pxa930_trkball_probe': drivers/input/mouse/pxa930_trkball.c:189: error: `ret' undeclared (first use in this function) drivers/input/mouse/pxa930_trkball.c:230: error: `ret' undeclared (first use in this function) Signed-off-by: Russell King commit 2927926707d07f846154842bc12bed6d817d9412 Author: Russell King Date: Thu Jan 8 12:02:27 2009 +0000 [ARM] fix netx 2fcfe6b872b21639dcffbaf3ca2a84ec01d104e0 missed out on the cpumask updates; update netx for these changes. Signed-off-by: Russell King commit 18b2085e6a86447bb11508806190f01b40abb42f Author: Russell King Date: Thu Jan 8 11:00:03 2009 +0000 [ARM] fix pnx4008 arch/arm/mach-pnx4008/include/mach/gpio.h:214: error: implicit declaration of function 'IO_ADDRESS' Signed-off-by: Russell King commit 21da67a23835db95a15abbe693ed6e0cdad58458 Author: Russell King Date: Thu Jan 8 10:57:08 2009 +0000 [ARM] fix pxa arch/arm/mach-pxa/pxa300.c:94: error: 'CKEN_MMC3' undeclared here (not in a function) Signed-off-by: Russell King commit 7c9127da74be59464d7781c5bb64228032891724 Author: Russell King Date: Fri Jan 2 13:56:55 2009 +0000 [ARM] remove missed CLPS7500 defconfig 635f0258e5ae526034486b4ae9020e64bfb7d27e missed removing the defconfig Signed-off-by: Russell King commit a509a9c7a490ce7e8f891f204956671618822b10 Author: Russell King Date: Fri Jan 2 12:53:37 2009 +0000 [ARM] clps711x: fix warning in edb7211-mm.c Fix: include/asm-generic/pgtable.h:305: warning: 'struct vm_area_struct' declared inside parameter list include/asm-generic/pgtable.h:305: warning: its scope is only this definition or declaration, which is probably not what you want include/asm-generic/pgtable.h:317: warning: 'struct vm_area_struct' declared inside parameter list include/asm-generic/pgtable.h:331: warning: 'struct vm_area_struct' declared inside parameter list Signed-off-by: Russell King commit a379adfb6b990f811a4e78739cf204f1d2916dff Author: Russell King Date: Fri Jan 2 12:49:01 2009 +0000 [ARM] clps711x: fix warning in fortunet Fix: arch/arm/include/asm/irq.h:26: warning: 'struct pt_regs' declared inside parameter list Signed-off-by: Russell King commit 80b02c172bdecd3744513b97f330c7b1d74eea35 Author: Russell King Date: Thu Jan 8 10:01:47 2009 +0000 [ARM] fix AT91, davinci, h720x, ks8695, msm, mx2, mx3, netx, omap1, omap2, pxa, s3c arch/arm/mach-at91/at91cap9.c:337: error: 'NR_AIC_IRQS' undeclared here (not in a function) arch/arm/mach-at91/at91rm9200.c:301: error: 'NR_AIC_IRQS' undeclared here (not in a function) arch/arm/mach-at91/at91sam9260.c:351: error: 'NR_AIC_IRQS' undeclared here (not in a function) arch/arm/mach-at91/at91sam9261.c:287: error: 'NR_AIC_IRQS' undeclared here (not in a function) arch/arm/mach-at91/at91sam9263.c:312: error: 'NR_AIC_IRQS' undeclared here (not in a function) arch/arm/mach-at91/at91sam9rl.c:304: error: 'NR_AIC_IRQS' undeclared here (not in a function) arch/arm/mach-h720x/h7202-eval.c:38: error: implicit declaration of function 'IRQ_CHAINED_GPIOB' arch/arm/mach-ks8695/devices.c:46: error: 'KS8695_IRQ_WAN_RX_STATUS' undeclared here (not in a function) arch/arm/mach-msm/devices.c:28: error: 'INT_UART1' undeclared here (not in a function) arch/arm/mach-mx2/devices.c:233: error: 'MXC_GPIO_IRQ_START' undeclared here (not in a function) arch/arm/mach-mx3/devices.c:128: error: 'MXC_GPIO_IRQ_START' undeclared here (not in a function) arch/arm/mach-omap1/mcbsp.c:140: error: 'INT_730_McBSP1RX' undeclared here (not in a function) arch/arm/mach-omap1/mcbsp.c:165: error: 'INT_McBSP1RX' undeclared here (not in a function) arch/arm/mach-omap1/mcbsp.c:200: error: 'INT_McBSP1RX' undeclared here (not in a function) arch/arm/mach-omap2/board-apollon.c:286: error: implicit declaration of function 'omap_set_gpio_direction' arch/arm/mach-omap2/mcbsp.c:154: error: 'INT_24XX_MCBSP1_IRQ_RX' undeclared here (not in a function) arch/arm/mach-omap2/mcbsp.c:181: error: 'INT_24XX_MCBSP1_IRQ_RX' undeclared here (not in a function) arch/arm/mach-pxa/e350.c:36: error: 'IRQ_BOARD_START' undeclared here (not in a function) arch/arm/plat-s3c/dev-i2c0.c:32: error: 'IRQ_IIC' undeclared here (not in a function) ... Signed-off-by: Russell King commit 934848daa34af53de16cd8125d04346dffee9e87 Author: Russell King Date: Thu Jan 8 09:58:51 2009 +0000 [ARM] Fix realview build arch/arm/mach-realview/platsmp.c:140: error: 'jiffies' undeclared (first use in this function) drivers/amba/bus.c:246: error: 'NO_IRQ' undeclared (first use in this function) Signed-off-by: Russell King commit 13731d1a2faddc6895a1c569a66a2c41020a92e6 Author: Nicolas Pitre Date: Tue Jan 6 23:02:08 2009 +0100 [ARM] 5357/1: Kirkwood: add missing ge01 tclk initialization Otherwise the mv643xx_eth driver will assume 133 MHz which is incorrect. Signed-off-by: Nicolas Pitre Signed-off-by: Russell King commit e2d5406e53274a44ce12d034d926a68a3b6287a8 Author: Ramax Lo Date: Wed Jan 7 03:28:31 2009 +0100 [ARM] 5358/1: AT2440EVB: Use new include path of mci.h Since mci.h has been moved, use the new include path. Signed-off-by: Ramax Lo Acked-by: Ben Dooks Signed-off-by: Russell King commit ba0cda6dc8c7d1de46c2f0663cdaaa2df714a8dc Author: Nicolas Pitre Date: Wed Jan 7 04:58:23 2009 +0100 [ARM] 5361/1: mv78xx0: fix compilation error Commit ba84be2338d3 broke the build. Signed-off-by: Nicolas Pitre Signed-off-by: Russell King commit ff89c462dfe0df04f8938d513546896c2ddab525 Author: Nicolas Pitre Date: Wed Jan 7 04:52:58 2009 +0100 [ARM] 5360/1: Orion: fix compilation error Commit ba84be2338d3 broke the build. Signed-off-by: Nicolas Pitre Signed-off-by: Russell King commit 6e5c11a1c0c5abcef034b0914516b74c60f74daf Author: Nicolas Pitre Date: Wed Jan 7 04:47:02 2009 +0100 [ARM] 5359/1: Kirkwood: fix compilation error Commit ba84be2338d3 broke the build. Signed-off-by: Nicolas Pitre Signed-off-by: Russell King commit 43a55cdffcb523b7308d21b2f72189ba6ab57828 Author: Matt Hsu Date: Thu Jan 8 16:27:30 2009 +0800 [ARM] S3C64XX: Fix EINT group macro definition Fix IRQ_EINT_GROUP which has an extra _ in it and an error in the IRQ offset. Signed-off-by: Matt Hsu [ben-linux@fluff.org: rewrite description] Signed-off-by: Ben Dooks commit 2fafae3f6ddedc5642ddbbbfa0825eec87863553 Author: Ben Dooks Date: Thu Jan 8 13:21:17 2009 +0000 [ARM] Ensure CONFIG_SERIAL_SAMSUNG_UARTS is always set. Always set CONFIG_SERIAL_SAMSUNG_UARTS when building any of the S3C platforms as even if the driver is not selected there it is still the facility for the machine files to register configuration data for the possibility of the driver being built. Signed-off-by: Ben Dooks commit 43ae6599fe99a22a98658f0d9d0d40a1f12653f4 Author: Ben Dooks Date: Thu Jan 8 12:40:50 2009 +0000 [ARM] S3C24XX: Add gpio_to_irq implementation Add to_irq field handlers for the GPIO banks that are configurable as interripts. Signed-off-by: Ben Dooks commit 4d316fc5a34b073da4145a203101ec5b9553a634 Author: Ben Dooks Date: Thu Jan 8 12:33:11 2009 +0000 [ARM] S3C24XX: Add gpio_to_irq() facility Add gpio_to_irq() by re-directing the call to the generic __gpio_to_irq() code in the gpiolib. Signed-off-by: Ben Dooks commit 96777fe7b042e5a5d0fe5fb861fcd6cd80ef9634 Author: Dave Kleikamp Date: Thu Jan 8 09:46:31 2009 -0600 async: Don't call async_synchronize_full_special() while holding sb_lock sync_filesystems() shouldn't be calling async_synchronize_full_special while holding a spinlock. The second while loop in that function is the right place for this anyway. Signed-off-by: Dave Kleikamp Cc: Arjan van de Ven Reported-by: Grissiom Signed-off-by: Linus Torvalds commit 0dc6c490c0e2b81af32db3851040c109f7b3a54b Author: Ben Dooks Date: Thu Jan 8 15:42:42 2009 +0000 [ARM] footbridge: dc21285.c warning fixes The dc21285 requests a number of IRQs that it doesn't really care whether they get added. Change to use a macro that ensures that at-least the user gets warned if they fail to add, which also stops the warnings from __unused_result on request_irq(). dc21285.c:337: warning: ignoring return value of 'request_irq', declared with attribute warn_unused_result dc21285.c:339: warning: ignoring return value of 'request_irq', declared with attribute warn_unused_result dc21285.c:341: warning: ignoring return value of 'request_irq', declared with attribute warn_unused_result dc21285.c:343: warning: ignoring return value of 'request_irq', declared with attribute warn_unused_result dc21285.c:345: warning: ignoring return value of 'request_irq', declared with attribute warn_unused_result Signed-off-by: Ben Dooks commit 39ebfd3f0d58a89f29097f99a1de50c096375ee2 Author: Ben Dooks Date: Thu Jan 8 15:42:41 2009 +0000 [ARM] footbridge: add isa_init_irq() to common header isa_init_irq() is defined in arch/arm/mach-footbridge/isa-irq.c and used in arch/arm/mach-footbridge/common.c but there is no definition in any header. Move the definition in common.c to common.h to stop the sparse warning: isa-irq.c:118:13: warning: symbol 'isa_init_irq' was not declared. Signed-off-by: Ben Dooks commit 87e0d6cca16a7c9ec446d82a465077a0f99171de Author: Ben Dooks Date: Thu Jan 8 15:42:40 2009 +0000 [ARM] arch/arm/kernel/isa.c: missing definition of register_isa_ports arch/arm/kernel/isa.c should include to get the definition of register_io_ports() at-least when compiling for footbridge to fix the following sparse warning: isa.c:68:1: warning: symbol 'register_isa_ports' was not declared. Signed-off-by: Ben Dooks commit c835ee7f4154992e6cf0674d7ee136f5d36247a4 Author: Richard Purdie Date: Tue Jan 6 21:00:19 2009 +0000 backlight: Add suspend/resume support to the backlight core Add suspend/resume support to the backlight core and enable use of it by appropriate drivers. Signed-off-by: Richard Purdie commit 79f3b3cb7a2586b319a43a7f29924c6c555e4357 Author: Kyle McMartin Date: Thu Jan 8 10:04:30 2009 -0500 x86, mtrr: fix types used in userspace exported header Commit 932d27a7913fc6b3c64c6e6082628b0a1561dec9 exported some mtrr structures without using the exportable __uX types, causing userspace build failures. Signed-off-by: Kyle McMartin Signed-off-by: Ingo Molnar commit a076aa4f96f40fc75451ae835a1a665ce1faf951 Merge: d2852b9 2500664 Author: Robert Richter Date: Thu Jan 8 15:54:04 2009 +0100 Merge branch 'oprofile/cell' into oprofile/oprofile-for-tip commit 25006644e6042aab4bb7cdc4bfc5777cd3141df7 Author: Robert Richter Date: Thu Jan 8 15:39:49 2009 +0100 powerpc/oprofile: fix whitespaces in op_model_cell.c Signed-off-by: Robert Richter commit 57d139278e6c246d78f71e4bf0e0d15bb0390646 Author: Takashi Iwai Date: Thu Jan 8 15:52:09 2009 +0100 ALSA: hda - Add quirk for Dell Inspiron Mini9 Added a quirk, model=dell, for Dell Inspiron Mini9 with ALC268 codec. Signed-off-by: Takashi Iwai commit 883823291d22e06736f1056da6d8303291d6bbf9 Author: Carl Love Date: Mon Dec 1 16:18:36 2008 -0800 powerpc/oprofile: IBM CELL: add SPU event profiling support This patch adds the SPU event based profiling funcitonality for the IBM Cell processor. Previously, the CELL OProfile kernel code supported PPU event, PPU cycle profiling and SPU cycle profiling. The addition of SPU event profiling allows the users to identify where in their SPU code various SPU evnets are occuring. This should help users further identify issues with their code. Note, SPU profiling has some limitations due to HW constraints. Only one event at a time can be used for profiling and SPU event profiling must be time sliced across all of the SPUs in a node. The patch adds a new arch specific file to the OProfile file system. The file has bit 0 set to indicate that the kernel supports SPU event profiling. The user tool must check this file/bit to make sure the kernel supports SPU event profiling before trying to do SPU event profiling. The user tool check is part of the user tool patch for SPU event profiling. Signed-off-by: Carl Love Signed-off-by: Robert Richter commit 014cef91ecef9d5e85f9c98a2efbf8a8c4710510 Author: Robert Richter Date: Thu Jan 8 15:29:47 2009 +0100 powerpc/oprofile: fix cell/pr_util.h Signed-off-by: Robert Richter commit 9b93418e7ee59dbc96d44cfde7f65f886e54dba9 Author: Carl Love Date: Mon Dec 1 16:18:34 2008 -0800 powerpc/oprofile: IBM CELL: cleanup and restructuring This patch restructures and cleans up the code a bit to make it easier to add new functionality later. The patch makes no functional changes to the existing code. Signed-off-by: Carl Love Signed-off-by: Robert Richter commit f3f80a9205da74fa56d613f4c14b88b6e4e6caa8 Author: Takashi Iwai Date: Thu Jan 8 15:32:56 2009 +0100 ALSA: caiaq - Fix Oops with MIDI The snd-usb-caiaq driver causes Oops occasionally when accessing MIDI devices. This patch fixes the Oops and invalid URB submission errors as well. Cc: stable@kernel.org Signed-off-by: Takashi Iwai commit 9be1df98bca44dbe3769cd22f4ab8122b76c5313 Author: Zhang Rui Date: Thu Jan 8 14:11:30 2009 +0000 bd->props.brightness doesn't reflect the actual backlight level. Always invoke backlight_update_status when users want to change the backlight. For setups where brightness change is an expensive operation, this could be done in the driver rather than the core. http://bugzilla.kernel.org/show_bug.cgi?id=12249 Signed-off-by: Zhang Rui Signed-off-by: Richard Purdie commit d2852b932f0bb5e89177aa27c7bcf07f4167e129 Merge: 4a6908a 14f0ca8 Author: Robert Richter Date: Thu Jan 8 14:27:34 2009 +0100 Merge branch 'oprofile/ring_buffer' into oprofile/oprofile-for-tip commit cb1ace04d7797db21cb5a746ac0e0fc81d526060 Author: Peter Ujfalusi Date: Thu Jan 8 13:34:30 2009 +0200 ASoC: TWL4030: Change the soc_value_enum back to soc_enum The soc_value_enum has been merged to soc_enum. Signed-off-by: Peter Ujfalusi Signed-off-by: Mark Brown commit 741555568f8ba307c626019787c412f4386cafdc Author: Peter Ujfalusi Date: Thu Jan 8 13:34:29 2009 +0200 ASoC: Merge the soc_value_enum to soc_enum struct Merge the recently introduced soc_value_enum structure to the soc_enum. The value based enums are still handled separately from the normal enum types, but with the merge some of the newly introduced functions can be removed. Signed-off-by: Peter Ujfalusi Signed-off-by: Mark Brown commit 0081e8020ebd814a99e45720a10e869a54ee08a6 Author: Mark Brown Date: Thu Dec 4 16:52:33 2008 +0000 leds: Add WM8350 LED driver The voltage and current regulators on the WM8350 AudioPlus PMIC can be used in concert to provide a power efficient LED driver. This driver implements support for this within the standard LED class. Platform initialisation code should configure the LED hardware in the init callback provided by the WM8350 core driver. The callback should use wm8350_isink_set_flash(), wm8350_dcdc25_set_mode() and wm8350_dcdc_set_slot() to configure the operating parameters of the regulators for their hardware and then then use wm8350_register_led() to instantiate the LED driver. This driver was originally written by Liam Girdwood, though it has been extensively modified since then. Signed-off-by: Mark Brown Signed-off-by: Richard Purdie commit 934cd3f979a1daacbd403398f2c7a8f6720c33aa Author: Riku Voipio Date: Wed Dec 3 08:21:36 2008 +0000 leds: leds-pcs9532 - Move i2c work to a workqueque Apparently these might be called under atomic context, and i2c operations may sleep. BUG found by Ross Burton Signed-off-by: Riku Voipio Signed-off-by: Richard Purdie commit f785d022add53ec4d9625495b335bed40bd6c079 Author: Sven Wegener Date: Wed Dec 3 08:12:53 2008 +0000 leds: leds-pca9532 - fix memory leak and properly handle errors When the registration fails, we need to release the memory we allocated. Also we need to save the error from led_classdev_register and propagate it up, else we'll return success, even if we failed. Signed-off-by: Riku Voipio Signed-off-by: Richard Purdie commit 12276efcc85f3108174893bff8878e0dc655b066 Author: Sven Wegener Date: Wed Dec 3 08:11:17 2008 +0000 leds: Fix wrong loop direction on removal in leds-ams-delta We want to go upwards, not downwards. Signed-off-by: Sven Wegener Signed-off-by: Richard Purdie commit ec1496193d53ebd8d79cdf1d6d7d4970ef342af2 Author: Yoichi Yuasa Date: Wed Dec 3 08:09:28 2008 +0000 leds: fix Cobalt Raq LED dependency Cobalt Raq LEDs require LEDS_CLASS=y. Signed-off-by: Yoichi Yuasa Signed-off-by: Andrew Morton Signed-off-by: Richard Purdie commit 5a48503d3c388735f3352d325254b82e02b09981 Author: Sven Wegener Date: Wed Dec 3 08:06:42 2008 +0000 leds: Fix sparse warning in leds-ams-delta drivers/leds/leds-ams-delta.c:154:2: warning: returning void-valued expression Signed-off-by: Sven Wegener Signed-off-by: Richard Purdie commit ff8649affc10a86e41d9ba1d91a643d4654dae5b Author: Sven Wegener Date: Wed Dec 3 08:04:57 2008 +0000 leds: Fixup kdoc comment to match parameter names Signed-off-by: Sven Wegener Signed-off-by: Richard Purdie commit e2387d6c20752ccdb2895ba5de664fa39652f4cc Author: Wolfram Sang Date: Mon Nov 17 14:35:44 2008 +0000 leds: Make header variable naming consistent There is one place where the struct led_classdev as the function argument is named differently. Fix it. Signed-off-by: Wolfram Sang Signed-off-by: Richard Purdie commit 0d73357910f0c2f35220329bd6c476afa558280c Author: Sven Wegener Date: Mon Nov 17 14:33:41 2008 +0000 leds: eds-pca9532: mark pca9532_event() static Signed-off-by: Sven Wegener Signed-off-by: Andrew Morton Signed-off-by: Richard Purdie commit ec9a943ce9f6d6a8ea09587b49d29a020c418c76 Author: Constantin Baranov Date: Mon Nov 17 11:31:08 2008 +0000 leds: ALIX.2 LEDs driver Driver for PC Engines ALIX.2 and ALIX.3 LEDs. Signed-off-by: Constantin Baranov Signed-off-by: Richard Purdie commit 0ec561f4b648260a46ace87acbc558241808455f Author: Dmitry Baryshkov Date: Thu Dec 4 16:54:42 2008 +0000 backlight: Support VGA/QVGA mode switching in tosa_lcd LCD driver on tosa requires reprogramming TG after mode switching. Add support for switching to QVGA mode. Signed-off-by: Dmitry Baryshkov Signed-off-by: Richard Purdie commit 9a2c61a921a8aeabacaccad0d2fdf75e1c1475fb Author: Pavel Machek Date: Wed Dec 3 08:43:48 2008 +0000 backlight: Catch invalid input in sysfs attributes Check input properly in backlight, echo > brightness should not turn off the backlight. [akpm@linux-foundation.org: coding-style fixes] [akpm@linux-foundation.org: fix printk warning] Signed-off-by: Pavel Machek Signed-off-by: Andrew Morton Signed-off-by: Richard Purdie commit 866bbdba7795cac2da24853ea2259e0e4ef7d02d Author: Denis V. Lunev Date: Wed Dec 3 08:42:01 2008 +0000 backlight: Value of ILI9320_RGB_IF2 register should not be hardcoded It is stored in the board specific file ./arch/arm/mach-s3c2412/mach-jive.c as .rgb_if2. Actually, the value is correct, only semantic is wrong. Signed-off-by: Denis V. Lunev Signed-off-by: Andrew Morton Signed-off-by: Richard Purdie commit b4a11d3da20db62f31b3133a6eca8a35633e0838 Author: Akinobu Mita Date: Mon Nov 17 15:21:32 2008 +0000 backlight: crbllcd_bl - Use platform_device_register_simple() Use platform_device_register_simple() and also fix error handling when platform_device_alloc() fails (cr_backlight_driver is left registered). Signed-off-by: Akinobu Mita Signed-off-by: Richard Purdie commit 6cd6f35a4b0ff86638df986efaa307de91f88ae8 Author: Akinobu Mita Date: Mon Nov 17 15:19:29 2008 +0000 backlight: progear_bl - Use platform_device_register_simple() Use platform_device_register_simple() and also fix error handling when platform_device_alloc() fails (progearbl_driver is left registered). Signed-off-by: Akinobu Mita Signed-off-by: Richard Purdie commit 3bcdcc0e6675e6fcd1f27d119464036fb54f53b7 Author: Akinobu Mita Date: Mon Nov 17 15:16:20 2008 +0000 backlight: hp680_bl - Use platform_device_register_simple() Use platform_device_register_simple() and also fix error handling when platform_device_alloc() fails (hp680_bl_driver is left registered). Signed-off-by: Akinobu Mita Signed-off-by: Richard Purdie commit b9456371a73871d001e67b5f4eac118c2c278e1c Author: David Howells Date: Thu Jan 8 11:18:31 2009 +0000 CRED: Fix commit_creds() on a process that has no mm Fix commit_creds()'s handling of a process that has no mm (such as one that is calling or has called daemonize()). commit_creds() should check to see if task->mm is not NULL before calling set_dumpable() on it. Reported-by: Jiri Slaby Signed-off-by: David Howells Signed-off-by: James Morris commit cb6ff208076b5f434db1b8c983429269d719cef5 Author: David Howells Date: Thu Jan 8 12:04:48 2009 +0000 NOMMU: Support XIP on initramfs Support XIP on files unpacked from the initramfs image on NOMMU systems. This simply requires the length of the file to be preset so that the ramfs fs can attempt to garner sufficient contiguous storage to store the file (NOMMU mmap can only map contiguous RAM). All the other bits to do XIP on initramfs files are present: (1) ramfs's truncate attempts to allocate a contiguous run of pages when a file is truncated upwards from nothing. (2) ramfs sets BDI on its files to indicate direct mapping is possible, and that its files can be mapped for read, write and exec. (3) NOMMU mmap() will use the above bits to determine that it can do XIP. Possibly this needs better controls, because it will _always_ try and do XIP. One disadvantage of this very simplistic approach is that sufficient space will be allocated to store the whole file, and not just the bit that would be XIP'd. To deal with this, though, the initramfs unpacker would have to be able to parse the file contents. Signed-off-by: David Howells Acked-by: Paul Mundt commit ab2e83ead4eca9e045daac4cbf66eb1e7a244bb2 Author: Paul Mundt Date: Thu Jan 8 12:04:48 2009 +0000 NOMMU: Teach kobjsize() about VMA regions. Now that we no longer use compound pages for all large allocations, kobjsize() actively breaks things like binfmt_flat by always handing back PAGE_SIZE for mmap'ed regions. Fix this up by looking up the VMA region for non-compounds. Ideally binfmt_flat wants to get rid of kobjsize() completely, but this is an incremental step. Signed-off-by: Paul Mundt Signed-off-by: David Howells Tested-by: Mike Frysinger commit 0f3e442a403a344a5d0a49af9ecd7632b7e7343a Author: David Howells Date: Thu Jan 8 12:04:47 2009 +0000 FLAT: Don't attempt to expand the userspace stack to fill the space allocated Stop the FLAT binfmt from attempting to expand the userspace stack and brk segments to fill the space actually allocated for it. The space allocated may be rounded up by mmap(), and may be wasted. However, finding out how much space we actually obtained uses the contentious kobjsize() function which we'd like to get rid of as it doesn't necessarily work for all slab allocators. Signed-off-by: David Howells Tested-by: Mike Frysinger Acked-by: Paul Mundt commit f4bbf51050a1e1dd485e9cd89eef4619a7453d71 Author: David Howells Date: Thu Jan 8 12:04:47 2009 +0000 FDPIC: Don't attempt to expand the userspace stack to fill the space allocated Stop the ELF-FDPIC binfmt from attempting to expand the userspace stack and brk segments to fill the space actually allocated for it. The space allocated may be rounded up by mmap(), and may be wasted. However, finding out how much space we actually obtained uses the contentious kobjsize() function which we'd like to get rid of as it doesn't necessarily work for all slab allocators. Signed-off-by: David Howells Tested-by: Mike Frysinger Acked-by: Paul Mundt commit 38f714795b7cf4103c54152200ca66b524f8ed6e Author: David Howells Date: Thu Jan 8 12:04:47 2009 +0000 NOMMU: Improve procfs output using per-MM VMAs Improve procfs output using per-MM VMAs for process memory accounting. Signed-off-by: David Howells Tested-by: Mike Frysinger Acked-by: Paul Mundt commit dd8632a12e500a684478fea0951f380478d56fed Author: Paul Mundt Date: Thu Jan 8 12:04:47 2009 +0000 NOMMU: Make mmap allocation page trimming behaviour configurable. NOMMU mmap allocates a piece of memory for an mmap that's rounded up in size to the nearest power-of-2 number of pages. Currently it then discards the excess pages back to the page allocator, making that memory available for use by other things. This can, however, cause greater amount of fragmentation. To counter this, a sysctl is added in order to fine-tune the trimming behaviour. The default behaviour remains to trim pages aggressively, while this can either be disabled completely or set to a higher page-granular watermark in order to have finer-grained control. vm region vm_top bits taken from an earlier patch by David Howells. Signed-off-by: Paul Mundt Signed-off-by: David Howells Tested-by: Mike Frysinger commit 8feae13110d60cc6287afabc2887366b0eb226c2 Author: David Howells Date: Thu Jan 8 12:04:47 2009 +0000 NOMMU: Make VMAs per MM as for MMU-mode linux Make VMAs per mm_struct as for MMU-mode linux. This solves two problems: (1) In SYSV SHM where nattch for a segment does not reflect the number of shmat's (and forks) done. (2) In mmap() where the VMA's vm_mm is set to point to the parent mm by an exec'ing process when VM_EXECUTABLE is specified, regardless of the fact that a VMA might be shared and already have its vm_mm assigned to another process or a dead process. A new struct (vm_region) is introduced to track a mapped region and to remember the circumstances under which it may be shared and the vm_list_struct structure is discarded as it's no longer required. This patch makes the following additional changes: (1) Regions are now allocated with alloc_pages() rather than kmalloc() and with no recourse to __GFP_COMP, so the pages are not composite. Instead, each page has a reference on it held by the region. Anything else that is interested in such a page will have to get a reference on it to retain it. When the pages are released due to unmapping, each page is passed to put_page() and will be freed when the page usage count reaches zero. (2) Excess pages are trimmed after an allocation as the allocation must be made as a power-of-2 quantity of pages. (3) VMAs are added to the parent MM's R/B tree and mmap lists. As an MM may end up with overlapping VMAs within the tree, the VMA struct address is appended to the sort key. (4) Non-anonymous VMAs are now added to the backing inode's prio list. (5) Holes may be punched in anonymous VMAs with munmap(), releasing parts of the backing region. The VMA and region structs will be split if necessary. (6) sys_shmdt() only releases one attachment to a SYSV IPC shared memory segment instead of all the attachments at that addresss. Multiple shmat()'s return the same address under NOMMU-mode instead of different virtual addresses as under MMU-mode. (7) Core dumping for ELF-FDPIC requires fewer exceptions for NOMMU-mode. (8) /proc/maps is now the global list of mapped regions, and may list bits that aren't actually mapped anywhere. (9) /proc/meminfo gains a line (tagged "MmapCopy") that indicates the amount of RAM currently allocated by mmap to hold mappable regions that can't be mapped directly. These are copies of the backing device or file if not anonymous. These changes make NOMMU mode more similar to MMU mode. The downside is that NOMMU mode requires some extra memory to track things over NOMMU without this patch (VMAs are no longer shared, and there are now region structs). Signed-off-by: David Howells Tested-by: Mike Frysinger Acked-by: Paul Mundt commit 41836382ebb415d68d3ebc4525e78e871fe58baf Author: David Howells Date: Thu Jan 8 12:04:47 2009 +0000 NOMMU: Delete askedalloc and realalloc variables Delete the askedalloc and realalloc variables as nothing actually uses the value calculated. Signed-off-by: David Howells Tested-by: Mike Frysinger Acked-by: Paul Mundt commit 9c93af1ede9418bb3f1b9dd442faf91ba796a0ff Author: David Howells Date: Thu Jan 8 12:04:47 2009 +0000 NOMMU: Rename ARM's struct vm_region Rename ARM's struct vm_region so that I can introduce my own global version for NOMMU. It's feasible that the ARM version may wish to use my global one instead. The NOMMU vm_region struct defines areas of the physical memory map that are under mmap. This may include chunks of RAM or regions of memory mapped devices, such as flash. It is also used to retain copies of file content so that shareable private memory mappings of files can be made. As such, it may be compatible with what is described in the banner comment for ARM's vm_region struct. Signed-off-by: David Howells commit 0e8f989a253b1bf85ea1c8d7987d67c054f4af91 Author: David Howells Date: Thu Jan 8 12:04:46 2009 +0000 NOMMU: Fix cleanup handling in ramfs_nommu_get_umapped_area() Fix cleanup handling in ramfs_nommu_get_umapped_area() by only freeing the number of pages that find_get_pages() said it had returned (nr) rather than attempting to free the number of pages we asked for (lpages) - thus avoiding the situation whereby put_page() may be handed NULL pointers if find_get_pages() returned fewer pages that were requested. Also avoid a warning about nr being uninitialised and the need for an if-statement in the cleanup path by using appropriate gotos. Signed-off-by: David Howells commit a8e4f9ddea4a23705d4eea6afe4a01e1a57a0621 Author: Lukasz Wojnilowicz Date: Thu Jan 8 12:00:49 2009 +0100 ALSA: hda - Add quirks for Acer Aspire 5930G and 6930G This is a patch which adds correct auto detection of model for snd-hda-intel for Acer Aspire 5930G and 6930G. Tested on my 5930G. It finally adds hp jack sense and 5.1 speaker system sliders. Signed-off-by: Takashi Iwai commit 5886188dc7ba9a76babcd37452f44079a9a77f71 Author: Benjamin Krill Date: Wed Jan 7 10:32:38 2009 +0100 serial: Add driver for the Cell Network Processor serial port NWP device Add support for the nwp serial device which is connected to a DCR bus. It uses the of_serial device driver to determine necessary properties from the device tree. The supported device is added as serial port number 85. NWP stands for network processor and it is part of the QPACE - Quantum Chromodynamics Parallel Computing on the Cell Broadband Engine project. The implementation is a lightweight uart implementation with the focus to consume as little resources as possible and it is connected to a DCR bus. Signed-off-by: Benjamin Krill Signed-off-by: Arnd Bergmann Signed-off-by: Andrew Morton Signed-off-by: Benjamin Herrenschmidt commit 2b79d6962322facfd377a402730e4b381af95a40 Author: Steven Rostedt Date: Tue Jan 6 18:49:17 2009 +0000 powerpc: enable dynamic ftrace This patch enables dynamic ftrace. The PowerPC port was dependent on other code not yet in mainline. Now that the code is, we can now let PowerPC compile with dynamic ftrace. Signed-off-by: Steven Rostedt Signed-off-by: Benjamin Herrenschmidt commit 9b635642bce0500bdc7331ce8eeca97907b77117 Author: Stephen Rothwell Date: Tue Jan 6 13:58:22 2009 +0000 powerpc/cell: Fix the prototype of create_vma_map() Signed-off-by: Stephen Rothwell Acked-by: Arnd Bergmann Signed-off-by: Benjamin Herrenschmidt commit 7021d86afa6f3a8bf76218ac97f5847a6d985730 Author: Anton Vorontsov Date: Mon Dec 29 06:40:35 2008 +0000 powerpc/mm: Make clear_fixmap() actually work The clear_fixmap() routine issues map_page() with flags set to 0. Currently this causes a BUG_ON() inside the map_page(), as it assumes that a PTE should be clear before mapping. This patch makes the map_page() to trigger the BUG_ON() only if the flags were set. Signed-off-by: Anton Vorontsov Acked-by: Kumar Gala Signed-off-by: Benjamin Herrenschmidt commit 02af87a74271977d09ece9b709909dcae3f9fab9 Author: Anton Vorontsov Date: Wed Dec 17 10:09:35 2008 +0000 powerpc/kdump: Use ppc_save_regs() in crash_setup_regs() The patch replaces internal registers dump implementation with ppc_save_regs(). From now on PPC64 and PPC32 are using the same code for crash_setup_regs(). NOTE: The old regs dump implementation was capturing SP (r1) directly as is, so you could see crash_kexec() function on top of the back-trace. But ppc_save_regs() goes up one stack frame, so you'll not see it anymore, at the top-level you'll see who actually triggered the crash dump instead. Signed-off-by: Anton Vorontsov Signed-off-by: Benjamin Herrenschmidt commit 1edda9c795b99c3761715a73f62a78fce41a1f1d Author: Kumar Gala Date: Tue Jan 6 23:00:05 2009 -0600 powerpc: Export cacheable_memzero as its now used in a driver The Freescale PowerPC specific gianfar driver (gig-e) uses cacheable_memzero for performance reasons we need to export the symbol to allow the driver to be built as a module. Signed-off-by: Kumar Gala Signed-off-by: Benjamin Herrenschmidt commit 4a0826824beb28390651a962987b0681b9e7fe93 Author: Benjamin Herrenschmidt Date: Tue Jan 6 17:56:51 2009 +0000 powerpc: Fix missing semicolons in mmu_decl.h This is a brown paper bag from one of my earlier patches that breaks build on 40x and 8xx. And yes, I've now added 40x and 8xx to my list of test configs :-) Signed-off-by: Benjamin Herrenschmidt commit ac3f6454d1ee0eb68485e05bb068de7c22e730d7 Author: Ingo Molnar Date: Tue Jan 6 14:06:28 2009 +0000 powerpc/pasemi: local_irq_save uses an unsigned long [Split from a larger patch - sfr] Signed-off-by: Ingo Molnar Signed-off-by: Stephen Rothwell Signed-off-by: Benjamin Herrenschmidt commit b36ac9e84b4a3602bd07c2b7cf995f88f76d8428 Author: Ingo Molnar Date: Tue Jan 6 14:03:44 2009 +0000 powerpc/cell: Fix some u64 vs. long types in/out_be64() work on u64s. The first parameter to ppc_md.ioremap is a phys_addr_t. Signed-off-by: Ingo Molnar Signed-off-by: Stephen Rothwell Acked-by: Arnd Bergmann Signed-off-by: Benjamin Herrenschmidt commit 19b0bd025d6647549e07becf02b99e5168c17432 Author: Ingo Molnar Date: Tue Jan 6 14:01:23 2009 +0000 powerpc/cell: Use correct types in beat files Only pass the address of a u64 if that is what the function requires. [Split out of a larger patch - sfr] [update comment - sfr] Signed-off-by: Ingo Molnar Signed-off-by: Stephen Rothwell Signed-off-by: Benjamin Herrenschmidt commit 2b931fb67e10d6eb99d9928fa3afe83cdeeb7354 Author: Ingo Molnar Date: Tue Jan 6 13:56:52 2009 +0000 powerpc: Use correct type in prom_init.c tce_entryp is a "u64 *" not an "unsigned long *". [Split from a large patch -sfr] Signed-off-by: Ingo Molnar Signed-off-by: Stephen Rothwell Signed-off-by: Benjamin Herrenschmidt commit 63277161312dd42af7dd3968077b272d192dd6ba Author: Stephen Rothwell Date: Tue Jan 6 13:54:25 2009 +0000 powerpc: Remove unnecessary casts of_get_flat_dt_prop() returns a "void *", so we don't need to cast when assigning its result to a pointer variable. Signed-off-by: Benjamin Herrenschmidt commit 2efd72af0f18860927084df618f7419c82f69be3 Author: Geoff Levand Date: Wed Jan 7 17:22:07 2009 -0800 mtd/ps3vram: Use _PAGE_NO_CACHE in memory ioremap Use _PAGE_NO_CACHE for gpu memory ioremap. Also, add __iomem attribute to gpu memory pointer and change use of memset() to memset_io(). Signed-off-by: Geoff Levand Signed-off-by: Benjamin Herrenschmidt commit 60c0c5987b0996a7c7c4c6d90f63ed413c368a71 Author: Geoff Levand Date: Wed Jan 7 17:22:02 2009 -0800 mtd/ps3vram: Use msleep in waits Replace the use of udelay() with msleep() in the looping wait routines ps3vram_notifier_wait() and ps3vram_wait_ring(). Signed-off-by: Geoff Levand Signed-off-by: Benjamin Herrenschmidt commit 993e62e674ba670341f11f60398446bb37a88e8b Author: Geoff Levand Date: Tue Jan 6 11:32:28 2009 +0000 mtd/ps3vram: Use proper kernel types Replace the use of stdint.h types with kernel types in the ps3vram driver. Signed-off-by: Geoff Levand Signed-off-by: Benjamin Herrenschmidt commit f259d74e030faab15b95fb4bb56d7f424773c278 Author: Geoff Levand Date: Tue Jan 6 11:32:21 2009 +0000 mtd/ps3vram: Cleanup ps3vram driver messages Cleanup the ps3vram driver messages. Add a new struct device pointer variable dev to struct ps3vram_priv and use dev_dbg(), pr_dbg(), etc. where appropriate. Signed-off-by: Geoff Levand Signed-off-by: Benjamin Herrenschmidt commit e7dd54cf17714c22665ad74b720f40fb64b3c565 Author: Geoff Levand Date: Tue Jan 6 11:32:15 2009 +0000 mtd/ps3vram: Remove ps3vram debug routines Remove the ps3vram debug routines ps3vram_dump_ring() and ps3vram_dump_reports(). These routines are not needed. Signed-off-by: Geoff Levand Signed-off-by: Benjamin Herrenschmidt commit 0a2d15b928e0b1673d4ed5f48d95af211b6fcc06 Author: Geert Uytterhoeven Date: Tue Jan 6 11:32:03 2009 +0000 mtd/ps3vram: Add modalias support to the ps3vram driver Update ps3vram driver to use the new ps3 three id modalias support. Signed-off-by: Geert Uytterhoeven Signed-off-by: Geoff Levand Signed-off-by: Benjamin Herrenschmidt commit cffb4add03b1fc83026b06dc3664279cfbf70155 Author: Jim Paris Date: Tue Jan 6 11:32:10 2009 +0000 mtd/ps3vram: Add ps3vram driver for accessing video RAM as MTD Add ps3vram driver, which exposes unused video RAM on the PS3 as a MTD device suitable for storage or swap. Fast data transfer is achieved using a local cache in system RAM and DMA transfers via the GPU. Signed-off-by: Vivien Chappelier Signed-off-by: Jim Paris Acked-by: Geoff Levand Acked-by: David Woodhouse Signed-off-by: Benjamin Herrenschmidt commit d2b4397bf87cf6547ca9fa75b6b84eada96c0848 Author: Kamalesh Babulal Date: Tue Jan 6 05:57:24 2009 +0000 powerpc: Fix iseries drivers build failure without CONFIG_VIOPATH iSeries dependent drivers fail to build, when CONFIG_VIOPATH is disabled. Fix the problem by making those drivers select it. Signed-off-by: Kamalesh Babulal Signed-off-by: Benjamin Herrenschmidt commit c6ac71a14aec8278507a71d9d9f496dc9adad010 Author: Mohan Kumar M Date: Tue Jan 6 00:23:01 2009 +0000 powerpc: Enable RELOCATABLE option for CRASH_DUMP Enable RELOCATABLE option if user selects CRASH_DUMP option. Without this patch user has to first select RELOCATABLE option and then has to enable CRASH_DUMP option. Signed-off-by: M. Mohan Kumar Signed-off-by: Benjamin Herrenschmidt commit d6a09e0cd6329db6f48b0015407a1b038d8fa64b Author: Dave Liu Date: Tue Dec 30 23:42:55 2008 +0000 powerpc: Remove the redundant _tlbil_pid at SMP case Signed-off-by: Dave Liu Acked-by: Benjamin Herrenschmidt Signed-off-by: Benjamin Herrenschmidt commit 54cfd0d5cac9df4f7b32969156a55f7e0d9297ad Author: Stephen Rothwell Date: Tue Dec 30 17:09:15 2008 +0000 powerpc/cell: local_irq_save takes an unsigned long Signed-off-by: Stephen Rothwell Acked-by: Arnd Bergmann Signed-off-by: Benjamin Herrenschmidt commit ee418b8646d5d6dc2df343ffaefd2b74940d0048 Author: Stephen Rothwell Date: Tue Dec 30 17:06:15 2008 +0000 powerpc/cell: Bitops work on unsigned longs So change the flags member of struct spu from u64 to unsigned long. This change will also prevent some warnings when we change u64 to unsigned long long. Signed-off-by: Stephen Rothwell Acked-by: Arnd Bergmann Signed-off-by: Benjamin Herrenschmidt commit d50701781a55d09696a0585112a124b0723acf3b Author: Matthias Fuchs Date: Tue Dec 30 00:59:38 2008 +0000 powerpc: Add ioctls for RS485 mode control of serial drivers These ioctls take a struct serial_rs485 (see linux/serial.h) as argument. They are already available on x86. This patch adds them for the powerpc architecture. Signed-off-by: Matthias Fuchs Signed-off-by: Benjamin Herrenschmidt commit 16124f10df43e6e08783f1fede6888bf36ac705c Author: Paul Mackerras Date: Sun Dec 28 14:12:57 2008 +0000 powerpc: Fix pciconfig_iobase system call on PCI-Express powermac X has been failing to start on my quad G5 powermac since commit 1fd0f52583a85b21a394201b007bc1ee104b235d ("powerpc: Fix domain numbers in /proc on 64-bit") went in. The reason is that the change allows X to see the PCI-PCI bridge above the video card (previously it was obscured by the fact that there were two "00" directories in /proc/bus/pci), and the pciconfig_iobase system call on the bridge is failing because of a hack that we have to return information about the AGP bus when X asks about bus 0. This machine doesn't have an AGP bus (it has PCI Express) and so the pciconfig_iobase call is returning -1, which ultimately causes X to fail to start. This fixes it by checking that we have an AGP bridge before redirecting the pciconfig_iobase call to return information about the AGP bus. With this, X starts successfully both on a quad G5 with PCI Express and on an older dual G5 with AGP. Signed-off-by: Paul Mackerras Acked-by: Benjamin Herrenschmidt Signed-off-by: Benjamin Herrenschmidt commit 1d5bc03a8183d12c7daf4e7c69cce8d9c4b9a86b Author: Julia Lawall Date: Thu Dec 25 04:34:04 2008 +0000 powerpc/pasemi: Use DEFINE_SPINLOCK SPIN_LOCK_UNLOCKED is deprecated. The following makes the change suggested in Documentation/spinlocks.txt The semantic patch that makes this change is as follows: (http://www.emn.fr/x-info/coccinelle/) // @@ declarer name DEFINE_SPINLOCK; identifier xxx_lock; @@ - spinlock_t xxx_lock = SPIN_LOCK_UNLOCKED; + DEFINE_SPINLOCK(xxx_lock); // Signed-off-by: Julia Lawall Signed-off-by: Benjamin Herrenschmidt commit 2701a1ad04ebab0c8fae8beb4586383a5a70ba0c Author: Julia Lawall Date: Thu Dec 25 04:33:34 2008 +0000 powerpc/52xx: Use DEFINE_SPINLOCK SPIN_LOCK_UNLOCKED is deprecated. The following makes the change suggested in Documentation/spinlocks.txt The semantic patch that makes this change is as follows: (http://www.emn.fr/x-info/coccinelle/) // @@ declarer name DEFINE_SPINLOCK; identifier xxx_lock; @@ - spinlock_t xxx_lock = SPIN_LOCK_UNLOCKED; + DEFINE_SPINLOCK(xxx_lock); // Signed-off-by: Julia Lawall Signed-off-by: Benjamin Herrenschmidt commit 93197a36a9c16a85fb24cf5a8639f7bf9af838a3 Author: Nathan Lynch Date: Tue Dec 23 18:55:54 2008 +0000 powerpc: Rewrite sysfs processor cache info code The current code for providing processor cache information in sysfs has the following deficiencies: - several complex functions that are hard to understand - implicit recursion (cache_desc_release -> kobject_put -> cache_desc_release) - explicit recursion (create_cache_index_info) - use of two per-cpu arrays when one would suffice - duplication of work on systems where CPUs share cache Also, when I looked at implementing support for a shared_cpu_map attribute, it was pretty much impossible to handle hotplug without checking every single online CPU's cache_desc list and fixing things up... not that this is a hot path, but it would have introduced O(n^2)-ish behavior during boot. Addressing this involved rethinking the core data structures used, which didn't lend itself to an incremental approach. This implementation maintains a "forest" (potentially more than one tree) of cache objects which reflects the system's cache topology. Cache objects are instantiated as needed as CPUs come online. A per-cpu array is used mainly for sysfs-related bookkeeping; the objects in the array just point to the appropriate points in the forest. This maintains compatibility with the existing code and includes some enhancements: - Implement the shared_cpu_map attribute, which is essential for enabling userspace to discover the system's overall cache topology. - Use cache-block-size properties if cache-line-size is not available. I chose to place this implementation in a new file since it would have roughly doubled the size of sysfs.c, which is already kind of messy. Signed-off-by: Nathan Lynch Signed-off-by: Benjamin Herrenschmidt commit 5c9a2606bcad101e169012d9f79ab3aed60926aa Author: Michael Ellerman Date: Mon Dec 22 23:23:18 2008 +0000 powerpc/iseries: Kexec is known not to work on iseries The non-zero return from the prepare callback is returned by sys_kexec_load() to userspace, indicating that kexec is not supported on the machine. Signed-off-by: Michael Ellerman Signed-off-by: Benjamin Herrenschmidt commit 29f1aff2cc20d8b81fe3c890b8f134e84b8f41fe Author: Grant Likely Date: Fri Dec 19 14:57:20 2008 +0000 powerpc: Copy bootable images in the default install script This patch makes the default install script (arch/powerpc/boot/install.sh) copy the bootable image files into the install directory. Before this patch only the vmlinux image file was copied. This patch makes the default 'make install' command useful for embedded development when $(INSTALL_PATH) is set in the environment. As a side effect, this patch changes the calling convention of the install.sh script. Instead of a single 5th parameter, the script is now passed a list of all the target images stored in the $(image-y) Makefile variable. This should be backwards compatible with existing install scripts since it just adds additional arguments and does not change existing ones. Signed-off-by: Grant Likely Acked-by: Josh Boyer Signed-off-by: Benjamin Herrenschmidt commit 893473df78b4407c9ab75cb55479409795953b01 Author: Dave Hansen Date: Tue Dec 9 08:21:36 2008 +0000 powerpc/mm: Cleanup careful_allocation(): consolidate memset() Both users of careful_allocation() immediately memset() the result. So, just do it in one place. Also give careful_allocation() a 'z' prefix to bring it in line with kzmalloc() and friends. Signed-off-by: Dave Hansen Signed-off-by: Benjamin Herrenschmidt commit 0be210fd664b07531cb238bafb453a2a54c2a7a8 Author: Dave Hansen Date: Tue Dec 9 08:21:35 2008 +0000 powerpc/mm: Make careful_allocation() return virtual addrs Since we memset() the result in both of the uses here, just make careful_alloc() return a virtual address. Also, add a separate variable to store the physial address that comes back from the lmb_alloc() functions. This makes it less likely that someone will screw it up forgetting to convert before returning since the vaddr is always in a void* and the paddr is always in an unsigned long. I admit this is arbitrary since one of its users needs a paddr and one a vaddr, but it does remove a good number of casts. Signed-off-by: Dave Hansen Signed-off-by: Benjamin Herrenschmidt commit 5d21ea2b0e1d9d5d880670dbb9a96efe9b419583 Author: Dave Hansen Date: Tue Dec 9 08:21:33 2008 +0000 powerpc/mm:: Cleanup careful_allocation(): bootmem already panics If we fail a bootmem allocation, the bootmem code itself panics. No need to redo it here. Also change the wording of the other panic. We don't strictly have to allocate memory on the specified node. It is just a hint and that node may not even *have* any memory on it. In that case we can and do fall back to other nodes. Signed-off-by: Dave Hansen Signed-off-by: Benjamin Herrenschmidt commit c555e520ef794a94dc36a8ded93ece6369ff7ca0 Author: Dave Hansen Date: Tue Dec 9 08:21:32 2008 +0000 powerpc/mm: Add better comment on careful_allocation() The behavior in careful_allocation() really confused me at first. Add a comment to hopefully make it easier on the next doofus that looks at it. Signed-off-by: Dave Hansen Signed-off-by: Benjamin Herrenschmidt commit afcb065450913745027169d906b9afc8294f7007 Author: Nicolas Palix Date: Wed Dec 3 00:25:03 2008 +0000 powerpc/powermac: Add missing of_node_put This patch fixes some unbalanced OF node references in the powermac code Signed-off-by: Nicolas Palix Signed-off-by: Julia Lawall Signed-off-by: Benjamin Herrenschmidt commit c1f343028d35ba4e88cd4a3c44e0d8b8a84264ee Author: Benjamin Herrenschmidt Date: Tue Nov 11 17:45:52 2008 +0000 powerpc/pci: Reserve legacy regions on PCI There's a problem on some embedded platforms when we re-assign everything on PCI, such as 44x. The generic code tries to avoid assigning devices to addresses overlapping the low legacy addresses such as VGA hard decoded areas using constants that are unfortunately no good for us, as they don't take into account the address translation we do to access PCI busses. Thus we end up allocating things like IO BARs to 0, which is technically legal, but will shadow hard decoded ports for use by things like VGA cards. This works around it by attempting to reserve legacy regions before we try to assign addresses. NOTE: This may have nasty side effects in cases I haven't tested yet: - We try to use FW mappings (ie. powermac) and the FW has allocated a conflicting address over those legacy regions. This will typically happen. I would expect the new code to just fail with an informative message without harm but I haven't had a chance to test that scenario yet. - A device with fixed BARs overlapping those legacy addresses such as an IDE controller in legacy mode is in the system. I don't know for sure yet what will happen there, I have to test :-) Ideally, we should change PCIBIOS_MIN_IO/MIN_MEM accross the board to take a bus pointer so they can provide appropriate per-bus translated values to the generic code but that's a more invasive patch. I will do that in the future, but in the meantime, this fixes the problem locally Signed-off-by: Benjamin Herrenschmidt commit 24f030175d30f019be41766cdf88c2ff03de19ff Merge: 4aa12f7 9e42d0c Author: Benjamin Herrenschmidt Date: Thu Jan 8 16:24:38 2009 +1100 Merge commit 'origin/master' into next commit d9d6f46b42294754f8d4ed743124ae8bb8e01fba Author: Stephen Hemminger Date: Wed Jan 7 18:13:49 2009 -0800 hp100: update to net_device_ops Signed-off-by: Stephen Hemminger Signed-off-by: David S. Miller commit 403413e50d6fc88dada28bf41262a3d0e3627827 Author: Stephen Hemminger Date: Wed Jan 7 18:10:49 2009 -0800 b44: convert to net_device_ops Signed-off-by: Stephen Hemminger Signed-off-by: David S. Miller commit 3a1a27fa46f6c3ce39fe02b73df6d8d4648d1679 Author: Stephen Hemminger Date: Wed Jan 7 18:10:24 2009 -0800 atp: convert to net_device_ops Signed-off-by: Stephen Hemminger Signed-off-by: David S. Miller commit 887e53d2d131fe0740326f66f1b417671fdfcf9a Author: Stephen Hemminger Date: Wed Jan 7 18:09:58 2009 -0800 amd8111e: convert to net_device_ops Signed-off-by: Stephen Hemminger Signed-off-by: David S. Miller commit b1da683d17972fc851c46331a5efa801bddf9273 Author: Stephen Hemminger Date: Wed Jan 7 18:09:36 2009 -0800 slip: convert to net_device_ops Signed-off-by: Stephen Hemminger Signed-off-by: David S. Miller commit c4a80d7e67b1a084e061853d39a1ba6f500027fd Author: Stephen Hemminger Date: Wed Jan 7 18:09:07 2009 -0800 uwb: convert devices to net_device_ops Signed-off-by: Stephen Hemminger Acked-by: David Vrabel Signed-off-by: David S. Miller commit 5ec38f3023217fc164763d2a5505dee806d84223 Author: Stephen Hemminger Date: Wed Jan 7 18:05:39 2009 -0800 gadget: convert devices to new API Convert to net_device_ops Signed-off-by: Stephen Hemminger Signed-off-by: David S. Miller commit e8ac9c55f28482f5b2f497a8e7eb90985db237c2 Author: Stephen Hemminger Date: Wed Jan 7 18:05:11 2009 -0800 xpnet: convert devices to new API Convert to net_device_ops and internal net_device_stats Signed-off-by: Stephen Hemminger Signed-off-by: David S. Miller commit 4805fc765330b4f114e856511e86daf493756a37 Author: Stephen Hemminger Date: Wed Jan 7 18:04:45 2009 -0800 fusion: convert devices to new API Convert to net_device_ops and internal net_device_stats Signed-off-by: Stephen Hemminger Signed-off-by: David S. Miller commit d700555bdaa34ff3e910300b4d58ea4d5523ce70 Author: Stephen Hemminger Date: Wed Jan 7 18:04:17 2009 -0800 I4l: convert to net_device_ops Add net_device_ops and use interal stats Signed-off-by: Stephen Hemminger Acked-by: Karsten Keil Signed-off-by: David S. Miller commit 0e2445fbdd2bfc7055f6e9ab83842bebcaf4868f Author: Stephen Hemminger Date: Wed Jan 7 18:03:43 2009 -0800 hysdn: convert to net_device_ops and other updates Several API problems fixed: * use proper allocation * handle renames * convert to net_device_ops * use internal net_device_stats This driver is putrid (as in old and rotten), so I doubt any one uses it. Signed-off-by: Stephen Hemminger Signed-off-by: David S. Miller commit fb875333c80942455551f690f306a899ceeee5df Author: Stephen Hemminger Date: Wed Jan 7 18:02:53 2009 -0800 dvb: update network device to current API Use internal network_device_stats that exist in network device and net_device_ops. Compile tested only. Signed-off-by: Stephen Hemminger Signed-off-by: David S. Miller commit 2a97e6b735416054dcc1b3cf7f4d358f43b45c6e Author: Stephen Hemminger Date: Wed Jan 7 18:02:26 2009 -0800 windbond: convert devices to new API Convert to net_device_ops and internal net_device_stats Signed-off-by: Stephen Hemminger Signed-off-by: David S. Miller commit dfefe02bfd865c18eeaebc07ff1cd50120c40c20 Author: Stephen Hemminger Date: Wed Jan 7 18:01:40 2009 -0800 uli526x: convert devices to new API Convert to net_device_ops and internal net_device_stats Signed-off-by: Stephen Hemminger Signed-off-by: David S. Miller commit 2765df58986ac4382b70bf31be70a64a7a9eaf4c Author: Stephen Hemminger Date: Wed Jan 7 18:01:20 2009 -0800 dmfe: convert to new API Convert to internal net_device-stats and net_device_ops Signed-off-by: Stephen Hemminger Signed-off-by: David S. Miller commit 1034c9f69ae7b61d408836e60c6a2b5afc6e48bc Author: Stephen Hemminger Date: Wed Jan 7 18:00:55 2009 -0800 xircom: convert devices to new API Convert to net_device_ops and internal net_device_stats Signed-off-by: Stephen Hemminger Signed-off-by: David S. Miller commit 0b9a5b05b23587c81e2985bc89f6f1a502c1991e Author: Stephen Hemminger Date: Wed Jan 7 18:00:31 2009 -0800 de4x5: convert to net_device_ops Signed-off-by: Stephen Hemminger Signed-off-by: David S. Miller commit 90d8743d03593520ceb5e8fd8cf3b86072518f83 Author: Stephen Hemminger Date: Wed Jan 7 17:59:47 2009 -0800 de2104x: convert to net_device_ops Signed-off-by: Stephen Hemminger Signed-off-by: David S. Miller commit f4266cf34d7b903e2e11b317f2e548a2acc4cd4e Author: Stephen Hemminger Date: Wed Jan 7 17:59:15 2009 -0800 tulip: convert devices to new API Convert to net_device_ops and internal net_device_stats Signed-off-by: Stephen Hemminger Acked-by: Grant Grundler Signed-off-by: David S. Miller commit 633a277e2a06b4cc10b1373380b09613c702523c Author: Stephen Hemminger Date: Wed Jan 7 17:58:43 2009 -0800 sundance: update to net_device_ops Signed-off-by: Stephen Hemminger Signed-off-by: David S. Miller commit 4fc8006e003a9bcb09015179e1cfc42420d88872 Author: Stephen Hemminger Date: Wed Jan 7 17:58:17 2009 -0800 starfire: update to net_device_ops Signed-off-by: Stephen Hemminger Signed-off-by: David S. Miller commit e287157f15f3ab9cda4cfe334fee41c7b758966f Author: Stephen Hemminger Date: Wed Jan 7 17:57:47 2009 -0800 fealnx: update to net_device_ops Signed-off-by: Stephen Hemminger Signed-off-by: David S. Miller commit 2b7d0c7039e9fd1bd64ba3ef2676f06b068eba34 Author: Stephen Hemminger Date: Wed Jan 7 17:57:19 2009 -0800 natsemi: update to net_device_ops Signed-off-by: Stephen Hemminger Signed-off-by: David S. Miller commit d49d19c962c5f409a7dc771f185afd22cdb49edf Author: Stephen Hemminger Date: Wed Jan 7 17:56:54 2009 -0800 sb1000: update to net_device_ops Signed-off-by: Stephen Hemminger Signed-off-by: David S. Miller commit a7d1de25dc2e823c741cf1ae86a59379ca5a6804 Author: Stephen Hemminger Date: Wed Jan 7 17:36:07 2009 -0800 ns83820: fix net_device_ops support The vlan_rx_register fuction is now in net_device_ops Signed-off-by: Stephen Hemminger Signed-off-by: David S. Miller commit 97488c5b2d5b2121da3bc386558488598fb0ce23 Author: Stephen Hemminger Date: Wed Jan 7 17:35:41 2009 -0800 sis190: update to net_device_ops Signed-off-by: Stephen Hemminger Signed-off-by: David S. Miller commit b8aa76a2bd9782e1a45e96602812910d5cfe7b52 Author: Stephen Hemminger Date: Wed Jan 7 17:34:36 2009 -0800 de600: update to net_device_ops Signed-off-by: Stephen Hemminger Signed-off-by: David S. Miller commit 1f5ec79b8ec357516fbe14904a47f619bb3b543d Author: Stephen Hemminger Date: Wed Jan 7 17:30:09 2009 -0800 enc28j60: update to net_device_ops Signed-off-by: Stephen Hemminger Signed-off-by: David S. Miller commit 8bdd5553660bd07d7904af967893f8d487cc6c44 Author: Stephen Hemminger Date: Wed Jan 7 17:29:46 2009 -0800 typhoon: update to net_device_ops Signed-off-by: Stephen Hemminger Signed-off-by: David S. Miller commit 3bc124dd02007290782a154ed3d12847489aae77 Author: Stephen Hemminger Date: Wed Jan 7 17:29:16 2009 -0800 pcnet32: update to net_device_ops Signed-off-by: Stephen Hemminger Signed-off-by: David S. Miller commit d9a811d5fd9ff6c5fec17dea559a6ea697ae207e Author: Stephen Hemminger Date: Wed Jan 7 17:28:54 2009 -0800 sungem: update to net_device_ops Signed-off-by: Stephen Hemminger Signed-off-by: David S. Miller commit 2f89d12e98c9248ce967f4c6a86b06dbbcf013cd Author: Stephen Hemminger Date: Wed Jan 7 17:28:35 2009 -0800 sunhme: update to net_device_ops Signed-off-by: Stephen Hemminger Signed-off-by: David S. Miller commit 805524cbcf8d756ec1969b6e16b945103cd4c94e Author: Stephen Hemminger Date: Wed Jan 7 17:27:39 2009 -0800 epic100: update to net_device_ops Signed-off-by: Stephen Hemminger Signed-off-by: David S. Miller commit 391c5e6e1822810900c33165442af8053a8ae054 Author: Stephen Hemminger Date: Wed Jan 7 17:27:15 2009 -0800 tlan: update to net_device_ops Signed-off-by: Stephen Hemminger Signed-off-by: David S. Miller commit ed8cf436caccb7f464135b0a9eba0e7624299826 Author: Stephen Hemminger Date: Wed Jan 7 17:26:48 2009 -0800 plip: update to net_device_ops Signed-off-by: Stephen Hemminger Signed-off-by: David S. Miller commit 04fb5f735e70a27f7dd06a5e349c003fd5d4bfa2 Author: Stephen Hemminger Date: Wed Jan 7 17:26:14 2009 -0800 ipg: update to net_device_ops Signed-off-by: Stephen Hemminger Acked-by: Pekka Enberg Signed-off-by: David S. Miller commit 83d6f0352cc47b41d42cc1d6fb31bc8d9753b772 Author: Stephen Hemminger Date: Wed Jan 7 17:25:41 2009 -0800 cassini: update to net_device_ops Signed-off-by: Stephen Hemminger Signed-off-by: David S. Miller commit ab638e69ff7d4882ac152ada17eab340c93df080 Author: Stephen Hemminger Date: Wed Jan 7 17:24:34 2009 -0800 phonet: update to net_device_ops Signed-off-by: Stephen Hemminger Signed-off-by: David S. Miller commit 9e42d0cf5020aaf217433cad1a224745241d212a Merge: 97c440b 18b8e08 Author: Linus Torvalds Date: Wed Jan 7 17:23:53 2009 -0800 Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/sparc-2.6 * git://git.kernel.org/pub/scm/linux/kernel/git/davem/sparc-2.6: sparc64: Work around branch tracer warning. sparc64: Fix unsigned long long warnings in drivers. sparc64: Use unsigned long long for u64. sparc: refactor code in fault_32.c sparc64: refactor code in init_64.c sparc64: refactor code in viohs.c sparc: make proces_ver_nack a bit more readable commit b4d7f0a46bc0e30514b1779caff0fce6e424c4b5 Author: Stephen Hemminger Date: Wed Jan 7 17:23:17 2009 -0800 bluetooth: driver API update Convert to net_device_ops and use internal net_device_stats in bnep device. Note: no need for bnep_net_ioctl since if ioctl is not set, then dev_ifsioc handles it by returning -EOPNOTSUPP Signed-off-by: Stephen Hemminger Acked-by: Marcel Holtmann Signed-off-by: David S. Miller commit 43a67304a3e882ec297e08159f8698be59a235fe Author: Stephen Hemminger Date: Wed Jan 7 17:22:19 2009 -0800 appletalk: convert ipddp to net_device_ops Use internal element in network device for stats as well. Signed-off-by: Stephen Hemminger Signed-off-by: David S. Miller commit 97c440ba41d4e7cddb8e14c7c7ec49dad2560709 Merge: 713404d 661263b Author: Linus Torvalds Date: Wed Jan 7 17:22:04 2009 -0800 Merge branch 'for_linus' of git://git.kernel.org/pub/scm/linux/kernel/git/mchehab/linux-2.6 * 'for_linus' of git://git.kernel.org/pub/scm/linux/kernel/git/mchehab/linux-2.6: V4L/DVB (10191a): Update MAINTAINERS entries on media drivers V4L/DVB (10190): cx88: Fix some Kbuild troubles V4L/DVB (10189): dm1105: Fix build with INPUT=m and DVB_DM1105=y V4L/DVB (10185): Use negated usb_endpoint_xfer_control, etc V4L/DVB (10182): tda8290: fix TDA8290 + TDA18271 initialization V4L/DVB (10181): v4l2-device: Fix some sparse warnings V4L/DVB (10180): drivers/media: Fix a number of sparse warnings V4L/DVB (10179): tda8290: Fix two sparse warnings V4L/DVB (10178): dvb_frontend: Fix some sparse warnings due to static symbols V4L/DVB (10177): Fix sparse warnings on em28xx V4L/DVB (10176b): pxa-camera: fix redefinition warnings and missing DMA definitions V4L/DVB (10176a): Switch remaining clear_user_page users over to clear_user_highpage commit 03b35ccb7c41ccc256631ff33e6887b7be88137b Author: Stephen Hemminger Date: Wed Jan 7 17:21:44 2009 -0800 appletalk: convert aarp to net_device_ops Signed-off-by: Stephen Hemminger Signed-off-by: David S. Miller commit 713404d6082fee34a829a0c6d511e4aec72d7654 Merge: d599edc db43910 Author: Linus Torvalds Date: Wed Jan 7 17:21:24 2009 -0800 Merge branch 'for-2.6.29' of git://linux-nfs.org/~bfields/linux * 'for-2.6.29' of git://linux-nfs.org/~bfields/linux: (67 commits) nfsd: get rid of NFSD_VERSION nfsd: last_byte_offset nfsd: delete wrong file comment from nfsd/nfs4xdr.c nfsd: git rid of nfs4_cb_null_ops declaration nfsd: dprint each op status in nfsd4_proc_compound nfsd: add etoosmall to nfserrno NFSD: FIDs need to take precedence over UUIDs SUNRPC: The sunrpc server code should not be used by out-of-tree modules svc: Clean up deferred requests on transport destruction nfsd: fix double-locks of directory mutex svc: Move kfree of deferral record to common code CRED: Fix NFSD regression NLM: Clean up flow of control in make_socks() function NLM: Refactor make_socks() function nfsd: Ensure nfsv4 calls the underlying filesystem on LOCKT SUNRPC: Ensure the server closes sockets in a timely fashion NFSD: Add documenting comments for nfsctl interface NFSD: Replace open-coded integer with macro NFSD: Fix a handful of coding style issues in write_filehandle() NFSD: clean up failover sysctl function naming ... commit 18b8e08e290e9df588f51f5a7df50555f5a25664 Author: David S. Miller Date: Wed Jan 7 17:15:57 2009 -0800 sparc64: Work around branch tracer warning. As reported by Sam Ravnborg, Gcc-3.4.5 does not handle: if (get_user() || get_user()) with the new branch tracer enabled. Just seperate it out into seperate statements for now so people can get work done. Signed-off-by: David S. Miller commit 755efdc3c4d3b42d5ffcef0f4d6e5b37ecd3bf21 Author: Chris Mason Date: Wed Jan 7 19:56:59 2009 -0500 Btrfs: Drop the hardware crc32c asm code This is already in the arch specific directories in mainline and shouldn't be copied into btrfs. Signed-off-by: Chris Mason commit 661263b55d56365af911049f8824d3bf1a7aea85 Author: Mauro Carvalho Chehab Date: Fri Jan 2 11:27:44 2009 -0300 V4L/DVB (10191a): Update MAINTAINERS entries on media drivers This patch updates the MAINTAINERS entries for the media drivers. We are doing a few changes during 2009 to improve patch handling for drivers/media stuff. Currently, v4l-dvb-maintainer list at linuxtv.org were used to to be v4l/dvb driver maintainers ML, in order to keep track of patch merge requests and to receive bug fixes. This list allows posting for everybody, but, in order to avoid spam, the user subscribe/unsubscribe at the ML is moderated. Other development discussions and end-user forums happened on two separated ML (one for V4L and another for DVB). At the beginning of 2009, we've created linux-media@vger.kernel.org, meaning to be the main upstream development mailing list for drivers/media, including V4L and DVB core and drivers. The choice for vger.kernel.org were due to the fact that most of upstream lists are there. Also, its anti-spam filtering rules are better than what we currently have at linuxtv.org. For now, both video4linux-list and linux-dvb ML will remain active, but more focused on end users. It is expected that those lists will gradually be replaced also by linux-media@vger.kernel.org. This patch reflect those changes at linux MAINTAINERS file. Since the development and bug fix discussions will now happen at linux-media@vger.kernel.org, this patch does the following changes - replaces v4l-dvb-maintainer ML for the new linux-media@vger.kernel.org; - replaces video4linux ML for the new linux-media@vger.kernel.org; While here, it also: - Fixes the existing -git tree entries for drivers/media (since the repository name changed); - Adds the missing drivers/media -git tree entry on a few maintainers entries that don't point to a tree. Signed-off-by: Mauro Carvalho Chehab commit e32fadc4c2e5975a8e40541e2ba72a7032ed4cf4 Author: Mauro Carvalho Chehab Date: Tue Jan 6 16:06:07 2009 -0300 V4L/DVB (10190): cx88: Fix some Kbuild troubles As Randy Dunlap reported, cx88 has some compilation issues: drivers/built-in.o: In function `cx88_call_i2c_clients': (.text+0x20af17): undefined reference to `videobuf_dvb_get_frontend' drivers/built-in.o: In function `cx8802_probe': cx88-mpeg.c:(.devinit.text+0x268c4): undefined reference to `videobuf_dvb_alloc_frontend' cx88-mpeg.c:(.devinit.text+0x268ea): undefined reference to `videobuf_dvb_dealloc_frontends' With those configs: CONFIG_VIDEO_CX88=y CONFIG_VIDEO_CX88_BLACKBIRD=y CONFIG_VIDEO_CX88_DVB=m CONFIG_DVB_CORE=m After carefully examining the code, with the current code, several cx88 drivers (cx8800, cx8802, cx88_dvb and cx88_blackbird) should be compiled as a module, if one of them is marked as such. Just fixing Kconfig could create a very complex set of rules. Also, this hides a problem with the current approach where the dvb functionality weren't confined inside dvb module. What happens is that: - cx88-i2c (part of cx8800) has some special rules if DVB; - cx88-mpeg (cx8802 module) has also part of DVB init code; - cx88-dvb has the rest of the dvb code; - cx88-blackbird can be used with cx88-mpeg, having cx88-dvb or not. So, instead of doing some tricks at Kconfig and wait for a next breakage, this patch moves the dvb code inside cx88-i2c and cx88-mpeg into cx88-dvb. Another problem is that cx8802 were being compiled, even without cx88-dvb and cx88-blackbird modules. While on this code, let's fix also a reported problem: http://www.linuxtv.org/pipermail/linux-dvb/2009-January/031225.html A solution for the issue were proposed here: http://www.mail-archive.com/linux-media@vger.kernel.org/msg00021.html Thanks to Randy, Andy, Gregoire and Thomas for helping us to detect and solve the issues. Signed-off-by: Mauro Carvalho Chehab commit 571d864c68d429a82fd61e97404a2de210ffc72d Author: Mauro Carvalho Chehab Date: Tue Jan 6 08:33:46 2009 -0300 V4L/DVB (10189): dm1105: Fix build with INPUT=m and DVB_DM1105=y As reported by Randy Dunlap : With CONFIG_INPUT=m and CONFIG_DVB_DM1105=y: drivers/built-in.o: In function `input_sync': dm1105.c:(.text+0x120c33): undefined reference to `input_event' drivers/built-in.o: In function `dm1105_emit_key': dm1105.c:(.text+0x120c6c): undefined reference to `input_event' dm1105.c:(.text+0x120c82): undefined reference to `input_event' dm1105.c:(.text+0x120cb2): undefined reference to `input_event' dm1105.c:(.text+0x120cd1): undefined reference to `input_event' drivers/built-in.o: In function `dm1105_ir_init': (.devinit.text+0xd8ae): undefined reference to `input_allocate_device' drivers/built-in.o: In function `dm1105_ir_init': (.devinit.text+0xd9f6): undefined reference to `input_register_device' drivers/built-in.o: In function `dm1105_ir_init': (.devinit.text+0xda09): undefined reference to `input_free_device' drivers/built-in.o: In function `dm1105_ir_exit': (.devexit.text+0xcde): undefined reference to `input_unregister_device' This is due to the lack of a dependency between dm1105 and CONFIG_INPUT Cc: Igor M. Liplianin Signed-off-by: Mauro Carvalho Chehab commit 2230c3c803a5f3a84f7c3bd86b8159a551edc8ca Author: Julia Lawall Date: Sat Jan 3 16:53:10 2009 -0300 V4L/DVB (10185): Use negated usb_endpoint_xfer_control, etc This patch extends 134179823b3ca9c8b98e0631906459dbb022ff9b by using usb_endpoint_xfer_control, usb_endpoint_xfer_isoc, usb_endpoint_xfer_bulk, and usb_endpoint_xfer_int in the negated case as well. The semantic patch that makes this change is as follows: (http://www.emn.fr/x-info/coccinelle/) // @@ struct usb_endpoint_descriptor *epd; @@ - (usb_endpoint_type(epd) != \(USB_ENDPOINT_XFER_CONTROL\|0\)) + !usb_endpoint_xfer_control(epd) @@ struct usb_endpoint_descriptor *epd; @@ - (usb_endpoint_type(epd) != \(USB_ENDPOINT_XFER_ISOC\|1\)) + !usb_endpoint_xfer_isoc(epd) @@ struct usb_endpoint_descriptor *epd; @@ - (usb_endpoint_type(epd) != \(USB_ENDPOINT_XFER_BULK\|2\)) + !usb_endpoint_xfer_bulk(epd) @@ struct usb_endpoint_descriptor *epd; @@ - (usb_endpoint_type(epd) != \(USB_ENDPOINT_XFER_INT\|3\)) + !usb_endpoint_xfer_int(epd) // Signed-off-by: Julia Lawall Signed-off-by: Mauro Carvalho Chehab commit 439b72b69e4992e9ec34b74304f0fa95623934eb Author: Michael Krufky Date: Mon Jan 5 18:25:04 2009 -0300 V4L/DVB (10182): tda8290: fix TDA8290 + TDA18271 initialization Don't call tda8290_init_tuner unless we have either a TDA8275 or TDA8275A present. Calling this function will cause a TDA18271 to get sick, so we should only call it when needed. Signed-off-by: Michael Krufky Signed-off-by: Mauro Carvalho Chehab commit 432663375b04ed9700ea7d3c8e737432d1be6490 Author: Mauro Carvalho Chehab Date: Mon Jan 5 01:42:38 2009 -0300 V4L/DVB (10181): v4l2-device: Fix some sparse warnings /home/v4l/master/v4l/v4l2-device.c:32:2: warning: Using plain integer as NULL pointer /home/v4l/master/v4l/v4l2-device.c:64:2: warning: Using plain integer as NULL pointer Signed-off-by: Mauro Carvalho Chehab commit ffbc5f88148ff77039a4269e3f945e8471b2e0bb Author: Mauro Carvalho Chehab Date: Mon Jan 5 01:34:20 2009 -0300 V4L/DVB (10180): drivers/media: Fix a number of sparse warnings anysee.c:44:5: warning: symbol 'dvb_usb_anysee_delsys' was not declared. Should it be static? cx24116.c:378:3: warning: symbol 'CX24116_MODFEC_MODES' was not declared. Should it be static? stb0899_algo.c:57:5: warning: symbol 'stb0899_get_srate' was not declared. Should it be static? stb0899_algo.c:766:6: warning: symbol 'Log2Int' was not declared. Should it be static? stb0899_drv.c:137:20: warning: symbol 'stb0899_quant_tab' was not declared. Should it be static? stb0899_drv.c:180:20: warning: symbol 'stb0899_est_tab' was not declared. Should it be static? stb0899_drv.c:220:5: warning: symbol '_stb0899_read_reg' was not declared. Should it be static? budget-ci.c:1348:23: warning: symbol 'tt3200_stb6100_config' was not declared. Should it be static? /home/v4l/master/v4l/cx25840-core.c:190:6: warning: symbol 'cx25840_work_handler' was not declared. Should it be static? /home/v4l/master/v4l/m5602_s5k83a.c:116:6: warning: symbol 's5k83a_dump_registers' was not declared. Should it be static? Signed-off-by: Mauro Carvalho Chehab commit 4c27f1a4da4902c70b84a8bce66f8fe909fb829b Author: Mauro Carvalho Chehab Date: Mon Jan 5 01:23:50 2009 -0300 V4L/DVB (10179): tda8290: Fix two sparse warnings /home/v4l/master/v4l/tda8290.c:233:7: warning: symbol 'i' shadows an earlier one /home/v4l/master/v4l/tda8290.c:178:3: warning: symbol 'fm_mode' was not declared. Should it be static? Signed-off-by: Mauro Carvalho Chehab commit 072ce0c50983033d35c63314e2be849568f116c2 Author: Mauro Carvalho Chehab Date: Mon Jan 5 01:19:06 2009 -0300 V4L/DVB (10178): dvb_frontend: Fix some sparse warnings due to static symbols /home/v4l/master/v4l/dvb_frontend.c:838:19: warning: symbol 'dtv_cmds' was not declared. Should it be static? /home/v4l/master/v4l/dvb_frontend.c:1035:6: warning: symbol 'dtv_property_dump' was not declared. Should it be static? /home/v4l/master/v4l/dvb_frontend.c:1066:5: warning: symbol 'is_legacy_delivery_system' was not declared. Should it be static? /home/v4l/master/v4l/dvb_frontend.c:1080:6: warning: symbol 'dtv_property_cache_sync' was not declared. Should it be static? /home/v4l/master/v4l/dvb_frontend.c:1132:6: warning: symbol 'dtv_property_legacy_params_sync' was not declared. Should it be static? /home/v4l/master/v4l/dvb_frontend.c:1187:6: warning: symbol 'dtv_property_adv_params_sync' was not declared. Should it be static? /home/v4l/master/v4l/dvb_frontend.c:1222:6: warning: symbol 'dtv_property_cache_submit' was not declared. Should it be static? /home/v4l/master/v4l/dvb_frontend.c:1253:5: warning: symbol 'dtv_property_process_get' was not declared. Should it be static? /home/v4l/master/v4l/dvb_frontend.c:1362:5: warning: symbol 'dtv_property_process_set' was not declared. Should it be static? Signed-off-by: Mauro Carvalho Chehab commit 26cdc76b2c0b24f7a9c33ab226ca6e4bbae3dbbb Author: Mauro Carvalho Chehab Date: Mon Jan 5 01:00:40 2009 -0300 V4L/DVB (10177): Fix sparse warnings on em28xx /home/v4l/master/v4l/em28xx-core.c:396:25: warning: symbol 'outputs' was not declared. Should it be static? /home/v4l/master/v4l/em28xx-input.c:324:6: warning: symbol 'em28xx_ir_start' was not declared. Should it be static? /home/v4l/master/v4l/em28xx-cards.c:1925:5: warning: symbol 'em28xx_init_dev' was not declared. Should it be static? Signed-off-by: Mauro Carvalho Chehab commit cfbaf4dfe765ae33e1a26b3eb0eda64ff00fc481 Author: Eric Miao Date: Fri Jan 2 12:16:02 2009 -0300 V4L/DVB (10176b): pxa-camera: fix redefinition warnings and missing DMA definitions 1. now pxa_camera.c uses ioremap() for register access, pxa_camera.h is totally useless. Remove it. 2. does no longer include , include the latter file explicitly delete mode 100644 drivers/media/video/pxa_camera.h Signed-off-by: Eric Miao Signed-off-by: Mauro Carvalho Chehab commit c0cd5010e54e52931c321ee66d81d10a8e2a9ff6 Author: Guennadi Liakhovetski Date: Sat Jan 3 18:20:04 2009 -0300 V4L/DVB (10176a): Switch remaining clear_user_page users over to clear_user_highpage Not all architectures provide clear_user_page(), but clear_user_highpage() is available everywhere at least via the compatibility inline function. Is this the "trivial patch" that's required for these two drivers? Signed-off-by: Guennadi Liakhovetski Signed-off-by: Mauro Carvalho Chehab commit d599edcaea987e233fad808f88850f725e8a5530 Author: Harvey Harrison Date: Wed Jan 7 14:31:57 2009 -0800 staging: __FUNCTION__ is gcc-specific, use __func__ Signed-off-by: Harvey Harrison Signed-off-by: Linus Torvalds commit 9b4778f680aa79d838ae2be6ab958938f744ce5f Author: Harvey Harrison Date: Wed Jan 7 14:42:41 2009 -0800 trivial: replace last usages of __FUNCTION__ in kernel __FUNCTION__ is gcc-specific, use __func__ Signed-off-by: Harvey Harrison Acked-by: Mauro Carvalho Chehab Signed-off-by: Linus Torvalds commit 8cfc7f9c005313ecd4e98ad1feb391d8dfce9ed2 Merge: b424e8d da8d508 Author: Linus Torvalds Date: Wed Jan 7 15:43:58 2009 -0800 Merge branch 'sched-fixes-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip * 'sched-fixes-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip: sched: fix possible recursive rq->lock commit b424e8d3b438e841cd1700f6433a100a5d611e4a Merge: 7c7758f f6dc1e5 Author: Linus Torvalds Date: Wed Jan 7 15:41:01 2009 -0800 Merge branch 'linux-next' of git://git.kernel.org/pub/scm/linux/kernel/git/jbarnes/pci-2.6 * 'linux-next' of git://git.kernel.org/pub/scm/linux/kernel/git/jbarnes/pci-2.6: (98 commits) PCI PM: Put PM callbacks in the order of execution PCI PM: Run default PM callbacks for all devices using new framework PCI PM: Register power state of devices during initialization PCI PM: Call pci_fixup_device from legacy routines PCI PM: Rearrange code in pci-driver.c PCI PM: Avoid touching devices behind bridges in unknown state PCI PM: Move pci_has_legacy_pm_support PCI PM: Power-manage devices without drivers during suspend-resume PCI PM: Add suspend counterpart of pci_reenable_device PCI PM: Fix poweroff and restore callbacks PCI: Use msleep instead of cpu_relax during ASPM link retraining PCI: PCIe portdrv: Add kerneldoc comments to remining core funtions PCI: PCIe portdrv: Rearrange code so that related things are together PCI: PCIe portdrv: Fix suspend and resume of PCI Express port services PCI: PCIe portdrv: Add kerneldoc comments to some core functions x86/PCI: Do not use interrupt links for devices using MSI-X net: sfc: Use pci_clear_master() to disable bus mastering PCI: Add pci_clear_master() as opposite of pci_set_master() PCI hotplug: remove redundant test in cpq hotplug PCI: pciehp: cleanup register and field definitions ... commit 7c7758f99d39d529a64d4f60d22129bbf2f16d74 Merge: 67acd8b 8a70da8 Author: Linus Torvalds Date: Wed Jan 7 15:37:24 2009 -0800 Merge git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/usb-2.6 * git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/usb-2.6: (123 commits) wimax/i2400m: add CREDITS and MAINTAINERS entries wimax: export linux/wimax.h and linux/wimax/i2400m.h with headers_install i2400m: Makefile and Kconfig i2400m/SDIO: TX and RX path backends i2400m/SDIO: firmware upload backend i2400m/SDIO: probe/disconnect, dev init/shutdown and reset backends i2400m/SDIO: header for the SDIO subdriver i2400m/USB: TX and RX path backends i2400m/USB: firmware upload backend i2400m/USB: probe/disconnect, dev init/shutdown and reset backends i2400m/USB: header for the USB bus driver i2400m: debugfs controls i2400m: various functions for device management i2400m: RX and TX data/control paths i2400m: firmware loading and bootrom initialization i2400m: linkage to the networking stack i2400m: Generic probe/disconnect, reset and message passing i2400m: host/device procotol and core driver definitions i2400m: documentation and instructions for usage wimax: Makefile, Kconfig and docbook linkage for the stack ... commit 67acd8b4b7a3f1b183ae358e1dfdb8a80e170736 Merge: b13d372 ad160d2 Author: Linus Torvalds Date: Wed Jan 7 15:35:47 2009 -0800 Merge git://git.kernel.org/pub/scm/linux/kernel/git/arjan/linux-2.6-async * git://git.kernel.org/pub/scm/linux/kernel/git/arjan/linux-2.6-async: async: don't do the initcall stuff post boot bootchart: improve output based on Dave Jones' feedback async: make the final inode deletion an asynchronous event fastboot: Make libata initialization even more async fastboot: make the libata port scan asynchronous fastboot: make scsi probes asynchronous async: Asynchronous function calls to speed up kernel boot commit b13d3720ecd29d5044334fdbbae3432f26802bae Author: David Miller Date: Wed Jan 7 15:30:05 2009 -0800 topology: Fix sparc64 build. Due to changeset ba84be2338d3a2b6020d39279335bb06fcd332e1 ("remove linux/hardirq.h from asm-generic/local.h") the sparc64 build started failing on drivers/base/topology.c: drivers/base/topology.c: In function ‘show_physical_package_id’: drivers/base/topology.c:103: error: implicit declaration of function ‘cpu_data’ drivers/base/topology.c:103: error: request for member ‘proc_id’ in something not a structure or union drivers/base/topology.c: In function ‘show_core_id’: drivers/base/topology.c:106: error: request for member ‘core_id’ in something not a structure or union Adding the obvious fix of including asm/cpudata.h into asm/topology.h on sparc64 doesn't fix it, in fact it makes things worse because of the header file dependency chain: linux/gfp.h --> linux/mmzone.h --> linux/topology.h --> asm/topology.h --> asm/cpudata.h --> linux/percpu.h --> linux/slab.h which results in: include/linux/slub_def.h: In function ‘kmalloc_large’: include/linux/slub_def.h:209: error: implicit declaration of function ‘__get_free_pages’ include/linux/slub_def.h:209: error: ‘__GFP_COMP’ undeclared (first use in this function) include/linux/slub_def.h:209: error: (Each undeclared identifier is reported only once include/linux/slub_def.h:209: error: for each function it appears in.) include/linux/slub_def.h:209: warning: cast to pointer from integer of different size The simplest thing to do is to add yet another one-off hack like parts of the guilty changeset did, by putting an explicit linux/hardirq.h include into drivers/base/topology.c Signed-off-by: David S. Miller Signed-off-by: Linus Torvalds commit db43910cb42285a99f45f7e0a0a32e32d0b61dcf Author: Benny Halevy Date: Mon Dec 15 19:42:24 2008 +0200 nfsd: get rid of NFSD_VERSION Signed-off-by: Benny Halevy Signed-off-by: J. Bruce Fields commit 87df4de8073f922a1f643b9fa6ba0412d5529ecf Author: Benny Halevy Date: Mon Dec 15 19:42:03 2008 +0200 nfsd: last_byte_offset refactor the nfs4 server lock code to use last_byte_offset to compute the last byte covered by the lock. Check for overflow so that the last byte is set to NFS4_MAX_UINT64 if offset + len wraps around. Also, use NFS4_MAX_UINT64 for ~(u64)0 where appropriate. Signed-off-by: Benny Halevy Signed-off-by: J. Bruce Fields commit c9d557c19f94df42db78d4a5de4d25feee694bad Author: Paul E. McKenney Date: Wed Jan 7 14:33:30 2009 -0800 rcu: fix bug in rcutorture system-shutdown code This patch fixes an rcutorture bug found by Eric Sesterhenn that resulted in oopses in response to "rmmod rcutorture". The problem was in some new code that attempted to handle the case where a system is shut down while rcutorture is still running, for example, when rcutorture is built into the kernel so that it cannot be removed. The fix causes the rcutorture threads to "park" in an schedule_timeout_uninterruptible(MAX_SCHEDULE_TIMEOUT) rather than trying to get them to terminate cleanly. Concurrent shutdown and rmmod is illegal. I believe that this is 2.6.29 material, as it is used in some testing setups. For reference, here are the rcutorture operating modes: CONFIG_RCU_TORTURE_TEST=m This is the normal rcutorture build. Use "modprobe rcutorture" (with optional arguments) to start, and "rmmod rcutorture" to stop. If you shut the system down without doing the rmmod, you should see console output like: rcutorture thread rcu_torture_writer parking due to system shutdown One for each rcutorture kthread. CONFIG_RCU_TORTURE_TEST=y CONFIG_RCU_TORTURE_TEST_RUNNABLE=n Use this if you want rcutorture built in, but don't want the test to start running during early boot. To start the torturing: echo 1 > /proc/sys/kernel/rcutorture_runnable To stop the torturing, s/1/0/ You will get "parking" console messages as noted above when you shut the system down. CONFIG_RCU_TORTURE_TEST=y CONFIG_RCU_TORTURE_TEST_RUNNABLE=y Same as above, except that the torturing starts during early boot. Only for the stout of heart and strong of stomach. The same /proc entry noted above may be used to control the test. Located-by: Eric Sesterhenn Tested-by: Eric Sesterhenn Signed-off-by: Paul E. McKenney Signed-off-by: Ingo Molnar commit 4e65ebf08951326709817e654c149d0a94982e01 Author: Marc Eshel Date: Mon Dec 15 19:41:31 2008 +0200 nfsd: delete wrong file comment from nfsd/nfs4xdr.c Signed-off-by: Benny Halevy Signed-off-by: J. Bruce Fields commit df96fcf02a5fd2ae4e9b09e079dd6ef12d10ecd7 Author: Benny Halevy Date: Mon Dec 15 19:41:10 2008 +0200 nfsd: git rid of nfs4_cb_null_ops declaration There's no use for nfs4_cb_null_ops's declaration in fs/nfsd/nfs4callback.c Signed-off-by: Benny Halevy Signed-off-by: J. Bruce Fields commit 0407717d8587f60003f4904bff27650cd836c00c Author: Benny Halevy Date: Mon Dec 15 19:40:49 2008 +0200 nfsd: dprint each op status in nfsd4_proc_compound Signed-off-by: Benny Halevy Signed-off-by: J. Bruce Fields commit b7aeda40d3010666d2c024c80557b6aa92a1a1ad Author: Dean Hildebrand Date: Mon Dec 15 19:40:15 2008 +0200 nfsd: add etoosmall to nfserrno Signed-off-by: Dean Hildebrand Signed-off-by: Benny Halevy Signed-off-by: J. Bruce Fields commit 30fa8c0157e4591ee2227aaa0b17cd3b0da5e6cb Author: Steve Dickson Date: Wed Jan 7 16:54:30 2009 -0500 NFSD: FIDs need to take precedence over UUIDs When determining the fsid_type in fh_compose(), the setting of the FID via fsid= export option needs to take precedence over using the UUID device id. Signed-off-by: Steve Dickson Signed-off-by: J. Bruce Fields commit 24c3767e41a6a59d32bb45abe899eb194e6bf1b8 Author: Trond Myklebust Date: Tue Dec 23 16:30:12 2008 -0500 SUNRPC: The sunrpc server code should not be used by out-of-tree modules Signed-off-by: Trond Myklebust Signed-off-by: J. Bruce Fields commit 22945e4a1c7454c97f5d8aee1ef526c83fef3223 Author: Tom Tucker Date: Mon Jan 5 15:21:19 2009 -0600 svc: Clean up deferred requests on transport destruction A race between svc_revisit and svc_delete_xprt can result in deferred requests holding references on a transport that can never be recovered because dead transports are not enqueued for subsequent processing. Check for XPT_DEAD in revisit to clean up completing deferrals on a dead transport and sweep a transport's deferred queue to do the same for queued but unprocessed deferrals. Signed-off-by: Tom Tucker Signed-off-by: J. Bruce Fields commit ffda8c7dc492e2170bb263f7c56f286992ceb54b Author: Andrew Vasquez Date: Mon Jan 5 11:18:12 2009 -0800 [SCSI] qla2xxx: Update version number to 8.03.00-k1. Signed-off-by: Andrew Vasquez Signed-off-by: James Bottomley commit 3a03eb797ce76ae8868a1497e9e746ad0add1e3b Author: Andrew Vasquez Date: Mon Jan 5 11:18:11 2009 -0800 [SCSI] qla2xxx: Add ISP81XX support. Codes to support new FCoE boards. Signed-off-by: Andrew Vasquez Signed-off-by: James Bottomley commit 444786d7fdd770f67e29a068ec8ee981d323f7a7 Author: Andrew Vasquez Date: Mon Jan 5 11:18:10 2009 -0800 [SCSI] qla2xxx: Use proper request/response queues with MQ instantiations. Original code would inadvertanly place I/Os on the default request-queue. Also, correctly pass in the proper MSI-X vector during response-queue initialization. Signed-off-by: Andrew Vasquez Signed-off-by: James Bottomley commit d63ab53394f408f9e59f5b6ba0580f8c6ef2357a Author: Andrew Vasquez Date: Mon Jan 5 11:18:09 2009 -0800 [SCSI] qla2xxx: Correct MQ-chain information retrieval during a firmware dump. Original code would not read request/response queue pointers. Also, collapse code into a helper qla25xx_copy_mq() function in preparation for newer ISP parts. Signed-off-by: Andrew Vasquez Signed-off-by: James Bottomley commit bb99de6703526ebed42e29b8dee402df235f28c7 Author: Andrew Vasquez Date: Mon Jan 5 11:18:08 2009 -0800 [SCSI] qla2xxx: Collapse EFT/FCE copy procedures during a firmware dump. In preparation for new ISP types with varying dump procedures. Signed-off-by: Andrew Vasquez Signed-off-by: James Bottomley commit 3fd67cdf9e68b653ed631056bf1660700088c8c8 Author: Andrew Vasquez Date: Mon Jan 5 11:18:07 2009 -0800 [SCSI] qla2xxx: Don't pollute kernel logs with ZIO/RIO status messages. Signed-off-by: Andrew Vasquez Signed-off-by: James Bottomley commit 124f85e6cc0290a85adb7e14cd90e96105f4f9fb Author: Andrew Vasquez Date: Mon Jan 5 11:18:06 2009 -0800 [SCSI] qla2xxx: Don't fallback to interrupt-polling during re-initialization with MSI-X enabled. ROMs in recent ISPs have MSI-X support, so it's no longer necessary for the driver to fallback to interrupt polling during ISP re-initialization. Signed-off-by: Andrew Vasquez Signed-off-by: James Bottomley commit 1ded85e2850b7b890fb6b51241429ed685ec2763 Author: Andrew Vasquez Date: Mon Jan 5 11:18:05 2009 -0800 [SCSI] qla2xxx: Remove support for reading/writing HW-event-log. Software should not touch this region of flash, as the firmware will be the only writer and consumer of the region. Signed-off-by: Andrew Vasquez Signed-off-by: James Bottomley commit 14f0ca8eaea42a5b5a69cfcb699665dd2618db5f Author: Robert Richter Date: Wed Jan 7 21:50:22 2009 +0100 oprofile: make new cpu buffer functions part of the api This patch creates the new functions oprofile_write_reserve() oprofile_add_data() oprofile_write_commit() and makes them part of the oprofile api. Signed-off-by: Robert Richter commit 574df408edb7b5bddda68a0cf919536993949941 Author: Al Viro Date: Mon Jan 5 17:21:11 2009 +0000 [SCSI] cxgb3i: add missing include it needs scatterlist.h - indirect chain of includes doesn't work on a lot of targets. Signed-off-by: Al Viro Cc: Karen Xie Signed-off-by: James Bottomley commit ebf8d974e298018f0b4ee02b1b097bf5500d3d27 Author: Robert Richter Date: Wed Jan 7 00:20:57 2009 +0100 oprofile: remove #ifdef CONFIG_OPROFILE_IBS in non-ibs code The ifdefs can be removed since the code is no longer ibs specific and can be used for other purposes as well. IBS specific code is only in op_model_amd.c. Signed-off-by: Robert Richter commit 465634adc1d09b490c8ee31885575be39d375d53 Author: Robert Richter Date: Wed Jan 7 15:32:11 2009 +0100 ring_buffer: fix ring_buffer_event_length() Function ring_buffer_event_length() provides an interface to detect the length of data stored in an entry. However, the length contains offsets depending on the internal usage. This makes it unusable. This patch fixes this and now ring_buffer_event_length() returns the alligned length that has been used in ring_buffer_lock_reserve(). Cc: Steven Rostedt Signed-off-by: Robert Richter commit 1acda878e20ea0cd3708ba66dca67d52eaafdd2b Author: Robert Richter Date: Mon Jan 5 10:35:31 2009 +0100 oprofile: use new data sample format for ibs The new ring buffer implementation allows the storage of samples with different size. This patch implements the usage of the new sample format to store ibs samples in the cpu buffer. Until now, writing to the cpu buffer could lead to incomplete sampling sequences since IBS samples were transfered in multiple samples. Due to a full buffer, data could be lost at any time. This can't happen any more since the complete data is reserved in advance and then stored in a single sample. Signed-off-by: Robert Richter commit bd7dc46f770d317ada1348294ff1f319243b803b Author: Robert Richter Date: Tue Jan 6 03:56:50 2009 +0100 oprofile: add op_cpu_buffer_get_data() This function provides access to attached data of a sample. It returns the size of data including the current value. Also, op_cpu_buffer_get_size() is available to check if there is data attached. Signed-off-by: Robert Richter commit d9928c25a6960cf128c2078a89fe6f8e0180ff60 Author: Robert Richter Date: Thu Dec 25 17:26:07 2008 +0100 oprofile: add op_cpu_buffer_add_data() This function can be used to attach data to a sample. It returns the remaining free buffer size that has been reserved with op_cpu_buffer_write_reserve(). Signed-off-by: Robert Richter commit ae735e9964b4584923f2997d98a8d80ae9c1a75c Author: Robert Richter Date: Thu Dec 25 17:26:07 2008 +0100 oprofile: rework implementation of cpu buffer events Special events such as task or context switches are marked with an escape code in the cpu buffer followed by an event code or a task identifier. There is one escape code per event. To make escape sequences also available for data samples the internal cpu buffer format must be changed. The current implementation does not allow the extension of event codes since this would lead to collisions with the task identifiers. To avoid this, this patch introduces an event mask that allows the storage of multiple events with one escape code. Now, task identifiers are stored in the data section of the sample. The implementation also allows the usage of custom data in a sample. As a side effect the new code is much more readable and easier to understand. Signed-off-by: Robert Richter commit 2d87b14cf8d0b07720de26d90789d02124141616 Author: Robert Richter Date: Tue Dec 30 04:10:46 2008 +0100 oprofile: modify op_cpu_buffer_read_entry() This implements the support of samples with attached data. Signed-off-by: Robert Richter commit 2cc28b9f261dd28d69767a34682ce55a27d928ed Author: Robert Richter Date: Thu Dec 25 17:26:07 2008 +0100 oprofile: add op_cpu_buffer_write_reserve() This function prepares the cpu buffer to write a sample. Struct op_entry is used during operations on the ring buffer while struct op_sample contains the data that is stored in the ring buffer. Struct entry can be uninitialized. The function reserves a data array that is specified by size. Use op_cpu_buffer_write_commit() after preparing the sample. In case of errors a null pointer is returned, otherwise the pointer to the sample. Signed-off-by: Robert Richter commit d358e75fc40cc3bbab11654ba0a88b232c543d12 Author: Robert Richter Date: Mon Jan 5 13:14:04 2009 +0100 oprofile: rename variables in add_ibs_begin() This unifies usage of variable names within oprofile. Signed-off-by: Robert Richter commit d0e233846dcef56ae78f6d8fd0e0cba85a2a1489 Author: Robert Richter Date: Tue Dec 23 04:03:05 2008 +0100 oprofile: rename add_sample() in cpu_buffer.c Rename the fucntion to op_add_sample() since there is a collision with another one with the same name in buffer_sync.c. Signed-off-by: Robert Richter commit fc81be8ca29e28bfb89aa23359036a8ad4118d0f Author: Robert Richter Date: Thu Dec 18 00:28:27 2008 +0100 oprofile: rename variable ibs_allowed to has_ibs in op_model_amd.c This patch renames ibs_allowed to has_ibs. Varible name fits better now. Signed-off-by: Robert Richter commit 6fd8be4bf72879b3039654388e985cabf8449af5 Author: Trent Piepho Date: Mon Dec 8 19:34:56 2008 -0800 powerpc/fsl-booke: Remove num_tlbcam_entries This is a global variable defined in fsl_booke_mmu.c with a value that gets initialized in assembly code in head_fsl_booke.S. It's never used. If some code ever does want to know the number of entries in TLB1, then "numcams = mfspr(SPRN_TLB1CFG) & 0xfff", is a whole lot simpler than a global initialized during kernel boot from assembly. Signed-off-by: Trent Piepho Signed-off-by: Kumar Gala commit 19f5465e823858a2f0b0e9a92e52816ba3ee70bb Author: Trent Piepho Date: Mon Dec 8 19:34:55 2008 -0800 powerpc/fsl-booke: Don't hard-code size of struct tlbcam Some assembly code in head_fsl_booke.S hard-coded the size of struct tlbcam to 20 when it indexed the TLBCAM table. Anyone changing the size of struct tlbcam would not know to expect that. The kernel already has a system to get the size of C structures into assembly language files, asm-offsets, so let's use it. The definition of the struct gets moved to a header, so that asm-offsets.c can include it. Signed-off-by: Trent Piepho Signed-off-by: Kumar Gala commit 565f37642c78754a85efe6c20a4a15e18ed21f07 Author: Trent Piepho Date: Wed Dec 17 11:43:26 2008 -0800 powerpc/fsl-pci: Set relaxed ordering on prefetchable ranges Provides a small speedup when accessing pefetchable ranges. To indicate that a memory range is prefetchable, mark it in the dts file with 42000000 instead of 02000000. A powepc pci_controller is allowed three memory ranges, any of which may be prefetchable. However, the PCI-PCI bridge configuration space only has one field for "non-prefetchable memory behind bridge", which has a 32 bit address, and one field for "prefetchable memory behind bridge", which may have a 64 bit address. These are PCI bus addresses, not CPU physical addresses. So really you're only allowed one memory range of each type. And if you want the range at a PCI address above 32 bits you must make it prefetchable. Signed-off-by: Trent Piepho Signed-off-by: Kumar Gala commit a097a78c1e6e4030fcef3bcab6351b6001662335 Author: Trent Piepho Date: Tue Jan 6 22:37:53 2009 -0600 powerpc/fsl-pci: Better ATMU setup for 85xx/86xx The code that sets up the outbound ATMU windows, which is used to map CPU physical addresses into PCI bus addresses where BARs will be mapped, didn't work so well. For one, it leaked the ioremap() of the ATMU registers. Another small bug was the high 20 bits of the PCI bus address were left as zero. It's legal for prefetchable memory regions to be above 32 bits, so the high 20 bits might not be zero. Mainly, it couldn't handle ranges that were not a power of two in size or were not naturally aligned. The ATMU windows have these requirements (size & alignment), but the code didn't bother to check if the ranges it was programming met them. If they didn't, the windows would silently be programmed incorrectly. This new code can handle ranges which are not power of two sized nor naturally aligned. It simply splits the ranges into multiple valid ATMU windows. As there are only four windows, pooly aligned or sized ranges (which didn't even work before) may run out of windows. In this case an error is printed and an effort is made to disable the unmapped resources. An improvement that could be made would be to make use of the default outbound window. Iff hose->pci_mem_offset is zero, then it's possible that some or all of the ranges might not need an outbound window and could just use the default window. The default ATMU window can support a pci_mem_offset less than zero too, but pci_mem_offset is unsigned. One could say the abilities allowed a powerpc pci_controller is neither subset nor a superset of the abilities of a Freescale PCIe controller. Thankfully, the most useful bits are in the intersection of the two abilities. Signed-off-by: Trent Piepho Signed-off-by: Kumar Gala commit 79ed24297236b7430d6ce0a1511ff70cf5b6015a Author: James Bottomley Date: Tue Jan 6 13:15:20 2009 -0600 [SCSI] scsi_lib: fix DID_RESET status problems Andrew Vaszquez said: > There's a problem that is causing commands returned by the LLD with > a DID_RESET status to be reissued with cleared cmd->sdb data which > in our tests are manifesting in firmware detected overruns. Here's > a snippet of a READ_10 scsi_cmnd upon completion by the storage The problem is caused by: commit b60af5b0adf0da24c673598c8d3fb4d4189a15ce Author: Alan Stern Date: Mon Nov 3 15:56:47 2008 -0500 [SCSI] simplify scsi_io_completion() Because scsi_release_buffers() is called before commands that go through the ACTION_RETRY and ACTION_DELAYED_RETRY legs are requeued. However, they're not re-prepared, so nothing ever reallocates the buffer resources to them. Fix this by releasing the buffers only if we're not going to go down these legs (but scsi_release_buffers() on all legs including two in scsi_end_request(); this latter needs a special version __scsi_release_buffers() because the final one can be called after the request has been freed, so the bidi test in scsi_release_buffers(), which touches the request has to be skipped). Reported-by: Andrew Vasquez Signed-off-by: James Bottomley commit c6906a2cb7cc318a56f6c335a2c4a3b004dd9e04 Merge: 8903709 baa9187 Author: Linus Torvalds Date: Wed Jan 7 13:11:28 2009 -0800 Merge git://git.kernel.org/pub/scm/linux/kernel/git/sam/kbuild-fixes * git://git.kernel.org/pub/scm/linux/kernel/git/sam/kbuild-fixes: kbuild: fix typos (s/bin_shipped/bin.o_shipped/) in Documentation kbuild: add a symlink to the source for separate objdirs kconfig: add script to manipulate .config files on the command line kbuild: reintroduce ALLSOURCE_ARCHS support for tags/cscope bootchart: improve output based on Dave Jones' feedback fix modules_install via NFS qnx: include for definitions of __[us]{8,16,32,64} types commit 9ac32e1bc0518b01b47dd34a733dce8634a38ed3 Author: Jaswinder Singh Rajput Date: Wed Jan 7 12:59:17 2009 -0800 firmware: convert e100 driver to request_firmware() Thanks to David Woodhouse for help. Signed-off-by: Jaswinder Singh Rajput Signed-off-by: David S. Miller commit baa91878ab9b0f1cdb7ab03b53ee2e4389245644 Author: Wolfram Sang Date: Tue Jan 6 15:12:27 2009 +0100 kbuild: fix typos (s/bin_shipped/bin.o_shipped/) in Documentation The text always mentions ...bin.o_shipped, just the example makefiles actually use ...bin_shipped. It was corrected in one place some time ago, these ones seem to have been forgotten. Signed-off-by: Wolfram Sang Signed-off-by: Sam Ravnborg commit 399b835be30e8fdec6705fa9803f9fb8822c52ae Author: Andi Kleen Date: Sat Jan 3 03:21:42 2009 +0100 kbuild: add a symlink to the source for separate objdirs I have some scripts which need to map back to the source directory from an objdir. This was so far done by parsing the Makefile, but the Makefile format changes occasionally and breaks my scripts then. To make this more reliable add a "source" symlink back. Signed-off-by: Andi Kleen Signed-off-by: Sam Ravnborg commit 8e54701ea85b0ab0971637825a628f5aa2b678a4 Author: Andi Kleen Date: Sat Jan 3 03:21:41 2009 +0100 kconfig: add script to manipulate .config files on the command line I often change single options in .config files. Instead of using an editor or one of the frontends it's convenient to do this from the command line. It's also useful to do from automated build scripts when building different variants from a base config file. I extracted most of the CONFIG manipulation code from one of my build scripts into a new shell script scripts/config The script is not integrated with the normal Kconfig machinery and doesn't do any checking against Kconfig files, but just manipulates that text format. This is always done at make time anyways. I believe this script would be a useful standard addition for scripts/* Sample usage: ./scripts/config --disable smp Disable SMP in .config file ./scripts/config --file otherdir/.config --module e1000e Enable E1000E as module in otherdir/.config ./scripts/config --state smp y Check state of config option CONFIG_SMP After merging into git please make scripts/config executable Signed-off-by: Andi Kleen Signed-off-by: Sam Ravnborg commit 4f628248a578585472e19e4cba2c604643af8c6c Author: Jike Song Date: Mon Jan 5 14:57:03 2009 +0800 kbuild: reintroduce ALLSOURCE_ARCHS support for tags/cscope This patch reintroduce the ALLSOURCE_ARCHS support for tags/TAGS/ cscope targets. The Kbuild previously has this feature, but after moving the targets into scripts/tags.sh, ALLSOURCE_ARCHS disappears. It's something like this: $ make ALLSOURCE_ARCHS="x86 mips arm" tags cscope Signed-off-by: Jike Song Signed-off-by: Sam Ravnborg commit 40c8c85a47552bd792b0ad49ddcc45ec18369134 Author: Arjan van de Ven Date: Sun Jan 4 07:16:38 2009 -0800 bootchart: improve output based on Dave Jones' feedback Dave Jones, in his blog, had some feedback about the bootchart script: Primarily his complaint was that shorter delays weren't visualized. The reason for that was that too small delays will have their labels mixed up in the graph in an unreadable mess. This patch has a fix for this; for one, it makes the output wider, so more will fit. The second part is that smaller delays are now shown with a much smaller font for the label; while this isn't per se readable at a 1:1 zoom, at least you can zoom in with most SVG viewing applications and see what it is you are looking at. Signed-off-by: Arjan van de Ven Signed-off-by: Sam Ravnborg commit 8b249b6856f16f09b0e5b79ce5f4d435e439b9d6 Author: Sam Ravnborg Date: Wed Jan 7 20:52:43 2009 +0100 fix modules_install via NFS Rafael reported: I get the following error from 'make modules_install' on my test boxes: HOSTCC firmware/ihex2fw /home/rafael/src/linux-2.6/firmware/ihex2fw.c:268: fatal error: opening dependency file firmware/.ihex2fw.d: Read-only file system compilation terminated. make[3]: *** [firmware/ihex2fw] Error 1 make[2]: *** [_modinst_post] Error 2 make[1]: *** [sub-make] Error 2 make: *** [all] Error 2 where the configuration is that the kernel is compiled on a build box with 'make O= -j5' and then is mounted over NFS read-only by each test box (full path to this directory is the same on the build box and on the test boxes). Then, I cd into , run 'make modules_install' and get the error above. The issue turns out to be that we when we install firmware pick up the list of firmware blobs from firmware/Makefile. And this triggers the Makefile rules to update ihex2fw. There were two solutions for this issue: 1) Move the list of firmware blobs to a separate file 2) Avoid ihex2fw rebuild by moving it to scripts As I seriously beleive that the list of firmware blobs should be done in a fundamental different way solution 2) was selected. Reported-and-tested-by: "Rafael J. Wysocki" Signed-off-by: Sam Ravnborg Cc: David Woodhouse commit 8d1a0a13edecfdcb47fee3238ed4a2af2a2867f9 Author: Anders Larsen Date: Thu Jan 1 17:17:35 2009 +0100 qnx: include for definitions of __[us]{8,16,32,64} types On 2008-12-30 11:32:33, Sam Ravnborg wrote: > We have added a few additional validation checks of the userspace headers: ... > 3) We should include and not > 4) If we use a __[us]{8,16,32,64} type then we must include Satisfy these requirements for the linux/qnx*.h headers. Signed-off-by: Anders Larsen Signed-off-by: Sam Ravnborg commit 9a8d248e2d2e9c880ac4561f27fea5dc200655bd Author: J. Bruce Fields Date: Tue Jan 6 13:37:03 2009 -0500 nfsd: fix double-locks of directory mutex A number of nfsd operations depend on the i_mutex to cover more code than just the fsync, so the approach of 4c728ef583b3d8 "add a vfs_fsync helper" doesn't work for nfsd. Revert the parts of those patches that touch nfsd. Note: we can't, however, remove the logic from vfs_fsync that was needed only for the special case of nfsd, because a vfs_fsync(NULL,...) call can still result indirectly from a stackable filesystem that was called by nfsd. (Thanks to Christoph Hellwig for pointing this out.) Reported-by: Eric Sesterhenn Signed-off-by: J. Bruce Fields commit 2779e3ae39645515cb6c1126634f47c28c9e7190 Author: Tom Tucker Date: Mon Jan 5 11:12:52 2009 -0600 svc: Move kfree of deferral record to common code The rqstp structure has a pointer to a svc_deferred_req record that is allocated when requests are deferred. This record is common to all transports and can be freed in common code. Move the kfree of the rq_deferred to the common svc_xprt_release function. This also fixes a memory leak in the RDMA transport which does not kfree the dr structure in it's version of the xpo_release_rqst callback. Signed-off-by: Tom Tucker Signed-off-by: J. Bruce Fields commit f05ef8db1abe68e3f6fc272efee51bc54ce528c5 Author: David Howells Date: Mon Jan 5 17:19:37 2009 +0000 CRED: Fix NFSD regression Fix a regression in NFSD's permission checking introduced by the credentials patches. There are two parts to the problem, both in nfsd_setuser(): (1) The return value of set_groups() is -ve if in error, not 0, and should be checked appropriately. 0 indicates success. (2) The UID to use for fs accesses is in new->fsuid, not new->uid (which is 0). This causes CAP_DAC_OVERRIDE to always be set, rather than being cleared if the UID is anything other than 0 after squashing. Reported-by: J. Bruce Fields Signed-off-by: David Howells Acked-by: James Morris Signed-off-by: J. Bruce Fields commit 0dba7c2a9ed3d4a1e58f5d94fffa9f44dbe012e6 Author: Chuck Lever Date: Wed Dec 31 16:06:11 2008 -0500 NLM: Clean up flow of control in make_socks() function Clean up: Use Bruce's preferred control flow style in make_socks(). Signed-off-by: Chuck Lever Signed-off-by: J. Bruce Fields commit d3fe5ea7cf815c037c90b1f1464ffc1ab5e8601b Author: Chuck Lever Date: Wed Dec 31 16:06:04 2008 -0500 NLM: Refactor make_socks() function Clean up: extract common logic in NLM's make_socks() function into a helper. Signed-off-by: Chuck Lever Signed-off-by: J. Bruce Fields commit 55ef1274dddd4de387c54d110e354ffbb6cdc706 Author: J. Bruce Fields Date: Sat Dec 20 11:58:38 2008 -0800 nfsd: Ensure nfsv4 calls the underlying filesystem on LOCKT Since nfsv4 allows LOCKT without an open, but the ->lock() method is a file method, we fake up a struct file in the nfsv4 code with just the fields we need initialized. But we forgot to initialize the file operations, with the result that LOCKT never results in a call to the filesystem's ->lock() method (if it exists). We could just add that one more initialization. But this hack of faking up a struct file with only some fields initialized seems the kind of thing that might cause more problems in the future. We should either do an open and get a real struct file, or make lock-testing an inode (not a file) method. This patch does the former. Reported-by: Marc Eshel Tested-by: Marc Eshel Signed-off-by: J. Bruce Fields commit 8903709b054a8dafe4e8c6d9a6444034d7aba36f Author: Harvey Harrison Date: Wed Jan 7 12:19:31 2009 -0800 xtensa: introduce swab.h Fixes compile breakage as linux/byteorder.h was removed. Signed-off-by: Harvey Harrison Signed-off-by: Linus Torvalds commit daf4b805c1711f730d42a5dfc5a65ee05b3c9ecf Merge: a0c9f24 c8a12d4 Author: Linus Torvalds Date: Wed Jan 7 12:05:32 2009 -0800 Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/ieee1394/linux1394-2.6 * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/ieee1394/linux1394-2.6: firewire: reorder struct fw_card for better cache efficiency firewire: fix resetting of bus manager retry counter firewire: improve refcounting of fw_card firewire: typo in comment firewire: fix small memory leak at module removal firewire: fw-sbp2: remove unnecessary locking ieee1934: dv1394: interrupt enabling/disabling broken on big-endian ieee1394: dv1394: annotate frame input/output structs as little endian ieee1394: eth1394: trivial sparse annotations ieee1394: mark bus_info_data as a __be32 array ieee1394: replace CSR_SET_BUS_INFO_GENERATION macro ieee1394: pcilynx: trivial endian annotation ieee1394: ignore nonzero Bus_Info_Block.max_rom, fetch config ROM in quadlets ieee1394: consolidate uses of IEEE1934_BUSID_MAGIC ieee1394: ohci1394: flush MMIO writes before delay in initialization ieee1394: ohci1394: pass error codes from request_irq through ieee1394: ohci1394: don't leave interrupts enabled during suspend/resume ieee1394: mark all hpsb_address_ops instances as const ieee1394: replace a GFP_ATOMIC by GFP_KERNEL allocation commit a0c9f240a992c4c2b6ac40324ece27475cf3b71a Merge: 5bb47b9 230e40f Author: Linus Torvalds Date: Wed Jan 7 12:01:06 2009 -0800 Merge branch 'proc-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/adobriyan/proc * 'proc-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/adobriyan/proc: proc: remove write-only variable in proc_pident_lookup() proc: fix sparse warning proc: add /proc/*/stack proc: remove '##' usage proc: remove useless WARN_ONs proc: stop using BKL commit 5bb47b9ff3d16d40f8d45380b373497a545fa280 Merge: 2f2408a 06af15e Author: Linus Torvalds Date: Wed Jan 7 12:00:25 2009 -0800 Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/cooloney/blackfin-2.6 * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/cooloney/blackfin-2.6: (171 commits) Blackfin arch: fix bug - BF527 0.2 silicon has different CPUID (DSPID) value Blackfin arch: Enlarge flash partition for kenel for bf533/bf537 boards Blackfin arch: fix bug: kernel crash when enable SDIO host driver Blackfin arch: Print FP at level KERN_NOTICE Blackfin arch: drop ad73311 test code Blackfin arch: update board default configs Blackfin arch: Set PB4 as the default irq for bf548 board v1.4+. Blackfin arch: fix typo in early printk bit size processing Blackfin arch: enable reprogram cclk and sclk for bf518f-ezbrd Blackfin arch: add SDIO host driver platform data Blackfin arch: fix bug - kernel stops at initial console Blackfin arch: fix bug - kernel crash after config IP for ethernet port Blackfin arch: add sdh support for bf518f-ezbrd Blackfin arch: fix bug - kernel detects BF532 incorrectly Blackfin arch: add () to avoid warnings from gcc Blackfin arch: change HWTRACE Kconfig and set it on default Blackfin arch: Clean oprofile build path for blackfin Blackfin arch: remove hardware PM code, oprofile not use it Blackfin arch: rewrite get_sclk()/get_vco() Blackfin arch: cleanup and unify the ins functions ... commit 2f2408a88cf8fa43febfd7fb5783e61b2937b0f9 Merge: fa7b906 77fa49d Author: Linus Torvalds Date: Wed Jan 7 11:59:51 2009 -0800 Merge branch 'hwmon-for-linus' of git://jdelvare.pck.nerim.net/jdelvare-2.6 * 'hwmon-for-linus' of git://jdelvare.pck.nerim.net/jdelvare-2.6: (29 commits) hwmon: Fix various typos hwmon: Check for ACPI resource conflicts hwmon: (lm70) Add TI TMP121 support hwmon: (lm70) Code streamlining and cleanup hwmon: Deprecate the fscher and fscpos drivers hwmon: (fschmd) Add watchdog support hwmon: (fschmd) Cleanups for watchdog support hwmon: (i5k_amb) Load automatically on all 5000/5400 chipsets hwmon: (it87) Add support for the ITE IT8720F hwmon: Don't overuse I2C_CLIENT_MODULE_PARM hwmon: Add LTC4245 driver hwmon: (f71882fg) Fix fan_to/from_reg prototypes hwmon: (f71882fg) Printout fan modes hwmon: (f71882fg) Add documentation hwmon: (f71882fg) Fix auto_channels_temp temp numbering with f8000 hwmon: (f71882fg) Add missing pwm3 attr for f71862fg hwmon: (f71882fg) Add F8000 support hwmon: (f71882fg) Remove the fan_mode module option hwmon: (f71882fg) Separate max and crit alarm and beep hwmon: (f71882fg) Check for hwmon powerdown state ... commit fa7b906e7fef53b6c9eb3ecb8164b0a69e9e1a68 Merge: 0824990 66c7acf Author: Linus Torvalds Date: Wed Jan 7 11:59:27 2009 -0800 Merge branch 'i2c-for-linus' of git://jdelvare.pck.nerim.net/jdelvare-2.6 * 'i2c-for-linus' of git://jdelvare.pck.nerim.net/jdelvare-2.6: i2c: Use snprintf to set adapter names Input: apanel - convert to new i2c binding i2c: Drop I2C_CLASS_CAM_DIGITAL i2c: Drop I2C_CLASS_CAM_ANALOG and I2C_CLASS_SOUND i2c: Drop I2C_CLASS_ALL i2c: Get rid of remaining bus_id access i2c: Replace bus_id with dev_name(), dev_set_name() commit 08249903ea233a79b4167395f2fb79ccd1fb5f94 Merge: 0d6326a 183b3af Author: Linus Torvalds Date: Wed Jan 7 11:58:30 2009 -0800 Merge git://git.kernel.org/pub/scm/linux/kernel/git/hskinnemoen/avr32-2.6 * git://git.kernel.org/pub/scm/linux/kernel/git/hskinnemoen/avr32-2.6: avr32: Move syscalls.h under arch/avr32/include/asm/ avr32: Define DIE_OOPS avr32: Remove DMATEST from defconfigs arch/avr32: Eliminate NULL test and memset after alloc_bootmem avr32: data param to at32_add_device_mci() must be non-NULL atmel-mci: move atmel-mci.h file to include/linux avr32: Hammerhead board support avr32: Allow reserving multiple pins at once favr-32: Remove deprecated call MIMC200: Remove deprecated call avr: struct device - replace bus_id with dev_name(), dev_set_name() avr32: Introducing asm/syscalls.h commit 0d6326a100d7aec588d7c1da9ad77ca7cc7c5b71 Merge: 52fefce c8f554b Author: Linus Torvalds Date: Wed Jan 7 11:58:06 2009 -0800 Merge git://git.kernel.org/pub/scm/linux/kernel/git/steve/gfs2-2.6-fixes * git://git.kernel.org/pub/scm/linux/kernel/git/steve/gfs2-2.6-fixes: GFS2: Fix typo in gfs_page_mkwrite() GFS2: LSF and LBD are now one and the same GFS2: Set GFP_NOFS when allocating page on write commit 52fefcec97c25b15887e6a9a885ca54e7f7c0928 Merge: a0e280e 5fee325 Author: Linus Torvalds Date: Wed Jan 7 11:56:29 2009 -0800 Merge git://git.kernel.org/pub/scm/linux/kernel/git/czankel/xtensa-2.6 * git://git.kernel.org/pub/scm/linux/kernel/git/czankel/xtensa-2.6: xtensa: Update platform files to reflect new location of the header files. xtensa: switch to packed struct unaligned access implementation xtensa: Add xt2000 support files. xtensa: move headers files to arch/xtensa/include xtensa: use the new byteorder headers commit a0e280e0f33f6c859a235fb69a875ed8f3420388 Author: Heiko Carstens Date: Wed Jan 7 16:19:46 2009 +0100 stop_machine/cpu hotplug: fix disable_nonboot_cpus disable_nonboot_cpus calls _cpu_down. But _cpu_down requires that the caller already created the stop_machine workqueue (like cpu_down does). Otherwise a call to stop_machine will lead to accesses to random memory regions. When introducing this new interface (9ea09af3bd3090e8349ca2899ca2011bd94cda85 "stop_machine: introduce stop_machine_create/destroy") I missed the second call site of _cpu_down. So add the missing stop_machine_create/destroy calls to disable_nonboot_cpus as well. Fixes suspend-to-ram/disk and also this bug: [ 286.547348] BUG: unable to handle kernel paging request at 6b6b6b6b [ 286.548940] IP: [] __stop_machine+0x88/0xe3 [ 286.550598] Oops: 0002 [#1] SMP [ 286.560580] Pid: 3273, comm: halt Not tainted (2.6.28-06127-g238c6d5 [ 286.560580] EIP: is at __stop_machine+0x88/0xe3 [ 286.560580] Process halt (pid: 3273, ti=f1a28000 task=f4530f30 [ 286.560580] Call Trace: [ 286.560580] [] ? _cpu_down+0x10f/0x234 [ 286.560580] [] ? disable_nonboot_cpus+0x58/0xdc [ 286.560580] [] ? kernel_poweroff+0x22/0x39 [ 286.560580] [] ? sys_reboot+0xde/0x14c [ 286.560580] [] ? complete_signal+0x179/0x191 [ 286.560580] [] ? send_signal+0x1cc/0x1e1 [ 286.560580] [] ? _spin_unlock_irqrestore+0x2d/0x3c [ 286.560580] [] ? group_send_signal_info+0x58/0x61 [ 286.560580] [] ? kill_pid_info+0x30/0x3a [ 286.560580] [] ? sys_kill+0x75/0x13a [ 286.560580] [] ? mntput_no_expire+ox1f/0x101 [ 286.560580] [] ? dput+0x1e/0x105 [ 286.560580] [] ? __fput+0x150/0x158 [ 286.560580] [] ? audit_syscall_entry+0x137/0x159 [ 286.560580] [] ? sysenter_do_call+0x12/0x34 Reported-and-tested-by: "Justin P. Mattock" Reviewed-by: Pekka Enberg Signed-off-by: Heiko Carstens Tested-by: Ingo Molnar Signed-off-by: Linus Torvalds commit 30aafdba6f78619274a977d67283a681bedbcbbd Author: Alan Cox Date: Wed Jan 7 11:40:03 2009 +0000 touchscreen: Fix build of da9034 Missing an include and thus breaks the x86-64 build. Signed-off-by: Alan Cox Signed-off-by: Linus Torvalds commit 57c44c5f6fb0a8002feb258c1af58e1a744b1fcb Merge: 7605274 5a9e67b Author: Linus Torvalds Date: Wed Jan 7 11:31:52 2009 -0800 Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jikos/trivial * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jikos/trivial: (24 commits) trivial: chack -> check typo fix in main Makefile trivial: Add a space (and a comma) to a printk in 8250 driver trivial: Fix misspelling of "firmware" in docs for ncr53c8xx/sym53c8xx trivial: Fix misspelling of "firmware" in powerpc Makefile trivial: Fix misspelling of "firmware" in usb.c trivial: Fix misspelling of "firmware" in qla1280.c trivial: Fix misspelling of "firmware" in a100u2w.c trivial: Fix misspelling of "firmware" in megaraid.c trivial: Fix misspelling of "firmware" in ql4_mbx.c trivial: Fix misspelling of "firmware" in acpi_memhotplug.c trivial: Fix misspelling of "firmware" in ipw2100.c trivial: Fix misspelling of "firmware" in atmel.c trivial: Fix misspelled firmware in Kconfig trivial: fix an -> a typos in documentation and comments trivial: fix then -> than typos in comments and documentation trivial: update Jesper Juhl CREDITS entry with new email trivial: fix singal -> signal typo trivial: Fix incorrect use of "loose" in event.c trivial: printk: fix indentation of new_text_line declaration trivial: rtc-stk17ta8: fix sparse warning ... commit 76052749143d03006271cc0ce8205ad756917062 Author: Jiri Kosina Date: Wed Jan 7 13:25:36 2009 +0100 HID: fix hid->hiddev initialization in hiddev_connect() Commit 079034073fa ("HID: hiddev cleanup -- handle all error conditions properly") by mistake removed proper initialization of hid->hiddev pointer in hiddev_connect() in case usb_register_dev() succeeds for the hiddev node. Put it properly back in place. Reported-and-tested-by: Gabriel C Signed-off-by: Jiri Kosina Signed-off-by: Linus Torvalds commit 940fbf411e5fb42aee8ab7dd814b24080951dbfc Author: Detlef Riekenberg Date: Wed Jan 7 10:11:44 2009 +0100 linux/types.h: Don't depend on __GNUC__ for __le64/__be64 The typedefs for __u64 and __s64 where fixed to be available for other compiler on May 2 2008 by H. Peter Anvin (in commit edfa5cfa3dc5) Acked-by: H. Peter Anvin Signed-off-by: Detlef Riekenberg Signed-off-by: Linus Torvalds commit 7ddccb234ce1039f89387e0cec9c29dccf6e3476 Author: Stephen Rothwell Date: Wed Jan 7 11:24:36 2009 -0800 IB/ehca: spin_lock_irqsave() takes an unsigned long The flags argument to spin_lock_irqsave() should really be unsigned long. This will also help prevent some warnings when we change u64 to unsigned long long. Signed-off-by: Stephen Rothwell Signed-off-by: Roland Dreier commit f6dc1e5e3d4b523e1616b43beddb04e4fb1d376a Author: Rafael J. Wysocki Date: Wed Jan 7 13:12:22 2009 +0100 PCI PM: Put PM callbacks in the order of execution Put PM callbacks in drivers/pci/pci-driver.c in the order in which they are executed which makes it much easier to follow the code. No functional changes should result from this. Signed-off-by: Rafael J. Wysocki Acked-by: Pavel Machek Signed-off-by: Jesse Barnes commit d67e37d7933ba3b28a63ff38c957e433aaca5dc4 Author: Rafael J. Wysocki Date: Wed Jan 7 13:11:28 2009 +0100 PCI PM: Run default PM callbacks for all devices using new framework It should be quite clear that it generally makes sense to execute the default PM callbacks (ie. the callbacks used for handling suspend, hibernation and resume of PCI devices without drivers) for all devices. Of course, the drivers that provide legacy PCI PM support (ie. the ->suspend, ->suspend_late, ->resume_early or ->resume hooks in the pci_driver structure), carry out these operations too, so we can't do it for devices with such drivers. Still, we can make the default PM callbacks run for devices with drivers using the new framework (ie. implement the pm object), since there are no such drivers at the moment. This also simplifies the code and makes it smaller. Signed-off-by: Rafael J. Wysocki Acked-by: Pavel Machek Signed-off-by: Jesse Barnes commit 98e6e286d7b01deb7453b717aa38ebb69d6cefc0 Author: Rafael J. Wysocki Date: Wed Jan 7 13:10:35 2009 +0100 PCI PM: Register power state of devices during initialization Use the observation that the power state of a PCI device can be loaded into its pci_dev structure as soon as pci_pm_init() is run for it and make that happen. Signed-off-by: Rafael J. Wysocki Acked-by: Pavel Machek Signed-off-by: Jesse Barnes commit ad8cfa1defee14a5181d9b63e666318c51cfaeed Author: Rafael J. Wysocki Date: Wed Jan 7 13:09:37 2009 +0100 PCI PM: Call pci_fixup_device from legacy routines The size of drivers/pci/pci-driver.c can be reduced quite a bit if pci_fixup_device() is called from the legacy PM callbacks, so make it happen. No functional changes should result from this. Signed-off-by: Rafael J. Wysocki Acked-by: Pavel Machek Signed-off-by: Jesse Barnes commit bb8089454391ac5577215aec1f1991adcd4b4cbf Author: Rafael J. Wysocki Date: Wed Jan 7 14:15:17 2009 +0100 PCI PM: Rearrange code in pci-driver.c Rename two functions and rearrange code in drivers/pci/pci-driver.c so that it's easier to follow. In particular, separate invocations of the legacy callbacks from the rest of the new callbacks' code. Signed-off-by: Rafael J. Wysocki Signed-off-by: Jesse Barnes commit 734104292ff77dc71fe626b4ebd91b314547ca1b Author: Rafael J. Wysocki Date: Wed Jan 7 13:07:15 2009 +0100 PCI PM: Avoid touching devices behind bridges in unknown state It generally is better to avoid accessing devices behind bridges that may not be in the D0 power state, because in that case the bridges' secondary buses may not be accessible. For this reason, during the early phase of resume (ie. with interrupts disabled), before restoring the standard config registers of a device, check the power state of the bridge the device is behind and postpone the restoration of the device's config space, as well as any other operations that would involve accessing the device, if that state is not D0. In such cases the restoration of the device's config space will be retried during the "normal" phase of resume (ie. with interrupts enabled), so that the bridge can be put into D0 before that happens. Also, save standard configuration registers of PCI devices during the "normal" phase of suspend (ie. with interrupts enabled), so that the bridges the devices are behind can be put into low power states (we don't put bridges into low power states at the moment, but we may want to do it in the future and it seems reasonable to design for that). Signed-off-by: Rafael J. Wysocki Signed-off-by: Jesse Barnes commit 07e836e8d1f3688311d97fe1bf46980b0f9ae9c1 Author: Rafael J. Wysocki Date: Wed Jan 7 13:06:10 2009 +0100 PCI PM: Move pci_has_legacy_pm_support Move pci_has_legacy_pm_support() closer to the functions that call it. Signed-off-by: Rafael J. Wysocki Acked-by: Pavel Machek Signed-off-by: Jesse Barnes commit 571ff7584bb9e05fca0eb79752ae55a46faf3a98 Author: Rafael J. Wysocki Date: Wed Jan 7 13:05:05 2009 +0100 PCI PM: Power-manage devices without drivers during suspend-resume PCI devices without drivers can be put into low power states during suspend with the help of pci_prepare_to_sleep() and prevented from generating wake-up events during resume with the help of pci_enable_wake(). However, it's better not to put bridges into low power states during suspend, because that might result in entire bus segments being powered off. Signed-off-by: Rafael J. Wysocki Acked-by: Pavel Machek Signed-off-by: Jesse Barnes commit fa58d305d9925b01830e535896a7227a868a9e15 Author: Rafael J. Wysocki Date: Wed Jan 7 13:03:42 2009 +0100 PCI PM: Add suspend counterpart of pci_reenable_device PCI devices without drivers are not disabled during suspend and hibernation, but they are enabled during resume, with the help of pci_reenable_device(), so there is an unbalanced execution of pcibios_enable_device() in the resume code path. To correct this introduce function pci_disable_enabled_device() that will disable the argument device, if it is enabled when the function is being run, without updating the device's pci_dev structure and use it in the suspend code path to balance the pci_reenable_device() executed during resume. Signed-off-by: Rafael J. Wysocki Acked-by: Pavel Machek Signed-off-by: Jesse Barnes commit c9b9972b3c88272be02d971346285d1c67fbb95f Author: Rafael J. Wysocki Date: Wed Jan 7 13:02:36 2009 +0100 PCI PM: Fix poweroff and restore callbacks pci_fixup_device() is called too early in pci_pm_poweroff() and too late in pci_pm_restore(). Moreover, pci_pm_restore_noirq() calls pci_fixup_device() twice and in a wrong way. Fix that. Signed-off-by: Rafael J. Wysocki Acked-by: Pavel Machek Signed-off-by: Jesse Barnes commit 987a4c783a8bbf3baf554e6b8ff588b26e06e020 Author: Andrew Patterson Date: Mon Jan 5 16:21:04 2009 -0700 PCI: Use msleep instead of cpu_relax during ASPM link retraining The cpu_relax() function can be a noop on certain architectures like IA-64 when CPU threads are disabled, so use msleep instead during link retraining busy/wait loop. Introduce define LINK_RETRAIN_TIMEOUT instead of hard-coding timeout in pcie_aspm_configure_common_clock. Use time_after() to avoid jiffy wraparound when checking for expired timeout. After timeout expires, recheck link status register link training bit instead of checking for expired timeout to avoid possible false positive. Note that Matthew Wilcox came up with the first rough version of this patch. Reviewed-by: Matthew Wilcox Signed-off-by: Andrew Patterson Signed-off-by: Jesse Barnes commit d9347371c538544a7309d5b6475ec011d98d40e6 Author: Rafael J. Wysocki Date: Thu Jan 1 19:53:32 2009 +0100 PCI: PCIe portdrv: Add kerneldoc comments to remining core funtions Add kerneldoc comments to the reamining functions in drivers/pci/pcie/portdrv_core.c . Signed-off-by: Rafael J. Wysocki Signed-off-by: Jesse Barnes commit fa6c993736cb8cc18af86b8d17b608efa7882ab5 Author: Rafael J. Wysocki Date: Thu Jan 1 19:52:12 2009 +0100 PCI: PCIe portdrv: Rearrange code so that related things are together Rearrange code in drivers/pci/pcie/portdrv_bus.c and drivers/pci/pcie/portdrv_core.c so that related functions and data structures are closer together. Signed-off-by: Rafael J. Wysocki Signed-off-by: Jesse Barnes commit e7ae88486670f3904f187d0fff9dcf469bcdd8ba Author: Rafael J. Wysocki Date: Thu Jan 1 19:51:15 2009 +0100 PCI: PCIe portdrv: Fix suspend and resume of PCI Express port services There is a problem with the suspend and resume of PCI Express port service devices that the ->suspend() and ->resume() routines of each service device are called twice in each suspend-resume cycle, which is obviously wrong. The scenario is that first, the PCI Express port driver calls suspend and resume routines of each port service driver from its pcie_portdrv_suspend() and pcie_portdrv_resume() callbacks, respectively (which is correct), and second, the pcie_port_bus_type driver calls them from its ->suspend() and ->resume() callbacks (which is not correct, because it doesn't happen at the right time). The solution is to remove the ->suspend() and ->resume() callbacks from pcie_port_bus_type and the associated functions. Signed-off-by: Rafael J. Wysocki Signed-off-by: Jesse Barnes commit facf6d1627a33badbbc154524c4a2c73c51bdc99 Author: Rafael J. Wysocki Date: Thu Jan 1 19:48:55 2009 +0100 PCI: PCIe portdrv: Add kerneldoc comments to some core functions Add kerneldoc comments to some functions in drivers/pci/pcie/portdrv_core.c, since the code in there is not easy to follow without any additional description. Signed-off-by: Rafael J. Wysocki Signed-off-by: Jesse Barnes commit 16cf0ebc35dd63f72628ba1246132a6fd17bced2 Author: Rafael J. Wysocki Date: Mon Jan 5 14:50:27 2009 +0100 x86/PCI: Do not use interrupt links for devices using MSI-X pcibios_enable_device() and pcibios_disable_device() don't handle IRQs for devices that have MSI enabled and it should treat the devices with MSI-X enabled in the same way. Signed-off-by: Rafael J. Wysocki Acked-by: Ingo Molnar Signed-off-by: Jesse Barnes commit ef1bba28bfe68ef3c0488feeaabd3e8bc523130c Author: Ben Hutchings Date: Tue Dec 23 03:09:53 2008 +0000 net: sfc: Use pci_clear_master() to disable bus mastering pci_disable_device() disables many features, like MSI-X, which we never reenable in efx_reset(). Further, calls to pci_enable_device() and pci_disable_device() must be matched since the nesting count was introduced, so switch to using pci_clear_master() instead. Signed-off-by: Ben Hutchings Signed-off-by: Jesse Barnes commit 6a479079c07211bf348ac8a79754f26bea258f26 Author: Ben Hutchings Date: Tue Dec 23 03:08:29 2008 +0000 PCI: Add pci_clear_master() as opposite of pci_set_master() During an online device reset it may be useful to disable bus-mastering. pci_disable_device() does that, and far more besides, so is not suitable for an online reset. Add pci_clear_master() which does just this. Signed-off-by: Ben Hutchings Reviewed-by: Matthew Wilcox Signed-off-by: Jesse Barnes commit b8d9cb2a2226118fd71f657c80b06b670a653022 Author: Julia Lawall Date: Sun Dec 21 16:39:37 2008 +0100 PCI hotplug: remove redundant test in cpq hotplug func is checked not to be NULL a few lines before. A simplified version of the semantic patch that makes this change is as follows: (http://www.emn.fr/x-info/coccinelle/) // @r exists@ local idexpression x; expression E; position p1,p2; @@ if (x@p1 == NULL || ...) { ... when forall return ...; } ... when != \(x=E\|x--\|x++\|--x\|++x\|x-=E\|x+=E\|x|=E\|x&=E\|&x\) ( x@p2 == NULL | x@p2 != NULL ) // another path to the test that is not through p1? @s exists@ local idexpression r.x; position r.p1,r.p2; @@ ... when != x@p1 ( x@p2 == NULL | x@p2 != NULL ) @fix depends on !s@ position r.p1,r.p2; expression x,E; statement S1,S2; @@ ( - if ((x@p2 != NULL) || ...) S1 | - if ((x@p2 == NULL) && ...) S1 | - BUG_ON(x@p2 == NULL); ) // Signed-off-by: Julia Lawall Signed-off-by: Jesse Barnes commit 322162a71bd9fc4edb1b11236e7bc8aa27ccac22 Author: Kenji Kaneshige Date: Fri Dec 19 15:19:02 2008 +0900 PCI: pciehp: cleanup register and field definitions Clean up register definitions related to PCI Express Hot plug. - Add register definitions into include/linux/pci_regs.h, and use them instead of pciehp's locally definied register definitions. - Remove pciehp's locally defined register definitions - Remove unused register definitions in pciehp. - Some minor cleanups. Signed-off-by: Kenji Kaneshige Signed-off-by: Jesse Barnes commit 67f6533802fd2cc6f5b3c6355ef72bcf636d7fda Author: Kenji Kaneshige Date: Fri Dec 19 15:18:10 2008 +0900 PCI: pciehp: ignore undefined bit in link status register Bit 10 in Link Status register used to be defined as Training Error in the PCI Express 1.0a specification. But it was removed by Training Error ECN and is no longer defined. So pciehp must ignore the value read from it. Signed-off-by: Kenji Kaneshige Signed-off-by: Jesse Barnes commit 46bbdfa44cfc0d352148a0dc33ba9f6db02ccdf0 Author: Shaohua Li Date: Fri Dec 19 09:27:42 2008 +0800 PCI: keep ASPM link state consistent throughout PCIe hierarchy In a PCIe hierarchy with a switch present, if the link state of an endpoint device is changed, we must check the whole hierarchy from the endpoint device to root port, and for each link in the hierarchy, the new link state should be configured. Previously, the implementation checked the state but forgot to configure the links between root port to switch. Fixes Novell bz #448987. Signed-off-by: Shaohua Li Tested-by: Andrew Patterson Signed-off-by: Jesse Barnes commit 2b8c2efe44ed897fc958131d70addc89876d806b Author: Bjorn Helgaas Date: Thu Dec 18 16:34:51 2008 -0700 x86/PCI: use dev_printk for PCI bus locality messages Since pci_bus has a struct device, use dev_printk directly instead of faking it by hand. Signed-off-by: Bjorn Helgaas Signed-off-by: Jesse Barnes commit a19f5df7d9696b9e53ba7c865816597057d5f76e Author: Bjorn Helgaas Date: Thu Dec 18 16:34:19 2008 -0700 PCI: use dev_printk for PCI bus resource mssages Since pci_bus has a struct device, use dev_printk directly instead of faking it by hand. Signed-off-by: Bjorn Helgaas Signed-off-by: Jesse Barnes commit db5679437a2b938c9127480a3923633721583a4f Author: Stephen Hemminger Date: Thu Dec 18 09:17:16 2008 -0800 PCI: add interface to set visible size of VPD The VPD on all devices may not be 32K. Unfortunately, there is no generic way to find the size, so this adds a simple API hook to reset it. Signed-off-by: Stephen Hemminger Signed-off-by: Jesse Barnes commit 287d19ce2e67c15e79a187b3bdcbbea1a0a51a7d Author: Stephen Hemminger Date: Thu Dec 18 09:17:16 2008 -0800 PCI: revise VPD access interface Change PCI VPD API which was only used by sysfs to something usable in drivers. * move iteration over multiple words to the low level * use conventional types for arguments * add exportable wrapper Signed-off-by: Stephen Hemminger Signed-off-by: Jesse Barnes commit 1120f8b8169fb2cb51219d326892d963e762edb6 Author: Stephen Hemminger Date: Thu Dec 18 09:17:16 2008 -0800 PCI: handle long delays in VPD access Accessing the VPD area can take a long time. The existing VPD access code fails consistently on my hardware. There are comments in the SysKonnect vendor driver that it can take up to 13ms per word. Change the access routines to: * use a mutex rather than spinning with IRQ's disabled and lock held * have a much longer timeout * call cond_resched while spinning Signed-off-by: Stephen Hemminger Reviewed-by: Matthew Wilcox Signed-off-by: Jesse Barnes commit 904d6a303361a85bfa4c8181ef62a24edb8da0a8 Author: Bjorn Helgaas Date: Tue Dec 16 21:37:20 2008 -0700 PCI: x86/visws: use generic INTx swizzle from PCI core Use the generic pci_common_swizzle() instead of arch-specific code. Signed-off-by: Bjorn Helgaas Signed-off-by: Jesse Barnes commit e55823492dde22f841ec7deeb4d61f195ecb7ed4 Author: Bjorn Helgaas Date: Tue Dec 16 21:37:15 2008 -0700 PCI: sh: use generic INTx swizzle from PCI core Use the generic pci_common_swizzle() instead of arch-specific code. Note that pci_common_swizzle() loops based on dev->bus->self, not dev->bus->parent as the sh simple_swizzle() did. I think they are equivalent for this purpose. Signed-off-by: Bjorn Helgaas Signed-off-by: Jesse Barnes commit 67eed58060ca2049fd59d35f426b6c7dbd51b20b Author: Bjorn Helgaas Date: Tue Dec 16 21:37:10 2008 -0700 PCI: mips: use generic INTx swizzle from PCI core Use the generic pci_common_swizzle() instead of arch-specific code. Note that pci_common_swizzle() loops based on dev->bus->self, not dev->bus->parent as the mips common_swizzle() did. I think they are equivalent for this purpose. Signed-off-by: Bjorn Helgaas Signed-off-by: Jesse Barnes commit 06df69932add8108f599ef26fcdf36c4f8125e50 Author: Bjorn Helgaas Date: Tue Dec 16 21:37:05 2008 -0700 PCI: arm: use generic INTx swizzle from PCI core Use the generic pci_common_swizzle() instead of arch-specific code. Signed-off-by: Bjorn Helgaas Signed-off-by: Jesse Barnes commit 3e08601f7f9b497abcb383491058bfb9e1dc6ec9 Author: Bjorn Helgaas Date: Tue Dec 16 21:37:00 2008 -0700 PCI: alpha: use generic INTx swizzle from PCI core Use the generic pci_common_swizzle() instead of arch-specific code. Note that pci_common_swizzle() loops based on dev->bus->self, not dev->bus->parent as the alpha common_swizzle() did. I think they are equivalent for this purpose. Signed-off-by: Bjorn Helgaas Signed-off-by: Jesse Barnes commit 68feac87de15edfc2c700d2d81b814288c93d003 Author: Bjorn Helgaas Date: Tue Dec 16 21:36:55 2008 -0700 PCI: add pci_common_swizzle() for INTx swizzling This patch adds pci_common_swizzle(), which swizzles INTx values all the way up to a root bridge. This common implementation can replace several architecture-specific ones. This should someday be combined with pci_get_interrupt_pin(), but I left it separate for now to make reviewing easier. Signed-off-by: Bjorn Helgaas Signed-off-by: Jesse Barnes commit e8c331e963c58b83db24b7d0e39e8c07f687dbc6 Author: Kenji Kaneshige Date: Wed Dec 17 12:09:12 2008 +0900 PCI hotplug: introduce functions for ACPI slot detection Some ACPI related PCI hotplug code can be shared among PCI hotplug drivers. This patch introduces the following functions in drivers/pci/hotplug/acpi_pcihp.c to share the code, and changes acpiphp and pciehp to use them. - int acpi_pci_detect_ejectable(struct pci_bus *pbus) This checks if the specified PCI bus has ejectable slots. - int acpi_pci_check_ejectable(struct pci_bus *pbus, acpi_handle handle) This checks if the specified handle is ejectable ACPI PCI slot. The 'pbus' parameter is needed to check if 'handle' is PCI related ACPI object. This patch also introduces the following inline function in include/linux/pci-acpi.h, which is useful to get ACPI handle of the PCI bridge from struct pci_bus of the bridge's secondary bus. - static inline acpi_handle acpi_pci_get_bridge_handle(struct pci_bus *pbus) This returns ACPI handle of the PCI bridge which generates PCI bus specified by 'pbus'. Signed-off-by: Kenji Kaneshige Signed-off-by: Jesse Barnes commit e046cbd6c05ee859244245d7beeac395cd0057b3 Author: Kenji Kaneshige Date: Wed Dec 17 12:08:15 2008 +0900 PCI: pciehp: add auto option to pciehp_detect_mode ACPI based hot-pluggable PCIe slot detection logic was added to prevent the problem non hot-pluggable PCIe slot was detected as hot-pluggable. The slot detection logic can be selected through 'pciehp_detect_mode', but it would be better if it is selected automatically. This patch adds 'auto' option for 'pciehp_detect_mode'. When it is specified, pciehp judges which 'acpi' or 'pcie' should be used. It seems that the physical slot number is duplicated among some slots on most of the platforms with the above-mentioned problem. So 'auto' mode uses this information to judge which 'acpi' or 'pcie' should be used. That is, if duplicated physical slot numbers are detected, 'acpi' mode is used. This method is not perfect, but it's realistic. Signed-off-by: Kenji Kaneshige Signed-off-by: Jesse Barnes commit c9ffa5a586a97da4d552f89b8f39eea79a63a612 Author: Kenji Kaneshige Date: Wed Dec 17 12:07:38 2008 +0900 PCI: pciehp: add ACPI based slot detection There is a problem that some non hot-pluggable PCIe slots are detected as hot-pluggable by pciehp on some platforms. The immediate cause of this problem is that hot-plug capable bit in the Slot Capabilities register is set even for non hot-pluggable slots on those platforms. It seems a BIOS/hardware problem, but we need workaround about that. Some of those platforms define hot-pluggable PCIe slots on ACPI namespace properly, while hot-plug capable bit in the Slot Capabilities register is set improperly. So using ACPI namespace information in pciehp to detect PCIe hot-pluggable slots would be a workaround. This patch adds 'pciehp_detect_mode' module option. When 'acpi' is specified, pciehp uses ACPI namespace information to detect PCIe hot-pluggable slots. Signed-off-by: Kenji Kaneshige Signed-off-by: Jesse Barnes commit 873392ca514f87eae39f53b6944caf85b1a047cb Author: Rusty Russell Date: Wed Dec 31 23:54:56 2008 +1030 PCI: work_on_cpu: use in drivers/pci/pci-driver.c This uses work_on_cpu(), rather than altering the cpumask of the thread which we happen to be. Note the cleanups: 1) I've removed the CONFIG_NUMA test, since dev_to_node() returns -1 for !CONFIG_NUMA anyway and the compiler will eliminate it. 2) No need to reset mempolicy to default (a bad idea anyway) since work_on_cpu is run from a workqueue. Signed-off-by: Rusty Russell Signed-off-by: Jesse Barnes commit a79d682f789730dfabaebbb507c87a90c0671a62 Author: Rafael J. Wysocki Date: Sat Dec 27 16:28:58 2008 +0100 PCI PM: Split PCI Express port suspend-resume Suspend-resume of PCI Express ports has recently been moved into _suspend_late() and _resume_early() callbacks, but some functions executed from there should not be called with interrupts disabled, eg. pci_enable_device(). For this reason, split the suspend-resume of PCI Express ports into parts to be executed with interrupts disabled and with interrupts enabled. Signed-off-by: Rafael J. Wysocki Signed-off-by: Jesse Barnes commit f06fc0b6f8a6846e0ad48aee7b0f282b4fb5dcdc Author: Rafael J. Wysocki Date: Sat Dec 27 16:30:52 2008 +0100 PCI PM: Fix pci_update_current_state Currently, PCI devices without the PM capability that are power manageable by the platform (eg. ACPI) are not handled correctly by pci_set_power_state(), because their current_state field is not updated to reflect the new power state of the device. Fix this by making pci_update_current_state() accept additional argument representing the power state of the device as set by the platform. Signed-off-by: Rafael J. Wysocki Signed-off-by: Jesse Barnes commit eb9c39d031bbcfd4005bd7e0337c3fd3909c1bf7 Author: Jesse Barnes Date: Wed Dec 17 12:10:05 2008 -0800 PCI: set device wakeup capable flag if platform support is present When PCI devices are initialized, we check whether they support PCI PM caps and set the device can_wakeup flag if so. However, some devices may have platform provided wakeup events rather than PCI PME signals, so we need to set can_wakeup in that case too. Doing so should allow wakeups from many more devices, especially on cost constrained systems. Reported-by: Alan Stern Tested-by: Joseph Chan Acked-by: "Rafael J. Wysocki" Signed-off-by: Jesse Barnes commit 876e501ab25dcd683574a5d3d56d8fe450083ed6 Author: Yu Zhao Date: Sat Nov 22 02:42:35 2008 +0800 PCI: factor pci_bus_add_child() from pci_bus_add_devices() This patch splits a new function, pci_bus_add_child(), from pci_bus_add_devices(). The new function can be used to register PCI buses to the device core. Signed-off-by: Yu Zhao Signed-off-by: Jesse Barnes commit 3fa16fdb48e0d83c2acf46e357548c89891df58b Author: Yu Zhao Date: Sat Nov 22 02:41:45 2008 +0800 PCI: cleanup pci_bus_add_devices() Cleanup pci_bus_add_devices() by negating the conditional and continuing, rather than having a single conditional take up the whole body. Signed-off-by: Yu Zhao Signed-off-by: Jesse Barnes commit 613e7ed6f72b1a115f7ece8ce1b66cf095de1348 Author: Yu Zhao Date: Sat Nov 22 02:41:27 2008 +0800 PCI: add a new function to map BAR offsets Add a function to map a given resource number to a corresponding register so drivers can get the offset and type of device specific BARs. Signed-off-by: Yu Zhao Signed-off-by: Jesse Barnes commit 3789fa8a2e534523c896a32a9f27f78d52ad7d82 Author: Yu Zhao Date: Sat Nov 22 02:41:07 2008 +0800 PCI: allow pci_alloc_child_bus() to handle a NULL bridge Allow pci_alloc_child_bus() to allocate buses without bridge devices. Some SR-IOV devices can occupy more than one bus number, but there is no explicit bridges because that have internal routing mechanism. Signed-off-by: Yu Zhao Signed-off-by: Jesse Barnes commit 0b400c7ed4d027e02f6231afa39852a2d48e6f25 Author: Yu Zhao Date: Sat Nov 22 02:40:40 2008 +0800 PCI: export __pci_read_base() Export __pci_read_base() so it can be used by whole PCI subsystem. Signed-off-by: Yu Zhao Signed-off-by: Jesse Barnes commit bc5f5a8277cb353161454b6704b3186ebcf3a2a3 Author: Yu Zhao Date: Sat Nov 22 02:40:00 2008 +0800 PCI: remove unnecessary condition check in pci_restore_bars() Remove the unnecessary number of resources condition checks because the pci_update_resource() will check availability of the resources. Signed-off-by: Yu Zhao Signed-off-by: Jesse Barnes commit fde09c6d8f92de0c9f75698a75f0989f2234c517 Author: Yu Zhao Date: Sat Nov 22 02:39:32 2008 +0800 PCI: define PCI resource names in an 'enum' This patch moves all definitions of the PCI resource names to an 'enum', and also replaces some hard-coded resource variables with symbol names. This change eases introduction of device specific resources. Reviewed-by: Bjorn Helgaas Signed-off-by: Yu Zhao Signed-off-by: Jesse Barnes commit 14add80b5120966fe0659d61815b9e9b4b68fdc5 Author: Yu Zhao Date: Sat Nov 22 02:38:52 2008 +0800 PCI: remove unnecessary arg of pci_update_resource() This cleanup removes unnecessary argument 'struct resource *res' in pci_update_resource(), so it takes same arguments as other companion functions (pci_assign_resource(), etc.). Signed-off-by: Yu Zhao Signed-off-by: Jesse Barnes commit 6a49d8120021897e139641062236215aac5d220e Author: Yu Zhao Date: Sat Nov 22 02:38:21 2008 +0800 PCI: enhance pci_ari_enabled() Change parameter of pci_ari_enabled() from 'pci_dev' to 'pci_bus'. ARI forwarding on the bridge mostly concerns the subordinate devices rather than the bridge itself. So this change will make the function easier to use. Signed-off-by: Yu Zhao Signed-off-by: Jesse Barnes commit 999da9fd489cd9774a89122940190376e19b21ce Author: Adam Jackson Date: Mon Dec 1 14:30:29 2008 -0800 PCI quirks: piix3: warn softer about enabling passive release All the other quirks are dev_info() not dev_err(), this one isn't special. This makes 'quiet' boot in qemu really quiet. Signed-off-by: Adam Jackson Cc: Bartlomiej Zolnierkiewicz Cc: Jeff Garzik Cc: Tejun Heo Signed-off-by: Andrew Morton Signed-off-by: Jesse Barnes commit 92425a405ea482209b43093a5e35be7de02acf18 Author: Trent Piepho Date: Sun Nov 30 17:10:12 2008 -0800 PCI: Make settable sysfs attributes more consistent PCI devices have three settable boolean attributes, enable, broken_parity_status, and msi_bus. The store functions for these would silently interpret "0x01" as false, "1llogical" as true, and "true" would be (silently!) ignored and do nothing. This is inconsistent with typical sysfs handling of settable attributes, and just plain doesn't make much sense. So, use strict_strtoul(), which was created for this purpose. The store functions will treat a value of 0 as false, non-zero as true, and return -EINVAL for a parse failure. Additionally, is_enabled_store() and msi_bus_store() return -EPERM if CAP_SYS_ADMIN is lacking, rather than silently doing nothing. This is more typical behavior for sysfs attributes that need a capability. And msi_bus_store() will only print the "forced subordinate bus ..." warning if the MSI flag was actually forced to a different value. Signed-off-by: Trent Piepho Signed-off-by: Jesse Barnes commit 1684f5ddd4c0c754f52c78eaa2c5c69ad09fb18c Author: Andrew Morton Date: Mon Dec 1 14:30:30 2008 -0800 PCI: uninline pci_ioremap_bar() It's too large to be inlined. Acked-by: Arjan van de Ven Signed-off-by: Andrew Morton Signed-off-by: Jesse Barnes commit bebd590ca27e80ffe3129ab4f0a3124f0a340f43 Author: Alan Stern Date: Tue Dec 16 14:06:58 2008 -0500 PCI: fix incorrect error return in pci_enable_wake This patch (as1186) fixes a minor mistake in pci_enable_wake(). When the routine is asked to disable remote wakeup, it should not return an error merely because the device is not allowed to do wakeups! Signed-off-by: Alan Stern Acked-by: Rafael J. Wysocki Signed-off-by: Jesse Barnes commit f0e88af855cbc5012f2e796f42686969b82d79d4 Author: Bjorn Helgaas Date: Tue Dec 9 16:12:22 2008 -0700 PCI: parisc: use generic pci_swizzle_interrupt_pin() Use the generic pci_swizzle_interrupt_pin() instead of arch-specific code. Acked-by: Kyle McMartin Signed-off-by: Bjorn Helgaas Signed-off-by: Jesse Barnes commit 30d546dac9420fc238109aec2c6596e044cc6d4c Author: Bjorn Helgaas Date: Tue Dec 9 16:12:17 2008 -0700 PCI: mips: use generic pci_swizzle_interrupt_pin() Use the generic pci_swizzle_interrupt_pin() instead of arch-specific code. Acked-by: Ralf Baechle Signed-off-by: Bjorn Helgaas Signed-off-by: Jesse Barnes commit b1c86792a0f3cf24a12c1ac7d452d665d90284b1 Author: Bjorn Helgaas Date: Tue Dec 9 16:12:37 2008 -0700 PCI: x86: use generic pci_swizzle_interrupt_pin() Use the generic pci_swizzle_interrupt_pin() instead of arch-specific code. Cc: Thomas Gleixner Cc: Ingo Molnar Cc: hpa@zytor.com Signed-off-by: Bjorn Helgaas Signed-off-by: Jesse Barnes commit 1be9baa09340bbe3329aab3bd0d41076f59c8f22 Author: Bjorn Helgaas Date: Tue Dec 9 16:12:07 2008 -0700 PCI: alpha: use generic pci_swizzle_interrupt_pin() Use the generic pci_swizzle_interrupt_pin() instead of arch-specific code. Cc: Ivan Kokshaysky Signed-off-by: Bjorn Helgaas Signed-off-by: Jesse Barnes commit 3f9455d488ca97f68a1c99c7473c26030261b713 Author: Bjorn Helgaas Date: Tue Dec 9 16:12:27 2008 -0700 PCI: powerpc: use generic pci_swizzle_interrupt_pin() Use the generic pci_swizzle_interrupt_pin() instead of arch-specific code. Acked-by: Benjamin Herrenschmidt Signed-off-by: Bjorn Helgaas Signed-off-by: Jesse Barnes commit 6aa6e4981741013e4a8c7c3ee7b90c24e89fae24 Author: Bjorn Helgaas Date: Tue Dec 9 16:12:32 2008 -0700 PCI: sh: use generic pci_swizzle_interrupt_pin() Use the generic pci_swizzle_interrupt_pin() instead of arch-specific code. Acked-by: Paul Mundt Signed-off-by: Bjorn Helgaas Signed-off-by: Jesse Barnes commit f14d766a1a438fdc69d04b876965d6b26b071f14 Author: Bjorn Helgaas Date: Tue Dec 9 16:12:12 2008 -0700 PCI: arm: use generic pci_swizzle_interrupt_pin() Use the generic pci_swizzle_interrupt_pin() instead of arch-specific code. Cc: Russell King Signed-off-by: Bjorn Helgaas Signed-off-by: Jesse Barnes commit 57c2cf71c12318b72ebaa5720d210476b6bac4d4 Author: Bjorn Helgaas Date: Thu Dec 11 11:24:23 2008 -0700 PCI: add pci_swizzle_interrupt_pin() This patch adds pci_swizzle_interrupt_pin(), which implements the INTx swizzling algorithm specified in Table 9-1 of the "PCI-to-PCI Bridge Architecture Specification," revision 1.2. There are many architecture-specific implementations of this swizzle that can be replaced by this common one. Reviewed-by: David Howells Signed-off-by: Bjorn Helgaas Signed-off-by: Jesse Barnes commit 12b955ff63db0b75cfc2d4939696c57b31891ec6 Author: Bjorn Helgaas Date: Tue Dec 9 16:11:57 2008 -0700 x86/PCI: minor logic simplications Test "pin" immediately to simplify the subsequent code. Cc: Thomas Gleixner Cc: Ingo Molnar Cc: hpa@zytor.com Signed-off-by: Bjorn Helgaas Signed-off-by: Jesse Barnes commit f672c392b9c61bcdfb1247561d404b2c3ed4b0b3 Author: Bjorn Helgaas Date: Tue Dec 9 16:11:51 2008 -0700 x86/PCI: use config space encoding for interrupt pins Keep "pin" encoded as it is in the "Interrupt Pin" value in PCI config space, i.e., 0=device doesn't use interrupts, 1=INTA, ..., 4=INTD. This makes the bridge INTx swizzle match other architectures. Cc: Thomas Gleixner Cc: Ingo Molnar Cc: hpa@zytor.com Signed-off-by: Bjorn Helgaas Signed-off-by: Jesse Barnes commit 878f2e50fd1cfea575cdca5bf019c2175dc64131 Author: Bjorn Helgaas Date: Tue Dec 9 16:11:46 2008 -0700 PCI: use config space encoding in pci_get_interrupt_pin() This patch makes pci_get_interrupt_pin() return values encoded the same way as the "Interrupt Pin" value in PCI config space, i.e., 1=INTA, ..., 4=INTD. pirq_bios_set() is the only in-tree caller of pci_get_interrupt_pin() and pci_get_interrupt_pin() is not exported. Cc: Thomas Gleixner Cc: Ingo Molnar Cc: hpa@zytor.com Signed-off-by: Bjorn Helgaas Signed-off-by: Jesse Barnes commit 98d3333a13029ab07ca1d1bfb9bfa138ea76c3c0 Author: Bjorn Helgaas Date: Tue Dec 9 16:11:41 2008 -0700 PCI hotplug: cpqphp: use config space PCI interrupt pin encoding This patch changes cpqphp to use interrupt pin values just as they come from PCI config space, i.e., 1=INTA, ..., 4=INTD. pcibios_set_irq_routing() takes pin arguments in the range 0=INTA, ..., 3=INTD, so we'll adjust the pin just before calling it. Signed-off-by: Bjorn Helgaas Acked-by: Alex Chiang Signed-off-by: Jesse Barnes commit 23a36002742bca87510201770a7d931c4aa63e97 Author: Jacob Pan Date: Mon Dec 8 09:44:16 2008 -0800 PCI: avoid early PCI mmconfig init if pci=noearly is given in cmdline Early type 1 accesses can cause problems on some platforms, and pci=noearly is supposed to prevent them from occurring. However, early mcfg probing code uses type 1 and isn't protected by a check for noearly. This patch fixes that problem. Signed-off-by: Jacob Pan Signed-off-by: Jesse Barnes commit 0e331bf1c44401a5b6d7b778dd1f254724132dff Author: Bjorn Helgaas Date: Wed Dec 10 13:00:21 2008 -0700 PCI: pcie port driver: remove extra printks These printks don't contain enough information to be useful. I think it would be more useful to have a message when a service driver binds to a root port. That could contain the service type, the interrupt mode and IRQ, etc. Signed-off-by: Bjorn Helgaas Signed-off-by: Jesse Barnes commit 0663a36284586ac9a9781be8aa7e8ca9fff16d06 Author: Bjorn Helgaas Date: Wed Dec 10 13:12:00 2008 -0700 x86/PCI: make PCI bus locality messages more meaningful Change PCI bus locality messages so they have a bit more context and look like the rest of PCI, e.g., - bus 01 -> node 0 - bus 04 -> node 0 + pci 0000:01: bus on NUMA node 0 + pci 0000:04: bus on NUMA node 0 Signed-off-by: Bjorn Helgaas Signed-off-by: Jesse Barnes commit 29935282f24a6ce2f0a65c3d77fb7f695461f583 Author: Bjorn Helgaas Date: Wed Dec 10 13:02:18 2008 -0700 PCI: make PCI bus resource messages more meaningful Change PCI bus resource messages so they have a bit more context and look like the rest of PCI, e.g., - bus: 00 index 0 io port: [0x00-0xffff] - bus: 00 index 1 mmio: [0x000000-0xffffffff] + pci 0000:00: bus resource 0 io : [0x00-0xffff] + pci 0000:00: bus resource 1 mem: [0x000000-0xffffffff] This also changes them from KERN_INFO to KERN_DEBUG. Signed-off-by: Bjorn Helgaas Signed-off-by: Jesse Barnes commit 2a9d35219c593bdf46ec21f2b75a6370af7af1b0 Author: Alex Chiang Date: Thu Dec 11 11:17:55 2008 -0700 PCI hotplug: acpiphp whitespace cleanup Clean up whitespace. Setting 'let c_space_errors=1' in .vimrc shows all sorts of ugliness. ;) Signed-off-by: Alex Chiang Signed-off-by: Jesse Barnes commit 104bafcfab7ce3031399e60069949f10acecc022 Author: Ingo Molnar Date: Fri Dec 12 06:49:40 2008 +0100 PCI: Don't carp about BAR allocation failures in quiet boot These are easy to trigger (more or less harmlessly) with multiple video cards, since the ROM BAR will typically not be given any space by the BIOS bridge setup. No reason to punish quiet boot for this. Signed-off-by: Adam Jackson Signed-off-by: Jesse Barnes commit a367f74cb6f9c49850a4ee86e45fd3a8e83065e4 Author: Hidetoshi Seto Date: Fri Dec 5 14:05:23 2008 +0900 PCI hotplug: aerdrv: fix a typo in error message "TLP" is an acronym for "Transaction Layer Packet." Signed-off-by: Hidetoshi Seto Signed-off-by: Jesse Barnes commit 63f4898ace2788a89ed685672aab092e1c3e50e6 Author: Rafael J. Wysocki Date: Sun Dec 7 22:02:58 2008 +0100 PCI: handle PCI state saving with interrupts disabled Since interrupts will soon be disabled at PCI resume time, we need to pre-allocate memory to save/restore PCI config space (or use GFP_ATOMIC, but this is safer). Reported-by: Linus Torvalds Signed-off-by: "Rafael J. Wysocki" Signed-off-by: Jesse Barnes commit 894886e5d3de0bde2eded8a39bf7e76023fbd791 Author: Linus Torvalds Date: Sat Dec 6 10:10:10 2008 -0800 PCI: extend on the ICH motherboard IO decode quirk list This adds more LPC controller IO range decode quirks for the Intel ICH family of chipsets. They differ a bit between the older ICH6 chipset and the more modern layout of the ICH7-ICH10 chipsets. This patch just prints out the IO decode information found by the quirks, but eventually we may want to add them to the resource tree, in order to know to avoid allocating things over them. That's especially true if it turns out that any firmware ends up putting the magic motherboard resources in an address range that we use for dynamic allocations (ie above PCIBIOS_MIN_IO, which is 0x1000 on x86). Signed-off-by: Linus Torvalds Cc: Rafael J. Wysocki Cc: Ivan Kokshaysky Cc: Greg KH Cc: Frans Pop Signed-off-by: Jesse Barnes commit 90d25f246ddefbb743764f8d45ae97e545a6ee86 Author: Rafael J. Wysocki Date: Sat Dec 6 15:07:59 2008 +0100 PCI: Suspend and resume PCI Express ports with interrupts disabled I don't see why the suspend and resume of PCI Express ports should be handled with interrupts enabled and it may even lead to problems in some situations. For this reason, move the suspending and resuming of PCI Express ports into ->suspend_late() and ->resume_early() callbacks executed with interrupts disabled. This patch addresses the regression from 2.6.26 tracked as http://bugzilla.kernel.org/show_bug.cgi?id=12121 . Acked-by: Linus Torvalds Signed-off-by: Rafael J. Wysocki Signed-off-by: Jesse Barnes commit c70e0d9dfef3d826c8ae4f7544acc53887cb161d Author: Chris Wright Date: Tue Nov 25 21:17:13 2008 -0800 PCI: pci-stub module to reserve pci device When doing device assignment with KVM there's currently nothing to protect the device from having a driver in the host as well as the guest. This trivial module just binds the pci device on the host to a stub driver so that a real host driver can't bind to the device. It has no pci id table, it supports only dynamic ids. # echo "8086 10f5" > /sys/bus/pci/drivers/pci-stub/new_id # echo -n 0000:00:19.0 > /sys/bus/pci/drivers/e1000e/unbind # echo -n 0000:00:19.0 > /sys/bus/pci/drivers/pci-stub/bind # ls -l /sys/bus/pci/devices/0000:00:19.0/driver lrwxrwxrwx 1 root root 0 2008-11-25 19:10 /sys/bus/pci/devices/0000:00:19.0/driver -> ../../../bus/pci/drivers/pci-stub Cc: "Kay, Allen M" Cc: "Nakajima, Jun" Signed-off-by: Chris Wright Acked-by: Greg Kroah-Hartman Signed-off-by: Jesse Barnes commit 2debb4d2019fa05a0896f1591dea0e0dc21bc046 Author: Chris Wright Date: Tue Nov 25 19:36:10 2008 -0800 PCI: allow pci driver to support only dynids commit b41d6cf38e27 (PCI: Check dynids driver_data value for validity) requires all drivers to include an id table to try and match driver_data. Before validating driver_data check driver has an id table. Acked-by: Jean Delvare Cc: Milton Miller Signed-off-by: Chris Wright Signed-off-by: Jesse Barnes commit 56ee325e25a0f76fc3267872867b3d70af179aad Author: Matthew Garrett Date: Tue Nov 25 21:48:14 2008 +0000 PCI/ACPI: acpiphp: Identify more removable slots According to section 6.3.6 of the ACPI spec, the presence of an _RMV method that evaluates to 1 is sufficient to indicate that a slot is removable without needing an eject method. This patch refactors the ejectable slot detection code a little in order to flag these slots as ejectable and register them. Acpihp then binds to the expresscard slot on my HP test machine. Acked-by: Kristen Carlson Accardi Signed-off-by: Matthew Garrett Signed-off-by: Jesse Barnes commit 86d8698027fd30cc067d2aeeb1e3603d43c83df0 Author: Taku Izumi Date: Thu Nov 20 15:22:39 2008 +0900 pci-acpi: Cleanup _OSC evaluation code Cleanup _OSC evaluation code. Some whitespace changes and a few other minor cleanups. Reviewed-by: Andrew Patterson Tested-by: Andrew Patterson Signed-off-by: Kenji Kaneshige Signed-off-by: Taku Izumi Signed-off-by: Jesse Barnes commit e0fa3b43df0b57967857b2c83bad9a5193fbddf5 Author: Taku Izumi Date: Thu Nov 20 15:22:37 2008 +0900 PCI/ACPI: Remove unnecessary _OSC evaluation for control request If a control had already been granted, we don't need to re-evaluate _OSC for it because firmware may not reject control of any feature it has previously granted control to. Reviewed-by: Andrew Patterson Tested-by: Andrew Patterson Signed-off-by: Kenji Kaneshige Signed-off-by: Taku Izumi Signed-off-by: Jesse Barnes commit 753e3aca735dc446f66d501b625122661738b57d Author: Taku Izumi Date: Thu Nov 20 15:22:32 2008 +0900 PCI: revert additional _OSC evaluation Reverts adf411b819adc9fa96e9b3e638c7480d5e71d270. The commit adf411b819adc9fa96e9b3e638c7480d5e71d270 was based on the improper assumption that queried result was not updated when _OSC support field was changed. But, in fact, queried result is updated whenever _OSC support field was changed through __acpi_query_osc(). As a result, the commit adf411b819adc9fa96e9b3e638c7480d5e71d270 only introduced unnecessary additional _OSC evaluation... Tested-by: Andrew Patterson Reviewed-by: Andrew Patterson Signed-off-by: Kenji Kaneshige Signed-off-by: Taku Izumi Signed-off-by: Jesse Barnes commit 4ba7d0f0eb68cf7731ead4ca20e540d0266cfa8e Author: Julia Lawall Date: Sun Nov 23 09:08:28 2008 +0100 drivers/pci/hotplug: Add missing pci_dev_get pci_get_slot does a pci_dev_get, so pci_dev_put needs to be called in an error case. An alterative would be to move the test_and_set_bit before the call to pci_get_slot. The problem was fixed using the following semantic patch. (http://www.emn.fr/x-info/coccinelle/) // @@ local idexpression *n; statement S1,S2; expression E,E1; expression *ptr != NULL; type T,T1; @@ ( if (!(n = pci_get_slot(...))) S1 | n = pci_get_slot(...) ) <... when != pci_dev_put(n) when != if (...) { <+... pci_dev_put(n) ...+> } when != true !n || ... when != n = (T)E when != E = n if (!n || ...) S2 ...> ( return \(0\|<+...n...+>\|ptr\); | + pci_dev_put(n); return ...; | pci_dev_put(n); | n = (T1)E1 | E1 = n ) // Signed-off-by: Julia Lawall Signed-off-by: Jesse Barnes commit e8de1481fd7126ee9e93d6889da6f00c05e1e019 Author: Arjan van de Ven Date: Wed Oct 22 19:55:31 2008 -0700 resource: allow MMIO exclusivity for device drivers Device drivers that use pci_request_regions() (and similar APIs) have a reasonable expectation that they are the only ones accessing their device. As part of the e1000e hunt, we were afraid that some userland (X or some bootsplash stuff) was mapping the MMIO region that the driver thought it had exclusively via /dev/mem or via various sysfs resource mappings. This patch adds the option for device drivers to cause their reserved regions to the "banned from /dev/mem use" list, so now both kernel memory and device-exclusive MMIO regions are banned. NOTE: This is only active when CONFIG_STRICT_DEVMEM is set. In addition to the config option, a kernel parameter iomem=relaxed is provided for the cases where developers want to diagnose, in the field, drivers issues from userspace. Reviewed-by: Matthew Wilcox Signed-off-by: Arjan van de Ven Signed-off-by: Jesse Barnes commit 23616941914917cf25b94789856b5326b68d8ee8 Author: Andrew Patterson Date: Mon Nov 10 15:31:10 2008 -0700 ACPI/PCI: remove obsolete _OSC capability support functions The acpi_query_osc, __pci_osc_support_set, pci_osc_support_set, and pcie_osc_support_set functions have been obsoleted in favor of setting these capabilities during root bridge discovery with pci_acpi_osc_support. There are no longer any callers of these functions, so remove them. Signed-off-by: Andrew Patterson Signed-off-by: Jesse Barnes commit 07ae95f988a34465bdcb384bfa73c03424fe2312 Author: Andrew Patterson Date: Mon Nov 10 15:31:05 2008 -0700 ACPI/PCI: PCI MSI _OSC support capabilities called when root bridge added The _OSC capability OSC_MSI_SUPPORT is set when the root bridge is added with pci_acpi_osc_support(), so we no longer need to do it in the PCI MSI driver. Also adds the function pci_msi_enabled, which returns true if pci=nomsi is not on the kernel command-line. Signed-off-by: Andrew Patterson Signed-off-by: Jesse Barnes commit eb9188bdb9d65aeead2382ec3dd656a17ec8936d Author: Andrew Patterson Date: Mon Nov 10 15:31:00 2008 -0700 ACPI/PCI: PCIe AER _OSC support capabilities called when root bridge added The _OSC capability OSC_EXT_PCI_CONFIG_SUPPORT is set when the root bridge is added with pci_acpi_osc_support(), so we no longer need to do it in the PCIe AER driver. Signed-off-by: Andrew Patterson Signed-off-by: Jesse Barnes commit 3e1b16002af29758b6bc9c38939d43838d9335bc Author: Andrew Patterson Date: Mon Nov 10 15:30:55 2008 -0700 ACPI/PCI: PCIe ASPM _OSC support capabilities called when root bridge added The _OSC capabilities OSC_ACTIVE_STATE_PWR_SUPPORT and OSC_CLOCK_PWR_CAPABILITY_SUPPORT are set when the root bridge is added with pci_acpi_osc_support(), so we no longer need to do it in the ASPM driver. Also add the function pcie_aspm_enabled, which returns true if pcie_aspm=off is not on the kernel command-line. Signed-off-by: Andrew Patterson Signed-off-by: Jesse Barnes commit 0ef5f8f6159e44b4faa997be08d1a3bcbf44ad08 Author: Andrew Patterson Date: Mon Nov 10 15:30:50 2008 -0700 ACPI/PCI: PCI extended config _OSC support called when root bridge added The _OSC capability OSC_EXT_PCI_CONFIG_SUPPORT is set when the root bridge is added with pci_acpi_osc_support() if we can access PCI extended config space. This adds the function pci_ext_cfg_avail which returns true if we can access PCI extended config space (offset greater than 0xff). It currently only returns false if arch=x86 and raw_pci_ext_ops is not set (which might happen if pci=nommcfg is set on the kernel command-line). Signed-off-by: Andrew Patterson Signed-off-by: Jesse Barnes commit 990a7ac5645883a833a11b900bb6f25b65dea65b Author: Andrew Patterson Date: Mon Nov 10 15:30:45 2008 -0700 ACPI/PCI: call _OSC support during root bridge discovery Add pci_acpi_osc_support() and call it when a PCI bridge is added. This allows us to avoid having every individual PCI root bridge driver call _OSC support for every root bridge in their probe functions, a significant savings in boot time. Signed-off-by: Matthew Wilcox Signed-off-by: Jesse Barnes commit 8b62091e20215730be1b94b7cd135a78a3e692ca Author: Andrew Patterson Date: Mon Nov 10 15:30:40 2008 -0700 ACPI/PCI: include missing acpi.h file in pci-acpi.h. The pci-acpi.h file will not compile without including linux/acpi.h. Signed-off-by: Matthew Wilcox Signed-off-by: Jesse Barnes commit d3a54014e2a94bd37b7dee5e76e03f7bc4fab49a Author: Benjamin Herrenschmidt Date: Wed Nov 12 14:38:53 2008 +1100 PCI: Add legacy_io/mem to all busses Currently, only PHBs get the legacy_* files, which makes it tricky for userland to get access to the legacy space. This commit exposes them in every bus, since even child buses may forward legacy cycles if configured properly. Signed-off-by: Benjamin Herrenschmidt Signed-off-by: Jesse Barnes commit 1ca887970a3971a22e4875b7c6ad5ae3ce49f61a Author: Sheng Yang Date: Tue Nov 11 17:17:48 2008 +0800 PCI: Extend pci_reset_function() to support PCI Advanced Features Some PCI devices implement PCI Advanced Features, which means they support Function Level Reset(FLR). Implement support for that in pci_reset_function. Signed-off-by: Sheng Yang Signed-off-by: Jesse Barnes commit f7b7baae6b30ff04124259ff8d7c0c0d281320e6 Author: Sheng Yang Date: Tue Nov 11 17:17:46 2008 +0800 PCI: add PCI Advanced Feature Capability defines PCI Advanced Features Capability is introduced by "Conventional PCI Advanced Caps ECN" (can be downloaded in pcisig.com). Add defines for the various AF capabilities, including function level reset (FLR). Reviewed-by: Matthew Wilcox Signed-off-by: Sheng Yang Signed-off-by: Jesse Barnes commit d91cdc745524a1b1ff537712a62803b8413c12d6 Author: Sheng Yang Date: Tue Nov 11 17:17:47 2008 +0800 PCI: Refactor pci_reset_function() Separate out function level reset so that pci_reset_function can be more easily extended. Signed-off-by: Sheng Yang Signed-off-by: Jesse Barnes commit 1a9271331ab663f3c7cda78d86b884f2ea86d4d7 Author: Kay Sievers Date: Thu Oct 30 02:17:49 2008 +0100 PCI: struct device - replace bus_id with dev_name(), dev_set_name() This patch is part of a larger patch series which will remove the "char bus_id[20]" name string from struct device. The device name is managed in the kobject anyway, and without any size limitation, and just needlessly copied into "struct device". To set and read the device name dev_name(dev) and dev_set_name(dev) must be used. If your code uses static kobjects, which it shouldn't do, "const char *init_name" can be used to statically provide the name the registered device should have. At registration time, the init_name field is cleared, to enforce the use of dev_name(dev) to access the device name at a later time. We need to get rid of all occurrences of bus_id in the entire tree to be able to enable the new interface. Please apply this patch, and possibly convert any remaining remaining occurrences of bus_id. Acked-by: Greg Kroah-Hartman Signed-Off-By: Kay Sievers Signed-off-by: Jesse Barnes commit bfb0f330a6c833fd12c35b907434256b4211a1dc Author: Jesse Barnes Date: Mon Oct 27 17:50:21 2008 -0700 PCI: fixup whitespace in quirks.c Had a space before tab in do_fixups, prototype wasn't wrapped properly either. Signed-off-by: Jesse Barnes commit c7b4fee3808a061ee0e704ba596ace56bf65a83d Author: Kenji Kaneshige Date: Fri Oct 24 14:26:35 2008 +0900 PCI hotplug: pciehp: remove unnecessary wait after turning power off The pciehp driver waits for 1000 msec after turning power off to make sure the power has been completely removed. But this 1000 msec wait is not needed if a slot doesn't implement power control because software cannot control the power. Power will be automatically removed at adapter removal time on such a slot Tested-by: "Phil Endecott" Signed-off-by: Kenji Kaneshige Signed-off-by: Jesse Barnes commit 9eff02e2042f96fb2aedd02e032eca1c5333d767 Author: Jesse Barnes Date: Fri Oct 24 10:32:33 2008 -0700 PCI: check mmap range of /proc/bus/pci files too /proc/bus/pci allows you to mmap resource ranges too, so we should probably be checking to make sure the mapping is somewhat valid. Uses the same code as the recent sysfs mmap range checking patch from Linus. Acked-by: David Miller Signed-off-by: Jesse Barnes commit 8a70da82edc50aa7a4b54864babf2d72538ba1bb Author: Inaky Perez-Gonzalez Date: Sat Dec 20 16:58:00 2008 -0800 wimax/i2400m: add CREDITS and MAINTAINERS entries This patch adds entries for the original developers of the i2400m drivers and up-to-date maintainer entries. Signed-off-by: Inaky Perez-Gonzalez Signed-off-by: Greg Kroah-Hartman commit e30698743419d20dce03d033761f203b4d847ab0 Author: Inaky Perez-Gonzalez Date: Sat Dec 20 16:57:59 2008 -0800 wimax: export linux/wimax.h and linux/wimax/i2400m.h with headers_install These two files are what user space can use to establish communication with the WiMAX kernel API and to speak the Intel 2400m Wireless WiMAX connection's control protocol. Signed-off-by: Inaky Perez-Gonzalez Cc: David Woodhouse Signed-off-by: Greg Kroah-Hartman commit 143ee2d5557c0598a97f3089eb29e8226e0e8cee Author: Inaky Perez-Gonzalez Date: Tue Dec 23 16:18:48 2008 -0800 i2400m: Makefile and Kconfig Integrate the i2400m driver into the kernel's build and Kconfig. Signed-off-by: Inaky Perez-Gonzalez Signed-off-by: Greg Kroah-Hartman commit 514ec71f7289c942f801bdbd309428c470bfc071 Author: Inaky Perez-Gonzalez Date: Sat Dec 20 16:57:57 2008 -0800 i2400m/SDIO: TX and RX path backends Implements the backend so that the generic driver can TX/RX to/from the SDIO device. For RX, when data is ready the SDIO IRQ is fired and that will allocate an skb, put all the data there and then pass it to the generic driver RX code for processing and delivery. TX, when kicked by the generic driver, will schedule work on a driver-specific workqueue that pulls data from the TX FIFO and sends it to the device until it drains it. Thread contexts are needed as SDIO functions are blocking. Signed-off-by: Inaky Perez-Gonzalez Signed-off-by: Greg Kroah-Hartman commit 020bb6f30b636d563d4268116107d592550ddd0c Author: Inaky Perez-Gonzalez Date: Sat Dec 20 16:57:56 2008 -0800 i2400m/SDIO: firmware upload backend This implements the backends for the generic driver (i2400m) to be able to load firmware to the SDIO device. Signed-off-by: Inaky Perez-Gonzalez Signed-off-by: Greg Kroah-Hartman commit a0848826bfaf0815ec9654d78c218a40f755ccd4 Author: Inaky Perez-Gonzalez Date: Sat Dec 20 16:57:55 2008 -0800 i2400m/SDIO: probe/disconnect, dev init/shutdown and reset backends Implements probe/disconnect for the SDIO device, as well as main backends for the generic driver to control the SDIO device (bus_dev_start(), bus_dev_stop() and bus_reset()). Signed-off-by: Inaky Perez-Gonzalez Signed-off-by: Greg Kroah-Hartman commit 17d559af963995e483a51ec26697034431bcf2b9 Author: Inaky Perez-Gonzalez Date: Sat Dec 20 16:57:54 2008 -0800 i2400m/SDIO: header for the SDIO subdriver This contains the common function declaration and constants for the SDIO driver for the 2400m Wireless WiMAX Connection and it's debug level settings. Signed-off-by: Inaky Perez-Gonzalez Signed-off-by: Greg Kroah-Hartman commit a8ebf98f541463107bb9544a1b611981dc2477e7 Author: Inaky Perez-Gonzalez Date: Sat Dec 20 16:57:53 2008 -0800 i2400m/USB: TX and RX path backends Implements the backend so that the generic driver can TX/RX to/from the USB device. TX is implemented with a kthread sitting in a never-ending loop that when kicked by the generic driver's TX code will pull data from the TX FIFO and send it to the device until it drains it. Then it goes back sleep, waiting for another kick. RX is implemented in a similar fashion, but reads are kicked in by the device notifying in the interrupt endpoint that data is ready. Device reset notifications are also sent via the notification endpoint. We need a thread contexts to run USB autopm functions (blocking) and to process the received data (can get to be heavy in processing time). Signed-off-by: Inaky Perez-Gonzalez Signed-off-by: Greg Kroah-Hartman commit 795038107b0078ee5ad3ad33327fe1c3520f6bf2 Author: Inaky Perez-Gonzalez Date: Sat Dec 20 16:57:52 2008 -0800 i2400m/USB: firmware upload backend This implements the backends for the generic driver (i2400m) to be able to load firmware to the USB device. Signed-off-by: Inaky Perez-Gonzalez Signed-off-by: Greg Kroah-Hartman commit f398e4240fce962d0dd74dc11c59fe20860e7a71 Author: Inaky Perez-Gonzalez Date: Sat Dec 20 16:57:51 2008 -0800 i2400m/USB: probe/disconnect, dev init/shutdown and reset backends Implements probe/disconnect for the USB device, as well as main backends for the generic driver to control the USB device (bus_dev_start(), bus_dev_stop() and bus_reset()). Signed-off-by: Inaky Perez-Gonzalez Signed-off-by: Greg Kroah-Hartman commit 11a7d0e3140d2f3e8052a856e8582ce9b021972c Author: Inaky Perez-Gonzalez Date: Sat Dec 20 16:57:50 2008 -0800 i2400m/USB: header for the USB bus driver This contains the common function declaration and constants for the USB driver for the 2400m Wireless WiMAX Connection, as well as it's debug level settings. Signed-off-by: Inaky Perez-Gonzalez Signed-off-by: Greg Kroah-Hartman commit c71228caf91ec6320b489dec5cd0087b64da9fb5 Author: Inaky Perez-Gonzalez Date: Sat Dec 20 16:57:49 2008 -0800 i2400m: debugfs controls Expose knobs to control the device (induce reset, power saving, querying tx or rx stats, internal debug information and debug level manipulation). Signed-off-by: Inaky Perez-Gonzalez Signed-off-by: Greg Kroah-Hartman commit 3a35a1d0bdf7cc32cddc234b956605e6d4db4673 Author: Inaky Perez-Gonzalez Date: Sat Dec 20 16:57:48 2008 -0800 i2400m: various functions for device management This is a collection of functions used to control the device (plus a few helpers). There are utilities for handling TLV buffers, hooks on the device's reports to act on device changes of state [i2400m_report_hook()], on acks to commands [i2400m_msg_ack_hook()], a helper for sending commands to the device and blocking until a reply arrives [i2400m_msg_to_dev()], a few high level commands for manipulating the device state, powersaving mode and configuration plus the routines to setup the device once communication is established with it [i2400m_dev_initialize()]. Signed-off-by: Inaky Perez-Gonzalez Signed-off-by: Greg Kroah-Hartman commit aa5a7acabe31ec27a212cbd25cad9f72aa476591 Author: Inaky Perez-Gonzalez Date: Sat Dec 20 16:57:47 2008 -0800 i2400m: RX and TX data/control paths Handling of TX/RX data to/from the i2400m device (IP packets, control and diagnostics). On RX, this parses the received read transaction from the device, breaks it in chunks and passes it to the corresponding subsystems (network and control). Transmission to the device is done through a software FIFO, as data/control frames can be coalesced (while the device is reading the previous tx transaction, others accumulate). A FIFO is used because at the end it is resource-cheaper that scatter/gather over USB. As well, most traffic is going to be download (vs upload). Signed-off-by: Inaky Perez-Gonzalez Signed-off-by: Greg Kroah-Hartman commit 467cc396fb4665957bc7d182c96e45a4d7c575e4 Author: Inaky Perez-Gonzalez Date: Sat Dec 20 16:57:46 2008 -0800 i2400m: firmware loading and bootrom initialization Implements the firmware loader (using the bus-specific driver's backends for the actual upload). The most critical thing in here is the piece that puts the device in boot-mode from any other (undetermined) state, otherwise, it is just pushing the bytes from the firmware file to the device. Signed-off-by: Inaky Perez-Gonzalez Signed-off-by: Greg Kroah-Hartman commit ce6cde92803e961d95ddacdf74bd8b067f82f7d4 Author: Inaky Perez-Gonzalez Date: Sat Dec 20 16:57:45 2008 -0800 i2400m: linkage to the networking stack Implementation of the glue to the network stack so the WiMAX device shows up as an Ethernet device. Initially we shot for implementing a Pure IP device -- however, the world seems to turn around Ethernet devices. Main issues were with the ISC DHCP client and servers (as they don't understand types other than Ethernet and Token Ring). We proceeded to register with IANA the PureIP hw type, so that DHCP requests could declare such. We also created patches to the main ISC DHCP versions to support it. However, until all that permeates into deployments, there is going to be a long time. So we moved back to wrap Ethernet frames around the PureIP device. At the time being this has overhead; we need to reallocate with space for an Ethernet header. The reason is the device-to-host protocol coalesces many network packets into a single message, so we can't introduce Ethernet headers without overwriting valid data from other packets. Coming-soon versions of the firmware have this issue solved. Signed-off-by: Inaky Perez-Gonzalez Signed-off-by: Greg Kroah-Hartman commit 024f7f31ed15c471f80408d8b5045497e27e1135 Author: Inaky Perez-Gonzalez Date: Sat Dec 20 16:57:44 2008 -0800 i2400m: Generic probe/disconnect, reset and message passing Implements the generic probe and disconnect functions that will be called by the USB and SDIO driver's probe/disconnect functions. Implements the backends for the WiMAX stack's basic operations: message passing, rfkill control and reset. Signed-off-by: Inaky Perez-Gonzalez Signed-off-by: Greg Kroah-Hartman commit ea24652d253eabfb83e955e55ce032228d9d99b9 Author: Inaky Perez-Gonzalez Date: Sat Dec 20 16:57:43 2008 -0800 i2400m: host/device procotol and core driver definitions The wimax/i2400m.h defines the structures and constants for the host-device protocols: - boot / firmware upload protocol - general data transport protocol - control protocol It is done in such a way that can also be used verbatim by user space. drivers/net/wimax/i2400m.h defines all the APIs used by the core, bus-generic driver (i2400m) and the bus specific drivers (i2400m-BUSNAME). It also gives a roadmap to the driver implementation. debug-levels.h adds the core driver's debug settings. Signed-off-by: Inaky Perez-Gonzalez Signed-off-by: Greg Kroah-Hartman commit 3e91029ae049852c153da3fc355ab255ea7e2e0a Author: Inaky Perez-Gonzalez Date: Sat Dec 20 16:57:42 2008 -0800 i2400m: documentation and instructions for usage The driver for the i2400m is a stacked driver. There is a core driver, the bus-generic driver that has no knowledge or dependencies on how the device is connected to the system; it only knows how to speak the device protocol. Then there are the bus-specific drivers (for USB and SDIO) that provide backends for the generic driver to communicate with the device. The bus generic driver connects to the network and WiMAX stacks on the top side, and on the bottom to the bus-specific drivers. Signed-off-by: Inaky Perez-Gonzalez Signed-off-by: Greg Kroah-Hartman commit b0c83ae1de01880075955c7224e751440688ec74 Author: Inaky Perez-Gonzalez Date: Tue Dec 23 16:18:24 2008 -0800 wimax: Makefile, Kconfig and docbook linkage for the stack This patch provides Makefile and KConfig for the WiMAX stack, integrating them into the networking stack's Makefile, Kconfig and doc-book templates. Signed-off-by: Inaky Perez-Gonzalez Signed-off-by: Greg Kroah-Hartman commit 617209ccf73b571953cf4c76519c65a5e52d15fd Author: Inaky Perez-Gonzalez Date: Sat Dec 20 16:57:40 2008 -0800 wimax: debugfs controls Expose knobs to control the stack's debug output. Signed-off-by: Inaky Perez-Gonzalez Signed-off-by: Greg Kroah-Hartman commit 3e65646bb12be03b14dff53907391095a52d5f49 Author: Inaky Perez-Gonzalez Date: Sat Dec 20 16:57:38 2008 -0800 wimax: basic API: kernel/user messaging, rfkill and reset Implements the three basic operations provided by the stack's control interface to WiMAX devices: - Messaging channel between user space and driver/device This implements a direct communication channel between user space and the driver/device, by which free form messages can be sent back and forth. This is intended for device-specific features, vendor quirks, etc. - RF-kill framework integration Provide most of the RF-Kill integration for WiMAX drivers so that all device drivers have to do is after wimax_dev_add() is call wimax_report_rfkill_{hw,sw}() to update initial state and then every time it changes. Provides wimax_rfkill() for the kernel to call to set software RF-Kill status and/or query current hardware and software switch status. Exports wimax_rfkill() over generic netlink to user space. - Reset a WiMAX device Provides wimax_reset() for the kernel to reset a wimax device as needed and exports it over generic netlink to user space. This API is clearly limited, as it still provides no way to do the basic scan, connect and disconnect in a hardware independent way. The WiMAX case is more complex than WiFi due to the way networks are discovered and provisioned. The next developments are to add the basic operations so they can be offerent by different drivers. However, we'd like to get more vendors to jump in and provide feedback of how the user/kernel API/abstraction layer should be. The user space code for the i2400m, as of now, uses the messaging channel, but that will change as the API evolves. Signed-off-by: Inaky Perez-Gonzalez Signed-off-by: Greg Kroah-Hartman commit 3efb40c2c6eea315abcf19239c15d088e2498299 Author: Inaky Perez-Gonzalez Date: Sat Dec 20 16:57:37 2008 -0800 genetlink: export genl_unregister_mc_group() Add an EXPORT_SYMBOL() to genl_unregister_mc_group(), to allow unregistering groups on the run. EXPORT_SYMBOL_GPL() is not used as the rest of the functions exported by this module (eg: genl_register_mc_group) are also not _GPL(). Cleanup is currently done when unregistering a family, but there is no way to unregister a single multicast group due to that function not being exported. Seems to be a mistake as it is documented as for external consumption. This is needed by the WiMAX stack to be able to cleanup unused mc groups. Signed-off-by: Inaky Perez-Gonzalez Acked-by: Johannes Berg Signed-off-by: Greg Kroah-Hartman commit 15530dfd330bd19d14e096f88c70355a61fda3f2 Author: Inaky Perez-Gonzalez Date: Sat Dec 20 16:57:36 2008 -0800 wimax: generic device management (registration, deregistration, lookup) Implements the basic life cycles of a 'struct wimax_dev', some common generic netlink functionality for marshalling calls to user space, and the device state machine. For looking up net devices based on their generic netlink family IDs, use a low overhead method that optimizes for the case where most systems have a single WiMAX device, or at most, a very low number of WiMAX adaptors. Signed-off-by: Inaky Perez-Gonzalez Signed-off-by: Greg Kroah-Hartman commit ea912f4e7f264981faf8665cfb63d46d7f948117 Author: Inaky Perez-Gonzalez Date: Sat Dec 20 16:57:35 2008 -0800 wimax: debug macros and debug settings for the WiMAX stack This file contains a simple debug framework that is used in the stack; it allows the debug level to be controlled at compile-time (so the debug code is optimized out) and at run-time (for what wasn't compiled out). This is eventually going to be moved to use dynamic_printk(). Just need to find time to do it. Signed-off-by: Inaky Perez-Gonzalez Signed-off-by: Greg Kroah-Hartman commit 60fa9ca6cfff2be4132ea93b7dd632801ec0c817 Author: Inaky Perez-Gonzalez Date: Sat Dec 20 16:57:34 2008 -0800 wimax: internal API for the kernel space WiMAX stack This file contains declarations and definitions used by the different submodules of the stack. Signed-off-by: Inaky Perez-Gonzalez Signed-off-by: Greg Kroah-Hartman commit ace22f0881e1333d0c55ddf484e5352fe03a806a Author: Inaky Perez-Gonzalez Date: Sat Dec 20 16:57:33 2008 -0800 wimax: headers for kernel API and user space interaction Definitions for the user/kernel API protocol through generic netlink. User space can copy it verbatim and use it. Kernel API definition declares the main data types and calls for the drivers to integrate into the WiMAX stack. Provides usage documentation. Signed-off-by: Inaky Perez-Gonzalez Signed-off-by: Greg Kroah-Hartman commit 0d695913b0016b362a84a8bb6d6e28f8d90a70e2 Author: Inaky Perez-Gonzalez Date: Sat Dec 20 16:57:32 2008 -0800 wimax: documentation for the stack wimax documentation Signed-off-by: Inaky Perez-Gonzalez Signed-off-by: Greg Kroah-Hartman commit 5e07878787ad07361571150230cc3a8d522ae046 Author: Inaky Perez-Gonzalez Date: Sat Dec 20 16:57:39 2008 -0800 debugfs: add helpers for exporting a size_t simple value In the same spirit as debugfs_create_*(), introduce helpers for exporting size_t values over debugfs. The only trick done is that the format verifier is kept at %llu instead of %zu; otherwise type warnings would pop up: format ‘%zu’ expects type ‘size_t’, but argument 2 has type ‘long long unsigned int’ There is no real way to fix this one--however, we can consider %llu and %zu to be compatible if we consider that we are using the same for validating in debugfs_create_{x,u}{8,16,32}(). Signed-off-by: Inaky Perez-Gonzalez Signed-off-by: Greg Kroah-Hartman commit 34c65d82e02147331701c7795e3144d511adf4e9 Author: Greg Kroah-Hartman Date: Mon Aug 18 13:21:04 2008 -0700 USB: remove info() macro from usb.h USB should not be having it's own printk macros, so remove info() and use the system-wide standard of dev_info() wherever possible. No one in the tree is using the macro, so it can now be removed. Signed-off-by: Greg Kroah-Hartman commit 338b67b0c1a97ca705023a8189cf41aa0828d294 Author: Greg Kroah-Hartman Date: Thu Aug 14 09:37:34 2008 -0700 USB: remove warn() macro from usb.h USB should not be having it's own printk macros, so remove warn() and use the system-wide standard of dev_warn() wherever possible. In the few places that will not work out, use a basic printk(). Now that all in-tree users are gone, remove the macro. Signed-off-by: Greg Kroah-Hartman commit 5aa637505fb8610cd2724b09fa0ab03fd6cdca63 Author: Greg Kroah-Hartman Date: Wed Dec 3 22:30:04 2008 -0800 USB: add siemens_mpi usb-serial "stub" driver This driver got rescued from a few years ago and was requested to be added. So I cleaned it up, ported it to the latest kernel version and here it is. Cc: Thomas Hergenhahn Cc: Emmanuele Signed-off-by: Greg Kroah-Hartman commit 57262b82d601c5ca8e3db219aebd332950f62ba1 Author: Greg Kroah-Hartman Date: Mon Nov 3 13:27:03 2008 -0800 USB: add new opticon serial driver This is for the serial mode of the Opticon barcode scanner. Cc: Kees Stoop Signed-off-by: Greg Kroah-Hartman commit 327d74f6b65ddc8a042c43c11fdd4be0bb354668 Author: Marcin Slusarz Date: Sun Jan 4 13:25:13 2009 +0100 USB: emi26: fix oops on load Fix oops introduced by commit ae93a55bf948753de0bb8e43fa9c027f786abb05 (emi26: use request_firmware()): usb 1-1: new full speed USB device using uhci_hcd and address 2 usb 1-1: configuration #1 chosen from 1 choice emi26 - firmware loader 1-1:1.0: emi26_probe start usb 1-1: firmware: requesting emi26/loader.fw usb 1-1: firmware: requesting emi26/bitstream.fw usb 1-1: firmware: requesting emi26/firmware.fw usb 1-1: emi26_set_reset - 1 usb 1-1: emi26_set_reset - 0 BUG: unable to handle kernel NULL pointer dereference at 00000000 IP: [] emi26_probe+0x2f7/0x620 [emi26] *pde = 00000000 Oops: 0000 [#1] SMP last sysfs file: /sys/devices/pci0000:00/0000:00:1d.0/usb1/1-1/firmware/1-1/loading Modules linked in: emi26(+) ipv6 cpufreq_ondemand coretemp arc4 ecb iwl3945 irtty_sir sir_dev nsc_ircc ehci_hcd uhci_hcd mac80211 irda usbcore snd_hda_intel thinkpad_acpi rfkill hwmon led_class e1000e snd_pcm cfg80211 snd_timer crc_ccitt snd snd_page_alloc aes_generic Pid: 5082, comm: modprobe Not tainted (2.6.28 #2) 17023QG EIP: 0060:[] EFLAGS: 00010206 CPU: 0 EIP is at emi26_probe+0x2f7/0x620 [emi26] EAX: 0000015c EBX: 00000000 ECX: c1ffd9c0 EDX: 00000000 ESI: 0000015c EDI: f6bb215c EBP: f6bb0400 ESP: f00ebcfc DS: 007b ES: 007b FS: 00d8 GS: 0033 SS: 0068 Process modprobe (pid: 5082, ti=f00ea000 task=f5c7c700 task.ti=f00ea000) Stack: 0000015c 000000a5 f6a67cb8 f80dc7e0 c01c6262 fbef2986 f6bb2000 00008fe0 0000015c f715f748 f715f740 f715f738 f715f748 f6a67c00 f80dd040 f80dcfc0 f6bb0400 fbacb290 f6a67c94 fbae0160 c01c70bf 00000000 f6a67c1c 00000000 Call Trace: [] sysfs_add_one+0x12/0x50 [] usb_probe_interface+0xa0/0x140 [usbcore] [] sysfs_create_link+0xf/0x20 [] driver_probe_device+0x82/0x180 [] usb_match_id+0x3b/0x50 [usbcore] [] __driver_attach+0x7e/0x80 [] bus_for_each_dev+0x3a/0x60 [] driver_attach+0x16/0x20 [] __driver_attach+0x0/0x80 [] bus_add_driver+0x1a1/0x220 [] driver_register+0x4d/0x120 [] idr_get_empty_slot+0xf2/0x290 [] usb_register_driver+0x81/0x100 [usbcore] [] emi26_init+0x0/0x14 [emi26] [] do_one_initcall+0x36/0x1b0 [] sysfs_ilookup_test+0x0/0x10 [] ifind+0x31/0x90 [] __sysfs_add_one+0x59/0x80 [] sysfs_addrm_finish+0x14/0x1c0 [] __vunmap+0xa3/0xd0 [] load_module+0x1544/0x1640 [] sys_init_module+0x87/0x1b0 [] sys_read+0x41/0x70 [] sysenter_do_call+0x12/0x21 [] wait_for_common+0x40/0x110 Code: 66 c1 e8 08 66 09 d0 75 a5 31 d2 89 e8 e8 72 fc ff ff 85 c0 0f 88 9a 02 00 00 b8 fa 00 00 00 e8 30 46 05 c8 8b 74 24 28 8b 5e 04 <8b> 03 89 44 24 1c 0f c8 89 44 24 1c 0f b7 4b 04 c7 44 24 20 00 EIP: [] emi26_probe+0x2f7/0x620 [emi26] SS:ESP 0068:f00ebcfc ---[ end trace 2eefa13825431230 ]--- After the last "package" of firmware data is sent to the device, we dereference NULL pointer (on access to rec->addr). Fix it. Reported--by: David Flatz Tested-by: David Flatz Signed-off-by: Marcin Slusarz Cc: David Woodhouse Cc: stable [2.6.27, 2.6.28] Signed-off-by: Greg Kroah-Hartman commit 32e7fea282b3765c64b935fa54f20ace437550a0 Author: SangSu Park Date: Fri Jan 2 01:11:14 2009 +0900 USB: Fix goku_udc usb speed handling The usb gadget framework revealed weakness in the godu_udc gadget driver register function. Instead of checking if speed asked for was USB_LOW_SPEED upon usb_gadget_register() to deny service, it checked only for USB_FULL_SPEED, thus denying service to usb high speed capable gadgets. Signed-off-by: SangSu Park Acked-by: David Brownell Signed-off-by: Greg Kroah-Hartman commit ed0c7720d23d5c82787e17cb02b28ca9eb11853d Author: Mark Lord Date: Fri Jan 2 02:48:24 2009 -0500 USB: fix minor nit in usbfs checking One minor nit did show up, though. The patch below seems to make more sense than the code does without it. Signed-off-by: Mark Lord Signed-off-by: Greg Kroah-Hartman commit 2caf7fcdb8532045680f06b67b9e63f0c9613aaa Author: Alan Stern Date: Wed Dec 31 11:31:33 2008 -0500 USB: re-enable interface after driver unbinds This patch (as1197) fixes an error introduced recently. Since a significant number of devices can't handle Set-Interface requests, we no longer call usb_set_interface() when a driver unbinds from an interface, provided the interface is already in altsetting 0. However the interface still does get disabled, and the call to usb_set_interface() was the only thing re-enabling it. Since the interface doesn't get re-enabled, further attempts to use it fail. So the patch adds a call to usb_enable_interface() when a driver unbinds and the interface is in altsetting 0. For this to work right, the interface's endpoints have to be re-enabled but their toggles have to be left alone. Therefore an additional argument is added to usb_enable_endpoint() and usb_enable_interface(), a flag indicating whether or not the endpoint toggles should be reset. This is a forward-ported version of a patch which fixes Bugzilla #12301. Signed-off-by: Alan Stern Reported-by: David Roka Reported-by: Erik Ekman Tested-by: Erik Ekman Tested-by: Alon Bar-Lev Signed-off-by: Greg Kroah-Hartman commit df718962bf91c7bd345060aadaa24b03f6140b07 Author: Alan Stern Date: Fri Dec 19 10:27:56 2008 -0500 USB: cancel pending Set-Config requests if userspace gets there first This patch (as1195) eliminates a potential problem identified by Oliver Neukum. When a driver queues an asynchronous Set-Config request using usb_driver_set_configuration(), the request should be cancelled if userspace changes the configuration first. The patch introduces a linked list of pending async Set-Config requests, and uses it to invalidate the requests for a particular device whenever that device's configuration is set. Signed-off-by: Alan Stern Cc: Oliver Neukum Signed-off-by: Greg Kroah-Hartman commit 6fd9086a518d4f14213a32fe6c9ac17fabebbc1e Author: Alan Stern Date: Wed Dec 17 17:20:38 2008 -0500 USB: automatically enable wakeup for PCI host controllers This patch (as1193b) enables wakeup during initialization for all PCI host controllers, and it removes some code (and comments!) that are no longer needed now that the PCI core automatically initializes wakeup settings for all new devices. The idea is that the bus should initialize wakeup, and the bus glue or controller driver should enable it. Signed-off-by: Alan Stern Signed-off-by: Greg Kroah-Hartman commit a0d4922da2e4ccb0973095d8d29f36f6b1b5f703 Author: Alan Stern Date: Wed Dec 17 15:06:03 2008 -0500 USB: fix up suspend and resume for PCI host controllers This patch (as1192) rearranges the USB PCI host controller suspend and resume and resume routines: Use pci_wake_from_d3() for enabling and disabling wakeup, instead of pci_enable_wake(). Carry out the actual state change while interrupts are disabled. Change the order of the preparations to agree with the general recommendation for PCI devices, instead of messing around with the wakeup settings while the device is in D3. In .suspend: Call the underlying driver to disable IRQ generation; pci_wake_from_d3(device_may_wakeup()); pci_disable_device(); In .suspend_late: pci_save_state(); pci_set_power_state(D3hot); (for PPC_PMAC) Disable ASIC clocks In .resume_early: (for PPC_PMAC) Enable ASIC clocks pci_set_power_state(D0); pci_restore_state(); In .resume: pci_enable_device(); pci_set_master(); pci_wake_from_d3(0); Call the underlying driver to reenable IRQ generation Add the necessary .suspend_late and .resume_early method pointers to the PCI host controller drivers. Signed-off-by: Alan Stern CC: Rafael J. Wysocki Signed-off-by: Greg Kroah-Hartman commit a81a81a25d3ecdab777abca87c5ddf484056103d Author: Alan Stern Date: Thu Dec 18 16:41:49 2008 -0500 USB: storage: set CAPACITY_HEURISTICS flag for bad vendors This patch (as1194) makes usb-storage set the CAPACITY_HEURISTICS flag for all devices made by Nokia, Nikon, or Motorola. These companies seem to include the READ CAPACITY bug in all of their devices. Since cell phones and digital cameras rely on flash storage, which always has an even number of sectors, setting CAPACITY_HEURISTICS shouldn't cause any problems. Not even if the companies wise up and start making devices without the bug. A large number of unusual_devs entries are now unnecessary, so the patch removes them. Signed-off-by: Alan Stern Cc: stable Signed-off-by: Greg Kroah-Hartman commit c838ea4626d6e982489ff519f9ecf5e1649ca90b Author: Alan Stern Date: Mon Dec 15 10:40:06 2008 -0500 USB: storage: make the "quirks=" module parameter writable This patch (as1190) makes usb-storage's "quirks=" module parameter writable, so that users can add entries for their devices at runtime with no need to reboot or reload usb-storage. New codes are added for the SANE_SENSE, CAPACITY_HEURISTICS, and CAPACITY_OK flags. Signed-off-by: Alan Stern Signed-off-by: Greg Kroah-Hartman commit 25ff1c316f6a763f1eefe7f8984b2d8c03888432 Author: Alan Stern Date: Mon Dec 15 12:43:41 2008 -0500 USB: storage: add last-sector hacks This patch (as1189b) adds some hacks to usb-storage for dealing with the growing problems involving bad capacity values and last-sector accesses: A new flag, US_FL_CAPACITY_OK, is created to indicate that the device is known to report its capacity correctly. An unusual_devs entry for Linux's own File-backed Storage Gadget is added with this flag set, since g_file_storage always reports the correct capacity and since the capacity need not be even (it is determined by the size of the backing file). An entry in unusual_devs.h which has only the CAPACITY_OK flag set shouldn't prejudice libusual, since the device will work perfectly well with either usb-storage or ub. So a new macro, COMPLIANT_DEV, is added to let libusual know about these entries. When a last-sector access succeeds and the total number of sectors is odd (the unexpected case, in which guessing that the number is even might cause trouble), a WARN is triggered. The kerneloops.org project will collect these warnings, allowing us to add CAPACITY_OK flags for the devices in question before implementing the default-to-even heuristic. If users want to prevent the stack dump produced by the WARN, they can disable the hack by adding an unusual_devs entry for their device with the CAPACITY_OK flag. When a last-sector access fails three times in a row and neither the FIX_CAPACITY nor the CAPACITY_OK flag is set, we assume the last-sector bug is present. We replace the existing status and sense data with values that will cause the SCSI core to fail the access immediately rather than retry indefinitely. This should fix the difficulties people have been having with Nokia phones. Signed-off-by: Alan Stern Cc: stable Signed-off-by: Greg Kroah-Hartman commit 9ebd9616648bc0e47e7f8e1898c919305f1e6347 Author: David Brownell Date: Thu Dec 18 12:25:44 2008 -0800 USB: otg: twl4030 transceiver driver Add driver for the high speed USB-OTG transceiver in TI's TWL4030 family of chips. Given this and various other pending patches, OMAP3 hardware like that from beagleboard.org, gumstix.com (Overo), and openpandora.org should now have basic USB host and peripheral connectivity with mainline kernels. Ditto for less widely-available boards. Signed-off-by: David Brownell Signed-off-by: Tony Lindgren Cc: Kevin Hilman Cc: Felipe Balbi Signed-off-by: Greg Kroah-Hartman commit 2a4f136fbdcd89d44d83ed54df2c492a89f5ba9c Author: Darius Augulis Date: Wed Nov 12 13:38:31 2008 -0800 USB: add imx udc gadget driver Implementation of USB device driver integrated in Freescale's i.MXL processor. Adds USB device driver for i.MXL. Signed-off-by: Darius Augulis Signed-off-by: Greg Kroah-Hartman commit 856395d6e137b4e7194972cb7765f3de6a72ba61 Author: Oliver Neukum Date: Thu Dec 18 09:17:49 2008 +0100 USB: extension of anchor API to unpoison an anchor This extension allows unpoisoning an anchor allowing drivers that resubmit URBs to reuse an anchor for methods like resume() Signed-off-by: Oliver Neukum Signed-off-by: Greg Kroah-Hartman commit 42c65396d4f10f25bdab13f8e2f33fe63fa94418 Author: Thomas Hommel Date: Thu Dec 18 10:31:40 2008 +0100 USB: isp1760: don't auto disable Port1 on ISP1761 There is no need to disable port 1 on ISP1761. That port could be used as an OTG port which would require a different init sequence. However we don't have OTG support (yet) so we can use it as a normal USB port. This patch allows port 1 to be used a normal Port on the ISP1761. Signed-off-by: Thomas Hommel Signed-off-by: Sebastian Andrzej Siewior Signed-off-by: Greg Kroah-Hartman commit 281b064f237205053ef1874ffc77b9211265af4c Author: Dan Williams Date: Sun Dec 14 12:39:22 2008 -0500 USB: unusual dev for Option N.V. ZeroCD modems Many newer Option mobile broadband devices initially provide a usb-storage "driver CD" device that's pretty useless on Linux since any software on it most likely wouldn't be compatible with your kernel or distro anyway. Thus, by default just kill the driver CD device by sending the SCSI 'rezero' command, but allow override of the default behavior via usb-storage module parameter so users can keep the ZeroCD device if they really want to. Inspired by the Sierra TruInstall patch. Signed-off-by: Dan Williams Acked-by: Marcel Holtmann Cc: Peter Henn Cc: Alan Stern Signed-off-by: Greg Kroah-Hartman commit 49367d8f1d9f26482cf7089489e90f0afd0a942c Author: Ming Lei Date: Fri Dec 12 21:38:45 2008 +0800 USB: mark "reject" field of struct urb as atomic_t It is enough to protect accesses to reject field of urb by marking it as atomic_t,also it is the only reason of existence of usb_reject_lock,so remove the lock to make code more clean. Signed-off-by: Ming Lei Acked-off-by: Alan Stern Signed-off-by: Greg Kroah-Hartman commit 3b23dd6f8a718e5339de4f7d86ce76a078b5f771 Author: Alan Stern Date: Fri Dec 5 14:10:34 2008 -0500 USB: utilize the bus notifiers This patch (as1185) makes usbcore take advantage of the bus notifications sent out by the driver core. Now we can create all our device and interface attribute files before the device or interface uevent is broadcast. A side effect is that we no longer create the endpoint "pseudo" devices at the same time as a device or interface is registered -- it seems like a bad idea to try registering an endpoint before the registration of its parent is complete. So the routines for creating and removing endpoint devices have been split out and renamed, and they are called explicitly when needed. A new bitflag is used for keeping track of whether or not the interface's endpoint devices have been created, since (just as with the interface attributes) they vary with the altsetting and hence can be changed at random times. Signed-off-by: Alan Stern Cc: Kay Sievers Signed-off-by: Greg Kroah-Hartman commit b9cef6c31913c34fb1065b1d01e04c3b92c59016 Author: Wu Fengguang Date: Mon Dec 15 15:32:01 2008 +0800 USB: make printk messages more searchable USB: make printk messages more searchable Make USB printk messages long and straightforward. One of these decorated USB error messages cost me non-trivial efforts to locate. Signed-off-by: Wu Fengguang Signed-off-by: Greg Kroah-Hartman commit e22b582e9108b94a8bb59010da3e09709bd39746 Author: Bryan Wu Date: Tue Dec 2 21:33:51 2008 +0200 USB: musb: Kill some compiling warning in musb Blackfin part Signed-off-by: Bryan Wu Signed-off-by: Felipe Balbi Signed-off-by: Greg Kroah-Hartman commit 7833414d4f39009d4d04e96648a099630adf3f62 Author: Bryan Wu Date: Tue Dec 2 21:33:50 2008 +0200 USB: musb: Blackfin provides read/write I/O accessor in header files Don't redefine the functions in musb driver Signed-off-by: Bryan Wu Signed-off-by: Felipe Balbi Signed-off-by: Greg Kroah-Hartman commit 085ad4067b5def12bb0e6f50ec65302053d9186d Author: Bryan Wu Date: Tue Dec 2 21:33:49 2008 +0200 USB: musb: add Blackfin Kconfig options and Makefile Signed-off-by: Bryan Wu Signed-off-by: Felipe Balbi Signed-off-by: Greg Kroah-Hartman commit c6cf8b003e5a37f8193c2883876c5942adcd7284 Author: Bryan Wu Date: Tue Dec 2 21:33:48 2008 +0200 USB: musb: add Blackfin specific configuration to MUSB Some config registers are not avaiable in Blackfin, we have to comment them out. v1-v2: - remove Blackfin specific header file - add Blackfin register version to musb_regs.h header file Signed-off-by: Bryan Wu Signed-off-by: Felipe Balbi Signed-off-by: Greg Kroah-Hartman commit 6995eb68aab70e79eedb710d7d6d1f22d8aea4a7 Author: Bryan Wu Date: Tue Dec 2 21:33:47 2008 +0200 USB: musb: enable low level DMA operation for Blackfin - DMA registers in Blackfin have different layout - DMA interrupt flags need to be cleared by software Signed-off-by: Bryan Wu Signed-off-by: Felipe Balbi Signed-off-by: Greg Kroah-Hartman commit 2c557a4a98be67ea54dfd0e8497050a24b7311c6 Author: Bryan Wu Date: Tue Dec 2 21:33:46 2008 +0200 USB: musb: add Blackfin version low level register accessing helper functions add Blackfin version low level register accessing helper functions Signed-off-by: Bryan Wu Signed-off-by: Felipe Balbi Signed-off-by: Greg Kroah-Hartman commit d426e60dbf6aa2c3199e37a59c6d134eb204d628 Author: Robin Getz Date: Tue Dec 2 21:33:45 2008 +0200 USB: musb: Make sure we program the correct values in only when necessary. Make sure we program the correct values in only when necessary. Signed-off-by: Robin Getz Signed-off-by: Bryan Wu Signed-off-by: Felipe Balbi Signed-off-by: Greg Kroah-Hartman commit 0c6a8818447d38f7bb0b0013448659113d37a3e1 Author: Bryan Wu Date: Tue Dec 2 21:33:44 2008 +0200 USB: musb: add Blackfin driver to MUSB framework (v2) - replace MUSB_FIFOSIZE register to MUSB_TXCOUNT, cause no MUSB_FIFOSIZE register on Blackfin - use #ifdef to replace #if defined() Signed-off-by: Bryan Wu Signed-off-by: Felipe Balbi Signed-off-by: Greg Kroah-Hartman commit 2ffcdb3bdadaf8260986e96384df26c94a6ad42c Author: Bryan Wu Date: Tue Dec 2 21:33:43 2008 +0200 USB: musb: use new platform data interface of musb to replace old one Signed-off-by: Bryan Wu Signed-off-by: Felipe Balbi Signed-off-by: Greg Kroah-Hartman commit c20b15fde50c32174af4b48851e5ddadba36330e Author: Alan Stern Date: Mon Dec 1 10:36:15 2008 -0500 USB: usb-storage: merge DPCM support into SDDR09 The DPCM subdriver is a little peculiar, in that it's meant to support devices where LUN 0 is Compact Flash and uses the CB transport whereas LUN 1 is SmartMedia and uses the SDDR09 transport. Thus DPCM isn't really a transport in itself; it's more like a demultiplexer. Much of the DPCM code is part of the SDDR09 subdriver already, and the remaining part is fairly small. This patch (as1182) moves that extra piece into sddr09.c, thereby eliminating dpcm.c. Also eliminated is the Kconfig entry for DPCM support; it is now listed as part of the SDDR09 entry. In order to make sure that the semantics are the same as before, each unusual_devs entry for DPCM is now present twice: once with DPCM support if SDDR09 is configured (as before), and once with the SINGLE_LUN flag and CB support otherwise. Signed-off-by: Alan Stern CC: Matthew Dharm Signed-off-by: Greg Kroah-Hartman commit f1632df36b9467b75b7abfd2799aef67ec74a60a Author: Greg Kroah-Hartman Date: Tue Dec 16 13:26:07 2008 -0800 USB: option: increase outgoing buffer size and number This should speed up the option driver's upload speed quite a bit. It has been tested by a number of different people on different devices with success. Cc: Roland Wolters Signed-off-by: Greg Kroah-Hartman commit 50de36f7af3b1d791c402478210790c582126fe5 Author: Greg Kroah-Hartman Date: Wed Dec 10 16:00:30 2008 -0800 USB: serial: fix up urb->status usage Some of the usb-serial drivers are starting to use urb->status in ways they should not be doing. This fixes up some of them to prevent that. Signed-off-by: Greg Kroah-Hartman commit 6013bbbab0dcbc43bcf9dd70beeab2a0b1ec5ea7 Author: Karl Bongers Date: Mon Dec 1 11:47:40 2008 +0100 USB: isp1760: Fix probe in PCI glue code Contains fixes so probe on x86 PCI runs, apparently I'm first to try this. Several fixes to memory access to probe host scratch register. Previously would bug check on chip_addr var used uninitialized. Scratch reg write failed in one instance due to 16-bit initial access mode, so added "& 0x0000ffff" to the readl as fix. Includes some general cleanup - remove global vars, organize memory map resource use. Signed-off-by: Karl Bongers Signed-off-by: Sebastian Andrzej Siewior Cc: stable Signed-off-by: Greg Kroah-Hartman commit 6c0735687d37e25a65866823881bcbf39a6a023f Author: Sebastian Andrzej Siewior Date: Sun Nov 30 16:50:04 2008 +0100 USB: isp1760: use a specific PLX bridge instead of any bdridge this driver can't handle (of course) any brdige class devices. So we now are just active on one specific bridge which should be only the isp1761 chip behind a PLX bridge. Signed-off-by: Sebastian Andrzej Siewior Tested-by: Karl Bongers Cc: stable Signed-off-by: Greg Kroah-Hartman commit 889394b1eb95f040525d06dd4f2f1222b94023e2 Author: Felipe Balbi Date: Mon Dec 8 13:50:27 2008 +0200 USB: gadget: don't wait for completion twice In some obscure scenarios e.g. passing a 0-byte backing file storage, wait_for_completion() would wait forever in fsg_cleanup(). Prevent it by completing the thread in fsg_bind() error path. Signed-off-by: Felipe Balbi Signed-off-by: Alan Stern Signed-off-by: Greg Kroah-Hartman commit 619b572ae205cea26b147c2cec5ebf19974f4bb0 Author: Roel Kluin Date: Tue Dec 9 22:50:22 2008 +0100 USB: serial: usb_debug: Make static Sparse asked whether these could be static. Signed-off-by: Roel Kluin Signed-off-by: Greg Kroah-Hartman commit 65bfd2967c906ca322a4bb69a285fe0de8916ac6 Author: Alan Stern Date: Tue Nov 25 16:39:18 2008 -0500 USB: Enhance usage of pm_message_t This patch (as1177) modifies the USB core suspend and resume routines. The resume functions now will take a pm_message_t argument, so they will know what sort of resume is occurring. The new argument is also passed to the port suspend/resume and bus suspend/resume routines (although they don't use it for anything but debugging). In addition, special pm_message_t values are used for user-initiated, device-initiated (i.e., remote wakeup), and automatic suspend/resume. By testing these values, drivers can tell whether or not a particular suspend was an autosuspend. Unfortunately, they can't do the same for resumes -- not until the pm_message_t argument is also passed to the drivers' resume methods. That will require a bigger change. IMO, the whole Power Management framework should have been set up this way in the first place. Signed-off-by: Alan Stern Signed-off-by: Greg Kroah-Hartman commit 4ec06d629628b6e5c7ff50d349a26ef5c35696e3 Author: Alan Stern Date: Tue Nov 25 16:40:02 2008 -0500 USB: utilize round_jiffies_up_relative() This patch (as1178) uses the new round_jiffies_up_relative() routine for setting the autosuspend delayed_work timer. It's appropriate since we don't care too much about the exact length of the delay, but we don't want it to be too short (rounded down). Signed-off-by: Alan Stern Signed-off-by: Greg Kroah-Hartman commit 3cb22d658668234edbe6dcb165501e9ef0c0a059 Author: Tony Lindgren Date: Mon Nov 24 12:02:21 2008 -0800 USB: otg: sharable otg transceiver ops Move otg_get/set/put_transceiver() from omap specific code to common otg.c so other upcoming drivers can share them. [ dbrownell@users.sourceforge.net: move to drivers/usb/otg, dox ] Signed-off-by: Tony Lindgren Signed-off-by: Felipe Balbi Signed-off-by: Philipp Zabel Signed-off-by: David Brownell Signed-off-by: Greg Kroah-Hartman commit 68144e0cc92125f41157ede7b060f83367bc4fe7 Author: Philipp Zabel Date: Mon Nov 24 12:01:17 2008 -0800 USB: otg: add otg_put_transceiver() As Russell King points out, calling put_device(otg_transceiver->dev) directly in driver cleanup paths makes assumptions about otg_transceiver internals. Signed-off-by: Philipp Zabel Signed-off-by: David Brownell Signed-off-by: Greg Kroah-Hartman commit 6084f1bf0c51a99cbba612ee90a4607cffb8b042 Author: Philipp Zabel Date: Mon Nov 24 12:00:01 2008 -0800 USB: otg: gpio_vbus transceiver stub gpio_vbus provides simple GPIO VBUS sensing for peripheral controllers with an internal transceiver. Optionally, a second GPIO can be used to control D+ pullup. It also interfaces with the regulator framework to limit charging currents when powered via USB. gpio_vbus requests the regulator supplying "vbus_draw" and can enable/disable it or limit its current depending on USB state. [dbrownell@users.sourceforge.net: use drivers/otg, cleanups ] Signed-off-by: Philipp Zabel Signed-off-by: David Brownell Signed-off-by: Greg Kroah-Hartman commit b8da8677d4f88db066c1cfe34529d970a060de46 Author: David Brownell Date: Mon Nov 24 11:53:35 2008 -0800 USB: move isp1301_omap to drivers/usb/otg This moves the isp1301-omap driver from the drivers/i2c/chips directory (which will be shrinking) into a new drivers/usb/otg directory (which will grow, with more drivers and utilities). Note that OTG infrastructure needs to be initialized before either host or peripheral side USB support, and may be needed before for pure host or pure peripheral configurations. Signed-off-by: David Brownell Acked-by: Jean Delvare Signed-off-by: Greg Kroah-Hartman commit ea99ecfdc81266e61f4445c1830315a65eb8175a Author: Ben Dooks Date: Mon Nov 24 11:45:03 2008 -0800 USB: gadget: s3c2410_udc uses standard GPIO calls Change the gpio code in the s3c2410_udc to use the generic gpio calls instead of the s3c24xx specific gpio functions. Signed-off-by: Ben Dooks Signed-off-by: David Brownell Signed-off-by: Greg Kroah-Hartman commit b40fc2a2563b03a7b925cd16d1657aa2c24fd9c0 Author: David Brownell Date: Mon Nov 24 11:43:30 2008 -0800 USB: gadget: pxa25x_udc vbus sense initialization Some code in the pxa25x_udc driver wrongly expects the value of is_vbus_present() to be 0/1, not zero/nonzero ... cope. Issue noted by Jaya Kumar This bug has been around since July 2007, and has a simple workaround: unplug the Linux gadget, then re-plug it. Signed-off-by: David Brownell Cc: Jaya Kumar Signed-off-by: Greg Kroah-Hartman commit c48a5155252fd9cba7bedc59e5f8a339a3454d58 Author: Felipe Balbi Date: Mon Nov 24 13:06:53 2008 +0200 USB: musb: check if set_irq_wake succeded and remember it Without it, in platforms that don't provide irq_chip.set_wake(), like omap, musb will WARN() on driver removal. Signed-off-by: Felipe Balbi Signed-off-by: Greg Kroah-Hartman commit b6a49b8490fe6f22f0027a3f05eb498918f09303 Author: Felipe Balbi Date: Mon Nov 24 13:06:51 2008 +0200 USB: musb: Add musb git tree to maintainers entry Trivial patch adding musb's git tree to MAINTAINERS file. Signed-off-by: Felipe Balbi Signed-off-by: Greg Kroah-Hartman commit bb1c9ef1b4cd64f22e15e8447deac6043eeb151c Author: David Brownell Date: Mon Nov 24 13:06:50 2008 +0200 USB: musb: host side diagnostics tweaks Random host-side MUSB updates, mostly relating to better diagnostics: + Improve diagnostics on host side: - tx flush fifo: * Avoid hundreds of duplicate TX FIFONOTEMPTY messages * make "Can't flush TX fifo" a warning, and say which endpoint - giveback: * use correct status code * show completion function name not just URB pointer - Fix annoying "1 bytes" (should be "1 byte") + Be more consistent about failing init of unusable fifo_mode It's not clear why that "can't flush TX fifo" message appears, though it might relate to disconnection; I see it not infrequently Signed-off-by: David Brownell Signed-off-by: Felipe Balbi Signed-off-by: Greg Kroah-Hartman commit 71783e0defa16ca5abca7750df98ff8e7767bd2e Author: David Brownell Date: Mon Nov 24 13:06:49 2008 +0200 USB: musb: minor locking fix Minor locking fix for musb_hdrc on OMAP3 and OMAP2430: don't read DEVCTL without holding the spinlock, since an IRQ could come in and corrupt things. Signed-off-by: David Brownell Signed-off-by: Felipe Balbi Signed-off-by: Greg Kroah-Hartman commit 58e660266d92aaa186c3df607c0ee88f18c8f4da Author: Kevin Hilman Date: Mon Nov 24 13:06:48 2008 +0200 USB: musb: build fixes for DaVinci - update includes after asm/arch --> mach headers move - adds musb_platform_set_mode() stub Signed-off-by: Kevin Hilman Signed-off-by: Felipe Balbi Signed-off-by: Greg Kroah-Hartman commit 96a274d1da950a96cb31ac1bed044e049d770980 Author: David Brownell Date: Mon Nov 24 13:06:47 2008 +0200 USB: musb: sysfs mode updates Fix three omissions in the "mode" sysfs attribute support: (a) inability to report errors; (b) no DaVinci support ... just report an error; (c) for omap2430, accepting unsupportable values The 2430 stuff is still odd.... Signed-off-by: David Brownell Signed-off-by: Felipe Balbi Signed-off-by: Greg Kroah-Hartman commit aa69a8093ff985873cb44fe1157bd6db29a20fe4 Author: David Lopo Date: Mon Nov 17 14:14:51 2008 -0800 USB: gadget: MIPS ci13xxx_udc MIPS USB IP core family device controller Currently it only supports IP part number CI13412. [dbrownell@users.sourceforge.net: minor comment tweaks] Signed-off-by: David Lopo Signed-off-by: David Brownell Signed-off-by: Greg Kroah-Hartman commit bb9496c6f7e853e5d4edd5397c9d45f1968d623c Author: Julia Lawall Date: Tue Nov 25 14:15:19 2008 +0100 USB: gadget: change simple_strtol to simple_strtoul Since num is unsigned, it would seem better to use simple_strtoul that simple_strtol. A simplified version of the semantic patch that makes this change is as follows: (http://www.emn.fr/x-info/coccinelle/) // @r2@ long e; position p; @@ e = simple_strtol@p(...) @@ position p != r2.p; type T; T e; @@ e = - simple_strtol@p + simple_strtoul (...) // Signed-off-by: Julia Lawall Acked-by: David Brownell Signed-off-by: Greg Kroah-Hartman commit 785895ff1fedddd09576d2c600d90404fef6506c Author: Rusty Russell Date: Sat Nov 22 13:01:06 2008 +1030 USB: Don't use __module_param_call; use core_param. Impact: cleanup Found this when I changed args to __module_param_call. We now have core_param for exactly this, but Greg assures me "nousb" is used as a module parameter, so we need the #ifdef MODULE. Signed-off-by: Rusty Russell Cc: Pete Zaitcev Signed-off-by: Greg Kroah-Hartman commit 96983d2d861bf94b7f70bc47ac3c5b289f519a2d Author: Alan Stern Date: Fri Nov 21 11:46:17 2008 -0500 USB: storage: set bounce limit for non-DMA-capable host controllers This patch (as1175) makes usb-storage set a SCSI device's request-queue bounce limit such that all buffers will be located in addressable memory (i.e., not in high memory) if the host controller's dma_mask is NULL. This is necessary when the host controller doesn't support DMA: If a buffer is in high memory then the both the virtual and DMA addresses produced by the scatter-gather library will be NULL, preventing the HCD from accessing the buffer's data. In particular, the isp1760 driver needs this when used on a system with more than 1 GB of memory. Signed-off-by: Alan Stern CC: Matthew Dharm Acked-by: Jens Axboe Tested-by: Thomas Hommel Signed-off-by: Greg Kroah-Hartman commit 3dae5345311271fe598a61bd01f563fc835b4217 Author: Alan Stern Date: Thu Nov 20 14:22:18 2008 -0500 USB: usb-storage: merge ATAPI and QIC-157 protocol routines This patch (as1174) merges usb-storage's QIC-157 and ATAPI protocol routines. Since the two functions are identical, there's no reason to keep them separate. Signed-off-by: Alan Stern Cc: Matthew Dharm Signed-off-by: Greg Kroah-Hartman commit 64648a9dc4d7ac0189364188207310ec6bc75bbe Author: Alan Stern Date: Thu Nov 20 14:20:03 2008 -0500 USB: usb-storage: merge CB and CBI transport routines This patch (as1173) merges usb-storage's CB and CBI transports into a single routine. So much of their code is common, it's silly to keep them separate. Signed-off-by: Alan Stern CC: Matthew Dharm Signed-off-by: Greg Kroah-Hartman commit 12aae68a203e97a58d3f8237fc389201a4d9282d Author: Alan Stern Date: Thu Nov 20 14:13:12 2008 -0500 USB: g_file_storage: add CD-ROM emulation This patch (as1172) adds the ability to emulate a CD-ROM drive to g_file_storage. The emulation is limited, since it presents as a disc containing a single data track and no audio tracks. Still, it may come in useful on occasion. Signed-off-by: Alan Stern Signed-off-by: Greg Kroah-Hartman commit dbe6e0c023578dc7b13932f73991ed92b65f3811 Author: Ben Efros Date: Sun Nov 23 20:06:38 2008 -0800 USB: storage: Flag devices known to support SANE_SENSE Add a few devices known to have support for larger sense buffers. Supporting SANE_SENSE does not necessarily mean SAT-1 or SAT-2 is fully supported. Depends on SANE_SENSE patch [1]. Incorporates the Maxtor and Western Digital devices originally submitted by Matthieu CASTET [2]. [1] https://lists.one-eyed-alien.net/pipermail/usb-storage/2008-November/004181.html [2] http://marc.info/?l=linux-usb&m=121762869915609&w=2 Signed-off-by: Ben Efros Signed-off-by: Matthew Dharm Signed-off-by: Greg Kroah-Hartman commit 1537e0ad944acf3a4c2b311a646d7993b89499f7 Author: Ben Efros Date: Tue Nov 18 13:31:13 2008 -0800 USB: storage devices and SAT Add the SANE SENSE flag to indicate that a device is capable of handling more than 18-bytes of sense data. This functionality is required for USB-ATA bridges implementing SAT. A future patch will actually enable this function for several devices. The logic behind this is that we can detect support for SANE_SENSE in a few ways: 1) ATA PASS THROUGH (12) or (16) execute successfully 2) SPC-3 or higher is in use 3) A previous CHECK CONDITION occurred with sense format 70-73 and had a length greater than 18-bytes total Signed-off-by: Ben Efros Signed-off-by: Matthew Dharm Signed-off-by: Greg Kroah-Hartman commit a658367dae9dc572480f41817dbe1088a1a049ee Author: Alan Stern Date: Tue Nov 18 14:08:38 2008 -0500 USB: usb-storage: remove us->sensebuf This patch (as1171) removes us->sensebuf, since it isn't used anywhere. Signed-off-by: Alan Stern Signed-off-by: Greg Kroah-Hartman commit f9dc8f99e5846606b1f475b3905eaf5ae1017c50 Author: Alan Stern Date: Tue Nov 18 14:08:07 2008 -0500 usb-storage: clean up unusual_devs.h This patch (as1170) removes some duplicate entries in unusual_devs.h and rearranges a few others to put the list in proper numerical order. Signed-off-by: Alan Stern Signed-off-by: Greg Kroah-Hartman commit 6cd132015d92356b1287f6f3377a3ad955b6cf2f Author: Alan Stern Date: Thu Nov 13 15:08:30 2008 -0500 USB: announce new devices earlier This patch (as1166) changes usb_new_device(). Now new devices will be announced in the log _prior_ to being registered; this way the "new device" lines will appear before all the output from driver probing, which seems much more logical. Also, the patch adds a call to usb_stop_pm() to the failure pathway, so that the parent's count of unsuspended children will remain correct if registration fails. In order for this to work properly, the code to increment that count has to be moved forward, before the first point where a failure can occur. Signed-off-by: Alan Stern Signed-off-by: Greg Kroah-Hartman commit f150fa1afbf69a87f54752579ff2bb769aad88b3 Author: Pete Zaitcev Date: Thu Nov 13 21:31:21 2008 -0700 USB: Allow usbmon as a module even if usbcore is builtin usbmon can only be built as a module if usbcore is a module too. Trivial changes to the relevant Kconfig and Makefile (and a few trivial changes elsewhere) allow usbmon to be built as a module even if usbcore is builtin. This is verified to work in all 9 permutations (3 correctly prohibited by Kconfig, 6 build a suitable result). Signed-off-by: Paul Bolle Signed-off-by: Pete Zaitcev Signed-off-by: Greg Kroah-Hartman commit 5e5b0e5d6a354f6f457368149eb2e9a61e5576cf Author: Qinghuang Feng Date: Fri Nov 14 20:24:11 2008 +0800 USB: serial: ipw.c: mark {__init|__exit} for usb_ipw_{init|exit} mark {__init|__exit} for usb_ipw_{init|exit} () Signed-off-by: Qinghuang Feng Signed-off-by: Greg Kroah-Hartman commit 1c53e6cb80ae0442c5ee02ae29b1dec3d96a497e Author: Qinghuang Feng Date: Fri Nov 14 20:24:05 2008 +0800 USB: gadget: pxa27x_udc.c: cleanup kernel-doc no argument named @index in pio_irq_disable, and no argument named @req in inc_ep_stats_bytes, remove them. Signed-off-by: Qinghuang Feng Signed-off-by: Greg Kroah-Hartman commit 0a2e5b9b8a3d205b565dec18d6fe39ef1aed75cc Author: Magnus Damm Date: Thu Nov 13 15:46:37 2008 +0900 USB: m66592 and r8a66597 resource changes Use the more common platform_get_resource() together with index instead of depending on the resource name and platform_get_resource_by_name(). Replace the resource_len() implementation with resource_size(). Signed-off-by: Magnus Damm Acked-by: Yoshihiro Shimoda Signed-off-by: Greg Kroah-Hartman commit 3a407e7391767898027eb7030c41c78ebc7a785d Author: Jean Delvare Date: Thu Nov 13 18:57:53 2008 +0100 USB: Convert ohci-pnx4008 to a new-style i2c driver The legacy i2c binding model will go away soon, convert ohci-pnx4008 to use the new binding model instead. Signed-off-by: Jean Delvare Signed-off-by: Greg Kroah-Hartman commit dc023dceec861c60bc1d1a17a2c6496ddac26ee7 Author: Inaky Perez-Gonzalez Date: Thu Nov 13 10:31:35 2008 -0800 USB: Introduce usb_queue_reset() to do resets from atomic contexts This patch introduces a new call to be able to do a USB reset from an atomic contect. This is quite helpful in USB callbacks to handle errors (when the only thing that can be done is to do a device reset). It is done queuing a work struct that will do the actual reset. The struct is "attached" to an interface so pending requests from an interface are removed when said interface is unbound from the driver. The call flow then becomes: usb_queue_reset_device() __usb_queue_reset_device() [workqueue] usb_reset_device() usb_probe_interface() usb_cancel_queue_reset() [error path] usb_unbind_interface() usb_cancel_queue_reset() usb_driver_release_interface() usb_cancel_queue_reset() Note usb_cancel_queue_reset() needs smarts to try not to unqueue when it is actually being executed. This happens when we run the reset from the workqueue: usb_reset_device() is called and on interface unbind time, usb_cancel_queue_reset() would be called. That would deadlock on cancel_work_sync(). To avoid that, we set (before running usb_reset_device()) usb_intf->reset_running and clear it inmediately after returning. Patch is against 2.6.28-rc2 and depends on http://marc.info/?l=linux-usb&m=122581634925308&w=2 (as submitted by Alan Stern). Signed-off-by: Inaky Perez-Gonzalez Cc: Alan Stern Signed-off-by: Greg Kroah-Hartman commit 9ac39f28b5237a629e41ccfc1f73d3a55723045c Author: Alan Stern Date: Wed Nov 12 16:19:49 2008 -0500 USB: add asynchronous autosuspend/autoresume support This patch (as1160b) adds support routines for asynchronous autosuspend and autoresume, with accompanying documentation updates. There already are several potential users of this interface, and others are likely to arise as autosuspend support becomes more widespread. Signed-off-by: Alan Stern Signed-off-by: Greg Kroah-Hartman commit d4f373e57d3916814110968c5ea1155a8d972b5a Author: Alan Stern Date: Mon Nov 10 14:07:45 2008 -0500 USB: usb-storage: add "quirks=" module parameter This patch (as1163b) adds a "quirks=" module parameter to usb-storage. This will allow people to make short-term changes to their unusual_devs list without rebuilding the entire driver. Testing will become much easier, and less-sophisticated users will be able to access their buggy devices after a simple config-file change instead of having to wait for a new kernel release. The patch also adds a documentation entry for usb-storage's "delay_use" parameter, which has been around for years but but was never listed among the kernel parameters. Signed-off-by: Alan Stern Signed-off-by: Greg Kroah-Hartman commit 74c71ebd8d7c7a513022851a02bb52b9fa7e0dcb Author: Kay Sievers Date: Fri Nov 7 01:47:15 2008 +0100 oxu210hp-hcd.c: struct device - replace bus_id with dev_name(), dev_set_name() Signed-off-by: Kay Sievers Signed-off-by: Greg Kroah-Hartman commit 427c4f333474f5447f62387c1fb060e586c1a781 Author: Kay Sievers Date: Fri Nov 7 01:52:53 2008 +0100 usb: struct device - replace bus_id with dev_name(), dev_set_name() Signed-off-by: Kay Sievers Signed-off-by: Greg Kroah-Hartman commit 796bcae7361c28cf825780f6f1aac9dd3411394e Author: Vitaly Bordug Date: Sun Nov 9 19:43:30 2008 +0100 USB: powerpc: Workaround for the PPC440EPX USBH_23 errata [take 3] A published errata for ppc440epx states, that when running Linux with both EHCI and OHCI modules loaded, the EHCI module experiences a fatal error when a high-speed device is connected to the USB2.0, and functions normally if OHCI module is not loaded. There used to be recommendation to use only hi-speed or full-speed devices with specific conditions, when respective module was unloaded. Later, it was observed that ohci suspend is enough to keep things going, and it was turned into workaround, as explained below. Quote from original descriprion: The 440EPx USB 2.0 Host controller is an EHCI compliant controller. In USB 2.0 Host controllers, each EHCI controller has one or more companion controllers, which may be OHCI or UHCI. An USB 2.0 Host controller will contain one or more ports. For each port, only one of the controllers is connected at any one time. In the 440EPx, there is only one OHCI companion controller, and only one USB 2.0 Host port. All ports on an USB 2.0 controller default to the companion controller. If you load only an ohci driver, it will have control of the ports and any deviceplugged in will operate, although high speed devices will be forced to operate at full speed. When an ehci driver is loaded, it explicitly takes control of the ports. If there is a device connected, and / or every time there is a new device connected, the ehci driver determines if the device is high speed or not. If it is high speed, the driver retains control of the port. If it is not, the driver explicitly gives the companion controller control of the port. The is a software workaround that uses Initial version of the software workaround was posted to linux-usb-devel: http://www.mail-archive.com/linux-usb-devel@lists.sourceforge.net/msg54019.html and later available from amcc.com: http://www.amcc.com/Embedded/Downloads/download.html?cat=1&family=15&ins=2 The patch below is generally based on the latter, but reworked to powerpc/of_device USB drivers, and uses a few devicetree inquiries to get rid of (some) hardcoded defines. Signed-off-by: Vitaly Bordug Signed-off-by: Stefan Roese Cc: David Brownell Signed-off-by: Greg Kroah-Hartman commit cd40c4c45eaedc289d2e1cc33b18a49a211f0f82 Author: Anton Vorontsov Date: Sat Nov 8 20:51:48 2008 +0300 USB: fsl_qe_udc: Check for muram allocation errors The QE UDC doesn't check for cpm_muram_alloc() return values, this might cause all sorts of misbehaviour when cpm_muram_alloc() failed to allocate the muram memory. While at at, change few dev_dbg() calls to dev_err(), so that the driver would not die silently. Signed-off-by: Anton Vorontsov Cc: David Brownell Cc: Kumar Gala Cc: Li Yang Signed-off-by: Greg Kroah-Hartman commit 011b15df465745474e3ec85482633685933ed5a7 Author: Alan Stern Date: Tue Nov 4 11:29:27 2008 -0500 USB: change interface to usb_lock_device_for_reset() This patch (as1161) changes the interface to usb_lock_device_for_reset(). The existing interface is apparently not very clear, judging from the fact that several of its callers don't use it correctly. The new interface always returns 0 for success and it always requires the caller to unlock the device afterward. The new routine will not return immediately if it is called while the driver's probe method is running. Instead it will wait until the probe is over and the device has been unlocked. This shouldn't cause any problems; I don't know of any cases where drivers call usb_lock_device_for_reset() during probe. Signed-off-by: Alan Stern Cc: Pete Zaitcev Signed-off-by: Greg Kroah-Hartman commit 857cc4dfb6420ec0a67b3cda559aaa7c429ddce7 Author: Ilpo Järvinen Date: Thu Oct 30 13:56:47 2008 +0200 USB: usbtmc: indent & braces disagree, something else is desired It seems that there's rather involved way to say something which is commonly written in a plain simple form. Some type changes would probably be necessary to get gcc to do bitops instead of divide but it's no worse after my change than before I think. Signed-off-by: Ilpo Järvinen Signed-off-by: Greg Kroah-Hartman commit b404299f6bfdf5aa7315e521b570e33f082b2f9e Author: Oliver Neukum Date: Fri Feb 1 22:44:40 2008 +0100 USB: power availability check for berry_charge this introduces a sanity check into berry_charge to give up before damage is done if we lack juice. Signed-off-by: Oliver Neukum Signed-off-by: Greg Kroah-Hartman commit ff8973d9468ea07e61ef492dd8c806a6e1a76ac1 Author: Phil Endecott Date: Wed Nov 12 15:37:00 2008 +0000 USB: Remove restrictions on signal numbers in devio.c Just over a year ago (!) I had this brief exchange with Alan Stern: >> It seems that the signal that can be used with USBDEVFS_DISCSIGNAL and >> in usbdevfs_urb.signr is limited to the real-time signals SIGRTMIN to >> SIGRTMAX. What's the rationale for this restriction? I believe that a >> process can kill() itself with any signal number, can't it? I was >> planning to use SIGIO for usbdevfs_urb.signr and SIGTERM (uncaught) for >> USBDEVFS_DISCSIGNAL. I don't think I'll have a problem with using >> SIGRTMIN+n instead, but I'm curious to know if there's some subtle >> problem with the non-real-time signals that I should be aware of. > > I don't know of any reason for this restriction. Since no-one else could think of a reason either, I offer the following patch which allows any signal to be used with USBDEVFS_DISCSIGNAL and usbdevfs_urb.signr. Signed-off-by: Phil Endecott Cc: Alan Stern Signed-off-by: Greg Kroah-Hartman commit d767d888750a8e15656b7ee15d68f90a151b8936 Author: Harvey Harrison Date: Thu Nov 6 22:32:15 2008 -0800 USB: wusb: annotate association types withe proper endianness Also a trivial annotation in rh.c for: drivers/usb/wusbcore/rh.c:366:9: warning: incorrect type in assignment (different base types) drivers/usb/wusbcore/rh.c:366:9: expected unsigned short [unsigned] [short] [usertype] drivers/usb/wusbcore/rh.c:366:9: got restricted __le16 [usertype] drivers/usb/wusbcore/rh.c:367:9: warning: incorrect type in assignment (different base types) drivers/usb/wusbcore/rh.c:367:9: expected unsigned short [unsigned] [short] [usertype] drivers/usb/wusbcore/rh.c:367:9: got restricted __le16 [usertype] Association types annotation fixes piles of warnings similar to: drivers/usb/wusbcore/cbaf.c:238:30: warning: incorrect type in initializer (different base types) drivers/usb/wusbcore/cbaf.c:238:30: expected restricted __le16 [usertype] id drivers/usb/wusbcore/cbaf.c:238:30: got int drivers/usb/wusbcore/cbaf.c:238:30: warning: incorrect type in initializer (different base types) drivers/usb/wusbcore/cbaf.c:238:30: expected restricted __le16 [usertype] len drivers/usb/wusbcore/cbaf.c:238:30: got int Signed-off-by: Harvey Harrison Cc: David Vrabel Cc: Inaky Perez-Gonzalez Signed-off-by: Greg Kroah-Hartman commit d859bffc662482f06ba5603e6f592de4e18cf135 Author: Steven Noonan Date: Wed Nov 5 12:41:24 2008 -0800 USB: EHCI pci-quirks.c: don't wait so long for BIOS handoff Instead of waiting a painful 5000ms, quirk_usb_disable_ehci() now does a 1000ms loop to wait for the BIOS to acknowledge the handoff. The five second delay is really quite irritating to have to deal with every boot up, and I very seriously doubt any non-broken bios takes more than a second to do the actual handoff. Signed-off-by: Steven Noonan Cc: Alan Stern Cc: David Brownell Cc: Jeff Garzik Signed-off-by: Andrew Morton Signed-off-by: Greg Kroah-Hartman commit 92b0da1571353a39d07e0a592c4dda294cc2e04c Author: Alan Stern Date: Wed Oct 29 15:18:50 2008 -0400 USB: straighten out inline code in sysfs.c This patch (as1156) straightens out some code in usbcore. The usb_create_intf_ep_files() and usb_remove_intf_ep_files() routines don't need to be separate inlines; they should be moved bodily into the places where they get used. Signed-off-by: Alan Stern Signed-off-by: Greg Kroah-Hartman commit da2bbdcc3838ce75c30bda8c3f9a6e55ece47ee1 Author: Harvey Harrison Date: Wed Oct 29 14:25:51 2008 -0700 USB: avoid needless address-taking of function parameters There's no need to take the address of the function params or local variables when the direct value byteswapping routines are available. Signed-off-by: Harvey Harrison Signed-off-by: Andrew Morton Signed-off-by: Greg Kroah-Hartman commit aa459e6a2e8c9c5447b951f8f93e2ea76f65d104 Author: Anton Vorontsov Date: Wed Oct 29 14:25:50 2008 -0700 USB: protect hcd.h from multiple inclusions This will let us use this header in other header files. Will be needed for the FHCI USB Host driver. Signed-off-by: Anton Vorontsov Signed-off-by: Andrew Morton Signed-off-by: Greg Kroah-Hartman commit b92a78e582b1a45649143dc86e526f5824092478 Author: Rodolfo Giometti Date: Thu Oct 23 10:08:07 2008 +0200 usb host: Oxford OXU210HP HCD driver. This driver implements the support for Oxford OXU210HP USB high-speed host, no peripheral nor OTG. Signed-off-by: Rodolfo Giometti Cc: Kan Liu Signed-off-by: Greg Kroah-Hartman commit 3a4e72cbf2ac4435630a2b03bd25e60ef5967e99 Author: Vikram Pandita Date: Fri Oct 24 23:41:30 2008 +0530 USB: Avoid 20ms delay in EHCI resume For function ehci_bus_resume() - Added flag resume_needed No need to wait for 20ms if no port was suspended - Change mdelay to msleep - release and reacquire the spinlock around mdelay Signed-off-by: vikram pandita Acked-by: Alan Stern Signed-off-by: Greg Kroah-Hartman commit 8e8ce4b642ce4beb865fb1d67cd8ea883d9ae7d7 Author: Arjan van de Ven Date: Mon Oct 20 21:46:01 2008 -0700 USB: use pci_ioremap_bar() in drivers/usb Use the newly introduced pci_ioremap_bar() function in drivers/usb. pci_ioremap_bar() just takes a pci device and a bar number, with the goal of making it really hard to get wrong, while also having a central place to stick sanity checks. Signed-off-by: Arjan van de Ven Signed-off-by: Greg Kroah-Hartman commit e64a5219296fff11a0da0322b43012265cd3b327 Author: roel kluin Date: Tue Oct 21 00:47:23 2008 -0400 USB: clean up redundant tests on unsigned temp, bytes and param->{length,sglen,vary} are unsigned so these tests do nothing. Signed-off-by: Roel Kluin Signed-off-by: Greg Kroah-Hartman commit 3b438e30c686b1e904c759d3354d335050ab33f9 Author: Sergey Ovcharenko Date: Wed Dec 17 19:28:06 2008 +0300 USB: storage: unusual_devs.h additions for Macpower MasterBox Jason Johnston reported these problems with his external USB hard drive: http://bugs.gentoo.org/show_bug.cgi?id=250789 The number of reported sectors is off-by-one. /proc/bus/usb/devices: T: Bus=01 Lev=02 Prnt=08 Port=00 Cnt=01 Dev#= 9 Spd=480 MxCh= 0 D: Ver= 2.00 Cls=00(>ifc ) Sub=00 Prot=00 MxPS=64 #Cfgs= 1 P: Vendor=0dc4 ProdID=0073 Rev= 0.00 S: Manufacturer=Macpower Technology Co.LTD. S: Product=USB 2.0 3.5" DEVICE S: SerialNumber=03006C C:* #Ifs= 1 Cfg#= 1 Atr=c0 MxPwr=100mA I:* If#= 0 Alt= 0 #EPs= 2 Cls=08(stor.) Sub=06 Prot=50 Driver=usb-storage E: Ad=01(O) Atr=02(Bulk) MxPS= 512 Ivl=0ms E: Ad=82(I) Atr=02(Bulk) MxPS= 512 Ivl=0ms Signed-off-by: Sergey Ovcharenko Signed-off-by: Phil Dibowitz Signed-off-by: Greg Kroah-Hartman commit b8d23491f127aa0cd1863bd6cb58e771c558b762 Author: Paulo Afonso Graner Fessel Date: Fri Dec 12 12:05:18 2008 +0100 USB: storage: recognizing and enabling Nokia 5200 cell phoes This patch corrects the issue when one connects a Nokia 5200 cell phone in data storage mode. If one uses an unpatched unusual_devs.h, the following messages appear on /var/log/messages: Dec 12 01:03:24 alberich kernel: usb 4-2: new full speed USB device using uhci_hcd and address 3 Dec 12 01:03:25 alberich kernel: usb 4-2: configuration #1 chosen from 1 choice Dec 12 01:03:25 alberich kernel: scsi10 : SCSI emulation for USB Mass Storage devices Dec 12 01:03:25 alberich kernel: usb 4-2: New USB device found, idVendor=0421, idProduct=04bd Dec 12 01:03:25 alberich kernel: usb 4-2: New USB device strings: Mfr=1, Product=2, SerialNumber=3 Dec 12 01:03:25 alberich kernel: usb 4-2: Product: Nokia 5200 Dec 12 01:03:25 alberich kernel: usb 4-2: Manufacturer: Nokia Dec 12 01:03:25 alberich kernel: usb 4-2: SerialNumber: 353930018354523 Dec 12 01:03:25 alberich kernel: usbcore: registered new interface driver ub Dec 12 01:03:30 alberich kernel: scsi 10:0:0:0: Direct-Access Nokia Nokia 5200 0000 PQ: 0 AN SI: 4 Dec 12 01:03:30 alberich kernel: sd 10:0:0:0: [sdg] 3985409 512-byte hardware sectors (2041 MB) Dec 12 01:03:30 alberich kernel: sd 10:0:0:0: [sdg] Write Protect is off Dec 12 01:03:30 alberich kernel: sd 10:0:0:0: [sdg] Assuming drive cache: write through Dec 12 01:03:30 alberich kernel: sd 10:0:0:0: [sdg] 3985409 512-byte hardware sectors (2041 MB) Dec 12 01:03:30 alberich kernel: sd 10:0:0:0: [sdg] Write Protect is off Dec 12 01:03:30 alberich kernel: sd 10:0:0:0: [sdg] Assuming drive cache: write through Dec 12 01:03:30 alberich kernel: sdg: sdg1 Dec 12 01:03:30 alberich kernel: sd 10:0:0:0: [sdg] Attached SCSI removable disk Dec 12 01:03:30 alberich kernel: sd 10:0:0:0: Attached scsi generic sg9 type 0 Dec 12 01:03:30 alberich kernel: sd 10:0:0:0: [sdg] Sense Key : No Sense [current] Dec 12 01:03:30 alberich kernel: sd 10:0:0:0: [sdg] Add. Sense: No additional sense information Dec 12 01:03:30 alberich kernel: sd 10:0:0:0: [sdg] Sense Key : No Sense [current] Dec 12 01:03:30 alberich kernel: sd 10:0:0:0: [sdg] Add. Sense: No additional sense information Dec 12 01:03:30 alberich kernel: sd 10:0:0:0: [sdg] Sense Key : No Sense [current] (...) The MicroSD card in the phone remains inaccessible and finally the cell phone turns itself off. The patch solves this problem and makes the cell phone fully accessible: [root@alberich kernel-linus-2.6.27.5-1mdv]# df -h Sist. Arq. Tam Usad Disp Uso% Montado em /dev/sda6 31G 5,2G 26G 17% / /dev/sda1 92M 27M 61M 31% /boot /dev/mapper/homevg-homelv 240G 237G 3,5G 99% /home /dev/sda3 21G 7,9G 13G 40% /mnt/windows /dev/sdg1 2,0G 287M 1,7G 15% /media/disk <-------- I've found necessary to use the FL_US_CAPACITY_FIX switch, as without it the cell phone is recognized but it went berserk when performing low-level functions on it (a fdisk -l /dev/uba for example). lsusb -v output follows: Bus 004 Device 004: ID 0421:04bd Nokia Mobile Phones Device Descriptor: bLength 18 bDescriptorType 1 bcdUSB 2.00 bDeviceClass 0 (Defined at Interface level) bDeviceSubClass 0 bDeviceProtocol 0 bMaxPacketSize0 64 idVendor 0x0421 Nokia Mobile Phones idProduct 0x04bd bcdDevice 6.03 iManufacturer 1 Nokia iProduct 2 Nokia 5200 iSerial 3 353930018354523 bNumConfigurations 1 Configuration Descriptor: bLength 9 bDescriptorType 2 wTotalLength 32 bNumInterfaces 1 bConfigurationValue 1 iConfiguration 0 bmAttributes 0xc0 Self Powered MaxPower 100mA 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 0x81 EP 1 IN bmAttributes 2 Transfer Type Bulk Synch Type None Usage Type Data wMaxPacketSize 0x0040 1x 64 bytes bInterval 0 Endpoint Descriptor: bLength 7 bDescriptorType 5 bEndpointAddress 0x01 EP 1 OUT bmAttributes 2 Transfer Type Bulk Synch Type None Usage Type Data wMaxPacketSize 0x0040 1x 64 bytes bInterval 0 Device Status: 0x0001 Self Powered Signed-off-by: Paulo Afonso Graner Fessel Signed-off-by: Phil Dibowitz Cc: stable Signed-off-by: Greg Kroah-Hartman commit b16363991414a6025beb7269f9c1dd294f9b241f Author: Oliver Neukum Date: Fri Dec 12 11:01:45 2008 +0100 USB: storage: extend unusual range for 067b:3507 This device has been released in a new revision which is still buggy. Signed-off-by: Oliver Neukum Signed-off-by: Phil Dibowitz Cc: stable Signed-off-by: Greg Kroah-Hartman commit e2673b28911a43257265523e3672861be6e44093 Author: Nguyen Anh Quynh Date: Thu Dec 11 15:04:11 2008 -0800 USB: another unusual_devs entry for another bad Argosy storage device I have another Argosy USB storage device, which has the same problem with the Argosy USB storage device already fixed in 2.6.27.7. But this device has another product ID (840:84), so this patch adds a new entry into unusual_devs to fix the mount problem. I enclose here two patches: one against 2.6.27.8, and another against the latest linus-git tree. The information about the Argosy device is like below: #lsusb -v -d 840:84 Bus 005 Device 005: ID 0840:0084 Argosy Research, Inc. Device Descriptor: bLength 18 bDescriptorType 1 bcdUSB 2.00 bDeviceClass 0 (Defined at Interface level) bDeviceSubClass 0 bDeviceProtocol 0 bMaxPacketSize0 64 idVendor 0x0840 Argosy Research, Inc. idProduct 0x0084 bcdDevice 0.01 iManufacturer 1 Generic iProduct 2 USB 2.0 Storage Device iSerial 3 8400000000002549 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: 0x0000 (Bus Powered) Before the patch, dmesg returns a lot of information like below (my dmesg is overflown): .... [ 138.833390] sd 7:0:0:0: [sdb] Add. Sense: No additional sense information [ 138.877631] sd 7:0:0:0: [sdb] Sense Key : No Sense [current] [ 138.877643] sd 7:0:0:0: [sdb] Add. Sense: No additional sense information [ 138.921906] sd 7:0:0:0: [sdb] Sense Key : No Sense [current] [ 138.921923] sd 7:0:0:0: [sdb] Add. Sense: No additional sense information .... After the fix, dmesg returns below information: .... usb 5-1: new high speed USB device using ehci_hcd and address 5 usb 5-1: configuration #1 chosen from 1 choice scsi7 : SCSI emulation for USB Mass Storage devices usb-storage: device found at 5 usb-storage: waiting for device to settle before scanning usb-storage: device scan complete scsi 7:0:0:0: Direct-Access HTS54808 0M9AT00 MG4O PQ: 0 ANSI: 0 sd 7:0:0:0: [sdb] 156301488 512-byte hardware sectors (80026 MB) sd 7:0:0:0: [sdb] Write Protect is off sd 7:0:0:0: [sdb] Mode Sense: 03 00 00 00 sd 7:0:0:0: [sdb] Assuming drive cache: write through sd 7:0:0:0: [sdb] 156301488 512-byte hardware sectors (80026 MB) sd 7:0:0:0: [sdb] Write Protect is off sd 7:0:0:0: [sdb] Mode Sense: 03 00 00 00 sd 7:0:0:0: [sdb] Assuming drive cache: write through sdb: sdb1 sd 7:0:0:0: [sdb] Attached SCSI disk sd 7:0:0:0: Attached scsi generic sg1 type 0 kjournald starting. Commit interval 5 seconds EXT3 FS on sdb1, internal journal EXT3-fs: recovery complete. EXT3-fs: mounted filesystem with ordered data mode. Cc: Kuniyasu Suzaki Signed-off-by: Nguyen Anh Quynh Signed-off-by: Andrew Morton Cc: stable Signed-off-by: Greg Kroah-Hartman commit e3f47f89a57ef115755184a8b3f03a47ee227418 Author: Daniel Drake Date: Wed Dec 10 23:28:25 2008 +0200 USB: unusual_devs.h additions for Pentax K10D Jaak Ristioja reported problems with his Pentax K10D camera: https://bugs.gentoo.org/show_bug.cgi?id=250406 /proc/bus/usb/devices: T: Bus=02 Lev=01 Prnt=01 Port=00 Cnt=01 Dev#= 2 Spd=12 MxCh= 0 D: Ver= 2.00 Cls=00(>ifc ) Sub=00 Prot=00 MxPS=64 #Cfgs= 1 P: Vendor=0a17 ProdID=006e Rev= 1.00 S: Manufacturer=PENTAX Corporation S: Product=K10D C:* #Ifs= 1 Cfg#= 1 Atr=c0 MxPwr= 2mA I:* If#= 0 Alt= 0 #EPs= 3 Cls=08(stor.) Sub=06 Prot=50 Driver=usb-storage E: Ad=81(I) Atr=02(Bulk) MxPS= 64 Ivl=0ms E: Ad=02(O) Atr=02(Bulk) MxPS= 64 Ivl=0ms E: Ad=83(I) Atr=03(Int.) MxPS= 64 Ivl=100ms The number of reported sectors is off-by-one. Signed-off-by: Daniel Drake Cc: Kadianakis George Cc: stable Signed-off-by: Phil Dibowitz commit 490dea45d00f01847ebebd007685d564aaf2cd98 Author: Peter Zijlstra Date: Mon Nov 24 17:06:57 2008 +0100 itimers: remove the per-cpu-ish-ness Either we bounce once cacheline per cpu per tick, yielding n^2 bounces or we just bounce a single.. Also, using per-cpu allocations for the thread-groups complicates the per-cpu allocator in that its currently aimed to be a fixed sized allocator and the only possible extention to that would be vmap based, which is seriously constrained on 32 bit archs. So making the per-cpu memory requirement depend on the number of processes is an issue. Lastly, it didn't deal with cpu-hotplug, although admittedly that might be fixable. Signed-off-by: Peter Zijlstra Signed-off-by: Ingo Molnar commit ad160d23198193135cb2bcc75222e0816b5838c0 Author: Arjan van de Ven Date: Wed Jan 7 09:28:53 2009 -0800 async: don't do the initcall stuff post boot while tracking the asynchronous calls during boot using the initcall_debug convention is useful, doing it once the kernel is done is actually bad now that we use asynchronous operations post boot as well... Signed-off-by: Arjan van de Ven commit 24b0ecad07ac4d7ef74cb6f7da08c449fa9f6a4f Author: Arjan van de Ven Date: Sun Jan 4 10:59:18 2009 -0800 bootchart: improve output based on Dave Jones' feedback Dave Jones, in his blog, had some feedback about the bootchart script: Primarily his complaint was that shorter delays weren't visualized. The reason for that was that too small delays will have their labels mixed up in the graph in an unreadable mess. This patch has a fix for this; for one, it makes the output wider, so more will fit. The second part is that smaller delays are now shown with a much smaller font for the label; while this isn't per se readable at a 1:1 zoom, at least you can zoom in with most SVG viewing applications and see what it is you are looking at. Signed-off-by: Arjan van de Ven commit efaee192063a54749c56b7383803e16fe553630e Author: Arjan van de Ven Date: Tue Jan 6 07:20:54 2009 -0800 async: make the final inode deletion an asynchronous event this makes "rm -rf" on a (names cached) kernel tree go from 11.6 to 8.6 seconds on an ext3 filesystem Signed-off-by: Arjan van de Ven commit f29d3b23238e1955a8094e038c72546e99308e61 Author: Arjan van de Ven Date: Mon Jan 5 15:07:07 2009 -0800 fastboot: Make libata initialization even more async As suggested by Linus: Don't do the libata init in 2 separate steps with a global sync inbetween, but do it as one async step, with a local sync before registering the device. This cuts the boottime on my machine with 2 sata controllers down significantly, and it seems to work. Would be nice if the libata folks take a good look at this patch though.. Signed-off-by: Arjan van de Ven commit 793180570ff2530d133343ceea85648de5f01b02 Author: Arjan van de Ven Date: Sun Jan 4 05:32:28 2009 -0800 fastboot: make the libata port scan asynchronous This patch makes the libata port scanning asynchronous (per device). There is a synchronization point before doing the actual disk scan so that device ordering is not affected. Signed-off-by: Arjan van de Ven commit 4ace92fc112c6069b4fcb95a31d3142d4a43ff2a Author: Arjan van de Ven Date: Sun Jan 4 05:32:28 2009 -0800 fastboot: make scsi probes asynchronous This patch makes part of the scsi probe (which is mostly device spin up and the partition scan) asynchronous. Only the part that runs after getting the device number allocated is asynchronous, ensuring that device numbering remains stable. Signed-off-by: Arjan van de Ven commit 22a9d645677feefd402befd02edd59b122289ef1 Author: Arjan van de Ven Date: Wed Jan 7 08:45:46 2009 -0800 async: Asynchronous function calls to speed up kernel boot Right now, most of the kernel boot is strictly synchronous, such that various hardware delays are done sequentially. In order to make the kernel boot faster, this patch introduces infrastructure to allow doing some of the initialization steps asynchronously, which will hide significant portions of the hardware delays in practice. In order to not change device order and other similar observables, this patch does NOT do full parallel initialization. Rather, it operates more in the way an out of order CPU does; the work may be done out of order and asynchronous, but the observable effects (instruction retiring for the CPU) are still done in the original sequence. Signed-off-by: Arjan van de Ven commit 6368a1f4d99fe9a1990ef3f04ab2d2ce9dad0a7c Author: Robert Richter Date: Mon Dec 29 18:44:21 2008 +0100 oprofile: making add_sample_entry() inline Signed-off-by: Robert Richter commit 8350c78734e67ac1f8bfd4eb14b70ff4d01a9a12 Author: Robert Richter Date: Fri Dec 19 12:59:28 2008 +0100 oprofile: remove backtrace code for ibs This code is broken since a TRACE_BEGIN_CODE is never sent to the daemon. The data becomes corrupt since the backtrace is interpreted as ibs sample. Signed-off-by: Robert Richter commit f4ff2364417f0092e49f6a3aa474549a56697f2d Author: Robert Richter Date: Mon Jan 5 11:27:52 2009 +0100 oprofile: remove unused ibs macro Signed-off-by: Robert Richter commit 8d15df84a42b140a8262a325b987a283ef9f5f63 Author: Robert Richter Date: Wed Dec 24 15:42:58 2008 +0100 oprofile: remove unused components in struct oprofile_cpu_buffer Signed-off-by: Robert Richter commit dbe6e2835e32461e7d592077947081c32f3da1d5 Author: Robert Richter Date: Tue Dec 16 11:01:18 2008 +0100 oprofile: simplify add_ibs_begin() Signed-off-by: Robert Richter commit 77fa49d94a75b5f9702c70b4fbe27b08b21317b9 Author: Jean Delvare Date: Wed Jan 7 16:37:35 2009 +0100 hwmon: Fix various typos Signed-off-by: Jean Delvare Acked-by: Hans de Goede Acked-by: David Hubbard commit b9acb64a385c5b26fc392e0d58ac7b8e0a2cd812 Author: Jean Delvare Date: Wed Jan 7 16:37:35 2009 +0100 hwmon: Check for ACPI resource conflicts Check for ACPI resource conflicts in hwmon drivers. I've included all Super-I/O and PCI drivers. I've voluntarily left out: * Vendor-specific drivers: if they conflicted on any system, this would pretty much mean that they conflict on all systems, and we would know by now. * Legacy ISA drivers (lm78 and w83781d): they only support chips found on old designs were ACPI either wasn't supported or didn't deal with thermal management. * Drivers accessing the I/O resources indirectly (e.g. through SMBus): the checks are already done where they belong, i.e. in the bus drivers. Signed-off-by: Jean Delvare Acked-by: David Hubbard commit c8ac32e4711639c81e5f4d4cd78c8f21675a2bae Author: Manuel Lauss Date: Wed Jan 7 16:37:34 2009 +0100 hwmon: (lm70) Add TI TMP121 support The Texas Instruments TMP121 is a SPI temperature sensor very similar to the LM70, with slightly higher resolution. This patch extends the LM70 driver to support the TMP121. The TMP123 differs in pin assign- ment. Signed-off-by: Manuel Lauss Signed-off-by: Jean Delvare commit 2b7300513b98e05058a803de3beb8a1c0a0c61d9 Author: Kaiwan N Billimoria Date: Wed Jan 7 16:37:34 2009 +0100 hwmon: (lm70) Code streamlining and cleanup This fixes a byteswap bug in the LM70 temperature sensor driver, which was previously covered up by a converse bug in the driver for the LM70EVAL-LLP board (which is also fixed). Other fixes: doc updates, remove an annoying msleep(), and improve three-wire protocol handling. Signed-off-by: Kaiwan N Billimoria [ dbrownell@users.sourceforge.net: doc and whitespace tweaks ] Signed-off-by: David Brownell Signed-off-by: Jean Delvare commit 0589c2de643ef71a684ba6d219532f9e2a3e554b Author: Hans de Goede Date: Wed Jan 7 16:37:33 2009 +0100 hwmon: Deprecate the fscher and fscpos drivers Now that the new merged fschmd driver has gained support for the watchdog integrated into these IC's, there is no more reason to keep the old fscher and fscpos drivers around, so mark them as deprecated. Signed-off-by: Hans de Goede Signed-off-by: Jean Delvare commit 97950c3d423e474ef887749b238ee67731b532fe Author: Hans de Goede Date: Wed Jan 7 16:37:33 2009 +0100 hwmon: (fschmd) Add watchdog support This patch adds support for the watchdog part found in _all_ supported FSC sensor chips. Signed-off-by: Hans de Goede Signed-off-by: Jean Delvare commit 453e308d773979f6bbdf4109df27101072f6524b Author: Hans de Goede Date: Wed Jan 7 16:37:33 2009 +0100 hwmon: (fschmd) Cleanups for watchdog support Various small cleanups in preparation of adding watchdog support, mostly removing _MASK postfix from defines which are not masks. Signed-off-by: Hans de Goede Signed-off-by: Jean Delvare commit 6e31eb2b297c7b6678e6e77393bb8d01b5228bda Author: Darrick J. Wong Date: Wed Jan 7 16:37:33 2009 +0100 hwmon: (i5k_amb) Load automatically on all 5000/5400 chipsets It turns out that we cannot create a pci_driver in this driver because PCI will not call this module's probe function if the i5000-edac driver is already loaded. That said, we only want one value (AMBASE) from the PCI config space. Neither driver alters this value, so it's safe to read it. However, we still want the module aliases, so provide that. Signed-off-by: Darrick J. Wong Signed-off-by: Jean Delvare commit b4da93e4b0ffc261c3530fe938aefd52854aa84c Author: Jean-Marc Spaggiari Date: Wed Jan 7 16:37:32 2009 +0100 hwmon: (it87) Add support for the ITE IT8720F Allow it87.c to handle IT8720 chipset like IT8718 in order to retrieve voltage, temperatures and fans speed from sensors tools. Also updating the related documentation. Signed-off-by: Jean-Marc Spaggiari Signed-off-by: Jean Delvare commit 3aed198c35567e5a721f52c0bde23167867e6af6 Author: Jean Delvare Date: Wed Jan 7 16:37:32 2009 +0100 hwmon: Don't overuse I2C_CLIENT_MODULE_PARM I2C_CLIENT_MODULE_PARM is overkill for force_subclients. We really only use 4 out of the 48 slots, so we're better defining a custom variable instead. This change saves 92 bytes of data for each of the five drivers affected. Signed-off-by: Jean Delvare Cc: Wolfgang Grandegger Acked-by: Marc Hulsman Cc: Mark M. Hoffman commit 6e34b187bc216fc632769fb8b906d3a29ccd8f14 Author: Ira Snyder Date: Wed Jan 7 16:37:32 2009 +0100 hwmon: Add LTC4245 driver Add Linux support for the Linear Technology LTC4245 Multiple Supply Hot Swap controller I2C monitoring interface. Signed-off-by: Ira W. Snyder Acked-by: Hans de Goede Signed-off-by: Jean Delvare commit 2f650631b3710622666367474b5475ff81ba486e Author: Hans de Goede Date: Wed Jan 7 16:37:31 2009 +0100 hwmon: (f71882fg) Fix fan_to/from_reg prototypes The RPM after conversion from / before conversion to a register value can be much more than 65535 (up to 1500000), so putting this into an u16 can cause overflows. This changes the functions to use an int to store / get RPM instead. Signed-off-by: Hans de Goede Signed-off-by: Jean Delvare commit 28ba858798d5c70513cd8b9742841fd1bd49a074 Author: Hans de Goede Date: Wed Jan 7 16:37:31 2009 +0100 hwmon: (f71882fg) Printout fan modes Print the mode (duty-cycle or RPM) of each fan on driver load. Signed-off-by: Hans de Goede Signed-off-by: Jean Delvare commit 3b02d332b6f15cc8f7b6a04757c86034669600e0 Author: Hans de Goede Date: Wed Jan 7 16:37:31 2009 +0100 hwmon: (f71882fg) Add documentation Add some documentation about the f71882fg driver, and update the Kconfig documentation to report the new supported models. Signed-off-by: Hans de Goede Signed-off-by: Jean Delvare commit 30453018655a3acd5f59e793da55a2f969ed9c32 Author: Hans de Goede Date: Wed Jan 7 16:37:30 2009 +0100 hwmon: (f71882fg) Fix auto_channels_temp temp numbering with f8000 Adjust auto_channels_temp show and store functions for different numbering of temps between f8000 and other supported models. Signed-off-by: Hans de Goede Signed-off-by: Jean Delvare commit 4901062f78401f09ef0296466172905c93575ddd Author: Hans de Goede Date: Wed Jan 7 16:37:30 2009 +0100 hwmon: (f71882fg) Add missing pwm3 attr for f71862fg For some reason the fan_attr array for the f71862fg was missing the attr for the 3th pwm output. This patch fixes this. Signed-off-by: Hans de Goede Signed-off-by: Jean Delvare commit ed4f7c20b346294959a16d35443def922e5e1e59 Author: Hans de Goede Date: Wed Jan 7 16:37:30 2009 +0100 hwmon: (f71882fg) Add F8000 support And (finally) the patch actually adding f8000 support. Signed-off-by: Hans de Goede Signed-off-by: Jean Delvare commit 4c82c38ae29a01338b5104b0111cecefaf3a1025 Author: Hans de Goede Date: Wed Jan 7 16:37:30 2009 +0100 hwmon: (f71882fg) Remove the fan_mode module option Remove the fan_mode module option it was a monstrosity to begin with, and when adding support for the F8000 it becomes a real pain! Signed-off-by: Hans de Goede Signed-off-by: Jean Delvare commit 754a5907b01687089382e362753dcceaca58ee66 Author: Hans de Goede Date: Wed Jan 7 16:37:29 2009 +0100 hwmon: (f71882fg) Separate max and crit alarm and beep While studying the datasheets for adding F8000 support, I noticed that the F718x2 has separate alarms (and beep control) for its max and crit limits. We keep the temp#_alarm attributes as they are, even though it would be more logical to rename them to temp#_max_alarm. Because lm_sensors v2 depends on them. Signed-off-by: Hans de Goede Signed-off-by: Jean Delvare commit 12d66e840b605265d6adf4b800cc3fc5fb410903 Author: Hans de Goede Date: Wed Jan 7 16:37:29 2009 +0100 hwmon: (f71882fg) Check for hwmon powerdown state More F8000 prep work. Take over the checking if the hwmon part is not powered down from the standalone f8000 driver. This check is valid for all supported models. Signed-off-by: Hans de Goede Signed-off-by: Jean Delvare commit bc27490f9164281b9e1768a5df8e0951541f90a1 Author: Hans de Goede Date: Wed Jan 7 16:37:29 2009 +0100 hwmon: (f71882fg) Cleanup fan and temp hyst functions Simplify fan and temp hyst. handling by treating the registers as an array of nibbles instead of using switch cases. Also unify the way hysts are handled between temp and fans, the temp code was storing the actual per temp hyst values in 4 u8's, where as the fan code was storing actual register values. Signed-off-by: Hans de Goede Signed-off-by: Jean Delvare commit ce0bfa5ee25ddbe4072b16054e809f552bf72320 Author: Hans de Goede Date: Wed Jan 7 16:37:28 2009 +0100 hwmon: (f71882fg) Fix various sysfs callback function issues While working on adding F8000 support I noticed that various of the store sysfs functions (and a few of the show also) had issues. This patch fixes the following issues in these functions: * store: storing the result of strto[u]l in an int, resulting in a possible overflow before boundary checking * store: use of f71882fg_update_device(), we don't want to read the whole device in store functions, just the registers we need * store: use of cached register values instead of reading the needed regs in the store function, including cases where f71882fg_update_device() was not used, this could cause real isues * show: shown value is a calculation of 2 or more cached register reads, without locking the data struct. Signed-off-by: Hans de Goede Signed-off-by: Jean Delvare commit 7567a0435520fe61420ff2cdc4cec1b5399a5134 Author: Hans de Goede Date: Wed Jan 7 16:37:28 2009 +0100 hwmon: (f71882fg) Prepare for adding F8000 support This patch is a preparation patch for adding F8000 support to the f71882fg driver. If you look at the register addresses and esp, the bits used for the temperature channels, then you will notice that it appears that they start at 1 in a system meant to start at 0. As the F8000 actually uses the 0 addresses and bits, this patch changes the f71882fg driver to take 4 temperatures numbered 0-3 in to account, using 1-3 in this new scheme for the temperatures actually present in the F718x2FG. Signed-off-by: Hans de Goede Signed-off-by: Jean Delvare commit 3cc74758a667c5ad46fa5d6810ce701095370d35 Author: Hans de Goede Date: Wed Jan 7 16:37:28 2009 +0100 hwmon: (f71882fg) Move some io access from the detect to the probe function The f71882fg driver did some io to ioports it hadn't reserved yet in its find (detect) function, this patches moves this io to the probe function where these ports are reserved and this io belongs. Signed-off-by: Hans de Goede Signed-off-by: Jean Delvare commit 498be96834bf88a44db2f4a3115688c882e6f3e3 Author: Hans de Goede Date: Wed Jan 7 16:37:28 2009 +0100 hwmon: (f71882fg) Add support for the F71862FG superio sensors This patch adds support for the Fintek f71862fg superio monitoring functions to the f71882fg driver. This support has been tested without problems on a Jetway J9F2 by Tony McConnell. Signed-off-by: Hans de Goede Signed-off-by: Jean Delvare commit c13548c531ff40501aee1c1dd6f474c3c6adfcd5 Author: Hans de Goede Date: Wed Jan 7 16:37:27 2009 +0100 hwmon: (f71882fg) Style cleanups and put some repeating code into functions Various small cleanups as preparation for adding f71862fg support to the f71882fg driver. Signed-off-by: Hans de Goede Signed-off-by: Jean Delvare commit 9ab796ebe185257013f0ac505ecbe7abf068a608 Author: Mark van Doesburg Date: Wed Jan 7 16:37:27 2009 +0100 hwmon: (f71882fg) Add PWM support Add PWM (fan speed control) support to the f71882fg driver. Both manual control and automatic (temperature-based) modes are supported. Additionally, each mode has a PWM-based and an RPM-based variant. By default we use the mode set by the BIOS. Signed-off-by: Hans de Goede Cc: Mark van Doesburg Signed-off-by: Jean Delvare commit 77a4a3e2a36aea5896f86653f6b77168d578c962 Author: Mark van Doesburg Date: Wed Jan 7 16:37:27 2009 +0100 hwmon: (f71882fg) Misc cleanups A few cleanups that were originally part of a larger patch but are better submitted separately. Signed-off-by: Hans de Goede Cc: Mark van Doesburg Signed-off-by: Jean Delvare commit bc37ae71207ca899efb93be1fe6b000366debc3a Author: Mark van Doesburg Date: Wed Jan 7 16:37:27 2009 +0100 hwmon: (f71882fg) Use sensor_device_attribute_2 Convert f71882fg driver from SENSOR_ATTR to SENSOR_ATTR2 use, this is a preparation patch for adding pwm support, which is broken out to make what changes really in the pwm support patch clear. Signed-off-by: Hans de Goede Cc: Mark van Doesburg Signed-off-by: Jean Delvare commit fdd4e8152f5f0d6d500b35515265e425acdfd203 Author: Timur Tabi Date: Tue Jan 6 17:12:23 2009 -0600 powerpc/qe: add Ethernet UPSMR definitions to QE library Add the UCC_GETH_UPSMR_xxx definitions to qe.h. The ucc_geth driver will eventually use these instead of the UPSMR_ macros it currently defines. Signed-off-by: Timur Tabi Signed-off-by: Kumar Gala commit be122d6d8b836fec329d740e75bfbdffa96ff6ff Author: Kumar Gala Date: Tue Jan 6 10:23:37 2009 -0600 powerpc/85xx: Fix PCIe error interrupts The PCIe interrupts for 8544ds and 8572ds were incorrect. The 8572 case was found by Liu Yu. Signed-off-by: Kumar Gala commit 1433fa7d8da608f59df1f6f381da00958bf5a0b7 Author: Jason Jin Date: Thu Dec 4 19:14:28 2008 +0800 powerpc: Fix the ide suspend function in uli1575 The general pci resume code can only restore part of the configuration registers. We need to reconfigure those registers in the FIXUP_RESUME. Signed-off-by: Jason Jin Signed-off-by: Kumar Gala commit 06af15e086e39a5a2a2413973a64af8e10122f28 Author: Robin Getz Date: Wed Jan 7 23:14:39 2009 +0800 Blackfin arch: fix bug - BF527 0.2 silicon has different CPUID (DSPID) value BF523/5/7 == 27e0 (all revs) BF522/4/6 == 27e4 (all revs) Signed-off-by: Robin Getz Signed-off-by: Bryan Wu commit 6ecb5b6dbc01b958fdce7008f297a5c7ba2d8105 Author: Grace Pan Date: Wed Jan 7 23:14:38 2009 +0800 Blackfin arch: Enlarge flash partition for kenel for bf533/bf537 boards Signed-off-by: Grace Pan Signed-off-by: Bryan Wu commit 8d8921a2243d7355d6ac3a42908c87999bf09295 Author: Mike Frysinger Date: Wed Jan 7 23:14:39 2009 +0800 Blackfin arch: fix bug: kernel crash when enable SDIO host driver update bfin-sdh platform data to fix this issue. Pointed-out-by: Dominik Herwald Signed-off-by: Mike Frysinger Signed-off-by: Bryan Wu commit b339dc79b49841eff0aeecfc444cbb7b26007649 Author: Jie Zhang Date: Wed Jan 7 23:14:39 2009 +0800 Blackfin arch: Print FP at level KERN_NOTICE Signed-off-by: Jie Zhang Signed-off-by: Bryan Wu commit 3a7526d4f5e42bb14b796eaa2aa26b9bdf6ceef4 Author: Mike Frysinger Date: Wed Jan 7 23:14:38 2009 +0800 Blackfin arch: drop ad73311 test code drop ad73311 test code, this can be done easily from userspace Signed-off-by: Mike Frysinger Signed-off-by: Bryan Wu commit d64bc118d3b1b20120be8ea0f7e4c0b0df6ff02a Author: Sonic Zhang Date: Wed Jan 7 23:14:39 2009 +0800 Blackfin arch: update board default configs Signed-off-by: Mike Frysinger Signed-off-by: Sonic Zhang Signed-off-by: Bryan Wu commit f153c5546f828a4311addf7697f360e6265406c6 Author: Sonic Zhang Date: Wed Jan 7 23:14:39 2009 +0800 Blackfin arch: Set PB4 as the default irq for bf548 board v1.4+. Signed-off-by: Sonic Zhang Signed-off-by: Bryan Wu commit 09b7f4ad507bacd9c24d57966d23c4c715240dda Author: Mike Frysinger Date: Wed Jan 7 23:14:39 2009 +0800 Blackfin arch: fix typo in early printk bit size processing Signed-off-by: Mike Frysinger Signed-off-by: Bryan Wu commit 4934540d9fd49c13dd1fbef640fcdad75e9a3329 Author: Sonic Zhang Date: Wed Jan 7 23:14:38 2009 +0800 Blackfin arch: enable reprogram cclk and sclk for bf518f-ezbrd Signed-off-by: Sonic Zhang Signed-off-by: Bryan Wu commit 501674a593e7cffc416bc15c99ed9589316406d8 Author: Cliff Cai Date: Wed Jan 7 23:14:38 2009 +0800 Blackfin arch: add SDIO host driver platform data Signed-off-by: Cliff Cai Signed-off-by: Bryan Wu commit e062ceab35801314bfa3e08e7c76faf0045fcf79 Author: Sonic Zhang Date: Wed Jan 7 23:14:39 2009 +0800 Blackfin arch: fix bug - kernel stops at initial console Bug: Boot kernel in BF533-EZKIT without set ip during boot, it stops at initial console. Restore serial platform_device data to fix this issue. Signed-off-by: Sonic Zhang Signed-off-by: Bryan Wu commit 3af8e931c783d52c9c5df93604e622eb5e054ee8 Author: Michael Hennerich Date: Wed Jan 7 23:14:39 2009 +0800 Blackfin arch: fix bug - kernel crash after config IP for ethernet port Fix typo - kernel crash on bf533-stamp/bf533-ezkit after config IP for ethernet port Signed-off-by: Michael Hennerich Signed-off-by: Bryan Wu commit 14a959101e166abd4165f5a53db5f3dbe4e16fb9 Author: Cliff Cai Date: Wed Jan 7 23:14:38 2009 +0800 Blackfin arch: add sdh support for bf518f-ezbrd Signed-off-by: Cliff Cai Signed-off-by: Bryan Wu commit 6ea28f0ba24d5eb7055b83cd78f51c92a8d7f3e5 Author: Robin Getz Date: Wed Jan 7 23:14:39 2009 +0800 Blackfin arch: fix bug - kernel detects BF532 incorrectly fix this typo in this patch Reported-by: Ben Matthews Signed-off-by: Robin Getz Signed-off-by: Bryan Wu commit 8f9f0e2f5c0af81656bf0d08451c7d09af412baf Author: Mike Frysinger Date: Wed Jan 7 23:14:38 2009 +0800 Blackfin arch: add () to avoid warnings from gcc Signed-off-by: Mike Frysinger Signed-off-by: Bryan Wu commit e60cb8a9eb2d76ac072a45112dfaf365837d86aa Author: Mike Frysinger Date: Wed Jan 7 23:14:38 2009 +0800 Blackfin arch: change HWTRACE Kconfig and set it on default change the hwtrace description to be less confusing and default it to on (since there shouldnt be any crashes in the miss handler code itself) Signed-off-by: Mike Frysinger Signed-off-by: Bryan Wu commit 7be138838f2a0c1e1212890481ff9215d3d0fdca Author: Graf Yang Date: Wed Jan 7 23:14:38 2009 +0800 Blackfin arch: Clean oprofile build path for blackfin [Mike Frysinger : scrub comment header] Signed-off-by: Graf Yang Signed-off-by: Mike Frysinger Signed-off-by: Bryan Wu commit 172e65e778ad500da26d59965750966e1ac7be51 Author: Graf Yang Date: Wed Jan 7 23:14:39 2009 +0800 Blackfin arch: remove hardware PM code, oprofile not use it Signed-off-by: Graf Yang Signed-off-by: Bryan Wu commit e32f55d9dbffd2ca16e0bb4ea7156b56741b78cd Author: Mike Frysinger Date: Wed Jan 7 23:14:39 2009 +0800 Blackfin arch: rewrite get_sclk()/get_vco() rewrite get_sclk()/get_vco() based on the assumption sclk/vco never changes (since today it cannot) Signed-off-by: Mike Frysinger Signed-off-by: Bryan Wu commit c250bfb93c046a789989af475ae18d08c61b4cfa Author: Mike Frysinger Date: Wed Jan 7 23:14:38 2009 +0800 Blackfin arch: cleanup and unify the ins functions this also fixes some errors in the ipipe merge Signed-off-by: Mike Frysinger Signed-off-by: Bryan Wu commit 39ca44536d03cc0cd3e8a265d6e5ca1f7dd60719 Author: Sonic Zhang Date: Wed Jan 7 23:14:39 2009 +0800 Blackfin arch: Make bfin_mac built for bf51x Signed-off-by: Sonic Zhang Signed-off-by: Bryan Wu commit 6a01f230339321292cf065551f8cf55361052461 Author: Yi Li Date: Wed Jan 7 23:14:39 2009 +0800 Blackfin arch: merge adeos blackfin part to arch/blackfin/ [Mike Frysinger : - handle bf531/bf532/bf534/bf536 variants in ipipe.h - cleanup IPIPE logic for bfin_set_irq_handler() - cleanup ipipe asm code a bit and add missing ENDPROC() - simplify IPIPE code in trap_c - unify some of the IPIPE code and fix style - simplify DO_IRQ_L1 handling with ipipe code - revert IRQ_SW_INT# addition from ipipe merge - remove duplicate get_{c,s}clk() prototypes ] Signed-off-by: Yi Li Signed-off-by: Mike Frysinger Signed-off-by: Bryan Wu commit 5105432a3201e3f0e6c219cd0a74feee1e5e262b Author: Michael Hennerich Date: Wed Jan 7 23:14:38 2009 +0800 Blackfin arch: Add AD7879 defaults for the Blackfin Landscape LCD EZ-Extender Signed-off-by: Michael Hennerich Signed-off-by: Bryan Wu commit cc92b870a779500f444419f27bf73c6c7660ff9c Author: Sonic Zhang Date: Wed Jan 7 23:14:38 2009 +0800 Blackfin arch: disable pthread stack check for SMP at runtime Signed-off-by: Sonic Zhang Signed-off-by: Bryan Wu commit 459249aa2d9ae02f49479a2096e5372ccc29c9be Author: Mike Frysinger Date: Wed Jan 7 23:14:39 2009 +0800 Blackfin arch: merge kgdb test code using common CONFIG_KGDB_TESTS [Grace Pan : Add case for kgdb test in l1 and l2] Signed-off-by: Grace Pan Signed-off-by: Mike Frysinger Signed-off-by: Bryan Wu commit dbdf20db537a5369c65330f878ad4905020a8bfa Author: Bernd Schmidt Date: Wed Jan 7 23:14:38 2009 +0800 Blackfin arch: Faster C implementation of no-MPU CPLB handler This is a mixture ofcMichael McTernan's patch and the existing cplb-mpu code. We ditch the old cplb-nompu implementation, which is a good example of why a good algorithm in a HLL is preferrable to a bad algorithm written in assembly. Rather than try to construct a table of all posible CPLBs and search it, we just create a (smaller) table of memory regions and their attributes. Some of the data structures are now unified for both the mpu and nompu cases. A lot of needless complexity in cplbinit.c is removed. Further optimizations: * compile cplbmgr.c with a lot of -ffixed-reg options, and omit saving these registers on the stack when entering a CPLB exception. * lose cli/nop/nop/sti sequences for some workarounds - these don't * make sense in an exception context Additional code unification should be possible after this. [Mike Frysinger : - convert CPP if statements to C if statements - remove redundant statements - use a do...while loop rather than a for loop to get slightly better optimization and to avoid gcc "may be used uninitialized" warnings ... we know that the [id]cplb_nr_bounds variables will never be 0, so this is OK - the no-mpu code was the last user of MAX_MEM_SIZE and with that rewritten, we can punt it - add some BUG_ON() checks to make sure we dont overflow the small cplb_bounds array - add i/d cplb entries for the bootrom because there is functions/data in there we want to access - we do not need a NULL trailing entry as any time we access the bounds arrays, we use the nr_bounds variable ] Signed-off-by: Michael McTernan Signed-off-by: Mike Frysinger Signed-off-by: Bernd Schmidt Signed-off-by: Bryan Wu commit 6651ece9e257302ee695ee76e69a4427f7033235 Author: Mike Frysinger Date: Wed Jan 7 23:14:38 2009 +0800 Blackfin arch: update anomaly headers to match latest sheets Signed-off-by: Mike Frysinger Signed-off-by: Bryan Wu commit a0dcfb16e606ca095eb1e9e789aff5e41e9adb1a Author: Graf Yang Date: Wed Jan 7 23:14:39 2009 +0800 Blackfin arch: Fix bug - IrDA SIR build failed for BF533. Signed-off-by: Graf Yang Signed-off-by: Bryan Wu commit 7419a327f6264bef869b195497aaf03b72ca17b7 Author: Robin Getz Date: Wed Jan 7 23:14:39 2009 +0800 Blackfin arch: panic when running on a chip rev below what we are compiled for If we are running on a chip revision below what we are compiled for, there will be missing anomaly workarounds, and a panic is inevitable. Do is sooner, rather than later, so people don't look for bugs that already have workarounds (that they turned off). Signed-off-by: Robin Getz Signed-off-by: Bryan Wu commit fea05dacdabe14d875093daa2fb6135fa4950142 Author: Bryan Wu Date: Wed Jan 7 23:14:39 2009 +0800 Blackfin arch: Fix bug - wrong endpoint number and dma channels of USB Blackfin MUSB has 8 endpoints including ep0 and 8 dma channels not 7 Signed-off-by: Bryan Wu commit 508808cda6c39819f51b58e95ba5c6222acea222 Author: Mike Frysinger Date: Wed Jan 7 23:14:38 2009 +0800 Blackfin arch: do not allow people to pass in a diff clkin_hz value do not allow people to pass in a diff clkin_hz value when reprogramming clocks -- it is too late currently Signed-off-by: Mike Frysinger Signed-off-by: Bryan Wu commit 7f1e2f98bd29f51edd64e0c15b10d9a18a7af4e1 Author: Mike Frysinger Date: Wed Jan 7 23:14:38 2009 +0800 Blackfin arch: allow clkin_hz to be specified on the command line Signed-off-by: Mike Frysinger Signed-off-by: Bryan Wu commit 275123e8ab59ee6379dcccbd05c5fcc418801b64 Author: Mike Frysinger Date: Wed Jan 7 23:14:39 2009 +0800 Blackfin arch: show_cpuinfo - consolidate ugly casts rather than use *(unsigned int *)v everywhere, do this once with a local cpu_num variable Signed-off-by: Mike Frysinger Signed-off-by: Bryan Wu commit a1ee74ca09cb8c5929bab0b16e0c58e7c85b9414 Author: Mike Frysinger Date: Wed Jan 7 23:14:38 2009 +0800 Blackfin arch: add __init markings to Blackfin timer init functions Signed-off-by: Mike Frysinger Signed-off-by: Bryan Wu commit 71f5ca35d5aa1c27920c2a223993bef551c723b5 Author: Mike Frysinger Date: Wed Jan 7 23:14:38 2009 +0800 Blackfin arch: add get_dma_config() func to match set_dma_config() Signed-off-by: Mike Frysinger Signed-off-by: Bryan Wu commit 4ce1873634e1b0bf34fd0f00bff2144029e89247 Author: Mike Frysinger Date: Wed Jan 7 23:14:38 2009 +0800 Blackfin arch: add volatile markings to DMA MMRs Signed-off-by: Mike Frysinger Signed-off-by: Bryan Wu commit 6a6be3d1882743a382f18da9821a410bb29964a2 Author: Michael Hennerich Date: Wed Jan 7 23:14:39 2009 +0800 Blackfin arch: Make the interrupt edge and polarity type configurable based on IORESOURCE_BITS Signed-off-by: Michael Hennerich Signed-off-by: Bryan Wu commit 3d7c603ed44fbd7d047aa94d8791803ec1e17d03 Author: Graf Yang Date: Wed Jan 7 23:14:39 2009 +0800 Blackfin arch: Remove wasted SIR header files Signed-off-by: Graf Yang Signed-off-by: Bryan Wu commit 42bd8bcb2fa1853fda9c51d956f70bbe2329bdfb Author: Graf Yang Date: Wed Jan 7 23:14:39 2009 +0800 Blackfin arch: Modify bfin_sir device configuration to board file Signed-off-by: Graf Yang Signed-off-by: Bryan Wu commit c0948d3316eaf3fdacc461c2c9e18441022e9e63 Author: Graf Yang Date: Wed Jan 7 23:14:39 2009 +0800 Blackfin arch: update header to match new location Signed-off-by: Graf Yang Signed-off-by: Bryan Wu commit 90fdc1356808643bb53dcd00ed372817aff734ae Author: Jean Delvare Date: Wed Jan 7 23:14:39 2009 +0800 Blackfin arch: Fix typo (channel) Channnel -> Channel Signed-off-by: Jean Delvare Signed-off-by: Bryan Wu commit 71ae92f51a5f2d824972cf60b25cc40def62ba29 Author: Bernd Schmidt Date: Wed Jan 7 23:14:39 2009 +0800 Blackfin arch: Replace C version of 64 bit multiply with hand optimized assembly Signed-off-by: Bernd Schmidt Signed-off-by: Bryan Wu commit 36478585d994f82654cf8435b34c1a8df3c6ae69 Author: Mike Frysinger Date: Wed Jan 7 23:14:39 2009 +0800 Blackfin arch: remove unused members of dma_channel struct Signed-off-by: Mike Frysinger Signed-off-by: Bryan Wu commit 26fe19f76027b05c39faa9b728912631e91ec182 Author: Robin Getz Date: Wed Jan 7 23:14:39 2009 +0800 Blackfin arch: Update some inline assembly, tweak some register constraints Signed-off-by: Robin Getz Signed-off-by: Bryan Wu commit 2377feb4ce1cd42b7c1d266f466d69597d9dac7f Author: Mike Frysinger Date: Wed Jan 7 23:14:39 2009 +0800 Blackfin arch: stub out pgprot_noncached() like other people seem to do on nommu Signed-off-by: Mike Frysinger Signed-off-by: Bryan Wu commit bc39ac66808a49d64e6add3e01d3b0fdeaa49d22 Author: Nick Andrew Date: Wed Jan 7 23:14:39 2009 +0800 Blackfin arch: Fix incorrect use of loose in cpufreq.c It should be 'lose', not 'loose'. Signed-off-by: Nick Andrew Signed-off-by: Mike Frysinger Signed-off-by: Bryan Wu commit 75aca61b1fc76f46da79d1a4ec393faa19005927 Author: Mike Frysinger Date: Wed Jan 7 23:14:38 2009 +0800 Blackfin arch: add __must_check markings to our user functions like other arches Signed-off-by: Mike Frysinger Signed-off-by: Bryan Wu commit d41e8009994f429ef7198a750c37fd9660366fab Author: Mike Frysinger Date: Wed Jan 7 23:14:38 2009 +0800 Blackfin arch: dma code: cannot simply OR the ndsize cannot simply OR the ndsize ... need to clear out the old value first Signed-off-by: Mike Frysinger Signed-off-by: Bryan Wu commit b6498391923c0a189c7719bc559f713f1e872238 Author: Mike Frysinger Date: Wed Jan 7 23:14:38 2009 +0800 Blackfin arch: add bfin_read_MDMA_S0_CONFIG compat for dma_memcpy Signed-off-by: Mike Frysinger Signed-off-by: Bryan Wu commit b13120d23bf4b066a36a9414514f992eb3907e4b Author: Bernd Schmidt Date: Wed Jan 7 23:14:39 2009 +0800 Blackfin arch: fix bug - crashes in tcp_v4_send_reset Michael says that some bugs are crashes in tcp_v4_send_reset. There's a missing clobber of "CC" in our checksum assembly statement; fixing this makes the generated code look much saner. Signed-off-by: Bernd Schmidt Signed-off-by: Bryan Wu commit 7ad883a94df143dcef5d83fde424b2ec27833c71 Author: Mike Frysinger Date: Wed Jan 7 23:14:39 2009 +0800 Blackfin arch: push cache flushing up to dma_memcpy push cache flushing up to dma_memcpy() so that we call the flush functions just once Signed-off-by: Mike Frysinger Signed-off-by: Bryan Wu commit 596b565bd10167bc6820aa09c1d3233b23743615 Author: Mike Frysinger Date: Wed Jan 7 23:14:39 2009 +0800 Blackfin arch: request_dma() returns 0 on success, not channel Signed-off-by: Mike Frysinger Signed-off-by: Bryan Wu commit 6ab729d82f1fa1f7d9896be1bd689ee2a1f17860 Author: Mike Frysinger Date: Wed Jan 7 23:14:38 2009 +0800 Blackfin arch: desc_ptr is a pointer, so declare it as such Signed-off-by: Mike Frysinger Signed-off-by: Bryan Wu commit 9c417a43299edc52931712a54c46cff4db19082c Author: Mike Frysinger Date: Wed Jan 7 23:14:39 2009 +0800 Blackfin arch: move most dma functions into static inlines move most dma functions into static inlines since they are vastly 1 liners that get/set a value in a structure Signed-off-by: Mike Frysinger Signed-off-by: Bryan Wu commit 4c1ed6a57bc51ecd471989ae744da86a9101912f Author: Mike Frysinger Date: Wed Jan 7 23:14:38 2009 +0800 Blackfin arch: dma header file: strip down includes to only necessary ones Signed-off-by: Mike Frysinger Signed-off-by: Bryan Wu commit 8f1cc233881cd5335327ef84baa6ba1c83b379b4 Author: Mike Frysinger Date: Wed Jan 7 23:14:39 2009 +0800 Blackfin arch: set_dma_callback: do not store .irq set_dma_callback: do not store .irq if request_irq() failed so we dont turn around and attempt to free_irq() it later on in free_dma() Signed-off-by: Mike Frysinger Signed-off-by: Bryan Wu commit 9b011407d653b92191aa4993222523039d44af52 Author: Mike Frysinger Date: Wed Jan 7 23:14:38 2009 +0800 Blackfin arch: drop irq_callback from struct dma_channel the irq member already serves the same purpose Signed-off-by: Mike Frysinger Signed-off-by: Bryan Wu commit 68532bdac35c9cc467c14cb9ea675835e07b5619 Author: Mike Frysinger Date: Wed Jan 7 23:14:38 2009 +0800 Blackfin arch: drop custom dma_interrupt_t and just use irq_handler_t Signed-off-by: Mike Frysinger Signed-off-by: Bryan Wu commit 259fea42e66e62226c310a6646049b99912af7cc Author: Mike Frysinger Date: Wed Jan 7 23:14:39 2009 +0800 Blackfin arch: include linux/mm.h since we use PAGE_ALIGN and such Signed-off-by: Mike Frysinger Signed-off-by: Bryan Wu commit 98946574a4d512480d98c159c12f9de114e76064 Author: Mike Frysinger Date: Wed Jan 7 23:14:38 2009 +0800 Blackfin arch: enable DEBUG_KERNEL for ADI boards Signed-off-by: Mike Frysinger Signed-off-by: Bryan Wu commit dd3dd384df7f9f77fba6875a606e5a663510cd1d Author: Mike Frysinger Date: Wed Jan 7 23:14:39 2009 +0800 Blackfin arch: rewrite dma_memcpy() and dma in/out functions - unify all dma in/out functions (takes ~35 lines of code now) - unify dma_memcpy with dma in/out functions (1 place that touches MDMA0 registers) - add support for 32bit transfers - cleanup dma_memcpy code to be much more readable - irqs are disabled only while programming MDMA registers rather than the entire transaction Signed-off-by: Mike Frysinger Signed-off-by: Bryan Wu commit 49946e7329fa38d79aed1a9ef4a64c320ada305d Author: Mike Frysinger Date: Wed Jan 7 23:14:38 2009 +0800 Blackfin arch: check pointers in safe_dma_memcpy Check pointers in safe_dma_memcpy as this is the entry point for user-space code Signed-off-by: Mike Frysinger Signed-off-by: Bryan Wu commit c9e0020d49587b1b214d65256a88a2978329aefe Author: Mike Frysinger Date: Wed Jan 7 23:14:39 2009 +0800 Blackfin arch: push bf561 PERIPHERAL_MAP oddity into bf561-specific code Signed-off-by: Mike Frysinger Signed-off-by: Bryan Wu commit 51ed9ad7d239c7c10af088d1b7c5f3ee8d022f94 Author: Michael Hennerich Date: Wed Jan 7 23:14:38 2009 +0800 Blackfin arch: ADP5588 QWERTY I2C Keyboard Input device driver Add BF537-STAMP platform Support Signed-off-by: Michael Hennerich Signed-off-by: Bryan Wu commit b03f203986dcf51b556e5f86475338b1588d8652 Author: Mike Frysinger Date: Wed Jan 7 23:14:38 2009 +0800 Blackfin arch: cleanup - use scm for changelog, not file headers Signed-off-by: Mike Frysinger Signed-off-by: Bryan Wu commit a45d575f53c9ed2926840377e59aa19e2024ee87 Author: Robin Getz Date: Wed Jan 7 23:14:38 2009 +0800 Blackfin arch: Add basic irq stack checking for Blackfin Signed-off-by: Robin Getz Signed-off-by: Bryan Wu commit f768a0eb90831ced2129df6ccba6f1177fa5a0fa Author: Mike Frysinger Date: Wed Jan 7 23:14:39 2009 +0800 Blackfin arch: Set TWI/I2C Clock to 100kHz All slaves I'm aware of should support at least 100kHz Signed-off-by: Mike Frysinger Signed-off-by: Bryan Wu commit bdc17a1bf2bc4dfef0459dd71fb8d12d458f06a1 Author: Mike Frysinger Date: Wed Jan 7 23:14:38 2009 +0800 Blackfin arch: dma_memcpy() - do not return NULL when transferring a multiple of 65k Signed-off-by: Mike Frysinger Signed-off-by: Bryan Wu commit 85a192e92dcb67552ee3fcdf2e36c11688b61955 Author: Michael Hennerich Date: Wed Jan 7 23:14:38 2009 +0800 Blackfin arch: Add BF537-STAMP platform support for ENC28J60 SPI Ethernet MAC This device shouldn't be considered as an alternative to a Memory Mapped or built-in Ethernet MAC. Throughput is slow (~460kByte/s) while generating a very high system load (~60%). Signed-off-by: Michael Hennerich Signed-off-by: Bryan Wu commit 8f362f8d7b743adb7279c5371dfccd8edcb224fc Author: Mike Frysinger Date: Wed Jan 7 23:14:39 2009 +0800 Blackfin arch: remove #if check on L2_LENGTH Signed-off-by: Mike Frysinger Signed-off-by: Bryan Wu commit 0c720da35c1eeba49fe0bbec6e6d4f732afc56f4 Author: Yi Li Date: Wed Jan 7 23:14:39 2009 +0800 Blackfin arch: Retire old spi_mmc driver Turn to use the mmc_spi driver in mainline kernel. Signed-off-by: Yi Li Signed-off-by: Bryan Wu commit f79ea4cba00e2c2f5ffde9007e7ba0fe992b2e18 Author: Yi Li Date: Wed Jan 7 23:14:38 2009 +0800 Blackfin arch: add mmc_spi support to BF537-STAMP Signed-off-by: Yi Li Signed-off-by: Bryan Wu commit 211daf9d7252288ad88ab6b97268a8d828e6b696 Author: Mike Frysinger Date: Wed Jan 7 23:14:39 2009 +0800 Blackfin arch: rename MAX_BLACKFIN_DMA_CHANNEL to MAX_DMA_CHANNELS to match everyone else Signed-off-by: Mike Frysinger Signed-off-by: Bryan Wu commit 3e706cfcce591e50163d6e979b7fc64d91ced6a0 Author: Michael Hennerich Date: Wed Jan 7 23:14:39 2009 +0800 Blackfin arch: fix bug - kernel build fails with undefined reference to pm_overflow_handler Signed-off-by: Michael Hennerich Signed-off-by: Bryan Wu commit 55e247e7155829a94e4f77459fc1ebf411b863ab Author: Sonic Zhang Date: Wed Jan 7 23:14:39 2009 +0800 Blackfin arch: Use reads/writes instead of ins/outs directly Signed-off-by: Sonic Zhang Signed-off-by: Bryan Wu commit 99532fd2a0955e609c53b587b4df79ae40b4a6c7 Author: Michael McTernan Date: Wed Jan 7 23:14:38 2009 +0800 Blackfin arch: add const to some function prototype and struct dma_channel Signed-off-by: Michael McTernan Signed-off-by: Sonic Zhang Signed-off-by: Bryan Wu commit d642a8ad55baee675b14dc4f36fc871a2588c7d1 Author: Graf Yang Date: Wed Jan 7 23:14:39 2009 +0800 Blackfin arch: implement support for /proc/dma Signed-off-by: Graf Yang Signed-off-by: Bryan Wu commit dbc895f95500a73ebf1ff12fe85f2e2b3790f52f Author: Graf Yang Date: Wed Jan 7 23:14:39 2009 +0800 Blackfin arch: smp patch cleanup from LKML review 1. Use inline get_l1_... functions instead of macro 2. Fix compile issue about smp barrier functions Signed-off-by: Graf Yang Signed-off-by: Bryan Wu commit f994607a2e118aedf1116a58ecd16126dbb83d28 Author: Graf Yang Date: Wed Jan 7 23:14:39 2009 +0800 Blackfin arch: get oprofile work for user space Signed-off-by: Graf Yang Signed-off-by: Bryan Wu commit 6f985294f7df30c0caa80a795ca10fb6f8466702 Author: Bernd Schmidt Date: Wed Jan 7 23:14:39 2009 +0800 Blackfin arch: fix bugs in linker script when using upstream binutils Fix a few problems I discovered when building a kernel with upstream CVS binutils. We have to add the NOTES macro to our linker script, since a kernel built with --build-id is otherwise unable to boot. Last time NOTES was added, it broke things, but the definition of the macro has changed not to rely on parts of the linker script that aren't present on Blackfin. I also noticed that _l2_lma_start does not point into the kernel image, but rather somewhere in L1/L2 space, which seems unintended. Also, when the L2 section was added to the linker script, the part following it which computes then length of the init section was not updated. Signed-off-by: Bernd Schmidt Signed-off-by: Bryan Wu commit 5e6d9f511e0188d34fa7a93ce2d0e6194442b0da Author: Graf Yang Date: Wed Jan 7 23:14:38 2009 +0800 Blackfin arch: Add document about bfin-gpio Add document about bfin-gpio when requesting a pin both as gpio and gpio interrupt. Signed-off-by: Graf Yang Signed-off-by: Bryan Wu commit d1a853057a13e63c40c9b8715e585af15f1b141a Author: Bernd Schmidt Date: Wed Jan 7 23:14:39 2009 +0800 Blackfin arch: Remove all traces of the relocation stack Remove all traces of the relocation stack. It's been removed from binutils for years now. Add a sanity overflow check to pcrel24 relocations to catch modules that were built without -mlong-calls. Signed-off-by: Bernd Schmidt Signed-off-by: Bryan Wu commit 2eddbadaebdf77a52d5cccc7cdd116656f1cf1f9 Author: Mike Frysinger Date: Wed Jan 7 23:14:39 2009 +0800 Blackfin arch: tweak the BUG_ON() check to allow for equal values Tweak the BUG_ON() check to allow for equal values since the way pos is handled ... it is always indexed and post incremented Signed-off-by: Mike Frysinger Signed-off-by: Bryan Wu commit 983e1016050e3bb9d64bde0f7d4792a6fcb248d8 Author: Michael Hennerich Date: Wed Jan 7 23:14:39 2009 +0800 Blackfin arch: gpio.h split into machine subfolders like already done for BF54x Signed-off-by: Michael Hennerich Signed-off-by: Bryan Wu commit 16daaf59c9aa996c94cb17b30538eead61d63694 Author: Mike Frysinger Date: Wed Jan 7 23:14:38 2009 +0800 Blackfin arch: cleanup the header file comments use scm changelog rather than comment blocks in files Signed-off-by: Mike Frysinger Signed-off-by: Bryan Wu commit a024d41bfeda183093c3e3af50e433d8de297f8b Author: Mike Frysinger Date: Wed Jan 7 23:14:39 2009 +0800 Blackfin arch: rewrite cplbinfo to use seq files Signed-off-by: Mike Frysinger Signed-off-by: Bryan Wu commit 73feb5c09dcf0d64beb67aa5e1f79e11a388e0ff Author: Michael Hennerich Date: Wed Jan 7 23:14:39 2009 +0800 Blackfin arch: fix bugs and unify BFIN_KERNEL_CLOCK option - remove duplicated code and headers - add option allowing arbitrary SDRAM/DDR Timing parameters. - mark automatically calculated timings as EXPERIMENTAL - fix comment header block Related to BUGs: - kernel boot up fails with CONFIG_BFIN_KERNEL_CLOCK item on. - kernel does not boot if re-program clocks [ Mike Frysinger - fix comment header - mark do_sync static - document the DMA shutdown - simplify SIC_IWR handling - fix ANOMALY_05000265 handling to work as intended ] Signed-off-by: Michael Hennerich Signed-off-by: Mike Frysinger Signed-off-by: Bryan Wu commit c97618d3b7b8ef86a966c4b67b54e5ca15814905 Author: Mike Frysinger Date: Wed Jan 7 23:14:38 2009 +0800 Blackfin arch: add simple-gpio resources to all adi/tinyboards Signed-off-by: Mike Frysinger Signed-off-by: Bryan Wu commit 9570ff4af6920c5992eb91141d71fc94127d864b Author: Graf Yang Date: Wed Jan 7 23:14:38 2009 +0800 Blackfin arch: Allow a gpio pin be requested both as gpio and irq. [Mike Frysinger : - use KERN_NOTICE when using gpios as both irq and non rather than KERN_ERR - embedded newlines in printk() does not fly] Signed-off-by: Graf Yang Signed-off-by: Mike Frysinger Signed-off-by: Bryan Wu commit 94106e0fb6b863348a566617ca6bf431c37ddc5e Author: Mike Frysinger Date: Wed Jan 7 23:14:38 2009 +0800 Blackfin arch: do not allow L2 to be cached on BF561 SMP Signed-off-by: Bryan Wu commit 1ea9925553caad6ea5068b4652596f149e0be9c3 Author: Mike Frysinger Date: Wed Jan 7 23:14:38 2009 +0800 Blackfin arch: delete now unused "cclk" member of blackfin_cpudata Signed-off-by: Mike Frysinger Signed-off-by: Bryan Wu commit da8d5089da6dfd54e5fd05d0c291a63c2bcf6885 Author: Peter Zijlstra Date: Wed Jan 7 15:28:57 2009 +0100 sched: fix possible recursive rq->lock Vaidyanathan Srinivasan reported: > ============================================= > [ INFO: possible recursive locking detected ] > 2.6.28-autotest-tip-sv #1 > --------------------------------------------- > klogd/5062 is trying to acquire lock: > (&rq->lock){++..}, at: [] task_rq_lock+0x45/0x7e > > but task is already holding lock: > (&rq->lock){++..}, at: [] schedule+0x158/0xa31 With sched_mc at 2. (it is default-off) Strictly speaking we'll not deadlock, because ttwu will not be able to place the migration task on our rq, but since the code can deal with both rqs getting unlocked, this seems the easiest way out. Signed-off-by: Peter Zijlstra Signed-off-by: Ingo Molnar commit 709ac06a148a33493d3e2f9391bb746b067d96d6 Author: David Woodhouse Date: Wed Jan 7 09:54:24 2009 -0500 Btrfs: Add Documentation/filesystem/btrfs.txt, remove old COPYING Signed-off-by: Chris Mason commit 9ab86c8e01c3f298dba0cbf2502c635b7f6fc6f9 Author: Chris Mason Date: Wed Jan 7 09:48:51 2009 -0500 Btrfs: kmap_atomic(KM_USER0) is safe for btrfs_readpage_end_io_hook None of the checksum verification code schedules, so we can use the faster kmap_atomic Signed-off-by: Chris Mason commit 66c7acf61dc6b27954bb9ceb8617d447ac03734a Author: Jean Delvare Date: Wed Jan 7 14:29:18 2009 +0100 i2c: Use snprintf to set adapter names Use snprintf instead of sprintf to set adapter names, it's safer. Signed-off-by: Jean Delvare commit 1561bfe59ca011d9a749dad4d96c2c22ebc86a4a Author: Jean Delvare Date: Wed Jan 7 14:29:17 2009 +0100 Input: apanel - convert to new i2c binding Convert the apanel driver to the new i2c device driver binding model, as the legacy model is going away soon. In the new model, the apanel driver is no longer scanning all the i2c adapters, instead the relevant bus driver (i2c-i801) is instantiating the device as needed. One side benefit is that the apanel driver will now load automatically on all systems where it is needed. Signed-off-by: Jean Delvare Cc: Stephen Hemminger commit b305271861219f0ce162eb565f0f28f4c781299d Author: Jean Delvare Date: Wed Jan 7 14:29:17 2009 +0100 i2c: Drop I2C_CLASS_CAM_DIGITAL There are a number of drivers which set their i2c bus class to I2C_CLASS_CAM_DIGITAL, however no chip driver actually checks for this flag, so we might as well drop it now. Signed-off-by: Jean Delvare commit 994a075f0f2e8cdb919d8e495f98211651e3c461 Author: Jean Delvare Date: Wed Jan 7 14:29:17 2009 +0100 i2c: Drop I2C_CLASS_CAM_ANALOG and I2C_CLASS_SOUND There are no users left of these two i2c probe class flags so we can drop the now. Signed-off-by: Jean Delvare commit e1995f65be0786ca201f466f049dad1e2e4c3421 Author: Jean Delvare Date: Wed Jan 7 14:29:16 2009 +0100 i2c: Drop I2C_CLASS_ALL I2C_CLASS_ALL is almost never what bus driver authors really want. These i2c classes are really only about which devices must be probed, not what devices can be present. As device drivers get converted to the new i2c device driver model, only a few device types will keep relying on probing. Signed-off-by: Jean Delvare Acked-by: Sonic Zhang commit 22e965c2aeb3e636831c8b28f9d7d8e25199891e Author: Jean Delvare Date: Wed Jan 7 14:29:16 2009 +0100 i2c: Get rid of remaining bus_id access Use dev_name(dev) instead of accessing dev.bus_id directly, as the latter is going away soon. Signed-off-by: Jean Delvare Cc: Greg Kroah-Hartman Cc: Kay Sievers commit 27d9c1838f65cc5a48d7a3e9aed85271e7a2bec8 Author: Kay Sievers Date: Wed Jan 7 14:29:16 2009 +0100 i2c: Replace bus_id with dev_name(), dev_set_name() This patch is part of a larger patch series which will remove the "char bus_id[20]" name string from struct device. The device name is managed in the kobject anyway, and without any size limitation, and just needlessly copied into "struct device". To set and read the device name dev_name(dev) and dev_set_name(dev) must be used. If your code uses static kobjects, which it shouldn't do, "const char *init_name" can be used to statically provide the name the registered device should have. At registration time, the init_name field is cleared, to enforce the use of dev_name(dev) to access the device name at a later time. We need to get rid of all occurrences of bus_id in the entire tree to be able to enable the new interface. Please apply this patch, and possibly convert any remaining remaining occurrences of bus_id. We want to submit a patch to -next, which will remove bus_id from "struct device", to find the remaining pieces to convert, and finally switch over to the new api, which will remove the 20 bytes array and does no longer have a size limitation. Acked-by: Greg Kroah-Hartman Signed-off-by: Kay Sievers Signed-off-by: Jean Delvare commit 51d7a1398d1851e892504e97ca20521610dfcece Author: Leonardo Potenza Date: Tue Jan 6 23:58:29 2009 +0100 x86: fix section mismatch warnings in mcheck/mce_amd_64.c Mark the function local_allocate_threshold_blocks() with __cpuinit, in order to remove the following section mismatch messages: WARNING: arch/x86/kernel/cpu/mcheck/built-in.o(.text+0x1363): Section mismatch in reference from the function local_allocate_threshold_blocks() to the function .cpuinit.text:allocate_threshold_blocks() The function local_allocate_threshold_blocks() references the function __cpuinit allocate_threshold_blocks(). This is often because local_allocate_threshold_blocks lacks a __cpuinit annotation or the annotation of allocate_threshold_blocks is wrong. WARNING: arch/x86/kernel/cpu/built-in.o(.text+0x1def): Section mismatch in reference from the function local_allocate_threshold_blocks() to the function .cpuinit.text:allocate_threshold_blocks() The function local_allocate_threshold_blocks() references the function __cpuinit allocate_threshold_blocks(). This is often because local_allocate_threshold_blocks lacks a __cpuinit annotation or the annotation of allocate_threshold_blocks is wrong. WARNING: arch/x86/kernel/built-in.o(.text+0xef2b): Section mismatch in reference from the function local_allocate_threshold_blocks() to the function .cpuinit.text:allocate_threshold_blocks() The function local_allocate_threshold_blocks() references the function __cpuinit allocate_threshold_blocks(). This is often because local_allocate_threshold_blocks lacks a __cpuinit annotation or the annotation of allocate_threshold_blocks is wrong. All the callsites of this function are __cpuinit already, and all the functions it calls are __cpuinit as well. Signed-off-by: Leonardo Potenza Signed-off-by: Ingo Molnar commit a5e6ced58d423cb09c4fc0087dcfdb0b5deb5e1c Author: David Vrabel Date: Wed Jan 7 10:54:22 2009 +0000 wusb: timeout when waiting for ASL/PZL updates in whci-hcd Timeout if an ASL or PZL update doesn't not complete and reset the hardware. Signed-off-by: David Vrabel commit e3d6ce6ff6e22ba35de77e306520779b384f0c38 Author: Brian Hinz Date: Wed Jan 7 11:49:56 2009 +0100 ALSA: hda - Add codec ID for MCP73 HDMI Signed-off-by: Takashi Iwai commit a23e66f3b8cfdedec14541e71ef29a754870a20c Merge: 04c470a ede6f5a Author: David Vrabel Date: Wed Jan 7 10:45:25 2009 +0000 Merge branch 'master' of git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux-2.6 into for-upstream commit 04c470adb01c62bb9bd663cfc4875cf0a4eb01ab Author: Huang Weiyi Date: Sun Jan 4 11:13:50 2009 +0800 uwb: remove unused #include 's Remove unused #include 's in file(s) below, drivers/uwb/allocator.c Signed-off-by: Huang Weiyi Signed-off-by: David Vrabel commit c247ed6f5205f9feebd276c4cbe45018b10f19fa Author: Clemens Fruhwirth Date: Wed Jan 7 11:43:48 2009 +0100 ALSA: hda - Fix typos for AD1882 codecs Fixed typos of codec-id checks for AD1882/AD1882A. Cc: stable@kernel.org Signed-off-by: Takashi Iwai commit d5337debacc00591b3f81fc3c982b40af7de1ab6 Author: Takashi Iwai Date: Wed Jan 7 11:41:57 2009 +0100 ALSA: hda - Add quirk for HP 2230s Added a quirk for HP 2230s, model=laptop, with AD1984A codec. Reference: Novell bnc#461660 https://bugzilla.novell.com/show_bug.cgi?id=461660 Signed-off-by: Takashi Iwai commit 183b3af66eb71b5337be10d82dd177a8e3f414e1 Author: Haavard Skinnemoen Date: Wed Jan 7 11:26:03 2009 +0100 avr32: Move syscalls.h under arch/avr32/include/asm/ This file was added to the old include/asm-avr32/ directory by mistake. Signed-off-by: Haavard Skinnemoen commit da4276b8299a6544dc41ac2485d3ffca5811b3fb Author: Ingo Molnar Date: Wed Jan 7 11:05:10 2009 +0100 x86: offer frame pointers in all build modes CONFIG_FRAME_POINTERS=y results in much better debug info for the kernel (clear and precise backtraces), with the only drawback being a ~1% increase in kernel size. So offer it unconditionally and enable it by default. Signed-off-by: Ingo Molnar commit 52435bfc665716fdf9a02f0d08e7ce50ddb9bf45 Merge: ede6f5a d305d8d e245001 4209324 Author: Haavard Skinnemoen Date: Wed Jan 7 11:05:42 2009 +0100 Merge branches 'fixes', 'cleanups' and 'boards' commit d305d8d34914b53eb12268af153eac2cc7d6e75b Author: Haavard Skinnemoen Date: Wed Jan 7 10:36:15 2009 +0100 avr32: Define DIE_OOPS Whatever the hell that is. Needed to make kernel/trace/trace.c compile again. Signed-off-by: Haavard Skinnemoen commit c8f554b947e80a90e1b43bbd4fd26c27765b5f96 Author: Benjamin Marzinski Date: Tue Jan 6 10:47:50 2009 -0600 GFS2: Fix typo in gfs_page_mkwrite() There is a typo in gfs2_page_mkwrite() gfs2_write_alloc_required() expects pos to be the offset in bytes. However, instead of the page index being shifted by by PAGE_CACHE_SHIFT, it was shifted by (PAGE_CACHE_SIZE - inode->i_blkbits). This patch simply shifts the page index by the proper amount. Signed-off-by: Benjamin Marzinski Signed-off-by: Steven Whitehouse commit 0027ce681e3cd49fa34dab023574611f4384291d Author: Steven Whitehouse Date: Tue Jan 6 14:56:26 2009 +0000 GFS2: LSF and LBD are now one and the same As a result of this recent patch: http://git.kernel.org/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commitdiff;h=b3a6ffe16b5cc48abe7db8d04882dc45280eb693 We only need to depend on LBD. Reported-by: Fabio M. Di Nitto Signed-off-by: Steven Whitehouse commit e4fefbac6c5bcb0388d95e83801210e7d81a071b Author: Steven Whitehouse Date: Tue Jan 6 10:08:33 2009 +0000 GFS2: Set GFP_NOFS when allocating page on write We need to ensure that we always set GFP_NOFS in this one particular case when allocating pages for write. Reported-by: Fabio M. Di Nitto Signed-off-by: Steven Whitehouse commit ede6f5aea054d3fb67c78857f7abdee602302043 Author: Linus Torvalds Date: Tue Jan 6 21:17:57 2009 -0800 Fix up 64-bit byte swaps for most 32-bit architectures The __SWAB_64_THRU_32__ case of a 64-bit byte swap was depending on the no-longer-existant ___swab32() method (three underscores). We got rid of some of the worst indirection and complexity, and now it should just use the 32-bit swab function that was defined right above it. Reported-and-tested-by: Nicolas Pitre Reported-by: Benjamin Herrenschmidt Cc: Harvey Harrison Signed-off-by: Linus Torvalds commit 637b180c23313f2964e0ef20f1ee375203866968 Author: Harvey Harrison Date: Tue Jan 6 13:30:58 2009 -0800 byteorder: remove the now unused byteorder.h This implementation caused problems in userspace which can, and does define _both_ __LITTLE_ENDIAN and __BIG_ENDIAN. Signed-off-by: Harvey Harrison Signed-off-by: Linus Torvalds commit 5cbd04ae36fcb8fd1f38c71dacbbe59f3166f074 Author: Harvey Harrison Date: Tue Jan 6 14:56:34 2009 -0800 mn10300: introduce asm/swab.h Signed-off-by: Harvey Harrison Signed-off-by: Linus Torvalds commit 919594765dcf803017b2227425c1b27b5ea537be Author: Harvey Harrison Date: Tue Jan 6 14:56:33 2009 -0800 frv: introduce asm/swab.h Signed-off-by: Harvey Harrison Signed-off-by: Linus Torvalds commit f15d411ad9986185303b556e0f5e7acafc4ef223 Author: Harvey Harrison Date: Tue Jan 6 14:56:33 2009 -0800 m32r: introduce asm/swab.h Signed-off-by: Harvey Harrison Signed-off-by: Linus Torvalds commit 231cc432f4d684b8c75d9a8e0654c51b9d6ed341 Author: Harvey Harrison Date: Tue Jan 6 14:56:32 2009 -0800 m68knommu: introduce asm/swab.h Signed-off-by: Harvey Harrison Signed-off-by: Linus Torvalds commit fc61708b3afe1bdd05c14b65c0ae2f4ad2a3928a Author: Harvey Harrison Date: Tue Jan 6 14:56:31 2009 -0800 h8300: introduce asm/swab.h Signed-off-by: Harvey Harrison Signed-off-by: Linus Torvalds commit ae189623b7248cd245c068a1aeb4983359f9c088 Author: Harvey Harrison Date: Tue Jan 6 14:56:31 2009 -0800 ia64: introduce asm/swab.h Signed-off-by: Harvey Harrison Signed-off-by: Linus Torvalds commit cfcac2f7dd1a580f0fb7b82bbe3eb14c21c87459 Author: Harvey Harrison Date: Tue Jan 6 14:56:30 2009 -0800 blackfin: introduce asm/swab.h Signed-off-by: Harvey Harrison Signed-off-by: Linus Torvalds commit af8e24e96facfd42eb12d13c8120e3e95de40aba Author: Harvey Harrison Date: Tue Jan 6 14:56:30 2009 -0800 arm: introduce asm/swab.h Signed-off-by: Harvey Harrison Signed-off-by: Linus Torvalds commit dd8b72c0cc118196984f1bd23beed545d5087872 Author: Harvey Harrison Date: Tue Jan 6 14:56:29 2009 -0800 alpha: introduce asm/swab.h Signed-off-by: Harvey Harrison Signed-off-by: Linus Torvalds commit c6f09f0c32e5e30b91dea901f00251173fe997f4 Author: Harvey Harrison Date: Tue Jan 6 14:56:28 2009 -0800 m68k: introduce asm/swab.h Signed-off-by: Harvey Harrison Signed-off-by: Linus Torvalds commit 5d30a683888c60b8f93bef3ddc139d1a91ca58f4 Author: Harvey Harrison Date: Tue Jan 6 14:56:28 2009 -0800 x86: introduce asm/swab.h Signed-off-by: Harvey Harrison Signed-off-by: Linus Torvalds commit f4d2b14501bb7f9a3fa75c07ec0940068fadf728 Author: Harvey Harrison Date: Tue Jan 6 14:56:27 2009 -0800 sparc: introduce asm/swab.h Signed-off-by: Harvey Harrison Signed-off-by: Linus Torvalds commit 1af84a625356768ab1f9687b70c825250123d7fd Author: Harvey Harrison Date: Tue Jan 6 14:56:25 2009 -0800 sh: introduce asm/swab.h Signed-off-by: Harvey Harrison Signed-off-by: Linus Torvalds commit 13f7877bb5aeb1d5ad01ffbf17a80fb550fa6642 Author: Harvey Harrison Date: Tue Jan 6 14:56:24 2009 -0800 s390: introduce asm/swab.h Signed-off-by: Harvey Harrison Signed-off-by: Linus Torvalds commit 156ca2bbf6503a02d7d6829886ce381d572de66e Author: Harvey Harrison Date: Tue Jan 6 14:56:23 2009 -0800 powerpc: introduce asm/swab.h Signed-off-by: Harvey Harrison Signed-off-by: Linus Torvalds commit 8cdd3a9261e8efe36aeb6c708edb76d7e2b5d13f Author: Harvey Harrison Date: Tue Jan 6 14:56:23 2009 -0800 mips: introduce asm/swab.h Signed-off-by: Harvey Harrison Signed-off-by: Linus Torvalds commit 292b4d0978e3bbb087a83ce77e389c7b462a093c Author: Harvey Harrison Date: Tue Jan 6 14:56:22 2009 -0800 avr32: introduce asm/swab.h Signed-off-by: Harvey Harrison Signed-off-by: Linus Torvalds commit 991c0e6d1ae3df59f0ddfe05edecec8319e35a1b Author: Harvey Harrison Date: Tue Jan 6 14:56:21 2009 -0800 byteorder: only use linux/swab.h The first step to make swab.h a regular header that will include an asm/swab.h with arch overrides. Avoid the gratuitous differences introduced in the new linux/swab.h by naming the ___constant_swabXX bits and __fswabXX bits exactly as found in the old implementation in byteorder/swab[b].h Use this new swab.h in byteorder/[big|little]_endian.h and remove the two old swab headers. Although the inclusion of asm/byteorder.h looks strange in linux/swab.h, this will allow each arch to move the actual arch overrides for the swab bits in an asm file and then the includes can be cleaned up without requiring a flag day for all arches at once. Keep providing __fswabXX in case some userspace was using them directly, but the revised __swabXX should be used instead in any new code and will always do constant folding not dependent on the optimization level, which means the __constant versions can be phased out in-kernel. Arches that use the old-style arch macros will lose their optimized versions until they move to the new style, but at least they will still compile. Many arches have already moved and the patches to move the remaining arches are trivial. Signed-off-by: Harvey Harrison Signed-off-by: Linus Torvalds commit c89a9f5a42811aa5b2f258e32750c0109f570fc1 Merge: db30c70 a75f284 Author: Linus Torvalds Date: Tue Jan 6 18:06:44 2009 -0800 Merge branch 'drm-next' of git://git.kernel.org/pub/scm/linux/kernel/git/airlied/drm-2.6 * 'drm-next' of git://git.kernel.org/pub/scm/linux/kernel/git/airlied/drm-2.6: drm: fix ordering of driver unload vs agp unload. drm/i915: Respect the other stolen memory sizes we know of. drm/i915: Non-mobile parts don't have integrated TV-out. drm/i915: Add support for integrated HDMI on G4X hardware. drm/i915: Pin cursor bo and unpin old bo when setting cursor. drm/i915: Don't allow objects to get bound while VT switched. commit a75f28419a7efff611a81293d41d0e2137d7591e Author: Dave Airlie Date: Wed Jan 7 11:54:57 2009 +1000 drm: fix ordering of driver unload vs agp unload. For KMS drivers, we really need to cleanup the driver before disabling the AGP subsystem. Signed-off-by: Dave Airlie commit 241fa85b2bb655224357d713c251077dee3585ce Author: Eric Anholt Date: Fri Jan 2 18:05:51 2009 -0800 drm/i915: Respect the other stolen memory sizes we know of. fd.o bug #19336. Signed-off-by: Eric Anholt Signed-off-by: Dave Airlie commit 1fc45d84d616cec00566152c1080903c461eb537 Author: Eric Anholt Date: Fri Jan 2 15:57:35 2009 -0800 drm/i915: Non-mobile parts don't have integrated TV-out. Signed-off-by: Eric Anholt Signed-off-by: Dave Airlie commit 7d57382e65994ab7d01741373bd1c420370aed9f Author: Eric Anholt Date: Fri Jan 2 13:33:00 2009 -0800 drm/i915: Add support for integrated HDMI on G4X hardware. This is ported directly from the userland 2D driver code. The HDMI audio bits aren't hooked up yet. Signed-off-by: Eric Anholt Signed-off-by: Dave Airlie commit 3f8bc370ac679a5fe5c098f30d3cf8e80f62a9f8 Author: Kristian Høgsberg Date: Wed Dec 17 22:14:59 2008 -0500 drm/i915: Pin cursor bo and unpin old bo when setting cursor. We also didn't track the cursor bo before and would leak a reference when the cursor image was change. Signed-off-by: Kristian Høgsberg Signed-off-by: Eric Anholt Signed-off-by: Dave Airlie commit 9bb2d6f94aeb9a185d69aedbd19421b6da4e3309 Author: Eric Anholt Date: Tue Dec 23 18:42:32 2008 -0800 drm/i915: Don't allow objects to get bound while VT switched. This avoids a BUG_ON in the enter_vt path due to objects being in the GTT when we shouldn't have ever let them be (as we're not supposed to touch the device during that time). This was triggered by a change in the 2D driver to use the GTT mapping of objects after pinning them to improve software fallback performance. Signed-off-by: Eric Anholt Signed-off-by: Dave Airlie commit db30c70575822cc84d87b5613c19cac24734b99f Merge: c861ea2 9334e90 Author: Linus Torvalds Date: Tue Jan 6 17:14:01 2009 -0800 Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/dtor/input * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/dtor/input: (29 commits) Input: i8042 - add Dell Vostro 1510 to nomux list Input: gtco - use USB endpoint API Input: add support for Maple controller as a joystick Input: atkbd - broaden the Dell DMI signatures Input: HIL drivers - add MODULE_ALIAS() Input: map_to_7segment.h - convert to __inline__ for userspace Input: add support for enhanced rotary controller on pxa930 and pxa935 Input: add support for trackball on pxa930 and pxa935 Input: add da9034 touchscreen support Input: ads7846 - strict_strtoul takes unsigned long Input: make some variables and functions static Input: add tsc2007 based touchscreen driver Input: psmouse - add module parameters to control OLPC touchpad delays Input: i8042 - add Gigabyte M912 netbook to noloop exception table Input: atkbd - Samsung NC10 key repeat fix Input: atkbd - add keyboard quirk for HP Pavilion ZV6100 laptop Input: libps2 - handle 0xfc responses from devices Input: add support for Wacom W8001 penabled serial touchscreen Input: synaptics - report multi-taps only if supported by the device Input: add joystick driver for Walkera WK-0701 RC transmitter ... commit c861ea2cb2c25c1698734d9b0540a09e253690a1 Merge: 3610639 ac8cc0f Author: Linus Torvalds Date: Tue Jan 6 17:11:39 2009 -0800 Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jmorris/security-testing-2.6 * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jmorris/security-testing-2.6: CRED: Fix regression in cap_capable() as shown up by sys_faccessat() [ver #3] Revert "CRED: Fix regression in cap_capable() as shown up by sys_faccessat() [ver #2]" SELinux: shrink sizeof av_inhert selinux_class_perm and context CRED: Fix regression in cap_capable() as shown up by sys_faccessat() [ver #2] keys: fix sparse warning by adding __user annotation to cast smack: Add support for unlabeled network hosts and networks selinux: Deprecate and schedule the removal of the the compat_net functionality netlabel: Update kernel configuration API commit 3610639d1fceb09cb418c65fcbe9136c31eee03a Merge: cfa97f9 82c5b7b Author: Linus Torvalds Date: Tue Jan 6 17:10:53 2009 -0800 Merge branch 'timers-fixes-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip * 'timers-fixes-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip: hrtimer: splitout peek ahead functionality, fix hrtimer: fixup comments hrtimer: fix recursion deadlock by re-introducing the softirq hrtimer: simplify hotplug migration hrtimer: fix HOTPLUG_CPU=n compile warning hrtimer: splitout peek ahead functionality commit cfa97f993c275d193fe82c22511dfb5f1e51b661 Merge: 7238eb4 db2f59c Author: Linus Torvalds Date: Tue Jan 6 17:10:33 2009 -0800 Merge branch 'sched-fixes-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip * 'sched-fixes-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip: sched: fix section mismatch sched: fix double kfree in failure path sched: clean up arch_reinit_sched_domains() sched: mark sched_create_sysfs_power_savings_entries() as __init getrusage: RUSAGE_THREAD should return ru_utime and ru_stime sched: fix sched_slice() sched_clock: prevent scd->clock from moving backwards, take #2 sched: sched.c declare variables before they get used commit 7238eb4ca35cd63340dc02caf757376e40c1210c Merge: f94181d be92d7a Author: Linus Torvalds Date: Tue Jan 6 17:10:19 2009 -0800 Merge branch 'irq-fixes-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip * 'irq-fixes-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip: genirq: provide irq_to_desc() to non-genirq architectures too commit f94181da7192f4ed8ccb1b633ea4ce56954df130 Merge: 932adbe fdbc045 Author: Linus Torvalds Date: Tue Jan 6 17:10:04 2009 -0800 Merge branch 'core-fixes-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip * 'core-fixes-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip: rcu: fix rcutorture bug rcu: eliminate synchronize_rcu_xxx macro rcu: make treercu safe for suspend and resume rcu: fix rcutree grace-period-latency bug on small systems futex: catch certain assymetric (get|put)_futex_key calls futex: make futex_(get|put)_key() calls symmetric locking, percpu counters: introduce separate lock classes swiotlb: clean up EXPORT_SYMBOL usage swiotlb: remove unnecessary declaration swiotlb: replace architecture-specific swiotlb.h with linux/swiotlb.h swiotlb: add support for systems with highmem swiotlb: store phys address in io_tlb_orig_addr array swiotlb: add hwdev to swiotlb_phys_to_bus() / swiotlb_sg_to_bus() commit 932adbed6d99cc373fc3433d701b3a594fea872c Merge: ce519e2 1679681 Author: Linus Torvalds Date: Tue Jan 6 17:09:51 2009 -0800 Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tiwai/sound-2.6 * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tiwai/sound-2.6: ASoC: Fix SND_SOC_ALL_CODECS handling of dual SPI and I2C control buses ASoC: Use snd_soc_dapm_nc_pin() in at91sam9g20ek ASoC: TWL4030: Convert the bitfield enums to VALUE_ENUM type ASoC: New enum type: value_enum pxa2xx-ac97: switch AC unit to correct state before probing ASoC: Clocking fixes for davinci-evm.c ASoC: Mark non-connected TWL4030 pins for pandora ASoC: OMAP: Select OMAP pin multiplexing when using Nokia N810 ASoC drivers commit ce519e2327bff01d0eb54071e7044e6291a52aa6 Merge: 40d7ee5 7a9c67a Author: Linus Torvalds Date: Tue Jan 6 17:04:29 2009 -0800 Merge git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/staging-2.6 * git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/staging-2.6: (237 commits) Staging: android: binder: fix build errors Staging: android: add lowmemorykiller driver Staging: android: remove dummy android.c driver Staging: android: timed_gpio: Rename android_timed_gpio to timed_gpio Staging: android: add timed_gpio driver Staging: android: add ram_console driver Staging: android: add logging driver staging: android: binder: Fix use of euid Staging: android: binder: Fix gcc warnings about improper format specifiers for size_t in printk Staging: android: add binder driver Staging: add android framework Staging: epl: fix netdev->priv b0rkage Staging: epl: hr timers all run in hard irq context now Staging: epl: run Lindent on *.c files Staging: epl: run Lindent on *.h files Staging: epl: run Lindent on all user/*.h files Staging: epl: run Lindent on all kernel/*.h files Staging: add epl stack Staging: frontier: fix compiler warnings Staging: frontier: remove unused alphatrack_sysfs.c file ... commit 40d7ee5d162203b40b5f4fbb312ab016edddb97f Merge: 5fec8bd b8ac9fc Author: Linus Torvalds Date: Tue Jan 6 17:02:07 2009 -0800 Merge git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/driver-core-2.6 * git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/driver-core-2.6: (60 commits) uio: make uio_info's name and version const UIO: Documentation for UIO ioport info handling UIO: Pass information about ioports to userspace (V2) UIO: uio_pdrv_genirq: allow custom irq_flags UIO: use pci_ioremap_bar() in drivers/uio arm: struct device - replace bus_id with dev_name(), dev_set_name() libata: struct device - replace bus_id with dev_name(), dev_set_name() avr: struct device - replace bus_id with dev_name(), dev_set_name() block: struct device - replace bus_id with dev_name(), dev_set_name() chris: struct device - replace bus_id with dev_name(), dev_set_name() dmi: struct device - replace bus_id with dev_name(), dev_set_name() gadget: struct device - replace bus_id with dev_name(), dev_set_name() gpio: struct device - replace bus_id with dev_name(), dev_set_name() gpu: struct device - replace bus_id with dev_name(), dev_set_name() hwmon: struct device - replace bus_id with dev_name(), dev_set_name() i2o: struct device - replace bus_id with dev_name(), dev_set_name() IA64: struct device - replace bus_id with dev_name(), dev_set_name() i7300_idle: struct device - replace bus_id with dev_name(), dev_set_name() infiniband: struct device - replace bus_id with dev_name(), dev_set_name() ISDN: struct device - replace bus_id with dev_name(), dev_set_name() ... commit 5fec8bdbf9a1c4df4ad3f20e52aa2d8caed490c8 Merge: 59e3af2 5d9ec85 Author: Linus Torvalds Date: Tue Jan 6 17:01:20 2009 -0800 Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/mszeredi/fuse * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/mszeredi/fuse: fuse: clean up annotations of fc->lock fuse: fix sparse warning in ioctl fuse: update interface version fuse: add fuse_conn->release() fuse: separate out fuse_conn_init() from new_conn() fuse: add fuse_ prefix to several functions fuse: implement poll support fuse: implement unsolicited notification fuse: add file kernel handle fuse: implement ioctl support fuse: don't let fuse_req->end() put the base reference fuse: move FUSE_MINOR to miscdevice.h fuse: style fixes commit 59e3af21e94bd56f6a31ba774786a2bfc753581b Merge: f59abb1 c2ce5ca Author: Linus Torvalds Date: Tue Jan 6 17:00:50 2009 -0800 Merge git://git.kernel.org/pub/scm/linux/kernel/git/bart/ide-2.6 * git://git.kernel.org/pub/scm/linux/kernel/git/bart/ide-2.6: (41 commits) scc_pata: make use of scc_dma_sff_read_status() ide-dma-sff: factor out ide_dma_sff_write_status() ide: move read_sff_dma_status() method to 'struct ide_dma_ops' ide: don't set hwif->dma_ops in init_dma() method Resurrect IT8172 IDE controller driver piix: sync ich_laptop[] with ata_piix.c ide: update warm-plug HOWTO ide: fix ide_port_scan() to do ACPI setup after initializing request queues ide: remove now redundant ->cur_dev checks ide: remove unused ide_hwif_t.sg_mapped field ide: struct ide_atapi_pc - remove unused fields and update documentation ide: remove superfluous hwif variable assignment from ide_timer_expiry() ide: use ide_pci_is_in_compatibility_mode() helper in setup-pci.c ide: make "paranoia" ->handler check in ide_intr() more strict ide-cd: convert to ide-atapi facilities ide-cd: start DMA before sending the actual packet command ide-cd: wait for DRQ to get set per default ide: Fix drive's DWORD-IO handling ide: add port and host iterators ide: dynamic allocation of device structures ... commit 92dc8cc317844e5681f5d8990896720ed2b21cc8 Author: Stephen Hemminger Date: Tue Jan 6 12:56:50 2009 +0000 ieee1394: use internal network device stats Use the network_device_stats field in network_device. Signed-off-by: Stephen Hemminger Acked-by: Stefan Richter Signed-off-by: David S. Miller commit 464f4daae75c87ed281b421caa019f67f459b85f Author: Stephen Hemminger Date: Tue Jan 6 12:55:54 2009 +0000 ieee1394: remove unneeded last_rx Last_rx is now done if needed inside bonding. Signed-off-by: Stephen Hemminger Acked-by: Stefan Richter Signed-off-by: David S. Miller commit 79994c990674edd9a1e8b2aad21e8eb8e3b43748 Author: Stephen Hemminger Date: Tue Jan 6 12:54:56 2009 +0000 ieee1394: convert to net_device_ops Convert to net_device_ops. Signed-off-by: Stephen Hemminger Acked-by: Stefan Richter Signed-off-by: David S. Miller commit d442ad4ab1c86b453e0f44fb3de0932f386ab3e6 Author: Stephen Hemminger Date: Tue Jan 6 16:45:26 2009 -0800 dsa: convert to net_device_ops (v2) Convert this driver to use net_device_ops Signed-off-by: Stephen Hemminger Signed-off-by: David S. Miller commit f59abb161c955b68fd3d473368420c5919733e09 Author: Michael Buesch Date: Tue Jan 6 14:43:14 2009 -0800 parport: ieee1284: use del_timer_sync() in parport_wait_event() Use del_timer_sync() instead of del_timer() to make sure the timer won't be running when we return from parport_wait_event(), because this would crash due to destruction of timer_list. This is untested and just based on a code review. Just think about the following sequence of events: - add_timer() - down_interruptible() is interrupted by a signal. - we enter the timer callback handler on another CPU. - del_timer(), but the timer callback is still running. - eturn from parport_wait_even, which destroys the automatic variable "timer" while the callback is running on another CPU. [akpm@linux-foundation.org: coding-style fixes] Signed-off-by: Michael Buesch Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 50682bb4de35544466c264c017030de826614367 Author: Eric Sesterhenn Date: Tue Jan 6 14:43:13 2009 -0800 bfs: check that filesystem fits on the blockdevice Since all sanity checks rely on the validity of s_start which gets only checked to be smaller than s_end, we should also check if s_end is sane. Now we also try to retrieve the last block of the filesystem, which is computed by s_end. If this fails, something is bogus. Signed-off-by: Eric Sesterhenn Acked-by: Tigran Aivazian Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit e1f89ec95bd28b0927e76c46a7cc0927b7521c1d Author: Eric Sesterhenn Date: Tue Jan 6 14:43:12 2009 -0800 bfs: add some basic sanity checks bfs_fill_super() already touches all inodes, so we can easily add some cheap sanity checks and check if the inode start and end blocks are smaller than the maximum number of blocks, the inode start block lies behind the end block or the file end offset is behind the end of the filesystem. Also check if the start of data offset in the super block fits the filesystem. The added sanity checks catch softlockup issues early when we try to sb_bread() lots of blocks in a loop in bfs_readdir() and bfs_find_entry(). In addition an oom issue in bfs_fill_super() is prevented by this when s_start is corrupted, which influences imap_len and we try to allocate a huge info->si_imap. Signed-off-by: Eric Sesterhenn Acked-by: Tigran Aivazian Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 58c6d3dfe436eb8cfb451981d8fdc9044eaf42da Author: Johannes Weiner Date: Tue Jan 6 14:43:10 2009 -0800 dma-coherent: catch oversized requests to dma_alloc_from_coherent() Prevent passing an order to bitmap_find_free_region() that is larger than the actual bitmap can represent. These requests can come from device drivers that have no idea how big the dma region is and need to rely on dma_alloc_from_coherent() to sort it out for them. Reported-by: Guennadi Liakhovetski Signed-off-by: Johannes Weiner Cc: Pekka Enberg Cc: Dmitry Baryshkov Cc: Jesse Barnes Cc: Tetsuo Handa Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit eccd83e116e7f414a1da3aae3745384b7b171883 Author: Andrew Morton Date: Tue Jan 6 14:43:09 2009 -0800 dma_alloc_coherent: clean it up This thing was rather stupidly coded. Rework it all prior to making changes. Also, rename local variable `page': kernel readers expect something called `page' to have type `struct page *'. Cc: Guennadi Liakhovetski Cc: Johannes Weiner Cc: Pekka Enberg Cc: Dmitry Baryshkov Cc: Jesse Barnes Cc: Tetsuo Handa Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 0bef3c2dc7d0c8238330785c8f4504761b0e370b Author: Andrew Morton Date: Tue Jan 6 14:43:08 2009 -0800 dma_alloc_from_coherent(): fix fallback to generic memory If bitmap_find_free_region() fails and DMA_MEMORY_EXCLUSIVE is not set, the function will fail to write anything to *ret and will return 1. This will cause dma_alloc_coherent() to return an uninitialised value, crashing the kernel, perhaps via DMA to a random address. Fix that by changing it to return zero in this case, so the caller will proceed to allocate the memory from the generic memory allocator. Cc: Tetsuo Handa Cc: Dmitry Baryshkov Cc: Ingo Molnar Cc: Johannes Weiner Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 8375d4909aee4c18798f373ecf24a79f040f75fc Author: Mauro Carvalho Chehab Date: Tue Jan 6 14:43:00 2009 -0800 edac: driver for i5400 MCH (update) Signed-off-by: Ben Woodard Signed-off-by: Mauro Carvalho Chehab Cc: Doug Thompson Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 920c8df6ac678fdb8c49a6ce2e47a98e62757d77 Author: Mauro Carvalho Chehab Date: Tue Jan 6 14:43:00 2009 -0800 edac: driver for i5400 MCH (Seaburg) EDAC driver for i5400 MCH (Seaburg) This driver adds support for i5400 MCH chipset. Signed-off-by: Mauro Carvalho Chehab Signed-off-by: Ben Woodard Cc: Doug Thompson Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 29d6cf26a74b8575a6416b7ad4d369a455f8d009 Author: Kumar Gala Date: Tue Jan 6 14:42:59 2009 -0800 edac: fix mpc85xx and add mpc8536 mpc8560 All other compatibles that are uniquely identifying the processor use a prefix of the form fsl,mpc85...'. We add support for it so we can deprecate the older 'fsl,85...' that was improperly used here. Additionally added mpc8536 & mpc8560 to the compatible lists. This patch is based on Nate's 8572 patch. Signed-off-by: Kumar Gala Signed-off-by: Doug Thompson Acked-by: Dave Jiang Cc: Nate Case Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 281efb17d88a91dc3b879bb1d49e3a66daf48797 Author: Kay Sievers Date: Tue Jan 6 14:42:57 2009 -0800 edac: struct device: replace bus_id with dev_name(), dev_set_name() This patch is part of a larger patch series which will remove the "char bus_id[20]" name string from struct device. The device name is managed in the kobject anyway, and without any size limitation, and just needlessly copied into "struct device". [akpm@linux-foundation.org: coding-style fixes] Acked-by: Greg Kroah-Hartman Acked-by: Doug Thompson Signed-off-by: Kay Sievers Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 1dca00bd028e96d39992f501e9251e0cda499562 Author: Arjan van de Ven Date: Tue Jan 6 14:42:56 2009 -0800 pci: use pci_ioremap_bar() in drivers/edac Use the newly introduced pci_ioremap_bar() function in drivers/edac. pci_ioremap_bar() just takes a pci device and a bar number, with the goal of making it really hard to get wrong, while also having a central place to stick sanity checks. Signed-off-by: Arjan van de Ven Acked-by: Doug Thompson Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit cda796a3d572059d64f5429dfc1d00ca6fcbaf8d Author: Matt Mackall Date: Tue Jan 6 14:42:55 2009 -0800 random: don't try to look at entropy_count outside the lock As a non-atomic value, it's only safe to look at entropy_count when the pool lock is held, so we move the BUG_ON inside the lock for correctness. Also remove the spurious comment. It's ok for entropy_count to temporarily exceed POOLBITS so long as it's left in a consistent state when the lock is released. This is a more correct, simple, and idiomatic fix for the bug in 8b76f46a2db. I've left the reorderings introduced by that patch in place as they're harmless, even though they don't properly deal with potential atomicity issues. Signed-off-by: Matt Mackall Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 71183c94804e8e19be32acccc8a019ffb445ec2b Author: Ilpo Järvinen Date: Tue Jan 6 14:42:54 2009 -0800 consolemap: indentation & braces disagree - reindent Signed-off-by: Ilpo Järvinen Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 842ffabbf35cc608961429a0f3c96d8dde6b22ad Author: Robert Millan Date: Tue Jan 6 14:42:52 2009 -0800 make firmware/dsp56k/bootstrap.asm buildable on a56 Make firmware/dsp56k/bootstrap.asm buildable on a56, the free Motorola DSP56001 assembler (http://www.zdomain.com/a56.html). Summary of changes: - Remove '<' and '>' candy (they specify explicit addressing modes, which a56 don't grok, but uses implicitly anyway). - Replace 'move' with 'movem' when accessing program memory. - Rename a few labels to avoid duplicates (which a56 can't handle). Signed-off-by: Robert Millan Cc: Jaswinder Singh Cc: David Woodhouse Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 4c2c3b4aaf3c10a636490438e9648a314ce414f9 Author: akpm@linux-foundation.org Date: Tue Jan 6 14:42:51 2009 -0800 ipc/ipc_sysctl.c: move the definition of ipc_auto_callback() proc_ipcauto_dointvec_minmax() is the only user of ipc_auto_callback(), since the former function is protected by CONFIG_PROC_FS, so should be the latter one. Just move its definition down. Signed-off-by: WANG Cong Cc: Eric Biederman Cc: Nadia Derbey Cc: Alexey Dobriyan Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit e953ac2195659940d0d042f7ac962700a6a0f0e3 Author: Denis V. Lunev Date: Tue Jan 6 14:42:50 2009 -0800 ipc: do not goto to the next line Signed-off-by: Denis V. Lunev Reviewed-by: WANG Cong Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit e8148f7588064e45080bf1120883380a2efe5c9b Author: WANG Cong Date: Tue Jan 6 14:42:49 2009 -0800 ipc: clean up ipc/shm.c Use the macro shm_ids(). Remove useless check for a userspace pointer, because copy_to_user() will check it. Some style cleanups. Signed-off-by: WANG Cong Cc: Nadia Derbey Cc: Pierre Peiffer Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 8cd3ac3aca3f2afe8570708066d64d893da468e8 Author: WANG Cong Date: Tue Jan 6 14:42:48 2009 -0800 fs/exec.c: make do_coredump() void No one cares do_coredump()'s return value, and also it seems that it is also not necessary. So make it void. [akpm@linux-foundation.org: coding-style fixes] Signed-off-by: WANG Cong Cc: Alexander Viro Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 4cb0e11b15d2badad455fcd538af0cccf05dc012 Author: Hidehiro Kawai Date: Tue Jan 6 14:42:47 2009 -0800 coredump_filter: permit changing of the default filter Introduce a new kernel parameter `coredump_filter'. Setting a value to this parameter causes the default bitmask of coredump_filter to be changed. It is useful for users to change coredump_filter settings for the whole system at boot time. Without this parameter, users have to change coredump_filter settings for each /proc// in an initializing script. Signed-off-by: Hidehiro Kawai Cc: Roland McGrath Cc: KOSAKI Motohiro Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 9cd4fd10437dda6b520cb1410b28f36967a34de8 Author: Sukadev Bhattiprolu Date: Tue Jan 6 14:42:46 2009 -0800 SEND_SIG_NOINFO: set si_pid to tgid instead of pid POSIX requires the si_pid to be the process id of the sender, so ->si_pid should really be set to 'tgid'. This change does have following changes in behavior: - When sending pdeath_signal on re-parent to a sub-thread, ->si_pid cannot be used to identify the thread that did the re-parent since it will now show the tgid instead of thread id. - A multi-threaded application that expects to find the specific thread that encountered a SIGPIPE using the ->si_pid will now break. Signed-off-by: Sukadev Bhattiprolu Acked-By: Roland McGrath Cc: "Eric W. Biederman" Cc: Oleg Nesterov Cc: Pavel Emelyanov Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 09bca05c90c639f57aae057e0c28f287e61f5a07 Author: Sukadev Bhattiprolu Date: Tue Jan 6 14:42:45 2009 -0800 SEND_SIG_NOINFO: masquerade si_pid when crossing pid-ns boundary For SEND_SIG_NOINFO, si_pid is currently set to the pid of sender in sender's active pid namespace. But if the receiver is in a Eg: when parent sends the 'pdeath_signal' to a child that is in a descendant pid namespace, we should set si_pid 0. Signed-off-by: Sukadev Bhattiprolu Acked-By: Roland McGrath Cc: "Eric W. Biederman" Cc: Oleg Nesterov Cc: Pavel Emelyanov Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit ecb08d81313a3c015225236775de259d99ab47fe Author: Randy Dunlap Date: Tue Jan 6 14:42:44 2009 -0800 doc: reformat some long lines in kernel-parameters.txt Reformat text to (mostly) stay within 80 columns of text. Signed-off-by: Randy Dunlap Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 7c4be253d3a01ddc92033ec3a3812fddf703ef19 Author: Randy Dunlap Date: Tue Jan 6 14:42:44 2009 -0800 docs: add more early params to kernel-parameters.txt Add some (more) early_param boot options to kernel-parameters.txt. Signed-off-by: Randy Dunlap Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 28f4d75a618e52f93d8e4a3e7bc66db8c882d679 Author: Randy Dunlap Date: Tue Jan 6 14:42:43 2009 -0800 documentation: how to use DOC: section blocks Add info on how to use DOC: sections in kernel-doc. DOC: sections enable the addition of inline source file comments that are general in nature instead of being specific to a function, struct, union, enum, or typedef. Signed-off-by: Randy Dunlap Cc: Johannes Berg Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 58cc855c395fc22db996cc893134c4c690f0f0dc Author: Randy Dunlap Date: Tue Jan 6 14:42:42 2009 -0800 documentation: update s390 header file paths Update Documentation/s390/ files to reflect changed header files locations. Signed-off-by: Randy Dunlap Cc: Martin Schwidefsky Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 07983f0e36eab01a5385117e55154a2aa796eafc Author: Randy Dunlap Date: Tue Jan 6 14:42:41 2009 -0800 documentation: update header file paths Update several Documentation/ files and a few sub-dir files (only one change in each) to reflect changed header files locations. Signed-off-by: Randy Dunlap Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit d3635abfee0c55ad9dcd6b6172a0c6a5455900c9 Author: Randy Dunlap Date: Tue Jan 6 14:42:41 2009 -0800 rapidio: remove excess kernel-doc notation Remove excess kernel-doc notation from rio header and driver: Warning(include/linux/rio_drv.h:399): Excess function parameter or struct member 'buffer' description in 'rio_get_inb_message' Signed-off-by: Randy Dunlap Cc: Matt Porter Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit d78dd070ccda6384efeae142b116bc174f0cd9fa Author: Randy Dunlap Date: Tue Jan 6 14:42:40 2009 -0800 docs: document how to write @varargs in kernel-doc Add documentation on how to use kernel-doc for function parameters that are "..." (varargs). Signed-off-by: Randy Dunlap Cc: Rusty Russell Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit bd4207c9016749f0a212faf7f7f49e5317d96d9b Author: Randy Dunlap Date: Tue Jan 6 14:42:39 2009 -0800 kmod: fix varargs kernel-doc Fix varargs kernel-doc format in kmod.c: Use @... instead of @varargs. Warning(kernel/kmod.c:67): Excess function parameter or struct member 'varargs' description in 'request_module' Signed-off-by: Randy Dunlap Acked-by: Rusty Russell Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit d6b54841f4ddd836c886d1e6ac381cf309ee98a3 Author: Evgeniy Dushistov Date: Tue Jan 6 14:42:38 2009 -0800 minix: fix add link's wrong position calculation Fix the add link method. The oosition in the directory was calculated in wrong way - it had the incorrect shift direction. [akpm@linux-foundation.org: coding-style fixes] Signed-off-by: Evgeniy Dushistov Cc: Nick Piggin Cc: [2.6.lots] Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 4fb6de2561d5c47f3539a7b412108164d79fbb96 Author: Geert Uytterhoeven Date: Tue Jan 6 14:42:37 2009 -0800 fbdev/logo: check compatibility of main and extra logos The code to draw penguin logos always uses some properties of the main logo. This is incorrect if additional logos (CONFIG_FB_LOGO_EXTRA=y) have different types than the main logo, which causes corrupted logo images. http://bugzilla.kernel.org/show_bug.cgi?id=12181 Hence skip additional logos that are not compatible with the main logo. Technically, it's possible to draw multiple logos of different types on truecolor displays, but this would complicate the (already quite complicated) logo drawing code even more. This patch fixes a problem with Debian's linux-image-2.6.26-1-powerpc64 http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=508173 Signed-off-by: Geert Uytterhoeven Cc: Krzysztof Helt Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit c00b1b7d19d335f96aa03ef2e4e71b7fb4fdb056 Author: roel kluin Date: Tue Jan 6 14:42:36 2009 -0800 sm501: unsigned ptr cannot be negative unsigned ptr cannot be negative Signed-off-by: Roel Kluin Cc: Krzysztof Helt Cc: Ben Dooks Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit fd002050becd888e4dab419aa59a6484afe1d00b Author: Hannes Eder Date: Tue Jan 6 14:42:35 2009 -0800 intelfb: fix sparse warnings Fix this sparse warnings: drivers/video/intelfb/intelfbdrv.c:1497:3: warning: returning void-valued expression drivers/video/intelfb/intelfbdrv.c:1525:3: warning: returning void-valued expression drivers/video/intelfb/intelfbdrv.c:1544:3: warning: returning void-valued expression drivers/video/intelfb/intelfbdrv.c:1558:3: warning: returning void-valued expression Signed-off-by: Hannes Eder Cc: Krzysztof Helt Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 4fa34cd051db53a07e1004c7ab078ed13e721f21 Author: Hannes Eder Date: Tue Jan 6 14:42:34 2009 -0800 i810: fix sparse warnings Fix this sparse warnings: drivers/video/i810/i810_accel.c:305:3: warning: returning void-valued expression drivers/video/i810/i810_accel.c:331:3: warning: returning void-valued expression drivers/video/i810/i810_accel.c:370:3: warning: returning void-valued expression Signed-off-by: Hannes Eder Cc: Krzysztof Helt Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 27ec937c4f455163d6b0ab2df7a7b0161367c067 Author: Hannes Eder Date: Tue Jan 6 14:42:34 2009 -0800 neofb: fix sparse warnings Fix this sparse warnings: drivers/video/neofb.c:1456:4: warning: returning void-valued expression drivers/video/neofb.c:1464:3: warning: returning void-valued expression Signed-off-by: Hannes Eder Cc: Krzysztof Helt Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 7654532dbeb6cc3fb35b12449f71f1d97e26fa9a Author: Hannes Eder Date: Tue Jan 6 14:42:33 2009 -0800 pm3fb: fix sparse warning Fix this sparse warning: drivers/video/pm3fb.c:543:3: warning: returning void-valued expression Signed-off-by: Hannes Eder Cc: Krzysztof Helt Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 2899bb09418786132079bb6495ba8f1ce86eb0c6 Author: Hannes Eder Date: Tue Jan 6 14:42:32 2009 -0800 viafb: fix sparse warnings Fix this sparse warnings: drivers/video/via/viafbdev.c:871:3: warning: returning void-valued expression drivers/video/via/viafbdev.c:938:3: warning: returning void-valued expression drivers/video/via/viafbdev.c:995:3: warning: returning void-valued expression Signed-off-by: Hannes Eder Cc: Krzysztof Helt Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 6875145940efdc9851df8aaa251453d33cda62a4 Author: Hannes Eder Date: Tue Jan 6 14:42:32 2009 -0800 nvidia: fix sparse warnings Fix this sparse warnings: drivers/video/nvidia/nv_accel.c:304:3: warning: returning void-valued expression drivers/video/nvidia/nv_accel.c:323:3: warning: returning void-valued expression Signed-off-by: Hannes Eder Cc: Krzysztof Helt Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 6405141fb3d06ec4a50d054a113e3317cad054f9 Author: roel kluin Date: Tue Jan 6 14:42:31 2009 -0800 gbefb: unsigned var->pixclock cannot be less than 0 unsigned var->pixclock cannot be less than 0 Signed-off-by: Roel Kluin Cc: Krzysztof Helt Cc: Thomas Bogendoerfer Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 08cc6341cc04fad45c28995db796317b5b413045 Author: Harvey Harrison Date: Tue Jan 6 14:42:30 2009 -0800 fb: carminefb: trivial annotation packing color register drivers/video/carminefb.c:171:41: warning: cast to restricted __be32 Signed-off-by: Harvey Harrison Cc: Sebastian Siewior Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 729f77bbe515455ac474e6a4a3709858a01ef3da Author: Harvey Harrison Date: Tue Jan 6 14:42:30 2009 -0800 blackfin: remove __FUNCTION__ in video driver __FUNCTION__ is gcc-specific, use __func__ Signed-off-by: Harvey Harrison Acked-by: Bryan Wu Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 3efbb987c1ffcb82ad1b76b67fa26ec7c0c1448a Author: Jiri Moravec Date: Tue Jan 6 14:42:29 2009 -0800 fbdev: fix typo in drivers/video/modedb.c When I viewed drivers/video/modedb.c, I noticed a very old typo already contained in 2.6.0. This typo remained unheeded at least 5 years. Clear evidence of its importance. ;) Acked-by: Geert Uytterhoeven Cc: Krzysztof Helt Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 3c36aa5ccdf516255ef2eac90dd948da891aa4bd Author: Arjan van de Ven Date: Tue Jan 6 14:42:28 2009 -0800 pci: use pci_ioremap_bar() in drivers/video Use the newly introduced pci_ioremap_bar() function in drivers/video. pci_ioremap_bar() just takes a pci device and a bar number, with the goal of making it really hard to get wrong, while also having a central place to stick sanity checks. Signed-off-by: Arjan van de Ven Cc: Krzysztof Helt Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit ab5dc372021def8f40b34761babecad0bf868b1c Author: David Brownell Date: Tue Jan 6 14:42:27 2009 -0800 gpio: pca953x handles more chips, i2c fault codes Minor updates to the pca953x GPIO expander driver: handle several more compatible parts, and stop assuming that the I2C layer's return codes are garbage (that's now been fixed). Signed-off-by: David Brownell Cc: Eric Miao Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit cabb3fc4bd1628c37c37e054960eb3e4bf30dc26 Author: David Brownell Date: Tue Jan 6 14:42:26 2009 -0800 twl4030-gpio: cleanup debounce Provide a static debounce configuration mechanism for twl4030 GPIOs, replacing the previous dynamic one. The single user of that mechanism was for MMC card detect debouncing. Boards can provide a bitmask saying which GPIOs to debounce (30 msec). It's always enabled for pins with the MMC card-detect/VMMCx link active, so most boards won't need to set the debounce mask. This is a net code shrink, including runtime footprint. Signed-off-by: David Brownell Signed-off-by: Tony Lindgren Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit ba6c4033b9db22cb54e7e03dae5b624b7b0ffaf9 Author: Julia Lawall Date: Tue Jan 6 14:42:25 2009 -0800 drivers/rtc: correct an error test rtc is clearly does not satisfy IS_ERR at the point where it is tested, so I have changed the test to consider the just initialized rtc->rtc_dev. The semantic match that finds the problem is as follows: (http://www.emn.fr/x-info/coccinelle/) // @match exists@ expression x, E; identifier fld; position p1,p2; @@ ( x = E; | x = E | x@p1->fld ... when != x = E IS_ERR(x@p2) ... when any ) @other_match exists@ expression match.x, E1, E2; position match.p1,match.p2; @@ x = E1 ... when != x = E2 when != x@p1 x@p2 @ script:python depends on !other_match@ p1 << match.p1; p2 << match.p2; @@ print "* file %s dereference %s test %s" % (p1[0].file,p1[0].line,p2[0].line) // Signed-off-by: Julia Lawall Acked-by: Alessandro Zummo Cc: David Brownell Cc: Bryan Wu Cc: Mike Frysinger Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit defb45147b85457461bfd3e57f0ecc05c18c429e Author: Saeed Bishara Date: Tue Jan 6 14:42:24 2009 -0800 rtc: driver for Marvell's SoCs 88F6281 and 88F6192 Driver for the on-chip RTC found in some of Marvell's SoCs such as the Kirkwood 88F6281 and 88F6192 devices. Signed-off-by: Saeed Bishara Signed-off-by: Lennert Buytenhek Signed-off-by: Nicolas Pitre Signed-off-by: Alessandro Zummo Cc: David Brownell Cc: Russell King Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 97a1f9532ed41fd9cf5249fc1afae23fd47d1120 Author: Alessandro Zummo Date: Tue Jan 6 14:42:23 2009 -0800 rtc: rtc-ds1216 fixes Fixes a few issues with the rtc-ds1216 driver - use rtc_valid_tm - use platform_driver_probe - fix init sequence - it was using rtc_unregister_driver where not needed. I also added resource_size and removed an useless pointer assignment. Signed-off-by: Alessandro Zummo Tested-by: Thomas Bogendoerfer Cc: David Brownell Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 0e1492330cd2c95df2553335d7a77351021a938f Author: Atsushi Nemoto Date: Tue Jan 6 14:42:22 2009 -0800 rtc: add rtc-tx4939 driver Add support for RTC in TX4939 SoC. Signed-off-by: Atsushi Nemoto Acked-by: Alessandro Zummo Cc: David Brownell Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit bbccf83f6c4e1a0de5bdf51ec9ec708d3a1ce933 Author: Alessandro Zummo Date: Tue Jan 6 14:42:21 2009 -0800 rtc: use set_mmss when set_time is not available Drivers should only need to implement either set_mmss (counter based RTCs) or set_time (most RTCs). The RTC subsystem will handle them appropriately. Signed-off-by: Alessandro Zummo Cc: Kumar Gala Cc: David Brownell Cc: Lennert Buytenhek Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit f60091575d43e5a27b26f4d6fa4251cdd6b9ae8a Author: Alessandro Zummo Date: Tue Jan 6 14:42:20 2009 -0800 rtc: rtc-ds3234 fixes - no changelogs in code - no banners - use local buffers - fix probe sequence - do not init .driver.bus Signed-off-by: Alessandro Zummo Cc: Dennis Aberilla Acked-by: David Brownell Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit a5771c6c42826556a73b16b66f93a0936ff87d4e Author: Alessandro Zummo Date: Tue Jan 6 14:42:19 2009 -0800 rtc: rtc-max6902 fixes - no changelogs in code - no banners - use local buffers - fix probe sequence - fixed style issues - fix spi_write call - removed old debug code replaces http://patchwork.ozlabs.org/patch/9421/ and http://patchwork.ozlabs.org/patch/9455/ Signed-off-by: Alessandro Zummo Acked-by: David Brownell Cc: Raphael Assenat Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 45fd8a0c14884b2d8f2a31f71c72dedbaeeb33f2 Author: Manuel Lauss Date: Tue Jan 6 14:42:18 2009 -0800 rtc: Au1000 On-Chip Counter0-as-RTC driver. Simple driver which uses the Au1xxx Time-Of-Year counter (counter0) as a 1Hz RTC. [akpm@linux-foundation.org: repair Kconfig] Signed-off-by: Manuel Lauss Acked-by: Alessandro Zummo Cc: David Brownell Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit ae64d16956718bfd11955217f603b27a781c0cb1 Author: Alessandro Zummo Date: Tue Jan 6 14:42:17 2009 -0800 rtc: kconfig cleanup Remove double spaces and adds some suggestions. It also fixes the descriptions of options that are no more available as modules. Signed-off-by: Alessandro Zummo Cc: David Brownell Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 7b9b2ef1bb7a1eb4c8cdcdc537b3e20466d2d96d Author: Alessandro Zummo Date: Tue Jan 6 14:42:16 2009 -0800 rtc: rtc-ds1390 probe sequence and misc fixes Small fixes for the ds1390 driver - fixed initialization of the spi device - added missing includes - removed printks - removed useless wrappers for rtc ops - removed dead code Signed-off-by: Alessandro Zummo Cc: Mark Jackson Cc: David Brownell Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 0417ce2ad81f719c72e948705134c3d502300d4f Author: Alessandro Zummo Date: Tue Jan 6 14:42:15 2009 -0800 rtc: pxa27x/pxa3xx driver fixes, revised Small fixes for the pxa27x/pxa3xx driver - use platform_driver_probe - fixed exit paths - fixed probe sequence - added missing include - using linux/io.h instead of asm/io.h Signed-off-by: Alessandro Zummo Tested-by: Robert Jarzmik Cc: Jonathan Cameron Cc: David Brownell Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit dc9443688e76733e43eebe8d6f31cc6dc34ccda9 Author: Robert Jarzmik Date: Tue Jan 6 14:42:14 2009 -0800 rtc: driver for pxa27x and pxa3xx SoC With PXA27x and above, a new RTC hardware block was added in addition to the legacy one which is also found on the SA1100 SOC family. This second RTC block is called "wristwatch" and "periodic interrupt" and works independently from the other RTC block. The driver offers provides : - a 1Hz ticking clock - a periodic alarm, in the 1Hz to 1000Hz range - a one shot alarm Signed-off-by: Robert Jarzmik Cc: Jonathan Cameron Signed-off-by: Alessandro Zummo Cc: David Brownell Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 5d2a50371ddf127afa782ad3147469be8e9bd69f Author: Jonathan Cameron Date: Tue Jan 6 14:42:12 2009 -0800 rtc: move power of 2 periodic frequency check down into drivers Move the power of 2 check on frequencies down into individual rtc drivers This is to allow for non power of 2 real time clock periodic interrupts such as those on the pxa27x to be found in the new pxa27x-rtc driver Signed-off-by: Jonathan Cameron Signed-off-by: Alessandro Zummo Cc: David Brownell Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 2fac6674ddf3164da42a76d62f8912073d629a30 Author: Anton Vorontsov Date: Tue Jan 6 14:42:11 2009 -0800 rtc: bunch of drivers: fix 'no irq' case handing This patch fixes a bunch of irq checking misuses. Most drivers were getting irq via platform_get_irq(), which returns -ENXIO or r->start. rtc-cmos.c is special. It is using PNP and platform bindings. Hopefully nobody is using PNP IRQ 0 for RTC. So the changes should be safe. rtc-sh.c is using platform_get_irq, but was storing a result into an unsigned type, then was checking for < 0. This is fixed now. Signed-off-by: Anton Vorontsov Cc: Alessandro Zummo Acked-by: David Brownell Acked-by: Paul Mundt Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit d4afc76c0b59a37113e184004f8a9989cfc1ddd3 Author: Kay Sievers Date: Tue Jan 6 14:42:11 2009 -0800 rtc: struct device: replace bus_id with dev_name(), dev_set_name() Acked-by: Alessandro Zummo Acked-By: Greg Kroah-Hartman Signed-off-by: Kay Sievers Cc: David Brownell Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 103d6d9170e3ecd9cefee9406bf928e1fcc45cc5 Author: Mike Frysinger Date: Tue Jan 6 14:42:10 2009 -0800 genrtc: disable genrtc on Blackfin systems Blackfin platforms do not support the hardware which this driver drives. Signed-off-by: Mike Frysinger Signed-off-by: Bryan Wu Acked-by: Alessandro Zummo Cc: David Brownell Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit bae8ec66554b27967f057a4b7888b09481ff1b8b Author: Ian Kent Date: Tue Jan 6 14:42:09 2009 -0800 autofs4: fix string validation check order In function validate_dev_ioctl() we check that the string we've been sent is a valid path. The function that does this check assumes the string is NULL terminated but our NULL termination check isn't done until after this call. This patch changes the order of the check. Signed-off-by: Ian Kent Acked-by: Jeff Moyer Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit a92daf6ba1f9ace8584edc8eb557a77aa7c2c71d Author: Ian Kent Date: Tue Jan 6 14:42:08 2009 -0800 autofs4: make autofs type usage explicit - the type assigned at mount when no type is given is changed from 0 to AUTOFS_TYPE_INDIRECT. This was done because 0 and AUTOFS_TYPE_INDIRECT were being treated implicitly as the same type. - previously, an offset mount had it's type set to AUTOFS_TYPE_DIRECT|AUTOFS_TYPE_OFFSET but the mount control re-implementation needs to be able distinguish all three types. So this was changed to make the type setting explicit. - a type AUTOFS_TYPE_ANY was added for use by the re-implementation when checking if a given path is a mountpoint. It's not really a type as we use this to ask if a given path is a mountpoint in the autofs_dev_ioctl_ismountpoint() function. - functions to set and test the autofs mount types have been added to improve readability and make the type usage explicit. - the mount type is used from user space for the mount control re-implementtion so, for consistency, all the definitions have been moved to the user space include file include/linux/auto_fs4.h. Signed-off-by: Ian Kent Signed-off-by: Jeff Moyer Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 41cfef2eb87694a8d64105c059b39f7bd6b7d4fe Author: Ian Kent Date: Tue Jan 6 14:42:07 2009 -0800 autofs4: fix var shadowed by local delaration A local definition of devid in autofs_dev_ioctl_ismountpoint() shadows the fuction wide definition. Signed-off-by: Ian Kent Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 730c9eeca9808fc2cfb506cc68c90aa330da17b0 Author: Ian Kent Date: Tue Jan 6 14:42:06 2009 -0800 autofs4: improve parameter usage The parameter usage in the device node ioctl code uses arg1 and arg2 as parameter names. This patch redefines the parameter names to reflect what they actually are in an effort to make the code more readable. Signed-off-by: Ian Kent Signed-off-by: Jeff Moyer Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit f70f582f0072f37790d2984647198deb3e7782a3 Author: Qinghuang Feng Date: Tue Jan 6 14:42:05 2009 -0800 fs/ecryptfs/inode.c: cleanup kerneldoc Arguments lower_dentry and ecryptfs_dentry in ecryptfs_create_underlying_file() have been merged into dentry, now fix it. Signed-off-by: Qinghuang Feng Cc: Randy Dunlap Cc: Michael Halcrow Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 71c11c378f46e42ca67c1e227646ce23bf43a8c6 Author: Michael Halcrow Date: Tue Jan 6 14:42:05 2009 -0800 eCryptfs: Clean up ecryptfs_decode_from_filename() Flesh out the comments for ecryptfs_decode_from_filename(). Remove the return condition, since it is always 0. Signed-off-by: Michael Halcrow Cc: Dustin Kirkland Cc: Eric Sandeen Cc: Tyler Hicks Cc: David Kleikamp Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 7d8bc2be51706152828164b305e969b4a8471041 Author: Michael Halcrow Date: Tue Jan 6 14:42:04 2009 -0800 eCryptfs: kerneldoc for ecryptfs_parse_tag_70_packet() Kerneldoc updates for ecryptfs_parse_tag_70_packet(). Signed-off-by: Michael Halcrow Cc: Dustin Kirkland Cc: Eric Sandeen Cc: Tyler Hicks Cc: David Kleikamp Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit a8f12864c52f8ab8520568dc97969c1749ae60bf Author: Michael Halcrow Date: Tue Jan 6 14:42:03 2009 -0800 eCryptfs: Fix data types (int/size_t) Correct several format string data type specifiers. Correct filename size data types; they should be size_t rather than int when passed as parameters to some other functions (although note that the filenames will never be larger than int). Signed-off-by: Michael Halcrow Cc: Dustin Kirkland Cc: Eric Sandeen Cc: Tyler Hicks Cc: David Kleikamp Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit df261c52abdef147084c76ecf14473184e907547 Author: Michael Halcrow Date: Tue Jan 6 14:42:02 2009 -0800 eCryptfs: Replace %Z with %z %Z is a gcc-ism. Using %z instead. Signed-off-by: Michael Halcrow Cc: Dustin Kirkland Cc: Eric Sandeen Cc: Tyler Hicks Cc: David Kleikamp Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 87c94c4df0149786ad91d8a03c738a03369ee9c8 Author: Michael Halcrow Date: Tue Jan 6 14:42:01 2009 -0800 eCryptfs: Filename Encryption: mount option Enable mount-wide filename encryption by providing the Filename Encryption Key (FNEK) signature as a mount option. Note that the ecryptfs-utils userspace package versions 61 or later support this option. When mounting with ecryptfs-utils version 61 or later, the mount helper will detect the availability of the passphrase-based filename encryption in the kernel (via the eCryptfs sysfs handle) and query the user interactively as to whether or not he wants to enable the feature for the mount. If the user enables filename encryption, the mount helper will then prompt for the FNEK signature that the user wishes to use, suggesting by default the signature for the mount passphrase that the user has already entered for encrypting the file contents. When not using the mount helper, the user can specify the signature for the passphrase key with the ecryptfs_fnek_sig= mount option. This key must be available in the user's keyring. The mount helper usually takes care of this step. If, however, the user is not mounting with the mount helper, then he will need to enter the passphrase key into his keyring with some other utility prior to mounting, such as ecryptfs-manager. Signed-off-by: Michael Halcrow Cc: Dustin Kirkland Cc: Eric Sandeen Cc: Tyler Hicks Cc: David Kleikamp Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit addd65ad8d19a7d7982130b16f957d5d01d3f8df Author: Michael Halcrow Date: Tue Jan 6 14:42:00 2009 -0800 eCryptfs: Filename Encryption: filldir, lookup, and readlink Make the requisite modifications to ecryptfs_filldir(), ecryptfs_lookup(), and ecryptfs_readlink() to call out to filename encryption functions. Propagate filename encryption policy flags from mount-wide crypt_stat to inode crypt_stat. Signed-off-by: Michael Halcrow Cc: Dustin Kirkland Cc: Eric Sandeen Cc: Tyler Hicks Cc: David Kleikamp Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 51ca58dcc9f0d6b1e78954d08bd4954fb6a1421c Author: Michael Halcrow Date: Tue Jan 6 14:41:59 2009 -0800 eCryptfs: Filename Encryption: Encoding and encryption functions These functions support encrypting and encoding the filename contents. The encrypted filename contents may consist of any ASCII characters. This patch includes a custom encoding mechanism to map the ASCII characters to a reduced character set that is appropriate for filenames. Signed-off-by: Michael Halcrow Cc: Dustin Kirkland Cc: Eric Sandeen Cc: Tyler Hicks Cc: David Kleikamp Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit a34f60f748c6fe5d791e9b54cffe442201428254 Author: Michael Halcrow Date: Tue Jan 6 14:41:58 2009 -0800 eCryptfs: Filename Encryption: Header updates Extensions to the header file to support filename encryption. Signed-off-by: Michael Halcrow Cc: Dustin Kirkland Cc: Eric Sandeen Cc: Tyler Hicks Cc: David Kleikamp Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 9c79f34f7ee71cd28272332b424ca64b2be006ab Author: Michael Halcrow Date: Tue Jan 6 14:41:57 2009 -0800 eCryptfs: Filename Encryption: Tag 70 packets This patchset implements filename encryption via a passphrase-derived mount-wide Filename Encryption Key (FNEK) specified as a mount parameter. Each encrypted filename has a fixed prefix indicating that eCryptfs should try to decrypt the filename. When eCryptfs encounters this prefix, it decodes the filename into a tag 70 packet and then decrypts the packet contents using the FNEK, setting the filename to the decrypted filename. Both unencrypted and encrypted filenames can reside in the same lower filesystem. Because filename encryption expands the length of the filename during the encoding stage, eCryptfs will not properly handle filenames that are already near the maximum filename length. In the present implementation, eCryptfs must be able to produce a match against the lower encrypted and encoded filename representation when given a plaintext filename. Therefore, two files having the same plaintext name will encrypt and encode into the same lower filename if they are both encrypted using the same FNEK. This can be changed by finding a way to replace the prepended bytes in the blocked-aligned filename with random characters; they are hashes of the FNEK right now, so that it is possible to deterministically map from a plaintext filename to an encrypted and encoded filename in the lower filesystem. An implementation using random characters will have to decode and decrypt every single directory entry in any given directory any time an event occurs wherein the VFS needs to determine whether a particular file exists in the lower directory and the decrypted and decoded filenames have not yet been extracted for that directory. Thanks to Tyler Hicks and David Kleikamp for assistance in the development of this patchset. This patch: A tag 70 packet contains a filename encrypted with a Filename Encryption Key (FNEK). This patch implements functions for writing and parsing tag 70 packets. This patch also adds definitions and extends structures to support filename encryption. Signed-off-by: Michael Halcrow Cc: Dustin Kirkland Cc: Eric Sandeen Cc: Tyler Hicks Cc: David Kleikamp Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 14bca6c39d8245a0313f55309bfeb6bf60cc17c8 Author: Randy Dunlap Date: Tue Jan 6 14:41:56 2009 -0800 i2o: remove extraneous kernel-doc Remove excess kernel-doc function parameter notation from i2o/. Warning(drivers/message/i2o/iop.c:64): Excess function parameter 'msg' description in 'i2o_msg_get_wait' Warning(drivers/message/i2o/device.c:62): Excess function parameter 'drv' description in 'i2o_device_claim' Warning(drivers/message/i2o/device.c:95): Excess function parameter 'drv' description in 'i2o_device_claim_release' Warning(drivers/message/i2o/driver.c:186): Excess function parameter 'msg' description in 'i2o_driver_dispatch' Signed-off-by: Randy Dunlap Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit f24659d96f4e056125f14498285203d1427cb18e Author: Masami Hiramatsu Date: Tue Jan 6 14:41:55 2009 -0800 kprobes: support probing module __init function Allow kprobes to probe module __init routines. When __init functions are freed, kprobes which probe those functions are set to "Gone" flag. These "Gone" probes are disarmed from the code and never be enabled. Signed-off-by: Masami Hiramatsu Acked-by: Ananth N Mavinakayanahalli Cc: Anil S Keshavamurthy Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 0deddf436a37c18ceb26c6e3b632fb9b5f58a0c1 Author: Masami Hiramatsu Date: Tue Jan 6 14:41:54 2009 -0800 module: add MODULE_STATE_LIVE notify Add a module notifier call which notifies that the state of a module changes from MODULE_STATE_COMING to MODULE_STATE_LIVE. Signed-off-by: Masami Hiramatsu Cc: Ananth N Mavinakayanahalli Cc: Anil S Keshavamurthy Acked-by: Rusty Russell Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 49ad2fd76c97133fb396edc24ded7fe26093a578 Author: Masami Hiramatsu Date: Tue Jan 6 14:41:53 2009 -0800 kprobes: remove called_from argument Remove called_from argument from kprobes which had been used for preventing self-refering of kernel module. However, since we don't keep module's refcount after registering kprobe any more, there is no reason to check that. This patch also simplifies registering/unregistering functions because we don't need to use __builtin_return_address(0) which was passed to called_from. [ananth@in.ibm.com: build fix] Signed-off-by: Masami Hiramatsu Acked-by: Ananth N Mavinakayanahalli Cc: Anil S Keshavamurthy Signed-off-by: Ananth N Mavinakayanahalli Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit e8386a0cb22f4a2d439384212c494ad0bda848fe Author: Masami Hiramatsu Date: Tue Jan 6 14:41:52 2009 -0800 kprobes: support probing module __exit function Allows kprobes to probe __exit routine. This adds flags member to struct kprobe. When module is freed(kprobes hooks module_notifier to get this event), kprobes which probe the functions in that module are set to "Gone" flag to the flags member. These "Gone" probes are never be enabled. Users can check the GONE flag through debugfs. This also removes mod_refcounted, because we couldn't free a module if kprobe incremented the refcount of that module. [akpm@linux-foundation.org: document some locking] [mhiramat@redhat.com: bugfix: pass aggr_kprobe to arch_remove_kprobe] [mhiramat@redhat.com: bugfix: release old_p's insn_slot before error return] Signed-off-by: Masami Hiramatsu Acked-by: Ananth N Mavinakayanahalli Cc: Anil S Keshavamurthy Signed-off-by: Masami Hiramatsu Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 017c39bdb1b3ac1da6db339474a77b528043c05a Author: Masami Hiramatsu Date: Tue Jan 6 14:41:51 2009 -0800 kprobes: add __kprobes to kprobe internal functions Add __kprobes to kprobes internal functions for protecting from probing by kprobes itself. Signed-off-by: Masami Hiramatsu Acked-by: Ananth N Mavinakayanahalli Cc: Anil S Keshavamurthy Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 129415607845d4daea11ddcba706005c69dcb942 Author: Masami Hiramatsu Date: Tue Jan 6 14:41:50 2009 -0800 kprobes: add kprobe_insn_mutex and cleanup arch_remove_kprobe() Add kprobe_insn_mutex for protecting kprobe_insn_pages hlist, and remove kprobe_mutex from architecture dependent code. This allows us to call arch_remove_kprobe() (and free_insn_slot) while holding kprobe_mutex. Signed-off-by: Masami Hiramatsu Acked-by: Ananth N Mavinakayanahalli Cc: Anil S Keshavamurthy Cc: Russell King Cc: "Luck, Tony" Cc: Paul Mackerras Cc: Benjamin Herrenschmidt Cc: Martin Schwidefsky Cc: Heiko Carstens Cc: Ingo Molnar Cc: Thomas Gleixner Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit a06f6211ef9b1785922f9d0e8766d63ac4e66de1 Author: Masami Hiramatsu Date: Tue Jan 6 14:41:49 2009 -0800 module: add within_module_core() and within_module_init() This series of patches allows kprobes to probe module's __init and __exit functions. This means, you can probe driver initialization and terminating. Currently, kprobes can't probe __init function because these functions are freed after module initialization. And it also can't probe module __exit functions because kprobe increments reference count of target module and user can't unload it. this means __exit functions never be called unless removing probes from the module. To solve both cases, this series of patches introduces GONE flag and sets it when the target code is freed(for this purpose, kprobes hooks MODULE_STATE_* events). This also removes refcount incrementing for allowing user to unload target module. Users can check which probes are GONE by debugfs interface. For taking timing of freeing module's .init text, these also include a patch which adds module's notifier of MODULE_STATE_LIVE event. This patch: Add within_module_core() and within_module_init() for checking whether an address is in the module .init.text section or .text section, and replace within() local inline functions in kernel/module.c with them. kprobes uses these functions to check where the kprobe is inserted. Signed-off-by: Masami Hiramatsu Cc: Ananth N Mavinakayanahalli Cc: Anil S Keshavamurthy Acked-by: Rusty Russell Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 12da3b888b2035bb0f106122f1cc1b6d357fad53 Author: Masami Hiramatsu Date: Tue Jan 6 14:41:48 2009 -0800 kprobes: add tests for register_kprobes Add testcases for *probe batch registration (register_kprobes) to kprobes sanity tests. Signed-off-by: Masami Hiramatsu Acked-by: Ananth N Mavinakayanahalli Cc: Jim Keniston Cc: David Miller Cc: Anil S Keshavamurthy Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 8e1144050e49dd4ef19c117dc5626f212cfe73cf Author: Masami Hiramatsu Date: Tue Jan 6 14:41:47 2009 -0800 kprobes: indirectly call kprobe_target Call kprobe_target indirectly. This prevents gcc to unroll a noinline function in caller function. I ported patches which had been discussed on http://sources.redhat.com/bugzilla/show_bug.cgi?id=3542 Signed-off-by: Masami Hiramatsu Acked-by: Ananth N Mavinakayanahalli Cc: Jim Keniston Cc: David Miller Cc: Anil S Keshavamurthy Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit bc2f70151fe7a117dbe8347edc5a877e749572a3 Author: Masami Hiramatsu Date: Tue Jan 6 14:41:46 2009 -0800 kprobes: bugfix: try_module_get even if calling_mod is NULL When someone called register_*probe() from kernel-core code(not from module) and that probes a kernel module, users can remove the probed module because kprobe doesn't increment reference counter of the module. (on the other hand, if the kernel-module calls register_*probe, kprobe increments refcount of the probed module.) Currently, we have no register_*probe() calling from kernel-core(except smoke-test, but the smoke-test doesn't probe module), so there is no real bugs. But the logic is wrong(or not fair) and it can causes a problem when someone might want to probe module from kernel. After this patch is applied, even if someone put register_*probe() call in the kernel-core code, it increments the reference counter of the probed module, and it prevents user to remove the module until stopping probing it. Signed-off-by: Masami Hiramatsu Cc: Lai Jiangshan Cc: Ananth N Mavinakayanahalli Cc: Hiroshi Shimamoto Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 51e911e27690aecea01d4fe9cb22d38bdd0748ac Author: Julia Lawall Date: Tue Jan 6 14:41:45 2009 -0800 drivers/spi: move a dereference below a NULL test In each case, if the NULL test is necessary, then the dereference should be moved below the NULL test. The semantic patch that makes this change is as follows: (http://www.emn.fr/x-info/coccinelle/) // @@ type T; expression E; identifier i,fld; statement S; @@ - T i = E->fld; + T i; ... when != E when != i if (E == NULL) S + i = E->fld; // Signed-off-by: Julia Lawall Acked-by: David Brownell Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit ee9c1fbfe130a20e0f23d1693d6427dac97239bc Author: Ben Dooks Date: Tue Jan 6 14:41:44 2009 -0800 spi: use generic gpio calls in spi_s3c24xx_gpio Change the spi_s3c2410 driver to use the generic gpio calls that are now available. Signed-off-by: Ben Dooks Signed-off-by: David Brownell Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 5ee36c989831ab720eee282521462cce0a3c4900 Author: Haavard Skinnemoen Date: Tue Jan 6 14:41:43 2009 -0800 spi: atmel_spi update chipselect handling This solves several issues: * It fixes the wrong idle clock polarity issue in a cleaner and less expensive way. * It handles the AT32AP7000 errata "SPI Chip Select 0 BITS field overrides other Chip Selects". Other chips, e.g. AT91SAM9261, have similar issues. Currently, the AT91RM9200 code path is left alone. But it might be interesting to try the same technique on RM9200 using a different CSR register. [dbrownell@users.sourceforge.net: restore debug message for activation] Signed-off-by: Haavard Skinnemoen Signed-off-by: David Brownell Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 5bfa26ca1332780dfeeabafd7f169fc6fb48ba30 Author: Haavard Skinnemoen Date: Tue Jan 6 14:41:42 2009 -0800 atmel_spi: clean up SPIv1 quirk handling Currently, we have a flag called "new_1" which is basically equivalent to cpu_is_at91rm9200(). The latter is also called directly a few places. Clean up this mess by introducing a atmel_spi_v2() function for determining the controller version, and move all version dependent code over to use it. This allows us to remove the new_1 flag. Signed-off-by: Haavard Skinnemoen Signed-off-by: David Brownell Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit d29389de0b0ee1715333bafc6ac3f22a75aa4313 Author: David Brownell Date: Tue Jan 6 14:41:41 2009 -0800 spi_gpio driver Generalize the old at91rm9200 "bootstrap" bitbanging SPI master driver as "spi_gpio", so it works with arbitrary GPIOs and can be configured through platform_data. Such SPI masters support: - any number of bus instances (bus_num is the platform_device.id) - any number of chipselects (one GPIO per spi_device) - all four SPI_MODE values, and SPI_CS_HIGH - i/o word sizes from 1 to 32 bits; - devices configured as with any other spi_master controller When configured using platform_data, this provides relatively low clock rates. On platforms that support inlined GPIO calls, significantly improved transfer speeds are also possible with a semi-custom driver. (It's still painful when accessing flash memory, but less so.) Sanity checked by using this version to replace both native controllers on a board with six different SPI slaves, relying on three different SPI_MODE_* values and both SPI_CS_HIGH settings for correct operation. [akpm@linux-foundation.org: cleanups] Signed-off-by: David Brownell Acked-by: Magnus Damm Tested-by: Magnus Damm Cc: Torgil Svensson Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit c2bacfc44f4b8d03dbaad5d2dca2fb4161e81975 Author: Randy Dunlap Date: Tue Jan 6 14:41:40 2009 -0800 dmi: fix kernel-doc notation Add missing kernel-doc notation: drivers/firmware/dmi_scan.c:475: No description found for parameter 'str' drivers/firmware/dmi_scan.c:592: No description found for parameter 'f' drivers/firmware/dmi_scan.c:592: No description found for parameter 'str' Signed-off-by: Randy Dunlap Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit ee9ef6b778fbe1cacbec4fcd18a93f322ff93354 Author: Qinghuang Feng Date: Tue Jan 6 14:41:39 2009 -0800 fs/ncpfs/getopt.c: cleanup keneldoc There are no argument named @flag in ncp_getopt(), remove it. Signed-off-by: Qinghuang Feng Cc: Randy Dunlap Cc: Petr Vandrovec Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 87113e806a9ee48c6c989513ef3e9c1d31e06ac4 Author: Qinghuang Feng Date: Tue Jan 6 14:41:38 2009 -0800 fs/binfmt_misc.c: add terminating newline to /proc/sys/fs/binfmt_misc/status The following is what it looks like before patching. It is not much readable. user@ubuntu:/proc/sys/fs/binfmt_misc$ cat status enableduser@ubuntu:/proc/sys/fs/binfmt_misc$ Signed-off-by: Qinghuang Feng Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 5cf0cc4e670b8da2231a3375db87ec3b6cb84432 Author: Hiroshi Shimamoto Date: Tue Jan 6 14:41:38 2009 -0800 binfmts.h: include list.h linux_binfmt uses list_head, so list.h is needed. [akpm@linux-foundation.org: fix `make headerscheck'] Signed-off-by: Hiroshi Shimamoto Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 29041b4b1a3d68192eef7613703669f5c7b01d0c Author: Harvey Harrison Date: Tue Jan 6 14:41:37 2009 -0800 ibmpex: add endian annotation to extract_data() helper Signed-off-by: Harvey Harrison Cc: "Darrick J. Wong" Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 85e0e5ad1ef8cebd010bbd7047418a47ca9c5ead Author: Henrik Rydberg Date: Tue Jan 6 14:41:36 2009 -0800 hwmon: applesmc: Add support for MacBook Air 2 Add temperature sensor support for MacBook Air 2. Signed-off-by: Henrik Rydberg Cc: Nicolas Boichat Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 44ea9c809db6cd373448e77c4be424b534f2051f Author: Nicolas Palix Date: Tue Jan 6 14:41:35 2009 -0800 drivers/macintosh: Add missing of_node_put in therm_adt746x.c of_node_put is needed before discarding a value received from of_find_node_by_name, eg in error handling code or when the device node is no longer used. The semantic match that catches the bug is as follows: (http://www.emn.fr/x-info/coccinelle/) // @r exists@ local idexpression struct device_node *n; position p1, p2; struct device_node *n1; statement S; identifier f; expression E; expression *ptr != NULL; @@ n@p1 = of_find_node_by_name(...) ... if (!n) S ... when != of_node_put(n) when != n1 = f(n,...) when != E = n when any when strict ( return \(0\|<+...n...+>\|ptr\); | return@p2 ...; | of_node_put(n); | n1 = f(n,...) | E = n ) @script:python@ p1 << r.p1; p2 << r.p2; @@ print "* file: %s of_find_node_by_name %s return %s" % (p1[0].file,p1[0].line,p2[0].line) // Signed-off-by: Nicolas Palix Signed-off-by: Julia Lawall Acked-by: Stephen Rothwell Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 89fac11cb3e7c5860c425dba14845c09ccede39d Author: Darrick J. Wong Date: Tue Jan 6 14:41:34 2009 -0800 adt7470: make automatic fan control really work It turns out that the adt7470's automatic fan control algorithm only works when the temperature sensors get updated. This in turn happens only when someone tells the chip to read its temperature sensors. Regrettably, this means that we have to drive the chip periodically. Signed-off-by: Darrick J. Wong Cc: Jean Delvare Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 2f22d5dff6f95d777c4cb217b99bfdf1fe306128 Author: Darrick J. Wong Date: Tue Jan 6 14:41:33 2009 -0800 adt7470: observe the number of temperature sensors to shorten update time The adt7470 driver currently assumes that 1s is the proper time to wait to read all temperature sensors. However, the correct time is 200ms * number_of_sensors. This patch sets the default time to provide for 10 sensors and then lowers it based on the number of sensor inputs that have nozero values. Signed-off-by: Darrick J. Wong Cc: Jean Delvare Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 2e75a4b7ae0dd4bf7b34e41c2c3be7ac23b8f1cc Author: Darrick J. Wong Date: Tue Jan 6 14:41:32 2009 -0800 adt7470: fix pwm at a certain level during temperature sensor scan In the small window that it takes to read the temperature sensors, the pwm outputs momentarily drop to 0. This causes a noticeable hiccup in fan speed, which is slightly annoying. The solution is to manually program the pwm output with whatever the automatic value is and then shift the fans to manual control while reading temperatures. Once that is done, put the fans back to whatever mode of control was there before. Signed-off-by: Darrick J. Wong Cc: Jean Delvare Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 8f8c1fb0c829278b889588da211a5a557518b06c Author: Darrick J. Wong Date: Tue Jan 6 14:41:31 2009 -0800 adt74{62, 70, 73}: Use DIV_ROUND_CLOSEST for rounded division Modify some hwmon drivers to use DIV_ROUND_CLOSEST instead of bloating source with (naughty) macros. Signed-off-by: Darrick J. Wong Cc: Jean Delvare Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 57b9c6d9c5074a06fda770a7f009d655593e0e29 Author: Andy Whitcroft Date: Tue Jan 6 14:41:30 2009 -0800 checkpatch: version: 0.26 Signed-off-by: Andy Whitcroft Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 21caa13c02d67f755fad50370996c489c34a9b15 Author: Andy Whitcroft Date: Tue Jan 6 14:41:30 2009 -0800 checkpatch: fix the perlcritic errors Clean up checkpatch using perlcritic. Signed-off-by: Andy Whitcroft Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 2b6db5cb65cb1276a7aa363a6e7335b0a8a68393 Author: Andy Whitcroft Date: Tue Jan 6 14:41:29 2009 -0800 checkpatch: struct file_operations should normally be const In the general use case struct file_operations should be a const object. Check for and warn where it is not. As suggested by Steven and Ingo. Acked-by: Steven Rostedt Cc: Ingo Molnar Signed-off-by: Andy Whitcroft Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit b53c8e104ed071c47ada2adce194625ab03d9f3d Author: Andy Whitcroft Date: Tue Jan 6 14:41:29 2009 -0800 checkpatch: ensure we actually detect if assignments split across lines When checking for assignments within if conditionals we check the whole of the condition, but the match is performed using a line constrained regular expression. This means we can miss split conditionals or those on the second line. Allow the check to span lines. Signed-off-by: Andy Whitcroft Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 2d1bafd799ee0442979e6ce4145d58b69d3cade2 Author: Andy Whitcroft Date: Tue Jan 6 14:41:28 2009 -0800 checkpatch: do not report nr_static as a static declaration Ensure we do not report identifiers containing the word static as static declarations. For example this should not be reported as an unecessary assignement of 0: long nr_static = 0; Signed-off-by: Andy Whitcroft Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 4635f4fbaf51555509c747eed02a7e7a580ae1e1 Author: Andy Whitcroft Date: Tue Jan 6 14:41:27 2009 -0800 checkpatch: track #ifdef/#else/#endif when tracking blocks When picking up a complete statement or block for analysis we cannot simply track open/close/etc parenthesis we must take into account preprocessor section boundaries. Signed-off-by: Andy Whitcroft Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 8b1b33786b06a222cf3430b1bf942a3681532104 Author: Andy Whitcroft Date: Tue Jan 6 14:41:27 2009 -0800 checkpatch: fix continuation detection when handling spacing on operators We are miscategorising a continuation fragment following an operator which may lead to us thinking that there is a space after it when there is not. Fix this up. Signed-off-by: Andy Whitcroft Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 8054576dca7e76dd1f58c525af3309cfc9c74454 Author: Andy Whitcroft Date: Tue Jan 6 14:41:26 2009 -0800 checkpatch: loosen spacing on typedef function checks Loosen spacing checks to correctly detect this valid use of a typedef: typedef struct rcu_data *(*get_data_func)(int); Signed-off-by: Andy Whitcroft Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 080ba929651a32f1840751d2b862e64c8ee1f0c6 Author: Mike Frysinger Date: Tue Jan 6 14:41:25 2009 -0800 checkpatch: try to catch missing VMLINUX_SYMBOL() in vmlinux.lds.h Seems like every other release we have someone who updates vmlinux.lds.h and adds C-visible symbols without VMLINUX_SYMBOL() around them. So start checking the file and reject assignments which have plain symbols on either side. [apw@canonical.com: soften the check, add tests] Signed-off-by: Mike Frysinger Signed-off-by: Andy Whitcroft Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 86f9d059c6bc548f6337f01117897a4c823cb4ee Author: Andy Whitcroft Date: Tue Jan 6 14:41:24 2009 -0800 checkpatch: allow parentheses on return for comparisons It seems to be a common idiom to include braces on conditionals in all contexts including return. Allow this exception to the return is not a function checks. Reported by Kay Sievers. Cc: Kay Sievers Signed-off-by: Andy Whitcroft Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 1e85572697b348b1a126520349a29654f2ae6a12 Author: Wolfram Sang Date: Tue Jan 6 14:41:24 2009 -0800 checkpatch: Add warning for p0-patches Some people work internally with -p0-patches which has the danger that one forgets to convert them to -p1 before mainlining. Bitten myself and seen p0-patches in mailing lists occasionally, this patch adds a warning to checkpatch.pl in case a patch is -p0. If you really want, you can fool this check to generate false positives, this is why it just spits a warning. Making the check 100% proof is trickier than it looks, so let's start with a version which catches the cases of real use. [apw@canonical.com: update message language, handle null prefix, add tests] Signed-off-by: Wolfram Sang Signed-off-by: Andy Whitcroft Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 2a5a2c25224e26c5ee491af0dc5d39e4a16f619c Author: Andy Whitcroft Date: Tue Jan 6 14:41:23 2009 -0800 checkpatch: update copyrights Signed-off-by: Andy Whitcroft Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit b0e0b4325375a360d33bace203e19471a9f9e067 Author: Andy Whitcroft Date: Tue Jan 6 14:41:22 2009 -0800 checkpatch: update MAINTAINERS entry Update my email address to my new work address. Also, as per our recent email conversation remove Randy and Joel from the maintainers list. Finally add LKML so that emails are recorded somewhere. Signed-off-by: Andy Whitcroft Cc: Randy Dunlap Cc: Joel Schopp Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 50a7dcfb5062a5d9a0dcb28943a1e0cd5f0f60c2 Author: Andy Whitcroft Date: Tue Jan 6 14:41:21 2009 -0800 checkpatch: version: 0.25 Signed-off-by: Andy Whitcroft Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 65863862ba112bf4d06d5ebc142b9d746d1ee955 Author: Andy Whitcroft Date: Tue Jan 6 14:41:21 2009 -0800 checkpatch: dissallow spaces between stars in pointer types Disallow spaces within multiple pointer stars (*) in both casts and definitions. Both of these would now be reported: (char * *) char * *foo; Also now consistently detects and reports the attributes within these structures making the error report itself clearer. Signed-off-by: Andy Whitcroft Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit fae17daed7312bae708df0cce7e93971308698b5 Author: Andy Whitcroft Date: Tue Jan 6 14:41:20 2009 -0800 checkpatch: comment ends inside strings is most likely not an open comment When we are detecting whether a comment is open when we start a hunk we check for the first comment edge in the hunk and assume its inverse. However if the hunk contains something like below, then we will assume that a comment was open. Update this heuristic to see if the comment edge is obviously within double quotes and ignore it if so: foo(" */); Signed-off-by: Andy Whitcroft Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 8e761b04a34288a3b0b29c0f49cdf157d7db8863 Author: Andy Whitcroft Date: Tue Jan 6 14:41:19 2009 -0800 checkpatch: detect multiple bitfield declarations Detect the colons (:) which make up secondary bitfield declarations and apply binary colon checks. For example the following is common idiom: int foo:1, bar:1; Signed-off-by: Andy Whitcroft Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 5fe3af119bed58d240e2097fe76f322ab51902d7 Author: Andy Whitcroft Date: Tue Jan 6 14:41:18 2009 -0800 checkpatch: __weak is an official attribute Add __weak as an official attribute. This tends to be used in a location where the automated attribute detector misses it. Signed-off-by: Andy Whitcroft Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 383099fd636deacf698b91b4c96d0d6d01e6dc79 Author: Andy Whitcroft Date: Tue Jan 6 14:41:18 2009 -0800 checkpatch: structure member assignments are not complex Ensure we do not trigger the complex macros checks on structure member assignment, for example: #define foo .bar = 10 Signed-off-by: Andy Whitcroft Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 83242e0c239aaa33e757584605f788ac1eca2f0f Author: Andy Whitcroft Date: Tue Jan 6 14:41:17 2009 -0800 checkpatch: widen implied comment detection to allow multiple stars Some people use double star '**' as a comment continuation, and start comments with complete lines of stars. Widen the implied comment detection to pick these up. Signed-off-by: Andy Whitcroft Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 721c1cb60e0546d2e71b9aa50426c94e69c6521a Author: Andy Whitcroft Date: Tue Jan 6 14:41:16 2009 -0800 checkpatch: comment detection may miss an implied comment on the last hunk When detecting implied comments from leading stars we may incorrectly think we have detected an edge one way or the other when we have not if we drop off the end of the last hunk. Fix this up. Signed-off-by: Andy Whitcroft Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 691d77b6b85c20e4166bafd12bd0131b28f95a16 Author: Andy Whitcroft Date: Tue Jan 6 14:41:16 2009 -0800 checkpatch: add checks for in_atomic() in_atomic() is not for driver use so report any such use as an ERROR. Also in_atomic() is often used to determine if we may sleep, but it is not reliable in this use model therefore strongly discourage its use. Signed-off-by: Andy Whitcroft Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 94e2959e7a6a4ef0969932c30349ce6f4469a3cf Author: Randy Dunlap Date: Tue Jan 6 14:41:15 2009 -0800 fs: fix function param name in kernel-doc Fix function parameter name in kernel-doc: Warning(linux-2.6.28-git5//fs/block_dev.c:1272): No description found for parameter 'pathname' Warning(linux-2.6.28-git5//fs/block_dev.c:1272): Excess function parameter 'path' description in 'lookup_bdev' Signed-off-by: Randy Dunlap Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 8c3659347efb43857b2c2d7bc63a9c7d68d1a608 Author: Jesper Juhl Date: Tue Jan 6 14:41:14 2009 -0800 include/linux/interrupt.h: do not include linux/irqnr.h twice Signed-off-by: Jesper Juhl Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 208b95ce3afbc2f4ef0a84b8cfdd7a8b94d17a5a Author: Randy Dunlap Date: Tue Jan 6 14:41:13 2009 -0800 sysrq: more explicit, less terse help messages Eliminate sysrq terse help mode; make sysrq help messages more meaningful (more explicit/verbose). Make the sysrq action letter clearer by listing it explicitly in more sysrq help messages (when it is not simple/clear). The SysRq help message now looks like this: SysRq : HELP : loglevel(0-9) reBoot terminate-all-tasks(E) memory-full-oom-kill(F) kill-all-tasks(I) saK show-backtrace-all-active-cpus(L) show-memory-usage(M) nice-all-RT-tasks(N) powerOff show-registers(P) show-all-timers(Q) unRaw Sync show-task-states(T) Unmount show-blocked-tasks(W) Addresses http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=330403. Signed-off-by: Randy Dunlap Cc: Cc: <330403@bugs.debian.org> Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 0bc02f3fa433a98631a932e77c4b1f873da35aee Author: Randy Dunlap Date: Tue Jan 6 14:41:13 2009 -0800 fs/inode: fix kernel-doc notation Fix kernel-doc notation: Warning(linux-2.6.28-git3//fs/inode.c:120): No description found for parameter 'sb' Warning(linux-2.6.28-git3//fs/inode.c:120): No description found for parameter 'inode' Warning(linux-2.6.28-git3//fs/inode.c:588): No description found for parameter 'sb' Warning(linux-2.6.28-git3//fs/inode.c:588): No description found for parameter 'inode' Signed-off-by: Randy Dunlap Cc: Al Viro Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 67faaada1ebcccf29745346f1d7cb5392f46500a Author: Geert Uytterhoeven Date: Tue Jan 6 14:41:12 2009 -0800 Remove obsolete CONFIG_RESOURCES_64BIT commit 8308c54d7e312f7a03e2ce2057d0837e6fe3843f ("generic: redefine resource_size_t as phys_addr_t") made CONFIG_RESOURCES_64BIT obsolete, but didn't remove it. Remove it. Signed-off-by: Geert Uytterhoeven Cc: Jeremy Fitzhardinge Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 350eaf791bebccb9ad5999351f3e328319545f03 Author: Tetsuo Handa Date: Tue Jan 6 14:41:11 2009 -0800 do_coredump(): check return from argv_split() do_coredump() accesses helper_argv[0] without checking helper_argv != NULL. This can happen if page allocation failed. Signed-off-by: Tetsuo Handa Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 26e5438e4b77f04a51870f9415ffed68004fac1d Author: KOSAKI Motohiro Date: Tue Jan 6 14:41:10 2009 -0800 profile: don't include twice. Currently, kernel/profile.c include twice. It can be removed. Signed-off-by: KOSAKI Motohiro Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit d2e3192b6e372a441c18bc8cb32f89ef38f105b7 Author: Jan Beulich Date: Tue Jan 6 14:41:10 2009 -0800 init/main.c: mark late_time_init as __initdata Signed-off-by: Jan Beulich Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit ca8a5bd28226d62c045e0e55b42b9d10b146c205 Author: Gerd Hoffmann Date: Tue Jan 6 14:41:09 2009 -0800 add missing accounting calls to compat_sys_{readv,writev} Signed-off-by: Gerd Hoffmann Cc: Jay Lan Cc: Balbir Singh Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 8c4018884a49eb2c6c7ca90804f331b12983561c Author: Cyrill Gorcunov Date: Tue Jan 6 14:41:08 2009 -0800 fs: fix name overwrite in __register_chrdev_region() It's possible to register a chrdev with a name size exactly the same as was allocated in structure. It seems it was not intended behaviour. At least chrdev_show does not like it. Signed-off-by: Cyrill Gorcunov Cc: Al Viro Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit ba84be2338d3a2b6020d39279335bb06fcd332e1 Author: Russell King Date: Tue Jan 6 14:41:07 2009 -0800 remove linux/hardirq.h from asm-generic/local.h While looking at reducing the amount of architecture namespace pollution in the generic kernel, I found that asm/irq.h is included in the vast majority of compilations on ARM (around 650 files.) Since asm/irq.h includes a sub-architecture include file on ARM, this causes a negative impact on the ccache's ability to re-use the build results from other sub-architectures, so we have a desire to reduce the dependencies on asm/irq.h. It turns out that a major cause of this is the needless include of linux/hardirq.h into asm-generic/local.h. The patch below removes this include, resulting in some 250 to 300 files (around half) of the kernel then omitting asm/irq.h. My test builds still succeed, provided two ARM files are fixed (arch/arm/kernel/traps.c and arch/arm/mm/fault.c) - so there may be negative impacts for this on other architectures. Note that x86 does not include asm/irq.h nor linux/hardirq.h in its asm/local.h, so this patch can be viewed as bringing the generic version into line with the x86 version. [kosaki.motohiro@jp.fujitsu.com: add #include to acpi/processor_idle.c] [adobriyan@gmail.com: fix sparc64] Signed-off-by: Russell King Signed-off-by: KOSAKI Motohiro Cc: Steven Rostedt Cc: Alexey Dobriyan Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 08adefd4791772d8b3fe23cc9d2554123e21dfa3 Author: Brent Casavant Date: Tue Jan 6 14:41:06 2009 -0800 ioc4: automatically load sgiioc4 subordinate module Modify ioc4 to always load the sgiioc4 IDE module if the board carrying the IOC4 hardware actually implements the IDE interface (not all boards bring this functionality off the IOC4 chip). A drive hosted on the IDE interface may contain the root filesystem, and sgiioc4 doesn't load automatically as ioc4 owns the PCI device ID, not sgiioc4. [akpm@linux-foundation.org: coding-style fixes] Signed-off-by: Michael Reed Signed-off-by: Brent Casavant Cc: Bartlomiej Zolnierkiewicz Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit bfa0b1c3ca802bd9813987e861d932ddc1c8cf50 Author: Dmitry Eremin-Solenikov Date: Tue Jan 6 14:41:05 2009 -0800 Dmitry has been renamed My surname has changed due to marriage. Change MAINTAINERS entry and add .mailmap entry to reflect that. Signed-off-by: Dmitry Eremin-Solenikov Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 179f7ebff6be45738c6e2fa68c8d2cc5c2c6308e Author: Eric Dumazet Date: Tue Jan 6 14:41:04 2009 -0800 percpu_counter: FBC_BATCH should be a variable For NR_CPUS >= 16 values, FBC_BATCH is 2*NR_CPUS Considering more and more distros are using high NR_CPUS values, it makes sense to use a more sensible value for FBC_BATCH, and get rid of NR_CPUS. A sensible value is 2*num_online_cpus(), with a minimum value of 32 (This minimum value helps branch prediction in __percpu_counter_add()) We already have a hotcpu notifier, so we can adjust FBC_BATCH dynamically. We rename FBC_BATCH to percpu_counter_batch since its not a constant anymore. Signed-off-by: Eric Dumazet Acked-by: David S. Miller Acked-by: Peter Zijlstra Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit e3d5a27d5862b6425d0879272e24abecf7245105 Author: Paul Mackerras Date: Tue Jan 6 14:41:02 2009 -0800 Allow times and time system calls to return small negative values At the moment, the times() system call will appear to fail for a period shortly after boot, while the value it want to return is between -4095 and -1. The same thing will also happen for the time() system call on 32-bit platforms some time in 2106 or so. On some platforms, such as x86, this is unavoidable because of the system call ABI, but other platforms such as powerpc have a separate error indication from the return value, so system calls can in fact return small negative values without indicating an error. On those platforms, force_successful_syscall_return() provides a way to indicate that the system call return value should not be treated as an error even if it is in the range which would normally be taken as a negative error number. This adds a force_successful_syscall_return() call to the time() and times() system calls plus their 32-bit compat versions, so that they don't erroneously indicate an error on those platforms whose system call ABI has a separate error indication. This will not affect anything on other platforms. Joakim Tjernlund added the fix for time() and the compat versions of time() and times(), after I did the fix for times(). Signed-off-by: Joakim Tjernlund Signed-off-by: Paul Mackerras Acked-by: David S. Miller Cc: Ingo Molnar Cc: Thomas Gleixner Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit af9379c7121d5543722c00bbd1adf7dcaa0b6448 Author: David Brownell Date: Tue Jan 6 14:41:01 2009 -0800 documentation: when to BUG(), and when to not BUG() Provide some basic advice about when to use BUG()/BUG_ON(): never, unless there's really no better option. This matches my understanding of the standard policy ... which seems not to be written down so far, outside of LKML messages that I haven't bookmarked. Signed-off-by: David Brownell Cc: Hans Verkuil Cc: Ingo Molnar Cc: Arjan van de Ven Cc: Randy Dunlap Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 5f820f648c92a5ecc771a96b3c29aa6e90013bba Author: Tejun Heo Date: Tue Jan 6 14:40:59 2009 -0800 poll: allow f_op->poll to sleep f_op->poll is the only vfs operation which is not allowed to sleep. It's because poll and select implementation used task state to synchronize against wake ups, which doesn't have to be the case anymore as wait/wake interface can now use custom wake up functions. The non-sleep restriction can be a bit tricky because ->poll is not called from an atomic context and the result of accidentally sleeping in ->poll only shows up as temporary busy looping when the timing is right or rather wrong. This patch converts poll/select to use custom wake up function and use separate triggered variable to synchronize against wake up events. The only added overhead is an extra function call during wake up and negligible. This patch removes the one non-sleep exception from vfs locking rules and is beneficial to userland filesystem implementations like FUSE, 9p or peculiar fs like spufs as it's very difficult for those to implement non-sleeping poll method. While at it, make the following cosmetic changes to make poll.h and select.c checkpatch friendly. * s/type * symbol/type *symbol/ : three places in poll.h * remove blank line before EXPORT_SYMBOL() : two places in select.c Oleg: spotted missing barrier in poll_schedule_timeout() Davide: spotted missing write barrier in pollwake() Signed-off-by: Tejun Heo Cc: Eric Van Hensbergen Cc: Ron Minnich Cc: Ingo Molnar Cc: Christoph Hellwig Signed-off-by: Miklos Szeredi Cc: Davide Libenzi Cc: Brad Boyer Cc: Al Viro Cc: Roland McGrath Cc: Mauro Carvalho Chehab Signed-off-by: Andrew Morton Cc: Davide Libenzi Cc: Oleg Nesterov Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 67ec7d3ab779ad9001ef57a6b4cfdf80ac9f9acc Author: Randy Dunlap Date: Tue Jan 6 14:40:57 2009 -0800 fs: use menuconfig to control the Misc. filesystems menu Have one option to control Miscellaneous filesystems. This makes it easy to disable all of them at one time. Signed-off-by: Randy Dunlap Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 5aea50b5c76b07f2b6bda3426dba998156eaf6d0 Author: Arjan van de Ven Date: Tue Jan 6 14:40:57 2009 -0800 scripts: script from kerneloops.org to pretty print oops dumps We're struggling all the time to figure out where the code came from that oopsed.. The script below (a adaption from a script used by kerneloops.org) can help developers quite a bit, at least for non-module cases. It works and looks like this: [/home/arjan/linux]$ dmesg | perl scripts/markup_oops.pl vmlinux { struct agp_memory *memory; memory = agp_allocate_memory(agp_bridge, pg_count, type); c055c10f: 89 c2 mov %eax,%edx if (memory == NULL) c055c111: 74 19 je c055c12c /* This function must only be called when current_controller != NULL */ static void agp_insert_into_pool(struct agp_memory * temp) { struct agp_memory *prev; prev = agp_fe.current_controller->pool; c055c113: a1 ec dc 8f c0 mov 0xc08fdcec,%eax *c055c118: 8b 40 10 mov 0x10(%eax),%eax <----- faulting instruction if (prev != NULL) { c055c11b: 85 c0 test %eax,%eax c055c11d: 74 05 je c055c124 prev->prev = temp; c055c11f: 89 50 04 mov %edx,0x4(%eax) temp->next = prev; c055c122: 89 02 mov %eax,(%edx) } agp_fe.current_controller->pool = temp; c055c124: a1 ec dc 8f c0 mov 0xc08fdcec,%eax c055c129: 89 50 10 mov %edx,0x10(%eax) if (memory == NULL) return NULL; agp_insert_into_pool(memory); so in this case, we faulted while dereferencing agp_fe.current_controller pointer, and we get to see exactly which function and line it affects... Personally I find this very useful, and I can see value for having this script in the kernel for more-than-just-me to use. Caveats: * It only works for oopses not-in-modules * It only works nicely for kernels compiled with CONFIG_DEBUG_INFO * It's not very fast. * It only works on x86 Signed-off-by: Arjan van de Ven Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit d6624f996ae539344e8d748cce1117ae7af06fbf Author: Arjan van de Ven Date: Tue Jan 6 14:40:54 2009 -0800 oops: increment the oops UUID every time we oops ... because we do want repeated same-oops to be seen by automated tools like kerneloops.org Signed-off-by: Arjan van de Ven Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit e899aa823ad74860a17b541b0ad38f513728923d Author: Pavel Machek Date: Tue Jan 6 14:40:53 2009 -0800 strict_strto* is not strict enough It decodes "\n" as 0, which is bad, because stray echo into backlight will turn your backlight off, etc... Signed-off-by: Pavel Machek Cc: Yi Yang Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit ff083c8372f6312bb3a8c7f7b748920aeeb210c9 Author: Mike Frysinger Date: Tue Jan 6 14:40:53 2009 -0800 autodetect_raid: add missing __init marking The function autodetect_raid is only used by __init functions, and it refers to __initdata, so it needs __init markings. Fixes this error: The function autodetect_raid() references the variable __initdata raid_noautodetect. This is often because autodetect_raid lacks a __initdata annotation or the annotation of raid_noautodetect is wrong. Signed-off-by: Mike Frysinger Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 7ec7fb394298c212c30e063c57e0aa895efe9439 Author: Qinghuang Feng Date: Tue Jan 6 14:40:52 2009 -0800 samples: mark {static|__init|__exit} for {init|exit} functions None of these (init|exit) functions is called from other functions which is outside the kernel module mechanism or kernel itself, so mark them as {static|__init|__exit}. Signed-off-by: Qinghuang Feng Cc: Mathieu Desnoyers Acked-by: Greg Kroah-Hartman Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 9fe06081ef145d6582c39e18203b5fffe6f3abc2 Author: Darrick J. Wong Date: Tue Jan 6 14:40:51 2009 -0800 Create a DIV_ROUND_CLOSEST macro to do division with rounding Create a helper macro to divide two numbers and round the result to the nearest whole number. This is a helper macro for hwmon drivers that want to convert incoming sysfs values per standard hwmon practice, though the macro itself can be used by anyone. Signed-off-by: Darrick J. Wong Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 30079677428ae1349d5063b96f677270dfd54309 Author: Harvey Harrison Date: Tue Jan 6 14:40:50 2009 -0800 lib: proportions.c trivial sparse lock annotation Suppresses sparse warning: lib/proportions.c:159:16: warning: context imbalance in 'prop_get_global': wrong count at exit lib/proportions.c:159:16: context 'RCU': wanted 0, got 1 lib/proportions.c:164:2: warning: context imbalance in 'prop_put_global': unexpected unlock lib/proportions.c:164:2: context 'RCU': wanted 0, got -1 Signed-off-by: Harvey Harrison Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 8cef7d57a4a47ef7166acde05eea0bc4f723691c Author: Harvey Harrison Date: Tue Jan 6 14:40:50 2009 -0800 lib: radix_tree.c make percpu variable static radix_tree_preloads is unused outside of this file, make it static. Noticed by sparse: lib/radix-tree.c:84:1: warning: symbol 'per_cpu__radix_tree_preloads' was not declared. Should it be static? Signed-off-by: Harvey Harrison Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 40bc1f2dbc29ab88176a650e51f2246526105093 Author: Harvey Harrison Date: Tue Jan 6 14:40:49 2009 -0800 lib: fix sparse shadowed variable warning pos is always set before being used, no need to declare a second one inside the if() block. lib/prio_heap.c:34:7: warning: symbol 'pos' shadows an earlier one lib/prio_heap.c:30:6: originally declared here Signed-off-by: Harvey Harrison Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 60348802e9cb137ee86590c3e4c57c1ec2e8fc69 Author: Zhaolei Date: Tue Jan 6 14:40:46 2009 -0800 fork.c: cleanup for copy_sighand() Check CLONE_SIGHAND only is enough, because combination of CLONE_THREAD and CLONE_SIGHAND is already done in copy_process(). Impact: cleanup, no functionality changed Signed-off-by: Zhao Lei Cc: Roland McGrath Cc: Oleg Nesterov Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit f1883f86dea84fe47a71a39fc1afccc005915ed8 Author: Alexey Dobriyan Date: Tue Jan 6 14:40:45 2009 -0800 Remove remaining unwinder code Signed-off-by: Alexey Dobriyan Cc: Gabor Gombas Cc: Jan Beulich Cc: Andi Kleen Cc: Ingo Molnar , Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit eaccbfa564e48c87626594511f42dc8c0ad2daae Author: Luiz Fernando N. Capitulino Date: Tue Jan 6 14:40:44 2009 -0800 fs/exec.c:__bprm_mm_init(): clean up error handling Untangle the error unwinding in this function, saving a test of local variable `vma'. Signed-off-by: Luiz Fernando N. Capitulino Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit bca1033b092a6fab2ed00036e8a7f6e2df5d99a2 Author: Marton Balint Date: Tue Jan 6 14:40:43 2009 -0800 do_mounts: add device info to mount message In the past, I used the root=... command line parameter to specify the root filesystem to the kernel. Now it seems that specifying it is not necessary. The kernel detects the root filesystem even if the kernel command line is empty. My root fs is on a raid1 device by the way, and I am not using initrd for the boot process. If the kernel detects the root filesystem somehow, I think it should print out the result of this detection, otherwise I will not know which device has the root filesystem. Or is there an easy way to get this information on a running system? I had a quick look at the /proc and /sys filesystems, but haven't found anything useful there. Signed-off-by: Marton Balint Cc: Christoph Hellwig Cc: Al Viro Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit b61312d353da1871778711040464b10f5cd904df Author: Viktor Rosendahl Date: Tue Jan 6 14:40:42 2009 -0800 oops handling: ensure that any oops is flushed to the mtdoops console This used to work unpatched with older kernels, during the development phase of mtdoops. Before commit e3e8a75d2acfc61ebf25524666a0a2c6abb0620c a space was printed with console_loglevel set to 15, which probably flushed the oops message as a side effect. This is another patch from the Nokia N810 kernel. Signed-off-by: Viktor Rosendahl Cc: Alan Cox Cc: Ingo Molnar Cc: David Woodhouse Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit f41ced8f108cc80f16509b907cd7ac93944459bc Author: Laurent Pinchart Date: Tue Jan 6 14:40:40 2009 -0800 Check fops_get() return value Several subsystem open handlers dereference the fops_get() return value without checking it for nullness. This opens a race condition between the open handler and module unloading. A module can be marked as being unloaded (MODULE_STATE_GOING) before its exit function is called and gets the chance to unregister the driver. During that window open handlers can still be called, and fops_get() will fail in try_module_get() and return a NULL pointer. This change checks the fops_get() return value and returns -ENODEV if NULL. Reported-by: Alan Jenkins Signed-off-by: Laurent Pinchart Acked-by: Takashi Iwai Cc: Al Viro Cc: Dave Airlie Acked-by: Mauro Carvalho Chehab Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit bdbeed75b288443ea14208eafaac3941f385f2ae Author: Arjan van de Ven Date: Tue Jan 6 14:40:39 2009 -0800 pci: use pci_ioremap_bar() in drivers/misc Use the newly introduced pci_ioremap_bar() function in drivers/misc. pci_ioremap_bar() just takes a pci device and a bar number, with the goal of making it really hard to get wrong, while also having a central place to stick sanity checks. Signed-off-by: Arjan van de Ven Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit ea435467500612636f8f4fb639ff6e76b2496e4b Author: Matthew Wilcox Date: Tue Jan 6 14:40:39 2009 -0800 atomic_t: unify all arch definitions The atomic_t type cannot currently be used in some header files because it would create an include loop with asm/atomic.h. Move the type definition to linux/types.h to break the loop. Signed-off-by: Matthew Wilcox Cc: Huang Ying Cc: Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit f99ebf0a86de13f77bc4ee349de96db9f2f67f2e Author: Rakib Mullick Date: Tue Jan 6 14:40:38 2009 -0800 init: properly placing noinline keyword checkpatch warns about 'static void noinline'. It wants `static noinline void'. Both are permissible, but the kernel consistently uses `static inline' and `static noinline', and consistency is good. Hence let's keep the checkpatch warning and fix up this code site. [akpm@linux-foundation.org: rewrote changelog] Signed-off-by: Md.Rakib H. Mullick Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 91f47662dfaa5b459aebe13284c6c38db27350dc Author: Cyrill Gorcunov Date: Tue Jan 6 14:40:33 2009 -0800 mm: hugetlb: remove redundant `if' operation At this point we already know that 'addr' is not NULL so get rid of redundant 'if'. Probably gcc eliminate it by optimization pass. [akpm@linux-foundation.org: use __weak, too] Signed-off-by: Cyrill Gorcunov Reviewed-by: Ingo Molnar Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 73ce02e96fe34a983199a9855b2ae738f960a6ee Author: KOSAKI Motohiro Date: Tue Jan 6 14:40:33 2009 -0800 mm: stop kswapd's infinite loop at high order allocation Wassim Dagash reported following kswapd infinite loop problem. kswapd runs in some infinite loop trying to swap until order 10 of zone highmem is OK.... kswapd will continue to try to balance order 10 of zone highmem forever (or until someone release a very large chunk of highmem). For non order-0 allocations, the system may never be balanced due to fragmentation but kswapd should not infinitely loop as a result. Instead, recheck all watermarks at order-0 as they are the most important. If watermarks are ok, kswapd will go back to sleep. [akpm@linux-foundation.org: fix comment] Reported-by: wassim dagash Signed-off-by: KOSAKI Motohiro Reviewed-by: Nick Piggin Signed-off-by: Mel Gorman Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 594fe1a044325bb0a1a49ca7d086e3df4f1df59a Author: Johannes Weiner Date: Tue Jan 6 14:40:32 2009 -0800 bootmem: print request details before BUG_ON(them) Moving the request details print-out before the sanity checks that might panic() enables us to analyse invalid requests without having access to the line information of the stack dump. Signed-off-by: Johannes Weiner Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit dcd4a049b9751828c516c59709f3fdf50436df85 Author: Johannes Weiner Date: Tue Jan 6 14:40:31 2009 -0800 mm: check for no mmaps in exit_mmap() When dup_mmap() ooms we can end up with mm->mmap == NULL. The error path does mmput() and unmap_vmas() gets a NULL vma which it dereferences. In exit_mmap() there is nothing to do at all for this case, we can cancel the callpath right there. [akpm@linux-foundation.org: add sorely-needed comment] Signed-off-by: Johannes Weiner Reported-by: Akinobu Mita Cc: Nick Piggin Cc: Hugh Dickins Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 084f71ae5ceeb16734d8ac47559d3c718456a865 Author: KOSAKI Motohiro Date: Tue Jan 6 14:40:30 2009 -0800 mm: kill page_queue_congested() page_queue_congested() was introduced in 2002, but it was never used Signed-off-by: KOSAKI Motohiro Cc: Peter Zijlstra Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 9f572e3f96b8a2ef70dcb881e64c7b9c10057d98 Author: KOSAKI Motohiro Date: Tue Jan 6 14:40:29 2009 -0800 mm: remove CONFIG_OUT_OF_LINE_PFN_TO_PAGE No architectures use CONFIG_OUT_OF_LINE_PFN_TO_PAGE - it can be removed. Signed-off-by: KOSAKI Motohiro Cc: KAMEZAWA Hiroyuki Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 901608d9045146aec6f14a7777ea4b1501c379f0 Author: Oleg Nesterov Date: Tue Jan 6 14:40:29 2009 -0800 mm: introduce get_mm_hiwater_xxx(), fix taskstats->hiwater_xxx accounting xacct_add_tsk() relies on do_exit()->update_hiwater_xxx() and uses mm->hiwater_xxx directly, this leads to 2 problems: - taskstats_user_cmd() can call fill_pid()->xacct_add_tsk() at any moment before the task exits, so we should check the current values of rss/vm anyway. - do_exit()->update_hiwater_xxx() calls are racy. An exiting thread can be preempted right before mm->hiwater_xxx = new_val, and another thread can use A_LOT of memory and exit in between. When the first thread resumes it can be the last thread in the thread group, in that case we report the wrong hiwater_xxx values which do not take A_LOT into account. Introduce get_mm_hiwater_rss() and get_mm_hiwater_vm() helpers and change xacct_add_tsk() to use them. The first helper will also be used by rusage->ru_maxrss accounting. Kill do_exit()->update_hiwater_xxx() calls. Unless we are going to decrease rss/vm there is no point to update mm->hiwater_xxx, and nobody can look at this mm_struct when exit_mmap() actually unmaps the memory. Signed-off-by: Oleg Nesterov Acked-by: Hugh Dickins Reviewed-by: KOSAKI Motohiro Acked-by: Balbir Singh Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 67d58ac47d25f7e2a105248a4aea6113131ab874 Author: Nick Piggin Date: Tue Jan 6 14:40:28 2009 -0800 mm: pagecache gfp flags fix Frustratingly, gfp_t is really divided into two classes of flags. One are the context dependent ones (can we sleep? can we enter filesystem? block subsystem? should we use some extra reserves, etc.). The other ones are the type of memory required and depend on how the algorithm is implemented rather than the point at which the memory is allocated (highmem? dma memory? etc). Some of the functions which allocate a page and add it to page cache take a gfp_t, but sometimes those functions or their callers aren't really doing the right thing: when allocating pagecache page, the memory type should be mapping_gfp_mask(mapping). When allocating radix tree nodes, the memory type should be kernel mapped (not highmem) memory. The gfp_t argument should only really be needed for context dependent options. This patch doesn't really solve that tangle in a nice way, but it does attempt to fix a couple of bugs. - find_or_create_page changes its radix-tree allocation to only include the main context dependent flags in order so the pagecache page may be allocated from arbitrary types of memory without affecting the radix-tree. In practice, slab allocations don't come from highmem anyway, and radix-tree only uses slab allocations. So there isn't a practical change (unless some fs uses GFP_DMA for pages). - grab_cache_page_nowait() is changed to allocate radix-tree nodes with GFP_NOFS, because it is not supposed to reenter the filesystem. This bug could cause lock recursion if a filesystem is not expecting the function to reenter the fs (as-per documentation). Filesystems should be careful about exactly what semantics they want and what they get when fiddling with gfp_t masks to allocate pagecache. One should be as liberal as possible with the type of memory that can be used, and same for the the context specific flags. Signed-off-by: Nick Piggin Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 856bf4d717feb8c55d4e2f817b71ebb70cfbc67b Author: Nick Piggin Date: Tue Jan 6 14:40:26 2009 -0800 fs: sys_sync fix s_syncing livelock avoidance was breaking data integrity guarantee of sys_sync, by allowing sys_sync to skip writing or waiting for superblocks if there is a concurrent sys_sync happening. This livelock avoidance is much less important now that we don't have the get_super_to_sync() call after every sb that we sync. This was replaced by __put_super_and_need_restart. Signed-off-by: Nick Piggin Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 38f21977663126fef53f5585e7f1653d8ebe55c4 Author: Nick Piggin Date: Tue Jan 6 14:40:25 2009 -0800 fs: sync_sb_inodes fix Fix data integrity semantics required by sys_sync, by iterating over all inodes and waiting for any writeback pages after the initial writeout. Comments explain the exact problem. Signed-off-by: Nick Piggin Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 4f5a99d64c17470a784a6c68064207d82e3e74a5 Author: Nick Piggin Date: Tue Jan 6 14:40:25 2009 -0800 fs: remove WB_SYNC_HOLD Remove WB_SYNC_HOLD. The primary motiviation is the design of my anti-starvation code for fsync. It requires taking an inode lock over the sync operation, so we could run into lock ordering problems with multiple inodes. It is possible to take a single global lock to solve the ordering problem, but then that would prevent a future nice implementation of "sync multiple inodes" based on lock order via inode address. Seems like a backward step to remove this, but actually it is busted anyway: we can't use the inode lists for data integrity wait: an inode can be taken off the dirty lists but still be under writeback. In order to satisfy data integrity semantics, we should wait for it to finish writeback, but if we only search the dirty lists, we'll miss it. It would be possible to have a "writeback" list, for sys_sync, I suppose. But why complicate things by prematurely optimise? For unmounting, we could avoid the "livelock avoidance" code, which would be easier, but again premature IMO. Fixing the existing data integrity problem will come next. Signed-off-by: Nick Piggin Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit e8ea1759138d4279869f52bfb7dca8f02f8ccfe5 Author: Artem Bityutskiy Date: Tue Jan 6 14:40:23 2009 -0800 UBIFS: do not use WB_SYNC_HOLD WB_SYNC_HOLD is going to be zapped so we should not use it. Use %WB_SYNC_NONE instead. Here is what akpm said: "I think I'll just switch that to WB_SYNC_NONE. The `wait==0' mode is just an advisory thing to help the fs shove lots of data into the queues. If some gets missed then it'll be picked up on the second ->sync_fs call, with wait==1." Thanks to Randy Dunlap for catching this. Signed-off-by: Artem Bityutskiy Cc: Nick Piggin Cc: Randy Dunlap Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 48b47c561e41525061b5bc0cfd67d6367fd11dc4 Author: Nick Piggin Date: Tue Jan 6 14:40:22 2009 -0800 mm: direct IO starvation improvement Direct IO can invalidate and sync a lot of pagecache pages in the mapping. A 4K direct IO will actually try to sync and/or invalidate the pagecache of the entire file, for example (which might be many GB or TB large). Improve this by doing range syncs. Also, memory no longer has to be unmapped to catch the dirty bits for syncing, as dirty bits would remain coherent due to dirty mmap accounting. This fixes the immediate DM deadlocks when doing direct IO reads to block device with a mounted filesystem, if only by papering over the problem somewhat rather than addressing the fsync starvation cases. Signed-off-by: Nick Piggin Reviewed-by: Jeff Moyer Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 48aae42556e5ea1ba0d8ddab25352706577af2ed Author: ZhenwenXu Date: Tue Jan 6 14:40:21 2009 -0800 mm/mmap.c: fix coding style Fix a little of the coding style in mm/mmap.c [akpm@linux-foundation.org: cleanup] Signed-off-by: ZhenwenXu Signed-off-by: Hugh Dickins Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 853ac43ab194f5051b27a55060215d696dc9480d Author: Matt Mackall Date: Tue Jan 6 14:40:20 2009 -0800 shmem: unify regular and tiny shmem tiny-shmem shares most of its 130 lines of code with shmem and tends to break when particular bits of shmem get modified. Unifying saves code and makes keeping these two in sync much easier. before: 14367 392 24 14783 39bf mm/shmem.o 396 72 8 476 1dc mm/tiny-shmem.o after: 14367 392 24 14783 39bf mm/shmem.o 412 72 8 492 1ec mm/shmem.o tiny Signed-off-by: Matt Mackall Acked-by: Hugh Dickins Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 69e9930993cfd70d82c8d9dd96fc3a88854d06fc Author: Franck Bui-Huu Date: Tue Jan 6 14:40:19 2009 -0800 block_write_begin(): remove useless goto Signed-off-by: Franck Bui-Huu Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 4779280d1ea4d361af13ae77ba55217fbcd16d4c Author: Ying Han Date: Tue Jan 6 14:40:18 2009 -0800 mm: make get_user_pages() interruptible The initial implementation of checking TIF_MEMDIE covers the cases of OOM killing. If the process has been OOM killed, the TIF_MEMDIE is set and it return immediately. This patch includes: 1. add the case that the SIGKILL is sent by user processes. The process can try to get_user_pages() unlimited memory even if a user process has sent a SIGKILL to it(maybe a monitor find the process exceed its memory limit and try to kill it). In the old implementation, the SIGKILL won't be handled until the get_user_pages() returns. 2. change the return value to be ERESTARTSYS. It makes no sense to return ENOMEM if the get_user_pages returned by getting a SIGKILL signal. Considering the general convention for a system call interrupted by a signal is ERESTARTNOSYS, so the current return value is consistant to that. Lee: An unfortunate side effect of "make-get_user_pages-interruptible" is that it prevents a SIGKILL'd task from munlock-ing pages that it had mlocked, resulting in freeing of mlocked pages. Freeing of mlocked pages, in itself, is not so bad. We just count them now--altho' I had hoped to remove this stat and add PG_MLOCKED to the free pages flags check. However, consider pages in shared libraries mapped by more than one task that a task mlocked--e.g., via mlockall(). If the task that mlocked the pages exits via SIGKILL, these pages would be left mlocked and unevictable. Proposed fix: Add another GUP flag to ignore sigkill when calling get_user_pages from munlock()--similar to Kosaki Motohiro's 'IGNORE_VMA_PERMISSIONS flag for the same purpose. We are not actually allocating memory in this case, which "make-get_user_pages-interruptible" intends to avoid. We're just munlocking pages that are already resident and mapped, and we're reusing get_user_pages() to access those pages. ?? Maybe we should combine 'IGNORE_VMA_PERMISSIONS and '_IGNORE_SIGKILL into a single flag: GUP_FLAGS_MUNLOCK ??? [Lee.Schermerhorn@hp.com: ignore sigkill in get_user_pages during munlock] Signed-off-by: Paul Menage Signed-off-by: Ying Han Reviewed-by: KOSAKI Motohiro Reviewed-by: Pekka Enberg Cc: Nick Piggin Cc: Hugh Dickins Cc: Oleg Nesterov Cc: Lee Schermerhorn Cc: Rohit Seth Cc: David Rientjes Signed-off-by: Lee Schermerhorn Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 91bf189c3a766927694ce9de7d545e96b23f20fc Author: Roel Kluin Date: Tue Jan 6 14:40:14 2009 -0800 hugetlb: unsigned ret cannot be negative unsigned long ret cannot be negative, but ret can get -EFAULT. Signed-off-by: Roel Kluin Cc: Hugh Dickins Cc: Christoph Lameter Cc: Adam Litke Cc: David Gibson Cc: Ken Chen Cc: Nick Piggin Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit b555749aac87d7c2637f153e44bd77c7fdf4c65b Author: Andrew Morton Date: Tue Jan 6 14:40:13 2009 -0800 vmscan: shrink_active_list(): reduce lru_lock hold time These three statements manipulate local variables and do not need the lock coverage. Cc: Johannes Weiner Cc: Lee Schermerhorn Cc: Rik van Riel Signed-off-by: Linus Torvalds commit 1e9e63650d6cb88e6d6d2ca6cc3ee276c26de4a3 Author: Hugh Dickins Date: Tue Jan 6 14:40:13 2009 -0800 badpage: KERN_ALERT BUG instead of KERN_EMERG bad_page() and rmap Eeek messages have said KERN_EMERG for a few years, which I've followed in print_bad_pte(). These are serious system errors, on a par with BUGs, but they're not quite emergencies, and we do our best to carry on: say KERN_ALERT "BUG: " like the x86 oops does. And remove the "Trying to fix it up, but a reboot is needed" line: it's not untrue, but I hope the KERN_ALERT "BUG: " conveys as much. Signed-off-by: Hugh Dickins Cc: Nick Piggin Cc: Christoph Lameter Cc: Mel Gorman Cc: Rik van Riel Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit d936cf9b39b06c8d2e0d7fb5e7b4f176e18dec69 Author: Hugh Dickins Date: Tue Jan 6 14:40:12 2009 -0800 badpage: ratelimit print_bad_pte and bad_page print_bad_pte() and bad_page() might each need ratelimiting - especially for their dump_stacks, almost never of interest, yet not quite dispensible. Correlating corruption across neighbouring entries can be very helpful, so allow a burst of 60 reports before keeping quiet for the remainder of that minute (or allow a steady drip of one report per second). Signed-off-by: Hugh Dickins Cc: Nick Piggin Cc: Christoph Lameter Cc: Mel Gorman Cc: Rik van Riel Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit edc315fd222497ae4f4b959a9e31ada1e68a4755 Author: Hugh Dickins Date: Tue Jan 6 14:40:11 2009 -0800 badpage: remove vma from page_remove_rmap Remove page_remove_rmap()'s vma arg, which was only for the Eeek message. And remove the BUG_ON(page_mapcount(page) == 0) from CONFIG_DEBUG_VM's page_dup_rmap(): we're trying to be more resilient about that than BUGs. Signed-off-by: Hugh Dickins Cc: Nick Piggin Cc: Christoph Lameter Cc: Mel Gorman Cc: Rik van Riel Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 2509ef26db4699a5d9fa876e90ddfc107afcab84 Author: Hugh Dickins Date: Tue Jan 6 14:40:10 2009 -0800 badpage: zap print_bad_pte on swap and file Complete zap_pte_range()'s coverage of bad pagetable entries by calling print_bad_pte() on a pte_file in a linear vma and on a bad swap entry. That needs free_swap_and_cache() to tell it, which will also have shown one of those "swap_free" errors (but with much less information). Similar checks in fork's copy_one_pte()? No, that would be more noisy than helpful: we'll see them when parent and child exec or exit. Where do_nonlinear_fault() calls print_bad_pte(): omit !VM_CAN_NONLINEAR case, that could only be a bug in sys_remap_file_pages(), not a bad pte. VM_FAULT_OOM rather than VM_FAULT_SIGBUS? Well, okay, that is consistent with what happens if do_swap_page() operates a bad swap entry; but don't we have patches to be more careful about killing when VM_FAULT_OOM? Signed-off-by: Hugh Dickins Cc: Nick Piggin Cc: Christoph Lameter Cc: Mel Gorman Cc: Rik van Riel Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 22b31eec63e5f2e219a3ee15f456897272bc73e8 Author: Hugh Dickins Date: Tue Jan 6 14:40:09 2009 -0800 badpage: vm_normal_page use print_bad_pte print_bad_pte() is so far being called only when zap_pte_range() finds negative page_mapcount, or there's a fault on a pte_file where it does not belong. That's weak coverage when we suspect pagetable corruption. Originally, it was called when vm_normal_page() found an invalid pfn: but pfn_valid is expensive on some architectures and configurations, so 2.6.24 put that under CONFIG_DEBUG_VM (which doesn't help in the field), then 2.6.26 replaced it by a VM_BUG_ON (likewise). Reinstate the print_bad_pte() in vm_normal_page(), but use a cheaper test than pfn_valid(): memmap_init_zone() (used in bootup and hotplug) keep a __read_mostly note of the highest_memmap_pfn, vm_normal_page() then check pfn against that. We could call this pfn_plausible() or pfn_sane(), but I doubt we'll need it elsewhere: of course it's not reliable, but gives much stronger pagetable validation on many boxes. Also use print_bad_pte() when the pte_special bit is found outside a VM_PFNMAP or VM_MIXEDMAP area, instead of VM_BUG_ON. Signed-off-by: Hugh Dickins Cc: Nick Piggin Cc: Christoph Lameter Cc: Mel Gorman Cc: Rik van Riel Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 3dc147414ccad81dc33edb80774b1fed12a38c08 Author: Hugh Dickins Date: Tue Jan 6 14:40:08 2009 -0800 badpage: replace page_remove_rmap Eeek and BUG Now that bad pages are kept out of circulation, there is no need for the infamous page_remove_rmap() BUG() - once that page is freed, its negative mapcount will issue a "Bad page state" message and the page won't be freed. Removing the BUG() allows more info, on subsequent pages, to be gathered. We do have more info about the page at this point than bad_page() can know - notably, what the pmd is, which might pinpoint something like low 64kB corruption - but page_remove_rmap() isn't given the address to find that. In practice, there is only one call to page_remove_rmap() which has ever reported anything, that from zap_pte_range() (usually on exit, sometimes on munmap). It has all the info, so remove page_remove_rmap()'s "Eeek" message and leave it all to zap_pte_range(). mm/memory.c already has a hardly used print_bad_pte() function, showing some of the appropriate info: extend it to show what we want for the rmap case: pte info, page info (when there is a page) and vma info to compare. zap_pte_range() already knows the pmd, but print_bad_pte() is easier to use if it works that out for itself. Some of this info is also shown in bad_page()'s "Bad page state" message. Keep them separate, but adjust them to match each other as far as possible. Say "Bad page map" in print_bad_pte(), and add a TAINT_BAD_PAGE there too. print_bad_pte() show current->comm unconditionally (though it should get repeated in the usually irrelevant stack trace): sorry, I misled Nick Piggin to make it conditional on vm_mm == current->mm, but current->mm is already NULL in the exit case. Usually current->comm is good, though exceptionally it may not be that of the mm (when "swapoff" for example). Signed-off-by: Hugh Dickins Cc: Nick Piggin Cc: Christoph Lameter Cc: Mel Gorman Cc: Rik van Riel Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 8cc3b39221b0ecbd83a338948a8396df097fc656 Author: Hugh Dickins Date: Tue Jan 6 14:40:06 2009 -0800 badpage: keep any bad page out of circulation Until now the bad_page() checkers have special-cased PageReserved, keeping those pages out of circulation thereafter. Now extend the special case to all: we want to keep ANY page with bad state out of circulation - the "free" page may well be in use by something. Leave the bad state of those pages untouched, for examination by debuggers; except for PageBuddy - leaving that set would risk bringing the page back. Signed-off-by: Hugh Dickins Cc: Nick Piggin Cc: Christoph Lameter Cc: Mel Gorman Cc: Rik van Riel Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 79f4b7bf393e67bbffec807cc68caaefc72b82ee Author: Hugh Dickins Date: Tue Jan 6 14:40:05 2009 -0800 badpage: simplify page_alloc flag check+clear Simplify the PAGE_FLAGS checking and clearing when freeing and allocating a page: check the same flags as before when freeing, clear ALL the flags (unless PageReserved) when freeing, check ALL flags off when allocating. Signed-off-by: Hugh Dickins Cc: Nick Piggin Cc: Christoph Lameter Cc: Mel Gorman Cc: Rik van Riel Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 0f64415d42760379753e6088787ce3fd3e069509 Author: Dmitri Monakhov Date: Tue Jan 6 14:40:04 2009 -0800 fs: truncate blocks outside i_size after O_DIRECT write error In case of error extending write may have instantiated a few blocks outside i_size. We need to trim these blocks. We have to do it *regardless* to blocksize. At least ext2, ext3 and reiserfs interpret (i_size < biggest block) condition as error. Fsck will complain about wrong i_size. Then fsck will fix the error by changing i_size according to the biggest block. This is bad because this blocks contain garbage from previous write attempt. And result in data corruption. ####TESTCASE_BEGIN $touch /mnt/test/BIG_FILE ## at this moment /mnt/test/BIG_FILE size and blocks equal to zero open("/mnt/test/BIG_FILE", O_WRONLY|O_CREAT|O_DIRECT, 0666) = 3 write(3, "aaaaaaaaaaaa"..., 104857600) = -1 ENOSPC (No space left on device) ## size and block sould't be changed because write op failed. $stat /mnt/test/BIG_FILE File: `/mnt/test/BIG_FILE' Size: 0 Blocks: 110896 IO Block: 1024 regular empty file <<<<<<<<^^^^^^^^^^^^^^^^^^^^^^^^^^^^^file size is less than biggest block idx Device: fe07h/65031d Inode: 14 Links: 1 Access: (0644/-rw-r--r--) Uid: ( 0/ root) Gid: ( 0/ root) Access: 2007-01-24 20:03:38.000000000 +0300 Modify: 2007-01-24 20:03:38.000000000 +0300 Change: 2007-01-24 20:03:39.000000000 +0300 #fsck.ext3 -f /dev/VG/test e2fsck 1.39 (29-May-2006) Pass 1: Checking inodes, blocks, and sizes Inode 14, i_size is 0, should be 56556544. Fix? yes Pass 2: Checking directory structure .... #####TESTCASE_ENDdiff --git a/fs/direct-io.c b/fs/direct-io.c index af0558d..4e88bea 100644 [akpm@linux-foundation.org: use i_size_read()] Signed-off-by: Dmitri Monakhov Cc: Zach Brown Cc: Nick Piggin Cc: Badari Pulavarty Cc: Chris Mason Cc: Dave Chinner Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 09f445e7f5107c91be12ed386350de6cd055e0a4 Author: KOSAKI Motohiro Date: Tue Jan 6 14:40:03 2009 -0800 mm: kill zone_is_near_oom() zone_is_near_oom() is unused. Signed-off-by: KOSAKI Motohiro Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 01dbe5c9b1004dab045cb7f38428258ca9cddc02 Author: KOSAKI Motohiro Date: Tue Jan 6 14:40:02 2009 -0800 vmscan: improve reclaim throughput to bail out patch The vmscan bail out patch move nr_reclaimed variable to struct scan_control. Unfortunately, indirect access can easily happen cache miss. if heavy memory pressure happend, that's ok. cache miss already plenty. it is not observable. but, if memory pressure is lite, performance degression is obserbable. I compared following three pattern (it was mesured 10 times each) hackbench 125 process 3000 hackbench 130 process 3000 hackbench 135 process 3000 2.6.28-rc6 bail-out 125 130 135 125 130 135 ============================================================== 71.866 75.86 81.274 93.414 73.254 193.382 74.145 78.295 77.27 74.897 75.021 80.17 70.305 77.643 75.855 70.134 77.571 79.896 74.288 73.986 75.955 77.222 78.48 80.619 72.029 79.947 78.312 75.128 82.172 79.708 71.499 77.615 77.042 74.177 76.532 77.306 76.188 74.471 83.562 73.839 72.43 79.833 73.236 75.606 78.743 76.001 76.557 82.726 69.427 77.271 76.691 76.236 79.371 103.189 72.473 76.978 80.643 69.128 78.932 75.736 avg 72.545 76.767 78.534 76.017 77.03 93.256 std 1.89 1.71 2.41 6.29 2.79 34.16 min 69.427 73.986 75.855 69.128 72.43 75.736 max 76.188 79.947 83.562 93.414 82.172 193.382 about 4-5% degression. Then, this patch introduces a temporary local variable. result: 2.6.28-rc6 this patch num 125 130 135 125 130 135 ============================================================== 71.866 75.86 81.274 67.302 68.269 77.161 74.145 78.295 77.27 72.616 72.712 79.06 70.305 77.643 75.855 72.475 75.712 77.735 74.288 73.986 75.955 69.229 73.062 78.814 72.029 79.947 78.312 71.551 74.392 78.564 71.499 77.615 77.042 69.227 74.31 78.837 76.188 74.471 83.562 70.759 75.256 76.6 73.236 75.606 78.743 69.966 76.001 78.464 69.427 77.271 76.691 69.068 75.218 80.321 72.473 76.978 80.643 72.057 77.151 79.068 avg 72.545 76.767 78.534 70.425 74.2083 78.462 std 1.89 1.71 2.41 1.66 2.34 1.00 min 69.427 73.986 75.855 67.302 68.269 76.6 max 76.188 79.947 83.562 72.616 77.151 80.321 OK. the degression is disappeared. Signed-off-by: KOSAKI Motohiro Acked-by: Rik van Riel Cc: Mel Gorman Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit a79311c14eae4bb946a97af25f3e1b17d625985d Author: Rik van Riel Date: Tue Jan 6 14:40:01 2009 -0800 vmscan: bail out of direct reclaim after swap_cluster_max pages When the VM is under pressure, it can happen that several direct reclaim processes are in the pageout code simultaneously. It also happens that the reclaiming processes run into mostly referenced, mapped and dirty pages in the first round. This results in multiple direct reclaim processes having a lower pageout priority, which corresponds to a higher target of pages to scan. This in turn can result in each direct reclaim process freeing many pages. Together, they can end up freeing way too many pages. This kicks useful data out of memory (in some cases more than half of all memory is swapped out). It also impacts performance by keeping tasks stuck in the pageout code for too long. A 30% improvement in hackbench has been observed with this patch. The fix is relatively simple: in shrink_zone() we can check how many pages we have already freed, direct reclaim tasks break out of the scanning loop if they have already freed enough pages and have reached a lower priority level. We do not break out of shrink_zone() when priority == DEF_PRIORITY, to ensure that equal pressure is applied to every zone in the common case. However, in order to do this we do need to know how many pages we already freed, so move nr_reclaimed into scan_control. akpm: a historical interlude... We tried this in 2004: :commit e468e46a9bea3297011d5918663ce6d19094cf87 :Author: akpm :Date: Thu Jun 24 15:53:52 2004 +0000 : :[PATCH] vmscan.c: dont reclaim too many pages : : The shrink_zone() logic can, under some circumstances, cause far too many : pages to be reclaimed. Say, we're scanning at high priority and suddenly hit : a large number of reclaimable pages on the LRU. : Change things so we bale out when SWAP_CLUSTER_MAX pages have been reclaimed. And we reverted it in 2006: :commit 210fe530305ee50cd889fe9250168228b2994f32 :Author: Andrew Morton :Date: Fri Jan 6 00:11:14 2006 -0800 : : [PATCH] vmscan: balancing fix : : Revert a patch which went into 2.6.8-rc1. The changelog for that patch was: : : The shrink_zone() logic can, under some circumstances, cause far too many : pages to be reclaimed. Say, we're scanning at high priority and suddenly : hit a large number of reclaimable pages on the LRU. : : Change things so we bale out when SWAP_CLUSTER_MAX pages have been : reclaimed. : : Problem is, this change caused significant imbalance in inter-zone scan : balancing by truncating scans of larger zones. : : Suppose, for example, ZONE_HIGHMEM is 10x the size of ZONE_NORMAL. The zone : balancing algorithm would require that if we're scanning 100 pages of : ZONE_HIGHMEM, we should scan 10 pages of ZONE_NORMAL. But this logic will : cause the scanning of ZONE_HIGHMEM to bale out after only 32 pages are : reclaimed. Thus effectively causing smaller zones to be scanned relatively : harder than large ones. : : Now I need to remember what the workload was which caused me to write this : patch originally, then fix it up in a different way... And we haven't demonstrated that whatever problem caused that reversion is not being reintroduced by this change in 2008. Signed-off-by: Rik van Riel Cc: KOSAKI Motohiro Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit ebdd4aea8d736e3b5ce27ab0a26860c9fded341b Author: Hannes Eder Date: Tue Jan 6 14:39:58 2009 -0800 hugetlb: fix sparse warnings Fix the following sparse warnings: mm/hugetlb.c:375:3: warning: returning void-valued expression mm/hugetlb.c:408:3: warning: returning void-valued expression Signed-off-by: Hannes Eder Acked-by: Nishanth Aravamudan Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit f0d7a4b3ed46816f5097d521850a8ab7a0d40f3c Author: Hugh Dickins Date: Tue Jan 6 14:39:57 2009 -0800 swapfile: let others seed random Remove the srandom32((u32)get_seconds()) from non-rotational swapon: there's been a coincidental discussion of earlier randomization, assume that goes ahead, let swapon be a client rather than stirring for itself. Signed-off-by: Hugh Dickins Cc: David Woodhouse Cc: Donjun Shin Cc: James Bottomley Cc: Jens Axboe Cc: Joern Engel Cc: KAMEZAWA Hiroyuki Cc: Matthew Wilcox Cc: Nick Piggin Cc: Tejun Heo Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 858a29900ea2d639759e697be901a60b759cdcfb Author: Hugh Dickins Date: Tue Jan 6 14:39:56 2009 -0800 swapfile: change discard pgoff_t to sector_t Change pgoff_t nr_blocks in discard_swap() and discard_swap_cluster() to sector_t: given the constraints on swap offsets (in particular, the 5 bits of swap type accommodated in the same unsigned long), pgoff_t was actually safe as is, but it certainly looked worrying when shifted left. [akpm@linux-foundation.org: fix shift overflow] Signed-off-by: Hugh Dickins Cc: KAMEZAWA Hiroyuki Cc: Nick Piggin Cc: David Woodhouse Cc: Jens Axboe Cc: Matthew Wilcox Cc: Joern Engel Cc: James Bottomley Cc: Donjun Shin Cc: Tejun Heo Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit c60aa176c6de82703f064082b909496fc4fee956 Author: Hugh Dickins Date: Tue Jan 6 14:39:55 2009 -0800 swapfile: swap allocation cycle if nonrot Though attempting to find free clusters (Andrea), swap allocation has always restarted its searches from the beginning of the swap area (sct), to reduce seek times between swap pages, by not scattering them all over the partition. But on a solidstate swap device, seeks are cheap, and block remapping to level the wear may be limited by zones: in that case it's better to cycle around the whole partition. Signed-off-by: Hugh Dickins Cc: KAMEZAWA Hiroyuki Cc: Nick Piggin Cc: David Woodhouse Cc: Jens Axboe Cc: Matthew Wilcox Cc: Joern Engel Cc: James Bottomley Cc: Donjun Shin Cc: Tejun Heo Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 20137a490f397d9c01fc9fadd83a8d198bda4477 Author: Hugh Dickins Date: Tue Jan 6 14:39:54 2009 -0800 swapfile: swapon randomize if nonrot Swap allocation has always started from the beginning of the swap area; but if we're dealing with a solidstate swap device which can only remap blocks within limited zones, that would sooner wear out the first zone. Therefore sys_swapon() test whether blk_queue is non-rotational, and if so randomize the cluster_next starting position for allocation. If blk_queue is nonrot, note SWP_SOLIDSTATE for later use, and report it with an "SS" at the right end of the kernel's "Adding ... swap" message (so that if it's both nonrot and discardable, "SSD" will be shown there). Perhaps something should be shown in /proc/swaps (swapon -s), but we have to be more cautious before making any addition to that format. Signed-off-by: Hugh Dickins Cc: KAMEZAWA Hiroyuki Cc: Nick Piggin Cc: David Woodhouse Cc: Jens Axboe Cc: Matthew Wilcox Cc: Joern Engel Cc: James Bottomley Cc: Donjun Shin Cc: Tejun Heo Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 7992fde72ce06c73280a1939b7a1e903bc95ef85 Author: Hugh Dickins Date: Tue Jan 6 14:39:53 2009 -0800 swapfile: swap allocation use discard When scan_swap_map() finds a free cluster of swap pages to allocate, discard the old contents of the cluster if the device supports discard. But don't bother when swap is so fragmented that we allocate single pages. Be careful about racing allocations made while we're scanning for a cluster; and hold up allocations made while we're discarding. Signed-off-by: Hugh Dickins Cc: KAMEZAWA Hiroyuki Cc: Nick Piggin Cc: David Woodhouse Cc: Jens Axboe Cc: Matthew Wilcox Cc: Joern Engel Cc: James Bottomley Cc: Donjun Shin Cc: Tejun Heo Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 6a6ba83175c029c7820765bae44692266b29e67a Author: Hugh Dickins Date: Tue Jan 6 14:39:51 2009 -0800 swapfile: swapon use discard (trim) When adding swap, all the old data on swap can be forgotten: sys_swapon() discard all but the header page of the swap partition (or every extent but the header of the swap file), to give a solidstate swap device the opportunity to optimize its wear-levelling. If that succeeds, note SWP_DISCARDABLE for later use, and report it with a "D" at the right end of the kernel's "Adding ... swap" message. Perhaps something should be shown in /proc/swaps (swapon -s), but we have to be more cautious before making any addition to that format. Signed-off-by: Hugh Dickins Cc: KAMEZAWA Hiroyuki Cc: Nick Piggin Cc: David Woodhouse Cc: Jens Axboe Cc: Matthew Wilcox Cc: Joern Engel Cc: James Bottomley Cc: Donjun Shin Cc: Tejun Heo Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit ebebbbe904634b0ca1c674457b399f68db5e05b1 Author: Hugh Dickins Date: Tue Jan 6 14:39:50 2009 -0800 swapfile: rearrange scan and swap_info Before making functional changes, rearrange scan_swap_map() to simplify subsequent diffs. Actually, there is one functional change in there: leave cluster_nr negative while scanning for a new cluster - resetting it early increased the likelihood that when we have difficulty finding a free cluster, another task may come in and try doing exactly the same - just a waste of cpu. Before making functional changes, rearrange struct swap_info_struct slightly: flags will be needed as an unsigned long (for wait_on_bit), next is a good int to pair with prio, old_block_size is uninteresting so shift it to the end. Signed-off-by: Hugh Dickins Cc: KAMEZAWA Hiroyuki Cc: Nick Piggin Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 81e33971271ec8603fe696731ff9967afb99e729 Author: Hugh Dickins Date: Tue Jan 6 14:39:49 2009 -0800 swapfile: remove v0 SWAP-SPACE message The kernel has not supported v0 SWAP-SPACE since 2.5.22: I think we can now safely drop its "version 0 swap is no longer supported" message - just say "Unable to find swap-space signature" as usual. This removes one level of indentation from a stretch of sys_swapon(). I'd have liked to be specific, saying "Unable to find SWAPSPACE2 signature", but it's just too confusing that the version 1 signature shows the number 2. Irrelevant nearby cleanup: kmap(page) already gives page_address(page). Signed-off-by: Hugh Dickins Cc: KAMEZAWA Hiroyuki Cc: Nick Piggin Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 886bb7e9c3ed0bb3e4a2b1f336d8c6a6e5a4b782 Author: Hugh Dickins Date: Tue Jan 6 14:39:48 2009 -0800 swapfile: remove surplus whitespace Remove trailing whitespace from swapfile.c, and odd swap_show() alignment. Signed-off-by: Hugh Dickins Cc: KAMEZAWA Hiroyuki Cc: Nick Piggin Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 22c6f8fdb31993cf49bdd4a47b64a7002391e1c7 Author: Hugh Dickins Date: Tue Jan 6 14:39:48 2009 -0800 swapfile: remove SWP_ACTIVE mask Remove the SWP_ACTIVE mask: it just obscures the SWP_WRITEOK flag. Signed-off-by: Hugh Dickins Cc: KAMEZAWA Hiroyuki Cc: Nick Piggin Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 73fd8748ab0b9b3ddd178bea1d7ae03372033d96 Author: Hugh Dickins Date: Tue Jan 6 14:39:47 2009 -0800 swapfile: swapon needs larger size type sys_swapon()'s swapfilesize (better renamed swapfilepages) is declared as an int, but should be an unsigned long like the maxpages it's compared against: on 64-bit (with 4kB pages) a swapfile of 2^44 bytes was rejected with "Swap area shorter than signature indicates". Signed-off-by: Hugh Dickins Cc: KAMEZAWA Hiroyuki Cc: Nick Piggin Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 69beeb1d3428424fbc7546f85e5cd7ac4119c09d Author: KOSAKI Motohiro Date: Tue Jan 6 14:39:46 2009 -0800 mm: make vread() and vwrite() declaration Sparse output following warnings. mm/vmalloc.c:1436:6: warning: symbol 'vread' was not declared. Should it be static? mm/vmalloc.c:1474:6: warning: symbol 'vwrite' was not declared. Should it be static? However, it is used by /dev/kmem. fixed here. Signed-off-by: KOSAKI Motohiro Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit efab81864161f8c546d4403873e7ae7831ed5b26 Author: KOSAKI Motohiro Date: Tue Jan 6 14:39:46 2009 -0800 mm: make setup_per_zone_inactive_ratio() static Sparse output following warning. mm/page_alloc.c:4301:6: warning: symbol 'setup_per_zone_inactive_ratio' was not declared. Should it be static? cleanup here. Signed-off-by: KOSAKI Motohiro Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 14b90b22ec0f359ef4791033ab386b2b627bae07 Author: KOSAKI Motohiro Date: Tue Jan 6 14:39:45 2009 -0800 mm: make scan_zone_unevictable_pages() static sparse output following warning mm/vmscan.c:2507:6: warning: symbol 'scan_zone_unevictable_pages' was not declared. Should it be static? cleanup here. Signed-off-by: KOSAKI Motohiro Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit ff30153bf9647c8646538810d4c01015a5e44787 Author: KOSAKI Motohiro Date: Tue Jan 6 14:39:44 2009 -0800 mm: make scan_all_zones_unevictable_pages() static sparse output following warning. mm/vmscan.c:2549:6: warning: symbol 'scan_all_zones_unevictable_pages' was not declared. Should it be static? cleanup here. Signed-off-by: KOSAKI Motohiro Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit d38d2a7582012ecf53aac33683ca5c689093cf65 Author: KOSAKI Motohiro Date: Tue Jan 6 14:39:44 2009 -0800 mm: make mem_cgroup_resize_limit() static Sparse output following warnings. mm/memcontrol.c:782:5: warning: symbol 'mem_cgroup_resize_limit' was not declared. Should it be static? cleanup here. Signed-off-by: KOSAKI Motohiro Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 2bc7273b0e3a509fb598abfc5b9fe50158b830d2 Author: KOSAKI Motohiro Date: Tue Jan 6 14:39:43 2009 -0800 mm: make maddr __iomem sparse output following warnings. mm/memory.c:2936:8: warning: incorrect type in assignment (different address spaces) mm/memory.c:2936:8: expected void *maddr mm/memory.c:2936:8: got void [noderef] cleanup here. Signed-off-by: KOSAKI Motohiro Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit feb166948876e2ff8f70b2da273b2a8e86957578 Author: KOSAKI Motohiro Date: Tue Jan 6 14:39:43 2009 -0800 mm: make init_section_page_cgroup() static Sparse output following warning. mm/page_cgroup.c:100:15: warning: symbol 'init_section_page_cgroup' was not declared. Should it be static? cleanup here. Signed-off-by: KOSAKI Motohiro Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 077cbc5864cd9188fa4c4e181e48ff58317e6400 Author: KOSAKI Motohiro Date: Tue Jan 6 14:39:42 2009 -0800 memcg: reclaim shouldn't change zone->recent_rotated statistics memcg reclaim shouldn't change zone->recent_rotated statistics. If memcgroup reclaim changes zone statistics, global reclaim can get a bit confused. Signed-off-by: KOSAKI Motohiro Acked-by: Rik van Riel Cc: Balbir Singh Cc: KAMEZAWA Hiroyuki Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit b962716b459505a8d83aea313fea0abe76749f42 Author: Hugh Dickins Date: Tue Jan 6 14:39:41 2009 -0800 mm: optimize get_scan_ratio for no swap Rik suggests a simplified get_scan_ratio() for !CONFIG_SWAP. Yes, the gcc optimizer gives us that, when nr_swap_pages is #defined as 0L. Move usual declaration to swapfile.c: it never belonged in page_alloc.c. Signed-off-by: Hugh Dickins Cc: Lee Schermerhorn Acked-by: Rik van Riel Cc: Nick Piggin Cc: KAMEZAWA Hiroyuki Cc: Robin Holt Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 60371d971a3d01afd102f0bbf2681f32ecc31d78 Author: Hugh Dickins Date: Tue Jan 6 14:39:40 2009 -0800 mm: add add_to_swap stub If we add a failing stub for add_to_swap(), then we can remove the #ifdef CONFIG_SWAP from mm/vmscan.c. This was intended as a source cleanup, but looking more closely, it turns out that the !CONFIG_SWAP case was going to keep_locked for an anonymous page, whereas now it goes to the more suitable activate_locked, like the CONFIG_SWAP nr_swap_pages 0 case. Signed-off-by: Hugh Dickins Cc: Lee Schermerhorn Acked-by: Rik van Riel Cc: Nick Piggin Cc: KAMEZAWA Hiroyuki Cc: Robin Holt Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit ac47b003d03c2a4f28aef1d505b66d24ad191c4f Author: Hugh Dickins Date: Tue Jan 6 14:39:39 2009 -0800 mm: remove gfp_mask from add_to_swap Remove gfp_mask argument from add_to_swap(): it's misleading because its only caller, shrink_page_list(), is not atomic at that point; and in due course (implementing discard) we'll sometimes want to allocate some memory with GFP_NOIO (as is used in swap_writepage) when allocating swap. No change to the gfp_mask passed down to add_to_swap_cache(): still use __GFP_HIGH without __GFP_WAIT (with nomemalloc and nowarn as before): though it's not obvious if that's the best combination to ask for here. Signed-off-by: Hugh Dickins Cc: Lee Schermerhorn Cc: Rik van Riel Cc: Nick Piggin Cc: KAMEZAWA Hiroyuki Cc: Robin Holt Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 63d6c5ad7fc27455ce5cb4706884671fb7e0df08 Author: Hugh Dickins Date: Tue Jan 6 14:39:38 2009 -0800 mm: remove try_to_munlock from vmscan An unfortunate feature of the Unevictable LRU work was that reclaiming an anonymous page involved an extra scan through the anon_vma: to check that the page is evictable before allocating swap, because the swap could not be freed reliably soon afterwards. Now try_to_free_swap() has replaced remove_exclusive_swap_page(), that's not an issue any more: remove try_to_munlock() call from shrink_page_list(), leaving it to try_to_munmap() to discover if the page is one to be culled to the unevictable list - in which case then try_to_free_swap(). Update unevictable-lru.txt to remove comments on the try_to_munlock() in shrink_page_list(), and shorten some lines over 80 columns. Signed-off-by: Hugh Dickins Cc: Lee Schermerhorn Acked-by: Rik van Riel Cc: Nick Piggin Cc: KAMEZAWA Hiroyuki Cc: Robin Holt Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 68bdc8d64742ccc5e340c5d122ebbab3f0cf2a74 Author: Hugh Dickins Date: Tue Jan 6 14:39:37 2009 -0800 mm: try_to_unuse check removing right swap There's a possible race in try_to_unuse() which Nick Piggin led me to two years ago. Where it does lock_page() after read_swap_cache_async(), what if another task removed that page from swapcache just before we locked it? It would sail though the (*swap_map > 1) tests doing nothing (because it could not have been removed from swapcache before its swap references were gone), until it reaches the delete_from_swap_cache(page) near the bottom. Now imagine that this page has been allocated to swap on a different swap area while we dropped page lock (perhaps at the top, perhaps in unuse_mm): we could wrongly remove from swap cache before the page has been written to swap, so a subsequent do_swap_page() would read in stale data from swap. I think this case could not happen before: remove_exclusive_swap_page() refused while page count was raised. But now with reuse_swap_page() and try_to_free_swap() removing from swap cache without minding page count, I think it could happen - the previous patch argued that it was safe because try_to_unuse() already ignored page count, but overlooked that it might be breaking the assumptions in try_to_unuse() itself. Signed-off-by: Hugh Dickins Cc: Lee Schermerhorn Cc: Rik van Riel Cc: Nick Piggin Cc: KAMEZAWA Hiroyuki Cc: Robin Holt Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit a2c43eed8334e878702fca713b212ae2a11d84b9 Author: Hugh Dickins Date: Tue Jan 6 14:39:36 2009 -0800 mm: try_to_free_swap replaces remove_exclusive_swap_page remove_exclusive_swap_page(): its problem is in living up to its name. It doesn't matter if someone else has a reference to the page (raised page_count); it doesn't matter if the page is mapped into userspace (raised page_mapcount - though that hints it may be worth keeping the swap): all that matters is that there be no more references to the swap (and no writeback in progress). swapoff (try_to_unuse) has been removing pages from swapcache for years, with no concern for page count or page mapcount, and we used to have a comment in lookup_swap_cache() recognizing that: if you go for a page of swapcache, you'll get the right page, but it could have been removed from swapcache by the time you get page lock. So, give up asking for exclusivity: get rid of remove_exclusive_swap_page(), and remove_exclusive_swap_page_ref() and remove_exclusive_swap_page_count() which were spawned for the recent LRU work: replace them by the simpler try_to_free_swap() which just checks page_swapcount(). Similarly, remove the page_count limitation from free_swap_and_count(), but assume that it's worth holding on to the swap if page is mapped and swap nowhere near full. Add a vm_swap_full() test in free_swap_cache()? It would be consistent, but I think we probably have enough for now. Signed-off-by: Hugh Dickins Cc: Lee Schermerhorn Cc: Rik van Riel Cc: Nick Piggin Cc: KAMEZAWA Hiroyuki Cc: Robin Holt Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 7b1fe59793e61f826bef053107b57b23954833bb Author: Hugh Dickins Date: Tue Jan 6 14:39:34 2009 -0800 mm: reuse_swap_page replaces can_share_swap_page A good place to free up old swap is where do_wp_page(), or do_swap_page(), is about to redirty the page: the data on disk is then stale and won't be read again; and if we do decide to write the page out later, using the previous swap location makes an unnecessary disk seek very likely. So give can_share_swap_page() the side-effect of delete_from_swap_cache() when it safely can. And can_share_swap_page() was always a misleading name, the more so if it has a side-effect: rename it reuse_swap_page(). Irrelevant cleanup nearby: remove swap_token_default_timeout definition from swap.h: it's used nowhere. Signed-off-by: Hugh Dickins Cc: Lee Schermerhorn Acked-by: Rik van Riel Cc: Nick Piggin Cc: KAMEZAWA Hiroyuki Cc: Robin Holt Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit ab967d86015a19777955370deebc8262d50fed63 Author: Hugh Dickins Date: Tue Jan 6 14:39:33 2009 -0800 mm: wp lock page before deciding cow An application may rely on get_user_pages() to give it pages writable from userspace and shared with a driver, GUP breaking COW if necessary. It may mprotect() the pages' writability, off and on, from time to time. Normally this works fine (so long as the app does not fork); but just occasionally, under memory pressure, a readonly pte in a newly writable area is COWed unnecessarily, breaking the link with the driver: because do_wp_page() does trylock_page, and falls back to COW whenever that fails. For reliable behaviour in the unshared case, when the trylock_page fails, now unlock pagetable, lock page and relock pagetable, before deciding whether Copy-On-Write is really necessary. Reported-by: Zhou Yingchao Signed-off-by: Hugh Dickins Cc: Lee Schermerhorn Cc: Rik van Riel Cc: Nick Piggin Cc: KAMEZAWA Hiroyuki Cc: Robin Holt Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 878b63ac889df706d01048f2c110e322ad2f996d Author: Hugh Dickins Date: Tue Jan 6 14:39:32 2009 -0800 mm: gup persist for write permission do_wp_page()'s VM_FAULT_WRITE return value tells __get_user_pages() that COW has been done if necessary, though it may be leaving the pte without write permission - for the odd case of forced writing to a readonly vma for ptrace. At present GUP then retries the follow_page() without asking for write permission, to escape an endless loop when forced. But an application may be relying on GUP to guarantee a writable page which won't be COWed again when written from userspace, whereas a race here might leave a readonly pte in place? Change the VM_FAULT_WRITE handling to ask follow_page() for write permission again, except in that odd case of forced writing to a readonly vma. Signed-off-by: Hugh Dickins Cc: Lee Schermerhorn Cc: Rik van Riel Cc: Nick Piggin Cc: KAMEZAWA Hiroyuki Cc: Robin Holt Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 2da02997e08d3efe8174c7a47696e6f7cbe69ba9 Author: David Rientjes Date: Tue Jan 6 14:39:31 2009 -0800 mm: add dirty_background_bytes and dirty_bytes sysctls This change introduces two new sysctls to /proc/sys/vm: dirty_background_bytes and dirty_bytes. dirty_background_bytes is the counterpart to dirty_background_ratio and dirty_bytes is the counterpart to dirty_ratio. With growing memory capacities of individual machines, it's no longer sufficient to specify dirty thresholds as a percentage of the amount of dirtyable memory over the entire system. dirty_background_bytes and dirty_bytes specify quantities of memory, in bytes, that represent the dirty limits for the entire system. If either of these values is set, its value represents the amount of dirty memory that is needed to commence either background or direct writeback. When a `bytes' or `ratio' file is written, its counterpart becomes a function of the written value. For example, if dirty_bytes is written to be 8096, 8K of memory is required to commence direct writeback. dirty_ratio is then functionally equivalent to 8K / the amount of dirtyable memory: dirtyable_memory = free pages + mapped pages + file cache dirty_background_bytes = dirty_background_ratio * dirtyable_memory -or- dirty_background_ratio = dirty_background_bytes / dirtyable_memory AND dirty_bytes = dirty_ratio * dirtyable_memory -or- dirty_ratio = dirty_bytes / dirtyable_memory Only one of dirty_background_bytes and dirty_background_ratio may be specified at a time, and only one of dirty_bytes and dirty_ratio may be specified. When one sysctl is written, the other appears as 0 when read. The `bytes' files operate on a page size granularity since dirty limits are compared with ZVC values, which are in page units. Prior to this change, the minimum dirty_ratio was 5 as implemented by get_dirty_limits() although /proc/sys/vm/dirty_ratio would show any user written value between 0 and 100. This restriction is maintained, but dirty_bytes has a lower limit of only one page. Also prior to this change, the dirty_background_ratio could not equal or exceed dirty_ratio. This restriction is maintained in addition to restricting dirty_background_bytes. If either background threshold equals or exceeds that of the dirty threshold, it is implicitly set to half the dirty threshold. Acked-by: Peter Zijlstra Cc: Dave Chinner Cc: Christoph Lameter Signed-off-by: David Rientjes Cc: Andrea Righi Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 364aeb2849789b51bf4b9af2ddd02fee7285c54e Author: David Rientjes Date: Tue Jan 6 14:39:29 2009 -0800 mm: change dirty limit type specifiers to unsigned long The background dirty and dirty limits are better defined with type specifiers of unsigned long since negative writeback thresholds are not possible. These values, as returned by get_dirty_limits(), are normally compared with ZVC values to determine whether writeback shall commence or be throttled. Such page counts cannot be negative, so declaring the page limits as signed is unnecessary. Acked-by: Peter Zijlstra Cc: Dave Chinner Cc: Christoph Lameter Signed-off-by: David Rientjes Cc: Andrea Righi Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 58a01a45721bf7bd3a41a86248c3cb02a6b0c501 Author: Julia Lawall Date: Tue Jan 6 14:39:28 2009 -0800 mm/page_alloc.c: eliminate NULL test and memset after alloc_bootmem As noted by Akinobu Mita in patch b1fceac2b9e04d278316b2faddf276015fc06e3b, alloc_bootmem and related functions never return NULL and always return a zeroed region of memory. Thus a NULL test or memset after calls to these functions is unnecessary. This was fixed using the following semantic patch. (http://www.emn.fr/x-info/coccinelle/) // @@ expression E; statement S; @@ E = \(alloc_bootmem\|alloc_bootmem_low\|alloc_bootmem_pages\|alloc_bootmem_low_pages\|alloc_bootmem_node\|alloc_bootmem_low_pages_node\|alloc_bootmem_pages_node\)(...) ... when != E ( - BUG_ON (E == NULL); | - if (E == NULL) S ) @@ expression E,E1; @@ E = \(alloc_bootmem\|alloc_bootmem_low\|alloc_bootmem_pages\|alloc_bootmem_low_pages\|alloc_bootmem_node\|alloc_bootmem_low_pages_node\|alloc_bootmem_pages_node\)(...) ... when != E - memset(E,0,E1); // Signed-off-by: Julia Lawall Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit cbf84b7add8103b92aaa84928e335df726bfc8da Author: Hugh Dickins Date: Tue Jan 6 14:39:27 2009 -0800 mm: further cleanup page_add_new_anon_rmap Moving lru_cache_add_active_or_unevictable() into page_add_new_anon_rmap() was good but stupid: we can and should SetPageSwapBacked() there too; and we know for sure that this anonymous, swap-backed page is not file cache. Signed-off-by: Hugh Dickins Cc: Lee Schermerhorn Cc: Nick Piggin Acked-by: Rik van Riel Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 2afd1c928f1132b8d0099866e75ce8ad713a1180 Author: Hugh Dickins Date: Tue Jan 6 14:39:26 2009 -0800 mm: make page_lock_anon_vma() static page_lock_anon_vma() and page_unlock_anon_vma() were made available to show_page_path() in vmscan.c; but now that has been removed, make them static in rmap.c again, they're better kept private if possible. Signed-off-by: Hugh Dickins Reviewed-by: KOSAKI Motohiro Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit b5934c531849ff4a51ce0f290141efe564290e40 Author: Hugh Dickins Date: Tue Jan 6 14:39:25 2009 -0800 mm: add_active_or_unevictable into rmap lru_cache_add_active_or_unevictable() and page_add_new_anon_rmap() always appear together. Save some symbol table space and some jumping around by removing lru_cache_add_active_or_unevictable(), folding its code into page_add_new_anon_rmap(): like how we add file pages to lru just after adding them to page cache. Remove the nearby "TODO: is this safe?" comments (yes, it is safe), and change page_add_new_anon_rmap()'s address BUG_ON to VM_BUG_ON as originally intended. Signed-off-by: Hugh Dickins Acked-by: Rik van Riel Cc: Lee Schermerhorn Cc: Nick Piggin Cc: Mel Gorman Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 51726b1222863852c46ca21ed0115b85d1edfd89 Author: Hugh Dickins Date: Tue Jan 6 14:39:25 2009 -0800 mm: replace some BUG_ONs by VM_BUG_ONs The swap code is over-provisioned with BUG_ONs on assorted page flags, mostly dating back to 2.3. They're good documentation, and guard against developer error, but a waste of space on most systems: change them to VM_BUG_ONs, conditional on CONFIG_DEBUG_VM. Just delete the PagePrivate ones: they're later, from 2.5.69, but even less interesting now. Signed-off-by: Hugh Dickins Reviewed-by: Christoph Lameter Cc: Nick Piggin Cc: Mel Gorman Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 6d91add09f4bad5f4d4233b13faa392f0c4b16be Author: Hugh Dickins Date: Tue Jan 6 14:39:24 2009 -0800 mm: add Set,ClearPageSwapCache stubs If we add NOOP stubs for SetPageSwapCache() and ClearPageSwapCache(), then we can remove the #ifdef CONFIG_SWAPs from mm/migrate.c. Signed-off-by: Hugh Dickins Acked-by: Christoph Lameter Cc: Nick Piggin Cc: Mel Gorman Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 3c1d43787b48c798f44dc32a6e6deb5ca2da3e68 Author: Hugh Dickins Date: Tue Jan 6 14:39:23 2009 -0800 mm: remove GFP_HIGHUSER_PAGECACHE GFP_HIGHUSER_PAGECACHE is just an alias for GFP_HIGHUSER_MOVABLE, making that harder to track down: remove it, and its out-of-work brothers GFP_NOFS_PAGECACHE and GFP_USER_PAGECACHE. Since we're making that improvement to hotremove_migrate_alloc(), I think we can now also remove one of the "o"s from its comment. Signed-off-by: Hugh Dickins Acked-by: Mel Gorman Cc: Nick Piggin Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit e5991371ee0d1c0ce19e133c6f9075b49c5b4ae8 Author: Hugh Dickins Date: Tue Jan 6 14:39:22 2009 -0800 mm: remove cgroup_mm_owner_callbacks cgroup_mm_owner_callbacks() was brought in to support the memrlimit controller, but sneaked into mainline ahead of it. That controller has now been shelved, and the mm_owner_changed() args were inadequate for it anyway (they needed an mm pointer instead of a task pointer). Remove the dead code, and restore mm_update_next_owner() locking to how it was before: taking mmap_sem there does nothing for memcontrol.c, now the only user of mm->owner. Signed-off-by: Hugh Dickins Cc: Paul Menage Cc: Balbir Singh Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 39f0dee2d8abe902617622b71f8f6f73985ec71c Author: Franck Bui-Huu Date: Tue Jan 6 14:39:21 2009 -0800 do_mpage_readpage(): remove useless clear_buffer_mapped() call It is known that buffer_mapped() is false in this code path. Signed-off-by: Franck Bui-Huu Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 38e0edb15bd07c6a0caf0cfe39f8f90bd98601b2 Author: Jeremy Fitzhardinge Date: Tue Jan 6 14:39:21 2009 -0800 mm/apply_to_range: call pte function with lazy updates Make the pte-level function in apply_to_range be called in lazy mmu mode, so that any pagetable modifications can be batched. Signed-off-by: Jeremy Fitzhardinge Cc: Johannes Weiner Cc: Nick Piggin Cc: Venkatesh Pallipadi Cc: Hugh Dickins Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit cd52858c73f9f7df859a08fb08496ca39b9b3d8d Author: Nick Piggin Date: Tue Jan 6 14:39:20 2009 -0800 mm: vmalloc make lazy unmapping configurable Lazy unmapping in the vmalloc code has now opened the possibility for use after free bugs to go undetected. We can catch those by forcing an unmap and flush (which is going to be slow, but that's what happens). Signed-off-by: Nick Piggin Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit e97a630eb0f5b8b380fd67504de6cedebb489003 Author: Nick Piggin Date: Tue Jan 6 14:39:19 2009 -0800 mm: vmalloc use mutex for purge The vmalloc purge lock can be a mutex so we can sleep while a purge is going on (purge involves a global kernel TLB invalidate, so it can take quite a while). Signed-off-by: Nick Piggin Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 848778483351e90f9a2c587bdbe0c78b17c1e30b Author: Glauber Costa Date: Tue Jan 6 14:39:19 2009 -0800 mm: vmalloc improve vmallocinfo If we do that, output of files like /proc/vmallocinfo will show things like "vmalloc_32", "vmalloc_user", or whomever the caller was as the caller. This info is not as useful as the real caller of the allocation. So, proposal is to call __vmalloc_node node directly, with matching parameters to save the caller information Signed-off-by: Glauber Costa Signed-off-by: Nick Piggin Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit c1279c4ef37a06ba708e6b1f6fd98b45c52770f6 Author: Glauber Costa Date: Tue Jan 6 14:39:18 2009 -0800 mm: vmalloc tweak failure printk If we can't service a vmalloc allocation, show size of the allocation that actually failed. Useful for debugging. Signed-off-by: Glauber Costa Signed-off-by: Nick Piggin Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 4917e5d0499b5ae7b26b56fccaefddf9aec9369c Author: Johannes Weiner Date: Tue Jan 6 14:39:17 2009 -0800 mm: more likely reclaim MADV_SEQUENTIAL mappings File pages mapped only in sequentially read mappings are perfect reclaim canditates. This patch makes these mappings behave like weak references, their pages will be reclaimed unless they have a strong reference from a normal mapping as well. It changes the reclaim and the unmap path where they check if the page has been referenced. In both cases, accesses through sequentially read mappings will be ignored. Benchmark results from KOSAKI Motohiro: http://marc.info/?l=linux-mm&m=122485301925098&w=2 Signed-off-by: Johannes Weiner Signed-off-by: Rik van Riel Acked-by: KOSAKI Motohiro Cc: Nick Piggin Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 64cdd548ffe26849d4cd113ac640f60606063b14 Author: KOSAKI Motohiro Date: Tue Jan 6 14:39:16 2009 -0800 mm: cleanup: remove #ifdef CONFIG_MIGRATION #ifdef in *.c file decrease source readability a bit. removing is better. This patch doesn't have any functional change. Signed-off-by: KOSAKI Motohiro Cc: Christoph Lameter Cc: Mel Gorman Cc: Lee Schermerhorn Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 1b0bd118862cd9fe9ac2872137a1b8107e83ff9d Author: KOSAKI Motohiro Date: Tue Jan 6 14:39:15 2009 -0800 mm: get rid of pagevec_release_nonlru() speculative page references patch (commit: e286781d5f2e9c846e012a39653a166e9d31777d) removed last pagevec_release_nonlru() caller. So this function can be removed now. This patch doesn't have any functional change. Signed-off-by: KOSAKI Motohiro Cc: Nick Piggin Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 5594c8c813d9e907ff55da7080d42653478b73e8 Author: Yinghai Lu Date: Tue Jan 6 14:39:14 2009 -0800 mm: print out memmap number only if it is not zero Don't print the size of the zone's memmap array if it does not have one. Impact: cleanup Signed-off-by: Yinghai Lu Cc: Mel Gorman Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit c04fc586c1a480ba198f03ae7b6cbd7b57380b91 Author: Gary Hade Date: Tue Jan 6 14:39:14 2009 -0800 mm: show node to memory section relationship with symlinks in sysfs Show node to memory section relationship with symlinks in sysfs Add /sys/devices/system/node/nodeX/memoryY symlinks for all the memory sections located on nodeX. For example: /sys/devices/system/node/node1/memory135 -> ../../memory/memory135 indicates that memory section 135 resides on node1. Also revises documentation to cover this change as well as updating Documentation/ABI/testing/sysfs-devices-memory to include descriptions of memory hotremove files 'phys_device', 'phys_index', and 'state' that were previously not described there. In addition to it always being a good policy to provide users with the maximum possible amount of physical location information for resources that can be hot-added and/or hot-removed, the following are some (but likely not all) of the user benefits provided by this change. Immediate: - Provides information needed to determine the specific node on which a defective DIMM is located. This will reduce system downtime when the node or defective DIMM is swapped out. - Prevents unintended onlining of a memory section that was previously offlined due to a defective DIMM. This could happen during node hot-add when the user or node hot-add assist script onlines _all_ offlined sections due to user or script inability to identify the specific memory sections located on the hot-added node. The consequences of reintroducing the defective memory could be ugly. - Provides information needed to vary the amount and distribution of memory on specific nodes for testing or debugging purposes. Future: - Will provide information needed to identify the memory sections that need to be offlined prior to physical removal of a specific node. Symlink creation during boot was tested on 2-node x86_64, 2-node ppc64, and 2-node ia64 systems. Symlink creation during physical memory hot-add tested on a 2-node x86_64 system. Signed-off-by: Gary Hade Signed-off-by: Badari Pulavarty Acked-by: Ingo Molnar Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit ee53a891f47444c53318b98dac947ede963db400 Author: Nick Piggin Date: Tue Jan 6 14:39:12 2009 -0800 mm: do_sync_mapping_range integrity fix Chris Mason notices do_sync_mapping_range didn't actually ask for data integrity writeout. Unfortunately, it is advertised as being usable for data integrity operations. This is a data integrity bug. Signed-off-by: Nick Piggin Cc: Chris Mason Cc: Dave Chinner Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 82fd1a9a8ced9607312b54859572bcc6211e8919 Author: Andrew Morton Date: Tue Jan 6 14:39:11 2009 -0800 mm: write_cache_pages more terminate quickly Now that we have the early-termination logic in place, it makes sense to bail out early in all other cases where done is set to 1. Signed-off-by: Nick Piggin Cc: Chris Mason Cc: Dave Chinner Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit d5482cdf8a0aacb1e6468a97d5544f5829c8d8c4 Author: Nick Piggin Date: Tue Jan 6 14:39:11 2009 -0800 mm: write_cache_pages terminate quickly Terminate the write_cache_pages loop upon encountering the first page past end, without locking the page. Pages cannot have their index change when we have a reference on them (truncate, eg truncate_inode_pages_range performs the same check without the page lock). Signed-off-by: Nick Piggin Cc: Chris Mason Cc: Dave Chinner Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 515f4a037fb9ab736f8bad733fcd2ffd350cf265 Author: Nick Piggin Date: Tue Jan 6 14:39:10 2009 -0800 mm: write_cache_pages optimise page cleaning In write_cache_pages, if we get stuck behind another process that is cleaning pages, we will be forced to wait for them to finish, then perform our own writeout (if it was redirtied during the long wait), then wait for that. If a page under writeout is still clean, we can skip waiting for it (if we're part of a data integrity sync, we'll be waiting for all writeout pages afterwards, so we'll still be waiting for the other guy's write that's cleaned the page). Signed-off-by: Nick Piggin Cc: Chris Mason Cc: Dave Chinner Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 5a3d5c9813db56a75934eb1015367fda23a8b0b4 Author: Nick Piggin Date: Tue Jan 6 14:39:09 2009 -0800 mm: write_cache_pages cleanups Get rid of some complex expressions from flow control statements, add a comment, remove some duplicate code. Signed-off-by: Nick Piggin Cc: Chris Mason Cc: Dave Chinner Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 05fe478dd04e02fa230c305ab9b5616669821dd3 Author: Nick Piggin Date: Tue Jan 6 14:39:08 2009 -0800 mm: write_cache_pages integrity fix In write_cache_pages, nr_to_write is heeded even for data-integrity syncs, so the function will return success after writing out nr_to_write pages, even if that was not sufficient to guarantee data integrity. The callers tend to set it to values that could break data interity semantics easily in practice. For example, nr_to_write can be set to mapping->nr_pages * 2, however if a file has a single, dirty page, then fsync is called, subsequent pages might be concurrently added and dirtied, then write_cache_pages might writeout two of these newly dirty pages, while not writing out the old page that should have been written out. Fix this by ignoring nr_to_write if it is a data integrity sync. This is a data integrity bug. The reason this has been done in the past is to avoid stalling sync operations behind page dirtiers. "If a file has one dirty page at offset 1000000000000000 then someone does an fsync() and someone else gets in first and starts madly writing pages at offset 0, we want to write that page at 1000000000000000. Somehow." What we do today is return success after an arbitrary amount of pages are written, whether or not we have provided the data-integrity semantics that the caller has asked for. Even this doesn't actually fix all stall cases completely: in the above situation, if the file has a huge number of pages in pagecache (but not dirty), then mapping->nrpages is going to be huge, even if pages are being dirtied. This change does indeed make the possibility of long stalls lager, and that's not a good thing, but lying about data integrity is even worse. We have to either perform the sync, or return -ELINUXISLAME so at least the caller knows what has happened. There are subsequent competing approaches in the works to solve the stall problems properly, without compromising data integrity. Signed-off-by: Nick Piggin Cc: Chris Mason Cc: Dave Chinner Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 00266770b8b3a6a77f896ca501a0613739086832 Author: Nick Piggin Date: Tue Jan 6 14:39:06 2009 -0800 mm: write_cache_pages writepage error fix In write_cache_pages, if ret signals a real error, but we still have some pages left in the pagevec, done would be set to 1, but the remaining pages would continue to be processed and ret will be overwritten in the process. It could easily be overwritten with success, and thus success will be returned even if there is an error. Thus the caller is told all writes succeeded, wheras in reality some did not. Fix this by bailing immediately if there is an error, and retaining the first error code. This is a data integrity bug. Signed-off-by: Nick Piggin Cc: Chris Mason Cc: Dave Chinner Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit bd19e012f6fd3b7309689165ea865cbb7bb88c1e Author: Nick Piggin Date: Tue Jan 6 14:39:06 2009 -0800 mm: write_cache_pages early loop termination We'd like to break out of the loop early in many situations, however the existing code has been setting mapping->writeback_index past the final page in the pagevec lookup for cyclic writeback. This is a problem if we don't process all pages up to the final page. Currently the code mostly keeps writeback_index reasonable and hacked around this by not breaking out of the loop or writing pages outside the range in these cases. Keep track of a real "done index" that enables us to terminate the loop in a much more flexible manner. Needed by the subsequent patch to preserve writepage errors, and then further patches to break out of the loop early for other reasons. However there are no functional changes with this patch alone. Signed-off-by: Nick Piggin Cc: Chris Mason Cc: Dave Chinner Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 31a12666d8f0c22235297e1c1575f82061480029 Author: Nick Piggin Date: Tue Jan 6 14:39:04 2009 -0800 mm: write_cache_pages cyclic fix In write_cache_pages, scanned == 1 is supposed to mean that cyclic writeback has circled through zero, thus we should not circle again. However it gets set to 1 after the first successful pagevec lookup. This leads to cases where not enough data gets written. Counterexample: file with first 10 pages dirty, writeback_index == 5, nr_to_write == 10. Then the 5 last pages will be found, and scanned will be set to 1, after writing those out, we will not cycle back to get the first 5. Rework this logic, now we'll always cycle unless we started off from index 0. When cycling, only write out as far as 1 page before the start page from the first cycle (so we don't write parts of the file twice). Signed-off-by: Nick Piggin Cc: Chris Mason Cc: Dave Chinner Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 38c8e6180939e5619140b2e9e479cb26029ff8b1 Author: Miquel van Smoorenburg Date: Tue Jan 6 14:39:02 2009 -0800 do_mpage_readpage(): don't submit lots of small bios on boundary While tracing I/O patterns with blktrace (a great tool) a few weeks ago I identified a minor issue in fs/mpage.c As the comment above mpage_readpages() says, a fs's get_block function will set BH_Boundary when it maps a block just before a block for which extra I/O is required. Since get_block() can map a range of pages, for all these pages the BH_Boundary flag will be set. But we only need to push what I/O we have accumulated at the last block of this range. This makes do_mpage_readpage() send out the largest possible bio instead of a bunch of page-sized ones in the BH_Boundary case. Signed-off-by: Miquel van Smoorenburg Cc: Nick Piggin Cc: Jens Axboe Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 75aa199410359dc5fbcf9025ff7af98a9d20f0d5 Author: David Rientjes Date: Tue Jan 6 14:39:01 2009 -0800 oom: print triggering task's cpuset and mems allowed When cpusets are enabled, it's necessary to print the triggering task's set of allowable nodes so the subsequently printed meminfo can be interpreted correctly. We also print the task's cpuset name for informational purposes. [rientjes@google.com: task lock current before dereferencing cpuset] Cc: Paul Menage Cc: Li Zefan Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit c7d4caeb1d68d07f77cc09fc20b7759d6d7aa3b1 Author: David Rientjes Date: Tue Jan 6 14:39:00 2009 -0800 oom: fix zone_scan_mutex name zone_scan_mutex is actually a spinlock, so name it appropriately. Signed-off-by: David Rientjes Reviewed-by: KOSAKI Motohiro Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 1c0fe6e3bda0464728c23c8d84aa47567e8b716c Author: Nick Piggin Date: Tue Jan 6 14:38:59 2009 -0800 mm: invoke oom-killer from page fault Rather than have the pagefault handler kill a process directly if it gets a VM_FAULT_OOM, have it call into the OOM killer. With increasingly sophisticated oom behaviour (cpusets, memory cgroups, oom killing throttling, oom priority adjustment or selective disabling, panic on oom, etc), it's silly to unconditionally kill the faulting process at page fault time. Create a hook for pagefault oom path to call into instead. Only converted x86 and uml so far. [akpm@linux-foundation.org: make __out_of_memory() static] [akpm@linux-foundation.org: fix comment] Signed-off-by: Nick Piggin Cc: Jeff Dike Acked-by: Ingo Molnar Cc: Thomas Gleixner Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 5bd1455c239672081d0e7f086e899b8cbc7a9844 Author: Brice Goglin Date: Tue Jan 6 14:38:58 2009 -0800 mm: move_pages: no need to set pp->page to ZERO_PAGE(0) by default pp->page is never used when not set to the right page, so there is no need to set it to ZERO_PAGE(0) by default. Signed-off-by: Brice Goglin Acked-by: Christoph Lameter Cc: Nick Piggin Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 3140a2273009c01c27d316f35ab76a37e105fdd8 Author: Brice Goglin Date: Tue Jan 6 14:38:57 2009 -0800 mm: rework do_pages_move() to work on page_sized chunks Rework do_pages_move() to work by page-sized chunks of struct page_to_node that are passed to do_move_page_to_node_array(). We now only have to allocate a single page instead a possibly very large vmalloc area to store all page_to_node entries. As a result, new_page_node() will now have a very small lookup, hidding much of the overall sys_move_pages() overhead. Signed-off-by: Brice Goglin Signed-off-by: Nathalie Furmento Acked-by: Christoph Lameter Cc: Nick Piggin Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 390722baa7fc447b0a4f0c3c3f537ed056dbc944 Author: Hugh Dickins Date: Tue Jan 6 14:38:57 2009 -0800 mm: don't mark_page_accessed in shmem_fault Following "mm: don't mark_page_accessed in fault path", which now places a mark_page_accessed() in zap_pte_range(), we should remove the mark_page_accessed() from shmem_fault(). Signed-off-by: Hugh Dickins Cc: Nick Piggin Cc: Johannes Weiner Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit bf3f3bc5e734706730c12a323f9b2068052aa1f0 Author: Nick Piggin Date: Tue Jan 6 14:38:55 2009 -0800 mm: don't mark_page_accessed in fault path Doing a mark_page_accessed at fault-time, then doing SetPageReferenced at unmap-time if the pte is young has a number of problems. mark_page_accessed is supposed to be roughly the equivalent of a young pte for unmapped references. Unfortunately it doesn't come with any context: after being called, reclaim doesn't know who or why the page was touched. So calling mark_page_accessed not only adds extra lru or PG_referenced manipulations for pages that are already going to have pte_young ptes anyway, but it also adds these references which are difficult to work with from the context of vma specific references (eg. MADV_SEQUENTIAL pte_young may not wish to contribute to the page being referenced). Then, simply doing SetPageReferenced when zapping a pte and finding it is young, is not a really good solution either. SetPageReferenced does not correctly promote the page to the active list for example. So after removing mark_page_accessed from the fault path, several mmap()+touch+munmap() would have a very different result from several read(2) calls for example, which is not really desirable. Signed-off-by: Nick Piggin Acked-by: Johannes Weiner Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 3340289ddf29ca75c3acfb3a6b72f234b2f74d5c Author: Mel Gorman Date: Tue Jan 6 14:38:54 2009 -0800 mm: report the MMU pagesize in /proc/pid/smaps The KernelPageSize entry in /proc/pid/smaps is the pagesize used by the kernel to back a VMA. This matches the size used by the MMU in the majority of cases. However, one counter-example occurs on PPC64 kernels whereby a kernel using 64K as a base pagesize may still use 4K pages for the MMU on older processor. To distinguish, this patch reports MMUPageSize as the pagesize used by the MMU in /proc/pid/smaps. Signed-off-by: Mel Gorman Cc: "KOSAKI Motohiro" Cc: Alexey Dobriyan Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 08fba69986e20c1c9e5fe2e6064d146cc4f42480 Author: Mel Gorman Date: Tue Jan 6 14:38:53 2009 -0800 mm: report the pagesize backing a VMA in /proc/pid/smaps It is useful to verify a hugepage-aware application is using the expected pagesizes for its memory regions. This patch creates an entry called KernelPageSize in /proc/pid/smaps that is the size of page used by the kernel to back a VMA. The entry is not called PageSize as it is possible the MMU uses a different size. This extension should not break any sensible parser that skips lines containing unrecognised information. Signed-off-by: Mel Gorman Acked-by: "KOSAKI Motohiro" Cc: Alexey Dobriyan Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit ac8cc0fa5395fe2278e305a4cbed48e90d88d878 Merge: 238c6d5 3699c53 Author: James Morris Date: Wed Jan 7 09:58:22 2009 +1100 Merge branch 'next' into for-linus commit 3699c53c485bf0168e6500d0ed18bf931584dd7c Author: David Howells Date: Tue Jan 6 22:27:01 2009 +0000 CRED: Fix regression in cap_capable() as shown up by sys_faccessat() [ver #3] Fix a regression in cap_capable() due to: commit 3b11a1decef07c19443d24ae926982bc8ec9f4c0 Author: David Howells Date: Fri Nov 14 10:39:26 2008 +1100 CRED: Differentiate objective and effective subjective credentials on a task The problem is that the above patch allows a process to have two sets of credentials, and for the most part uses the subjective credentials when accessing current's creds. There is, however, one exception: cap_capable(), and thus capable(), uses the real/objective credentials of the target task, whether or not it is the current task. Ordinarily this doesn't matter, since usually the two cred pointers in current point to the same set of creds. However, sys_faccessat() makes use of this facility to override the credentials of the calling process to make its test, without affecting the creds as seen from other processes. One of the things sys_faccessat() does is to make an adjustment to the effective capabilities mask, which cap_capable(), as it stands, then ignores. The affected capability check is in generic_permission(): if (!(mask & MAY_EXEC) || execute_ok(inode)) if (capable(CAP_DAC_OVERRIDE)) return 0; This change passes the set of credentials to be tested down into the commoncap and SELinux code. The security functions called by capable() and has_capability() select the appropriate set of credentials from the process being checked. This can be tested by compiling the following program from the XFS testsuite: /* * t_access_root.c - trivial test program to show permission bug. * * Written by Michael Kerrisk - copyright ownership not pursued. * Sourced from: http://linux.derkeiler.com/Mailing-Lists/Kernel/2003-10/6030.html */ #include #include #include #include #include #include #define UID 500 #define GID 100 #define PERM 0 #define TESTPATH "/tmp/t_access" static void errExit(char *msg) { perror(msg); exit(EXIT_FAILURE); } /* errExit */ static void accessTest(char *file, int mask, char *mstr) { printf("access(%s, %s) returns %d\n", file, mstr, access(file, mask)); } /* accessTest */ int main(int argc, char *argv[]) { int fd, perm, uid, gid; char *testpath; char cmd[PATH_MAX + 20]; testpath = (argc > 1) ? argv[1] : TESTPATH; perm = (argc > 2) ? strtoul(argv[2], NULL, 8) : PERM; uid = (argc > 3) ? atoi(argv[3]) : UID; gid = (argc > 4) ? atoi(argv[4]) : GID; unlink(testpath); fd = open(testpath, O_RDWR | O_CREAT, 0); if (fd == -1) errExit("open"); if (fchown(fd, uid, gid) == -1) errExit("fchown"); if (fchmod(fd, perm) == -1) errExit("fchmod"); close(fd); snprintf(cmd, sizeof(cmd), "ls -l %s", testpath); system(cmd); if (seteuid(uid) == -1) errExit("seteuid"); accessTest(testpath, 0, "0"); accessTest(testpath, R_OK, "R_OK"); accessTest(testpath, W_OK, "W_OK"); accessTest(testpath, X_OK, "X_OK"); accessTest(testpath, R_OK | W_OK, "R_OK | W_OK"); accessTest(testpath, R_OK | X_OK, "R_OK | X_OK"); accessTest(testpath, W_OK | X_OK, "W_OK | X_OK"); accessTest(testpath, R_OK | W_OK | X_OK, "R_OK | W_OK | X_OK"); exit(EXIT_SUCCESS); } /* main */ This can be run against an Ext3 filesystem as well as against an XFS filesystem. If successful, it will show: [root@andromeda src]# ./t_access_root /tmp/xxx 0 4043 4043 ---------- 1 dhowells dhowells 0 2008-12-31 03:00 /tmp/xxx access(/tmp/xxx, 0) returns 0 access(/tmp/xxx, R_OK) returns 0 access(/tmp/xxx, W_OK) returns 0 access(/tmp/xxx, X_OK) returns -1 access(/tmp/xxx, R_OK | W_OK) returns 0 access(/tmp/xxx, R_OK | X_OK) returns -1 access(/tmp/xxx, W_OK | X_OK) returns -1 access(/tmp/xxx, R_OK | W_OK | X_OK) returns -1 If unsuccessful, it will show: [root@andromeda src]# ./t_access_root /tmp/xxx 0 4043 4043 ---------- 1 dhowells dhowells 0 2008-12-31 02:56 /tmp/xxx access(/tmp/xxx, 0) returns 0 access(/tmp/xxx, R_OK) returns -1 access(/tmp/xxx, W_OK) returns -1 access(/tmp/xxx, X_OK) returns -1 access(/tmp/xxx, R_OK | W_OK) returns -1 access(/tmp/xxx, R_OK | X_OK) returns -1 access(/tmp/xxx, W_OK | X_OK) returns -1 access(/tmp/xxx, R_OK | W_OK | X_OK) returns -1 I've also tested the fix with the SELinux and syscalls LTP testsuites. Signed-off-by: David Howells Tested-by: J. Bruce Fields Acked-by: Serge Hallyn Signed-off-by: James Morris commit 29881c4502ba05f46bc12ae8053d4e08d7e2615c Author: James Morris Date: Wed Jan 7 09:21:54 2009 +1100 Revert "CRED: Fix regression in cap_capable() as shown up by sys_faccessat() [ver #2]" This reverts commit 14eaddc967b16017d4a1a24d2be6c28ecbe06ed8. David has a better version to come. commit f430e49e9e0cf821c090abedb399b80ebf0cb4c6 Author: Li Yang Date: Tue Jan 6 14:08:10 2009 -0800 gianfar: ensure ECNTRL[R100] is cleared on link state change When changing the link between 100Mbps and 1Gbps in SGMII mode it was found out that the link would stop working. The issue is that ECNTRL[R100] needs to be cleared when in 1Gbps mode. Older reference manuals didn't require the explicitly clearing but has since been found it that it is needed. Signed-off-by: Li Yang Signed-off-by: Kumar Gala Acked-by: Andy Fleming Signed-off-by: David S. Miller commit 7a9c67a6ad2e6911e7ebdae34a75835c537d6e84 Author: Greg Kroah-Hartman Date: Sat Dec 20 20:20:02 2008 -0800 Staging: android: binder: fix build errors This fixes the build errors and warnings in the binder driver. It can't be a module, due to a lack of some of the symbols being exported. Also added a MODULE_LICENSE(), as it was missing. Cc: Arve Hjønnevåg Cc: Brian Swetland Cc: Robert Love Signed-off-by: Greg Kroah-Hartman commit 08b88cc7844bf984e2e474134c207bb2c46c007d Author: San Mehat Date: Sat Dec 20 00:48:38 2008 -0800 Staging: android: add lowmemorykiller driver From: San Mehat Cc: Brian Swetland Cc: Robert Love Signed-off-by: Greg Kroah-Hartman commit 1fa7026ff026012f3a819b49d44dd6267997f379 Author: Greg Kroah-Hartman Date: Fri Dec 19 18:20:11 2008 -0800 Staging: android: remove dummy android.c driver There are files now in the drivers/staging/android/ directory, so the dummy android.c file can be safely removed. Cc: Robert Love Signed-off-by: Greg Kroah-Hartman commit 653d1290be3bb04688514bec92c11eb6b7c324a7 Author: Mike Lockwood Date: Tue Dec 23 10:28:02 2008 -0500 Staging: android: timed_gpio: Rename android_timed_gpio to timed_gpio Signed-off-by: Mike Lockwood Signed-off-by: Greg Kroah-Hartman commit 99f41131b8d82cde1a84fec5b93ce31632552f0b Author: Mike Lockwood Date: Fri Dec 19 18:18:16 2008 -0800 Staging: android: add timed_gpio driver driver for GPIOs that turn back off after a delay From: Mike Lockwood Signed-off-by: Brian Swetland Cc: Robert Love Signed-off-by: Greg Kroah-Hartman commit adc567e8a9c25f08e91eb18b83bdaa5ff9705919 Author: Arve Hjønnevåg Date: Fri Dec 19 18:12:11 2008 -0800 Staging: android: add ram_console driver Doesn't quite link properly under all configurations, and it has way too many different build options, but it's a start. Signed-off-by: Arve Hjønnevåg Signed-off-by: Brian Swetland Cc: Robert Love Signed-off-by: Greg Kroah-Hartman commit 875f194c48ddae3797f8d61e98aacd8a8ecef927 Author: Robert Love Date: Fri Dec 19 18:02:58 2008 -0800 Staging: android: add logging driver Signed-off-by: Robert Love Signed-off-by: Brian Swetland Signed-off-by: Greg Kroah-Hartman commit 9279bcc31698842961a30bb05b00aef7236dd728 Author: J.R. Mauro Date: Mon Jan 5 17:08:53 2009 -0500 staging: android: binder: Fix use of euid Task credentials were moved and must be accessed through task_struct.cred Signed-off-by: J.R. Mauro Cc: Arve Hjønnevåg Cc: Brian Swetland Cc: Robert Love Signed-off-by: Greg Kroah-Hartman commit a2bf2153cb2a2de341b6a87cb644870a5bde2a9d Author: J.R. Mauro Date: Mon Jan 5 15:27:51 2009 -0500 Staging: android: binder: Fix gcc warnings about improper format specifiers for size_t in printk Use the proper format specifiers for printing size_t values. Signed-off-by: J.R. Mauro Cc: Arve Hjønnevåg Cc: Brian Swetland Cc: Robert Love Signed-off-by: Greg Kroah-Hartman commit 457b9a6f09f011ebcb9b52cc203a6331a6fc2de7 Author: Arve Hjønnevåg Date: Fri Dec 19 17:40:44 2008 -0800 Staging: android: add binder driver It builds, but not as a module, and with lots of warnings. I also had to fix up a few syntax errors to get it to build properly, I'm doubting that anyone has built it in a while :( Signed-off-by: Arve Hjønnevåg Signed-off-by: Brian Swetland Cc: Robert Love Signed-off-by: Greg Kroah-Hartman commit 6dc9c9e8b0b51abd9a332f5f4767df729848d579 Author: Greg Kroah-Hartman Date: Fri Dec 19 17:21:40 2008 -0800 Staging: add android framework This prepares us to start adding the android drivers to the build. The dummy android.c file will go away in the next few patches, as it will not be needed once drivers/staging/android/ has a driver in it. Cc: Robert Love Signed-off-by: Greg Kroah-Hartman commit 4cf7c4c692f05e137b65b9a2d7abe5bcb5408820 Author: Greg Kroah-Hartman Date: Mon Jan 5 15:45:21 2009 -0800 Staging: epl: fix netdev->priv b0rkage netdev->priv is now gone, use netdev_priv() instead. This fixes the build error in the network driver within the epl stack. Cc: Daniel Krueger Cc: Ronald Sieber Signed-off-by: Greg Kroah-Hartman commit 8501d21fd2d4ce5449ea0141db3d8a7766523438 Author: Greg Kroah-Hartman Date: Mon Jan 5 15:44:13 2009 -0800 Staging: epl: hr timers all run in hard irq context now Because of this, we can't set the mode for the timer, so delete this code as it causes a build error right now. Cc: Daniel Krueger Cc: Ronald Sieber Signed-off-by: Greg Kroah-Hartman commit 833dfbe746f85898dcbcf421c1177c3fd5773ff2 Author: Greg Kroah-Hartman Date: Fri Dec 19 17:11:52 2008 -0800 Staging: epl: run Lindent on *.c files It's a start, still a mess... Cc: Daniel Krueger Cc: Ronald Sieber Signed-off-by: Greg Kroah-Hartman commit e0ca0595885e2e324eefe4f32cde6d65e61e6e28 Author: Greg Kroah-Hartman Date: Fri Dec 19 17:09:38 2008 -0800 Staging: epl: run Lindent on *.h files It's a start, still a mess... Cc: Daniel Krueger Cc: Ronald Sieber Signed-off-by: Greg Kroah-Hartman commit bd5cd82dc6148aa8f655620e6f3bf62e5e320078 Author: Greg Kroah-Hartman Date: Fri Dec 19 17:08:04 2008 -0800 Staging: epl: run Lindent on all user/*.h files It's a start, still a mess... Cc: Daniel Krueger Cc: Ronald Sieber Signed-off-by: Greg Kroah-Hartman commit ba338d462655cbcc436ace8b73afa003cd485928 Author: Greg Kroah-Hartman Date: Fri Dec 19 17:06:12 2008 -0800 Staging: epl: run Lindent on all kernel/*.h files It's a start, still a mess... Cc: Daniel Krueger Cc: Ronald Sieber Signed-off-by: Greg Kroah-Hartman commit 9d7164cfdb611c2f864d535ae5794f23db3d84f7 Author: Daniel Krueger Date: Fri Dec 19 11:41:57 2008 -0800 Staging: add epl stack This is the openPOWERLINK network stack from systec electronic. It's a bit messed up as there is a driver mixed into the middle of it, lots of work needs to be done to unwind the different portions to make it sane. Cc: Daniel Krueger Cc: Ronald Sieber Signed-off-by: Greg Kroah-Hartman commit 37bcd24b845abbfd85c838ee9ce07c2b254d3a05 Author: Greg Kroah-Hartman Date: Wed Dec 17 17:20:23 2008 -0800 Staging: frontier: fix compiler warnings Basically remove unused code and variables still hanging around. Cc: David Taht Signed-off-by: Greg Kroah-Hartman commit 006ef0ec96de0dec01064df86febbc813f23c96a Author: Greg Kroah-Hartman Date: Wed Dec 17 17:16:31 2008 -0800 Staging: frontier: remove unused alphatrack_sysfs.c file The alphatrack_sysfs.c is unused, so remove it. Cc: David Taht Signed-off-by: Greg Kroah-Hartman commit 8da3dc28753ece6b7ddae9d5897a0ad0797e21e6 Author: David Taht Date: Wed Dec 17 17:13:45 2008 -0800 Staging: add frontier tranzport and alphatrack drivers Adds the tranzport and alphatrack drivers to the staging tree. Cc: David Taht Signed-off-by: Greg Kroah-Hartman commit 1242c70df56978e8abbf715a02fb1c55313f8471 Author: Greg Kroah-Hartman Date: Mon Jan 5 15:33:10 2009 -0800 Staging: rt2870: fix up netdev->priv usage Now that netdev->priv is removed, fix the driver to use netdev->ml_priv like it always should have been doing. Signed-off-by: Greg Kroah-Hartman commit 5a501b3011095c9afb396cdade5be8db359df977 Author: Greg Kroah-Hartman Date: Mon Jan 5 15:23:19 2009 -0800 Staging: rt2870: disable root hack for reading files We are now using credentials, so just blindly setting the fsuid and fsguid isn't acceptable. All this means is that the config file needs to be readable by the driver thread, not a big deal. Signed-off-by: Greg Kroah-Hartman commit c55519ff75224222f4668c92ae3733059269f575 Author: Greg Kroah-Hartman Date: Wed Dec 17 17:04:23 2008 -0800 Staging: add rt2870 wireless driver This is the Ralink RT2870 driver from the company that does horrible things like reading a config file from /etc. However, the driver that is currently under development from the wireless development community is not working at all yet, so distros and users are using this version instead (quite common hardware on a lot of netbook machines). So here is this driver, for now, until the wireless developers get a "clean" version into the main tree, or until this version is cleaned up sufficiently to move out of the staging tree. Ported to the Linux build system and cleaned up a bit already by me. Cc: Linux wireless Signed-off-by: Greg Kroah-Hartman commit 6e16aee60c815dac2d6c3b875769a79d09df6f91 Author: Greg Kroah-Hartman Date: Tue Jun 24 15:19:47 2008 +0100 Staging: add mimio xi driver This patch adds the Mimio Xi interactive whiteboard driver to the tree. It was originally written by mwilder@cs.nmsu.edu, but cleaned up and forward ported by me to the latest kernel version. Cc: Phil Hannent Cc: Signed-off-by: Greg Kroah-Hartman commit 28397ffef14255ba45b99570d366fcd2b454c8f3 Author: Greg Kroah-Hartman Date: Thu Aug 21 14:04:55 2008 -0700 Staging: add princeton instruments usb camera driver Adds the driver for the Princeton Instruments USB camera. Needs a lot of work... TODO: - make checkpatch.pl clean - coding style fixups (typedefs, etc.) - get it to build properly - audit ioctls - remove ioctls if possible - assign proper minor number - remove dbg() macro - lots of general cleanups - review locking Cc: Judd Montgomery Cc: Jeff Frontz Signed-off-by: Greg Kroah-Hartman commit 88a1e909da60cd3adf159bc337ede09d4ac93e3e Author: Alexander Beregalov Date: Sun Dec 7 05:32:46 2008 +0300 Staging: usbip: switch to list_for_each_entry() Signed-off-by: Alexander Beregalov Signed-off-by: Greg Kroah-Hartman commit 8cc59061f22370a60764b04c51f4cc5a01270760 Author: Alexander Beregalov Date: Sun Dec 7 05:31:19 2008 +0300 Staging: me4000: switch to list_for_each*() Signed-off-by: Alexander Beregalov Signed-off-by: Greg Kroah-Hartman commit 1fa511ad650c30e5e98f336732f003835af57cac Author: Greg Kroah-Hartman Date: Thu Dec 4 20:39:37 2008 -0800 Staging: rtl8187se: remove duplicate pci ids We only want to load for one PCI device, the "SE" device. The other PCI devices that this driver supports are already supported by the existing rtl8187 module. Signed-off-by: Greg Kroah-Hartman commit bac6cd182916d95b8ffce4cd20cfa1e885c1ea42 Author: Greg Kroah-Hartman Date: Thu Dec 4 20:19:44 2008 -0800 Staging: rtl8187se: make the built module be the proper name If we are calling this the rtl8187se module, let's actually build a module with that name. Signed-off-by: Greg Kroah-Hartman commit ceda4ae6d24c4167ad5c2f09609a7e4a626a8301 Author: Greg Kroah-Hartman Date: Thu Dec 4 20:10:59 2008 -0800 Staging: rtl8187se: remove unneeded files There were a number of files in the ieee80211 code that were not needed, so they are removed. Signed-off-by: Greg Kroah-Hartman commit c8d86be38785705aca77e33933298c320a1bf2a5 Author: Greg Kroah-Hartman Date: Thu Dec 4 20:01:41 2008 -0800 Staging: add rtl8187se driver This is a driver for the Realtek 8187 "SE" wireless PCI devices in some netbook computers (MSI Wind, and others). It includes its own copy of the ieee80211 stack, but it is compiled into the driver to prevend duplicate symbol issues. This version comes from Ralink with no authorship, but it is based on an old version of the rtl8180 driver from Andrea Merello. It was hacked up a bit to get it to build properly within the kernel tree and to properly handle the merged wireless stack within the driver. Cc: Andrea Merello Cc: linux-wireless Signed-off-by: Greg Kroah-Hartman commit c8801d8c9f639153afb7c4926654f0769483348e Author: Leon Woestenberg Date: Mon Dec 1 08:45:57 2008 -0500 Staging: add Driver for Altera PCI Express Chaining DMA reference design Altera PCI Express Chaining DMA driver A reference driver that exercises the Chaining DMA logic reference design generated along the Altera FPGA PCI Express soft or hard core, only if instantiated using the MegaWizard, not the SOPC builder, of Quartus 8.1. This driver can be used to test the logic instantiation and PCI Express layers and acts as a starting point for driving custom logic connected to the PCI Express End Point Chaining DMA engines. Signed-off-by: Leon Woestenberg Signed-off-by: Greg Kroah-Hartman commit 630231776da4916e40ecbee8b8f347f0cc78e7d3 Author: Willy Tarreau Date: Sat Nov 22 12:52:18 2008 +0100 Staging: panel: remove support for smartcards Smartcard support was more like a proof-of-concept than a completed work. It was only able to read serial numbers from a few smartcards, and the goal was to be able to secure keypad access with a smartcard. Given how the concept was limited, this was never used beyond demos, and it's better to remove this code so that nobody tries to use it for security purposes. The function panel_bind_callback() was ifdef'ed out, as its only user was smartcard. However, it would be a waste to remove it because many variations made on this driver will need it. Signed-off-by: Willy Tarreau Cc: Frank Menne Signed-off-by: Greg Kroah-Hartman commit f6d1fcfe1a6fefd299a87b45ecbe1f9832da44d1 Author: Willy Tarreau Date: Sat Nov 22 12:04:19 2008 +0100 Staging: panel: remove ifdefs and code for pre-2.6 kernels The code began 8 years ago with kernel 2.0 or 2.1, and kernels 2.2 and 2.4 were still supported. These old version need no longer be supported if the code gets merged in mainline. Signed-off-by: Willy Tarreau Cc: Frank Menne Signed-off-by: Greg Kroah-Hartman commit 698b1515f03914386ad9cc033d62447e5d43f880 Author: Willy Tarreau Date: Sat Nov 22 11:29:33 2008 +0100 Staging: panel: major checkpatch cleanup All of the 401 errors, and 108 of the 235 warnings reported by checkpatch were cleared. The only remanining warnings left concern lines larger than 80 characters. This cleanup will be performed last. Signed-off-by: Willy Tarreau Cc: Frank Menne Signed-off-by: Greg Kroah-Hartman commit 7005b58458e4beecaf5efacb872c456bc7d3541a Author: Willy Tarreau Date: Thu Nov 13 17:18:59 2008 -0800 Staging: add lcd-panel driver This adds the lcd-panel parallel port driver to the staging tree. See the file, drivers/staging/panel/TODO for what needs to be fixed up in order for this to be properly merged into the rest of the kernel tree. Cc: Willy Tarreau Cc: Frank Menne Signed-off-by: Greg Kroah-Hartman commit 18223a99e60787ce41159ed321c8f0a21c328ac1 Author: Kamalesh Babulal Date: Thu Nov 20 21:46:45 2008 +0530 Staging: meilhaus: fix __symbol_get problems next-20081120 kernel randconfig on x86_64 box fails, while !CONFIG_MODULES drivers/staging/meilhaus/memain.c: In function 'me_probe_pci': drivers/staging/meilhaus/memain.c:425: error: implicit declaration of function '__symbol_get' drivers/staging/meilhaus/memain.c:425: warning: cast to pointer from integer of different size drivers/staging/meilhaus/memain.c:433: warning: cast to pointer from integer of different size drivers/staging/meilhaus/memain.c:453: error: implicit declaration of function '__symbol_put' make[3]: *** [drivers/staging/meilhaus/memain.o] Error 1 the driver uses __symbol_get and __symbol_put instead of marco's symbol_get and symbol_put, I have only build tested the patch. Signed-off-by: Kamalesh Babulal Signed-off-by: Greg Kroah-Hartman commit 3fedd14818592016f7ffd84dfe134881b3896ecf Author: David Kiliani Date: Sat Nov 1 00:39:12 2008 +0100 Staging: Add the Meilhaus ME-IDS driver package Originally written by Guenter Gebhardt and Krzysztof Gantzke This is the drv/lnx/mod directory of ME-IDS 1.2.9 tarball with some files from drv/lnx/include. Signed-off-by: David Kiliani Cc: Guenter Gebhardt Cc: Krzysztof Gantzke Signed-off-by: Greg Kroah-Hartman commit 5ec5ec78060481e6a0cecc06ab0c6ec8b213ec80 Author: Kamalesh Babulal Date: Thu Nov 20 22:39:27 2008 +0530 Staging: asus_oled: fix build dependancy asus_oled depends on the CONFIG_USB_SUPPORT, I have only build tested the patch. Signed-off-by: Kamalesh Babulal Signed-off-by: Greg Kroah-Hartman commit fb53440b187f0cfc1f116e580e9c7e9931191f9c Author: Jakub Schmidtke Date: Tue Nov 4 23:46:58 2008 -0800 Staging: add asus_oled driver Driver for the OLED tiny display on some Asus laptops. From: Jakub Schmidtke Cc: Cyrill Gorcunov Signed-off-by: Greg Kroah-Hartman commit a8275fcaa7ca1f720f0c1b1c4c373964ffc9f72d Author: J.R. Mauro Date: Fri Nov 14 20:01:14 2008 -0500 Staging: comedi: fix build if CONFIG_PROC_FS is not set Don't include procfs functions if CONFIG_PROC_FS is not set Signed-off by: J.R. Mauro Signed-off-by: Greg Kroah-Hartman commit 0bf8e27f7a7da413c1cf3dad4afdcf1b17418285 Author: Greg Kroah-Hartman Date: Fri Nov 21 10:58:10 2008 -0800 Staging: comedi: fix checkpatch.pl warning in interrupt.h No more need for a kernel version check now that we are in the main kernel tree. Cc: David Schleef Cc: Frank Mori Hess Cc: Ian Abbott Signed-off-by: Greg Kroah-Hartman commit 39eca2a087e30001b3679c04338976d3b02b9173 Author: Greg Kroah-Hartman Date: Wed Nov 19 15:31:31 2008 -0800 Staging: comedi: me_daq: fix sparse issues This fixes the sparse issues that the tool had with the me_daq driver. Cc: Michael Hillmann Cc: David Schleef Cc: Frank Mori Hess Cc: Ian Abbott Signed-off-by: Greg Kroah-Hartman commit 5e08c19867cefd9d1a1f07e309338b93439d147a Author: Greg Kroah-Hartman Date: Wed Nov 19 15:29:17 2008 -0800 Staging: comedi: me_daq: remove typedefs This removes the typedefs from the me_daq driver. Cc: Michael Hillmann Cc: David Schleef Cc: Frank Mori Hess Cc: Ian Abbott Signed-off-by: Greg Kroah-Hartman commit 2ce411b57ec45a97bf0a0af4afe65b9ed5ad5159 Author: Greg Kroah-Hartman Date: Wed Nov 19 15:26:21 2008 -0800 Staging: comedi: me_daq: fix checkpatch.pl issues This fixes a number of checkpatch.pl issues in the me_daq driver. Cc: Michael Hillmann Cc: David Schleef Cc: Frank Mori Hess Cc: Ian Abbott Signed-off-by: Greg Kroah-Hartman commit 85acac61096f946a78cf0c4b65f7cebe580693b6 Author: Michael Hillmann Date: Wed Nov 19 14:26:25 2008 -0800 Staging: comedi: add me_daq driver This adds the me_daq comedi driver to the build. From: Michael Hillmann Cc: David Schleef Cc: Frank Mori Hess Cc: Ian Abbott Signed-off-by: Greg Kroah-Hartman commit 3d9f073994925a2c8206e41b12a8c12282972cec Author: Dan Christian Date: Wed Nov 19 14:21:25 2008 -0800 Staging: comedi: add rtd520 driver This adds the rtd520 comedi driver to the build. From: Dan Christian Cc: David Schleef Cc: Frank Mori Hess Cc: Ian Abbott Signed-off-by: Greg Kroah-Hartman commit 11e865c1dad436d2ce65c7d366030d1b62967a83 Author: Gianluca Palli Date: Wed Nov 19 14:10:49 2008 -0800 Staging: comedi: add s626 driver This adds the s626 comedi driver to the build. From: Gianluca Palli Cc: David Schleef Cc: Frank Mori Hess Cc: Ian Abbott Signed-off-by: Greg Kroah-Hartman commit d2f63f9c67ef1a627e7b0ccd5e236272db118ceb Author: Greg Kroah-Hartman Date: Wed Nov 19 14:02:21 2008 -0800 Staging: comedi: comedi_pci.h: remove comedi_pci_disable_no_regions comedi_pci_disable_no_regions is not called by any comedi code (in or out of the kernel tree), so remove it, so no one tries to use it in the future. Cc: David Schleef Cc: Frank Mori Hess Cc: Ian Abbott Signed-off-by: Greg Kroah-Hartman commit 7b1f281350ca1ba1f740ced203136d27390b22c1 Author: Greg Kroah-Hartman Date: Wed Nov 19 13:59:44 2008 -0800 Staging: comedi: comedi_pci.h: remove comedi_pci_enable_no_regions comedi_pci_enable_no_regions is not called by any comedi code (in or out of the kernel tree), so remove it, so no one tries to use it in the future. Cc: David Schleef Cc: Frank Mori Hess Cc: Ian Abbott Signed-off-by: Greg Kroah-Hartman commit 5604ec6fb65ba388b698d8490f797267470b8b23 Author: Greg Kroah-Hartman Date: Wed Nov 19 13:57:34 2008 -0800 Staging: comedi: comedi_pci.h: remove unneeded wrapper just call pci_disable_device() directly in comedi_pci_enable() as no wrapper is needed now that we are in the kernel tree. Cc: David Schleef Cc: Frank Mori Hess Cc: Ian Abbott Signed-off-by: Greg Kroah-Hartman commit d72187b7cd4bac8eb9f87cabbb8d537145dc4bad Author: Greg Kroah-Hartman Date: Wed Nov 19 13:55:14 2008 -0800 Staging: comedi: fix comedi_pci.h checkpatch.pl issues. This resolves all the resolvable checkpatch.pl issues in the comedi_pci.h file. Cc: David Schleef Cc: Frank Mori Hess Cc: Ian Abbott Signed-off-by: Greg Kroah-Hartman commit 6d62a12bb0fde6a70eb18e2ba25e48f6fd5eee07 Author: Greg Kroah-Hartman Date: Wed Nov 19 13:53:34 2008 -0800 Staging: comedi: fix comedi_fc.h checkpatch.pl issues. This resolves all the resolvable checkpatch.pl issues in the comedi_fc.h file. Cc: David Schleef Cc: Frank Mori Hess Cc: Ian Abbott Signed-off-by: Greg Kroah-Hartman commit 652dd4e7c78a2ad1fcf38c12e8be69651922c690 Author: Greg Kroah-Hartman Date: Wed Nov 19 10:34:00 2008 -0800 Staging: comedi: fix comedi_parport.c checkpatch.pl issues. This resolves all the resolvable checkpatch.pl issues in the comedi_parport.c file. Cc: David Schleef Cc: Frank Mori Hess Cc: Ian Abbott Signed-off-by: Greg Kroah-Hartman commit 8c49292f33c00ed920e0df0c66f4057590fe33e2 Author: Greg Kroah-Hartman Date: Wed Nov 19 10:25:23 2008 -0800 Staging: comedi: remove typedefs from comedi_test.c no more checkpatch.pl issues found in the comedi_test.c file. Cc: Joachim Wuttke Cc: David Schleef Cc: Frank Mori Hess Cc: Ian Abbott Signed-off-by: Greg Kroah-Hartman commit e0639d7644d8bd204415290221ffebb530fd5949 Author: Greg Kroah-Hartman Date: Wed Nov 19 10:22:51 2008 -0800 Staging: comedi: fix sparse issues in comedi_test.c This fixes all issues pointed out by sparse with the comedi_test.c file. Cc: Joachim Wuttke Cc: David Schleef Cc: Frank Mori Hess Cc: Ian Abbott Signed-off-by: Greg Kroah-Hartman commit 1be0e3ed76188c9dd879f421953f5cbf5d9cee58 Author: Greg Kroah-Hartman Date: Wed Nov 19 10:21:17 2008 -0800 Staging: comedi: fix checkpatch.pl issues in comedi_test.c This fixes almost all checkpatch.pl issues with the comedi_test.c file. Hint, volatile doesn't do what you think it does, it has been removed from the structure... Cc: Joachim Wuttke Cc: David Schleef Cc: Frank Mori Hess Cc: Ian Abbott Signed-off-by: Greg Kroah-Hartman commit 246c541822cd6251aa38862f8f13412e5147a1ad Author: Greg Kroah-Hartman Date: Wed Nov 19 10:08:14 2008 -0800 Staging: comedi: fix sparse issues in comedi_bond.c This fixes the issues raised by the sparse tool on the comedi_bond.c file. Cc: Calin A. Culianu Cc: David Schleef Cc: Frank Mori Hess Cc: Ian Abbott Signed-off-by: Greg Kroah-Hartman commit ff534766e4b9e25e6e4a1f133946dfa8cfe6a747 Author: Greg Kroah-Hartman Date: Wed Nov 19 10:04:21 2008 -0800 Staging: comedi: remove typedefs from comedi_bond.c This fixes the remaining checkpatch.pl issues found in the comedi_bond.c file. Cc: Calin A. Culianu Cc: David Schleef Cc: Frank Mori Hess Cc: Ian Abbott Signed-off-by: Greg Kroah-Hartman commit 4e85a13b4ea73aa3bb9f735d77a949393cbbad2b Author: Greg Kroah-Hartman Date: Wed Nov 19 09:59:41 2008 -0800 Staging: comedi: fix checkpatch.pl issues in comedi_fc.c This fixes all of the checkpatch.pl issues in the comedi_fc.c file. Cc: David Schleef Cc: Frank Mori Hess Cc: Ian Abbott Signed-off-by: Greg Kroah-Hartman commit e7f2aa345581b5b500b44a4114bdda642938eb2e Author: Greg Kroah-Hartman Date: Wed Nov 19 09:58:28 2008 -0800 Staging: comedi: fix checkpatch.pl issues in comedi_bond.c This fixes a number of the issues found by checkpatch.pl in the comedi_bond.c file. Cc: Calin A. Culianu Cc: David Schleef Cc: Frank Mori Hess Cc: Ian Abbott Signed-off-by: Greg Kroah-Hartman commit e55c95a3be5e202f0fc30126aff172c706b304f8 Author: Guenter Gebhardt Date: Wed Nov 19 09:38:19 2008 -0800 Staging: comedi: add me4000 driver This adds the me4000 driver to the comedi staging tree From: Guenter Gebhardt Cc: David Schleef Cc: Frank Mori Hess Cc: Ian Abbott Signed-off-by: Greg Kroah-Hartman commit 96341f71538c48dcec873873cabc11477cf26ae9 Author: Anne Smorthit Date: Wed Nov 19 09:30:18 2008 -0800 Staging: comedi: add icp_multi driver This adds the icp_multi driver to the tree. From: Anne Smorthit Cc: David Schleef Cc: Frank Mori Hess Cc: Ian Abbott Signed-off-by: Greg Kroah-Hartman commit 6fd15040a6550c32e8db04cbb00b8b7703801b65 Author: Greg Kroah-Hartman Date: Tue Nov 18 17:20:22 2008 -0800 Staging: comedi: remove PCI wrappers The PCI wrapper macros are no longer needed, as they are all for compatiblity with older kernel versions. Cc: Anders Blomdell Cc: David Schleef Cc: Frank Mori Hess Cc: Ian Abbott Signed-off-by: Greg Kroah-Hartman commit c34351396c60f565c76b50b231fd15aae55f17e3 Author: Greg Kroah-Hartman Date: Tue Nov 18 17:16:47 2008 -0800 Staging: comedi: remove usb wrappers The usb wrapper macros are no longer needed, as all of the comedi drivers using them have been converted to use the "native" USB core calls. Cc: Anders Blomdell Cc: David Schleef Cc: Frank Mori Hess Cc: Ian Abbott Signed-off-by: Greg Kroah-Hartman commit 9a52ef3f1d433d1c6302fbae114d48665f1c6008 Author: Greg Kroah-Hartman Date: Tue Nov 18 17:12:15 2008 -0800 Staging: comedi: dt9812: remove #ifdef that is not needed We don't need to set the owner field of the usb_driver structure in the dt9812 driver. Cc: Anders Blomdell Cc: David Schleef Cc: Frank Mori Hess Cc: Ian Abbott Signed-off-by: Greg Kroah-Hartman commit 8867635903ea4c52776820954ae7aaaca1e438cb Author: Greg Kroah-Hartman Date: Tue Nov 18 17:09:23 2008 -0800 Staging: comedi: usbduxfast: remove comedi usb wrappers Remove the comedi usb wrapper function usage in the usbduxfast driver as they are no longer needed. Cc: Bernd Porr Cc: David Schleef Cc: Frank Mori Hess Cc: Ian Abbott Signed-off-by: Greg Kroah-Hartman commit 4aa3a8232158abeea939ec12770fdfcf2987b3c4 Author: Greg Kroah-Hartman Date: Tue Nov 18 17:02:39 2008 -0800 Staging: comedi: usbdux: remove comedi usb wrappers Remove the comedi usb wrapper function usage in the usbdux driver as they are no longer needed. Cc: Bernd Porr Cc: David Schleef Cc: Frank Mori Hess Cc: Ian Abbott Signed-off-by: Greg Kroah-Hartman commit cc92fca7bad65adee79c241a72082bacbfec6c3e Author: Greg Kroah-Hartman Date: Tue Nov 18 16:53:44 2008 -0800 Staging: comedi: usbdux: remove typedef Remove the typedef in the usbdux driver. Cc: Bernd Porr Cc: David Schleef Cc: Frank Mori Hess Cc: Ian Abbott Signed-off-by: Greg Kroah-Hartman commit 4274ea02d728f3732433782919b32895555df3ca Author: Greg Kroah-Hartman Date: Tue Nov 18 16:50:36 2008 -0800 Staging: comedi: usbdux: remove checkpatch.pl warnings Fix up and remove almost all of the remaining checkpatch.pl errors and warnings in the usbdux driver. Cc: Bernd Porr Cc: David Schleef Cc: Frank Mori Hess Cc: Ian Abbott Signed-off-by: Greg Kroah-Hartman commit c0e0c26e6b877d91af0477cd965ddad4835d2905 Author: Greg Kroah-Hartman Date: Tue Nov 18 16:18:40 2008 -0800 Staging: comedi: usbdux: fix up printk calls printk() needs a KERN_ level. But it's usually better to just use the dev_* functions instead, as they provide much better information to the user and developer. Cc: Bernd Porr Cc: David Schleef Cc: Frank Mori Hess Cc: Ian Abbott Signed-off-by: Greg Kroah-Hartman commit e54fb9c184a250fc80c48110ae42068bb0237a13 Author: Greg Kroah-Hartman Date: Tue Nov 18 14:23:41 2008 -0800 Staging: comedi: usbdux: remove // comments This converts all // comments to be /* */ Cc: Bernd Porr Cc: David Schleef Cc: Frank Mori Hess Cc: Ian Abbott Signed-off-by: Greg Kroah-Hartman commit 8fa07567bf5d824537839e6984a571daeed2c7fc Author: Greg Kroah-Hartman Date: Tue Nov 18 14:04:52 2008 -0800 Staging: comedi: usbdux: code style cleanups Fix a lot of checkpatch.pl warnings and errors in the usbdux driver. Cc: Bernd Porr Cc: David Schleef Cc: Frank Mori Hess Cc: Ian Abbott Signed-off-by: Greg Kroah-Hartman commit 4398ecfac1cfe26ee63d0d4151cf9c3fa89e81d1 Author: Greg Kroah-Hartman Date: Tue Nov 18 11:59:49 2008 -0800 Staging: comedi: usbdux: remove kernel version checks Now that we are in the kernel tree, these ifdefs are not needed. Cc: Bernd Porr Cc: David Schleef Cc: Frank Mori Hess Cc: Ian Abbott Signed-off-by: Greg Kroah-Hartman commit b1853a4f28db5b532542426965198171ef8ab6a0 Author: Greg Kroah-Hartman Date: Tue Nov 18 11:51:41 2008 -0800 Staging: comedi: dt9812: fix sparse warnings remove all warnings that sparse complains about in the dt9812 driver Cc: Anders Blomdell Cc: David Schleef Cc: Frank Mori Hess Cc: Ian Abbott Signed-off-by: Greg Kroah-Hartman commit 98f3c672b55cd246c62b763986a494152c7f2483 Author: Greg Kroah-Hartman Date: Tue Nov 18 11:48:57 2008 -0800 Staging: comedi: dt9812: remove typedefs remove all typedefs from the dt9812 driver Cc: Anders Blomdell Cc: David Schleef Cc: Frank Mori Hess Cc: Ian Abbott Signed-off-by: Greg Kroah-Hartman commit c73190fa2e3ab6b441170ce23bd4bd7a44e213fd Author: Greg Kroah-Hartman Date: Tue Nov 18 11:11:18 2008 -0800 Staging: comedi: dt9812: remove dt9812.h An extra .h file is not needed for the dt9812 driver so merge it into the .c file. Cc: Anders Blomdell Cc: David Schleef Cc: Frank Mori Hess Cc: Ian Abbott Signed-off-by: Greg Kroah-Hartman commit f52a8af70d50ffaf665862f6315352595dd94962 Author: Greg Kroah-Hartman Date: Tue Nov 18 11:05:04 2008 -0800 Staging: comedi: dt9812: fix up a lot of coding style issues Lots of checkpatch.pl warnings and errors resolved in the comedi dt9812 usb driver. Cc: Anders Blomdell Cc: David Schleef Cc: Frank Mori Hess Cc: Ian Abbott Signed-off-by: Greg Kroah-Hartman commit 241ab6ad7108e51c67881f7881c5e46f0400cdb1 Author: David Schleef Date: Fri Nov 14 15:03:44 2008 -0800 Staging: comedi: add comedi_parport driver This adds the comedi_parport driver to the kernel tree From: David Schleef Cc: Frank Mori Hess Cc: Ian Abbott Signed-off-by: Greg Kroah-Hartman commit 498460ebd5f093278836b3397bf7b7d5eeb20218 Author: Joachim Wuttke Date: Fri Nov 14 15:02:08 2008 -0800 Staging: comedi: add comedi_test driver This adds the comedi_test driver to the kernel tree From: Joachim Wuttke Cc: David Schleef Cc: Frank Mori Hess Cc: Ian Abbott Signed-off-by: Greg Kroah-Hartman commit 3cf840f65ad5684c91e4f55dc939e2b773f9a444 Author: David Schleef Date: Fri Nov 14 15:00:43 2008 -0800 Staging: comedi: add comedi_bond driver This adds the comedi_bond driver to the kernel tree From: David Schleef Cc: Frank Mori Hess Cc: Ian Abbott Signed-off-by: Greg Kroah-Hartman commit 63274cd7d38a3322d90b66a5bc976de1fb899051 Author: Anders Blomdell Date: Fri Nov 14 14:52:21 2008 -0800 Staging: comedi: add usb dt9812 driver Data Translation DT9812 USB driver From: Anders Blomdell Cc: David Schleef Cc: Frank Mori Hess Cc: Ian Abbott Signed-off-by: Greg Kroah-Hartman commit f47c697d130087831ac47bbbd2758c01de2e7081 Author: Bernd Porr Date: Fri Nov 14 14:49:34 2008 -0800 Staging: comedi: add usb usbduxfast driver ITL USB-DUXfast driver From: Bernd Porr Cc: David Schleef Cc: Frank Mori Hess Cc: Ian Abbott Signed-off-by: Greg Kroah-Hartman commit 4bf21fa4dabaa8803906c6548496fcf12b15b10f Author: Bernd Porr Date: Fri Nov 14 14:46:04 2008 -0800 Staging: comedi: add usb usbdux driver University of Stirling USB DAQ & INCITE Technology Limited driver. From: Bernd Porr Cc: David Schleef Cc: Frank Mori Hess Cc: Ian Abbott Signed-off-by: Greg Kroah-Hartman commit bede729096e08172f1a52df91bee1202b17c5d92 Author: David Schleef Date: Fri Nov 14 14:43:55 2008 -0800 Staging: comedi: add mite comedi pci driver Hardware driver for NI Mite PCI interface chip From: David Schleef Cc: Frank Mori Hess Cc: Ian Abbott Signed-off-by: Greg Kroah-Hartman commit a9f23e00c17567cc4b7ce50cd07226f7bfb70da6 Author: David Schleef Date: Fri Nov 14 14:42:01 2008 -0800 Staging: comedi: comedi driver common function module This module is shared by many comedi drivers. From: David Schleef Cc: Frank Mori Hess Cc: Ian Abbott Signed-off-by: Greg Kroah-Hartman commit 94ab11c22727acb4cefad6f7d0953e23eda06dad Author: David Schleef Date: Fri Nov 14 14:37:37 2008 -0800 Staging: comedi: add pci and usb wrapper header files This are used by usb and pci comedi drivers to handle the different kernel versions. They will be eventually removed, but are needed now to be able to add comedi drivers to the tree. From: David Schleef Cc: Frank Mori Hess Cc: Ian Abbott Signed-off-by: Greg Kroah-Hartman commit 74b847f4d07bce1eaf84505d65aff42f14e5fb2f Author: David Schleef Date: Fri Nov 14 14:20:56 2008 -0800 Staging: comedi: add local copy of interrupt.h This is needed for some internal comedi driver macros that were built up over the years to handle multiple kernel versions. It will be removed eventually. From: David Schleef Cc: Frank Mori Hess Cc: Ian Abbott Signed-off-by: Greg Kroah-Hartman commit 84c9dc212ace974acf2ccfc5a97e83796c6385b2 Author: Greg Kroah-Hartman Date: Fri Nov 14 14:10:15 2008 -0800 Staging: comedi: set up infrastructure for individual drivers This adds two "generic" Kconfig options, one for PCI and one for USB comedi drivers, and the Makefile infrastructure as well. This is so we can start adding individual comedi drivers and add them to the build properly. Cc: Ian Abbott Cc: Frank Mori Hess Cc: David Schleef Signed-off-by: Greg Kroah-Hartman commit b79a7a2089294cba254f6972e4e224fea643b84a Author: David Schleef Date: Fri Nov 14 15:58:23 2008 -0800 Staging: comedi: add kcomedilib to the tree This adds the kcomedilib module From: David Schleef Cc: Frank Mori Hess Cc: Ian Abbott Signed-off-by: Greg Kroah-Hartman commit 02ebd471ea5b9950d3c30d75ec2f579f9ff0e918 Author: Greg Kroah-Hartman Date: Fri Nov 14 14:58:46 2008 -0800 Staging: comedi: fix build error in comedilib.h If anyone included this file, it would break the build. This patch fixes the issue. Cc: David Schleef Cc: Frank Mori Hess Cc: Ian Abbott Signed-off-by: Greg Kroah-Hartman commit 476b847733636ce5765093f5d1a369cc470e78e6 Author: Greg Kroah-Hartman Date: Thu Nov 13 17:05:58 2008 -0800 Staging: comedi: fix checkpatch.pl errors in comedi_fops.c There are still some >80 character lines in there, but this catches the majority of the issues. Cc: Ian Abbott Cc: Frank Mori Hess Cc: David Schleef Signed-off-by: Greg Kroah-Hartman commit e0dcef71f6ea63f80631d2e87d06a9ae05624eef Author: Greg Kroah-Hartman Date: Thu Nov 13 16:36:22 2008 -0800 Staging: comedi: fix up a lot of checkpatch.pl warnings Only clean up some of the easier ones in the .h files Cc: Ian Abbott Cc: Frank Mori Hess Cc: David Schleef Signed-off-by: Greg Kroah-Hartman commit ed9eccbe8970f6eedc1b978c157caf1251a896d4 Author: David Schleef Date: Tue Nov 4 20:29:31 2008 -0800 Staging: add comedi core This adds the Comedi core to the staging tree. This is a data acquision infrastructure for Linux, providing a common interface for these types of drivers. Taken directly from the comedi git tree, with only minor tweaks by Greg to get it to build properly within the kernel tree. From: David Schleef Cc: Ian Abbott Cc: Shawn Bohrer Signed-off-by: Frank Mori Hess Signed-off-by: Greg Kroah-Hartman commit 535deaa35e534f096843d930a3ba11e36c75f0d5 Author: Sathya Perla Date: Fri Dec 5 15:52:15 2008 +0530 Staging: benet: cleanup a check while posting rx buffers This patch cleans up the way to check if there is enough space in the rx_q while posting buffers. Signed-off-by: Sathya Perla Signed-off-by: Greg Kroah-Hartman commit a9acfa42bf636cab0add8ae1c5138ed9844d047c Author: Sathya Perla Date: Thu Nov 27 11:24:07 2008 +0530 Staging: benet: fix problems reported by checkpatch Signed-off-by: Sathya Perla Signed-off-by: Greg Kroah-Hartman commit 998c15b1485f9ca8ee7c8e19a52eac5b7e90d786 Author: Sathya Perla Date: Mon Nov 24 11:04:45 2008 +0530 Staging: benet: patch to use offsetof() instead of AMAP_BYTE_OFFSET() Signed-off-by: Sathya Perla Signed-off-by: Greg Kroah-Hartman commit 2a5a19caa0584619ea9aec0a67466095a8c92138 Author: Greg Kroah-Hartman Date: Mon Nov 24 21:15:22 2008 -0800 Staging: benet: fix build error. udelay() was not being defined properly, this patch fixes it. Reported-by: Randy Dunlap Cc: Subbu Seetharaman Signed-off-by: Greg Kroah-Hartman commit d6258716b53e1f25e0a219137640fc8a459591a3 Author: Sathya Perla Date: Thu Nov 13 11:13:32 2008 +0530 Staging: benet: fix build errors when CONFIG_NETPOLL is off Signed-off-by: Sathya Perla Signed-off-by: Greg Kroah-Hartman commit 7f4252318da8d750e7cf6848687d77732b2af8f5 Author: Sathya Perla Date: Tue Nov 11 10:57:37 2008 +0530 Staging: benet: patch to remove subdirectories Here's a patch tp remove the subdirectories in staging/benet (1st item in staging/benet/TODO). Signed-off-by: Sathya Perla Signed-off-by: Greg Kroah-Hartman commit 2774de17ba65130165a2cbca92e5a685581f7916 Author: Greg Kroah-Hartman Date: Fri Nov 7 12:50:13 2008 -0800 Staging: benet: build is broken unless CONFIG_NETPOLL is enabled So disable the driver in that build situation and document that this needs to be fixed. Cc: Subbu Seetharaman Signed-off-by: Greg Kroah-Hartman commit 0252e5c691fd54064212c74435c2255abf3778d5 Author: Greg Kroah-Hartman Date: Mon Jan 5 15:05:47 2009 -0800 Staging: benet: fix up netdev->priv change netdev->priv is now gone, so fix up all of the build errors in the benet driver due to this change. Cc: Subbu Seetharaman Signed-off-by: Greg Kroah-Hartman commit 85e468cd556b04dcf019deca145639e1f8cb1e63 Author: Greg Kroah-Hartman Date: Mon Jan 5 15:04:44 2009 -0800 Staging: benet: fix netif api breakage The netif_rx_complete() and netif_rx_schedule() functions have changed, so fix up the build breakage in the benet driver. Cc: Subbu Seetharaman Signed-off-by: Greg Kroah-Hartman commit 479e2f445faf7a04d75f807b81b316ebc5b043ca Author: Subbu Seetharaman Date: Sun Nov 2 08:09:57 2008 -0500 Staging: Add ServerEngines benet 10Gb ethernet driver Signed-off-by: Jeff Garzik Signed-off-by: Greg Kroah-Hartman commit 127ce13ceed3e7f5e4fda774b1d64fe5dee50e2a Author: Greg Kroah-Hartman Date: Mon Nov 17 15:55:52 2008 -0800 Staging: rt2860: enable WPA_SUPPLICANT support This is needed in order to get NetworkManager to work properly with this driver. More details can be found at https://bugzilla.novell.com/show_bug.cgi?id=437959 Cc: Helmut Schaa Signed-off-by: Greg Kroah-Hartman commit 26f0bcd1cfeb657cddcc708a646279fea0eefa20 Author: Greg Kroah-Hartman Date: Thu Nov 13 15:37:21 2008 -0800 Staging: rt2860: Fix minor compiler warnings The build is "clean" now for this driver. Signed-off-by: Greg Kroah-Hartman commit 834e625578774cfc9dc2869600a5aea2a0d9d1bc Author: J.R. Mauro Date: Thu Nov 6 20:30:03 2008 -0500 Staging: rt2860: use standard bit-reverse function Make the rt2860 use standard bit-reversing functions Signed-off by: J.R. Mauro Signed-off-by: Greg Kroah-Hartman commit 739b797941598529cc44e39d05227dbbe9254275 Author: Greg Kroah-Hartman Date: Mon Jan 5 14:19:51 2009 -0800 Staging: rt2860: fix up netdev->priv usage Now that netdev->priv is removed, fix the driver to use netdev->ml_priv like it always should have been doing. Signed-off-by: Greg Kroah-Hartman commit 18727963278a7199c75dba5ca3ad1e3455b1554a Author: Greg Kroah-Hartman Date: Mon Jan 5 14:18:40 2009 -0800 Staging: rt2860: disable root hack for reading files We are now using credentials, so just blindly setting the fsuid and fsguid isn't acceptable. All this means is that the config file needs to be readable by the driver thread, not a big deal. Signed-off-by: Greg Kroah-Hartman commit 91980990527258a075361490cecadbb7356fc0d2 Author: Greg Kroah-Hartman Date: Tue Oct 28 14:48:09 2008 -0700 Staging: add rt2860 wireless driver This is the Ralink RT2860 driver from the company that does horrible things like reading a config file from /etc. However, the driver that is currently under development from the wireless development community is not working at all yet, so distros and users are using this version instead (quite common hardware on a lot of netbook machines). So here is this driver, for now, until the wireless developers get a "clean" version into the main tree, or until this version is cleaned up sufficiently to move out of the staging tree. Ported to the Linux build system and cleaned up a bit already by me. Cc: Linux wireless Signed-off-by: Greg Kroah-Hartman commit f4f85ff7255836122fc03f69957cdb02e2530faa Author: Alexander Beregalov Date: Sun Dec 7 06:58:47 2008 +0300 Staging: otus: remove dependence on kernel version Dependence on kernel version is not needed anymore if we are in mainline now. Signed-off-by: Alexander Beregalov Cc: Signed-off-by: Greg Kroah-Hartman commit 707eefb8ee714ecaae436980cf19a7e7eb171cf1 Author: Greg Kroah-Hartman Date: Thu Nov 13 15:35:52 2008 -0800 Staging: otus: fix urb callback function type The #ifdef for version checking is wrong, and we no longer pass the struct pt_regs to the urb callback functions. This patch fixes this error. Cc: Luis Rodriguez Signed-off-by: Greg Kroah-Hartman commit 063e95c7360cd7153caebfa44315bad109fee1da Author: J.R. Mauro Date: Fri Nov 7 17:49:07 2008 -0500 Staging: otus: fix name clash Make p80211wext_handler_def in the otus driver static. It's not used outside this file and causes name clashes if it's visible. Signed-off by: J.R. Mauro Signed-off-by: Greg Kroah-Hartman commit da3e89082d8d3018b63589e435defd6bd9feb0f5 Author: Greg Kroah-Hartman Date: Mon Jan 5 13:44:36 2009 -0800 Staging: otus: fix netdev->priv usage Now that netdev->priv is gone, fix things up properly in the otus driver to use ml_priv as it should have always been doing. Cc: Luis R. Rodriguez Signed-off-by: Greg Kroah-Hartman commit 4bd43f507c7e2f225f58235226a8381fd6bbff1a Author: Luis R. Rodriguez Date: Mon Oct 27 22:44:22 2008 -0700 Staging: add otus Atheros wireless network driver Initial dump of the otus USB wireless network driver. It builds properly, but a lot of work needs to be done cleaning it up before it can be merged into the wireless driver tree. Signed-off-by: Luis R. Rodriguez Signed-off-by: Greg Kroah-Hartman commit e543c241412f5f68d6948968f1a6c2cbb5fad7ff Author: Greg Kroah-Hartman Date: Thu Nov 13 15:34:13 2008 -0800 Staging: agnx: fix build warnings Fix some minor build warnins in the agnx driver Cc: Li YanBo Signed-off-by: Greg Kroah-Hartman commit aa0d6c34b6d44dcb14957cb768a13c8e4dd03729 Author: Greg Kroah-Hartman Date: Mon Jan 5 12:37:19 2009 -0800 Staging: agnx: fix build errors due to rate control API changes In commit e6a9854b05c1a6af1308fe2b8c68f35abf28a3ee, the rate control API was rewritten, so make the needed changes to the agnx driver so that it will build and work properly. Cc: Li YanBo Signed-off-by: Greg Kroah-Hartman commit 40667f32d10c501798fba462ffbb71d3afb5b763 Author: Greg Kroah-Hartman Date: Mon Jan 5 12:37:19 2009 -0800 Staging: agnx: fix build errors due to ssid removal The wireless core has removed the ssid variables, so also remove them from the agnx driver so that it builds properly. Cc: Li YanBo Signed-off-by: Greg Kroah-Hartman commit 0f22aab89715916c100b5fa7d146c497d99d45ca Author: Li YanBo Date: Mon Oct 27 20:32:57 2008 -0700 Staging: add agnx wireless driver This driver is for the Airgo AGNX00 wireless chip. From: Li YanBo Signed-off-by: Greg Kroah-Hartman commit 470c5736fffa16923a3d27a0f365b691086a014d Author: Lior Dotan Date: Wed Nov 5 16:02:20 2008 +0200 Staging: slicoss: use request_firmware This should make the driver use request_firmware() instead of a static firmware. Some obvious things are missing: 1) The unneeded header files are not removed yet. This is to keep the patch size small. 2) The .bin files are missing so the driver doesn't have what to load. 3) Testing. None of this was tested. It does compiles OK though :) Signed-off-by: Lior Dotan Signed-off-by: Greg Kroah-Hartman commit 66615321f59c6ff98b7bf2e9a3caf04ff30c031b Author: Lior Dotan Date: Wed Nov 5 11:52:17 2008 +0200 Staging: slicoss: use correct type for memory allcations Fix sizeof to use the right type Signed-off-by: Lior Dotan Cc: Jiri Slaby Signed-off-by: Greg Kroah-Hartman commit 7c7e18790c8236ec2bb7581f5337ecff7e31916e Author: Lior Dotan Date: Wed Nov 5 11:27:17 2008 +0200 Staging: slicoss: use kzalloc This patch uses kzalloc() where really applicable. Signed-off-by: Lior Dotan Cc: Jiri Slaby Signed-off-by: Greg Kroah-Hartman commit 1c80db5c9b6649bc499fc799771b0b3edd2d8a97 Author: Qinghuang Feng Date: Wed Nov 12 14:42:16 2008 -0800 Staging: usbip: cleanup kerneldoc No argument named @regs in stub_complete(), remove it. Signed-off-by: Qinghuang Feng Cc: Randy Dunlap Signed-off-by: Andrew Morton Signed-off-by: Greg Kroah-Hartman commit 4eb0068b065a88a5fb8b77e97f6f6b992c7d544c Author: Johann Felix Soden Date: Sat Nov 15 20:44:39 2008 +0100 Staging: et131x: remove unused variable in et1310_tx.c The 'pPacket' variable is assigned, but never used. Remove it. Signed-off-by: Johann Felix Soden Signed-off-by: Greg Kroah-Hartman commit 1352b4b07fae399ae5741a9b6f155420e76a2b00 Author: J.R. Mauro Date: Thu Nov 13 19:11:22 2008 -0500 Staging: et131x: fix build failure Fix build failure in et131x driver - missing \ in multiline macro Signed-off by: J.R. Mauro Signed-off-by: Greg Kroah-Hartman commit bb9eacccf63bd3ab5474c47abe4212f6f3b9d24f Author: Stoyan Gaydarov Date: Thu Jul 17 10:29:06 2008 +0000 Staging: et131x: Cleanup et131x_debug.h defines This patch cleans up the et131x_debug.h defines as well as fix the checkpatch warnings Signed-off-by: Stoyan Gaydarov Signed-off-by: Greg Kroah-Hartman commit 0484f2082ad97a48c805414c42dcd7b6b8f296f3 Author: Greg Kroah-Hartman Date: Mon Jan 5 11:22:07 2009 -0800 Staging: go7007: add some more v4l2 ioctls Now that the v4l2 tree is merged with mainline, enable some of the compiled out functions. Signed-off-by: Greg Kroah-Hartman commit 9efb052563003c050cf2ad84632746968d414af9 Author: Oliver Neukum Date: Thu Dec 18 13:52:39 2008 +0100 Staging: go7007: small cleanup small cleanup of go7007: - prepare for urb->status conversion - micro optimization - use kzalloc - fix free of memory in use in go7007_usb_disconnect Signed-off-by: Oliver Neukum Cc: Cohen Signed-off-by: Greg Kroah-Hartman commit 8fca1cb3a4f7b1eba7e139a4eefc5d01f33d8961 Author: Greg Kroah-Hartman Date: Thu Nov 13 15:35:08 2008 -0800 Staging: go7007: fix minor build warnings Comment out some functions that we aren't using yet, in anticipation of using them when the v4l core merges are changed upstream. Signed-off-by: Greg Kroah-Hartman commit 9febd042dae418cea842a8fb697cde10a4887a01 Author: Harvey Harrison Date: Sun Nov 2 21:24:35 2008 -0800 Staging: go7007: annotate code pointers They are treated as __le16 everywhere, annotate as such. Signed-off-by: Harvey Harrison Signed-off-by: Greg Kroah-Hartman commit 65f9f6190b2e058f57acab7c2617ee1f5a35bd79 Author: Mauro Carvalho Chehab Date: Tue Nov 11 22:54:30 2008 -0200 Staging: go7007: Convert driver to use video_ioctl2 go7007: Convert driver to use video_ioctl2 go7007 driver were using the old method of having a big switch for handling ioctls. Use instead the new video_ioctl2 method. This patch also adds support for the 2.6.19 new ioctls to enumberate video formats and intervals. Still lacking the implementation of compression ioctls needed on go7007. This patch weren't tested, due to the lack of a hardware with me. Signed-off-by: Mauro Carvalho Chehab Signed-off-by: Greg Kroah-Hartman commit b11869dbb6cc4b4de8da302f758866d0a167a277 Author: Pete Eberlein Date: Thu Oct 30 12:56:41 2008 -0700 Staging: go7007: add sensoray 2250/2251 support This is the driver for the Sensoray 2250/2251 USB devices added to go7007 driver. Signed-off-by: Pete Eberlein Signed-off-by: Greg Kroah-Hartman commit d73f822ce775e004836ffc01ce9feae27d0d65cf Author: Pete Eberlein Date: Thu Oct 30 12:56:33 2008 -0700 Staging: go7007: saa7134 updates - Added documentation including README files from the original go7007 driver package. - Added Video4Linux2 MPEG controls. - Added Video4Linux2 audio ioctls, which pass thru to the i2c driver. - Improved saa7134 interface, to pass thru controls and video settings. - Fixed a bug in sony tuner, as reported by Bifferos on the Go7007 wiki. Signed-off-by: Pete Eberlein Signed-off-by: Greg Kroah-Hartman commit b2d6a78d9f5323dcb69f7e10476f9fd001c296ff Author: J.R. Mauro Date: Thu Oct 30 19:35:27 2008 -0400 Staging: echo: Lindent drivers/staging/echo Lindent drivers/staging/echo Signed-off by: J.R. Mauro Signed-off-by: Greg Kroah-Hartman commit c82895b8976a93d739373cb61daff72e1b490605 Author: J.R. Mauro Date: Thu Oct 30 19:26:59 2008 -0400 Staging: echo: remove typedefs Remove typedefs in drivers/staging/echo Signed-off by: J.R. Mauro Signed-off-by: Greg Kroah-Hartman commit e913397202b7551299da20fc8cf7b90c46f61ba3 Author: Kay Sievers Date: Thu Oct 30 01:59:32 2008 +0100 staging: struct device - replace bus_id with dev_name(), dev_set_name() Signed-off-by: Kay Sievers Signed-off-by: Greg Kroah-Hartman commit 9f37952aa0088242db7c19a8e31a6d284e4079e9 Author: J.R. Mauro Date: Fri Oct 31 18:58:30 2008 -0400 Staging: sxg: update README Update readme in drivers/staging/sxg Signed-off by: J.R. Mauro Signed-off-by: Greg Kroah-Hartman commit 62545d814fff3c162e8d8d4b3f5a7e4109b7073f Author: J.R. Mauro Date: Tue Oct 28 19:00:56 2008 -0400 Staging: sxg: break the build in a cleaner way when !x86 Remove ugly 'Stop Comilation;' statement in sxghif, replace with an error macro. This should never be hit as we are only building for x86 boxes at the moment. Signed-off by: J.R. Mauro Signed-off-by: Greg Kroah-Hartman commit 73b07065a3a7e2d6cc1476d3be5f624efe26efc9 Author: J.R. Mauro Date: Tue Oct 28 18:42:02 2008 -0400 Staging: sxg: remove typedefs Remove typedefs in the sxg driver Signed-off by: J.R. Mauro Signed-off-by: Greg Kroah-Hartman commit 1b8ee916f5e5f0de1367a5a437ba504a96953836 Author: Vijay Kumar Date: Wed Oct 29 08:58:40 2008 +0530 Staging: poch: Fine grained locking Lock only the portion of code that does register access. Signed-off-by: Vijay Kumar Signed-off-by: Greg Kroah-Hartman commit bf437012503cc99519e20b4a8bddf830cdaae794 Author: Vijay Kumar Date: Wed Oct 29 08:58:39 2008 +0530 Staging: poch: Fix user space protocol syncing Always set the user space offset from kernel space, to indicate group transmitted/received. Signed-off-by: Vijay Kumar Signed-off-by: Greg Kroah-Hartman commit ca219995b299a069dc0a88ddc24ac72423a81361 Author: Vijay Kumar Date: Wed Oct 29 08:58:37 2008 +0530 Staging: poch: Rx control register init Added Rx control register definition. Flush Rx FIFO on init, and set continuous DMA mode. Signed-off-by: Vijay Kumar Signed-off-by: Greg Kroah-Hartman commit 3ca67c1b94f26cacf9c709d2cf39792cf14f1356 Author: Vijay Kumar Date: Wed Oct 29 08:58:36 2008 +0530 Staging: poch: Fix build warnings Removed out printing of DMA address, that causes warnings during build. Signed-off-by: Vijay Kumar Signed-off-by: Greg Kroah-Hartman commit 7dadbbcf7f88f44cc46c95e6dcfd9b1ac9e8ae62 Author: Vijay Kumar Date: Wed Oct 29 08:58:35 2008 +0530 Staging: poch: minor fixes Unmap PCI bars on remove(). Validate sysfs values before using them. Signed-off-by: Vijay Kumar Signed-off-by: Greg Kroah-Hartman commit ea0a337f34ddd95ca833a7b152ad55a1360b3101 Author: Vijay Kumar Date: Wed Oct 29 08:58:34 2008 +0530 Staging: poch: Correct pages from bytes. Accurately calculate the no. of pages from the bytes. Signed-off-by: Vijay Kumar Signed-off-by: Greg Kroah-Hartman commit ee49abcf167856fb2020525b332a6adbb55d1957 Author: Vijay Kumar Date: Wed Oct 29 08:58:33 2008 +0530 Staging: poch: Update TODO list Update TODO list. Signed-off-by: Vijay Kumar Signed-off-by: Greg Kroah-Hartman commit 95ead520a3d77b1a654ce95ada9639acd7e91619 Author: Vijay Kumar Date: Wed Oct 29 08:58:32 2008 +0530 Staging: poch: Block size bug fix Block size is to be expressed in no. of 64 bit transfers. But the code specifies the block size in bytes. Fix this issue. Signed-off-by: Vijay Kumar Signed-off-by: Greg Kroah-Hartman commit 0d1d1424330cc1934f2b2742f0cfa2c31e6a250b Author: Oliver Neukum Date: Thu Dec 18 13:16:40 2008 +0100 Staging: at76_usb: cleanup dma on stack issues - no DMA on stack - cleanup unclear endianness issue Signed-off-by: Oliver Neukum Signed-off-by: Greg Kroah-Hartman commit 66664462909d9c62bcff3dceb579b438563f15ee Author: Greg Kroah-Hartman Date: Mon Oct 27 13:54:32 2008 -0700 Staging: at76_usb: fix up all remaining checkpatch.pl warnings It's now a "clean" driver. Cc: John W. Linville Signed-off-by: Greg Kroah-Hartman commit ee254f295804fc1f446598303969be0211faa8d4 Author: Greg Kroah-Hartman Date: Mon Oct 27 13:54:32 2008 -0700 Staging: at76_usb: remove compiler warnings 3 functions are now not used, remove them. Cc: John W. Linville Signed-off-by: Greg Kroah-Hartman commit f7b31e015acf5cf081c0e84197b5b3582fe34473 Author: Greg Kroah-Hartman Date: Mon Jan 5 10:54:53 2009 -0800 Staging: at76_usb: fix build breakage The previous patch broke the at76_usb driver due to some other wireless core api changes. This patch fixes the driver to build properly again. Signed-off-by: Greg Kroah-Hartman commit 02227c28391b5059a7710d6039c52912b0ee2c1d Author: John W. Linville Date: Fri Oct 24 15:48:59 2008 -0400 Staging: at76_usb: update drivers/staging/at76_usb w/ mac80211 port This updates drivers/staging/at76_usb to correspond with the latest version previously available in wireless-testing. Signed-off-by: John W. Linville Signed-off-by: Greg Kroah-Hartman commit 1f9e9ce1f99e89ee180a3994c44bdff43ebeb139 Author: Roel Kluin Date: Wed Dec 3 00:06:39 2008 +0100 Staging: wlan-ng: skb_p80211_to_ether() - payload_length is unsigned, check before subtraction payload_length is unsigned, check before subtraction Signed-off-by: Roel Kluin commit a1da9da99152e065912d58950089405b15d0aebd Author: Greg Kroah-Hartman Date: Thu Nov 13 15:37:47 2008 -0800 Staging: wlan-ng: fix compiler warnings This fixes some compiler warnings in teh wlan-ng driver. Signed-off-by: Greg Kroah-Hartman commit 9ba8aa7a94c5f3f5ac41ba39be5b1abf1688565e Author: Julia Lawall Date: Sun Nov 9 17:56:34 2008 +0100 Staging: wlan-ng: p80211wext.c: use ARRAY_SIZE ARRAY_SIZE is more concise to use when the size of an array is divided by the size of its type or the size of its first element. The semantic patch that makes this change is as follows: (http://www.emn.fr/x-info/coccinelle/) // @i@ @@ #include @depends on i using "paren.iso"@ type T; T[] E; @@ - (sizeof(E)/sizeof(E[...])) + ARRAY_SIZE(E) @depends on i using "paren.iso"@ type T; T[] E; @@ - (sizeof(E)/sizeof(T)) + ARRAY_SIZE(E) // Signed-off-by: Julia Lawall Signed-off-by: Greg Kroah-Hartman commit d11e5f22ac9330ebe8f6157395a1a55645064322 Author: Huang Weiyi Date: Fri Oct 31 22:49:56 2008 +0800 Staging: wlan-ng: remove unused #include The file(s) below do not use LINUX_VERSION_CODE nor KERNEL_VERSION. drivers/staging/wlan-ng/p80211conv.c drivers/staging/wlan-ng/p80211req.c drivers/staging/wlan-ng/p80211wext.c drivers/staging/wlan-ng/prism2mgmt.c This patch removes the said #include . Signed-off-by: Huang Weiyi Signed-off-by: Greg Kroah-Hartman commit 33ce0ca6e22e726f64ed86821da1677a00fb0e06 Author: Richard Kennedy Date: Mon Nov 3 11:24:54 2008 +0000 Staging: wlan-ng: p80211conv.c copy code from wlan-ng-devel branch to not drop packets allow card to correctly receive network packets, without this change all incoming packets are dropped. code copied from the latest wlan-ng-devel tree. Signed-off-by: Richard Kennedy Signed-off-by: Greg Kroah-Hartman commit 8636cdedc5be050fd83afa3b3681a0889d9058a9 Author: Richard Kennedy Date: Mon Nov 3 11:22:43 2008 +0000 Staging: wlan-ng: hfa384x_usbin_callback: check for hardware removed hfa384x_usbin_callback: check for hardware removed copied from latest wlan-ng-devel version Signed-off-by: Richard Kennedy Signed-off-by: Greg Kroah-Hartman commit 87b3df81fcee640952bd7c038b33488af4ee2bc7 Author: Richard Kennedy Date: Mon Nov 3 11:21:30 2008 +0000 Staging: wlan-ng: p80211wext don't set default key id twice p80211wext don't set default key id twice another change from wlan-ng-devel Signed-off-by: Richard Kennedy Signed-off-by: Greg Kroah-Hartman commit 46fa61f3600ad608b0fe69a17ece29323654e5c3 Author: Richard Kennedy Date: Mon Nov 3 11:20:04 2008 +0000 Staging: wlan-ng: p80211wext.c add latest changes & remove extra nulls from wext_handlers add the latest changes from wlan-ng-devel remove 2 stray nulls from the wext_handler table introduced by the tidy up patch. Signed-off-by: Richard Kennedy Signed-off-by: Greg Kroah-Hartman commit 7b7e7e84bdba1553c4a8a0d6b0fa4ebddfbac420 Author: Richard Kennedy Date: Mon Nov 3 11:16:09 2008 +0000 Staging: wlan-ng: hfa384x_usb.c use newest version of 384x_drvr_start include the needed fixes from Karl Relton see thread on linux-wlan-devel mailing list "Possible cause of those pesky hfa384x_usbctlx_complete_sync errors" Signed-off-by: Richard Kennedy Cc: Karl Relton Signed-off-by: Greg Kroah-Hartman commit 1d1b69851b314aebfc6b4fe31fe789b58c498786 Author: Richard Kennedy Date: Mon Nov 3 11:13:48 2008 +0000 Staging: wlan-ng: prism2_usb.c always enable the card in probe_usb always enable card in probe_usb & update register_wlandev to match latest wlan-ng-dev tree. Signed-off-by: Richard Kennedy Signed-off-by: Greg Kroah-Hartman commit ee313528d96cbd9eda568fec11fb6fdae13d30a4 Author: Richard Kennedy Date: Mon Nov 3 11:09:34 2008 +0000 Staging: wlan-ng: p80211netdev.c fix netdev alloc to prevent oops on device start a version of this patch is in the wlan-ng_devel tree initializes netdev correctly to prevent an oops on device start. Signed-off-by: Richard Kennedy Signed-off-by: Greg Kroah-Hartman commit 56afef56eb3323b71b332e890263990926a2c062 Author: Solomon Peachy Date: Wed Oct 29 10:43:00 2008 -0400 Staging: wlan-ng: Purge all MIBs not used internally. The next step is to bypass the MIB calling mechanism altogether and just invoke the hardware directly where needed, but at least now the list has been paired down considerably. Signed-off-by: Solomon Peachy Signed-off-by: Greg Kroah-Hartman commit e02c69b8af13938153a3e9470fadce49608170de Author: Solomon Peachy Date: Wed Oct 29 10:42:59 2008 -0400 Staging: wlan-ng: Consolidate wlan-ng into a single module. There's no point in having a separate 'p80211' module, as nobody else is ever going to use it. Push everyting into a single module, and get rid of all exports. Signed-off-by: Solomon Peachy Signed-off-by: Greg Kroah-Hartman commit 1e7201836c576883d5bd708810cc72ab1392756f Author: Solomon Peachy Date: Wed Oct 29 10:42:58 2008 -0400 Staging: wlan-ng: Delete a pile of unused mibs. And fix WEXT SET_TXPOWER. Signed-off-by: Solomon Peachy Signed-off-by: Greg Kroah-Hartman commit cbec30c4c00c9f5a7357f5c5dacb63ae2378afb4 Author: Solomon Peachy Date: Wed Oct 29 10:42:57 2008 -0400 Staging: wlan-ng: Delete a large pile of now-unused code. Signed-off-by: Solomon Peachy Signed-off-by: Greg Kroah-Hartman commit aec6a5f03493fe392e38f969ed08210ea18a6014 Author: Solomon Peachy Date: Wed Oct 29 10:42:56 2008 -0400 Staging: wlan-ng: use WIRELESS_EXT, not CONFIG_WIRELESS_EXT Kconfig doesn't work with variables starting with CONFIG_ Signed-off-by: Solomon Peachy Signed-off-by: Greg Kroah-Hartman commit fc4a76ff199c40f2e8e5a0004dc625bbd54ed80e Author: Solomon Peachy Date: Wed Oct 29 10:42:55 2008 -0400 Staging: wlan-ng: Wireless Extension support is mandatory. So take away the option to disable it. Signed-off-by: Solomon Peachy Signed-off-by: Greg Kroah-Hartman commit 575a8a5c28005838fa82c228cd77138379df87ba Author: Solomon Peachy Date: Wed Oct 29 10:42:54 2008 -0400 Staging: wlan-ng: Eliminate all backwards-compatible kernel code. It's not needed at all anymore now that we are in the kernel tree. Signed-off-by: Solomon Peachy Signed-off-by: Greg Kroah-Hartman commit aaad430378dd128ee015c8ed6e77809317c496a5 Author: Solomon Peachy Date: Wed Oct 29 10:42:53 2008 -0400 Staging: wlan-ng: Use standard kernel integer (u32/s32/etc) types. wlan-ng needed to interact with userspace, and support very old kernels, so it used to define its own types for integers to ensure consistency. It's all rather irrelevant now. Signed-off-by: Solomon Peachy Signed-off-by: Greg Kroah-Hartman commit 5704976fa9924c1b51b07f30dea7fb3828f6b76f Author: Solomon Peachy Date: Mon Oct 27 11:14:06 2008 -0400 Staging: wlan-ng: Eliminate usage of procfs. These files are not needed to work properly, and don't belong in procfs Signed-off-by: Solomon Peachy Signed-off-by: Greg Kroah-Hartman commit ff1ae8f3c1b972ff850400abdd5f7da36270f408 Author: Solomon Peachy Date: Mon Oct 27 11:14:05 2008 -0400 Staging: wlan-ng: Eliminate local 'version.h' The kernel provides us with the proper version of this file. Signed-off-by: Solomon Peachy Signed-off-by: Greg Kroah-Hartman commit 905862c9f98676807931c9c832ee12ba0d58bc88 Author: Solomon Peachy Date: Mon Oct 27 11:14:04 2008 -0400 Staging: wlan-ng: Eliminate one more rx mtu test. It also isn't needed. Signed-off-by: Solomon Peachy Signed-off-by: Greg Kroah-Hartman commit 9d86349e9c8059039d41f5d40ad42d77ef5acf87 Author: Solomon Peachy Date: Mon Oct 27 11:14:03 2008 -0400 Staging: wlan-ng: Get rid of the MTU tests in the rx conversion path. They are not needed. Signed-off-by: Solomon Peachy Signed-off-by: Greg Kroah-Hartman commit 5db8dcc98baaa5ef5fe53b411e40348ce31a1418 Author: Solomon Peachy Date: Mon Oct 27 11:14:02 2008 -0400 Staging: wlan-ng: Remove AP-only code from MLME functions. It is not needed in this driver. Signed-off-by: Solomon Peachy Signed-off-by: Greg Kroah-Hartman commit f980c178ea9d631d17be73b2384ad692a9f64706 Author: Solomon Peachy Date: Mon Oct 27 11:14:01 2008 -0400 Staging: wlan-ng: Eliminate a boatload of tertiaryAP-only code. Signed-off-by: Solomon Peachy Signed-off-by: Greg Kroah-Hartman commit 8a1396ef7ee4045bcbf0f9b9d8763e1b383ec690 Author: Solomon Peachy Date: Mon Oct 27 11:14:00 2008 -0400 Staging: wlan-ng: Eliminate all backwards-compatibility for <2.6.13 kernels. Signed-off-by: Solomon Peachy Signed-off-by: Greg Kroah-Hartman commit 68a193e4bb4e96fa58d11566b75bb9bcc34ea50b Author: Solomon Peachy Date: Mon Oct 27 11:13:59 2008 -0400 Staging: wlan-ng: Eliminate more <2.6 kernel support. Signed-off-by: Solomon Peachy Signed-off-by: Greg Kroah-Hartman commit 187a769636b6d06d8bd31b273df5ab50eb45d344 Author: Solomon Peachy Date: Mon Oct 27 11:13:58 2008 -0400 Staging: wlan-ng: Make wlan-ng use WEXT mode by default. As this is the kernel default mode. Signed-off-by: Solomon Peachy Signed-off-by: Greg Kroah-Hartman commit dff1dc8caaa42774ea82201cb3698b70f1f173c9 Author: Solomon Peachy Date: Mon Oct 27 11:13:57 2008 -0400 Staging: wlan-ng: Delete PCI/PLX/PCMCIA-specific code. Also delete a large pile of code that existed to support <2.6 kernels. Signed-off-by: Solomon Peachy Signed-off-by: Greg Kroah-Hartman commit fe5755f61aa097ec77fe00667f4cab98a032f382 Author: Solomon Peachy Date: Mon Oct 27 11:13:56 2008 -0400 Staging: wlan-ng: Update Help text to mention prism3 devices. The driver also supports prism3 devices Signed-off-by: Solomon Peachy Signed-off-by: Greg Kroah-Hartman commit c9b01df34b445e5cc4f67d21e46280f537466969 Author: Solomon Peachy Date: Mon Oct 27 11:13:55 2008 -0400 Staging: wlan-ng: Remove PCI/PLX/PCMCIA files. This portion of the driver is not needed at all, so remove it. Signed-off-by: Solomon Peachy Signed-off-by: Greg Kroah-Hartman commit f02466fc19f77fc47a0573d5c246b3333e076894 Author: Greg Kroah-Hartman Date: Mon Jan 5 10:46:00 2009 -0800 Staging: w35und: fix config build warnings the wireless config function has changed with commit e8975581f63870be42ff4662b293d1b0c8c21350 so fix up the wbusb driver to work properly with that change. Signed-off-by: Greg Kroah-Hartman commit 310d465d8365dbb1258b972c8a7c35f8d9dc68a3 Author: Pavel Machek Date: Mon Nov 24 10:18:29 2008 +0100 Staging: w35und: fix Kconfig 4KSTACK dependency was needed when driver carried its own softmac layer. That layer is gone, and functions have reasonably small stack footprint -> dependency can be removed. Add better description of hardware this driver is targetted at (now with fixed whitespace) Signed-off-by: Pavel Machek Acked-by: Pekka Enberg Signed-off-by: Greg Kroah-Hartman commit a3f245a2df2e9eeb5fcf78c8e12ac6363e847a13 Author: Pekka Enberg Date: Thu Oct 30 19:04:56 2008 +0200 Staging: w35und: remove rxisr.c as dead code The vRxTimerStart() function is never called nor does the timer do anything useful so remove the code. Acked-by: Pavel Machek Signed-off-by: Pekka Enberg Signed-off-by: Greg Kroah-Hartman commit 82321c2b56d4df95c9a41d6b032aeb769c8f210e Author: Pekka Enberg Date: Thu Oct 30 19:04:55 2008 +0200 Staging: w35und: remove dead code from wbhal.c Remove tons of unused code from wbhal.c. Acked-by: Pavel Machek Signed-off-by: Pekka Enberg Signed-off-by: Greg Kroah-Hartman commit 5c58093e63ff0a391acf708e153ef0b5d09aefc0 Author: Pekka Enberg Date: Thu Oct 30 19:04:54 2008 +0200 Staging: w35und: make functions local to wb35tx.c static While there are no functional changes, the diff is quite large because we need to shuffle code around to avoid forward declarations. Acked-by: Pavel Machek Signed-off-by: Pekka Enberg Signed-off-by: Greg Kroah-Hartman commit c139a814ab1735a8a1fa1b63cad71bd4f8dd8935 Author: Pekka Enberg Date: Thu Oct 30 19:04:53 2008 +0200 Staging: w35und: make functions local to wb35rx.c static While there are no functional changes, the diff is quite large because we need to shuffle code around to avoid forward declarations. Acked-by: Pavel Machek Signed-off-by: Pekka Enberg Signed-off-by: Greg Kroah-Hartman commit a22517fec0b13b5813932a3583a2b11a2ee17f5d Author: Pekka Enberg Date: Thu Oct 30 19:04:52 2008 +0200 Staging: w35und: remove dead code from mto.c Remove lots of code that's never used. Acked-by: Pavel Machek Signed-off-by: Pekka Enberg Signed-off-by: Greg Kroah-Hartman commit 7cd5613fdfdbc51ea848fac1617d34a1711fae5e Author: Pekka Enberg Date: Thu Oct 30 19:04:51 2008 +0200 Staging: w35und: make functions local to mlmetxrx.c static Convert functions that don't have external references to static and remove the ones that are not used at all. Acked-by: Pavel Machek Signed-off-by: Pekka Enberg Signed-off-by: Greg Kroah-Hartman commit 6261ab3a63e17009424a620ed2b6e30966ac72f4 Author: Pekka Enberg Date: Thu Oct 30 19:04:50 2008 +0200 Staging: w35und: make functions local to mds.c static The functions have no external references so make them static after shuffling the code around a bit to avoid forward declarations. Acked-by: Pavel Machek Signed-off-by: Pekka Enberg commit 54369cc69c4625e48838b15151a39e643d9b6ad8 Author: Pekka Enberg Date: Thu Oct 30 18:12:07 2008 +0200 Staging: w35und: remove ->shutdown from struct wbsoft_priv It's not actually used for anything, so remove it. Acked-by: Pavel Machek Signed-off-by: Pekka Enberg Signed-off-by: Greg Kroah-Hartman commit 72e202d00ef1ca9134010ff5574f165af6e382fe Author: Pekka Enberg Date: Thu Oct 30 18:12:06 2008 +0200 Staging: w35und: remove ->skb_array from struct wbsoft_priv It's not actually used for anything, so remove it. Acked-by: Pavel Machek Signed-off-by: Pekka Enberg Signed-off-by: Greg Kroah-Hartman commit 3cae503bf6dba576c13fd94c54fb6ddd9247799e Author: Pekka Enberg Date: Thu Oct 30 18:12:05 2008 +0200 Staging: w35und: move packet_came() to wb35rx.c The function no longer has dependencies to wbusb.c so we can move it to wb35rx.c and make it static now. Acked-by: Pavel Machek Signed-off-by: Pekka Enberg Signed-off-by: Greg Kroah-Hartman commit c930e0c008a1b81429e5dec089970b50f97ef593 Author: Pekka Enberg Date: Thu Oct 30 18:12:04 2008 +0200 Staging: w35und: move global wbsoft_enabled to struct wbsoft_priv This is a preparational step for moving packet_came() to wb35rx.c(). Acked-by: Pavel Machek Signed-off-by: Pekka Enberg Signed-off-by: Greg Kroah-Hartman commit 82f8c2cd469211e6ae7e0a3c51eb93ab78f2427c Author: Pekka Enberg Date: Thu Oct 30 18:12:03 2008 +0200 Staging: w35und: remove unused ->ShutDowned member from struct LOCAL_PARA It's not actually read by anyone so we might as well remove it. Acked-by: Pavel Machek Signed-off-by: Pekka Enberg Signed-off-by: Greg Kroah-Hartman commit 912b209f50dea532c25f2178e20024700258949b Author: Pekka Enberg Date: Thu Oct 30 18:12:02 2008 +0200 Staging: w35und: clean up wblinux.c a bit This patch removes wrapper functions from wblinux.c and moves the hardware init and halt functions to wbusb.c which has the only callers of them. Acked-by: Pavel Machek Signed-off-by: Pekka Enberg Signed-off-by: Greg Kroah-Hartman commit 7b9a79bf4849fbf7389bd845052014b02d2b9bda Author: Pekka Enberg Date: Thu Oct 30 18:12:01 2008 +0200 Staging: w35und: inline DRIVER_AUTHOR and DRIVER_DESC macros They're used in one place so we can inline them. Acked-by: Pavel Machek Signed-off-by: Pekka Enberg Signed-off-by: Greg Kroah-Hartman commit 7fff1316b9ecc415fb1d43f438c0668884a24881 Author: Pekka Enberg Date: Thu Oct 30 16:14:39 2008 +0200 Staging: w35und: remove global struct ieee80211_hw Remove the my_dev global variable from wbusb.c by passing a pointer to struct ieee80211_hw around so that packet_came() gets it. Acked-by: Pavel Machek Signed-off-by: Pekka Enberg Signed-off-by: Greg Kroah-Hartman commit 1e8a2b60339a050f4fd383e332a5dd66b75f4f02 Author: Pekka Enberg Date: Thu Oct 30 16:14:38 2008 +0200 Staging: w35und: merge struct wb35_adapter to struct wbsoft_priv This patch merges struct wb35_adapter to struct wbsoft_priv. Now we can finally start passing a pointer to struct ieee80211_hw around where necessary. Acked-by: Pavel Machek Signed-off-by: Pekka Enberg Signed-off-by: Greg Kroah-Hartman commit ac418b8faaaad7a17474c8fba5c2e5917c91cf31 Author: Pekka Enberg Date: Thu Oct 30 16:14:37 2008 +0200 Staging: w35und: clean up adapter.h a bit This patch cleans up adapter.h a bit in preparation for merging struct wb35_adapter to struct wbsoft_priv. Acked-by: Pavel Machek Signed-off-by: Pekka Enberg Signed-off-by: Greg Kroah-Hartman commit 42c84bb4603d5a375b1c8dbbbef686d24e804807 Author: Pekka Enberg Date: Thu Oct 30 16:14:36 2008 +0200 Staging: w35und: remove ->adapter from struct _HW_DATA_T Eventually we want to pass a pointer to struct ieee80211_hw around in the driver, so remove the bidirectional link between struct wb35_adapter and struct _HW_DATA_T to simplify the code. Acked-by: Pavel Machek Signed-off-by: Pekka Enberg Signed-off-by: Greg Kroah-Hartman commit cc18071068f518c3c01616d7900de3b77252ccdf Author: Pekka Enberg Date: Thu Oct 30 16:14:35 2008 +0200 Staging: w35und: move struct wbsoft_priv to core.h and use it This patch removes my_adapter global variable from wbusb.c by adding a ->adapter member to struct wbsoft_priv. Acked-by: Pavel Machek Signed-off-by: Pekka Enberg Signed-off-by: Greg Kroah-Hartman commit 9ce922fde7fb44a8690aa37d3c7f4f0cf5d921ca Author: Pekka Enberg Date: Thu Oct 30 13:05:42 2008 +0200 Staging: w35und: move source files to one directory As we're trying to get rid of the "compatability layer" in the driver, move everything under one directory. Keeping some of the files under drivers/staging/winbond/linux is a major pain in the ass whenever you're cleaning up the driver. Acked-by: Pavel Machek Signed-off-by: Pekka Enberg Signed-off-by: Greg Kroah-Hartman commit 8421513d9ab4e510136d0b3042bd838d08129012 Author: Pekka Enberg Date: Thu Oct 30 13:04:58 2008 +0200 Staging: w35und: remove some dead code This patch removes the WBLinux_ReceivePacket(), WBLINUX_GetNextPacket(), WBLINUX_GetNextPacketCompleted, and sme_get_rssi() functions, which execute BUG() unconditionally, and related dead code. Acked-by: Pavel Machek Signed-off-by: Pekka Enberg Signed-off-by: Greg Kroah-Hartman commit 80aba53616a5f2f97adf386a2a3ccd5fb0dbfdd6 Author: Pekka Enberg Date: Thu Oct 30 13:04:29 2008 +0200 Staging: w35und: #include cleanup This patch moves #includes from sysdef.h and common.h to the files which actually need them. This makes the dependencies less complex and allows us to move code around much easily. Acked-by: Pavel Machek Signed-off-by: Pekka Enberg commit 8971280fb21354b118956bed506f79a515759410 Author: Pekka Enberg Date: Wed Oct 29 20:12:08 2008 +0200 Staging: w35und: remove unused link status code The WBLINUX_ConnectStatus() and related code is not used anywhere so remove them from the driver. Acked-by: Pavel Machek Signed-off-by: Pekka Enberg Signed-off-by: Greg Kroah-Hartman commit 350e858868f4910c70d2380a33adc828690b7252 Author: Pekka Enberg Date: Wed Oct 29 20:11:49 2008 +0200 Staging: w35und: remove unused macros from common.h The macros are not used anywhere so remove them from driver code. Acked-by: Pavel Machek Signed-off-by: Pekka Enberg Signed-off-by: Greg Kroah-Hartman commit 4460a0b4d5d9e0b5695365a1a5815e0f4981e01e Author: Pekka Enberg Date: Wed Oct 29 20:11:13 2008 +0200 Staging: w35und: remove abs() and BIT() macros We can use the kernel built-in abs() and BIT() macros the just fine. Acked-by: Pavel Machek Signed-off-by: Pekka Enberg Signed-off-by: Greg Kroah-Hartman commit fc68c7efea279b066bd5f7cc7413099a6b22bbec Author: Pekka Enberg Date: Wed Oct 29 20:10:55 2008 +0200 Staging: w35und: remove memcpy/memcmp wrappers The OS_MEMORY_CLEAR macro is not used so remove it. Also convert the one call-site that uses OS_MEMORY_COMPARE to use memcmp() directly and remove the wrapper macro. Acked-by: Pavel Machek Signed-off-by: Pekka Enberg Signed-off-by: Greg Kroah-Hartman commit 44e8541c5e14b40a773e830df339eddbcd0cb7ec Author: Pekka Enberg Date: Wed Oct 29 20:10:32 2008 +0200 Staging: w35und: remove atomic op wrappers Use the kernel provided atomic op functions and remove the OS_ATOMIC and related wrapper macros. Acked-by: Pavel Machek Signed-off-by: Pekka Enberg Signed-off-by: Greg Kroah-Hartman commit deee7c8164e62690aefefb3503bc4c4672b3e020 Author: Pekka Enberg Date: Wed Oct 29 20:10:10 2008 +0200 Staging: w35und: remove timer wrappers This patch removes the OS_TIMER and related wrappers from driver code. The patch also changes the code to use msecs_to_jiffies() for setting up timer->expires. Acked-by: Pavel Machek Signed-off-by: Pekka Enberg Signed-off-by: Greg Kroah-Hartman commit a36e0894bf5e24b2b0660ac3b2891f6e49b46edd Author: Pekka Enberg Date: Tue Oct 28 00:20:03 2008 +0200 Staging: w35und: move supported band initialization out of wb35_probe() This patch moves the static struct ieee80211_supported_band initialization out of w35_probe() because it's really global read-only configuration data. Signed-off-by: Pekka Enberg Acked-by: Pavel Machek Signed-off-by: Greg Kroah-Hartman commit 16d3659fcda922a31873e9e827b12c825b36fd11 Author: Pekka Enberg Date: Tue Oct 28 00:14:38 2008 +0200 Staging: w35und: plug memory leak in wbsoft_tx() There's no reason to duplicate the skb in wbsoft_tx() and leak GFP_ATOMIC memory as the contents are copied to ->TxBuffer in MdxTx() anyway before MLMESendFrame() returns. Signed-off-by: Pekka Enberg Acked-by: Pavel Machek Signed-off-by: Greg Kroah-Hartman commit 3c01ec0d82885d4764d066c9a1e3a431e6fb0f04 Author: Pekka Enberg Date: Tue Oct 28 00:14:14 2008 +0200 Staging: w35und: remove macro magic from MLME_GetNextPacket() This removes the macro magic from MLME_GetNextPacket() to de-obfuscate the code. Signed-off-by: Pekka Enberg Acked-by: Pavel Machek Signed-off-by: Greg Kroah-Hartman commit 4af12e55a5f5e8d0d6d9390a592daa789a181e36 Author: Pekka Enberg Date: Mon Oct 27 23:29:31 2008 +0200 Staging: w35und: usb_put_dev() is missing from wb35_disconnect() The wb35_probe() function does usb_get_dev() so add a missing usb_put_dev() to the wb35_disconnect() function. Also fix error handling paths in wb35_probe() to call usb_put_dev() as well. Signed-off-by: Pekka Enberg Acked-by: Pavel Machek Signed-off-by: Greg Kroah-Hartman commit c8b2b70b4334acbbc4daa445aa21b1fe6d337ac3 Author: Pekka Enberg Date: Mon Oct 27 22:47:12 2008 +0200 Staging: w35und: OS_MEMORY_ALLOC wrapper removal This patch removes the rather scary OS_MEMORY_ALLOC macro. Signed-off-by: Pekka Enberg Acked-by: Pavel Machek Signed-off-by: Greg Kroah-Hartman commit 279b6ccc002f87e1c127f372f73c95d026fd1803 Author: Pekka Enberg Date: Mon Oct 27 22:46:39 2008 +0200 Staging: w35und: remove true/false boolean macros Use the kernel built-in true and false boolean values instead of duplicating them in the driver code. Signed-off-by: Pekka Enberg Acked-by: Pavel Machek Signed-off-by: Greg Kroah-Hartman commit 9ce9ed5d8d71c1aa43ba947944b655e5c164ef54 Author: Pekka Enberg Date: Mon Oct 27 22:44:19 2008 +0200 w35und: remove dead code from wbusb_f.h Remove dead code from wbusb_f.h and move the WbWLanInitialize() definition to wblinux_f.h where it arguably belongs to. As the wbusb_f.h is now empty, we can remove it completely. Signed-off-by: Pekka Enberg Acked-by: Pavel Machek Signed-off-by: Greg Kroah-Hartman commit f3d201886d1b6d47bc357798c50ddf9d2072aa2f Author: Greg Kroah-Hartman Date: Mon Oct 27 14:21:24 2008 -0700 Staging: w35und: remove usb_alloc_urb wrapper function No need for a simple wrapper here. Cc: Pekka Enberg Cc: Pavel Machek Signed-off-by: Greg Kroah-Hartman commit 7c126043801fda48761691f643e1138c2d3ead43 Author: Greg Kroah-Hartman Date: Mon Oct 27 14:21:24 2008 -0700 Staging: w35und: remove usb_submit_urb wrapper function No need for a simple wrapper here. Cc: Pekka Enberg Cc: Pavel Machek Signed-off-by: Greg Kroah-Hartman commit 1523ddc4826155b76614e75375e2bbb27b4603f7 Author: Pekka Enberg Date: Wed Oct 22 11:04:23 2008 +0300 Staging: w35und: wb35_probe() cleanup Fix error handling in wb35_probe() function and clean it up a bit. Signed-off-by: Pekka Enberg Acked-by: Pavel Machek Signed-off-by: Greg Kroah-Hartman commit 581f67cf3c5a4fa533775dd6f50d70f819b48de0 Author: Pekka Enberg Date: Wed Oct 22 11:03:54 2008 +0300 Staging: w35und: merge wblinux struct to adapter Zaps another compatability layer from the driver code. Signed-off-by: Pekka Enberg Acked-by: Pavel Machek Signed-off-by: Greg Kroah-Hartman commit 88ebc4b950e344a8024ab46cccfb506a81f70634 Author: Pekka Enberg Date: Wed Oct 22 11:03:19 2008 +0300 Staging: w35und: padapter struct typedef removal Remove the PADAPTER typedef and its strange variants. Also fix up variable names that use the type while we're at it. Signed-off-by: Pekka Enberg Acked-by: Pavel Machek Signed-off-by: Greg Kroah-Hartman commit 65144de7989badce1782cc3319d9b8b2b5805acc Author: Pekka Enberg Date: Wed Oct 22 11:02:37 2008 +0300 Staging: w35und: wb35reg struct typedef removal This patch removes the WB35REG struct typedefs and fixes up variable names that use the type. Signed-off-by: Pekka Enberg Acked-by: Pavel Machek Signed-off-by: Greg Kroah-Hartman commit f37435ce8611a2c60f434ddfec8e6dfcd51829fc Author: Pekka Enberg Date: Wed Oct 22 11:01:47 2008 +0300 Staging: w35und: reg queue struct typedef removal This patch removes the struct typedefs for reg queues. Signed-off-by: Pekka Enberg Acked-by: Pavel Machek Signed-off-by: Greg Kroah-Hartman commit a55a89b175a1802e89b5654e2b9ae84ed032ea22 Author: Pekka Enberg Date: Wed Oct 22 11:01:16 2008 +0300 Staging: w35und: purb typedef removal This patch removes the struct urb pointer typedef from the driver code and fixes up variable names that use the typedef while we're at it. Signed-off-by: Pekka Enberg Acked-by: Pavel Machek Signed-off-by: Greg Kroah-Hartman commit 3e855b2a08a6b084046050622f0ab044f0850cca Author: Pekka Enberg Date: Wed Oct 22 19:07:26 2008 +0300 Staging: w35und: remove the no-op pa_stall_execution macro The pa_stall_execution() macro doesn't do anything so remove it from driver code. Signed-off-by: Pekka Enberg Acked-by: Pavel Machek Signed-off-by: Greg Kroah-Hartman commit 34222e0a7b7328fab421c5a0926896378a3eb3fd Author: Pekka Enberg Date: Wed Oct 22 19:07:03 2008 +0300 Staging: w35und: use msleep() and udelay() This patch removes the OS_SLEEP() wrapper and changes the call-sites to use msleep() and udelay() where appropriate. Signed-off-by: Pekka Enberg Acked-by: Pavel Machek Signed-off-by: Greg Kroah-Hartman commit 4fc838fe40032240467a1745f8d9a7509d1fc766 Author: Pekka Enberg Date: Wed Oct 22 19:06:13 2008 +0300 Staging: w35und: remove unused wb35_open() and wb35_close() functions The functions are not used anywhere so remove them. Signed-off-by: Pekka Enberg Acked-by: Pavel Machek Signed-off-by: Greg Kroah-Hartman commit 302bae8548bde90bd2e5b4f2171974c1ce7ed30f Author: Pekka Enberg Date: Wed Oct 22 19:05:54 2008 +0300 Staging: w35und: make wb35_probe() and wb35_disconnect() funtions static The wb35_probe() and wb35_disconnect() functions are only used in wbusb.c so make them static and remove them from a header file. Signed-off-by: Pekka Enberg Acked-by: Pavel Machek Signed-off-by: Greg Kroah-Hartman commit a3379572474aad4d113985682971955ad87c8a37 Author: Harvey Harrison Date: Tue Oct 21 20:27:16 2008 -0700 staging: correct dubious use of !x & y Noticed by sparse: drivers/staging/me4000/me4000.c:1213:43: warning: dubious: !x & y drivers/staging/wlan-ng/p80211wext.c:1583:21: warning: dubious: !x & y Signed-off-by: Harvey Harrison Signed-off-by: Greg Kroah-Hartman commit 6e38a2ba79b85966fc09df3eb8f502df5df60c09 Author: F. Duncan M. Haldane Date: Fri Nov 7 18:17:51 2008 -0500 Staging: Kconfig for ARCH=arm,8300, cris The new Kconfig option to build "staging" drivers (code in drivers/staging/) is seen in all except three architectures (arm, h8300, cris), because in these cases arch/$ARCH/Kconfig does NOT source drivers/Kconfig. This patch adds the source "drivers/staging/Kconfig" to arch/$ARCH/Kconfig for these three exceptional cases. Signed-off-by: Duncan Haldane Signed-off-by: Greg Kroah-Hartman commit 60572c0d8b8a5164445b3ebcaa0b15f7935f321a Author: Greg Kroah-Hartman Date: Mon Jan 5 10:21:08 2009 -0800 Staging: go7007: fixes due v4l2_file_operations api change v4l2_file_operations was introduced, so use it to fix up the build errors in the go7007 driver. Signed-off-by: Greg Kroah-Hartman commit 4f7ddec22312926909c03b220c74b0efad4affe8 Author: Greg Kroah-Hartman Date: Mon Jan 5 10:21:08 2009 -0800 Staging: go7007: fixes due to video_usercopy api change video_usercopy() just changed its arguments, so fix up the go7007 driver to properly build. Signed-off-by: Greg Kroah-Hartman commit 3f4528d6e91cffde49894f5252e6657d420d3d74 Author: Sam Ravnborg Date: Tue Jan 6 13:20:38 2009 -0800 sparc64: Fix unsigned long long warnings in drivers. Fix warnings caused by the unsigned long long usage in sparc specific drivers. The drivers were considered sparc specific more or less from the filename alone. Signed-off-by: Sam Ravnborg Signed-off-by: Andrew Morton Signed-off-by: David S. Miller commit 9018113649348c689da107166c05d436cd52e7bf Author: Sam Ravnborg Date: Tue Jan 6 13:19:28 2009 -0800 sparc64: Use unsigned long long for u64. Andrew Morton wrote: People keep on doing printk("%llu", some_u64); testing it only on x86_64 and this generates a warning storm on powerpc, sparc64, etc. Because they use `long', not `long long'. Quite a few 64-bit architectures are using `long' for their s64/u64 types. We should convert them all to `long long'. Update types.h so we use unsigned long long for u64 and fix all warnings in sparc64 code. Tested with an allnoconfig, defconfig and allmodconfig builds. This patch introduces additional warnings in several drivers. These will be dealt with in separate patches. Signed-off-by: Sam Ravnborg Signed-off-by: Andrew Morton Signed-off-by: David S. Miller commit 0157141ae29d7a0998b9f040e577895980430d89 Author: Sam Ravnborg Date: Tue Jan 6 12:52:41 2009 -0800 sparc: refactor code in fault_32.c The sparc allmodconfig build broke due to enabling of the branch_tracer that does some very clever things with all if conditions. This caused my gcc 3.4.5 to be so confused that it emitted a warning: arch/sparc/mm/fault_32.c: In function `do_sparc_fault': arch/sparc/mm/fault_32.c:176: warning: 'fixup' might be used uninitialized in this function And with -Werror this broke the build. Refactor code so it: 1) becomes more readable 2) no longer emit a warning with the branch_tracer enabled Signed-off-by: Sam Ravnborg Signed-off-by: David S. Miller commit ff9aefbf4dab2c631a90f0319dfb316c6769d5a4 Author: Sam Ravnborg Date: Tue Jan 6 12:51:26 2009 -0800 sparc64: refactor code in init_64.c The sparc64 allmodconfig build broke due to enabling of the branch_tracer that does some very clever things with all if conditions. This caused my gcc 3.4.5 to be so confused that it emitted two warnings: arch/sparc/mm/init_64.c: In function `update_mmu_cache': arch/sparc/mm/init_64.c:271: warning: 'pg_flags' might be used uninitialized in this function arch/sparc/mm/init_64.c:272: warning: 'page' might be used uninitialized in this function And with -Werror this broke the build. Refactor code so it: 1) becomes more readable 2) no longer emit a warning with the branch_tracer enabled The refactoring uses a small helper function (flush_dcache()). Signed-off-by: Sam Ravnborg Signed-off-by: David S. Miller commit 2eac5a0d3a84acd267ff7aac5b45c020bfcb158c Author: Sam Ravnborg Date: Tue Jan 6 12:46:46 2009 -0800 sparc64: refactor code in viohs.c The sparc64 allmodconfig build broke due to enabling of the branch_tracer that does some very clever things with all if conditions. This caused my gcc 3.4.5 to be so confused that it emitted a warning: arch/sparc/kernel/viohs.c: In function `vio_control_pkt_engine': arch/sparc/kernel/viohs.c:335: warning: 'nver' might be used uninitialized in this function And with -Werror this broke the build. Refactor code so it: 1) becomes more readable 2) no longer emit a warning with the branch_tracer enabled Signed-off-by: Sam Ravnborg Signed-off-by: David S. Miller commit 4b905671d2ea09fd48fed72c581df17e40823f39 Author: Jan Kara Date: Tue Jan 6 14:53:35 2009 -0500 jbd2: Fix oops in jbd2_journal_init_inode() on corrupted fs On 32-bit system with CONFIG_LBD getblk can fail because provided block number is too big. Add error checks so we fail gracefully if getblk() returns NULL (which can also happen on memory allocation failures). Thanks to David Maciejak from Fortinet's FortiGuard Global Security Research Team for reporting this bug. http://bugzilla.kernel.org/show_bug.cgi?id=12370 Signed-off-by: Jan Kara Signed-off-by: "Theodore Ts'o" cc: stable@kernel.org commit 83982b6f47201c4c7767210d24d7d8c99567a0b3 Author: Theodore Ts'o Date: Tue Jan 6 14:53:16 2009 -0500 ext4: Remove "extents" mount option This mount option is largely superfluous, and in fact the way it was implemented was buggy; if a filesystem which did not have the extents feature flag was mounted -o extents, the filesystem would attempt to create and use extents-based file even though the extents feature flag was not eabled. The simplest thing to do is to nuke the mount option entirely. It's not all that useful to force the non-creation of new extent-based files if the filesystem can support it. Signed-off-by: "Theodore Ts'o" commit 4d783b093cd4f3e2738527365979cbd1c5101065 Author: Theodore Ts'o Date: Tue Jan 6 15:16:33 2009 -0500 block: Add Kconfig help which notes that ext4 needs CONFIG_LBD Signed-off-by: "Theodore Ts'o" Cc: Jens Axboe commit 1fa17d4ba43d7e5aab5e90777b07da06524f6748 Author: Oliver Hartkopp Date: Tue Jan 6 11:07:54 2009 -0800 can: omit unneeded skb_clone() calls The AF_CAN core delivered always cloned sk_buffs to the AF_CAN protocols, although this was _only_ needed by the can-raw protocol. With this (additionally documented) change, the AF_CAN core calls the callback functions of the registered AF_CAN protocols with the original (uncloned) sk_buff pointer and let's the can-raw protocol do the skb_clone() itself which omits all unneeded skb_clone() calls for other AF_CAN protocols. Signed-off-by: Oliver Hartkopp Signed-off-by: Urs Thuermann Signed-off-by: David S. Miller commit 98658bc9dc37cfb7c3bf5585ca73ce44aeb05c9e Author: Wu Fengguang Date: Tue Jan 6 10:56:07 2009 -0800 dm9601: bring datasheet URL up to date Signed-off-by: Wu Fengguang Signed-off-by: Peter Korsgaard Signed-off-by: David S. Miller commit 20f10aa07d8d4d43ae8e129c39a84e1670b0d5ab Author: Wu Fengguang Date: Tue Jan 6 10:55:10 2009 -0800 dm9601: handle corrupt mac address Some cheap devices ship with dangling EEPROM pins! They always return invalid address ff:ff:ff:ff:ff:ff. Inherit the auto-generated address in this case, so that these products can work with zero configuration. Signed-off-by: Wu Fengguang Signed-off-by: Peter Korsgaard Signed-off-by: David S. Miller commit e1c096e251e52773afeffbbcb74d0a072be47ea3 Author: Herbert Xu Date: Tue Jan 6 10:50:09 2009 -0800 vlan: Add GRO interfaces This patch adds GRO interfaces for hardware-assisted VLAN reception. With this in place we're now at parity with LRO as far as the interface is concerned. That is, you can now take any LRO driver and convert it over to GRO. As the CB memory clashes with GRO's use of CB, I've removed it entirely by storing dev in skb->dev. This is OK because VLAN gets called first thing in netif_receive_skb and skb->dev is not used in between us calling netif_rx and netif_receive_skb getting called. Signed-off-by: Herbert Xu Signed-off-by: David S. Miller commit 96e93eab20337d063c70d537bd7bc70d90e04fa3 Author: Herbert Xu Date: Tue Jan 6 10:49:34 2009 -0800 gro: Add internal interfaces for VLAN Previously GRO's only entry point from the outside is through napi_gro_receive and napi_gro_frags. These interfaces are for device drivers. This patch rearranges things to provide a new set of interfaces for VLANs. These interfaces are for internal use only. The VLAN code itself can then provide a set of entry points for device drivers. Signed-off-by: Herbert Xu Signed-off-by: David S. Miller commit ff5bfc3584efdadf826a21bc76ef42bdfcf3f612 Author: Stephen Rothwell Date: Tue Jan 6 10:47:44 2009 -0800 ibmveth: use consistent types These variables are only used with an interface that just dumps their values into registers to be passed to the hypervisor. The arguments to that interface are declared to be "unsigned long", so make these variables match. The macros are only used with these variables, so make them match as well. This code is currently only built for 64bit powerpc, so the transformation is really a noop. If the interface was ever ported to 32 bit, it would almost certainly still use registers to pass the parameters and so "unsigned long" would still be appropriate. Signed-off-by: Stephen Rothwell Signed-off-by: David S. Miller commit 8be35bdeb2969b6dcb9a2e4f756e193325c4db33 Author: Stephen Rothwell Date: Tue Jan 6 10:47:16 2009 -0800 net/ehea: use consistant type ehea_plpar_hcall9() takes an "unsigned long" array to return its results, so change the arrays we pass to it to match. This is currently only 64 bit code, so the transformation is actually a noop, but because ehea_plpar_hcall9() copies the values of registers into the array, if this was ported to a 32 bit hypervisor interface "unsigned long" would probably still be the correct type. Signed-off-by: Stephen Rothwell Signed-off-by: David S. Miller commit 61294e2e2730f24b833d9a713add5f4f6672c2a4 Author: Stephen Hemminger Date: Tue Jan 6 10:45:57 2009 -0800 sch_teql: convert to net_device_ops Convert this driver to net_device_ops. Signed-off-by: Stephen Hemminger Signed-off-by: David S. Miller commit 0a0b9d2edc3d7b56386dd980f7d17eaaad15cf6a Author: Stephen Hemminger Date: Tue Jan 6 10:44:55 2009 -0800 xen-netfront: convert to net_device_ops Convert Xen device to new API. Signed-off-by: Stephen Hemminger Signed-off-by: David S. Miller commit b8ac9fc0e8cda9f9776019c5b0464b0c6d2d4c90 Author: Stephen Rothwell Date: Fri Dec 12 11:44:21 2008 +0100 uio: make uio_info's name and version const These are only ever assigned constant strings and never modified. This was noticed because Wolfram Sang needed to cast the result of of_get_property() in order to assign it to the name field of a struct uio_info. Signed-off-by: Stephen Rothwell Signed-off-by: Hans J. Koch Signed-off-by: Greg Kroah-Hartman commit a2ab3d30005cdce45c2c7e31ad6743ad7975609a Author: Hans J. Koch Date: Sat Dec 6 02:25:13 2008 +0100 UIO: Documentation for UIO ioport info handling This patch updates UIO documentation with the changes introduced by previous UIO patch. Signed-off-by: Hans J. Koch Signed-off-by: Greg Kroah-Hartman commit e70c412ee45332db2636a8f5a35a0685efb0e4aa Author: Hans J. Koch Date: Sat Dec 6 02:23:13 2008 +0100 UIO: Pass information about ioports to userspace (V2) Devices sometimes have memory where all or parts of it can not be mapped to userspace. But it might still be possible to access this memory from userspace by other means. An example are PCI cards that advertise not only mappable memory but also ioport ranges. On x86 architectures, these can be accessed with ioperm, iopl, inb, outb, and friends. Mike Frysinger (CCed) reported a similar problem on Blackfin arch where it doesn't seem to be easy to mmap non-cached memory but it can still be accessed from userspace. This patch allows kernel drivers to pass information about such ports to userspace. Similar to the existing mem[] array, it adds a port[] array to struct uio_info. Each port range is described by start, size, and porttype. If a driver fills in at least one such port range, the UIO core will simply pass this information to userspace by creating a new directory "portio" underneath /sys/class/uio/uioN/. Similar to the "mem" directory, it will contain a subdirectory (portX) for each port range given. Note that UIO simply passes this information to userspace, it performs no action whatsoever with this data. It's userspace's responsibility to obtain access to these ports and to solve arch dependent issues. The "porttype" attribute tells userspace what kind of port it is dealing with. This mechanism could also be used to give userspace information about GPIOs related to a device. You frequently find such hardware in embedded devices, so I added a UIO_PORT_GPIO definition. I'm not really sure if this is a good idea since there are other solutions to this problem, but it won't hurt much anyway. Signed-off-by: Hans J. Koch Signed-off-by: Greg Kroah-Hartman commit e543ae896626a54c0c05e3c434312d6d033d450c Author: Mike Frysinger Date: Wed Oct 29 18:35:52 2008 -0400 UIO: uio_pdrv_genirq: allow custom irq_flags I can't think of a reason why the driver prevents people from setting any custom bits in their platform device, but I can think of some reasons for allowing custom flags. Like setting the IRQF_TRIGGER_... bits. Signed-off-by: Mike Frysinger Signed-off-by: Hans J. Koch Signed-off-by: Greg Kroah-Hartman commit 7898aa5c39d159684dad15bab1150b8e77c7aed6 Author: Arjan van de Ven Date: Tue Oct 21 11:17:51 2008 +0200 UIO: use pci_ioremap_bar() in drivers/uio Use the newly introduced pci_ioremap_bar() function in drivers/uio. pci_ioremap_bar() just takes a pci device and a bar number, with the goal of making it really hard to get wrong, while also having a central place to stick sanity checks. Signed-off-by: Arjan van de Ven Signed-off-by: Hans J. Koch Signed-off-by: Greg Kroah-Hartman commit 1d559e29138834bbcdf34ac072232bf543bfc4e0 Author: Kay Sievers Date: Tue Jan 6 10:44:43 2009 -0800 arm: struct device - replace bus_id with dev_name(), dev_set_name() Cc: Russell King Signed-off-by: Kay Sievers Signed-off-by: Greg Kroah-Hartman commit b9d5fc41dc2e93867a92a030d3beb0bdab7fde37 Author: Kay Sievers Date: Tue Jan 6 10:44:43 2009 -0800 libata: struct device - replace bus_id with dev_name(), dev_set_name() Cc: Jeff Garzik Cc: Tejun Heo Signed-off-by: Kay Sievers Signed-off-by: Greg Kroah-Hartman commit 169539c8720883202e67a3042eaa7facd6188dcf Author: Kay Sievers Date: Tue Jan 6 10:44:43 2009 -0800 avr: struct device - replace bus_id with dev_name(), dev_set_name() Cc: Haavard Skinnemoen Signed-off-by: Kay Sievers Signed-off-by: Greg Kroah-Hartman commit 3ada8b7e980dac7cc42937d42d90ee51b19204fe Author: Kay Sievers Date: Tue Jan 6 10:44:43 2009 -0800 block: struct device - replace bus_id with dev_name(), dev_set_name() Cc: Jens Axboe Signed-off-by: Kay Sievers Signed-off-by: Greg Kroah-Hartman commit 4383fc3d9a98759a1ec3c57a30781e95a4cfcfa9 Author: Kay Sievers Date: Tue Jan 6 10:44:42 2009 -0800 chris: struct device - replace bus_id with dev_name(), dev_set_name() Cc: Jesper Nilsson Signed-off-by: Kay Sievers Signed-off-by: Greg Kroah-Hartman commit 6ff4dd36d6386f6fb3e1e4eac56f0d22d59a1d5c Author: Kay Sievers Date: Tue Jan 6 10:44:42 2009 -0800 dmi: struct device - replace bus_id with dev_name(), dev_set_name() CC: Lennart Poettering Signed-off-by: Kay Sievers Signed-off-by: Greg Kroah-Hartman commit c682b17060788ace1abaeb080358ef7b62b1f541 Author: Kay Sievers Date: Tue Jan 6 10:44:42 2009 -0800 gadget: struct device - replace bus_id with dev_name(), dev_set_name() Signed-off-by: Kay Sievers Signed-off-by: Greg Kroah-Hartman commit 14ab309d33efda7b78bad1d331fd1963ed3bd906 Author: Kay Sievers Date: Tue Jan 6 10:44:42 2009 -0800 gpio: struct device - replace bus_id with dev_name(), dev_set_name() Signed-off-by: Kay Sievers Signed-off-by: Greg Kroah-Hartman commit 8f4bbd9f59a6ec0d96ae374ea2a46bfa90cc26e4 Author: Kay Sievers Date: Tue Jan 6 10:44:41 2009 -0800 gpu: struct device - replace bus_id with dev_name(), dev_set_name() CC: Dave Airlie Signed-off-by: Kay Sievers Signed-off-by: Greg Kroah-Hartman commit 739cf3a2691951a2d68baa275201a7e931fd50e9 Author: Kay Sievers Date: Tue Jan 6 10:44:41 2009 -0800 hwmon: struct device - replace bus_id with dev_name(), dev_set_name() Signed-off-by: Kay Sievers Signed-off-by: Greg Kroah-Hartman commit cd3ed6b4dd9e20aacaa5bd957ce1a65c90a0cbc4 Author: Kay Sievers Date: Tue Jan 6 10:44:40 2009 -0800 i2o: struct device - replace bus_id with dev_name(), dev_set_name() Signed-off-by: Kay Sievers Signed-off-by: Greg Kroah-Hartman commit 48ef2bb46ce8c2725a171d3afdb0d3563ef2c278 Author: Kay Sievers Date: Tue Jan 6 10:44:40 2009 -0800 IA64: struct device - replace bus_id with dev_name(), dev_set_name() Cc: Tony Luck Signed-off-by: Kay Sievers Signed-off-by: Greg Kroah-Hartman commit 24f81a7047fd3945a551699208bf7851c7de3139 Author: Kay Sievers Date: Tue Jan 6 10:44:39 2009 -0800 i7300_idle: struct device - replace bus_id with dev_name(), dev_set_name() CC: Andy Henroid Signed-off-by: Kay Sievers Signed-off-by: Greg Kroah-Hartman commit d927e38c6c1859494792547beee249c17b43a17e Author: Kay Sievers Date: Tue Jan 6 10:44:39 2009 -0800 infiniband: struct device - replace bus_id with dev_name(), dev_set_name() Acked-by: Roland Dreier Signed-off-by: Kay Sievers Signed-off-by: Greg Kroah-Hartman commit 0162f3822c08a2d7021faa6fe93391e7df585856 Author: Kay Sievers Date: Tue Jan 6 10:44:39 2009 -0800 ISDN: struct device - replace bus_id with dev_name(), dev_set_name() CC: Karsten Keil Signed-off-by: Kay Sievers Signed-off-by: Greg Kroah-Hartman commit 81ff86a11f54c9e266c6a6bc3ecd2c9a0f1e11cc Author: Kay Sievers Date: Tue Jan 6 10:44:39 2009 -0800 pm: struct device - replace bus_id with dev_name(), dev_set_name() Signed-off-by: Kay Sievers Signed-off-by: Greg Kroah-Hartman commit 1d7e6cca1dfd167e5f1e2a7c53119b0c80c90c35 Author: Kay Sievers Date: Tue Jan 6 10:44:39 2009 -0800 macintosh: struct device - replace bus_id with dev_name(), dev_set_name() Signed-off-by: Kay Sievers Signed-off-by: Greg Kroah-Hartman commit 0252c3b4f0188ceb9ce48a340e6bfd17ab28afa7 Author: Kay Sievers Date: Tue Jan 6 10:44:38 2009 -0800 memstick: struct device - replace bus_id with dev_name(), dev_set_name() Cc: Alex Dubov Signed-off-by: Kay Sievers Signed-off-by: Greg Kroah-Hartman commit 1bb5beb49f8f32c5293cae0695db2492804772a3 Author: Kay Sievers Date: Tue Jan 6 10:44:38 2009 -0800 mips: struct device - replace bus_id with dev_name(), dev_set_name() Cc: Ralf Baechle Signed-off-by: Kay Sievers Signed-off-by: Greg Kroah-Hartman commit 475b44c19913b877537c8bc19799f75b0b142641 Author: Kay Sievers Date: Tue Jan 6 10:44:38 2009 -0800 mtd: struct device - replace bus_id with dev_name(), dev_set_name() CC: David Woodhouse Signed-off-by: Kay Sievers Signed-off-by: Greg Kroah-Hartman commit 24d254759dc4eb59b47317790c05569f732a2577 Author: Kay Sievers Date: Tue Jan 6 10:44:38 2009 -0800 mwave: struct device - replace bus_id with dev_name(), dev_set_name() Signed-off-by: Kay Sievers Signed-off-by: Greg Kroah-Hartman commit c85e37c51e7feecbe758e16ecaaa55cea1682e47 Author: Kay Sievers Date: Tue Jan 6 10:44:38 2009 -0800 pnp: struct device - replace bus_id with dev_name(), dev_set_name() Signed-off-by: Kay Sievers Signed-off-by: Greg Kroah-Hartman commit ba88b0029fcdc39d23acd4d0e64b38145ffa4d5f Author: Kay Sievers Date: Tue Jan 6 10:44:38 2009 -0800 power-supply: struct device - replace bus_id with dev_name(), dev_set_name() CC: Anton Vorontsov Signed-off-by: Kay Sievers Signed-off-by: Greg Kroah-Hartman commit 4bfe090b0a29258eeeb026a09a96cf5b5838ac63 Author: Kay Sievers Date: Tue Jan 6 10:44:37 2009 -0800 serial: struct device - replace bus_id with dev_name(), dev_set_name() Signed-off-by: Kay Sievers Signed-off-by: Greg Kroah-Hartman commit bb0dc43eeeea6a3ace7fae42e583a9be176eb1f9 Author: Kay Sievers Date: Tue Jan 6 10:44:37 2009 -0800 SGI: struct device - replace bus_id with dev_name(), dev_set_name() CC: Jack Steiner Signed-off-by: Kay Sievers Signed-off-by: Greg Kroah-Hartman commit 35f74fcab1228be03eab5f4d21ddc89fca1bc5b8 Author: Kay Sievers Date: Tue Jan 6 10:44:37 2009 -0800 spi: struct device - replace bus_id with dev_name(), dev_set_name() Acked-by: David Brownell Signed-off-by: Kay Sievers Signed-off-by: Greg Kroah-Hartman commit 94b324864ef2a8e461f3933ab99638255299e9f0 Author: Kay Sievers Date: Tue Jan 6 10:44:37 2009 -0800 swiotlb: struct device - replace bus_id with dev_name(), dev_set_name() Signed-off-by: Kay Sievers Signed-off-by: Greg Kroah-Hartman commit 354655ea9714e5b0e8d23c90a5382986815687e0 Author: Kay Sievers Date: Tue Jan 6 10:44:37 2009 -0800 thermal: struct device - replace bus_id with dev_name(), dev_set_name() Signed-off-by: Kay Sievers Signed-off-by: Greg Kroah-Hartman commit 0bad16aa081002c290d4b424bc019d890cab8796 Author: Kay Sievers Date: Tue Jan 6 10:44:35 2009 -0800 tifm: struct device - replace bus_id with dev_name(), dev_set_name() Signed-off-by: Kay Sievers Signed-off-by: Greg Kroah-Hartman commit 64dba9a9a33ec9ba00b0a504562d9f692ae89884 Author: Kay Sievers Date: Tue Jan 6 10:44:35 2009 -0800 video: struct device - replace bus_id with dev_name(), dev_set_name() Signed-off-by: Kay Sievers Signed-off-by: Greg Kroah-Hartman commit 40f91de6a1d65a2d0ce8bc296ed0a2d53d63c845 Author: Kay Sievers Date: Tue Jan 6 10:44:34 2009 -0800 w1: struct device - replace bus_id with dev_name(), dev_set_name() CC: Evgeniy Polyakov Signed-off-by: Kay Sievers Signed-off-by: Greg Kroah-Hartman commit 2a678cc53977c97aaf666c338f6312b7bbd3406d Author: Kay Sievers Date: Tue Jan 6 10:44:34 2009 -0800 xen: struct device - replace bus_id with dev_name(), dev_set_name() CC: Jeremy Fitzhardinge Signed-off-by: Kay Sievers Signed-off-by: Greg Kroah-Hartman commit 035da16fb529c0383ac27c712a5bbade5c11cafe Author: Mark McLoughlin Date: Mon Dec 15 12:58:29 2008 +0000 s390: remove s390_root_dev_*() Replace s390_root_dev_register() with root_device_register() etc. [Includes fix from Cornelia Huck] Signed-off-by: Mark McLoughlin Cc: Cornelia Huck Signed-off-by: Greg Kroah-Hartman commit ff8561c4ad09ca38c866436c9d67df2309b7dd40 Author: Mark McLoughlin Date: Mon Dec 15 12:58:28 2008 +0000 lguest: do not statically allocate root device We shouldn't be statically allocating the root device object, so dynamically allocate it using root_device_register() instead. Signed-off-by: Mark McLoughlin Acked-by: Rusty Russell Signed-off-by: Greg Kroah-Hartman commit 63d12556703f17817a46e140704360b29b851bad Author: Mark McLoughlin Date: Mon Dec 15 12:58:27 2008 +0000 virtio: do not statically allocate root device We shouldn't be statically allocating the root device object, so dynamically allocate it using root_device_register() instead. Also avoids this warning from 'rmmod virtio_pci': Device 'virtio-pci' does not have a release() function, it is broken and must be fixed Signed-off-by: Mark McLoughlin Cc: Anthony Liguori Acked-by: Rusty Russell Signed-off-by: Greg Kroah-Hartman commit 0aa0dc41bfd993491c2344870eee7a3b218551fb Author: Mark McLoughlin Date: Mon Dec 15 12:58:26 2008 +0000 driver core: add root_device_register() Add support for allocating root device objects which group device objects under /sys/devices directories. Also add a sysfs 'module' symlink which points to the owner of the root device object. This symlink will be used in virtio to allow userspace to determine which virtio bus implementation a given device is associated with. [Includes suggestions from Cornelia Huck] Signed-off-by: Mark McLoughlin Signed-off-by: Greg Kroah-Hartman commit 7232800ba8aca1c070d43a81cc49991f230b5da1 Author: Ming Lei Date: Wed Dec 17 23:15:35 2008 +0800 driver core:fix duplicate removing driver link in __device_release_driver In __device_release_driver(),driver_sysfs_remove() has removed the driver link under device dir in sysfs, but sysfs_remove_link() is called again to do such thing. Remove the duplicate call to sys_remove_link(). Signed-off-by: Ming Lei Signed-off-by: Greg Kroah-Hartman commit ec0676ee28528dc8dda13a93ee4b1f215a0c2f9d Author: Alan Stern Date: Fri Dec 5 14:10:31 2008 -0500 Driver core: move the bus notifier call points This patch (as1184) changes the location of the notifications in device_add() and device_del(). Now the BUS_NOTIFY_ADD_DEVICE message is sent after dpm_sysfs_add(), which is necessary for clients that want to add attributes to the power/ subdirectory. The BUS_NOTIFY_DEL_DEVICE message is correspondingly moved before dpm_sysfs_remove(). Signed-off-by: Alan Stern Cc: Kay Sievers Signed-off-by: Greg Kroah-Hartman commit d0d85ff989222f08dd1fa66321fef5567bbc4a7b Author: Cornelia Huck Date: Thu Dec 4 16:55:47 2008 +0100 Make DEBUG take precedence over DYNAMIC_PRINTK_DEBUG Statically defined DEBUG should take precedence over dynamically enabled debugging; otherwise adding DEBUG (like, for example, via CONFIG_DEBUG_KOBJECT) does not have the expected result of printing pr_debug() and dev_dbg() messages unconditionally. Signed-off-by: Cornelia Huck Acked-by: Jason Baron Signed-off-by: Greg Kroah-Hartman commit b9daa99ee533578e3f88231e7a16784dcb44ec42 Author: Greg Kroah-Hartman Date: Tue Dec 16 12:26:21 2008 -0800 driver core: move knode_bus into private structure Nothing outside of the driver core should ever touch knode_bus, so move it out of the public eye. Cc: Kay Sievers Signed-off-by: Greg Kroah-Hartman commit 93e746db183b3bdbbda67900f79b5835f9cb388f Author: Greg Kroah-Hartman Date: Tue Dec 16 12:25:49 2008 -0800 driver core: move knode_driver into private structure Nothing outside of the driver core should ever touch knode_driver, so move it out of the public eye. Cc: Kay Sievers Signed-off-by: Greg Kroah-Hartman commit 11c3b5c3e08f4d855cbef52883c266b9ab9df879 Author: Greg Kroah-Hartman Date: Tue Dec 16 12:24:56 2008 -0800 driver core: move klist_children into private structure Nothing outside of the driver core should ever touch klist_children, or knode_parent, so move them out of the public eye. Cc: Kay Sievers Signed-off-by: Greg Kroah-Hartman commit 2831fe6f9cc4e16c103504ee09a47a084297c0f3 Author: Greg Kroah-Hartman Date: Tue Dec 16 12:23:36 2008 -0800 driver core: create a private portion of struct device This is to be used to move things out of struct device that no code outside of the driver core should ever touch. Cc: Kay Sievers Signed-off-by: Greg Kroah-Hartman commit 2e5ba26a483218b51b7b327fb235b348890aea15 Author: Wu Fengguang Date: Thu Dec 11 07:43:17 2008 +0800 dynamic_printk: reduce one level of indentation Cleanup pr_debug_write() to reduce one level of indentation. Cc: Marcel Holtmann Acked-by: Jason Baron Signed-off-by: Wu Fengguang Signed-off-by: Greg Kroah-Hartman commit 0732b49c8c40c56033cff8986dbad55aa54a5d40 Author: Rusty Russell Date: Tue Dec 9 08:32:14 2008 +1030 kobject: Make Documentation/kobject.txt a little more coherent. While reading Documentation/kobject.txt: Note kobject_rename does perform any locking or have a solid notion of what names are valid so the provide must provide their own sanity checking and serialization. I expect better: You never see me hard with time word making sentence coherent stuff. Ever. Signed-off-by: Rusty Russell Acked-by: Eric W. Biederman Signed-off-by: Greg Kroah-Hartman commit 355a72d75b3b4f4877db4c9070c798238028ecb5 Author: Rafael J. Wysocki Date: Mon Dec 8 00:34:57 2008 +0100 PCI: Rework default handling of suspend and resume Rework the handling of suspend and resume of PCI devices which have no drivers or the drivers of which do not provide any suspend-resume callbacks in such a way that their standard PCI configuration registers will be saved and restored with interrupts disabled. This should prevent such devices, including PCI bridges, from being resumed too late to be able to function correctly during the resume of the other PCI devices that may depend on them. Also, to remove one possible source of future confusion, drop the default handling of suspend and resume for PCI devices with drivers providing the 'pm' object introduced by the new suspend-resume framework (there are no such PCI drivers at the moment). This patch addresses the regression from 2.6.26 tracked as http://bugzilla.kernel.org/show_bug.cgi?id=12121 . Signed-off-by: Rafael J. Wysocki Cc: Jesse Barnes Signed-off-by: Greg Kroah-Hartman commit cd3772e6898c6386f21d2958346d6dd57d4204f5 Author: Ming Lei Date: Sun Nov 16 18:22:09 2008 +0800 kernel/ksysfs.c:fix dependence on CONFIG_NET Access to uevent_seqnum and uevent_helper does not need to depend on CONFIG_NET, so remove it. Signed-off-by: Ming Lei Cc: Kay Sievers Signed-off-by: Greg Kroah-Hartman commit e0d7bf5d580c20ff14d0200b6ab47bc77f99b152 Author: Ming Lei Date: Sun Nov 16 18:23:27 2008 +0800 kobject: return the result of uevent sending by netlink We need to return the result of uevent sending by netlink to caller, when uevent_helper is disabled and CONFIG_NET is defined. Signed-off-by: Ming Lei Cc: Kay Sievers Signed-off-by: Greg Kroah-Hartman commit c65b9145f40da99cad000f81823265dc70e5fcf9 Author: Tejun Heo Date: Thu Nov 13 13:20:00 2008 +0900 uevent: don't pass envp_ext[] as format string in kobject_uevent_env() kobject_uevent_env() uses envp_ext[] as verbatim format string which can cause problems ranging from unexpectedly mangled string to oops if a string in envp_ext[] contains substring which can be interpreted as format. Fix it. Signed-off-by: Tejun Heo Cc: Kay Sievers Signed-off-by: Greg Kroah-Hartman commit fce3e804cfad49208fd2ff9db4bcb57481409e1d Author: Kay Sievers Date: Sat Nov 1 14:03:00 2008 +0100 sysfs: clarify SYSFS_DEPRECATED help text This should make the help text of SYSFS_DEPRECATED more clear, that this is _not_ about (what some people think it is) suppressing a few symlinks and variables, but a different sysfs _layout_ with new features. Signed-off-by: Kay Sievers Signed-off-by: Greg Kroah-Hartman commit 1e0b2cf933ebf32494eba3f668859ba57f06a951 Author: Kay Sievers Date: Thu Oct 30 01:36:48 2008 +0100 driver core: struct device - replace bus_id with dev_name(), dev_set_name() Signed-off-by: Kay Sievers Signed-off-by: Greg Kroah-Hartman commit 210272a28465a7a31bcd580d2f9529f924965aa5 Author: Matthew Wilcox Date: Thu Oct 16 14:57:54 2008 -0600 driver core: Remove completion from struct klist_node Removing the completion from klist_node reduces its size from 64 bytes to 28 on x86-64. To maintain the semantics of klist_remove(), we add a single list of klist nodes which are pending deletion and scan them. Signed-off-by: Matthew Wilcox Signed-off-by: Greg Kroah-Hartman commit 929d2fa5955ab27aa21fac615b23e0e92e8dc3a0 Author: Matthew Wilcox Date: Thu Oct 16 15:51:35 2008 -0600 driver core: Rearrange struct device for better packing This minor rearrangement saves 16 bytes from sizeof(struct device) according to pahole. Signed-off-by: Matthew Wilcox Signed-off-by: Greg Kroah-Hartman commit 7f4f5d4516b441d712fa0ffe5380618fb7fc545e Author: Alan Stern Date: Mon Nov 17 11:14:19 2008 -0500 Fix misspellings in pm.h macros This patch (as1167) fixes some misspellings in various recently-added macros in pm.h. Fortunately these macros are not yet used anywhere. Signed-off-by: Alan Stern Acked-by: Rafael J. Wysocki commit adf094931ffb25ef4b381559918f1a34181a5273 Author: Rafael J. Wysocki Date: Mon Oct 6 22:46:05 2008 +0200 PM: Simplify the new suspend/hibernation framework for devices PM: Simplify the new suspend/hibernation framework for devices Following the discussion at the Kernel Summit, simplify the new device PM framework by merging 'struct pm_ops' and 'struct pm_ext_ops' and removing pointers to 'struct pm_ext_ops' from 'struct platform_driver' and 'struct pci_driver'. After this change, the suspend/hibernation callbacks will only reside in 'struct device_driver' as well as at the bus type/ device class/device type level. Accordingly, PCI and platform device drivers are now expected to put their suspend/hibernation callbacks into the 'struct device_driver' embedded in 'struct pci_driver' or 'struct platform_driver', respectively. Signed-off-by: Rafael J. Wysocki Acked-by: Pavel Machek Cc: Jesse Barnes Signed-off-by: Greg Kroah-Hartman commit 76288b4e573e06318fda65678052cfbde98fed1d Author: Stephen Hemminger Date: Tue Jan 6 10:44:22 2009 -0800 virtio: convert to net_device_ops Signed-off-by: Stephen Hemminger Acked-by: Mark McLoughlin Signed-off-by: David S. Miller commit 148bc4303f9ba972cbfe5d30dfec93ec0d8ff1e1 Author: Stephen Hemminger Date: Tue Jan 6 10:42:24 2009 -0800 wireless: convert wireless ioctl to net_device_ops Signed-off-by: Stephen Hemminger Signed-off-by: David S. Miller commit 53a3294e26c49622daa14c1d8540500f568ded99 Author: Stephen Hemminger Date: Tue Jan 6 10:41:56 2009 -0800 bonding: use net_device_ops Use the correct pointer in debug message. Signed-off-by: Stephen Hemminger Signed-off-by: David S. Miller commit af0490810cfa159b4894ddecfc5eb2e4432fb976 Author: Stephen Hemminger Date: Tue Jan 6 10:40:43 2009 -0800 irda: convert to internal stats Convert IRDA drivers to use already existing net_device_stats structure in network device. This is a pre-cursor to conversion to net_device ops. Compile tested only. Signed-off-by: Stephen Hemminger Signed-off-by: David S. Miller commit b9bdcbba010c2e49c8f837ea7a49fe006b636f41 Author: Dan Williams Date: Tue Jan 6 11:38:22 2009 -0700 ioat: fix self test for multi-channel case In the multiple device case we need to re-arm the completion and protect against concurrent self-tests. The printk from the test callback is removed as it can arbitrarily delay completion of the test. Cc: Cc: Maciej Sosnowski Signed-off-by: Dan Williams commit 652afc27b26859a0ea5f6db681d80b83d2c43cf8 Author: Dan Williams Date: Tue Jan 6 11:38:22 2009 -0700 dmaengine: bump initcall level to arch_initcall There are dmaengine users that would like to register dma devices at subsys_initcall time to ensure channels are available by device_initcall time. Cc: Maciej Sosnowski Cc: Guennadi Liakhovetski Cc: Nicolas Ferre Signed-off-by: Dan Williams commit e2346677af86150c6083974585c131e8a2c3ddcc Author: Dan Williams Date: Tue Jan 6 11:38:21 2009 -0700 dmaengine: advertise all channels on a device to dma_filter_fn Allow dma_filter_fn routines to disambiguate multiple channels on a device rather than assuming that all channels on a device are equal. Cc: Maciej Sosnowski Reported-by: Guennadi Liakhovetski Signed-off-by: Dan Williams commit 864498aaa9fef69ee166da023d12413a7776342d Author: Dan Williams Date: Tue Jan 6 11:38:21 2009 -0700 dmaengine: use idr for registering dma device numbers This brings some predictability to dma device numbers, i.e. an rmmod/insmod cycle may now result in /sys/class/dma/dma0chan0 being restored rather than /sys/class/dma/dma1chan0 appearing. Cc: Maciej Sosnowski Signed-off-by: Dan Williams commit 41d5e59c1299f27983977bcfe3b360600996051c Author: Dan Williams Date: Tue Jan 6 11:38:21 2009 -0700 dmaengine: add a release for dma class devices and dependent infrastructure Resolves: WARNING: at drivers/base/core.c:122 device_release+0x4d/0x52() Device 'dma0chan0' does not have a release() function, it is broken and must be fixed. The dma_chan_dev object is introduced to gear-match sysfs kobject and dmaengine channel lifetimes. When a channel is removed access to the sysfs entries return -ENODEV until the kobject can be released. The bulk of the change is updates to existing code to handle the extra layer of indirection between a dma_chan and its struct device. Reported-by: Alexander Beregalov Acked-by: Stephen Hemminger Cc: Haavard Skinnemoen Signed-off-by: Dan Williams commit 4fac7fa57cf8001be259688468c825f836daf739 Author: Dan Williams Date: Tue Jan 6 11:38:20 2009 -0700 ioat: do not perform removal actions at shutdown Unregistering services should only happen at "remove" time. This prevents the device from being unregistered while dmaengine clients are still active. Also, the comment on ioat_remove is stale since removal is prevented while a channel may be in use. Reported-by: Alexander Beregalov Signed-off-by: Dan Williams commit 630738b9a52bee40cba685f4ff43fbbc28f2e1ff Author: Dan Williams Date: Tue Jan 6 11:38:20 2009 -0700 iop-adma: enable module removal Signed-off-by: Dan Williams commit 0d603f611d6515049fbceb0267ded43c33b95451 Author: Dan Williams Date: Tue Jan 6 11:38:20 2009 -0700 iop-adma: kill debug BUG_ON This BUG_ON caught problems in early development but now it is in the way as it invalidly triggers when trying to remove the module. Signed-off-by: Dan Williams commit f38822033d9eafd8a7b12dd7ad6dea26480ba339 Author: Dan Williams Date: Tue Jan 6 11:38:19 2009 -0700 iop-adma: let devm do its job, don't duplicate free No need to free stuff that the devm infrastructure will take care of... Signed-off-by: Dan Williams commit 7dd602510128d7a64b11ff3b7d4f30ac8e3946ce Author: Dan Williams Date: Tue Jan 6 11:38:19 2009 -0700 dmaengine: kill enum dma_state_client DMA_NAK is now useless. We can just use a bool instead. Reviewed-by: Andrew Morton Signed-off-by: Dan Williams commit f27c580c3628d79b17f38976d842a6d7f3616e2e Author: Dan Williams Date: Tue Jan 6 11:38:18 2009 -0700 dmaengine: remove 'bigref' infrastructure Reference counting is done at the module level so clients need not worry that a channel will leave while they are actively using dmaengine. Reviewed-by: Andrew Morton Signed-off-by: Dan Williams commit aa1e6f1a385eb2b04171ec841f3b760091e4a8ee Author: Dan Williams Date: Tue Jan 6 11:38:17 2009 -0700 dmaengine: kill struct dma_client and supporting infrastructure All users have been converted to either the general-purpose allocator, dma_find_channel, or dma_request_channel. Reviewed-by: Andrew Morton Signed-off-by: Dan Williams commit 209b84a88fe81341b4d8d465acc4a67cb7c3feb3 Author: Dan Williams Date: Tue Jan 6 11:38:17 2009 -0700 dmaengine: replace dma_async_client_register with dmaengine_get Now that clients no longer need to be notified of channel arrival dma_async_client_register can simply increment the dmaengine_ref_count. Reviewed-by: Andrew Morton Signed-off-by: Dan Williams commit 74465b4ff9ac1da503025c0a0042e023bfa6505c Author: Dan Williams Date: Tue Jan 6 11:38:16 2009 -0700 atmel-mci: convert to dma_request_channel and down-level dma_slave dma_request_channel provides an exclusive channel, so we no longer need to pass slave data through dmaengine. Cc: Haavard Skinnemoen Reviewed-by: Andrew Morton Signed-off-by: Dan Williams commit 33df8ca068123457db56c316946a3c0e4ef787d6 Author: Dan Williams Date: Tue Jan 6 11:38:15 2009 -0700 dmatest: convert to dma_request_channel Replace the client registration infrastructure with a custom loop to poll for channels. Once dma_request_channel returns NULL stop asking for channels. A userspace side effect of this change if that loading the dmatest module before loading a dma driver will result in no channels being found, previously dmatest would get a callback. To facilitate testing in the built-in case dmatest_init is marked as a late_initcall. Another side effect is that channels under test can not be used for any other purpose. Cc: Haavard Skinnemoen Reviewed-by: Andrew Morton Signed-off-by: Dan Williams commit 59b5ec21446b9239d706ab237fb261d525b75e81 Author: Dan Williams Date: Tue Jan 6 11:38:15 2009 -0700 dmaengine: introduce dma_request_channel and private channels This interface is primarily for device-to-memory clients which need to search for dma channels with platform-specific characteristics. The prototype is: struct dma_chan *dma_request_channel(dma_cap_mask_t mask, dma_filter_fn filter_fn, void *filter_param); When the optional 'filter_fn' parameter is set to NULL dma_request_channel simply returns the first channel that satisfies the capability mask. Otherwise, when the mask parameter is insufficient for specifying the necessary channel, the filter_fn routine can be used to disposition the available channels in the system. The filter_fn routine is called once for each free channel in the system. Upon seeing a suitable channel filter_fn returns DMA_ACK which flags that channel to be the return value from dma_request_channel. A channel allocated via this interface is exclusive to the caller, until dma_release_channel() is called. To ensure that all channels are not consumed by the general-purpose allocator the DMA_PRIVATE capability is provided to exclude a dma_device from general-purpose (memory-to-memory) consideration. Reviewed-by: Andrew Morton Acked-by: Maciej Sosnowski Signed-off-by: Dan Williams commit f67b45999205164958de4ec0658d51fa4bee066d Author: Dan Williams Date: Tue Jan 6 11:38:15 2009 -0700 net_dma: convert to dma_find_channel Use the general-purpose channel allocation provided by dmaengine. Reviewed-by: Andrew Morton Signed-off-by: Dan Williams commit 2ba05622b8b143b0c95968ba59bddfbd6d2f2559 Author: Dan Williams Date: Tue Jan 6 11:38:14 2009 -0700 dmaengine: provide a common 'issue_pending_all' implementation async_tx and net_dma each have open-coded versions of issue_pending_all, so provide a common routine in dmaengine. The implementation needs to walk the global device list, so implement rcu to allow dma_issue_pending_all to run lockless. Clients protect themselves from channel removal events by holding a dmaengine reference. Reviewed-by: Andrew Morton Signed-off-by: Dan Williams commit bec085134e446577a983f17f57d642a88d1af53b Author: Dan Williams Date: Tue Jan 6 11:38:14 2009 -0700 dmaengine: centralize channel allocation, introduce dma_find_channel Allowing multiple clients to each define their own channel allocation scheme quickly leads to a pathological situation. For memory-to-memory offload all clients can share a central allocator. This simply moves the existing async_tx allocator to dmaengine with minimal fixups: * async_tx.c:get_chan_ref_by_cap --> dmaengine.c:nth_chan * async_tx.c:async_tx_rebalance --> dmaengine.c:dma_channel_rebalance * split out common code from async_tx.c:__async_tx_find_channel --> dma_find_channel Reviewed-by: Andrew Morton Signed-off-by: Dan Williams commit 6f49a57aa5a0c6d4e4e27c85f7af6c83325a12d1 Author: Dan Williams Date: Tue Jan 6 11:38:14 2009 -0700 dmaengine: up-level reference counting to the module level Simply, if a client wants any dmaengine channel then prevent all dmaengine modules from being removed. Once the clients are done re-enable module removal. Why?, beyond reducing complication: 1/ Tracking reference counts per-transaction in an efficient manner, as is currently done, requires a complicated scheme to avoid cache-line bouncing effects. 2/ Per-transaction ref-counting gives the false impression that a dma-driver can be gracefully removed ahead of its user (net, md, or dma-slave) 3/ None of the in-tree dma-drivers talk to hot pluggable hardware, but if such an engine were built one day we still would not need to notify clients of remove events. The driver can simply return NULL to a ->prep() request, something that is much easier for a client to handle. Reviewed-by: Andrew Morton Acked-by: Maciej Sosnowski Signed-off-by: Dan Williams commit cc7172defcf253335b16cf703fe4ac1ade15e1b1 Author: Chris Mason Date: Tue Jan 6 13:26:40 2009 -0500 Btrfs: Don't use kmap_atomic(..., KM_IRQ0) during checksum verifies Checksum verification happens in a helper thread, and there is no need to mess with interrupts. This switches to kmap() instead. Signed-off-by: Chris Mason commit b2c0805f77ff6b87bb18994ce70352fecc3ce7fc Author: Steven Rostedt Date: Tue Jan 6 10:02:38 2009 -0800 sparc: make proces_ver_nack a bit more readable Impact: clean up The code in process_ver_nack is a little obfuscated. This change makes it a bit more readable by humans. It removes the complex if statement and replaces it with a cleaner flow of control. Signed-off-by: Steven Rostedt Reviewed-by: Sam Ravnborg Signed-off-by: David S. Miller commit 9a9b1d17ba59b78e4bae67f7a7cf546986a42e7d Author: David Vrabel Date: Tue Jan 6 17:58:02 2009 +0000 wusb: return -ENOTCONN when resetting a port with no connected device If reading the device descriptor fails during hub_port_init() fails, then the port is disabled, disconnecting the device. The port is then reset at the start of the next init attempt but there is no device to reset. Signed-off-by: David Vrabel commit 2226b1c219a18804bc40e32a5d53c287a6c925d9 Author: David Vrabel Date: Tue Jan 6 17:55:32 2009 +0000 uwb: safely remove all reservations When removing all reservations during shutdown, terminate them first and then wait for any pending timeout work to complete. This prevents the timeout work from running after the reservation has been freed. Signed-off-by: David Vrabel commit 69b6ba3712b796a66595cfaf0a5ab4dfe1cf964a Author: Trond Myklebust Date: Tue Dec 23 16:30:11 2008 -0500 SUNRPC: Ensure the server closes sockets in a timely fashion We want to ensure that connected sockets close down the connection when we set XPT_CLOSE, so that we don't keep it hanging while cleaning up all the stuff that is keeping a reference to the socket. Signed-off-by: Trond Myklebust Signed-off-by: J. Bruce Fields commit 262a09823bb07c6aafb6c1d312cde613d0b90c85 Author: Chuck Lever Date: Fri Dec 12 16:57:35 2008 -0500 NFSD: Add documenting comments for nfsctl interface Document the NFSD sysctl interface laid out in fs/nfsd/nfsctl.c. Signed-off-by: Chuck Lever Signed-off-by: J. Bruce Fields commit 9e074856caf13ba83363f73759f5e395f74ccf41 Author: Chuck Lever Date: Fri Dec 12 16:57:27 2008 -0500 NFSD: Replace open-coded integer with macro Clean up: Instead of open-coding 2049, use the NFS_PORT macro. Signed-off-by: Chuck Lever Signed-off-by: J. Bruce Fields commit 54224f04ae95d86b27c0673cd773ebb120d86876 Author: Chuck Lever Date: Fri Dec 12 16:57:20 2008 -0500 NFSD: Fix a handful of coding style issues in write_filehandle() Clean up: follow kernel coding style. Signed-off-by: Chuck Lever Signed-off-by: J. Bruce Fields commit b046ccdc1f8171f6d0129dcc2a28d49187b4bf69 Author: Chuck Lever Date: Fri Dec 12 16:57:13 2008 -0500 NFSD: clean up failover sysctl function naming Clean up: Rename recently-added failover functions to match the naming convention in fs/nfsd/nfsctl.c. Signed-off-by: Chuck Lever Signed-off-by: J. Bruce Fields commit b064ec038a6180b13e5f89b6a30b42cb5ce8febc Author: Chuck Lever Date: Thu Dec 11 17:56:59 2008 -0500 lockd: Enable NLM use of AF_INET6 If the kernel is configured to support IPv6 and the RPC server can register services via rpcbindv4, we are all set to enable IPv6 support for lockd. Signed-off-by: Chuck Lever Cc: Aime Le Rouzic Signed-off-by: J. Bruce Fields commit 57ef692588bc225853ca3267ca5b7cea2b07e058 Author: Chuck Lever Date: Thu Dec 11 17:56:52 2008 -0500 NLM: Rewrite IPv4 privileged requester's check Clean up. For consistency, rewrite the IPv4 check to match the same style as the new IPv6 check. Note that ipv4_is_loopback() is somewhat broader in its interpretation of what is a loopback address than simply "127.0.0.1". Signed-off-by: Chuck Lever Signed-off-by: J. Bruce Fields commit d1208f70738c91f13b4eadb1b7a694082e439da2 Author: Chuck Lever Date: Thu Dec 11 17:56:44 2008 -0500 NLM: nlm_privileged_requester() doesn't recognize mapped loopback address Commit b85e4676 added the nlm_privileged_requester() helper to check whether an RPC request was sent from a local privileged caller. It recognizes IPv4 privileged callers (from "127.0.0.1"), and IPv6 privileged callers (from "::1"). However, IPV6_ADDR_LOOPBACK is not set for the mapped IPv4 loopback address (::ffff:7f00:0001), so the test breaks when the kernel's RPC service is IPv6-enabled but user space is calling via the IPv4 loopback address. This is actually the most common case for IPv6- enabled RPC services on Linux. Rewrite the IPv6 check to handle the mapped IPv4 loopback address as well as a normal IPv6 loopback address. Signed-off-by: Chuck Lever Signed-off-by: J. Bruce Fields commit 49b5699b3fc22b363534c509c1b7dba06bc677bf Author: Chuck Lever Date: Thu Dec 11 17:56:37 2008 -0500 NSM: Move nsm_create() Clean up: one last thing... relocate nsm_create() to eliminate the forward declaration and group it near the only function that actually uses it. Signed-off-by: Chuck Lever Signed-off-by: J. Bruce Fields commit b7ba597fb964dfa44284904b3b3d74d44b8e1c42 Author: Chuck Lever Date: Thu Dec 11 17:56:29 2008 -0500 NSM: Move nsm_use_hostnames to mon.c Clean up. Treat the nsm_use_hostnames global variable like nsm_local_state. Note that the default value of nsm_use_hostnames is still zero. Signed-off-by: Chuck Lever Signed-off-by: J. Bruce Fields commit 8529bc51d30b8f001734b29b21a51b579c260f5b Author: Chuck Lever Date: Thu Dec 11 17:56:22 2008 -0500 NSM: Move nsm_addr() to fs/lockd/mon.c Clean up: nsm_addr_in() is no longer used, and nsm_addr() is used only in fs/lockd/mon.c, so move it there. Signed-off-by: Chuck Lever Signed-off-by: J. Bruce Fields commit e6765b83977f07983c7a10e6bbb19d6c7bbfc3a4 Author: Chuck Lever Date: Thu Dec 11 17:56:14 2008 -0500 NSM: Remove include/linux/lockd/sm_inter.h Clean up: The include/linux/lockd/sm_inter.h header is nearly empty now. Remove it. Signed-off-by: Chuck Lever Signed-off-by: J. Bruce Fields commit 94da7663db26530a8377f7219f8be8bd4d4822c2 Author: Chuck Lever Date: Thu Dec 11 17:56:07 2008 -0500 NSM: Replace IP address as our nlm_reboot lookup key NLM provides file locking services for NFS files. Part of this service includes a second protocol, known as NSM, which is a reboot notification service. NLM uses this service to determine when to reclaim locks or enter a grace period after a client or server reboots. The NLM service (implemented by lockd in the Linux kernel) contacts the local NSM service (implemented by rpc.statd in Linux user space) via NSM protocol upcalls to register a callback when a particular remote peer reboots. To match the callback to the correct remote peer, the NLM service constructs a cookie that it passes in the request. The NSM service passes that cookie back to the NLM service when it is notified that the given remote peer has indeed rebooted. Currently on Linux, the cookie is the raw 32-bit IPv4 address of the remote peer. To support IPv6 addresses, which are larger, we could use all 16 bytes of the cookie to represent a full IPv6 address, although we still can't represent an IPv6 address with a scope ID in just 16 bytes. Instead, to avoid the need for future changes to support additional address types, we'll use a manufactured value for the cookie, and use that to find the corresponding nsm_handle struct in the kernel during the NLMPROC_SM_NOTIFY callback. This should provide complete support in the kernel's NSM implementation for IPv6 hosts, while remaining backwards compatible with older rpc.statd implementations. Note we also deal with another case where nsm_use_hostnames can change while there are outstanding notifications, possibly resulting in the loss of reboot notifications. After this patch, the priv cookie is always used to lookup rebooted hosts in the kernel. Signed-off-by: Chuck Lever Signed-off-by: J. Bruce Fields commit 77a3ef33e2de6fc8aabd7cb1700bfef81757c28a Author: Chuck Lever Date: Thu Dec 11 17:55:59 2008 -0500 NSM: More clean up of nsm_get_handle() Clean up: refactor nsm_get_handle() so it is organized the same way that nsm_reboot_lookup() is. There is an additional micro-optimization here. This change moves the "hostname & nsm_use_hostnames" test out of the list_for_each_entry() clause in nsm_get_handle(), since it is loop-invariant. Signed-off-by: Chuck Lever Signed-off-by: J. Bruce Fields commit b39b897c259fc1fd1998505f2b1d4ec1f115bce1 Author: Chuck Lever Date: Thu Dec 11 17:55:52 2008 -0500 NSM: Refactor nsm_handle creation into a helper function Clean up. Refactor the creation of nsm_handles into a helper. Fields are initialized in increasing address order to make efficient use of CPU caches. Signed-off-by: Chuck Lever Signed-off-by: J. Bruce Fields commit 92fd91b998a5216a6d6606704e71d541a180216c Author: Chuck Lever Date: Fri Dec 5 19:04:01 2008 -0500 NLM: Remove "create" argument from nsm_find() Clean up: nsm_find() now has only one caller, and that caller unconditionally sets the @create argument. Thus the @create argument is no longer needed. Since nsm_find() now has a more specific purpose, pick a more appropriate name for it. Signed-off-by: Chuck Lever Signed-off-by: J. Bruce Fields commit 8c7378fd2a5f22016542931b887a2ae98d146eaf Author: Chuck Lever Date: Fri Dec 5 19:03:54 2008 -0500 NLM: Call nsm_reboot_lookup() instead of nsm_find() Invoke the newly introduced nsm_reboot_lookup() function in nlm_host_rebooted() instead of nsm_find(). This introduces just one behavioral change: debugging messages produced during reboot notification will now appear when the NLMDBG_MONITOR flag is set, but not when the NLMDBG_HOSTCACHE flag is set. Signed-off-by: Chuck Lever Signed-off-by: J. Bruce Fields commit 3420a8c4359a189f7d854ed7075d151257415447 Author: Chuck Lever Date: Fri Dec 5 19:03:46 2008 -0500 NSM: Add nsm_lookup() function Introduce a new API to fs/lockd/mon.c that allows nlm_host_rebooted() to lookup up nsm_handles via the contents of an nlm_reboot struct. The new function is equivalent to calling nsm_find() with @create set to zero, but it takes a struct nlm_reboot instead of separate arguments. Signed-off-by: Chuck Lever Signed-off-by: J. Bruce Fields commit 576df4634e37e46b441fefb91915184edb13bb94 Author: Chuck Lever Date: Fri Dec 5 19:03:39 2008 -0500 NLM: Decode "priv" argument of NLMPROC_SM_NOTIFY as an opaque The NLM XDR decoders for the NLMPROC_SM_NOTIFY procedure should treat their "priv" argument truly as an opaque, as defined by the protocol, and let the upper layers figure out what is in it. This will make it easier to modify the contents and interpretation of the "priv" argument, and keep knowledge about what's in "priv" local to fs/lockd/mon.c. For now, the NLM and NSM implementations should behave exactly as they did before. The formation of the address of the rebooted host in nlm_host_rebooted() may look a little strange, but it is the inverse of how nsm_init_private() forms the private cookie. Plus, it's going away soon anyway. Signed-off-by: Chuck Lever Signed-off-by: J. Bruce Fields commit 7fefc9cb9d5f129c238d93166f705c96ca2e7e51 Author: Chuck Lever Date: Fri Dec 5 19:03:31 2008 -0500 NLM: Change nlm_host_rebooted() to take a single nlm_reboot argument Pass the nlm_reboot data structure directly from the NLMPROC_SM_NOTIFY XDR decoders to nlm_host_rebooted(). This eliminates some packing and unpacking of the NLMPROC_SM_NOTIFY results, and prepares for passing these results, including the "priv" cookie, directly to a lookup routine in fs/lockd/mon.c. This patch changes code organization but should not cause any behavioral change. Signed-off-by: Chuck Lever Signed-off-by: J. Bruce Fields commit cab2d3c99165abbba2943f1b269003b17fd3b1cb Author: Chuck Lever Date: Fri Dec 5 19:03:24 2008 -0500 NSM: Encode the new "priv" cookie for NSMPROC_MON requests Pass the new "priv" cookie to NSMPROC_MON's XDR encoder, instead of creating the "priv" argument in the encoder at call time. This patch should not cause a behavioral change: the contents of the cookie remain the same for the time being. Signed-off-by: Chuck Lever Signed-off-by: J. Bruce Fields commit 7e44d3bea21fbb9494930d1cd35ca92a9a4a3279 Author: Chuck Lever Date: Fri Dec 5 19:03:16 2008 -0500 NSM: Generate NSMPROC_MON's "priv" argument when nsm_handle is created Introduce a new data type, used by both the in-kernel NLM and NSM implementations, that is used to manage the opaque "priv" argument for the NSMPROC_MON and NLMPROC_SM_NOTIFY calls. Construct the "priv" cookie when the nsm_handle is created. The nsm_init_private() function may look a little strange, but it is roughly equivalent to how the XDR encoder formed the "priv" argument. It's going to go away soon. Signed-off-by: Chuck Lever Signed-off-by: J. Bruce Fields commit 05f3a9af58180d24a9decedd71d4587935782d70 Author: Chuck Lever Date: Fri Dec 5 19:03:09 2008 -0500 NSM: Remove !nsm check from nsm_release() The nsm_release() function should never be called with a NULL handle point. If it is, that's a bug. Signed-off-by: Chuck Lever Signed-off-by: J. Bruce Fields commit bc1cc6c4e476b60df48227165990c87a22db6bb7 Author: Chuck Lever Date: Fri Dec 5 19:03:01 2008 -0500 NSM: Remove NULL pointer check from nsm_find() The nsm_find() function should never be called with a NULL IP address pointer. If it is, that's a bug. Signed-off-by: Chuck Lever Signed-off-by: J. Bruce Fields commit 5cf1c4b19db99d21d44c2ab457cfd44eb86b4439 Author: Chuck Lever Date: Fri Dec 5 19:02:53 2008 -0500 NSM: Add dprintk() calls in nsm_find and nsm_release Introduce some dprintk() calls in fs/lockd/mon.c that are enabled by the NLMDBG_MONITOR flag. These report when we find, create, and release nsm_handles. Signed-off-by: Chuck Lever Signed-off-by: J. Bruce Fields commit 67c6d107a689243979a2b5f15244b5261634a924 Author: Chuck Lever Date: Fri Dec 5 19:02:45 2008 -0500 NSM: Move nsm_find() to fs/lockd/mon.c The nsm_find() function sets up fresh nsm_handle entries. This is where we will store the "priv" cookie used to lookup nsm_handles during reboot recovery. The cookie will be constructed when nsm_find() creates a new nsm_handle. As much as possible, I would like to keep everything that handles a "priv" cookie in fs/lockd/mon.c so that all the smarts are in one source file. That organization should make it pretty simple to see how all this works. To me, it makes more sense than the current arrangement to keep nsm_find() with nsm_monitor() and nsm_unmonitor(). So, start reorganizing by moving nsm_find() into fs/lockd/mon.c. The nsm_release() function comes along too, since it shares the nsm_lock global variable. Signed-off-by: Chuck Lever Signed-off-by: J. Bruce Fields commit 03eb1dcbb799304b58730f4dba65812f49fb305e Author: Chuck Lever Date: Fri Dec 5 19:02:15 2008 -0500 NSM: move to xdr_stream-based XDR encoders and decoders Introduce xdr_stream-based XDR encoder and decoder functions, which are more careful about preventing RPC buffer overflows. Signed-off-by: Chuck Lever Signed-off-by: J. Bruce Fields commit 36e8e668d3e6a61848a8921ddeb663b417299fa5 Author: Chuck Lever Date: Fri Dec 5 19:02:07 2008 -0500 NSM: Move NSM program and procedure numbers to fs/lockd/mon.c Clean up: Move the RPC program and procedure numbers for NSM into the one source file that needs them: fs/lockd/mon.c. And, as with NLM, NFS, and rpcbind calls, use NSMPROC_FOO instead of SM_FOO for NSM procedure numbers. Finally, make a couple of comments more precise: what is referred to here as SM_NOTIFY is really the NLM (lockd) NLMPROC_SM_NOTIFY downcall, not NSMPROC_NOTIFY. Signed-off-by: Chuck Lever Signed-off-by: J. Bruce Fields commit 9c1bfd037f7ff8badaecb47418f109148d88bf45 Author: Chuck Lever Date: Fri Dec 5 19:01:59 2008 -0500 NSM: Move NSM-related XDR data structures to lockd's xdr.h Clean up: NSM's XDR data structures are used only in fs/lockd/mon.c, so move them there. Signed-off-by: Chuck Lever Signed-off-by: J. Bruce Fields commit 0c7aef4569f8680951b7dee01dddffb9d2f809ff Author: Chuck Lever Date: Thu Dec 4 14:21:46 2008 -0500 NSM: Check result of SM_UNMON upcall Make sure any error returned by rpc.statd during an SM_UNMON call is reported rather than ignored completely. There isn't much to do with such an error, but we should log it in any case. Similar to a recent change to nsm_monitor(). Signed-off-by: Chuck Lever Signed-off-by: J. Bruce Fields commit 356c3eb466fd1a12afd6448d90fba3922836e5f1 Author: Chuck Lever Date: Thu Dec 4 14:21:38 2008 -0500 NLM: Move the public declaration of nsm_unmonitor() to lockd.h Clean up. Make the nlm_host argument "const," and move the public declaration to lockd.h. Add a documenting comment. Bruce observed that nsm_unmonitor()'s only caller doesn't care about its return code, so make nsm_unmonitor() return void. Signed-off-by: Chuck Lever Signed-off-by: J. Bruce Fields commit c8c23c423dec49cb439697d3dc714e1500ff1610 Author: Chuck Lever Date: Thu Dec 4 14:21:31 2008 -0500 NSM: Release nsmhandle in nlm_destroy_host The nsm_handle's reference count is bumped in nlm_lookup_host(). It should be decremented in nlm_destroy_host() to make it easier to see the balance of these two operations. Move the nsm_release() call to fs/lockd/host.c. The h_nsmhandle pointer is set in nlm_lookup_host(), and never cleared. The nlm_destroy_host() function is never called for the same nlm_host twice, so h_nsmhandle won't ever be NULL when nsm_unmonitor() is called. All references to the nlm_host are gone before it is freed. We can skip making h_nsmhandle NULL just before the nlm_host is deallocated. It's also likely we can remove the h_nsmhandle NULL check in nlmsvc_is_client() as well, but we can do that later when rearchitect- ing the nlm_host cache. Signed-off-by: Chuck Lever Signed-off-by: J. Bruce Fields commit 1e49323c4ab044d05bbc68cf13cadcbd4372468c Author: Chuck Lever Date: Thu Dec 4 14:21:24 2008 -0500 NLM: Move the public declaration of nsm_monitor() to lockd.h Clean up. Make the nlm_host argument "const," and move the public declaration to lockd.h with other NSM public function (nsm_release, eg) and global variable declarations. Add a documenting comment. Signed-off-by: Chuck Lever Signed-off-by: J. Bruce Fields commit 5d254b119823658cc318f88589c6c426b3d0a153 Author: Chuck Lever Date: Thu Dec 4 14:21:15 2008 -0500 NSM: Make sure to return an error if the SM_MON call result is not zero The nsm_monitor() function reports an error and does not set sm_monitored if the SM_MON upcall reply has a non-zero result code, but nsm_monitor() does not return an error to its caller in this case. Since sm_monitored is not set, the upcall is retried when the next NLM request invokes nsm_monitor(). However, that may not come for a while. In the meantime, at least one NLM request will potentially proceed without the peer being monitored properly. Have nsm_monitor() return an error if the result code is non-zero. This will cause all NLM requests to fail immediately if the upcall completed successfully but rpc.statd returned an error. This may be inconvenient in some cases (for example if rpc.statd cannot complete a proper DNS reverse lookup of the hostname), but will make the reboot monitoring service more robust by forcing such issues to be corrected by an admin. Signed-off-by: Chuck Lever Signed-off-by: J. Bruce Fields commit 5bc74bef7c9b652f0f2aa9c5a8d5ac86881aba79 Author: Chuck Lever Date: Thu Dec 4 14:21:08 2008 -0500 NSM: Remove BUG_ON() in nsm_monitor() Clean up: Remove the BUG_ON() invocation in nsm_monitor(). It's not likely that nsm_monitor() is ever called with a NULL host pointer, and the code will die anyway if host is NULL. Signed-off-by: Chuck Lever Signed-off-by: J. Bruce Fields commit 501c1ed3fb5c2648ba1709282c71617910917f66 Author: Chuck Lever Date: Thu Dec 4 14:21:01 2008 -0500 NLM: Remove redundant printk() in nlmclnt_lock() The nsm_monitor() function already generates a printk(KERN_NOTICE) if the SM_MON upcall fails, so the similar printk() in the nlmclnt_lock() function is redundant. Signed-off-by: Chuck Lever Signed-off-by: J. Bruce Fields commit 9fee49024ed19d849413df4ab6ec1a1a60aaae94 Author: Chuck Lever Date: Thu Dec 4 14:20:53 2008 -0500 NSM: Use sm_name instead of h_name in nsm_monitor() and nsm_unmonitor() Clean up: Use the sm_name field for reporting the hostname in nsm_monitor() and nsm_unmonitor(), just as the other functions in fs/lockd/mon.c do. The h_name field is just a copy of the sm_name pointer. Signed-off-by: Chuck Lever Signed-off-by: J. Bruce Fields commit 29ed1407ed81086b778ebf12145b048ac3f7e10e Author: Chuck Lever Date: Thu Dec 4 14:20:46 2008 -0500 NSM: Support IPv6 version of mon_name The "mon_name" argument of the NSMPROC_MON and NSMPROC_UNMON upcalls is a string that contains the hostname or IP address of the remote peer to be notified when this host has rebooted. The sm-notify command uses this identifier to contact the peer when we reboot, so it must be either a well-qualified DNS hostname or a presentation format IP address string. When the "nsm_use_hostnames" sysctl is set to zero, the kernel's NSM provides a presentation format IP address in the "mon_name" argument. Otherwise, the "caller_name" argument from NLM requests is used, which is usually just the DNS hostname of the peer. To support IPv6 addresses for the mon_name argument, we use the nsm_handle's address eye-catcher, which already contains an appropriate presentation format address string. Using the eye-catcher string obviates the need to use a large buffer on the stack to form the presentation address string for the upcall. This patch also addresses a subtle bug. An NSMPROC_MON request and the subsequent NSMPROC_UNMON request for the same peer are required to use the same value for the "mon_name" argument. Otherwise, rpc.statd's NSMPROC_UNMON processing cannot locate the database entry for that peer and remove it. If the setting of nsm_use_hostnames is changed between the time the kernel sends an NSMPROC_MON request and the time it sends the NSMPROC_UNMON request for the same peer, the "mon_name" argument for these two requests may not be the same. This is because the value of "mon_name" is currently chosen at the moment the call is made based on the setting of nsm_use_hostnames To ensure both requests pass identical contents in the "mon_name" argument, we now select which string to use for the argument in the nsm_monitor() function. A pointer to this string is saved in the nsm_handle so it can be used for a subsequent NSMPROC_UNMON upcall. NB: There are other potential problems, such as how nlm_host_rebooted() might behave if nsm_use_hostnames were changed while hosts are still being monitored. This patch does not attempt to address those problems. Signed-off-by: Chuck Lever Signed-off-by: J. Bruce Fields commit f47534f7f0ac7727e05ec4274b764b181df2cf7f Author: Chuck Lever Date: Thu Dec 4 14:20:38 2008 -0500 NSM: Use modern style for sm_name field in nsm_handle Clean up: I'm about to add another "char *" field to the nsm_handle structure. The sm_name field uses an older style of declaring a "char *" field. If I match that style for the new field, checkpatch.pl will complain. So, fix the sm_name field to use the new style. Signed-off-by: Chuck Lever Signed-off-by: J. Bruce Fields commit 5acf43155d1bcc412d892c73f64044f9a826cde6 Author: Chuck Lever Date: Thu Dec 4 14:20:31 2008 -0500 NSM: convert printk(KERN_DEBUG) to a dprintk() Clean up: make the printk(KERN_DEBUG) in nsm_mon_unmon() a dprintk, and add another dprintk to note if creating an RPC client for the upcall failed. Signed-off-by: Chuck Lever Signed-off-by: J. Bruce Fields commit a4846750f090702e2fb848ac4fe5827bcef34060 Author: Chuck Lever Date: Thu Dec 4 14:20:23 2008 -0500 NSM: Use C99 structure initializer to initialize nsm_args Clean up: Use a C99 structure initializer instead of open-coding the initialization of nsm_args. Signed-off-by: Chuck Lever Signed-off-by: J. Bruce Fields commit afb03699dc0a920aed3322ad0e6895533941fb1e Author: Chuck Lever Date: Thu Dec 4 14:20:16 2008 -0500 NLM: Add helper to handle IPv4 addresses Clean up: introduce a helper function to generate IPv4 addresses using the same style as the IPv6 helper function we just added. Signed-off-by: Chuck Lever Signed-off-by: J. Bruce Fields commit bc995801a09d1fead0bec1356bfd836911c8eed7 Author: Chuck Lever Date: Thu Dec 4 14:20:08 2008 -0500 NLM: Support IPv6 scope IDs in nlm_display_address() Scope ID support is needed since the kernel's NSM implementation is about to use these displayed addresses as a mon_name in some cases. When nsm_use_hostnames is zero, without scope ID support NSM will fail to handle peers that contact us via a link-local address. Link-local addresses do not work without an interface ID, which is stored in the sockaddr's sin6_scope_id field. Signed-off-by: Chuck Lever Signed-off-by: J. Bruce Fields commit 6999fb4016b2604c2f8a65586bba4a62a4b24ce7 Author: Chuck Lever Date: Thu Dec 4 14:20:01 2008 -0500 NLM: Remove AF_UNSPEC arm in nlm_display_address() AF_UNSPEC support is no longer needed in nlm_display_address() now that a presentation address is no longer generated for the h_srcaddr field. Signed-off-by: Chuck Lever Signed-off-by: J. Bruce Fields commit 1df40b609ad5a622904eb652109c287fe9c93ec5 Author: Chuck Lever Date: Thu Dec 4 14:19:53 2008 -0500 NLM: Remove address eye-catcher buffers from nlm_host The h_name field in struct nlm_host is a just copy of h_nsmhandle->sm_name. Likewise, the contents of the h_addrbuf field should be identical to the sm_addrbuf field. The h_srcaddrbuf field is used only in one place for debugging. We can live without this until we get %pI formatting for printk(). Currently these buffers are 48 bytes, but we need to support scope IDs in IPv6 presentation addresses, which means making the buffers even larger. Instead, let's find ways to eliminate them to save space. Signed-off-by: Chuck Lever Signed-off-by: J. Bruce Fields commit 7538ce1eb656a1477bedd5b1c202226e7abf5e7b Author: Chuck Lever Date: Thu Dec 4 14:19:45 2008 -0500 NLM: Use modern style for pointer fields in nlm_host Clean up: I'm about to add another "char *" field to the nlm_host structure. The h_name field, for example, uses an older style of declaring a "char *" field. If I match that style for the new field, checkpatch.pl will complain. So, fix pointer fields to use the new style. Signed-off-by: Chuck Lever Signed-off-by: J. Bruce Fields commit c72a476b4b7ecadb80185de31236edb303c1a5d0 Author: Jeff Layton Date: Mon Oct 20 11:51:58 2008 -0400 lockd: set svc_serv->sv_maxconn to a more reasonable value (try #3) The default method for calculating the number of connections allowed per RPC service arbitrarily limits single-threaded services to 80 connections. This is too low for services like lockd and artificially limits the number of TCP clients that it can support. Have lockd set a default sv_maxconn value to 1024 (which is the typical default value for RLIMIT_NOFILE. Also add a module parameter to allow an admin to set this to an arbitrary value. Signed-off-by: Jeff Layton Acked-by: Neil Brown Signed-off-by: J. Bruce Fields commit c9233eb7b0b11ef176d4bf68da2ce85464b6ec39 Author: Jeff Layton Date: Mon Oct 20 11:51:57 2008 -0400 sunrpc: add sv_maxconn field to svc_serv (try #3) svc_check_conn_limits() attempts to prevent denial of service attacks by having the service close old connections once it reaches a threshold. This threshold is based on the number of threads in the service: (serv->sv_nrthreads + 3) * 20 Once we reach this, we drop the oldest connections and a printk pops to warn the admin that they should increase the number of threads. Increasing the number of threads isn't an option however for services like lockd. We don't want to eliminate this check entirely for such services but we need some way to increase this limit. This patch adds a sv_maxconn field to the svc_serv struct. When it's set to 0, we use the current method to calculate the max number of connections. RPC services can then set this on an as-needed basis. Signed-off-by: Jeff Layton Acked-by: Neil Brown Signed-off-by: J. Bruce Fields commit 548eaca46b3cf4419b6c2be839a106d8641ffb70 Author: J. Bruce Fields Date: Mon Oct 20 17:48:43 2008 -0400 nfsd: document new filehandle fsid types Descriptions taken from mountd code (in nfs-utils/utils/mountd/cache.c). Signed-off-by: J. Bruce Fields commit 2bd9e7b62e6e1da3f881c40c73d93e9a212ce6de Author: Krishna Kumar Date: Mon Oct 20 11:47:09 2008 +0530 nfsd: Fix leaked memory in nfs4_make_rec_clidname cksum.data is not freed up in one error case. Compile tested. Signed-off-by: Krishna Kumar Signed-off-by: J. Bruce Fields commit 9346eff0dea1e5855fba25c9fe639d92a4db3135 Author: Krishna Kumar Date: Mon Oct 20 11:44:28 2008 +0530 nfsd: Minor cleanup of find_stateid Minor cleanup/rewrite of find_stateid. Compile tested. Signed-off-by: Krishna Kumar Signed-off-by: J. Bruce Fields commit b3d47676d474ecd914c72049c87e71e5f0ffe040 Author: J. Bruce Fields Date: Mon Oct 20 13:01:59 2008 -0400 nfsd: update fh_verify description Signed-off-by: J. Bruce Fields commit 07d400a6df4767a90d49a153fdb7f4cfa1e3f23e Author: Yan Zheng Date: Tue Jan 6 11:42:00 2009 -0500 Btrfs: tree logging checksum fixes This patch contains following things. 1) Limit the max size of btrfs_ordered_sum structure to PAGE_SIZE. This struct is kmalloced so we want to keep it reasonable. 2) Replace copy_extent_csums by btrfs_lookup_csums_range. This was duplicated code in tree-log.c 3) Remove replay_one_csum. csum items are replayed at the same time as replaying file extents. This guarantees we only replay useful csums. 4) nbytes accounting fix. Signed-off-by: Yan Zheng commit 0936912274af78a21fd8d54c3f94a50a285cf7f9 Merge: 87c6fe2 9e91973 40bcc69 Author: Ingo Molnar Date: Tue Jan 6 17:39:52 2009 +0100 Merge branches 'x86/cleanups', 'x86/mpparse', 'x86/numa' and 'x86/uv' into x86/urgent commit c2ce5ca047ff6bbc41d491451c39e597c4537cd3 Author: Sergei Shtylyov Date: Tue Jan 6 17:21:02 2009 +0100 scc_pata: make use of scc_dma_sff_read_status() Make consistent use of scc_dma_sff_read_status() throughout the driver. Signed-off-by: Sergei Shtylyov Signed-off-by: Bartlomiej Zolnierkiewicz commit 05789634ef84c78494c61124e69da49441735146 Author: Sergei Shtylyov Date: Tue Jan 6 17:21:02 2009 +0100 ide-dma-sff: factor out ide_dma_sff_write_status() Factor out ide_dma_sff_write_status(), symmetric to ide_dma_sff_read_status(). Signed-off-by: Sergei Shtylyov Signed-off-by: Bartlomiej Zolnierkiewicz commit 592b5315219881c6c0af4785f96456ad2043193a Author: Sergei Shtylyov Date: Tue Jan 6 17:21:02 2009 +0100 ide: move read_sff_dma_status() method to 'struct ide_dma_ops' Move apparently misplaced read_sff_dma_status() method from 'struct ide_tp_ops' to 'struct ide_dma_ops', renaming it to dma_sff_read_status() and making only required for SFF-8038i compatible IDE controller drivers (greatly cutting down the number of initializers) as its only user (outside ide-dma-sff.c and such drivers) appears to be ide_pci_check_simplex() which is only called for such controllers... Signed-off-by: Sergei Shtylyov Signed-off-by: Bartlomiej Zolnierkiewicz commit 3f023b0138b7db21bac0074b3d5ca2854372c6ff Author: Sergei Shtylyov Date: Tue Jan 6 17:21:01 2009 +0100 ide: don't set hwif->dma_ops in init_dma() method Replace setting of 'hwif->dma_ops' in the 'alim15x3' and 'palm_bk3710' drivers' init_dma() methods with initializing the corresponding member of their 'struct ide_port_info' instances and remove such setting from the 'hpt366' driver that just doesn't use 'sff_dma_ops'. Along with some code save, this prepares us for the next patch... Signed-off-by: Sergei Shtylyov Signed-off-by: Bartlomiej Zolnierkiewicz commit 391ad1908a9c13d457ea12ce1508d6b8a7ba72ad Author: Shane McDonald Date: Tue Jan 6 17:21:01 2009 +0100 Resurrect IT8172 IDE controller driver Support for the IT8172 IDE controller was removed from the kernel sometime after 2.6.18. Support for the only boards that used the IT8172 was removed from the kernel after 2.6.18, as they had never compiled since 2.6.0. However, there are a couple of platforms that use this chip: the PMC-Sierra Xiao Hu thin-client computer, which is no longer in production, and the Linksys NSS4000 Network Attached Storage box, which is based on the Xiao Hu board. I am attempting to add support for the Xiao Hu to the kernel, and this IT8172 IDE controller is the first bit of code in this effort. This patch resurrects the IT8172 IDE controller code. I began with the 2.6.18 version of the it8172.c file, and have moved it forward so that it works with the latest version of the kernel. I have run this driver on a PMC-Sierra Xiao Hu board with the 2.6.28 kernel, and I have had no problems with it in my configuration. The attached patch applies cleanly against 2.6.28. Signed-off-by: Shane McDonald Acked-by: Sergei Shtylyov Cc: alan@lxorguk.ukuu.org.uk [bart: s/HWIF(drive)/drive->hwif/] Signed-off-by: Bartlomiej Zolnierkiewicz commit 7ee98034d6402b9ba31d749ffb66534a44177ba9 Author: Bartlomiej Zolnierkiewicz Date: Tue Jan 6 17:21:01 2009 +0100 piix: sync ich_laptop[] with ata_piix.c Allows UDMA > 33 on ACER TM290 and ACER Aspire 1694WLMi. Signed-off-by: Bartlomiej Zolnierkiewicz commit 02c84bde234eee4f2089ac3587d138607aaec777 Author: Bartlomiej Zolnierkiewicz Date: Tue Jan 6 17:21:00 2009 +0100 ide: update warm-plug HOWTO Reported-by: Bruno Prémont Signed-off-by: Bartlomiej Zolnierkiewicz commit e630fcbe9399e0cfec097f516b758680f2b2bdaa Author: Bartlomiej Zolnierkiewicz Date: Tue Jan 6 17:21:00 2009 +0100 ide: fix ide_port_scan() to do ACPI setup after initializing request queues This makes ide_port_scan()'s behavior match ide_host_register()'s one and fixes OOPS in elv_may_queue() during port re-scan. Reported-and-tested-by: Bruno Prémont Signed-off-by: Bartlomiej Zolnierkiewicz commit c38714ed4447874db1e06908f713fe65afba4a85 Author: Bartlomiej Zolnierkiewicz Date: Tue Jan 6 17:20:59 2009 +0100 ide: remove now redundant ->cur_dev checks * ->cur_dev should now be always valid if ->handler is set so remove redundant checks from ide_intr() and ide_timer_expiry(). * Apply CodingStyle fixups in ide_timer_expiry() while at it. There should be no functional changes caused by this patch. Signed-off-by: Bartlomiej Zolnierkiewicz commit 94c96445f32c16cfdc398b20b7e78945ab7e35f9 Author: Bartlomiej Zolnierkiewicz Date: Tue Jan 6 17:20:59 2009 +0100 ide: remove unused ide_hwif_t.sg_mapped field Signed-off-by: Bartlomiej Zolnierkiewicz commit 906ef986a71d541a726550fa40dcbc5c356f810e Author: Bartlomiej Zolnierkiewicz Date: Tue Jan 6 17:20:59 2009 +0100 ide: struct ide_atapi_pc - remove unused fields and update documentation Signed-off-by: Bartlomiej Zolnierkiewicz commit b1b1cd9a23dfa9b33267519ee7c228da708ddaf6 Author: Bartlomiej Zolnierkiewicz Date: Tue Jan 6 17:20:58 2009 +0100 ide: remove superfluous hwif variable assignment from ide_timer_expiry() There should be no functional changes caused by this patch. Signed-off-by: Bartlomiej Zolnierkiewicz commit 8c6de94cfa07cf9f4651edd7e541ed4841c9f201 Author: Bartlomiej Zolnierkiewicz Date: Tue Jan 6 17:20:58 2009 +0100 ide: use ide_pci_is_in_compatibility_mode() helper in setup-pci.c There should be no functional changes caused by this patch. Signed-off-by: Bartlomiej Zolnierkiewicz commit 9600dcf1347d304cf4dff34ef50569d6584b6968 Author: Bartlomiej Zolnierkiewicz Date: Tue Jan 6 17:20:58 2009 +0100 ide: make "paranoia" ->handler check in ide_intr() more strict If ->handler is set while it shouldn't be it indicates deep problems so BUG_ON()-ning and preventing further damage is much more appropriate than merely printing an error message. Signed-off-by: Bartlomiej Zolnierkiewicz commit d6251d4488a361c93da2398818e1ec69cffb6073 Author: Borislav Petkov Date: Tue Jan 6 17:20:58 2009 +0100 ide-cd: convert to ide-atapi facilities ... and remove no longer needed cdrom_start_packet_command and cdrom_transfer_packet_command. Tested lightly with ide-cd and ide-floppy. Signed-off-by: Borislav Petkov Signed-off-by: Bartlomiej Zolnierkiewicz commit 1e91477aa335fc1c97eb15649ed1a1714cc758ec Author: Borislav Petkov Date: Tue Jan 6 17:20:57 2009 +0100 ide-cd: start DMA before sending the actual packet command as it is done for all other IDE ATAPI devices. There should be no functionality change resulting from this patch. Signed-off-by: Borislav Petkov Signed-off-by: Bartlomiej Zolnierkiewicz commit 7a38f3cf019c4187d3d0e757e1c11b2b460e5b57 Author: Borislav Petkov Date: Tue Jan 6 17:20:57 2009 +0100 ide-cd: wait for DRQ to get set per default ... instead of assuming it is set for accelerated DRQ type devices. Signed-off-by: Borislav Petkov Signed-off-by: Bartlomiej Zolnierkiewicz commit 744a82b004b0a08d55f579daa55e32d963353edc Author: Mario Schwalbe Date: Tue Jan 6 17:20:57 2009 +0100 ide: Fix drive's DWORD-IO handling According the documentation, id[ATA_ID_DWORD_IO] is non-zero if the drive supports dword IO, while the code disables support by setting IDE_DFLAG_NO_IO_32BIT. In addition, this word has been reused by the ATA8 specification. This patch fixes both cases. Signed-off-by: Mario Schwalbe Cc: Sergei Shtylyov [bart: remove id[ATA_ID_DWORD_IO] check altogether per Sergei's suggestion] Signed-off-by: Bartlomiej Zolnierkiewicz commit 2bd24a1cfc99d242c2cff9a6b74ca49fcaac3fb6 Author: Bartlomiej Zolnierkiewicz Date: Tue Jan 6 17:20:56 2009 +0100 ide: add port and host iterators Add ide_port_for_each_dev() / ide_host_for_each_port() iterators and update IDE code to use them. While at it: - s/unit/i/ variable in ide_port_wait_ready(), ide_probe_port(), ide_port_tune_devices(), ide_port_init_devices_data(), do_reset1(), ide_acpi_set_state() and scc_dma_end() - s/d/i/ variable in ide_proc_port_register_devices() There should be no functional changes caused by this patch. Signed-off-by: Bartlomiej Zolnierkiewicz commit 5e7f3a46690f7f6c9f2781c700ab4370874aa0e8 Author: Bartlomiej Zolnierkiewicz Date: Tue Jan 6 17:20:56 2009 +0100 ide: dynamic allocation of device structures Allocate device structures dynamically instead of having them embedded in ide_hwif_t: * Remove needless zeroing of port structure from ide_init_port_data(). * Add ide_hwif_t.devices[MAX_DRIVES] (table of pointers to the devices). * Add ide_port_{alloc,free}_devices() helpers and use them respectively in ide_{host,free}_alloc(). * Convert all users of ->drives[] to use ->devices[] instead. While at it: * Use drive->dn for the slave device check in scc_pata.c. As a nice side-effect this patch cuts ~1kB (x86-32) from the resulting code size: text data bss dec hex filename 53963 1244 237 55444 d894 drivers/ide/ide-core.o.before 52981 1244 237 54462 d4be drivers/ide/ide-core.o.after Signed-off-by: Bartlomiej Zolnierkiewicz commit a32296f93821497d794ab8e1312d677717479777 Author: Bartlomiej Zolnierkiewicz Date: Tue Jan 6 17:20:56 2009 +0100 ide: NUMA aware allocation of host and port structures kzalloc() -> kzalloc_node() in ide_host_alloc(). Signed-off-by: Bartlomiej Zolnierkiewicz commit 07af5a5b0241422e4ca2dd114eaa1d7ad0165cb5 Author: Bartlomiej Zolnierkiewicz Date: Tue Jan 6 17:20:56 2009 +0100 it821x: use ide_get_pair_dev() helper Because presence of the peer device was not checked in it821x_set_pio_mode() PIO0 mode was used for taskfile PIO in single device configurations. Acked-by: Sergei Shtylyov Signed-off-by: Bartlomiej Zolnierkiewicz commit 5d44a1502ff711bea2a9b2bf2fbd2503081cf3be Author: Bartlomiej Zolnierkiewicz Date: Tue Jan 6 17:20:55 2009 +0100 cmd64x: use ide_get_pair_dev() helper There should be no functional changes caused by this patch. Acked-by: Sergei Shtylyov Signed-off-by: Bartlomiej Zolnierkiewicz commit 2b78ff52354b7271b9221ca2c14c54f627c649fa Author: Bartlomiej Zolnierkiewicz Date: Tue Jan 6 17:20:55 2009 +0100 cmd640: use ide_get_pair_dev() helper There should be no functional changes caused by this patch. Acked-by: Sergei Shtylyov Signed-off-by: Bartlomiej Zolnierkiewicz commit bca4ff16e97f4413bade39a40ccf2e1451b4dc54 Author: Bartlomiej Zolnierkiewicz Date: Tue Jan 6 17:20:54 2009 +0100 amd74xx: use ide_get_pair_dev() helper There should be no functional changes caused by this patch. Acked-by: Sergei Shtylyov Signed-off-by: Bartlomiej Zolnierkiewicz commit 627e05daa10896a8f012fa78e8434c07e9e55ea7 Author: Bartlomiej Zolnierkiewicz Date: Tue Jan 6 17:20:54 2009 +0100 ide: remove ->error method from struct ide_driver * Remove (now superfluous) ->error method from struct ide_driver. * Unexport __ide_error() and make it static. Signed-off-by: Bartlomiej Zolnierkiewicz commit 585e9715c271f7ef171813eb49febf27dea75887 Author: Bartlomiej Zolnierkiewicz Date: Tue Jan 6 17:20:53 2009 +0100 ide: unexport ide_wait_not_busy() Signed-off-by: Bartlomiej Zolnierkiewicz commit 7f3c868ba78e486bd9d7569f884dd46d8f59bb18 Author: Bartlomiej Zolnierkiewicz Date: Tue Jan 6 17:20:53 2009 +0100 ide: remove ide_driver_t typedef While at it: - s/struct ide_driver_s/struct ide_driver/ - use to_ide_driver() macro in ide-proc.c Signed-off-by: Bartlomiej Zolnierkiewicz commit 9892ec5497af1ec38c46974b5a370ba11c636b19 Author: Bartlomiej Zolnierkiewicz Date: Tue Jan 6 17:20:53 2009 +0100 ide: remove 'byte' typedef Just use u8 instead, also s/__u8/u8/ in ide-cd.h while at it. Acked-by: Sergei Shtylyov Signed-off-by: Bartlomiej Zolnierkiewicz commit c0ae50234771684ae0cbac5dfb70e1a09c22aa89 Author: Bartlomiej Zolnierkiewicz Date: Tue Jan 6 17:20:52 2009 +0100 ide: remove ide_pci_enablebit_t typedef Remove needless parens while at it. Acked-by: Sergei Shtylyov Signed-off-by: Bartlomiej Zolnierkiewicz commit 54cc1428cfa619e16d75baae8cb041a2eff015f0 Author: Bartlomiej Zolnierkiewicz Date: Tue Jan 6 17:20:52 2009 +0100 ide: remove local_irq_set() macro Signed-off-by: Bartlomiej Zolnierkiewicz commit 898ec223fea2a2df88035e58dbf50f493577e225 Author: Bartlomiej Zolnierkiewicz Date: Tue Jan 6 17:20:52 2009 +0100 ide: remove HWIF() macro Signed-off-by: Bartlomiej Zolnierkiewicz commit b40d1b88f1001f0224c63fa2c008914514bcef33 Author: Bartlomiej Zolnierkiewicz Date: Tue Jan 6 17:20:51 2009 +0100 ide: move ide_init_port_data() and friends to ide-probe.c * Move IDE_DEFAULT_MAX_FAILURES to . * Move ide_cfg_mtx, ide_hwif_to_major[], ide_port_init_devices_data(), ide_init_port_data(), ide_init_port_hw() and ide_unregister() to ide-probe.c from ide.c. * Make ide_unregister(), ide_init_port_data(), ide_init_port_hw() and ide_cfg_mtx static. While at it: * Remove stale ide_init_port_data() documentation and ide_lock extern. Signed-off-by: Bartlomiej Zolnierkiewicz commit ff670e632e818535950d9e31d9d0dcfc7d5b4090 Author: Bartlomiej Zolnierkiewicz Date: Tue Jan 6 17:20:51 2009 +0100 ide: update ide_unregister() documentation Signed-off-by: Bartlomiej Zolnierkiewicz commit b65fac32cfe3b2f98cd472fef400bd1c1340de23 Author: Bartlomiej Zolnierkiewicz Date: Tue Jan 6 17:20:50 2009 +0100 ide: merge ide_hwgroup_t with ide_hwif_t (v2) * Merge ide_hwgroup_t with ide_hwif_t. * Cleanup init_irq() accordingly, then remove no longer needed ide_remove_port_from_hwgroup() and ide_ports[]. * Remove now unused HWGROUP() macro. While at it: * ide_dump_ata_error() fixups v2: * Fix ->quirk_list check in do_ide_request() (s/hwif->cur_dev/prev_port->cur_dev). Signed-off-by: Bartlomiej Zolnierkiewicz commit 5b31f855f10d0053e738baa6d91fb6a3fad35119 Author: Bartlomiej Zolnierkiewicz Date: Tue Jan 6 17:20:49 2009 +0100 ide: use lock bitops for ports serialization (v2) * Add ->host_busy field to struct ide_host and use it's first bit together with lock bitops to provide new ports serialization method. * Convert core IDE code to use new ide_[un]lock_host() helpers. This removes the need for taking hwgroup->lock if host is already busy on serialized hosts and makes it possible to merge ide_hwgroup_t into ide_hwif_t (done in the later patch). * Remove no longer needed ide_hwgroup_t.busy and ide_[un]lock_hwgroup(). * Update do_ide_request() documentation. v2: * ide_release_lock() should be called inside IDE_HFLAG_SERIALIZE check. * Add ide_hwif_t.busy flag and ide_[un]lock_port() for serializing devices on a port. Signed-off-by: Bartlomiej Zolnierkiewicz commit efe0397eef544ac4bcca23d39aa8d5db154952e0 Author: Bartlomiej Zolnierkiewicz Date: Tue Jan 6 17:20:49 2009 +0100 ide: remove hwgroup->hwif and {drive,hwif}->next * Add 'int port_count' field to ide_hwgroup_t to keep the track of the number of ports in the hwgroup. Then update init_irq() and ide_remove_port_from_hwgroup() to use it. * Remove no longer needed hwgroup->hwif, {drive,hwif}->next, ide_add_drive_to_hwgroup() and ide_remove_drive_from_hwgroup() (hwgroup->drive now only denotes the currently active device in the hwgroup). * Update locking documentation in . While at it: * Rename ->drive field in ide_hwgroup_t to ->cur_dev. * Use __func__ in ide_timer_expiry(). Signed-off-by: Bartlomiej Zolnierkiewicz commit ae86afaee6a1c77c7a06d81dcc3bf872204d3bec Author: Bartlomiej Zolnierkiewicz Date: Tue Jan 6 17:20:48 2009 +0100 ide: use per-port IRQ handlers Use hwif instead of hwgroup as {request,free}_irq()'s cookie, teach ide_intr() to return early for non-active serialized ports, modify unexpected_intr() accordingly and then use per-port IRQ handlers instead of per-hwgroup ones. Signed-off-by: Bartlomiej Zolnierkiewicz commit bd53cbcce501b61921a1af2dddfa87c5b9923dfd Author: Bartlomiej Zolnierkiewicz Date: Tue Jan 6 17:20:48 2009 +0100 ide: add ->cur_port to struct ide_host and use it for serialized hosts * Pass 'ide_hwif_t *' instead of 'ide_hwgroup_t *' to unexpected_intr(). * Cache pointer to the port currently being serviced in ->cur_port and use it instead of hwif->hwgroup on serialized hosts. Signed-off-by: Bartlomiej Zolnierkiewicz commit 42cf2611b28602cf4c9dc7c22bc8653a10dff60d Author: Bartlomiej Zolnierkiewicz Date: Tue Jan 6 17:20:47 2009 +0100 ide: fix setting nIEN on idle devices Fix do_ide_request() to operate on previous device / port instead of the current one. The original code was wrong since at least Feb 2002 (2.4.0 timeframe). Signed-off-by: Bartlomiej Zolnierkiewicz commit b46f205da647608a4064ce0a0acb07a8c74c6f23 Author: Bartlomiej Zolnierkiewicz Date: Tue Jan 6 17:20:47 2009 +0100 ide: fix LOCKDEP warning commit 295f00042aaf6b553b5f37348f89bab463d4a469 ("ide: don't execute the next queued command from the hard-IRQ context") overlooked that ide_do_drive_cmd() (used for REQUEST SENSE command handling) may still invoke do_ide_request() (->request_fn) in the hard-IRQ context through blk_start_queueing(). This resulted in a LOCKDEP warning after commit b599bc7a1199419e122cb2e9ec6b0fa2cfbbc17b ("ide: use per-device request queue locks (v2)"). Since calling blk_start_queuing() in ide_do_drive_cmd() doesn't make much sense as the port is already marked as busy (so the execution of the new command will be deferred anyway) then just remove it fixing LOCKDEP warning and saving some CPU cycles at the same time. Reported-and-tested-by: Larry Finger Reported-by: Grissiom Signed-off-by: Bartlomiej Zolnierkiewicz commit 4be98c0ca304c8a47998b29a7993664f71791250 Author: James Smart Date: Mon Jan 5 12:14:18 2009 -0500 [SCSI] fc transport: restore missing dev_loss_tmo callback to LLDD When we reworked the transport for the rport lifetimes, in cases where the rport was reused as a container for tgt id bindings, we inadvertantly removed the callback to the driver indicating that dev_loss_tmo had fired. This patch restores that functionality. Signed-off-by: James Smart Signed-off-by: James Bottomley commit 167968199089435c63ad1140ccfb8c6179274a0a Merge: 5439e72 227b4dc Author: Takashi Iwai Date: Tue Jan 6 16:33:52 2009 +0100 Merge branch 'topic/asoc' into for-linus commit 36c401a44abcc389a00f9cd14892c9cf9bf0780d Author: Ingo Molnar Date: Tue Jan 6 16:19:22 2009 +0100 [IA64] fix typo in cpumask_of_pcibus() Impact: build fix Fujita Tomonori reported: drivers/pci/probe.c: In function 'pci_bus_show_cpuaffinity': drivers/pci/probe.c:56: error: implicit declaration of function 'cpumask_from_node' drivers/pci/probe.c:56: warning: pointer/integer type mismatch in conditional expression make[3]: *** [drivers/pci/probe.o] Error 1 make[2]: *** [drivers/pci] Error 2 FUJITA Tomonori Signed-off-by: Ingo Molnar commit 1ba12553f3600ffebad226c5204ab0e46df98161 Author: Yan Zheng Date: Tue Jan 6 09:58:02 2009 -0500 Btrfs: don't change file extent's ram_bytes in btrfs_drop_extents btrfs_drop_extents doesn't change file extent's ram_bytes in the case of booked extent. To be consistent, we should also not change ram_bytes when truncating existing extent. Signed-off-by: Yan Zheng commit 180591bcfed1a2cec048abb21d3dab840625caab Author: Yan Zheng Date: Tue Jan 6 09:58:06 2009 -0500 Btrfs: Use btrfs_join_transaction to avoid deadlocks during snapshot creation Snapshot creation happens at a specific time during transaction commit. We need to make sure the code called by snapshot creation doesn't wait for the running transaction to commit. This changes btrfs_delete_inode and finish_pending_snaps to use btrfs_join_transaction instead of btrfs_start_transaction to avoid deadlocks. It would be better if btrfs_delete_inode didn't use the join, but the call path that triggers it is: btrfs_commit_transaction->create_pending_snapshots-> create_pending_snapshot->btrfs_lookup_dentry-> fixup_tree_root_location->btrfs_read_fs_root-> btrfs_read_fs_root_no_name->btrfs_orphan_cleanup->iput This will be fixed in a later patch by moving the orphan cleanup to the cleaner thread. Signed-off-by: Chris Mason commit 9ca03b997f71787e345951e6267fbd8eba14d49f Author: Chris Mason Date: Tue Jan 6 09:38:55 2009 -0500 Btrfs: drop remaining LINUX_KERNEL_VERSION checks and compat code Signed-off-by: Chris Mason commit 227b4dc6432d271eecd0ff0aefe6f0897ec47397 Author: Mark Brown Date: Sat Jan 3 11:24:41 2009 +0100 ASoC: Fix SND_SOC_ALL_CODECS handling of dual SPI and I2C control buses For codecs that have both SPI and I2C support we need to ensure that we don't try to make the codec driver built in when I2C is modular since that won't link. Do this by creating a helper variable which uses conditional defaults to pick up the correct value for all combinations. We don't need to do anything special for I2C-only codecs since a conditional select passes on the full value for a tristate. Reported-by: Ingo Molnar Tested-by: Ingo Molnar Signed-off-by: Mark Brown commit 860a7a0c321ce0267fdb6ebdcd03aa63c5fcb31d Merge: 4a6908a 43b774b Author: Chris Mason Date: Tue Jan 6 09:17:51 2009 -0500 Merge branch 'master' of git://git.kernel.org/pub/scm/linux/kernel/git/mason/btrfs-unstable commit 30f8825c50f93524d7859e6594f15b8f9f852e9f Author: Ben Nizette Date: Thu Jan 1 19:22:21 2009 +1100 avr32: Remove DMATEST from defconfigs In the defconfigs for ATNGW100 and ATSTK100[236] the DMA Test driver is compiled as a module. This means systems built with *_defconfig + CONFIG_MODULES=n are unusable as the 3 dma test channels monopolise the CPU. I 'spose Haavard uses this module a lot but IMO it isn't really something needed on all eval boards by default. Signed-off-by: Ben Nizette Signed-off-by: Haavard Skinnemoen commit 9e9197370dafa7ebc7191d835f0403b13855ca35 Author: Huang Weiyi Date: Tue Jan 6 06:58:39 2009 +0800 x86: remove duplicated #include's Removed duplicated #include's in: arch/x86/kernel/mpparse.c arch/x86/kernel/nmi.c Signed-off-by: Huang Weiyi Signed-off-by: Ingo Molnar commit 4d9f94319c485f5af6717dfd7a333949636aed16 Author: Mike Travis Date: Mon Jan 5 17:09:41 2009 -0800 x86: fix x86_32 builds for summit and es7000 arch's Fix the following build errors reported by Yinghai Lu: | In file included from arch/x86/mach-generic/summit.c:16: | tip/linux-2.6/arch/x86/include/asm/summit/apic.h: | In function 'cpu_mask_to_apicid_and': | tip/linux-2.6/arch/x86/include/asm/summit/apic.h:179: | error: 'GFP_ATOMIC' undeclared (first use in this function) Reported-by: Yinghai Lu Signed-off-by: Mike Travis Signed-off-by: Ingo Molnar commit 40bcc69b399ddbcd2d5c52b277a1b27398339b27 Author: Yinghai Lu Date: Mon Jan 5 18:39:01 2009 -0800 x86: k8 numa register active regions later Impact: cleanup don't register early, so we don't need to clear actived regions if it fail to get node hash shift or wild set in nb config. also remove nodeids array that is not needed Signed-off-by: Yinghai Lu Signed-off-by: Ingo Molnar commit e24500193bc39ef197d9f96af5850e7345fed84d Author: Julia Lawall Date: Sun Nov 23 11:46:58 2008 +0100 arch/avr32: Eliminate NULL test and memset after alloc_bootmem As noted by Akinobu Mita in patch b1fceac2b9e04d278316b2faddf276015fc06e3b, alloc_bootmem and related functions never return NULL and always return a zeroed region of memory. Thus a NULL test or memset after calls to these functions is unnecessary. This was fixed using the following semantic patch. (http://www.emn.fr/x-info/coccinelle/) // @@ expression E; statement S; @@ E = \(alloc_bootmem\|alloc_bootmem_low\|alloc_bootmem_pages\|alloc_bootmem_low_pages\|alloc_bootmem_node\|alloc_bootmem_low_pages_node\|alloc_bootmem_pages_node\)(...) ... when != E ( - BUG_ON (E == NULL); | - if (E == NULL) S ) @@ expression E,E1; @@ E = \(alloc_bootmem\|alloc_bootmem_low\|alloc_bootmem_pages\|alloc_bootmem_low_pages\|alloc_bootmem_node\|alloc_bootmem_low_pages_node\|alloc_bootmem_pages_node\)(...) ... when != E - memset(E,0,E1); // Signed-off-by: Julia Lawall Signed-off-by: Haavard Skinnemoen commit 5a9e67b1a19e08a82387709f325d26e07b891d27 Author: Anisse Astier Date: Tue Jan 6 11:32:22 2009 +0100 trivial: chack -> check typo fix in main Makefile Trivial one letter spelling in main Makefile Signed-off-by: Anisse Astier Signed-off-by: Jiri Kosina commit f1fb9bb8594cecf4e81e7a8ab8f6268e0bace40b Author: Paul Bolle Date: Tue Dec 30 14:06:43 2008 +0100 trivial: Add a space (and a comma) to a printk in 8250 driver Commit d87a6d9 ("drivers/serial/: remove CVS keywords") removed one space too many in the printk in serial8250_init(). Put it back in (and add a comma for clarity). Signed-off-by: Paul Bolle Signed-off-by: Jiri Kosina commit 8b5b8f4cea18cb30f748baa913234c62cdc64541 Author: Nick Andrew Date: Sat Jan 3 19:00:37 2009 +1100 trivial: Fix misspelling of "firmware" in docs for ncr53c8xx/sym53c8xx Fix misspelling of "firmware" in docs for ncr53c8xx/sym53c8xx It's spelled "firmware". Signed-off-by: Nick Andrew Signed-off-by: Jiri Kosina commit 2a94739c70c95d13d3428fb5809d7037ed9ecb94 Author: Nick Andrew Date: Sat Jan 3 18:59:37 2009 +1100 trivial: Fix misspelling of "firmware" in powerpc Makefile Fix misspelling of "firmware" in powerpc Makefile It's spelled "firmware". Signed-off-by: Nick Andrew Signed-off-by: Jiri Kosina commit 8eb09d8d24e7d71e9888e7a877f23d37fce65f2b Author: Nick Andrew Date: Sat Jan 3 18:58:37 2009 +1100 trivial: Fix misspelling of "firmware" in usb.c Fix misspelling of "firmware" in usb.c It's spelled "firmware". Signed-off-by: Nick Andrew Signed-off-by: Jiri Kosina commit c3af1715928ce07300595b9e050728787f6a1718 Author: Nick Andrew Date: Sat Jan 3 18:57:37 2009 +1100 trivial: Fix misspelling of "firmware" in qla1280.c Fix misspelling of "firmware" in qla1280.c It's spelled "firmware". Signed-off-by: Nick Andrew Signed-off-by: Jiri Kosina commit 89546deb912ca9f8ad87afb3944e0239dc47a2df Author: Nick Andrew Date: Sat Jan 3 18:56:38 2009 +1100 trivial: Fix misspelling of "firmware" in a100u2w.c Fix misspelling of "firmware" in a100u2w.c It's spelled "firmware". Signed-off-by: Nick Andrew Signed-off-by: Jiri Kosina commit d41ad93872adf345595c8e28b3de980b2ae15268 Author: Nick Andrew Date: Sat Jan 3 18:55:39 2009 +1100 trivial: Fix misspelling of "firmware" in megaraid.c Fix misspelling of "firmware" in megaraid.c Fixed "firmware", "ownership" and grammar in the same comment. Signed-off-by: Nick Andrew Signed-off-by: Jiri Kosina commit 11b918282faf118dc20fed42efb6925b5fd82a64 Author: Nick Andrew Date: Sat Jan 3 18:54:39 2009 +1100 trivial: Fix misspelling of "firmware" in ql4_mbx.c Fix misspelling of "firmware" in ql4_mbx.c It's spelled "firmware". Signed-off-by: Nick Andrew Signed-off-by: Jiri Kosina commit c7060d9e9e5aceaddaa58df87221befff963ec3f Author: Nick Andrew Date: Sat Jan 3 18:53:39 2009 +1100 trivial: Fix misspelling of "firmware" in acpi_memhotplug.c Fix misspelling of "firmware" in acpi_memhotplug.c It's spelled "firmware". Signed-off-by: Nick Andrew Signed-off-by: Jiri Kosina commit 4407245ac5c5defa303c05828c57d7855aa7e5ee Author: Nick Andrew Date: Sat Jan 3 18:52:40 2009 +1100 trivial: Fix misspelling of "firmware" in ipw2100.c Fix misspelling of "firmware" in ipw2100.c It's spelled "firmware". Signed-off-by: Nick Andrew Signed-off-by: Jiri Kosina commit d535295b16710552e9e8f9923670a95c447e842a Author: Nick Andrew Date: Sat Jan 3 18:51:33 2009 +1100 trivial: Fix misspelling of "firmware" in atmel.c Fix misspelling of "firmware" in atmel.c It's spelled "firmware". Signed-off-by: Nick Andrew Signed-off-by: Jiri Kosina commit 11f1fbcf92ae19b547f499f50937be6068062f15 Author: Nick Andrew Date: Sat Jan 3 18:50:34 2009 +1100 trivial: Fix misspelled firmware in Kconfig Fix misspelled firmware in Kconfig It's spelled "firmware". Signed-off-by: Nick Andrew Signed-off-by: Jiri Kosina commit 0211a9c8508b2183e0e539509aad60414f1c3813 Author: Frederik Schwarzer Date: Mon Dec 29 22:14:56 2008 +0100 trivial: fix an -> a typos in documentation and comments It is always "an" if there is a vowel _spoken_ (not written). So it is: "an hour" (spoken vowel) but "a uniform" (spoken 'j') Signed-off-by: Frederik Schwarzer Signed-off-by: Jiri Kosina commit 025dfdafe77f20b3890981a394774baab7b9c827 Author: Frederik Schwarzer Date: Thu Oct 16 19:02:37 2008 +0200 trivial: fix then -> than typos in comments and documentation - (better, more, bigger ...) then -> (...) than Signed-off-by: Frederik Schwarzer Signed-off-by: Jiri Kosina commit 0abb8b6a939b742f273edc68b64dba26c57331bc Author: Jesper Juhl Date: Tue Dec 23 10:07:39 2008 +0100 trivial: update Jesper Juhl CREDITS entry with new email Old email no longer exists, this updates CREDITS with my new one. Signed-off-by: Jesper Juhl Signed-off-by: Jiri Kosina commit c03264a790acacb94839be11b95ff9363a768f6b Author: Frederik Schwarzer Date: Tue Dec 23 00:54:00 2008 +0100 trivial: fix singal -> signal typo Typo fix. Signed-off-by: Frederik Schwarzer Signed-off-by: Jiri Kosina commit 3a4e367832da8a2614f7ff1321483e30404d6dfe Author: Nick Andrew Date: Fri Dec 5 14:08:02 2008 +1100 trivial: Fix incorrect use of "loose" in event.c Fix incorrect use of loose in event.c It should be 'lose', not 'loose'. Signed-off-by: Nick Andrew Signed-off-by: Jiri Kosina commit edb123e16c6092bd08b67d1130ff03efeada0c89 Author: Jiri Kosina Date: Thu Dec 4 12:39:49 2008 +0100 trivial: printk: fix indentation of new_text_line declaration Remove bogus indentation of new_text_line declaration introduced in commit ac60ad741. Acked-by: Nick Andrew Signed-off-by: Jiri Kosina commit 277835adca10a696ac3e2a103ea537658c141a3c Author: Hannes Eder Date: Fri Nov 28 17:11:47 2008 +0100 trivial: rtc-stk17ta8: fix sparse warning Fix this sparse warning: drivers/rtc/rtc-stk17ta8.c:403:2: warning: returning void-valued expression Acked-by: Alessandro Zummo Signed-off-by: Hannes Eder Signed-off-by: Jiri Kosina commit 4367fa510737fc95094f92f6c6fb068b0410431d Author: Hannes Eder Date: Sun Nov 30 14:05:45 2008 +0100 trivial: rtc-ds1511: fix sparse warning Fix this sparse warning: drivers/rtc/rtc-ds1511.c:634:2: warning: returning void-valued expression Acked-by: Alessandro Zummo Signed-off-by: Hannes Eder Signed-off-by: Jiri Kosina commit 24d431d06aeeda2b12cc925c6e1693c45ae5088b Author: Ron Lee Date: Thu Nov 27 02:31:57 2008 +1030 trivial: add missing printk loglevel in start_kernel Add missing printk loglevel in start_kernel Signed-off-by: Ron Lee Signed-off-by: Jiri Kosina commit 8e6bdb7f8b478323525444ecee7a1477ff5b6639 Author: Wu Fengguang Date: Thu Nov 27 11:42:22 2008 +0100 trivial: radix-tree: document wrap-around issue of radix_tree_next_hole() And some 80-line cleanups. Signed-off-by: Wu Fengguang Signed-off-by: Jiri Kosina commit 2b6a2f535dda8c60721b78699618d13d6799a29e Author: Jiri Kosina Date: Fri Nov 14 11:55:03 2008 +0100 trivial: Update MAINTAINERS entry I am taking over the trivial patch monkey tree from Jesper, as he doesn't have time for it any more. Acked-by: Jesper Juhl Signed-off-by: Jiri Kosina commit db2f59c8c9b315f2b88b1dac159b988c6009034d Author: Li Zefan Date: Tue Jan 6 17:40:36 2009 +0800 sched: fix section mismatch init_rootdomain() calls alloc_bootmem_cpumask_var() at system boot, so does cpupri_init(). Signed-off-by: Li Zefan Signed-off-by: Ingo Molnar commit 0c910d289567163dbe40ccc174b36afd1c7723bd Author: Li Zefan Date: Tue Jan 6 17:39:06 2009 +0800 sched: fix double kfree in failure path It's not the responsibility of init_rootdomain() to free root_domain allocated by alloc_rootdomain(). Signed-off-by: Li Zefan Reviewed-by: Pekka Enberg Signed-off-by: Ingo Molnar commit 8c0bad7fa5be47aa8a3d03ff6ee1917fa68b72e3 Author: Mark Brown Date: Tue Jan 6 09:52:18 2009 +0000 ASoC: Use snd_soc_dapm_nc_pin() in at91sam9g20ek Signed-off-by: Mark Brown commit 9334e90d5ac5ee1fa6d8b75acb7c64a8907787d1 Author: Jiri Kosina Date: Tue Jan 6 01:35:45 2009 -0800 Input: i8042 - add Dell Vostro 1510 to nomux list Dell Vostro needs 'nomux' quirk, otherwise the touchpad misbehaves. Reported-by: Robert Kiwanuka Signed-off-by: Jiri Kosina Signed-off-by: Dmitry Torokhov commit 5439e726b54af8fdd958afa2ff42c4821eaf027a Merge: 238c6d5 2f42357 Author: Takashi Iwai Date: Tue Jan 6 09:48:51 2009 +0100 Merge branch 'topic/asoc' into for-linus commit d9be28ea9110c596a05bd2d56afa94251bd19818 Merge: c70f22d 1c5745a 47fea2a 238c6d5 Author: Ingo Molnar Date: Tue Jan 6 09:33:57 2009 +0100 Merge branches 'sched/clock', 'sched/cleanups' and 'linus' into sched/urgent commit fdbc0450df12cc9cb397f3497db4b0cad7c1a8ff Merge: 46483d1 90621c4 ea31951 238c6d5 Author: Ingo Molnar Date: Tue Jan 6 09:32:11 2009 +0100 Merge branches 'core/futexes', 'core/locking', 'core/rcu' and 'linus' into core/urgent commit e39ad415ac15116df213dfa2aa2a4f1b0857af9c Author: Mike Travis Date: Sun Jan 4 05:18:10 2009 -0800 cpumask: use work_on_cpu in acpi-cpufreq.c for read_measured_perf_ctrs Impact: use new cpumask API to reduce stack usage Replace the saving of current->cpus_allowed and set_cpus_allowed_ptr() with a work_on_cpu function for read_measured_perf_ctrs(). Basically splits off the work function from get_measured_perf which is run on the designated cpu. Moves definition of struct perf_cur out of function local namespace, and is used as the work function argument. References in get_measured_perf use values in the perf_cur struct. Signed-off-by: Mike Travis Acked-by: Rusty Russell Signed-off-by: Ingo Molnar commit 7503bfbae89eba07b46441a5d1594647f6b8ab7d Author: Mike Travis Date: Sun Jan 4 05:18:09 2009 -0800 cpumask: use work_on_cpu in acpi-cpufreq.c for drv_read and drv_write Impact: use new cpumask API to reduce stack usage Replace the saving of current->cpus_allowed and set_cpus_allowed_ptr() with a work_on_cpu function for drv_read() and drv_write(). Basically converts do_drv_{read,write} into "work_on_cpu" functions that are now called by drv_read and drv_write. Signed-off-by: Mike Travis Acked-by: Rusty Russell Signed-off-by: Ingo Molnar commit 4d8bb5374924fc736ce275bfd1619b87a2106860 Author: Mike Travis Date: Sun Jan 4 05:18:08 2009 -0800 cpumask: use cpumask_var_t in acpi-cpufreq.c Impact: cleanup, reduce stack usage, use new cpumask API. Replace the cpumask_t in struct drv_cmd with a cpumask_var_t. Remove unneeded online_policy_cpus cpumask_t in acpi_cpufreq_target. Update refs to use new cpumask API. Signed-off-by: Mike Travis Acked-by: Rusty Russell Signed-off-by: Ingo Molnar commit c74f31c035f46a095a0c72f80246a65b314205a5 Author: Mike Travis Date: Sun Jan 4 05:18:07 2009 -0800 cpumask: use work_on_cpu in acpi/cstate.c Impact: use new cpumask API to reduce stack usage Replace the saving of current->cpus_allowed and set_cpus_allowed_ptr() with a work_on_cpu function for the acpi_processor_ffh_cstate_probe() function. Basically splits acpi_processor_ffh_cstate_probe() into two functions, the other being acpi_processor_ffh_cstate_probe_cpu which is the work function run on the designated cpu. Signed-off-by: Mike Travis Acked-by: Rusty Russell Signed-off-by: Ingo Molnar commit 835481d9bcd65720b473db6b38746a74a3964218 Author: Rusty Russell Date: Sun Jan 4 05:18:06 2009 -0800 cpumask: convert struct cpufreq_policy to cpumask_var_t Impact: use new cpumask API to reduce memory usage This is part of an effort to reduce structure sizes for machines configured with large NR_CPUS. cpumask_t gets replaced by cpumask_var_t, which is either struct cpumask[1] (small NR_CPUS) or struct cpumask * (large NR_CPUS). Signed-off-by: Rusty Russell Signed-off-by: Mike Travis Acked-by: Dave Jones Signed-off-by: Ingo Molnar commit 5cb0535f1713b51610f2881b17d0fe3656114364 Author: Rusty Russell Date: Sun Jan 4 05:18:05 2009 -0800 cpumask: replace CPUMASK_ALLOC etc with cpumask_var_t Impact: cleanup There's only one user, and it's a fairly easy conversion. Signed-off-by: Rusty Russell Signed-off-by: Mike Travis Acked-by: Dave Jones Signed-off-by: Ingo Molnar commit d12418fdeafdc08dd5bbec89d3e07e47ee75da55 Merge: c2d1cec 238c6d5 Author: Ingo Molnar Date: Tue Jan 6 09:04:32 2009 +0100 Merge branch 'linus' into cpus4096 commit abda14189251563a50f56da5ea2e37e904ac4cba Author: Theodore Ts'o Date: Tue Jan 6 00:20:32 2009 -0500 ext4: Make printk's consistently prefixed with "EXT4-fs: " Previously, some were "ext4: ", and some were "EXT4: "; change them to be consistent with most ext4 printk's, which is to use "EXT4-fs: ". Signed-off-by: "Theodore Ts'o" commit 4ec110281379826c5cf6ed14735e47027c3c5765 Author: Theodore Ts'o Date: Tue Jan 6 14:53:26 2009 -0500 ext4: Add sanity checks for the superblock before mounting the filesystem This avoids insane superblock configurations that could lead to kernel oops due to null pointer derefences. http://bugzilla.kernel.org/show_bug.cgi?id=12371 Thanks to David Maciejak at Fortinet's FortiGuard Global Security Research Team who discovered this bug independently (but at approximately the same time) as Thiemo Nagel, who submitted the patch. Signed-off-by: Thiemo Nagel Signed-off-by: "Theodore Ts'o" Cc: stable@kernel.org commit 46377bb311a7682f6240c954c48e81a1e4f51e66 Author: David S. Miller Date: Mon Jan 5 20:51:04 2009 -0800 acenic: Missed delete of acenic_firmware.h When I applied the firmware conversion I made a mistake which caused the acenic_firmware.h deletion to not happen. Fix that up. Noticed by Linus. Signed-off-by: David S. Miller commit b3881f74b31b7d47d0f1c4d89ac3e7f0b9c05e3e Author: Theodore Ts'o Date: Mon Jan 5 22:46:26 2009 -0500 ext4: Add mount option to set kjournald's I/O priority Signed-off-by: "Theodore Ts'o" Cc: Jens Axboe commit 238c6d54830c624f34ac9cf123ac04aebfca5013 Merge: 8e128ce a159c1a Author: Linus Torvalds Date: Mon Jan 5 19:20:59 2009 -0800 Merge git://git.kernel.org/pub/scm/linux/kernel/git/agk/linux-2.6-dm * git://git.kernel.org/pub/scm/linux/kernel/git/agk/linux-2.6-dm: dm snapshot: extend exception store functions dm snapshot: split out exception store implementations dm snapshot: rename struct exception_store dm snapshot: separate out exception store interface dm mpath: move trigger_event to system workqueue dm: add name and uuid to sysfs dm table: rework reference counting dm: support barriers on simple devices dm request: extend target interface dm request: add caches dm ioctl: allow dm_copy_name_and_uuid to return only one field dm log: ensure log bitmap fits on log device dm log: move region_size validation dm log: avoid reinitialising io_req on every operation dm: consolidate target deregistration error handling dm raid1: fix error count dm log: fix dm_io_client leak on error paths dm snapshot: change yield to msleep dm table: drop reference at unbind commit 43b774ba1378dc5e952aadb829048bbe90ba33e4 Author: Chris Mason Date: Mon Jan 5 22:05:48 2009 -0500 Btrfs: drop EXPORT symbols from extent_io.c They should stay out until this is turned into generic code. Signed-off-by: Chris Mason commit a159c1ac5f33c6cf0f5aa3c9d1ccdc82c907ee46 Author: Jonathan Brassow Date: Tue Jan 6 03:05:19 2009 +0000 dm snapshot: extend exception store functions Supply dm_add_exception as a callback to the read_metadata function. Add a status function ready for a later patch and name the functions consistently. Signed-off-by: Jonathan Brassow Signed-off-by: Alasdair G Kergon commit 4db6bfe02bdc7dc5048f46dd682a94801d029adc Author: Alasdair G Kergon Date: Tue Jan 6 03:05:17 2009 +0000 dm snapshot: split out exception store implementations Move the existing snapshot exception store implementations out into separate files. Later patches will place these behind a new interface in preparation for alternative implementations. Signed-off-by: Alasdair G Kergon commit 1ae25f9c933d1432fbffdf3e126051a974608abf Author: Jonathan Brassow Date: Tue Jan 6 03:05:16 2009 +0000 dm snapshot: rename struct exception_store Rename struct exception_store to dm_exception_store. Signed-off-by: Jonathan Brassow Signed-off-by: Alasdair G Kergon commit aea53d92f70eeb00ae480e399a997dd55fd5055d Author: Jonathan Brassow Date: Tue Jan 6 03:05:15 2009 +0000 dm snapshot: separate out exception store interface Pull structures that bridge the gap between snapshot and exception store out of dm-snap.h and put them in a new .h file - dm-exception-store.h. This file will define the API for new exception stores. Ultimately, dm-snap.h is unnecessary, since only dm-snap.c should be using it. Signed-off-by: Jonathan Brassow Signed-off-by: Alasdair G Kergon commit fe9cf30eb8186ef267d1868dc9f12f2d0f40835a Author: Alasdair G Kergon Date: Tue Jan 6 03:05:13 2009 +0000 dm mpath: move trigger_event to system workqueue The same workqueue is used both for sending uevents and processing queued I/O. Deadlock has been reported in RHEL5 when sending a uevent was blocked waiting for the queued I/O to be processed. Use scheduled_work() for the asynchronous uevents instead. Signed-off-by: Alasdair G Kergon commit 784aae735d9b0bba3f8b9faef4c8b30df3bf0128 Author: Milan Broz Date: Tue Jan 6 03:05:12 2009 +0000 dm: add name and uuid to sysfs Implement simple read-only sysfs entry for device-mapper block device. This patch adds a simple sysfs directory named "dm" under block device properties and implements - name attribute (string containing mapped device name) - uuid attribute (string containing UUID, or empty string if not set) The kobject is embedded in mapped_device struct, so no additional memory allocation is needed for initializing sysfs entry. During the processing of sysfs attribute we need to lock mapped device which is done by a new function dm_get_from_kobj, which returns the md associated with kobject and increases the usage count. Each 'show attribute' function is responsible for its own locking. Signed-off-by: Milan Broz Signed-off-by: Alasdair G Kergon commit d58168763f74d1edbc296d7038c60efe6493fdd4 Author: Mikulas Patocka Date: Tue Jan 6 03:05:10 2009 +0000 dm table: rework reference counting Rework table reference counting. The existing code uses a reference counter. When the last reference is dropped and the counter reaches zero, the table destructor is called. Table reference counters are acquired/released from upcalls from other kernel code (dm_any_congested, dm_merge_bvec, dm_unplug_all). If the reference counter reaches zero in one of the upcalls, the table destructor is called from almost random kernel code. This leads to various problems: * dm_any_congested being called under a spinlock, which calls the destructor, which calls some sleeping function. * the destructor attempting to take a lock that is already taken by the same process. * stale reference from some other kernel code keeps the table constructed, which keeps some devices open, even after successful return from "dmsetup remove". This can confuse lvm and prevent closing of underlying devices or reusing device minor numbers. The patch changes reference counting so that the table destructor can be called only at predetermined places. The table has always exactly one reference from either mapped_device->map or hash_cell->new_map. After this patch, this reference is not counted in table->holders. A pair of dm_create_table/dm_destroy_table functions is used for table creation/destruction. Temporary references from the other code increase table->holders. A pair of dm_table_get/dm_table_put functions is used to manipulate it. When the table is about to be destroyed, we wait for table->holders to reach 0. Then, we call the table destructor. We use active waiting with msleep(1), because the situation happens rarely (to one user in 5 years) and removing the device isn't performance-critical task: the user doesn't care if it takes one tick more or not. This way, the destructor is called only at specific points (dm_table_destroy function) and the above problems associated with lazy destruction can't happen. Finally remove the temporary protection added to dm_any_congested(). Signed-off-by: Mikulas Patocka Signed-off-by: Alasdair G Kergon commit ab4c1424882be9cd70b89abf2b484add355712fa Author: Andi Kleen Date: Tue Jan 6 03:05:09 2009 +0000 dm: support barriers on simple devices Implement barrier support for single device DM devices This patch implements barrier support in DM for the common case of dm linear just remapping a single underlying device. In this case we can safely pass the barrier through because there can be no reordering between devices. NB. Any DM device might cease to support barriers if it gets reconfigured so code must continue to allow for a possible -EOPNOTSUPP on every barrier bio submitted. - agk Signed-off-by: Andi Kleen Signed-off-by: Mikulas Patocka Signed-off-by: Alasdair G Kergon commit 7d76345da6ed3927c9cbf5d3f7a7021e8bba7374 Author: Kiyoshi Ueda Date: Tue Jan 6 03:05:07 2009 +0000 dm request: extend target interface This patch adds the following target interfaces for request-based dm. map_rq : for mapping a request rq_end_io : for finishing a request busy : for avoiding performance regression from bio-based dm. Target can tell dm core not to map requests now, and that may help requests in the block layer queue to be bigger by I/O merging. In bio-based dm, this behavior is done by device drivers managing the block layer queue. But in request-based dm, dm core has to do that since dm core manages the block layer queue. Signed-off-by: Kiyoshi Ueda Signed-off-by: Jun'ichi Nomura Signed-off-by: Alasdair G Kergon commit 8fbf26ad5b16ad3a826ca7fe3e86700420abed1f Author: Kiyoshi Ueda Date: Tue Jan 6 03:05:06 2009 +0000 dm request: add caches This patch prepares some kmem_caches for request-based dm. Signed-off-by: Kiyoshi Ueda Signed-off-by: Jun'ichi Nomura Signed-off-by: Alasdair G Kergon commit 23d39f63aa87e812fd879b8bc32ee6ccfe733de3 Author: Milan Broz Date: Tue Jan 6 03:05:04 2009 +0000 dm ioctl: allow dm_copy_name_and_uuid to return only one field Allow NULL buffer in dm_copy_name_and_uuid if you only want to return one of the fields. (Required by a following patch that adds these fields to sysfs.) Signed-off-by: Milan Broz Reviewed-by: Alasdair G Kergon Signed-off-by: Alasdair G Kergon commit ac1f0ac22c7be908fd33407273b9808bfaedada4 Author: Milan Broz Date: Tue Jan 6 03:05:02 2009 +0000 dm log: ensure log bitmap fits on log device Check that the log bitmap will fit within the log device. Signed-off-by: Milan Broz Signed-off-by: Alasdair G Kergon commit 2045e88edb4e0c9ce62d317f77dc59d27d9c530e Author: Milan Broz Date: Tue Jan 6 03:05:01 2009 +0000 dm log: move region_size validation Move log size validation from mirror target to log constructor. Removed PAGE_SIZE restriction we no longer think necessary. Signed-off-by: Milan Broz Signed-off-by: Alasdair G Kergon commit 6f3af01cb0eda0ec50fe1e4cbdf028269dc396fe Author: Takahiro Yasui Date: Tue Jan 6 03:04:59 2009 +0000 dm log: avoid reinitialising io_req on every operation rw_header function updates three members of io_req data every time when I/O is processed. bi_rw and notify.fn are never modified once they get initialized, and so they can be set in advance. header_to_disk() can also be pulled out of write_header() since only one caller needs it and write_header() can be replaced by rw_header() directly. Signed-off-by: Takahiro Yasui Signed-off-by: Alasdair G Kergon commit 10d3bd09a3c25df114f74f7f86e1b58d070bef32 Author: Mikulas Patocka Date: Tue Jan 6 03:04:58 2009 +0000 dm: consolidate target deregistration error handling Change dm_unregister_target to return void and use BUG() for error reporting. dm_unregister_target can only fail because of programming bug in the target driver. It can't fail because of user's behavior or disk errors. This patch changes unregister_target to return void and use BUG if someone tries to unregister non-registered target or unregister target that is in use. This patch removes code duplication (testing of error codes in all dm targets) and reports bugs in just one place, in dm_unregister_target. In some target drivers, these return codes were ignored, which could lead to a situation where bugs could be missed. Signed-off-by: Mikulas Patocka Signed-off-by: Alasdair G Kergon commit d460c65a6a9ec9e0d284864ec3a9a2d1b73f0e43 Author: Jonathan Brassow Date: Tue Jan 6 03:04:57 2009 +0000 dm raid1: fix error count Always increase the error count when I/O on a leg of a mirror fails. The error count is used to decide whether to select an alternative mirror leg. If the target doesn't use the "handle_errors" feature, the error count is not updated and the bio can get requeued forever by the read callback. Fix it by increasing error_count before the handle_errors feature checking. Cc: stable@kernel.org Signed-off-by: Milan Broz Signed-off-by: Jonathan Brassow Signed-off-by: Alasdair G Kergon commit c7a2bd19b7c1e0bd2c7604c53d2583e91e536948 Author: Takahiro Yasui Date: Tue Jan 6 03:04:56 2009 +0000 dm log: fix dm_io_client leak on error paths In create_log_context function, dm_io_client_destroy function needs to be called, when memory allocation of disk_header, sync_bits and recovering_bits failed, but dm_io_client_destroy is not called. Cc: stable@kernel.org Signed-off-by: Takahiro Yasui Acked-by: Jonathan Brassow Signed-off-by: Alasdair G Kergon commit 90fa1527bddc7147dc0d590ee6184ca88bc50ecf Author: Mikulas Patocka Date: Tue Jan 6 03:04:54 2009 +0000 dm snapshot: change yield to msleep Change yield() to msleep(1). If the thread had realtime priority, yield() doesn't really yield, so the yielding process would loop indefinitely and cause machine lockup. Signed-off-by: Mikulas Patocka Signed-off-by: Alasdair G Kergon commit a1b51e98676932d031f5eec1325b2df4bbdc8f26 Author: Mikulas Patocka Date: Tue Jan 6 03:04:53 2009 +0000 dm table: drop reference at unbind Move one dm_table_put() so that the last reference in the thread gets dropped in __unbind(). This is required for a following patch, dm-table-rework-reference-counting.patch, which will change the logic in such a way that table destructor is called only at specific points in the code. Signed-off-by: Mikulas Patocka Signed-off-by: Alasdair G Kergon commit 8e128ce3318a147903c893de1891f6c2306f8a61 Merge: 0bbb275 3f874b6 Author: Linus Torvalds Date: Mon Jan 5 19:04:09 2009 -0800 Merge branch 'for-next' of git://git.o-hand.com/linux-mfd * 'for-next' of git://git.o-hand.com/linux-mfd: (30 commits) mfd: Fix section mismatch in da903x mfd: move drivers/i2c/chips/menelaus.c to drivers/mfd mfd: move drivers/i2c/chips/tps65010.c to drivers/mfd mfd: dm355evm msp430 driver mfd: Add missing break from wm3850-core mfd: Add WM8351 support mfd: Support configurable numbers of DCDCs and ISINKs on WM8350 mfd: Handle missing WM8350 platform data mfd: Add WM8352 support mfd: Use irq_to_desc in twl4030 code power_supply: Add Dialog DA9030 battery charger driver mfd: Dialog DA9030 battery charger MFD driver mfd: Register WM8400 codec device mfd: Pass driver_data onto child devices mfd: Fix twl4030-core.c build error mfd: twl4030 regulator bug fixes mfd: twl4030: create some regulator devices mfd: twl4030: cleanup symbols and OMAP dependency mfd: twl4030: simplified child creation code power_supply: Add battery health reporting for WM8350 ... commit 0bbb2753584231db364b624bf8cf82551b94da7d Merge: 0578c3b 9e01892 Author: Linus Torvalds Date: Mon Jan 5 19:03:39 2009 -0800 Merge git://git.kernel.org/pub/scm/linux/kernel/git/rusty/linux-2.6-for-linus * git://git.kernel.org/pub/scm/linux/kernel/git/rusty/linux-2.6-for-linus: module: convert to stop_machine_create/destroy. stop_machine: introduce stop_machine_create/destroy. parisc: fix module loading failure of large kernel modules module: fix module loading failure of large kernel modules for parisc module: fix warning of unused function when !CONFIG_PROC_FS kernel/module.c: compare symbol values when marking symbols as exported in /proc/kallsyms. remove CONFIG_KMOD commit 0578c3b4d44c34e499e1fd5916ed6c63635b25cf Merge: 7d8a804 52942b6 Author: Linus Torvalds Date: Mon Jan 5 19:03:11 2009 -0800 Merge branch 'core-fixes-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip * 'core-fixes-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip: swiotlb: Don't include linux/swiotlb.h twice in lib/swiotlb.c intel-iommu: fix build error with INTR_REMAP=y and DMAR=n swiotlb: add missing __init annotations commit 7d8a804c594b61a05c698126165b5dc417d94a0f Merge: c58bd34 722d742 Author: Linus Torvalds Date: Mon Jan 5 19:02:09 2009 -0800 Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/teigland/dlm * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/teigland/dlm: dlm: fs/dlm/ast.c: fix warning dlm: add new debugfs entry dlm: add time stamp of blocking callback dlm: change lock time stamping dlm: improve how bast mode handling dlm: remove extra blocking callback check dlm: replace schedule with cond_resched dlm: remove kmap/kunmap dlm: trivial annotation of be16 value dlm: fix up memory allocation flags commit c58bd34d00e04df9a0691732086cf8102b20d907 Merge: 8606ab6 88f60f6 Author: Linus Torvalds Date: Mon Jan 5 18:58:06 2009 -0800 Merge branch 'i2c-next' of git://aeryn.fluff.org.uk/bjdooks/linux * 'i2c-next' of git://aeryn.fluff.org.uk/bjdooks/linux: i2c-omap: fix type of irq handler function i2c-s3c2410: Change IRQ to be plain integer. i2c-s3c2410: Allow more than one i2c-s3c2410 adapter i2c-s3c2410: Remove default platform data. i2c-s3c2410: Use platform data for gpio configuration i2c-s3c2410: Fixup style problems from checkpatch.pl i2c-omap: Enable I2C wakeups for 34xx i2c-omap: reprogram OCP_SYSCONFIG register after reset i2c-omap: convert 'rev1' flag to generic 'rev' u8 i2c-omap: fix I2C timeouts due to recursive omap_i2c_{un,}idle() i2c-omap: Clean-up i2c-omap i2c-omap: Don't compile in OMAP15xx I2C ISR for non-OMAP15xx builds i2c-omap: Mark init-only functions as __init i2c-omap: Add support for omap34xx i2c-omap: FIFO handling support and broken hw workaround for i2c-omap i2c-omap: Add high-speed support to omap-i2c i2c-omap: Close suspected race between omap_i2c_idle() and omap_i2c_isr() i2c-omap: Do not use interruptible wait call in omap_i2c_xfer_msg Fix up apparently-trivial conflict in drivers/i2c/busses/i2c-s3c2410.c commit 8606ab6d30dbaaafff985bd462bf33c36997eae9 Merge: c54feba ed42350 Author: Linus Torvalds Date: Mon Jan 5 18:53:34 2009 -0800 Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jikos/hid * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jikos/hid: (22 commits) HID: fix error condition propagation in hid-sony driver HID: fix reference count leak hidraw HID: add proper support for pensketch 12x9 tablet HID: don't allow DealExtreme usb-radio be handled by usb hid driver HID: fix default Kconfig setting for TopSpeed driver HID: driver for TopSeed Cyberlink quirky remote HID: make boot protocol drivers depend on EMBEDDED HID: avoid sparse warning in HID_COMPAT_LOAD_DRIVER HID: hiddev cleanup -- handle all error conditions properly HID: force feedback driver for GreenAsia 0x12 PID HID: switch specialized drivers from "default y" to !EMBEDDED HID: set proper dev.parent in hidraw HID: add dynids facility HID: use GFP_KERNEL in hid_alloc_buffers HID: usbhid, use usb_endpoint_xfer_int HID: move usbhid flags to usbhid.h HID: add n-trig digitizer support HID: add phys and name ioctls to hidraw HID: struct device - replace bus_id with dev_name(), dev_set_name() HID: automatically call usbhid_set_leds in usbhid driver ... commit c54febae996d36c630f09209cd9983ecfda3fcad Merge: e42e4ba eb8374e Author: Linus Torvalds Date: Mon Jan 5 18:52:54 2009 -0800 Merge git://git.kernel.org/pub/scm/linux/kernel/git/steve/gfs2-2.6-nmw * git://git.kernel.org/pub/scm/linux/kernel/git/steve/gfs2-2.6-nmw: (27 commits) GFS2: Use DEFINE_SPINLOCK GFS2: Fix use-after-free bug on umount (try #2) Revert "GFS2: Fix use-after-free bug on umount" GFS2: Streamline alloc calculations for writes GFS2: Send useful information with uevent messages GFS2: Fix use-after-free bug on umount GFS2: Remove ancient, unused code GFS2: Move four functions from super.c GFS2: Fix bug in gfs2_lock_fs_check_clean() GFS2: Send some sensible sysfs stuff GFS2: Kill two daemons with one patch GFS2: Move gfs2_recoverd into recovery.c GFS2: Fix "truncate in progress" hang GFS2: Clean up & move gfs2_quotad GFS2: Add more detail to debugfs glock dumps GFS2: Banish struct gfs2_rgrpd_host GFS2: Move rg_free from gfs2_rgrpd_host to gfs2_rgrpd GFS2: Move rg_igeneration into struct gfs2_rgrpd GFS2: Banish struct gfs2_dinode_host GFS2: Move i_size from gfs2_dinode_host and rename it to i_disksize ... commit e42e4ba07bc72c0eb7c7ab3bf9e5076db90d0f37 Author: Linus Torvalds Date: Mon Jan 5 18:47:12 2009 -0800 igb: fix anoying type mismatch warning on rx/tx queue sizing When using "min()", the types of both sides should match. With the cpu mask changes, the type of num_online_cpus() will now depend on config options. Use "min_t()" with an explicit type instead. And make the rx/tx case look the same too, just for sanity. Signed-off-by: Linus Torvalds commit 7a1fcd5f5130f173b5e824135735ec58f245563e Merge: 15b0669 4696b64 Author: Linus Torvalds Date: Mon Jan 5 18:45:06 2009 -0800 Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/sparc-2.6 * git://git.kernel.org/pub/scm/linux/kernel/git/davem/sparc-2.6: (30 commits) sparc: Fix minor SPARC32 compile error sparc: Remove reg*.h from Kbuild sparc: Clean arch-specific code in prom_common.c sparc: Kill asm/reg*.h sparc: Use 64BIT config entry MAINTAINERS: update sparc maintainer sparc: unify ipcbuf.h sparc: Update 64-bit defconfig. sparc: remove NO_PROC_ID - it is no longer used sparc: drop get_tbr() in traps.h sparc: fix warning in userspace header traps.h sparc: fix warnings in userspace header byteorder.h sparc: fix warning in userspace header jsflash.h sparc: unify openprom.h sparc64: delete unused linux_prom64_ranges from openprom_64.h sparc: prepare openprom for unification sparc: remove linux_prom_pci_assigned_addresses from openprom_32.h sparc: remove ebus definitions from openprom*.h sparc: unify siginfo.h sparc: unify ptrace.h ... commit 15b0669072127f282896b3bef2e9df4ec5d7264f Merge: c155b91 3537d54 Author: Linus Torvalds Date: Mon Jan 5 18:44:59 2009 -0800 Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-2.6 * git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-2.6: (44 commits) qlge: Fix sparse warnings for tx ring indexes. qlge: Fix sparse warning regarding rx buffer queues. qlge: Fix sparse endian warning in ql_hw_csum_setup(). qlge: Fix sparse endian warning for inbound packet control block flags. qlge: Fix sparse warnings for byte swapping in qlge_ethool.c myri10ge: print MAC and serial number on probe failure pkt_sched: cls_u32: Fix locking in u32_change() iucv: fix cpu hotplug af_iucv: Free iucv path/socket in path_pending callback af_iucv: avoid left over IUCV connections from failing connects af_iucv: New error return codes for connect() net/ehea: bitops work on unsigned longs Revert "net: Fix for initial link state in 2.6.28" tcp: Kill extraneous SPLICE_F_NONBLOCK checks. tcp: don't mask EOF and socket errors on nonblocking splice receive dccp: Integrate the TFRC library with DCCP dccp: Clean up ccid.c after integration of CCID plugins dccp: Lockless integration of CCID congestion-control plugins qeth: get rid of extra argument after printk to dev_* conversion qeth: No large send using EDDP for HiperSockets. ... commit c155b914651753f843445d2f860bc00137df5d52 Merge: e9af797 3a5e1d1 Author: Linus Torvalds Date: Mon Jan 5 18:34:12 2009 -0800 Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tiwai/sound-2.6 * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tiwai/sound-2.6: ALSA: ice1724 - Fix a typo in IEC958 PCM name ASoC: fix davinci-sffsdr buglet ALSA: sound/usb: Use negated usb_endpoint_xfer_control, etc ALSA: hda - cxt5051 report jack state ALSA: hda - add basic jack reporting functions to patch_conexant.c ALSA: Use usb_set/get_intfdata ASoC: Clean up kerneldoc warnings ASoC: Fix pxa2xx-pcm checks for invalid DMA channels LSA: hda - Add HP Acacia detection ALSA: hda - fix name for ALC1200 ALSA: sound/usb: use USB API functions rather than constants ASoC: TWL4030: DAPM based capture implementation ASoC: TWL4030: Make the enum filter generic for twl4030 commit e9af797d757d358f60130de6ca59ee658d666561 Merge: 10cc04f 187d9f4 Author: Linus Torvalds Date: Mon Jan 5 18:33:38 2009 -0800 Merge branch 'next' of git://git.kernel.org/pub/scm/linux/kernel/git/davej/cpufreq * 'next' of git://git.kernel.org/pub/scm/linux/kernel/git/davej/cpufreq: [CPUFREQ] Fix on resume, now preserves user policy min/max. [CPUFREQ] Add Celeron Core support to p4-clockmod. [CPUFREQ] add to speedstep-lib additional fsb values for core processors [CPUFREQ] Disable sysfs ui for p4-clockmod. [CPUFREQ] p4-clockmod: reduce noise [CPUFREQ] clean up speedstep-centrino and reduce cpumask_t usage commit 10cc04f5a01041ffff068b3f9b195bfdc5290c45 Merge: 520c853 9047bea Author: Linus Torvalds Date: Mon Jan 5 18:32:43 2009 -0800 Merge branch 'upstream-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/mfasheh/ocfs2 * 'upstream-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/mfasheh/ocfs2: (138 commits) ocfs2: Access the right buffer_head in ocfs2_merge_rec_left. ocfs2: use min_t in ocfs2_quota_read() ocfs2: remove unneeded lvb casts ocfs2: Add xattr support checking in init_security ocfs2: alloc xattr bucket in ocfs2_xattr_set_handle ocfs2: calculate and reserve credits for xattr value in mknod ocfs2/xattr: fix credits calculation during index create ocfs2/xattr: Always updating ctime during xattr set. ocfs2/xattr: Remove extend_trans call and add its credits from the beginning ocfs2/dlm: Fix race during lockres mastery ocfs2/dlm: Fix race in adding/removing lockres' to/from the tracking list ocfs2/dlm: Hold off sending lockres drop ref message while lockres is migrating ocfs2/dlm: Clean up errors in dlm_proxy_ast_handler() ocfs2/dlm: Fix a race between migrate request and exit domain ocfs2: One more hamming code optimization. ocfs2: Another hamming code optimization. ocfs2: Don't hand-code xor in ocfs2_hamming_encode(). ocfs2: Enable metadata checksums. ocfs2: Validate superblock with checksum and ecc. ocfs2: Checksum and ECC for directory blocks. ... commit 520c85346666d4d9a6fcaaa8450542302dc28b91 Merge: e8c82c2 4ae8978 Author: Linus Torvalds Date: Mon Jan 5 18:32:06 2009 -0800 Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs-2.6 * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs-2.6: inotify: fix type errors in interfaces fix breakage in reiserfs_new_inode() fix the treatment of jfs special inodes vfs: remove duplicate code in get_fs_type() add a vfs_fsync helper sys_execve and sys_uselib do not call into fsnotify zero i_uid/i_gid on inode allocation inode->i_op is never NULL ntfs: don't NULL i_op isofs check for NULL ->i_op in root directory is dead code affs: do not zero ->i_op kill suid bit only for regular files vfs: lseek(fd, 0, SEEK_CUR) race condition commit e8c82c2e23e3527e0c9dc195e432c16784d270fa Author: Nick Piggin Date: Tue Jan 6 03:05:50 2009 +0100 mm lockless pagecache barrier fix An XFS workload showed up a bug in the lockless pagecache patch. Basically it would go into an "infinite" loop, although it would sometimes be able to break out of the loop! The reason is a missing compiler barrier in the "increment reference count unless it was zero" case of the lockless pagecache protocol in the gang lookup functions. This would cause the compiler to use a cached value of struct page pointer to retry the operation with, rather than reload it. So the page might have been removed from pagecache and freed (refcount==0) but the lookup would not correctly notice the page is no longer in pagecache, and keep attempting to increment the refcount and failing, until the page gets reallocated for something else. This isn't a data corruption because the condition will be detected if the page has been reallocated. However it can result in a lockup. Linus points out that ACCESS_ONCE is also required in that pointer load, even if it's absence is not causing a bug on our particular build. The most general way to solve this is just to put an rcu_dereference in radix_tree_deref_slot. Assembly of find_get_pages, before: .L220: movq (%rbx), %rax #* ivtmp.1162, tmp82 movq (%rax), %rdi #, prephitmp.1149 .L218: testb $1, %dil #, prephitmp.1149 jne .L217 #, testq %rdi, %rdi # prephitmp.1149 je .L203 #, cmpq $-1, %rdi #, prephitmp.1149 je .L217 #, movl 8(%rdi), %esi # ._count.counter, c testl %esi, %esi # c je .L218 #, after: .L212: movq (%rbx), %rax #* ivtmp.1109, tmp81 movq (%rax), %rdi #, ret testb $1, %dil #, ret jne .L211 #, testq %rdi, %rdi # ret je .L197 #, cmpq $-1, %rdi #, ret je .L211 #, movl 8(%rdi), %esi # ._count.counter, c testl %esi, %esi # c je .L212 #, (notice the obvious infinite loop in the first example, if page->count remains 0) Signed-off-by: Nick Piggin Reviewed-by: Paul E. McKenney Signed-off-by: Linus Torvalds commit f1b11e505463fd597ab7963df26dd1f446dcceae Author: Alan Cox Date: Mon Jan 5 14:04:40 2009 +0000 i2o: Update my address Signed-off-by: Alan Cox Signed-off-by: Linus Torvalds commit d397712bcc6a759a560fd247e6053ecae091f958 Author: Chris Mason Date: Mon Jan 5 21:25:51 2009 -0500 Btrfs: Fix checkpatch.pl warnings There were many, most are fixed now. struct-funcs.c generates some warnings but these are bogus. Signed-off-by: Chris Mason commit 3537d54c0c39de5738bba8d19f128478b0b96a71 Author: Ron Mercer Date: Mon Jan 5 18:19:59 2009 -0800 qlge: Fix sparse warnings for tx ring indexes. Warnings: drivers/net/qlge/qlge_main.c:1474:34: warning: restricted degrades to integer drivers/net/qlge/qlge_main.c:1475:36: warning: restricted degrades to integer drivers/net/qlge/qlge_main.c:1592:51: warning: restricted degrades to integer drivers/net/qlge/qlge_main.c:1941:20: warning: incorrect type in assignment (different base types) drivers/net/qlge/qlge_main.c:1941:20: expected restricted unsigned int [usertype] tid drivers/net/qlge/qlge_main.c:1941:20: got int [signed] index drivers/net/qlge/qlge_main.c:1945:24: warning: incorrect type in assignment (different base types) drivers/net/qlge/qlge_main.c:1945:24: expected restricted unsigned int [usertype] txq_idx drivers/net/qlge/qlge_main.c:1945:24: got unsigned int [unsigned] [usertype] tx_ring_idx Signed-off-by: Ron Mercer Signed-off-by: David S. Miller commit 2c9a0d41e944807bf763f42e4a3526210e98c741 Author: Ron Mercer Date: Mon Jan 5 18:19:20 2009 -0800 qlge: Fix sparse warning regarding rx buffer queues. Warnings: drivers/net/qlge/qlge_main.c:909:17: warning: incorrect type in assignment (different base types) drivers/net/qlge/qlge_main.c:909:17: expected unsigned int [unsigned] [usertype] addr_lo drivers/net/qlge/qlge_main.c:909:17: got restricted unsigned int [usertype] drivers/net/qlge/qlge_main.c:911:17: warning: incorrect type in assignment (different base types) drivers/net/qlge/qlge_main.c:911:17: expected unsigned int [unsigned] [usertype] addr_hi drivers/net/qlge/qlge_main.c:911:17: got restricted unsigned int [usertype] drivers/net/qlge/qlge_main.c:974:17: warning: incorrect type in assignment (different base types) drivers/net/qlge/qlge_main.c:974:17: expected unsigned int [unsigned] [usertype] addr_lo drivers/net/qlge/qlge_main.c:974:17: got restricted unsigned int [usertype] drivers/net/qlge/qlge_main.c:975:17: warning: incorrect type in assignment (different base types) drivers/net/qlge/qlge_main.c:975:17: expected unsigned int [unsigned] [usertype] addr_hi drivers/net/qlge/qlge_main.c:975:17: got restricted unsigned int [usertype] drivers/net/qlge/qlge_main.c:2132:16: warning: incorrect type in assignment (different base types) drivers/net/qlge/qlge_main.c:2132:16: expected unsigned int [unsigned] [usertype] addr_lo drivers/net/qlge/qlge_main.c:2132:16: got restricted unsigned int [usertype] drivers/net/qlge/qlge_main.c:2133:16: warning: incorrect type in assignment (different base types) drivers/net/qlge/qlge_main.c:2133:16: expected unsigned int [unsigned] [usertype] addr_hi drivers/net/qlge/qlge_main.c:2133:16: got restricted unsigned int [usertype] drivers/net/qlge/qlge_main.c:2212:15: warning: incorrect type in assignment (different base types) drivers/net/qlge/qlge_main.c:2212:15: expected unsigned int [unsigned] [usertype] addr_lo drivers/net/qlge/qlge_main.c:2212:15: got restricted unsigned int [usertype] drivers/net/qlge/qlge_main.c:2214:15: warning: incorrect type in assignment (different base types) drivers/net/qlge/qlge_main.c:2214:15: expected unsigned int [unsigned] [usertype] addr_hi drivers/net/qlge/qlge_main.c:2214:15: got restricted unsigned int [usertype] Signed-off-by: Ron Mercer Signed-off-by: David S. Miller commit fd2df4f7439cd3e87090e067d5aec8f1336f4f0e Author: Ron Mercer Date: Mon Jan 5 18:18:45 2009 -0800 qlge: Fix sparse endian warning in ql_hw_csum_setup(). Changed u16 to __sum16 usage. Warnings: drivers/net/qlge/qlge_main.c:1897:9: warning: incorrect type in assignment (different base types) drivers/net/qlge/qlge_main.c:1897:9: expected unsigned short [usertype] *check drivers/net/qlge/qlge_main.c:1897:9: got restricted unsigned short * drivers/net/qlge/qlge_main.c:1903:9: warning: incorrect type in assignment (different base types) drivers/net/qlge/qlge_main.c:1903:9: expected unsigned short [usertype] *check drivers/net/qlge/qlge_main.c:1903:9: got restricted unsigned short * drivers/net/qlge/qlge_main.c:1909:9: warning: incorrect type in assignment (different base types) drivers/net/qlge/qlge_main.c:1909:9: expected unsigned short [unsigned] [short] [usertype] Signed-off-by: Ron Mercer Signed-off-by: David S. Miller commit a303ce0972d04036316e85568682a2b89fe123d9 Author: Ron Mercer Date: Mon Jan 5 18:18:22 2009 -0800 qlge: Fix sparse endian warning for inbound packet control block flags. Changed flags element from __le32 to 3 reserved bytes and one byte of flags. Changed flags bit definitions to reflect byte width instead of __le32 width. Warnings: drivers/net/qlge/qlge_main.c:1206:16: warning: restricted degrades to integer drivers/net/qlge/qlge_main.c:1207:16: warning: restricted degrades to integer drivers/net/qlge/qlge_main.c:1233:17: warning: restricted degrades to integer drivers/net/qlge/qlge_main.c:1276:17: warning: restricted degrades to integer drivers/net/qlge/qlge_main.c:1349:19: warning: restricted degrades to integer Signed-off-by: Ron Mercer Signed-off-by: David S. Miller commit 8306c952a523ad2f87c101427c3ece91176b822c Author: Ron Mercer Date: Mon Jan 5 18:17:33 2009 -0800 qlge: Fix sparse warnings for byte swapping in qlge_ethool.c drivers/net/qlge/qlge_ethtool.c:59:23: warning: cast to restricted type drivers/net/qlge/qlge_ethtool.c:59:21: warning: incorrect type in assignment (different base types) drivers/net/qlge/qlge_ethtool.c:59:21: expected restricted unsigned short [usertype] irq_delay drivers/net/qlge/qlge_ethtool.c:59:21: got unsigned short [unsigned] [usertype] drivers/net/qlge/qlge_ethtool.c:61:8: warning: cast to restricted type drivers/net/qlge/qlge_ethtool.c:60:21: warning: incorrect type in assignment (different base types) drivers/net/qlge/qlge_ethtool.c:60:21: expected restricted unsigned short [usertype] pkt_delay drivers/net/qlge/qlge_ethtool.c:60:21: got unsigned short [unsigned] [usertype] drivers/net/qlge/qlge_ethtool.c:82:23: warning: cast to restricted type drivers/net/qlge/qlge_ethtool.c:82:21: warning: incorrect type in assignment (different base types) drivers/net/qlge/qlge_ethtool.c:82:21: expected restricted unsigned short [usertype] irq_delay drivers/net/qlge/qlge_ethtool.c:82:21: got unsigned short [unsigned] [usertype] drivers/net/qlge/qlge_ethtool.c:84:8: warning: cast to restricted type drivers/net/qlge/qlge_ethtool.c:83:21: warning: incorrect type in assignment (different base types) drivers/net/qlge/qlge_ethtool.c:83:21: expected restricted unsigned short [usertype] pkt_delay drivers/net/qlge/qlge_ethtool.c:83:21: got unsigned short [unsigned] [usertype] Signed-off-by: Ron Mercer Signed-off-by: David S. Miller commit 0f840011f0396dcb97ca82c64fd43f6990a574dd Author: Brice Goglin Date: Mon Jan 5 18:16:14 2009 -0800 myri10ge: print MAC and serial number on probe failure To help board identification and diagnosis, print the MAC and serial number on probe failure if they are available. Signed-off-by: Brice Goglin Signed-off-by: David S. Miller commit 6f57321422e0d359e83c978c2b03db77b967b7d5 Author: Jarek Poplawski Date: Mon Jan 5 18:14:19 2009 -0800 pkt_sched: cls_u32: Fix locking in u32_change() New nodes are inserted in u32_change() under rtnl_lock() with wmb(), so without tcf_tree_lock() like in other classifiers (e.g. cls_fw). This isn't enough without rmb() on the read side, but on the other hand adding such barriers doesn't give any savings, so the lock is added instead. Reported-by: m0sia Signed-off-by: Jarek Poplawski Signed-off-by: David S. Miller commit 4696b64d234b84b5b70ffd49a76833aa5c49cb61 Author: Julian Calaby Date: Mon Jan 5 18:13:49 2009 -0800 sparc: Fix minor SPARC32 compile error When CONFIG_PROC_FS is unset, include/linux/interrupt.h defines init_irq_proc() as an empty function. arch/sparc/kernel/irq_32.c defines this function unconditionally. Fix the latter so that it only defines this function when CONFIG_PROC_FS is set. This fixes the following error: arch/sparc/kernel/irq_32.c:672: error: redefinition of 'init_irq_proc' include/linux/interrupt.h:461: error: previous definition of 'init_irq_proc' was here This was found using randconfig builds. Signed-off-by: Julian Calaby Signed-off-by: David S. Miller commit f1d3e4dca3f8d4f55656477e83d0afe0ea7cbaed Author: Heiko Carstens Date: Mon Jan 5 18:09:02 2009 -0800 iucv: fix cpu hotplug If the iucv module is compiled in/loaded but no user is registered cpu hot remove doesn't work. Reason for that is that the iucv cpu hotplug notifier on CPU_DOWN_PREPARE checks if the iucv_buffer_cpumask would be empty after the corresponding bit would be cleared. However the bit was never set since iucv wasn't enable. That causes all cpu hot unplug operations to fail in this scenario. To fix this use iucv_path_table as an indicator wether iucv is enabled or not. Signed-off-by: Heiko Carstens Signed-off-by: Ursula Braun Signed-off-by: David S. Miller commit 65dbd7c2778f1921ef1ee2a73e47a2a126fed30f Author: Hendrik Brueckner Date: Mon Jan 5 18:08:23 2009 -0800 af_iucv: Free iucv path/socket in path_pending callback Free iucv path after iucv_path_sever() calls in iucv_callback_connreq() (path_pending() iucv callback). If iucv_path_accept() fails, free path and free/kill newly created socket. Signed-off-by: Hendrik Brueckner Signed-off-by: Ursula Braun Signed-off-by: David S. Miller commit 18becbc5479f88d5adc218374ca62b8b93ec2545 Author: Ursula Braun Date: Mon Jan 5 18:07:46 2009 -0800 af_iucv: avoid left over IUCV connections from failing connects For certain types of AFIUCV socket connect failures IUCV connections are left over. Add some cleanup-statements to avoid cluttered IUCV connections. Signed-off-by: Ursula Braun Signed-off-by: David S. Miller commit 55cdea9ed9cf2d76993e40ed7a1fc649a14db07c Author: Hendrik Brueckner Date: Mon Jan 5 18:07:07 2009 -0800 af_iucv: New error return codes for connect() If the iucv_path_connect() call fails then return an error code that corresponds to the iucv_path_connect() failure condition; instead of returning -ECONNREFUSED for any failure. This helps to improve error handling for user space applications (e.g. inform the user that the z/VM guest is not authorized to connect to other guest virtual machines). The error return codes are based on those described in connect(2). Signed-off-by: Hendrik Brueckner Signed-off-by: Ursula Braun Signed-off-by: David S. Miller commit 046c68842bce6b77509cf56e94a561029124b0ce Author: Alan Cox Date: Mon Jan 5 14:06:29 2009 +0000 mm: update my address Signed-off-by: Alan Cox Signed-off-by: Linus Torvalds commit 5641f1fde074651ce2488e93944cf05dedd9bf74 Author: Al Viro Date: Mon Jan 5 17:19:02 2009 +0000 X86_DEBUGCTLMSR won't work on uml Signed-off-by: Al Viro Signed-off-by: Linus Torvalds commit 7483cb7bbc02b9471dda28e54f41287d5374e3ac Author: Al Viro Date: Mon Jan 5 17:18:52 2009 +0000 uml got broken by commit 30742d5c2277c325fb0e9d2d817d55a19995fe8f ... if you revert a commit, revert the fixups elsewhere that had been triggered by it. Such as 8c56250f48347750c82ab18d98d647dcf99ca674 (lockdep, UML: fix compilation when CONFIG_TRACE_IRQFLAGS_SUPPORT is not set). Signed-off-by: Al Viro Signed-off-by: Linus Torvalds commit 22409f9c80d0a742ff98d1cfe1bf60fce1927be1 Author: Al Viro Date: Mon Jan 5 17:18:42 2009 +0000 get rid of the last symlink in uml build We need to make asm-offsets.h contents visible for objects built with userland headers. Instead of creating a symlink, just have the file with equivalent include (relative to location of header) created once. That kills the last symlink used in arch/um builds. Additionally, both generated headers can become dependencies of archprepare now, killing the misuse of prepare. Signed-off-by: Al Viro Signed-off-by: Linus Torvalds commit 07f2211e4fbce6990722d78c4f04225da9c0e9cf Author: Dan Williams Date: Mon Jan 5 17:14:31 2009 -0700 dmaengine: remove dependency on async_tx async_tx.ko is a consumer of dma channels. A circular dependency arises if modules in drivers/dma rely on common code in async_tx.ko. It prevents either module from being unloaded. Move dma_wait_for_async_tx and async_tx_run_dependencies to dmaeninge.o where they should have been from the beginning. Reviewed-by: Andrew Morton Signed-off-by: Dan Williams commit 28405d8d9ce05f5bd869ef8b48da5086f9527d73 Author: Dan Williams Date: Mon Jan 5 17:14:31 2009 -0700 async_tx, dmaengine: document channel allocation and api rework "Wouldn't it be better if the dmaengine layer made sure it didn't pass the same channel several times to a client? I mean, you seem concerned that the memcpy() API should be transparent and easy to use, but the whole registration interface is just ridiculously complicated..." - Haavard The dmaengine and async_tx registration/allocation interface is indeed needlessly complicated. This redesign has the following goals: 1/ Simplify reference counting: dma channels are not something one would expect to be hotplugged, it should be an exceptional event handled by drivers not something clients should be mandated to handle in a callback. The common case channel removal event is 'rmmod ', which for simplicity should be disallowed if the channel is in use. 2/ Add an interface for requesting exclusive access to a channel suitable to device-to-memory users. 3/ Convert all memory-to-memory users over to a common allocator, the goal here is to not have competing channel allocation schemes. The only competition should be between device-to-memory exclusive allocations and the memory-to-memory usage case where channels are shared between multiple "clients". Cc: Haavard Skinnemoen Cc: Neil Brown Cc: Jeff Garzik Reviewed-by: Andrew Morton Signed-off-by: Dan Williams commit 48e4cc777c091b037acaf39036a77ece43fe1ab9 Author: Stephen Rothwell Date: Mon Jan 5 16:06:02 2009 -0800 net/ehea: bitops work on unsigned longs The flags field of struct ehea_port is only used with test_bit(), clear_bit() and set_bit() and these interfaces only work on "unsigned long"s, so change the field to be an "unsigned long". Also, this field only has two bits defined for it (0 and 1) so will still be fine if someone builds this driver for a 32 bit arch (at least as far as this flags field is concerned). Also note that ehea_driver_flags is only used in ehca_main.c, so make it static in there. Signed-off-by: Stephen Rothwell Signed-off-by: David S. Miller commit c276e098d3ee33059b4a1c747354226cec58487c Author: David S. Miller Date: Mon Jan 5 16:01:51 2009 -0800 Revert "net: Fix for initial link state in 2.6.28" This reverts commit 22604c866889c4b2e12b73cbf1683bda1b72a313. We can't fix this issue in this way, because we now can try to take the dev_base_lock rwlock as a writer in software interrupt context and that is not allowed without major surgery elsewhere. This initial link state problem needs to be solved in some other way. Signed-off-by: David S. Miller commit 1f3c79a28c8837e8572b98f6d14142d9a6133c56 Author: Liu Hui Date: Mon Jan 5 15:57:51 2009 -0500 Btrfs: Fix free block discard calls down to the block layer This is a patch to fix discard semantic to make Btrfs work with FTL and SSD. We can improve FTL's performance by telling it which sectors are freed by file system. But if we don't tell FTL the information of free sectors in proper time, the transaction mechanism of Btrfs will be destroyed and Btrfs could not roll back the previous transaction under the power loss condition. There are some problems in the old implementation: 1, In __free_extent(), the pinned down extents should not be discarded. 2, In free_extents(), the free extents are all pinned, so they need to be discarded in transaction committing time instead of free_extents(). 3, The reserved extent used by log tree should be discard too. This patch change discard behavior as follows: 1, For the extents which need to be free at once, we discard them in update_block_group(). 2, Delay discarding the pinned extent in btrfs_finish_extent_commit() when committing transaction. 3, Remove discarding from free_extents() and __free_extent() 4, Add discard interface into btrfs_free_reserved_extent() 5, Discard sectors before updating the free space cache, otherwise, FTL will destroy file system data. commit ec051c0f929afe5c42c24bb07abf577c616c208c Author: Yan Zheng Date: Mon Jan 5 15:43:42 2009 -0500 Btrfs: avoid orphan inode caused by log replay drop_one_dir_item does not properly update inode's link count. It can be reproduced by executing following commands: #touch test #sync #rm -f test #dd if=/dev/zero bs=4k count=1 of=test conv=fsync #echo b > /proc/sysrq-trigger This fixes it by adding an BTRFS_ORPHAN_ITEM_KEY for the inode Signed-off-by: Yan Zheng commit 2d69a0f88459fae35df3ddef4934a2dad67e2765 Author: Yan Zheng Date: Mon Jan 5 15:43:42 2009 -0500 Btrfs: avoid potential super block corruption The data in fs_info->super_for_commit are zeros before the first transaction commit. If tree log sync and system crash both occur before the first transaction commit, super block will get corrupted. This fixes it by properly filling in the super_for_commit field at open time. Signed-off-by: Yan Zheng commit dd3fd8bdf7238f99561ee236060b04d5b9a84953 Author: Shen Feng Date: Mon Jan 5 15:43:42 2009 -0500 Btrfs: do not call kfree if kmalloc failed in btrfs_sysfs_add_super Signed-off-by: Shen Feng commit 1f48366084a7b046bcb7741ed4e607774f96e3da Author: Shen Feng Date: Mon Jan 5 15:43:42 2009 -0500 Btrfs: fix a memory leak in btrfs_get_sb subvol_name should be freed if error occurs. Signed-off-by: Shen Feng commit c584482b47f47b051cdc1d5236b99ad18f1b1cfb Author: Liu Hui Date: Mon Jan 5 15:49:55 2009 -0500 Btrfs: Fix typo in clear_state_cb In clear_state_cb, we should check 'tree->ops->clear_bit_hook' instead of 'tree->ops->set_bit_hook'. Signed-off-by: Chris Mason commit 9aead43588f4bdb1bb61e348ad0f33794bbddc0f Author: yanhai zhu Date: Mon Jan 5 15:49:11 2009 -0500 Btrfs: Fix memset length in btrfs_file_write Signed-off-by: Chris Mason commit 52c2617990fed072220708d6b771dc10f37547b0 Author: Yan Zheng Date: Mon Jan 5 15:43:43 2009 -0500 Btrfs: update directory's size when creating subvol/snapshot Make sure directory's size properly updated when creating subvol/snapshot. Signed-off-by: Yan Zheng commit e441d54de4fd97dd381f3e73636f5ba51ff4c7d9 Author: Chris Mason Date: Mon Jan 5 16:57:23 2009 -0500 Btrfs: add permission checks to the ioctls Only root can add/remove devices Only root can defrag subtrees Only files open for writing can be defragged Only files open for writing can be the destination for a clone Signed-off-by: Chris Mason commit ae16489eb1175066c8f3008fc3c0396c525e1906 Author: Kyle McMartin Date: Sat Jan 3 06:35:40 2009 +0000 parisc: export length of os_hpmc vector and use this instead of dealing with exporting start/end and toying with function descriptors. Signed-off-by: Kyle McMartin commit c61c25eb02757ecf697015ef4ae3675c5e114e2e Author: Kyle McMartin Date: Sat Dec 20 02:29:06 2008 +0000 parisc: fix kernel crash (protection id trap) when compiling ruby1.9 On Wed, Dec 17, 2008 at 11:46:05PM +0100, Helge Deller wrote: > Honestly, I can't decide whether to apply this. It really should never happen in the kernel, since the kernel can guarantee it won't get the access rights failure (highest privilege level, and can set %sr and %protid to whatever it wants.) It really genuinely is a bug that probably should panic the kernel. The only precedent I can easily see is x86 fixing up a bad iret with a general protection fault, which is more or less analogous to code 27 here. On the other hand, taking the exception on a userspace access really isn't all that critical, and there's fundamentally little reason for the kernel not to SIGSEGV the process, and continue... Argh. (btw, I've instrumented my do_sys_poll with a pile of assertions that %cr8 << 1 == %sr3 == current->mm.context... let's see if where we're getting corrupted is deterministic, though, I would guess that it won't be.) Signed-off-by: Kyle McMartin commit aefa8b6bf48fdcc904de4f166e59ab37fb750dec Author: Julia Lawall Date: Thu Dec 25 19:33:11 2008 +0000 parisc: Use DEFINE_SPINLOCK SPIN_LOCK_UNLOCKED is deprecated. The following makes the change suggested in Documentation/spinlocks.txt The semantic patch that makes this change is as follows: (http://www.emn.fr/x-info/coccinelle/) // @@ declarer name DEFINE_SPINLOCK; identifier xxx_lock; @@ - spinlock_t xxx_lock = SPIN_LOCK_UNLOCKED; + DEFINE_SPINLOCK(xxx_lock); // Signed-off-by: Julia Lawall Signed-off-by: Kyle McMartin commit 7246c31e45021bc68688c4a8fd2bbb70b485d1ef Author: Helge Deller Date: Thu Dec 25 20:04:00 2008 +0000 parisc: add uevent helper for parisc bus parisc: add uevent helper for parisc bus udev device-driver auto detection was failing to work on the GSC bus, since udev didn't knew wich driver to load due to a missing MODALIAS environment variable from kernel. This patch fixes this by adding the MODALIAS environment variable to the uevent kernel notifications. Since modalias_show() generated the modalias string already, I splitted this out and created a new static function make_modalias() which is now used by modalias_show() and the new parisc_uevent() function. Tested on 715/64 and c3000. Signed-off-by: Helge Deller Signed-off-by: Kyle McMartin commit 5fbf6635a951a75870be9874580c55da538fb025 Author: Kyle McMartin Date: Mon Dec 8 05:15:51 2008 +0000 parisc: fix ipv6 checksum ipv6 recently started exhibiting the same symptoms as ipv4 was, add a memory clobber around inline checksum assembly that fribbles memory to ensure gcc doesn't erroneously cache across it. Signed-off-by: Kyle McMartin commit 6525ee55bbfd35bf3aff8c59562d6a3d8559a4f0 Author: Kyle McMartin Date: Mon Dec 8 09:43:08 2008 +0000 parisc: quiet palo not-found message from "which" Reduces moaning when building on a machine without palo installed. Signed-off-by: Kyle McMartin commit ef017bebd01c1b4e075d649eee0c8c1c79f9ceb9 Author: Helge Deller Date: Wed Dec 31 03:12:10 2008 +0000 parisc: Replace NR_CPUS in parisc code parisc: Replace most arrays sized by NR_CPUS with percpu variables. Signed-off-by: Helge Deller Signed-off-by: Kyle McMartin commit 7f2347a44d2d5c8edf04d6950f4fb21ac868d256 Author: Helge Deller Date: Wed Dec 31 03:11:31 2008 +0000 parisc: trivial fixes trivial fixes: - use KERN_WARNING for printk() - use BUG_ON() instead of "if (xx) BUG();" Signed-off-by: Helge Deller Signed-off-by: Kyle McMartin -- To unsubscribe from this list: send the line "unsubscribe linux-parisc" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html commit 58607b30fc0f2230a189500112c7a7cca02804cf Author: Larry Finger Date: Sat Jan 3 23:28:25 2009 -0600 [SCSI] aha152x_cs: Fix regression that keeps driver from using shared interrupts At some point since 2.6.22, the aha152x_cs driver stopped working and started erring on load with the following messages: kernel: pcmcia: request for exclusive IRQ could not be fulfilled. kernel: pcmcia: the driver needs updating to supported shared IRQ lines. With the following change, the driver works with shared IRQs. Signed-off-by: Larry Finger Cc: Stable [2.6.28], [2.6.27], [2.6.26] Signed-off-by: James Bottomley commit 70da2d96306bea9ab56a1c6907b19f889dcdda5c Author: Kyle McMartin Date: Mon Dec 22 23:58:31 2008 +0000 parisc: fix braino in commit adding __space_to_prot Shouldn't commit without building before morning coffee... Signed-off-by: Kyle McMartin commit a60715f58907d4e1db7be6c31fa050c993e119b5 Author: Kyle McMartin Date: Mon Dec 22 12:29:02 2008 -0500 parisc: factor out sid to protid conversion Create a new __space_to_prot inline to convert the space id (mmu context) to a protection id. Sadly it doesn't look like the #ifdef can be eliminated since relying on the compiler to not truncate a bit on return (ctx >> SPACEID_SHIFT) << 1; seems a little dodgy. Signed-off-by: Kyle McMartin commit 0ca5506da6795ebc700fd41cef2a7785613fbe28 Author: Kyle McMartin Date: Sun Dec 21 00:39:04 2008 +0000 parisc: use leX_to_cpu in place of __fswabX Signed-off-by: Kyle McMartin commit e0e7ed4811ce32d48ca8ee9fd136357d093243a9 Author: Helge Deller Date: Wed Dec 17 23:57:34 2008 +0100 parisc: fix GFP_KERNEL use while atomic in unwinder Since unwind_frame_init_from_blocked_task() may be called from interrupt/in_atomic context, it needs to kmalloc() memory with GFP_ATOMIC instead of GFP_KERNEL. This fixes this warning (ShowTasks called from sysrq handler): BUG: sleeping function called from invalid context at mm/slab.c:3044 in_atomic(): 1, irqs_disabled(): 1, pid: 2119, name: miniruby Backtrace: [<10132e78>] __might_sleep+0x4c/0x118 [<1018f644>] kmem_cache_alloc+0x2c/0xb4 [<1011bae0>] unwind_frame_init_from_blocked_task+0x30/0xa0 [<1010fd3c>] parisc_show_stack+0x3c/0xac [<10132c7c>] show_state_filter+0x80/0xd8 [<102f4074>] __handle_sysrq+0xd0/0x1b0 [<102f9558>] receive_chars+0x22c/0x318 [<102f9940>] serial8250_handle_port+0x40/0x88 [<102f9a8c>] serial8250_interrupt+0x104/0x10c [<10161920>] handle_IRQ_event+0x44/0x94 [<10161acc>] __do_IRQ+0x15c/0x1dc [<102c442c>] superio_interrupt+0x74/0xa8 [<10161920>] handle_IRQ_event+0x44/0x94 [<10161acc>] __do_IRQ+0x15c/0x1dc [<10110fb4>] do_cpu_irq_mask+0x90/0xbc [<10114068>] intr_return+0x0/0x4 Signed-off-by: Helge Deller Signed-off-by: Kyle McMartin commit 0063507787ee7b385a8cbe7521469acf33341eb6 Author: FUJITA Tomonori Date: Sun Dec 14 11:44:37 2008 +0900 parisc: remove dead BIO_VMERGE_BOUNDARY and BIO_VMERGE_MAX_SIZE definitions The block layer dropped the virtual merge feature (b8b3e16cfe6435d961f6aaebcfd52a1ff2a988c5). BIO_VMERGE_BOUNDARY and BIO_VMERGE_MAX_SIZE definitions are meaningless now. Signed-off-by: FUJITA Tomonori Acked-by: Grant Grundler Signed-off-by: Kyle McMartin commit 022b7690454ebf945d46467fea7b5f47bbb9b420 Author: Roel Kluin Date: Wed Dec 3 04:16:04 2008 +0000 parisc: set_time() catch errors set_rtc_time returns negative on error, ret should be signed to catch those Signed-off-by: Roel Kluin Reviewed-by: Grant Grundler Signed-off-by: Kyle McMartin commit d2e6675fffe435989e51c084600581ca58048c13 Author: Harvey Harrison Date: Tue Dec 2 03:28:17 2008 +0000 parisc: use the new byteorder headers Signed-off-by: Harvey Harrison Cc: Matthew Wilcox Signed-off-by: Andrew Morton Signed-off-by: Kyle McMartin commit df8e5bc6b7b61c8b2aeaf58b6afd762d20a651dd Author: Adrian Bunk Date: Tue Dec 2 03:28:16 2008 +0000 parisc: drivers/parisc/: make code static Make the following needlessly global code static: - asp.c: asp_init_chip() - ccio-dma.c: ccio_io_pdir_entry() - dino.c: struct dino_port_ops - dino.c: struct dino_bios_ops - hppb.c: struct hppb_card_head - lasi.c: lasi_led_init() - lasi.c: lasi_init_chip() - lba_pci.c: struct lba_bios_ops - sba_iommu.c: sba_io_pdir_entry() - sba_iommu.c: sba_driver_callback() - sba_iommu.c: sba_driver_callback() - wax.c: wax_init_chip() Signed-off-by: Adrian Bunk Cc: Matthew Wilcox Cc: Grant Grundler Signed-off-by: Andrew Morton Signed-off-by: Kyle McMartin commit 8f47cb87eb603fac557a8408c23701dffad07581 Author: Adrian Bunk Date: Tue Dec 2 03:28:15 2008 +0000 parisc: lib/: make code static Make the following needlessly global code static: - iomap.c: struct iomap_ops[] - memcpy.c: pa_memcpy() Signed-off-by: Adrian Bunk Cc: Matthew Wilcox Cc: Grant Grundler Signed-off-by: Andrew Morton Signed-off-by: Kyle McMartin commit 2f42357722f7ddc1ec0236fa55ad49ea8a7ce4b0 Author: Peter Ujfalusi Date: Mon Jan 5 09:54:58 2009 +0200 ASoC: TWL4030: Convert the bitfield enums to VALUE_ENUM type Convert the bitfield coded enums to the new VALUE_ENUM type. Remove the enum check, since the VALUE_ENUM type can handle the bitfield coding and also handles the 'holes' in the bitfield. Signed-off-by: Peter Ujfalusi Signed-off-by: Mark Brown commit 2e72f8e3716bc3bbf4c9b5b987fb5ab3223f60bf Author: Peter Ujfalusi Date: Mon Jan 5 09:54:57 2009 +0200 ASoC: New enum type: value_enum This patch introduces a new enum type. In this enum type each enumerated items referred with a value. This new enum type can handle enums encoded in bitfield, or any other weird ways. twl4030 codec has several mux selection register, where the input/output mux is coded in a bitfield. With the normal enum type this type of mux can not be handled in a clean way. Signed-off-by: Peter Ujfalusi Signed-off-by: Mark Brown commit 796123368871e4a838dc0dfd5dbc3cd8981ef429 Author: Dmitry Baryshkov Date: Mon Jan 5 12:58:06 2009 +0300 pxa2xx-ac97: switch AC unit to correct state before probing If AC97 unit is in partially enabled state, early request_irq can trigger IRQ storm or even full hang up. Workaround this by forcibly switching ACLINK off at the start of the probe. Signed-off-by: Dmitry Baryshkov Signed-off-by: Mark Brown commit 05d5e991a7290807e7d62a7d272bb4f37c27c6ae Author: David Brownell Date: Sun Jan 4 02:50:10 2009 -0800 ASoC: Clocking fixes for davinci-evm.c Let's have audio playback not sound like chipmunks, 'k? :) ASP1 on the DM355 EVM uses a 27 MHz external audio clock, not the slower clock used with ASP0 on the DM6446 EVM. Also, that slower ASP0 clock on the DM6446 is 12.288 MHz, not 22.5792 MHz ... 48 KHz sample rate (x256), not a double speed 44.1 KHz sample rate (which could be done, but isn't what the board init code now sets up). Signed-off-by: David Brownell Signed-off-by: Mark Brown commit 7f185340da2594d65520b26f41e706a3ad0a368c Author: Grazvydas Ignotas Date: Tue Dec 23 12:04:48 2008 +0200 ASoC: Mark non-connected TWL4030 pins for pandora Pandora has all TWL4030 output pins floating, it uses external DAC for playback. Mark those outputs as not connected using DAPM calls. Signed-off-by: Grazvydas Ignotas Signed-off-by: Mark Brown commit d304c6ef6e9888addde075acb5bdd87e3fb48c1a Author: Jarkko Nikula Date: Tue Dec 23 10:09:35 2008 +0200 ASoC: OMAP: Select OMAP pin multiplexing when using Nokia N810 ASoC drivers N810 bootloader muxes I2S pins for OMAP2420 EAC block while N810 ASoC drivers are using McBSP block so the kernel have to change configuration runtime. Author has not seen problems using kernel pin multiplexing on N810 but very many times unworking audio after forgotten to enable it and spending 15 minutes each time to figure it out again... This change makes it easier for other users as well. If problems arise, then they are better to find and fix in OMAP pin multiplexing framework. Signed-off-by: Jarkko Nikula Signed-off-by: Mark Brown commit 3a5e1d1792729f384c10db966feb8bab76c991ed Merge: 9d7eff6 8eca753 Author: Takashi Iwai Date: Mon Jan 5 18:34:25 2009 +0100 Merge branch 'topic/misc' into for-linus commit 9d7eff608dbccceb3a5168bd240dc6262ae42459 Merge: cd8faac cad9d90 Author: Takashi Iwai Date: Mon Jan 5 18:34:21 2009 +0100 Merge branch 'topic/asoc' into for-linus commit cad9d90ec3f6c497dce2b163046436b6ab5cf6b6 Merge: ac11a2b 5cf1c00 Author: Takashi Iwai Date: Mon Jan 5 18:31:38 2009 +0100 Merge branch 'fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/broonie/sound-2.6 into topic/asoc commit 8eca75382e012b74b98526a1679ada2a1849024b Author: Alan Horstmann Date: Mon Jan 5 18:30:04 2009 +0100 ALSA: ice1724 - Fix a typo in IEC958 PCM name Fix trivial name string typo as reported in bug 2552. Signed-off-by: Alan Horstmann Signed-off-by: Takashi Iwai commit 4ae8978cf92a96257cd8998a49e781be83571d64 Author: Michael Kerrisk Date: Mon Jan 5 07:19:16 2009 -0500 inotify: fix type errors in interfaces The problems lie in the types used for some inotify interfaces, both at the kernel level and at the glibc level. This mail addresses the kernel problem. I will follow up with some suggestions for glibc changes. For the sys_inotify_rm_watch() interface, the type of the 'wd' argument is currently 'u32', it should be '__s32' . That is Robert's suggestion, and is consistent with the other declarations of watch descriptors in the kernel source, in particular, the inotify_event structure in include/linux/inotify.h: struct inotify_event { __s32 wd; /* watch descriptor */ __u32 mask; /* watch mask */ __u32 cookie; /* cookie to synchronize two events */ __u32 len; /* length (including nulls) of name */ char name[0]; /* stub for possible name */ }; The patch makes the changes needed for inotify_rm_watch(). Signed-off-by: Michael Kerrisk Cc: Robert Love Cc: Vegard Nossum Cc: Ulrich Drepper Signed-off-by: Andrew Morton Signed-off-by: Al Viro commit 2f1169e2dc0c70e213f79ada88a10912cc2fbe94 Author: Al Viro Date: Fri Jan 2 08:16:51 2009 -0500 fix breakage in reiserfs_new_inode() now that we use ih.key earlier, we need to do all its setup early enough Signed-off-by: Al Viro commit 5b45d96bf963afeb931a75faf02fb424e446e5a9 Author: Al Viro Date: Mon Dec 29 07:40:31 2008 -0500 fix the treatment of jfs special inodes We used to put them on a single list, without any locking. Racy. Signed-off-by: Al Viro commit d8e9650dff48055057253ca30933605bd7d0733b Author: Li Zefan Date: Thu Dec 25 13:32:15 2008 +0800 vfs: remove duplicate code in get_fs_type() save 14 bytes: text data bss dec hex filename 1354 32 4 1390 56e fs/filesystems.o.before text data bss dec hex filename 1340 32 4 1376 560 fs/filesystems.o Signed-off-by: Li Zefan Signed-off-by: Al Viro commit 4c728ef583b3d82266584da5cb068294c09df31e Author: Christoph Hellwig Date: Mon Dec 22 21:11:15 2008 +0100 add a vfs_fsync helper Fsync currently has a fdatawrite/fdatawait pair around the method call, and a mutex_lock/unlock of the inode mutex. All callers of fsync have to duplicate this, but we have a few and most of them don't quite get it right. This patch adds a new vfs_fsync that takes care of this. It's a little more complicated as usual as ->fsync might get a NULL file pointer and just a dentry from nfsd, but otherwise gets afile and we want to take the mapping and file operations from it when it is there. Notes on the fsync callers: - ecryptfs wasn't calling filemap_fdatawrite / filemap_fdatawait on the lower file - coda wasn't calling filemap_fdatawrite / filemap_fdatawait on the host file, and returning 0 when ->fsync was missing - shm wasn't calling either filemap_fdatawrite / filemap_fdatawait nor taking i_mutex. Now given that shared memory doesn't have disk backing not doing anything in fsync seems fine and I left it out of the vfs_fsync conversion for now, but in that case we might just not pass it through to the lower file at all but just call the no-op simple_sync_file directly. [and now actually export vfs_fsync] Signed-off-by: Christoph Hellwig Signed-off-by: Al Viro commit 6110e3abbff8b785907d4db50240e63c1be726e3 Author: Eric Paris Date: Wed Dec 17 13:53:20 2008 -0500 sys_execve and sys_uselib do not call into fsnotify sys_execve and sys_uselib do not call into fsnotify so inotify does not get open events for these types of syscalls. This patch simply makes the requisite fsnotify calls. Signed-off-by: Eric Paris Signed-off-by: Al Viro commit 56ff5efad96182f4d3cb3dc6b07396762c658f16 Author: Al Viro Date: Tue Dec 9 09:34:39 2008 -0500 zero i_uid/i_gid on inode allocation ... and don't bother in callers. Don't bother with zeroing i_blocks, while we are at it - it's already been zeroed. i_mode is not worth the effort; it has no common default value. Signed-off-by: Al Viro commit acfa4380efe77e290d3a96b11cd4c9f24f4fbb18 Author: Al Viro Date: Thu Dec 4 10:06:33 2008 -0500 inode->i_op is never NULL We used to have rather schizophrenic set of checks for NULL ->i_op even though it had been eliminated years ago. You'd need to go out of your way to set it to NULL explicitly _and_ a bunch of code would die on such inodes anyway. After killing two remaining places that still did that bogosity, all that crap can go away. Signed-off-by: Al Viro commit 9742df331deb3fce95b321f38d4ea0c4e75edb63 Author: Al Viro Date: Thu Dec 4 09:59:23 2008 -0500 ntfs: don't NULL i_op it's already set to empty table (and no, ntfs doesn't have any explicit checks for NULL ->i_op or NULL ->i_fop) Signed-off-by: Al Viro commit 261964c60ff6524076d439da9386d4782729c4d9 Author: Al Viro Date: Thu Dec 4 09:57:25 2008 -0500 isofs check for NULL ->i_op in root directory is dead code for one thing it never happens, for another we check that inode is a directory right after that place anyway (and we'd already checked that reading it from disk has not failed). Signed-off-by: Al Viro commit c765d479037808532310212e9b3fa95760e975f2 Author: Al Viro Date: Thu Dec 4 09:50:55 2008 -0500 affs: do not zero ->i_op it is already set to empty table and should never be NULL Signed-off-by: Al Viro commit 7f5ff766a7babd72fc192125e12ef5570effff4c Author: Dmitri Monakhov Date: Mon Dec 1 14:34:56 2008 -0800 kill suid bit only for regular files We don't have to do it because it is useless for non regular files. In fact block device may trigger this path without dentry->d_inode->i_mutex. (akpm: concerns were expressed (by me) about S_ISDIR inodes) Signed-off-by: Dmitri Monakhov Signed-off-by: Andrew Morton Signed-off-by: Al Viro commit 5b6f1eb97d462a45be3b30759758b5fdbb562c8c Author: Alain Knaff Date: Mon Nov 10 17:08:08 2008 -0800 vfs: lseek(fd, 0, SEEK_CUR) race condition This patch fixes a race condition in lseek. While it is expected that unpredictable behaviour may result while repositioning the offset of a file descriptor concurrently with reading/writing to the same file descriptor, this should not happen when merely *reading* the file descriptor's offset. Unfortunately, the only portable way in Unix to read a file descriptor's offset is lseek(fd, 0, SEEK_CUR); however executing this concurrently with read/write may mess up the position. [with fixes from akpm] Signed-off-by: Alain Knaff Signed-off-by: Andrew Morton Signed-off-by: Al Viro commit a808ad3b0d28411e2838117c5b2ae680ae42483c Author: Sean MacLennan Date: Wed Dec 10 13:16:34 2008 +0000 [MTD] [NAND] ndfc driver The current ndfc driver only compiles under arch/ppc. This arch was removed from the kernel. I notice the event entry for the ndfc in Kconfig has been removed in 2.6.28. This patch converts the ndfc to a proper OF (OpenFirmware) driver. I can give a working example of the DTS if needed. The patch has been in production use on the PIKA Warp Appliance and is in use by others. The Warp basically boots from NAND, so the ndfc driver is very important to us. Signed-off-by: Sean MacLennan Acked-By: Josh Boyer Signed-off-by: David Woodhouse commit 9047beabb8a396f0b18de1e4a9ab920cf92054af Author: Tao Ma Date: Mon Jan 5 14:45:24 2009 +0800 ocfs2: Access the right buffer_head in ocfs2_merge_rec_left. In commit "ocfs2: Use metadata-specific ocfs2_journal_access_*() functions", the wrong buffer_head is accessed. So change it to the right buffer_head. Signed-off-by: Tao Ma Acked-by: Joel Becker Signed-off-by: Mark Fasheh commit dad7d975e4bd893c79fd122105b37b9a1776816a Author: Mark Fasheh Date: Wed Dec 24 16:33:08 2008 -0800 ocfs2: use min_t in ocfs2_quota_read() This is preferred to min(). Signed-off-by: Mark Fasheh commit a641dc2a5a1445eb4cb491080dfc41c42a9eb37d Author: Mark Fasheh Date: Wed Dec 24 16:03:48 2008 -0800 ocfs2: remove unneeded lvb casts dlmglue.c has lots of code which casts the return value of ocfs2_dlm_lvb(). This is pointless however, as ocfs2_dlm_lvb() returns void *. Signed-off-by: Mark Fasheh commit 38d59ef61c11cafc50a66787bdbbe80d58bbd9c0 Author: Tiger Yang Date: Wed Dec 17 10:22:56 2008 +0800 ocfs2: Add xattr support checking in init_security We must check whether ocfs2 volume support xattr in init_security, if not support xattr and security is enable, would cause failure of mknod. Signed-off-by: Tiger Yang Signed-off-by: Mark Fasheh commit 008aafaf0b4aa0476da483e3c6e3edbe951811ff Author: Tiger Yang Date: Tue Dec 9 16:43:08 2008 +0800 ocfs2: alloc xattr bucket in ocfs2_xattr_set_handle In extreme situation, may need xattr bucket for setting security entry and acl entries during mknod. This only happens when block size is too small. Signed-off-by: Tiger Yang Signed-off-by: Mark Fasheh commit 0e445b6fe93c723fe8093fd04ddfeb11ae2de082 Author: Tiger Yang Date: Tue Dec 9 16:42:51 2008 +0800 ocfs2: calculate and reserve credits for xattr value in mknod We extend the credits for xattr's large value in set_value_outside before, this can give rise to a credits issue when we set one security entry and two acl entries duing mknod. As we remove extend_trans form set_value_outside, we must calculate and reserve the credits for xattr's large value in mknod. Signed-off-by: Tiger Yang Signed-off-by: Mark Fasheh commit 90cb546cada68bb8c2278afdb4b65c2ac11f2877 Author: Tao Ma Date: Fri Dec 5 06:20:56 2008 +0800 ocfs2/xattr: fix credits calculation during index create When creating a xattr index block, the old calculation forget to add credits for the meta change of the alloc file. So add more credits and more comments to explain it. Signed-off-by: Tao Ma Signed-off-by: Mark Fasheh commit 4b3f6209bf9eec46fe5ebb168718fef5c443c157 Author: Tao Ma Date: Fri Dec 5 06:20:55 2008 +0800 ocfs2/xattr: Always updating ctime during xattr set. In xattr set, we should always update ctime if the operation goes sucessfully. The old one mistakenly put it in ocfs2_xattr_set_entry which is only called when we set xattr in inode or xattr block. The side benefit is that it resolve the bug 1052 since in that scenario, ocfs2_calc_xattr_set_need only calc out the xattr set credits while ocfs2_xattr_set_entry update the inode also which isn't concerned with the process of xattr set. Signed-off-by: Tao Ma Signed-off-by: Mark Fasheh commit 71d548a6af36fe98c95fbd0522147f842bd5f054 Author: Tao Ma Date: Fri Dec 5 06:20:54 2008 +0800 ocfs2/xattr: Remove extend_trans call and add its credits from the beginning Actually, when setting a new xattr value, we know it from the very beginning, and it isn't like the extension of bucket in which case we can't figure it out. So remove ocfs2_extend_trans in that function and calculate it before the transaction. It also relieve acl operation from the worry about the side effect of ocfs2_extend_trans. Signed-off-by: Tao Ma Signed-off-by: Mark Fasheh commit 7b791d68562e4ce5ab57cbacb10a1ad4ee33956e Author: Sunil Mushran Date: Tue Dec 16 15:49:23 2008 -0800 ocfs2/dlm: Fix race during lockres mastery dlm_get_lock_resource() is supposed to return a lock resource with a proper master. If multiple concurrent threads attempt to lookup the lockres for the same lockid while the lock mastery in underway, one or more threads are likely to return a lockres without a proper master. This patch makes the threads wait in dlm_get_lock_resource() while the mastery is underway, ensuring all threads return the lockres with a proper master. This issue is known to be limited to users using the flock() syscall. For all other fs operations, the ocfs2 dlmglue layer serializes the dlm op for each lockid. Users encountering this bug will see flock() return EINVAL and dmesg have the following error: ERROR: Dlm error "DLM_BADARGS" while calling dlmlock on resource : bad api args Reported-by: Coly Li Signed-off-by: Sunil Mushran Signed-off-by: Mark Fasheh commit b0d4f817ba5de8adb875ace594554a96d7737710 Author: Sunil Mushran Date: Tue Dec 16 15:49:22 2008 -0800 ocfs2/dlm: Fix race in adding/removing lockres' to/from the tracking list This patch adds a new lock, dlm->tracking_lock, to protect adding/removing lockres' to/from the dlm->tracking_list. We were previously using dlm->spinlock for the same, but that proved inadequate as we could be freeing a lockres from a context that did not hold that lock. As the new lock only protects this list, we can explicitly take it when removing the lockres from the tracking list. This bug was exposed when testing multiple processes concurrently flock() the same file. Signed-off-by: Sunil Mushran Signed-off-by: Mark Fasheh commit d4f7e650e55af6b235871126f747da88600e8040 Author: Sunil Mushran Date: Tue Dec 16 15:49:21 2008 -0800 ocfs2/dlm: Hold off sending lockres drop ref message while lockres is migrating During lockres purge, o2dlm sends a drop reference message to the lockres master. This patch delays the message if the lockres is being migrated. Fixes oss bugzilla#1012 http://oss.oracle.com/bugzilla/show_bug.cgi?id=1012 Signed-off-by: Sunil Mushran Signed-off-by: Mark Fasheh commit 57dff2676eb68d805883a2204faaa5339ac44e03 Author: Sunil Mushran Date: Tue Dec 16 15:49:20 2008 -0800 ocfs2/dlm: Clean up errors in dlm_proxy_ast_handler() Patch cleans printed errors in dlm_proxy_ast_handler(). The errors now includes the node number that sent the (b)ast. Also it reduces the number of endian swaps of the cookie. Signed-off-by: Sunil Mushran Signed-off-by: Mark Fasheh commit 2b83256407687613e906bee93d98a25339128a4d Author: Sunil Mushran Date: Tue Dec 16 15:49:19 2008 -0800 ocfs2/dlm: Fix a race between migrate request and exit domain Patch address a racing migrate request message and an exit domain message. Instead of blocking exit domains for the duration of the migrate, we ignore failure to deliver that message. This is because an exiting domain should not have any active locks and thus has no role to play in the migration. Signed-off-by: Sunil Mushran Signed-off-by: Mark Fasheh commit 58896c4d0e5868360ea0693c607d5bf74f79da6b Author: Joel Becker Date: Tue Dec 16 13:54:40 2008 -0800 ocfs2: One more hamming code optimization. The previous optimization used a fast find-highest-bit-set operation to give us a good starting point in calc_code_bit(). This version lets the caller cache the previous code buffer bit offset. Thus, the next call always starts where the last one left off. This reduces the calculation another 39%, for a total 80% reduction from the original, naive implementation. At least, on my machine. This also brings the parity calculation to within an order of magnitude of the crc32 calculation. Signed-off-by: Joel Becker Signed-off-by: Mark Fasheh commit 7bb458a58588f397068e4166c615e9fcc7480c16 Author: Joel Becker Date: Mon Dec 15 18:24:33 2008 -0800 ocfs2: Another hamming code optimization. In the calc_code_bit() function, we must find all powers of two beneath the code bit number, *after* it's shifted by those powers of two. This requires a loop to see where it ends up. We can optimize it by starting at its most significant bit. This shaves 32% off the time, for a total of 67.6% shaved off of the original, naive implementation. Signed-off-by: Joel Becker Signed-off-by: Mark Fasheh commit e798b3f8a920c82a8e556dd54df97f0d3d0f9144 Author: Joel Becker Date: Mon Dec 15 17:13:48 2008 -0800 ocfs2: Don't hand-code xor in ocfs2_hamming_encode(). When I wrote ocfs2_hamming_encode(), I was following documentation of the algorithm and didn't have quite the (possibly still imperfect) grasp of it I do now. As part of this, I literally hand-coded xor. I would test a bit, and then add that bit via xor to the parity word. I can, of course, just do a single xor of the parity word and the source word (the code buffer bit offset). This cuts CPU usage by 53% on a mostly populated buffer (an inode containing utmp.h inline). Joel Signed-off-by: Joel Becker Signed-off-by: Mark Fasheh commit 9d28cfb73f3abccce001daf2d247b16bf20e2248 Author: Joel Becker Date: Thu Oct 16 17:53:29 2008 -0700 ocfs2: Enable metadata checksums. Add OCFS2_FEATURE_INCOMPAT_META_ECC to the list of supported features. Signed-off-by: Joel Becker Signed-off-by: Mark Fasheh commit d030cc978e9e636dc39ce9a9e8282d48698a3b30 Author: Joel Becker Date: Thu Dec 11 15:04:14 2008 -0800 ocfs2: Validate superblock with checksum and ecc. The superblock is read via a raw call. Validate it after we find it from its signature. Signed-off-by: Joel Becker Signed-off-by: Mark Fasheh commit c175a518b4a1d514483abf61813ce5d855917164 Author: Joel Becker Date: Wed Dec 10 17:58:22 2008 -0800 ocfs2: Checksum and ECC for directory blocks. Use the db_check field of ocfs2_dir_block_trailer to crc/ecc the dirblocks. Signed-off-by: Joel Becker Signed-off-by: Mark Fasheh commit 87d35a74b15ec703910a63e0667692fb5e267be0 Author: Mark Fasheh Date: Wed Dec 10 17:36:25 2008 -0800 ocfs2: Add directory block trailers. Future ocfs2 features metaecc and indexed directories need to store a little bit of data in each dirblock. For compatibility, we place this in a trailer at the end of the dirblock. The trailer plays itself as an empty dirent, so that if the features are turned off, it can be reused without requiring a tunefs scan. This code adds the trailer and validates it when the block is read in. [ Mark is the original author, but I reinserted this code before his dir index work. -- Joel ] Signed-off-by: Joel Becker Signed-off-by: Mark Fasheh commit 84008972491ca91b240f106191519781dabb8016 Author: Joel Becker Date: Tue Dec 9 16:11:49 2008 -0800 ocfs2: Use proper journal_access function in xattr.c Change the rest of the naked ocfs2_journal_access() calls in fs/ocfs2/xattr.c to use the appropriate ocfs2_journal_access_*() call for their metadata type. Signed-off-by: Joel Becker Signed-off-by: Mark Fasheh commit 4311901daabe1d0f22cfcf86c57ad450f14b4e9f Author: Joel Becker Date: Tue Dec 9 16:24:43 2008 -0800 ocfs2: Pass value buf to ocfs2_remove_value_outside(). ocfs2_remove_value_outside() needs to know the type of buffer it is looking at. Pass in an ocfs2_xattr_value_buf. Signed-off-by: Joel Becker Signed-off-by: Mark Fasheh commit 512620f44df85df87348fc9a6fc54fcaa254b8d3 Author: Joel Becker Date: Tue Dec 9 15:58:35 2008 -0800 ocfs2: Use ocfs2_xattr_value_buf in ocfs2_xattr_set_entry(). ocfs2_xattr_set_entry is the function that knows what type of block it is setting into. This is what we wanted from ocfs2_xattr_value_buf. Plus, moving the value buf up into ocfs2_xattr_set_entry() allows us to pass it into ocfs2_xattr_set_value_outside() and ocfs2_xattr_cleanup(). Signed-off-by: Joel Becker Signed-off-by: Mark Fasheh commit 0c748e95327d00e9eb19d0f34b32147ecbc02137 Author: Joel Becker Date: Tue Dec 9 15:46:15 2008 -0800 ocfs2: Pass value buf to ocfs2_xattr_update_entry(). ocfs2_xattr_update_entry() updates the entry portion of an xattr buffer. This can be part of multiple metadata block types, so pass the buffer in via an ocfs2_xattr_value_buf. Signed-off-by: Joel Becker Signed-off-by: Mark Fasheh commit b3e5d37905730dc5ddff717f55ed830caa80ea0e Author: Joel Becker Date: Tue Dec 9 15:01:04 2008 -0800 ocfs2: Pass ocfs2_xattr_value_buf into ocfs2_xattr_value_truncate(). The callers of ocfs2_xattr_value_truncate() now pass in ocfs2_xattr_value_bufs. These callers are the ones that calculated the xv location, so they are the right starting point. Signed-off-by: Joel Becker Signed-off-by: Mark Fasheh commit 19b801f45fa5e4840b9be3dcf1e73b08f35b04d9 Author: Joel Becker Date: Tue Dec 9 14:36:50 2008 -0800 ocfs2: Pull ocfs2_xattr_value_buf up into ocfs2_xattr_value_truncate(). Place an ocfs2_xattr_value_buf in ocfs2_xattr_value_truncate() and pass it down to ocfs2_xattr_shrink_size(). We can also pass it into ocfs2_xattr_extend_allocation(), replacing its ocfs2_xattr_value_buf. Signed-off-by: Joel Becker Signed-off-by: Mark Fasheh commit d72cc72d57ecaf9047da51269dabd6880c1399ac Author: Joel Becker Date: Tue Dec 9 14:30:41 2008 -0800 ocfs2: Pull ocfs2_xattr_value_buf up from __ocfs2_remove_xattr_range(). Place an ocfs2_xattr_value_buf in __ocfs2_xattr_shrink_size() and pass it down to __ocfs2_remove_xattr_range(). Signed-off-by: Joel Becker Signed-off-by: Mark Fasheh commit 2a50a743bdaab104155bd9e988d2ba3bb4177263 Author: Joel Becker Date: Tue Dec 9 14:24:33 2008 -0800 ocfs2: Create ocfs2_xattr_value_buf. When an ocfs2 extended attribute is large enough to require its own allocation tree, we root it with an ocfs2_xattr_value_root. However, these roots can be a part of inodes, xattr blocks, or xattr buckets. Thus, they need a different journal access function for each container. We wrap the bh, its journal access function, and the value root (xv) in a structure called ocfs2_xattr_valu_buf. This is a package that can be passed around. In this first pass, we simply pass it to the extent tree code. Signed-off-by: Joel Becker Signed-off-by: Mark Fasheh commit 4d0e214ee83185fcaa2cb97cd026d32bdc5c994a Author: Joel Becker Date: Fri Dec 5 11:19:37 2008 -0800 ocfs2: Add ecc and checksums to ocfs2 xattr buckets. The xattr bucket can span multiple blocks on disk. We have wrappers for this structure in the code. We use the new multi-block ecc calls to calculate and validate the bucket. Signed-off-by: Joel Becker Signed-off-by: Mark Fasheh commit 13723d00e374c2a6d6ccb5af6de965e89c3e1b01 Author: Joel Becker Date: Fri Oct 17 19:25:01 2008 -0700 ocfs2: Use metadata-specific ocfs2_journal_access_*() functions. The per-metadata-type ocfs2_journal_access_*() functions hook up jbd2 commit triggers and allow us to compute metadata ecc right before the buffers are written out. This commit provides ecc for inodes, extent blocks, group descriptors, and quota blocks. It is not safe to use extened attributes and metaecc at the same time yet. The ocfs2_extent_tree and ocfs2_path abstractions in alloc.c both hide the type of block at their root. Before, it didn't matter, but now the root block must use the appropriate ocfs2_journal_access_*() function. To keep this abstract, the structures now have a pointer to the matching journal_access function and a wrapper call to call it. A few places use naked ocfs2_write_block() calls instead of adding the blocks to the journal. We make sure to calculate their checksum and ecc before the write. Since we pass around the journal_access functions. Let's typedef them in ocfs2.h. Signed-off-by: Joel Becker Signed-off-by: Mark Fasheh commit ffdd7a54631f07918b75e324d86713a08c11ec06 Author: Joel Becker Date: Fri Oct 17 22:32:01 2008 -0700 ocfs2: Wrap up the common use cases of ocfs2_new_path(). The majority of ocfs2_new_path() calls are: ocfs2_new_path(path_root_bh(otherpath), path_root_el(otherpath)); Let's call that ocfs2_new_path_from_path(). The rest do similar things from struct ocfs2_extent_tree. Let's call those ocfs2_new_path_from_et(). This will make the next change easier. Signed-off-by: Joel Becker Signed-off-by: Mark Fasheh commit 50655ae9e91d272d48997bada59efe166aa5e343 Author: Joel Becker Date: Thu Sep 11 15:53:07 2008 -0700 ocfs2: Add journal_access functions with jbd2 triggers. We create wrappers for ocfs2_journal_access() that are specific to the type of metadata block. This allows us to associate jbd2 commit triggers with the block. The triggers will compute metadata ecc in a future commit. Signed-off-by: Joel Becker Signed-off-by: Mark Fasheh commit d6b32bbb3eae3fb787f1c33bf9f767ca1ddeb208 Author: Joel Becker Date: Fri Oct 17 14:55:01 2008 -0700 ocfs2: block read meta ecc. Add block check calls to the read_block validate functions. This is the almost all of the read-side checking of metaecc. xattr buckets are not checked yet. Writes are also unchecked, and so a read-write mount will quickly fail. Signed-off-by: Joel Becker Signed-off-by: Mark Fasheh commit 684ef278377725d505aa23259ee673dab9b11851 Author: Joel Becker Date: Tue Dec 2 17:44:05 2008 -0800 ocfs2: Add a validation hook for quota block reads. Add a currently-returns-success hook for quota block reads. We'll be adding checks to this. Signed-off-by: Joel Becker Signed-off-by: Mark Fasheh commit 70ad1ba7b48364d758a112df0823edc5ca6632aa Author: Joel Becker Date: Thu Oct 16 17:54:25 2008 -0700 ocfs2: Add the underlying blockcheck code. This is the code that computes crc32 and ecc for ocfs2 metadata blocks. There are high-level functions that check whether the filesystem has the ecc feature, mid-level functions that work on a single block or array of buffer_heads, and the low-level ecc hamming code that can handle multiple buffers like crc32_le(). It's not hooked up to the filesystem yet. Signed-off-by: Joel Becker Cc: Christoph Hellwig Signed-off-by: Mark Fasheh commit ab552d54673f262d7f70014003d3928d29270f22 Author: Joel Becker Date: Thu Oct 16 17:50:30 2008 -0700 ocfs2: Add the on-disk structures for metadata checksums. Define struct ocfs2_block_check, an 8-byte structure containing a 32bit crc32_le and a 16bit hamming code ecc. This will be used for metadata checksums. Add the structure to free spaces in the various metadata structures. Add the OCFS2_FEATURE_INCOMPAT_META_ECC bit. Signed-off-by: Joel Becker Signed-off-by: Mark Fasheh commit e06c8227fd94ec181849ba206bf032be31c4295c Author: Joel Becker Date: Thu Sep 11 15:35:47 2008 -0700 jbd2: Add buffer triggers Filesystems often to do compute intensive operation on some metadata. If this operation is repeated many times, it can be very expensive. It would be much nicer if the operation could be performed once before a buffer goes to disk. This adds triggers to jbd2 buffer heads. Just before writing a metadata buffer to the journal, jbd2 will optionally call a commit trigger associated with the buffer. If the journal is aborted, an abort trigger will be called on any dirty buffers as they are dropped from pending transactions. ocfs2 will use this feature. Initially I tried to come up with a more generic trigger that could be used for non-buffer-related events like transaction completion. It doesn't tie nicely, because the information a buffer trigger needs (specific to a journal_head) isn't the same as what a transaction trigger needs (specific to a tranaction_t or perhaps journal_t). So I implemented a buffer set, with the understanding that journal/transaction wide triggers should be implemented separately. There is only one trigger set allowed per buffer. I can't think of any reason to attach more than one set. Contrast this with a journal or transaction in which multiple places may want to watch the entire transaction separately. The trigger sets are considered static allocation from the jbd2 perspective. ocfs2 will just have one trigger set per block type, setting the same set on every bh of the same type. Signed-off-by: Joel Becker Cc: "Theodore Ts'o" Cc: Signed-off-by: Mark Fasheh commit 754938c142ae0c28360426c43f965ddc5164b21e Author: Tao Ma Date: Mon Dec 15 06:03:41 2008 +0800 ocfs2/quota: Add QUOTA in mlog_attribute. A new mlog mask has to be added into mlog_attribute before it can be really used in mlog. ML_QUOTA is only added in masklog.h, so add it to the array to enable it. Signed-off-by: Tao Ma Signed-off-by: Mark Fasheh commit 91f2033fa997aa92607470ed1ef90685b9d77a8c Author: Joel Becker Date: Wed Nov 26 15:25:41 2008 -0800 ocfs2: Pass xs->bucket into ocfs2_add_new_xattr_bucket(). Pass the actual target bucket for insert through to ocfs2_add_new_xattr_bucket(). Now growing a bucket has no buffer_head knowledge. ocfs2_add_new_xattr_bucket() leavs xs->bucket in the proper state for insert. However, it doesn't update the rest of the search fields in xs, so we still have to relse() and re-find. That's OK, because everything is cached. Signed-off-by: Joel Becker Signed-off-by: Mark Fasheh commit ed29c0ca14871021fc8aced74650648dcb2c6e81 Author: Joel Becker Date: Wed Nov 26 15:08:44 2008 -0800 ocfs2: Move buckets up into ocfs2_add_new_xattr_bucket(). Lift the buckets from ocfs2_add_new_xattr_cluster() up into ocfs2_add_new_xattr_bucket(). Now ocfs2_add_new_xattr_cluster() doesn't deal with buffer_heads. In fact, we no longer have to play get_bh() tricks at all. Signed-off-by: Joel Becker Signed-off-by: Mark Fasheh commit 012ee910876e251621705e8dea7c353fd4914e19 Author: Joel Becker Date: Wed Nov 26 14:43:31 2008 -0800 ocfs2: Move buckets up into ocfs2_add_new_xattr_cluster(). Lift the buckets from ocfs2_adjust_xattr_cross_cluster() up into ocfs2_add_new_xattr_cluster(). Now ocfs2_adjust_xattr_cross_cluster() doesn't deal with buffer_heads. Signed-off-by: Joel Becker Signed-off-by: Mark Fasheh commit 41cb814866110b6e35dad7569ecf96163c3bb824 Author: Joel Becker Date: Wed Nov 26 14:25:21 2008 -0800 ocfs2: Pass buckets into ocfs2_mv_xattr_bucket_cross_cluster(). Now that ocfs2_adjust_xattr_cross_cluster() has buckets, it can pass them into ocfs2_mv_xattr_bucket_cross_cluster(). It no longer has to care about buffer_heads. The manipulation of first_bh and header_bh moves up to ocfs2_adjust_xattr_cross_cluster(). Signed-off-by: Joel Becker Signed-off-by: Mark Fasheh commit 92cf3adf48097b7561a3c83f800ed3b2b25b18d4 Author: Joel Becker Date: Wed Nov 26 14:12:09 2008 -0800 ocfs2: Start using buckets in ocfs2_adjust_xattr_cross_cluster(). We want to be passing around buckets instead of buffer_heads. Let's get them into ocfs2_adjust_xattr_cross_cluster. Signed-off-by: Joel Becker Signed-off-by: Mark Fasheh commit c58b6032f93358871361a92d7743dbc85d27084e Author: Joel Becker Date: Wed Nov 26 13:36:24 2008 -0800 ocfs2: Use ocfs2_mv_xattr_buckets() in ocfs2_mv_xattr_bucket_cross_cluster(). Now that ocfs2_mv_xattr_buckets() can move a partial cluster's worth of buckets, ocfs2_mv_xattr_bucket_cross_cluster() can use it. Signed-off-by: Joel Becker Signed-off-by: Mark Fasheh commit 54ecb6b6df54bf72befb359b21f3759b2952f9d9 Author: Joel Becker Date: Wed Nov 26 13:18:31 2008 -0800 ocfs2: ocfs2_mv_xattr_buckets() can handle a partial cluster now. If you look at ocfs2_mv_xattr_bucket_cross_cluster(), you'll notice that two-thirds of the code is almost identical to ocfs2_mv_xattr_buckets(). The only difference is that ocfs2_mv_xattr_buckets() moves a whole cluster's worth, while ocfs2_mv_xattr_bucket_cross_cluster() moves half the cluster. We change ocfs2_mv_xattr_buckets() to allow moving partial clusters. The original caller of ocfs2_mv_xattr_buckets() still moves the whole cluster's worth - it just passes a start_bucket of 0. Signed-off-by: Joel Becker Signed-off-by: Mark Fasheh commit 874d65af1c8b8f6456a934701e6828d3017be029 Author: Joel Becker Date: Wed Nov 26 13:02:18 2008 -0800 ocfs2: Rename ocfs2_cp_xattr_cluster() to ocfs2_mv_xattr_buckets(). ocfs2_cp_xattr_cluster() takes the last cluster of an xattr extent, copies its buckets to the front of a new extent, and then shrinks the bucket count of the original extent. So it's really moving the data, not copying it. While we're here, the function doesn't need a buffer_head for the old extent, just the block number. Signed-off-by: Joel Becker Signed-off-by: Mark Fasheh commit b5c03e746959bb005b987e9d8511df46680c3daa Author: Joel Becker Date: Tue Nov 25 19:58:16 2008 -0800 ocfs2: Use ocfs2_cp_xattr_bucket() in ocfs2_mv_xattr_bucket_cross_cluster(). The buffer copy loop of ocfs2_mv_xattr_bucket_cross_cluster() actually looks a lot like ocfs2_cp_xattr_bucket(). Let's just use that instead. We also use bucket operations to update the buckets at the start of each extent. Signed-off-by: Joel Becker Signed-off-by: Mark Fasheh commit 2b656c1d6fc5ba7791a360766780a212faed5705 Author: Joel Becker Date: Tue Nov 25 19:00:15 2008 -0800 ocfs2: Explain t_is_new in ocfs2_cp_xattr_cluster(). I was unsure of the JOURNAL_ACCESS parameters in ocfs2_cp_xattr_cluster(). They're based on the function argument 't_is_new', but I couldn't quite figure out how t_is_new mapped to allocation. ocfs2_cp_xattr_cluster() actually overwrites the target, regardless of t_is_new. Well, I just figured it out. So I'm adding a big fat comment for those who come after me. ocfs2_divide_xattr_cluster() has the same behavior. Signed-off-by: Joel Becker Signed-off-by: Mark Fasheh commit 15d609293d1954465a4788b9b182214323c6a2a1 Author: Joel Becker Date: Tue Nov 25 18:36:42 2008 -0800 ocfs2: Dirty the entire first bucket in ocfs2_cp_xattr_cluster(). ocfs2_cp_xattr_cluster() takes the last bucket of a full extent and copies it over to a new extent. It then updates the headers of both extents to reflect the new state. It is passed the first bh of the first bucket in order to update that first extent's bucket count. It reads and dirties the first bh of the new extent for the same reason. However, future code wants to always dirty the entire bucket when it is changed. So it is changed to read the entire bucket it is updating for both extents. Signed-off-by: Joel Becker Signed-off-by: Mark Fasheh commit 92de109ade7999084fb0bfcc65d603252504e0d0 Author: Joel Becker Date: Tue Nov 25 17:06:40 2008 -0800 ocfs2: Dirty the entire first bucket in ocfs2_extend_xattr_bucket() ocfs2_extend_xattr_bucket() takes an extent of buckets and shifts some of them down to make room for a new xattr. It is passed the first bh of the first bucket, because that is where we store the number of buckets in the extent. However, future code wants to always dirty the entire bucket when it is changed. So let's pass the entire bucket into this function, skip any block reads (we have them), and add the access/dirty logic. We also can skip passing in the target bucket bh - we only need its block number. Signed-off-by: Joel Becker Signed-off-by: Mark Fasheh commit 88c3b0622acf82c7c86fbc066e81e15edc7c1685 Author: Tao Ma Date: Thu Dec 11 08:54:11 2008 +0800 ocfs2: Narrow the transaction for deleting xattrs from a bucket. We move the transaction into the loop because in ocfs2_remove_extent, we will double the credits in function ocfs2_extend_rotate_transaction. So if we have a large loop number, we will soon waste much the journal space. Signed-off-by: Tao Ma Signed-off-by: Joel Becker Signed-off-by: Mark Fasheh commit 548b0f22bb7497ba76f91627b99f9fed53a91704 Author: Joel Becker Date: Mon Nov 24 19:32:13 2008 -0800 ocfs2: Dirty the entire bucket in ocfs2_bucket_value_truncate() ocfs2_bucket_value_truncate() currently takes the first bh of the bucket, and magically plays around with the value bh - even though the bucket structure in the calling function already has it. In addition, future code wants to always dirty the entire bucket when it is changed. So let's pass the entire bucket into this function, skip any block reads (we have them), and add the access/dirty logic. ocfs2_xattr_update_value_size() is no longer necessary, as it only did one thing other than journal access/dirty. Signed-off-by: Joel Becker Signed-off-by: Mark Fasheh commit df32b3343aa11e0c7f54783594b24321d17d376f Author: Tao Ma Date: Tue Nov 25 07:21:36 2008 +0800 ocfs2/quota: sparse fixes for quota Fix 2 minor things in quota. They are both found by sparse check. 1. an endian bug in ocfs2_local_quota_add_chunk. 2. change olq_alloc_dquot to static. Signed-off-by: Tao Ma Signed-off-by: Mark Fasheh commit e35ff98f7c37b7bc901b4b90a66a0287565e456c Author: Tao Ma Date: Wed Nov 26 16:20:19 2008 -0800 ocfs2: fix indendation in ocfs2_dquot_drop_slow Signed-off-by: Tao Ma Signed-off-by: Mark Fasheh commit a5b5ee320185adc091a3a31630d278806b19d8f0 Author: Jan Kara Date: Tue Nov 25 15:31:35 2008 +0100 ext4: Add default allocation routines for quota structures Signed-off-by: Jan Kara Signed-off-by: Mark Fasheh commit 157091a2c3cdc71422cbc71eace205cf1b9f2200 Author: Jan Kara Date: Tue Nov 25 15:31:34 2008 +0100 ext3: Add default allocation routines for quota structures Signed-off-by: Jan Kara Signed-off-by: Mark Fasheh commit 4103003b3abb85af9dec9e60616ae086c2bcb4c9 Author: Jan Kara Date: Tue Nov 25 15:31:33 2008 +0100 reiserfs: Add default allocation routines for quota structures Signed-off-by: Jan Kara Signed-off-by: Mark Fasheh commit 7d9056ba20ebed6e3937a2e23183f6117919cb00 Author: Jan Kara Date: Tue Nov 25 15:31:32 2008 +0100 quota: Export dquot_alloc() and dquot_destroy() functions These are default functions for creating and destroying quota structures and they should be used from filesystems. Signed-off-by: Jan Kara Signed-off-by: Mark Fasheh commit 5cd9d5bb86daf632a40f90e2321ea9379e42f073 Author: Jan Kara Date: Tue Nov 25 15:31:31 2008 +0100 quota: Unexport dqblk_v1.h and dqblk_v2.h Unexport header files dqblk_v[12].h since except for quota format ID they don't contain information userspace should be interested in. Move ID definitions to quota.h. Signed-off-by: Jan Kara Signed-off-by: Mark Fasheh commit 9a2f3866c825c67c3a5806799cdc93fb7517f0c4 Author: Jan Kara Date: Tue Nov 25 15:31:30 2008 +0100 ocfs2: Fix build warnings (64-bit types vs long long) fs/ocfs2/quota_local.c: In function 'olq_set_dquot': fs/ocfs2/quota_local.c:844: warning: format '%lld' expects type 'long long int', but argument 7 has type '__le64' fs/ocfs2/quota_local.c:844: warning: format '%lld' expects type 'long long int', but argument 8 has type '__le64' fs/ocfs2/quota_local.c:844: warning: format '%lld' expects type 'long long int', but argument 7 has type '__le64' fs/ocfs2/quota_local.c:844: warning: format '%lld' expects type 'long long int', but argument 8 has type '__le64' fs/ocfs2/quota_local.c:844: warning: format '%lld' expects type 'long long int', but argument 7 has type '__le64' fs/ocfs2/quota_local.c:844: warning: format '%lld' expects type 'long long int', but argument 8 has type '__le64' fs/ocfs2/quota_global.c: In function '__ocfs2_sync_dquot': fs/ocfs2/quota_global.c:457: warning: format '%lld' expects type 'long long int', but argument 8 has type 's64' fs/ocfs2/quota_global.c:457: warning: format '%lld' expects type 'long long int', but argument 10 has type 's64' fs/ocfs2/quota_global.c:457: warning: format '%lld' expects type 'long long int', but argument 8 has type 's64' fs/ocfs2/quota_global.c:457: warning: format '%lld' expects type 'long long int', but argument 10 has type 's64' fs/ocfs2/quota_global.c:457: warning: format '%lld' expects type 'long long int', but argument 8 has type 's64' fs/ocfs2/quota_global.c:457: warning: format '%lld' expects type 'long long int', but argument 10 has type 's64' Signed-off-by: Jan Kara Signed-off-by: Mark Fasheh commit 53a3604610e92a5344cf8003c19975583e71a598 Author: Jan Kara Date: Tue Nov 25 15:31:29 2008 +0100 ocfs2: Make ocfs2_get_quota_block() consistent with ocfs2_read_quota_block() Make function return error status and not buffer pointer so that it's consistent with ocfs2_read_quota_block(). Signed-off-by: Jan Kara Signed-off-by: Mark Fasheh commit af09e51b6810d3408db1c0e956b3b0687b0e3723 Author: Jan Kara Date: Tue Nov 25 15:31:28 2008 +0100 ocfs2: Fix oops when extending quota files We have to mark buffer as uptodate before calling ocfs2_journal_access() and ocfs2_set_buffer_uptodate() does not do this for us. Signed-off-by: Jan Kara Signed-off-by: Mark Fasheh commit 85eb8b73d66530bb7b931789ae7a5ec9744eed34 Author: Joel Becker Date: Tue Nov 25 15:31:27 2008 +0100 ocfs2: Fix ocfs2_read_quota_block() error handling. ocfs2_bread() has become ocfs2_read_virt_blocks(), with a prototype to match ocfs2_read_blocks(). The quota code, converting from ocfs2_bread(), wraps the call to ocfs2_read_virt_blocks() in ocfs2_read_quota_block(). Unfortunately, the prototype of ocfs2_read_quota_block() matches the old prototype of ocfs2_bread(). The problem is that ocfs2_bread() returned the buffer head, and callers assumed that a NULL pointer was indicative of error. It wasn't. This is why ocfs2_bread() took an int*err argument as well. The new prototype of ocfs2_read_virt_blocks() avoids this error handling confusion. Let's change ocfs2_read_quota_block() to match. Signed-off-by: Joel Becker Acked-by: Jan Kara Signed-off-by: Mark Fasheh commit 57a09a7b3d9445a17c78d544f1e49d4d7d61705a Author: Jan Kara Date: Tue Nov 25 15:31:26 2008 +0100 ocfs2: Add missing initialization Add missing variable initialization to ocfs2_dquot_drop_slow(). Signed-off-by: Jan Kara Signed-off-by: Mark Fasheh commit b86c86fa1feb50221dc16071ae5b8a4acf3bd32c Author: Mark Fasheh Date: Tue Nov 18 17:16:47 2008 -0800 ocfs2: Use BH_JBDPrivateStart instead of BH_Unshadow This is safer. We no longer have to worry about tracking changes to jbd_state_bits. Signed-off-by: Mark Fasheh commit e97fcd95a4778a8caf1980c6c72fdf68185a0838 Author: Mark Fasheh Date: Tue Nov 18 17:15:24 2008 -0800 jbd2: Add BH_JBDPrivateStart Add this so that file systems using JBD2 can safely allocate unused b_state bits. In this case, we add it so that Ocfs2 can define a single bit for tracking the validation state of a buffer. Acked-by: "Theodore Ts'o" Signed-off-by: Mark Fasheh commit 19ece546a418997226bd91552fbc41abcb05cea6 Author: Jan Kara Date: Thu Aug 21 20:13:17 2008 +0200 ocfs2: Enable quota accounting on mount, disable on umount Enable quota usage tracking on mount and disable it on umount. Also add support for quota on and quota off quotactls and usrquota and grpquota mount options. Add quota features among supported ones. Signed-off-by: Jan Kara Signed-off-by: Mark Fasheh commit 2205363dce7447b8e85f1ead14387664c1a98753 Author: Jan Kara Date: Mon Oct 20 23:50:38 2008 +0200 ocfs2: Implement quota recovery Implement functions for recovery after a crash. Functions just read local quota file and sync info to global quota file. Signed-off-by: Jan Kara Signed-off-by: Mark Fasheh commit 171bf93ce11f4c9929fdce6ce63df8da2f3c4475 Author: Mark Fasheh Date: Mon Oct 20 15:36:47 2008 +0200 ocfs2: Periodic quota syncing This patch creates a work queue for periodic syncing of locally cached quota information to the global quota files. We constantly queue a delayed work item, to get the periodic behavior. Signed-off-by: Mark Fasheh Acked-by: Jan Kara commit a90714c150e3ce677c57a9dac3ab1ec342c75a95 Author: Jan Kara Date: Thu Oct 9 19:38:40 2008 +0200 ocfs2: Add quota calls for allocation and freeing of inodes and space Add quota calls for allocation and freeing of inodes and space, also update estimates on number of needed credits for a transaction. Move out inode allocation from ocfs2_mknod_locked() because vfs_dq_init() must be called outside of a transaction. Signed-off-by: Jan Kara Signed-off-by: Mark Fasheh commit 9e33d69f553aaf11377307e8d6f82deb3385e351 Author: Jan Kara Date: Mon Aug 25 19:56:50 2008 +0200 ocfs2: Implementation of local and global quota file handling For each quota type each node has local quota file. In this file it stores changes users have made to disk usage via this node. Once in a while this information is synced to global file (and thus with other nodes) so that limits enforcement at least aproximately works. Global quota files contain all the information about usage and limits. It's mostly handled by the generic VFS code (which implements a trie of structures inside a quota file). We only have to provide functions to convert structures from on-disk format to in-memory one. We also have to provide wrappers for various quota functions starting transactions and acquiring necessary cluster locks before the actual IO is really started. Signed-off-by: Jan Kara Signed-off-by: Mark Fasheh commit bbbd0eb34bf801dee01e345785959a75258f6567 Author: Jan Kara Date: Thu Aug 21 18:22:30 2008 +0200 ocfs2: Mark system files as not subject to quota accounting Mark system files as not subject to quota accounting. This prevents possible recursions into quota code and thus deadlocks. Signed-off-by: Jan Kara Signed-off-by: Mark Fasheh commit 1a224ad11eeb190da4a123e156601aad1bb67f24 Author: Jan Kara Date: Wed Aug 20 15:43:36 2008 +0200 ocfs2: Assign feature bits and system inodes to quota feature and quota files Signed-off-by: Jan Kara Signed-off-by: Mark Fasheh commit 90e86a63eadf1a3b2f19b68d82150dc63fe01443 Author: Jan Kara Date: Wed Aug 27 22:30:28 2008 +0200 ocfs2: Support nested transactions OCFS2 can easily support nested transactions. We just have to take care and not spoil statistics acquire semaphore unnecessarily. Signed-off-by: Jan Kara Signed-off-by: Mark Fasheh commit 12c77527e4138bc3b17d17b0e0c909e4fc84924f Author: Jan Kara Date: Mon Oct 20 17:05:00 2008 +0200 quota: Implement function for scanning active dquots OCFS2 needs to scan all active dquots once in a while and sync quota information among cluster nodes. Provide a helper function for it so that it does not have to reimplement internally a list which VFS already has. Moreover this function is probably going to be useful for other clustered filesystems if they decide to use VFS quotas. Signed-off-by: Jan Kara Signed-off-by: Mark Fasheh commit 3d9ea253a0e73dccaa869888ec2ceb17ea76c810 Author: Jan Kara Date: Fri Oct 10 16:12:23 2008 +0200 quota: Add helpers to allow ocfs2 specific quota initialization, freeing and recovery OCFS2 needs to peek whether quota structure is already in memory so that it can avoid expensive cluster locking in that case. Similarly when freeing dquots, it checks whether it is the last quota structure user or not. Finally, it needs to get reference to dquot structure for specified id and quota type when recovering quota file after crash. Signed-off-by: Jan Kara Signed-off-by: Mark Fasheh commit 571b46e40bebb0d57130ca24c4a84dfd553adb91 Author: Jan Kara Date: Thu Oct 30 09:17:52 2008 +0100 quota: Update version number Increase reported version number of quota support since quota core has changed significantly. Also remove __DQUOT_NUM_VERSION__ since nobody uses it. Signed-off-by: Jan Kara Signed-off-by: Mark Fasheh commit 4d59bce4f9eaf26d6d9046b56a2f1c0c7f20981d Author: Jan Kara Date: Thu Oct 2 16:48:10 2008 +0200 quota: Keep which entries were set by SETQUOTA quotactl Quota in a clustered environment needs to synchronize quota information among cluster nodes. This means we have to occasionally update some information in dquot from disk / network. On the other hand we have to be careful not to overwrite changes administrator did via SETQUOTA. So indicate in dquot->dq_flags which entries have been set by SETQUOTA and quota format can clear these flags when it properly propagated the changes. Signed-off-by: Jan Kara Signed-off-by: Mark Fasheh commit db49d2df489f727096438706a5428115e84a3f0d Author: Jan Kara Date: Wed Oct 1 18:21:39 2008 +0200 quota: Allow negative usage of space and inodes For clustered filesystems, it can happen that space / inode usage goes negative temporarily (because some node is allocating another node is freeing and they are not completely in sync). So let quota code allow this and change qsize_t so a signed type so that we don't underflow the variables. Signed-off-by: Jan Kara Signed-off-by: Mark Fasheh commit e3d4d56b9715e40ded2a84d0d4fa7f3b6c58983c Author: Jan Kara Date: Thu Oct 2 18:44:14 2008 +0200 quota: Convert union in mem_dqinfo to a pointer Coming quota support for OCFS2 is going to need quite a bit of additional per-sb quota information. Moreover having fs.h include all the types needed for this structure would be a pain in the a**. So remove the union from mem_dqinfo and add a private pointer for filesystem's use. Signed-off-by: Jan Kara Signed-off-by: Mark Fasheh commit 1ccd14b9c271c1ac6eec5c5ec5def433100e7248 Author: Jan Kara Date: Mon Sep 22 05:54:49 2008 +0200 quota: Split off quota tree handling into a separate file There is going to be a new version of quota format having 64-bit quota limits and a new quota format for OCFS2. They are both going to use the same tree structure as VFSv0 quota format. So split out tree handling into a separate file and make size of leaf blocks, amount of space usable in each block (needed for checksumming) and structures contained in them configurable so that the code can be shared. Signed-off-by: Jan Kara Signed-off-by: Mark Fasheh commit cf770c137122b78470a67ebd5498947869a09197 Author: Jan Kara Date: Sun Sep 21 23:17:53 2008 +0200 quota: Move quotaio_v[12].h from include/linux/ to fs/ Since these include files are used only by implementation of quota formats, there's no need to have them in include/linux/. Signed-off-by: Jan Kara Signed-off-by: Mark Fasheh commit ca785ec66b991e9ca74dd9840fc014487ad095e1 Author: Jan Kara Date: Tue Sep 30 17:53:37 2008 +0200 quota: Introduce DQUOT_QUOTA_SYS_FILE flag If filesystem can handle quota files as system files hidden from users, we can skip a lot of cache invalidation, syncing, inode flags setting etc. when turning quotas on, off and quota_sync. Allow filesystem to indicate that it is hiding quota files from users by DQUOT_QUOTA_SYS_FILE flag. Signed-off-by: Jan Kara Signed-off-by: Mark Fasheh commit dcb30695f2cac86b71417629a6fe8042b4fe2ab2 Author: Jan Kara Date: Wed Aug 20 18:30:40 2008 +0200 quota: Remove compatibility function sb_any_quota_enabled() Signed-off-by: Jan Kara Signed-off-by: Mark Fasheh commit 6929f891241d3fe3af01d28503b645e63241e49a Author: Jan Kara Date: Wed Aug 20 18:16:36 2008 +0200 reiserfs: Use sb_any_quota_loaded() instead of sb_any_quota_enabled(). Signed-off-by: Jan Kara Signed-off-by: Mark Fasheh commit 17bd13b31ce4fe7f789d8848e8cbc8cb42b10544 Author: Jan Kara Date: Wed Aug 20 18:14:35 2008 +0200 ext4: Use sb_any_quota_loaded() instead of sb_any_quota_enabled() Signed-off-by: Jan Kara Signed-off-by: Mark Fasheh commit ee0d5ffe0da2aa992004447113e28622621a983f Author: Jan Kara Date: Wed Aug 20 18:11:50 2008 +0200 ext3: Use sb_any_quota_loaded() instead of sb_any_quota_enabled() Signed-off-by: Jan Kara Signed-off-by: Mark Fasheh commit f55abc0fb9c3189de3da829adf3220322c0da43e Author: Jan Kara Date: Wed Aug 20 17:50:32 2008 +0200 quota: Allow to separately enable quota accounting and enforcing limits Split DQUOT_USR_ENABLED (and DQUOT_GRP_ENABLED) into DQUOT_USR_USAGE_ENABLED and DQUOT_USR_LIMITS_ENABLED. This way we are able to separately enable / disable whether we should: 1) ignore quotas completely 2) just keep uptodate information about usage 3) actually enforce quota limits This is going to be useful when quota is treated as filesystem metadata - we then want to keep quota information uptodate all the time and just enable / disable limits enforcement. Signed-off-by: Jan Kara Signed-off-by: Mark Fasheh commit e4bc7b4b7ff783779b6928d55a9308910bf180a3 Author: Jan Kara Date: Wed Aug 20 16:21:01 2008 +0200 quota: Make _SUSPENDED just a flag Upto now, DQUOT_USR_SUSPENDED behaved like a state - i.e., either quota was enabled or suspended or none. Now allowed states are 0, ENABLED, ENABLED | SUSPENDED. This will be useful later when we implement separate enabling of quota usage tracking and limits enforcement because we need to keep track of a state which has been suspended. Signed-off-by: Jan Kara Signed-off-by: Mark Fasheh commit 1497d3ad487b64eeea83ac203263802755438949 Author: Jan Kara Date: Wed Aug 20 15:49:59 2008 +0200 quota: Remove bogus 'optimization' in check_idq() and check_bdq() Checks like <= 0 for an unsigned type do not make much sence. The value could be only 0 and that does not happen often enough for the check to be worth it. Signed-off-by: Jan Kara Signed-off-by: Mark Fasheh commit 12095460f7f315f8ef67a55b2194195d325d48d7 Author: Jan Kara Date: Wed Aug 20 14:45:12 2008 +0200 quota: Increase size of variables for limits and inode usage So far quota was fine with quota block limits and inode limits/numbers in a 32-bit type. Now with rapid increase in storage sizes there are coming requests to be able to handle quota limits above 4TB / more that 2^32 inodes. So bump up sizes of types in mem_dqblk structure to 64-bits to be able to handle this. Also update inode allocation / checking functions to use qsize_t and make global structure keep quota limits in bytes so that things are consistent. Signed-off-by: Jan Kara Signed-off-by: Mark Fasheh commit 74f783af95c982aef6d3a1415275650dcf511666 Author: Jan Kara Date: Tue Aug 19 14:51:22 2008 +0200 quota: Add callbacks for allocating and destroying dquot structures Some filesystems would like to keep private information together with each dquot. Add callbacks alloc_dquot and destroy_dquot allowing filesystem to allocate larger dquots from their private slab in a similar fashion we currently allocate inodes. Signed-off-by: Jan Kara Signed-off-by: Mark Fasheh commit 9f868f16e40e9ad8e39aebff94a4be0d96520734 Author: Tao Ma Date: Wed Nov 19 16:48:42 2008 +0800 ocfs2/xattr: Restore not_found in xis During an xattr set, when we move a xattr which was stored in inode to the outside bucket, we have to delete it and it will use the old value of xis->not_found. xis->not_found is removed by ocfs2_calc_xattr_set_need though, so we must restore it. Signed-off-by: Tao Ma Signed-off-by: Mark Fasheh commit 97aff52ae13d3c11a074bbbfc80ad0b59cb8cdeb Author: Tao Ma Date: Wed Nov 19 16:48:41 2008 +0800 ocfs2/xattr: Fix a bug in xattr allocation estimation When we extend one xattr's value to a large size, the old value size might be smaller than the size of a value root. In those cases, we still need to guess the metadata allocation. Reported-by: Tiger Yang Signed-off-by: Tao Ma Signed-off-by: Mark Fasheh commit 53ef99cad9878f02f27bb30bc304fc42af8bdd6e Author: Mark Fasheh Date: Tue Nov 18 16:53:43 2008 -0800 ocfs2: Remove JBD compatibility layer JBD2 is fully backwards compatible with JBD and it's been tested enough with Ocfs2 that we can clean this code up now. Signed-off-by: Mark Fasheh commit 511308d90b53479b194cd067715f44dc99d39b08 Author: Joel Becker Date: Thu Nov 13 14:49:21 2008 -0800 ocfs2: Convert ocfs2_read_dir_block() to ocfs2_read_virt_blocks() Now that we've centralized the ocfs2_read_virt_blocks() code, let's use it in ocfs2_read_dir_block(). Signed-off-by: Joel Becker Signed-off-by: Mark Fasheh commit a8549fb5abb2b372e46d5de0d23ff8b24f4a61af Author: Joel Becker Date: Thu Nov 13 14:49:20 2008 -0800 ocfs2: Wrap virtual block reads in ocfs2_read_virt_blocks() The ocfs2_read_dir_block() function really maps an inode's virtual blocks to physical ones before calling ocfs2_read_blocks(). Let's extract that to common code, because other places might want to do that. Other than the block number being virtual, ocfs2_read_virt_blocks() takes the same arguments as ocfs2_read_blocks(). It converts those virtual block numbers to physical before calling ocfs2_read_blocks() directly. If the blocks asked for are discontiguous, this can mean multiple calls to ocfs2_read_blocks(), but this is mostly hidden from the caller. Like ocfs2_read_blocks(), the caller can pass in an existing buffer_head. This is usually done to pick up some readahead I/O. ocfs2_read_virt_blocks() checks the buffer_head's block number against the extent map - it must match. Signed-off-by: Joel Becker Signed-off-by: Mark Fasheh commit 970e4936d7d15f35d00fd15a14f5343ba78b2fc8 Author: Joel Becker Date: Thu Nov 13 14:49:19 2008 -0800 ocfs2: Validate metadata only when it's read from disk. Add an optional validation hook to ocfs2_read_blocks(). Now the validation function is only called when a block was actually read off of disk. It is not called when the buffer was in cache. We add a buffer state bit BH_NeedsValidate to flag these buffers. It must always be one higher than the last JBD2 buffer state bit. The dinode, dirblock, extent_block, and xattr_block validators are lifted to this scheme directly. The group_descriptor validator needs to be split into two pieces. The first part only needs the gd buffer and is passed to ocfs2_read_block(). The second part requires the dinode as well, and is called every time. It's only 3 compares, so it's tiny. This also allows us to clean up the non-fatal gd check used by resize.c. It now has no magic argument. Signed-off-by: Joel Becker Signed-off-by: Mark Fasheh commit 4ae1d69bedc8d174cb8a558694607e013157cde1 Author: Joel Becker Date: Thu Nov 13 14:49:18 2008 -0800 ocfs2: Wrap xattr block reads in a dedicated function We weren't consistently checking xattr blocks after we read them. Most places checked the signature, but none checked xb_blkno or xb_fs_signature. Create a toplevel ocfs2_read_xattr_block() that does the read and the validation. Signed-off-by: Joel Becker Signed-off-by: Mark Fasheh commit a22305cc693254a2aa651e797875669112ef8635 Author: Joel Becker Date: Thu Nov 13 14:49:17 2008 -0800 ocfs2: Wrap dirblock reads in a dedicated function. We have ocfs2_bread() as a vestige of the original ext-based dir code. It's only used by directories, though. Turn it into ocfs2_read_dir_block(), with a prototype matching the other metadata read functions. It's set up to validate dirblocks when the time comes. Signed-off-by: Joel Becker Signed-off-by: Mark Fasheh commit 5e96581a377fc6bd76e9b112da9aeb8a7ae8bf22 Author: Joel Becker Date: Thu Nov 13 14:49:16 2008 -0800 ocfs2: Wrap extent block reads in a dedicated function. We weren't consistently checking extent blocks after we read them. Most places checked the signature, but none checked h_blkno or h_fs_signature. Create a toplevel ocfs2_read_extent_block() that does the read and the validation. Signed-off-by: Joel Becker Signed-off-by: Mark Fasheh commit 4203530613280281868b3ca36c817530bca3825c Author: Joel Becker Date: Thu Nov 13 14:49:15 2008 -0800 ocfs2: Morph the haphazard OCFS2_IS_VALID_GROUP_DESC() checks. Random places in the code would check a group descriptor bh to see if it was valid. The previous commit unified descriptor block reads, validating all block reads in the same place. Thus, these checks are no longer necessary. Rather than eliminate them, however, we change them to BUG_ON() checks. This ensures the assumptions remain true. All of the code paths to these checks have been audited to ensure they come from a validated descriptor read. Signed-off-by: Joel Becker Signed-off-by: Mark Fasheh commit 68f64d471be38631d7196b938d9809802dd467fa Author: Joel Becker Date: Thu Nov 13 14:49:14 2008 -0800 ocfs2: Wrap group descriptor reads in a dedicated function. We have a clean call for validating group descriptors, but every place that wants the always does a read_block()+validate() call pair. Create a toplevel ocfs2_read_group_descriptor() that does the right thing. This allows us to leverage the single call point later for fancier handling. We also add validation of gd->bg_generation against the superblock and gd->bg_blkno against the block we thought we read. Signed-off-by: Joel Becker Signed-off-by: Mark Fasheh commit 57e3e7971136003c96766346049aa73b82cab079 Author: Joel Becker Date: Thu Nov 13 14:49:13 2008 -0800 ocfs2: Consolidate validation of group descriptors. Currently the validation of group descriptors is directly duplicated so that one version can error the filesystem and the other (resize) can just report the problem. Consolidate to one function that takes a boolean. Wrap that function with the old call for the old users. This is in preparation for lifting the read+validate step into a single function. Signed-off-by: Joel Becker Signed-off-by: Mark Fasheh commit 10995aa2451afa20b721cc7de856cae1a13dba57 Author: Joel Becker Date: Thu Nov 13 14:49:12 2008 -0800 ocfs2: Morph the haphazard OCFS2_IS_VALID_DINODE() checks. Random places in the code would check a dinode bh to see if it was valid. Not only did they do different levels of validation, they handled errors in different ways. The previous commit unified inode block reads, validating all block reads in the same place. Thus, these haphazard checks are no longer necessary. Rather than eliminate them, however, we change them to BUG_ON() checks. This ensures the assumptions remain true. All of the code paths to these checks have been audited to ensure they come from a validated inode read. Signed-off-by: Joel Becker Signed-off-by: Mark Fasheh commit b657c95c11088d77fc1bfc9c84d940f778bf9d12 Author: Joel Becker Date: Thu Nov 13 14:49:11 2008 -0800 ocfs2: Wrap inode block reads in a dedicated function. The ocfs2 code currently reads inodes off disk with a simple ocfs2_read_block() call. Each place that does this has a different set of sanity checks it performs. Some check only the signature. A couple validate the block number (the block read vs di->i_blkno). A couple others check for VALID_FL. Only one place validates i_fs_generation. A couple check nothing. Even when an error is found, they don't all do the same thing. We wrap inode reading into ocfs2_read_inode_block(). This will validate all the above fields, going readonly if they are invalid (they never should be). ocfs2_read_inode_block_full() is provided for the places that want to pass read_block flags. Every caller is passing a struct inode with a valid ip_blkno, so we don't need a separate blkno argument either. We will remove the validation checks from the rest of the code in a later commit, as they are no longer necessary. Signed-off-by: Joel Becker Signed-off-by: Mark Fasheh commit a68979b857283daf4acc405e476dcc8812a3ff2b Author: Tiger Yang Date: Fri Nov 14 11:17:52 2008 +0800 ocfs2: add mount option and Kconfig option for acl This patch adds the Kconfig option "CONFIG_OCFS2_FS_POSIX_ACL" and mount options "acl" to enable acls in Ocfs2. Signed-off-by: Tiger Yang Signed-off-by: Mark Fasheh commit 89c38bd0ade3c567707ed8fce088b253b0369c50 Author: Tiger Yang Date: Fri Nov 14 11:17:41 2008 +0800 ocfs2: add ocfs2_init_acl in mknod We need to get the parent directories acls and let the new child inherit it. To this, we add additional calculations for data/metadata allocation. Signed-off-by: Tiger Yang Signed-off-by: Mark Fasheh commit 060bc66dd5017460076d9e808e2198cd532c943d Author: Tiger Yang Date: Fri Nov 14 11:17:29 2008 +0800 ocfs2: add ocfs2_acl_chmod This function is used to update acl xattrs during file mode changes. Signed-off-by: Tiger Yang Signed-off-by: Mark Fasheh commit 23fc2702bea686569281708ad519b41a11d0a2f4 Author: Tiger Yang Date: Fri Nov 14 11:17:18 2008 +0800 ocfs2: add ocfs2_check_acl This function is used to enhance permission checking with POSIX ACLs. Signed-off-by: Tiger Yang Signed-off-by: Mark Fasheh commit 929fb014e041c6572c5e8c3686f1e32742b5b953 Author: Tiger Yang Date: Fri Nov 14 11:17:04 2008 +0800 ocfs2: add POSIX ACL API This patch adds POSIX ACL(access control lists) APIs in ocfs2. We convert struct posix_acl to many ocfs2_acl_entry and regard them as an extended attribute entry. Signed-off-by: Tiger Yang Signed-off-by: Mark Fasheh commit 4e3e9d027f63488e676bf7700ec515a192e54f69 Author: Tiger Yang Date: Fri Nov 14 11:16:53 2008 +0800 ocfs2: add ocfs2_xattr_get_nolock This function does the work of ocfs2_xattr_get under an open lock. Signed-off-by: Tiger Yang Signed-off-by: Mark Fasheh commit 534eadddc1de8754a227202c0e747af4973f82ce Author: Tiger Yang Date: Fri Nov 14 11:16:41 2008 +0800 ocfs2: add ocfs2_init_security in during file create Security attributes must be set when creating a new inode. We do this in three steps. - First, get security xattr's name and value by security_operation - Calculate and reserve the meta data and clusters needed by this security xattr before starting transaction - Finally, we set it before add_entry Signed-off-by: Tiger Yang Signed-off-by: Mark Fasheh commit 923f7f3102b80403152e05aee3d55ecfce240440 Author: Tiger Yang Date: Fri Nov 14 11:16:27 2008 +0800 ocfs2: add security xattr API This patch add security xattr set/get/list APIs to support security attributes in Ocfs2. Signed-off-by: Tiger Yang Signed-off-by: Mark Fasheh commit 6c3faba4421e230d77a181c260972229c542dec9 Author: Tiger Yang Date: Fri Nov 14 11:16:03 2008 +0800 ocfs2: add ocfs2_xattr_set_handle This function is used to set xattr's in a started transaction. It is only called during inode creation inode for initial security/acl xattrs of the new inode. These xattrs could be put into ibody or extent block, so xattr bucket would not be use in this case. Signed-off-by: Tiger Yang Signed-off-by: Mark Fasheh commit f5d362022a947e84b0a3dd656d09c6b2322e234f Author: Tiger Yang Date: Fri Nov 14 11:15:44 2008 +0800 ocfs2: move new inode allocation out of the transaction Move out inode allocation from ocfs2_mknod_locked() because vfs_dq_init() must be called outside of a transaction. Signed-off-by: Jan Kara Signed-off-by: Tiger Yang Signed-off-by: Mark Fasheh commit fecc01126d7a244b7e9b563c80663ffdca35343b Author: Mark Fasheh Date: Wed Nov 12 15:16:38 2008 -0800 ocfs2: turn __ocfs2_remove_inode_range() into ocfs2_remove_btree_range() This patch genericizes the high level handling of extent removal. ocfs2_remove_btree_range() is nearly identical to __ocfs2_remove_inode_range(), except that extent tree operations have been used where necessary. We update ocfs2_remove_inode_range() to use the generic helper. Now extent tree based structures have an easy way to truncate ranges. Signed-off-by: Mark Fasheh Acked-by: Joel Becker commit 85db90e77806d48a19fda77dabe8897d369a1710 Author: Tao Ma Date: Wed Nov 12 08:27:01 2008 +0800 ocfs2/xattr: Merge xattr set transaction. In current ocfs2/xattr, the whole xattr set is divided into many steps are many transaction are used, this make the xattr set process isn't like a real transaction, so this patch try to merge all the transaction into one. Another benefit is that acl can use it easily now. I don't merge the transaction of deleting xattr when we remove an inode. The reason is that if we have a large number of xattrs and every xattrs has large values(large enough for outside storage), the whole transaction will be very huge and it looks like jbd can't handle it(I meet with a jbd complain once). And the old inode removal is also divided into many steps, so I'd like to leave as it is. Note: In xattr set, I try to avoid ocfs2_extend_trans since if the credits aren't enough for the extension, it will commit all the dirty blocks and create a new transaction which may lead to inconsistency in metadata. All ocfs2_extend_trans remained are safe now. Signed-off-by: Tao Ma Signed-off-by: Mark Fasheh commit 78f30c314a74b9dc5d7368d96fe4be883d9a3a04 Author: Tao Ma Date: Wed Nov 12 08:27:00 2008 +0800 ocfs2/xattr: Reserve meta/data at the beginning of ocfs2_xattr_set. In ocfs2 xattr set, we reserve metadata and clusters in any place they are needed. It is time-consuming and ineffective, so this patch try to reserve metadata and clusters at the beginning of ocfs2_xattr_set. Signed-off-by: Tao Ma Signed-off-by: Mark Fasheh commit c73f60f900ddf73ec4ea2a143829ab97242c4e8c Author: Tao Ma Date: Wed Nov 12 08:26:59 2008 +0800 ocfs2/xattr: Move clusters free into dealloc. Move clusters free process into dealloc context so that they can be freed after the transaction. Signed-off-by: Tao Ma Signed-off-by: Mark Fasheh commit 2891d290aa6eee0821f7e4ad0b1c4ae4d964b0f1 Author: Tao Ma Date: Wed Nov 12 08:26:58 2008 +0800 ocfs2: Add clusters free in dealloc_ctxt. Now in ocfs2 xattr set, the whole process are divided into many small parts and they are wrapped into diffrent transactions and it make the set doesn't look like a real transaction. So we want to integrate it into a real one. In some cases we will allocate some clusters and free some in just one transaction. e.g, one xattr is larger than inline size, so it and its value root is stored within the inode while the value is outside in a cluster. Then we try to update it with a smaller value(larger than the size of root but smaller than inline size), we may need to free the outside cluster while allocate a new bucket(one cluster) since now the inode may be full. The old solution will lock the global_bitmap(if the local alloc failed in stress test) and then the truncate log. This will cause a ABBA lock with truncate log flush. This patch add the clusters free in dealloc_ctxt, so that we can record the free clusters during the transaction and then free it after we release the global_bitmap in xattr set. Signed-off-by: Tao Ma Signed-off-by: Mark Fasheh commit 976331d8789d4d84a11b45b87c520ade83715343 Author: Tao Ma Date: Wed Nov 12 08:26:57 2008 +0800 ocfs2/xattr: Only extend xattr bucket in need. When the first block of a bucket is filled up with xattr entries, we normally extend the bucket. But if we are just replace one xattr with small length, we don't need to extend it. This is important since we will calculate what we need before the transaction and in this situation no resources will be allocated. Signed-off-by: Tao Ma Signed-off-by: Mark Fasheh commit 757055adc5d41b910bdead925060f077dd2d9169 Author: Tao Ma Date: Thu Nov 6 08:10:48 2008 +0800 ocfs2/xattr: Only set buffer update if it doesn't exist in cache. When we call ocfs2_init_xattr_bucket, we deem that the new buffer head will be written to disk immediately, so we just use sb_getblk. But in some cases the buffer may have already been in ocfs2 uptodate cache, so we only call ocfs2_set_buffer_uptodate if the buffer head isn't in the cache. Signed-off-by: Tao Ma Signed-off-by: Joel Becker Signed-off-by: Mark Fasheh commit 1c32a2fd46ddc01bd86bff56a8f5d98c815750f4 Author: Tao Ma Date: Thu Nov 6 08:10:47 2008 +0800 ocfs2/xattr: Remove additional bucket allocation in bucket defragment. Joel has refactored xattr bucket and make xattr bucket a general wrapper. So in ocfs2_defrag_xattr_bucket, we have already passed the bucket in, so there is no need to allocate a new one and read it. Signed-off-by: Tao Ma Signed-off-by: Joel Becker Signed-off-by: Mark Fasheh commit 02dbf38d19c19016f558fe0dc0c44f8041d3eb8e Author: Joel Becker Date: Mon Oct 27 18:07:45 2008 -0700 ocfs2: Use buckets in ocfs2_xattr_set_entry_in_bucket(). The ocfs2_xattr_set_entry_in_bucket() function is already working on an ocfs2_xattr_bucket structure, so let's use the bucket API. Signed-off-by: Joel Becker Signed-off-by: Mark Fasheh commit 161d6f30f18c4a7e2b24705b6690cce3ff276eb9 Author: Joel Becker Date: Mon Oct 27 15:25:18 2008 -0700 ocfs2: Use buckets in ocfs2_defrag_xattr_bucket(). Use the ocfs2_xattr_bucket abstraction for reading and writing the bucket in ocfs2_defrag_xattr_bucket(). Signed-off-by: Joel Becker Signed-off-by: Mark Fasheh commit 178eeac354ea28828d5e94a3a7b51368c171d6a5 Author: Joel Becker Date: Mon Oct 27 15:18:29 2008 -0700 ocfs2: Use buckets in ocfs2_xattr_create_index_block(). Use the ocfs2_xattr_bucket abstraction in ocfs2_xattr_create_index_block() and its helpers. We get more efficient reads, a lot less buffer_head munging, and nicer code to boot. While we're at it, ocfs2_xattr_update_xattr_search() becomes void. Signed-off-by: Joel Becker Signed-off-by: Mark Fasheh commit e2356a3f02cfdbce735465a2b40b6dc72a764c26 Author: Joel Becker Date: Mon Oct 27 15:01:54 2008 -0700 ocfs2: Use buckets in ocfs2_xattr_bucket_find(). Change the ocfs2_xattr_bucket_find() function to use ocfs2_xattr_bucket as its abstraction. This makes for more efficient reads, as buckets are linear blocks, and also has improved caching characteristics. It also reads better. Signed-off-by: Joel Becker Signed-off-by: Mark Fasheh commit ba937127596ec2c61437006741f7d29999284de4 Author: Joel Becker Date: Fri Oct 24 19:13:20 2008 -0700 ocfs2: Take ocfs2_xattr_bucket structures off of the stack. The ocfs2_xattr_bucket structure is a nice abstraction, but it is a bit large to have on the stack. Just like ocfs2_path, let's allocate it with a ocfs2_xattr_bucket_new() function. We can now store the inode on the bucket, cleaning up all the other bucket functions. While we're here, we catch another place or two that wasn't using ocfs2_read_xattr_bucket(). Updates: - No longer allocating xis.bucket, as it will never be used. Signed-off-by: Joel Becker Signed-off-by: Mark Fasheh commit 4980c6daba967124ed6420032960abd2b48412e2 Author: Joel Becker Date: Fri Oct 24 18:54:43 2008 -0700 ocfs2: Copy xattr buckets with a dedicated function. Now that the places that copy whole buckets are using struct ocfs2_xattr_bucket, we can do the copy in a dedicated function. Signed-off-by: Joel Becker Signed-off-by: Mark Fasheh commit 1224be020f62ada3e19822feeac3840abf80de3e Author: Joel Becker Date: Fri Oct 24 18:47:33 2008 -0700 ocfs2: Wrap journal_access/journal_dirty for xattr buckets. A common action is to call ocfs2_journal_access() and ocfs2_journal_dirty() on the buffer heads of an xattr bucket. Let's create nice wrappers. While we're there, let's drop the places that try to be smart by writing only the first and last blocks of a bucket. A bucket is contiguous, so writing the whole thing is actually more efficient. Signed-off-by: Joel Becker Signed-off-by: Mark Fasheh commit 784b816a9198dc3782c97cde8ddcf52fecdf1797 Author: Joel Becker Date: Fri Oct 24 17:33:40 2008 -0700 ocfs2: Improve ocfs2_read_xattr_bucket(). The ocfs2_read_xattr_bucket() function would read an xattr bucket into a list of buffer heads. However, we have a nice ocfs2_xattr_bucket structure. Let's have it fill that out instead. In addition, ocfs2_read_xattr_bucket() would initialize buffer heads for a bucket that's never been on disk before. That's confusing. Let's call that functionality ocfs2_init_xattr_bucket(). The functions ocfs2_cp_xattr_bucket() and ocfs2_half_xattr_bucket() are updated to use the ocfs2_xattr_bucket structure rather than raw bh lists. That way they can use the new read/init calls. In addition, they drop the wasted read of an existing target bucket. Signed-off-by: Joel Becker Signed-off-by: Mark Fasheh commit 6dde41d9e7ba62f84cd7e91c0e993500af32ceb6 Author: Joel Becker Date: Fri Oct 24 17:16:48 2008 -0700 ocfs2: Provide a wrapper to brelse() xattr bucket buffers. A common theme is walking all the buffer heads on an ocfs2_xattr_bucket and releasing them. Let's wrap that. Signed-off-by: Joel Becker Signed-off-by: Mark Fasheh commit 3e6329463e3a5c311e1d607ff3db735a18b6d67a Author: Joel Becker Date: Fri Oct 24 17:04:49 2008 -0700 ocfs2: Convenient access to an xattr bucket's header. The xattr code often wants to access the ocfs2_xattr_header at the start of an bucket. Rather than walk the pointer chains, let's just create another nice macro. As a side benefit, we can get rid of the mostly spurious ->bu_xh element on the bucket structure. The idea is ripped from the ocfs2_path code. Signed-off-by: Joel Becker Signed-off-by: Mark Fasheh commit 51def39f0cabd46131c7c4df08751cb0cb9433d1 Author: Joel Becker Date: Fri Oct 24 16:57:21 2008 -0700 ocfs2: Convenient access to xattr bucket data blocks. The xattr code often wants to access the data pointer for blocks in an xattr bucket. This is usually found by dereferencing the bh array hanging off of the ocfs2_xattr_bucket structure. Rather than do this all the time, let's provide a nice little macro. The idea is ripped from the ocfs2_path code. Signed-off-by: Joel Becker Signed-off-by: Mark Fasheh commit 9c7759aa670918a48f0c6e06779cd20f2781a2ac Author: Joel Becker Date: Fri Oct 24 16:21:03 2008 -0700 ocfs2: Convenient access to an xattr bucket's block number. The xattr code often wants to know the block number of an xattr bucket. This is usually found by dereferencing the first bh hanging off of the ocfs2_xattr_bucket structure. Rather than do this all the time, let's provide a nice little macro. The idea is ripped from the ocfs2_path code. Signed-off-by: Joel Becker Signed-off-by: Mark Fasheh commit 4ac6032d6c92f0ac65cf5bc56b68557b3f099b66 Author: Joel Becker Date: Sat Oct 18 19:11:42 2008 -0700 ocfs2: Field prefixes for the xattr_bucket structure The ocfs2_xattr_bucket structure keeps track of the buffers for one xattr bucket. Let's prefix the fields for easier code navigation. Signed-off-by: Joel Becker Signed-off-by: Mark Fasheh commit 647b0d3854d776485faea9de7e7ed7fd4bdc6f20 Author: David Woodhouse Date: Mon Jan 5 16:31:03 2009 +0000 [MTD] [TESTS] Fix some size_t printk format warnings Signed-off-by: David Woodhouse commit 572acc41274522b865440d0644d5f986e3c83755 Merge: 60f2652 9faa815 Author: David Woodhouse Date: Mon Jan 5 16:24:55 2009 +0000 Merge branch 'master' of git://git.infradead.org/users/dedekind/mtd-tests-2.6 Conflicts: drivers/mtd/Makefile commit 4209324a74fd234fa44bb18a3331356e41df773a Author: Haavard Skinnemoen Date: Mon Jan 5 17:14:22 2009 +0100 avr32: data param to at32_add_device_mci() must be non-NULL at32_add_device_mci() will refuse to add the mci device if the data parameter is NULL. Fix up the favr-32 and hammerhead boards so that this doesn't happen. Signed-off-by: Haavard Skinnemoen Cc: Alex Raimondi Cc: Hans-Christian Egtvedt commit 0e490050902adaca9b30275ec9a544a786bf2db8 Merge: dd5e133 c42aa77 Author: Haavard Skinnemoen Date: Mon Jan 5 16:36:07 2009 +0100 Merge branch 'move-atmel-mci-h' into boards commit c42aa775cc8a8ca558db0cc75979fb8e16667447 Author: Nicolas Ferre Date: Thu Nov 20 15:59:12 2008 +0100 atmel-mci: move atmel-mci.h file to include/linux Needed to use the atmel-mci driver in an architecture independant maner. Signed-off-by: Nicolas Ferre Signed-off-by: Haavard Skinnemoen commit 5db524bd469290212781e1cb0293b57a7a1c000a Author: Martin K. Petersen Date: Sun Jan 4 03:04:34 2009 -0500 [SCSI] sd: Correctly handle 6-byte commands with DIX DIF does not work with 6-byte commands so we previously ignored those commands when preparing a request. However, DIX does not need RDPROTECT/WRPROTECT to be set and 6-byte commands are consequently perfectly valid in host-only mode. This patch fixes a problem where we would set the wrong DIX operation when issuing commands to a legacy disk. Signed-off-by: Martin K. Petersen Reviewed-by: Matthew Wilcox Signed-off-by: James Bottomley commit becce74b8231f8b5e51165e797f6c950d1dbcf67 Author: Martin K. Petersen Date: Sun Jan 4 03:04:33 2009 -0500 [SCSI] sd: DIF: Fix tagging on platforms with signed char Switch tag arrays to u8 to prevent problems on platforms with signed char. Reported-by: Tim LaBerge Signed-off-by: Martin K. Petersen Signed-off-by: James Bottomley commit 10da5181688886758ce162705aaad8131b963e99 Author: Martin K. Petersen Date: Sun Jan 4 03:04:32 2009 -0500 [SCSI] sd: DIF: Show app tag on error Add application tag to the output displayed on error. Signed-off-by: Martin K. Petersen Signed-off-by: James Bottomley commit 3e695f89c5debb735e4ff051e9e58d8fb4e95110 Author: Martin K. Petersen Date: Sun Jan 4 03:04:31 2009 -0500 [SCSI] Fix error handling for DIF/DIX patch commit b60af5b0adf0da24c673598c8d3fb4d4189a15ce Author: Alan Stern Date: Mon Nov 3 15:56:47 2008 -0500 [SCSI] simplify scsi_io_completion() broke DIX error handling. Also, we are now using EILSEQ to indicate integrity errors to the upper layers (as opposed to regular EIO failures). This allows filesystems to inspect buffers and decide whether to retry the I/O. Update scsi_io_completion() accordingly. Signed-off-by: Martin K. Petersen Signed-off-by: James Bottomley commit 4f5299ac4e3a03d5c596c00d726fa932c600609d Author: James Bottomley Date: Fri Jan 2 10:42:21 2009 -0600 [SCSI] scsi_lib: don't decrement busy counters when inserting commands A bug was introduced by commit b60af5b0adf0da24c673598c8d3fb4d4189a15ce Author: Alan Stern Date: Mon Nov 3 15:56:47 2008 -0500 [SCSI] simplify scsi_io_completion() because the simplification uses scsi_queue_insert(). The problem with this function is that it expects to be called from the completion path while the command is still outstanding, so it decrements the device and host busy counts to do the requeue. The problem is that scsi_io_completion() is a path executed well after these counts have *already* been decremented, leading to a double decrement if the command goes down any error path leading to ACTION_DELAYED_RETRY. The fix is to allow a private function __scsi_queue_insert() with a flag to say whether the busy counters should be decremented. This is made static to scsi_lib.c to discourage other use. Reported-by: Mike Christie Signed-off-by: James Bottomley commit dd5e1339e528197abdb7827663ff0673797fa088 Author: Alex Raimondi Date: Tue Dec 9 16:17:13 2008 +0100 avr32: Hammerhead board support The Hammerhead platform is built around a AVR32 32-bit microcontroller from Atmel. It offers versatile peripherals, such as ethernet, usb device, usb host etc. The board also incooperates a power supply and is a Power over Ethernet (PoE) Powered Device (PD). Additonally, a Cyclone III FPGA from Altera is integrated on the board. The FPGA is mapped into the 32-bit AVR memory bus. The FPGA offers two DDR2 SDRAM interfaces, which will cover even the most exceptional need of memory bandwidth. Together with the onboard video decoder the board is ready for video processing. This patch does include the basic support for the fpga device driver, but not the device driver itself. Signed-off-by: Alex Raimondi Signed-off-by: Haavard Skinnemoen commit bc08969fe638bb164915aadd1dc1a21194847000 Merge: 4a6908a adde42b Author: Haavard Skinnemoen Date: Mon Jan 5 15:51:52 2009 +0100 Merge branch 'cleanups' into boards commit 87c6fe26186d734e932426cc8ab9fd8cf9aeed94 Author: Alan Cox Date: Mon Jan 5 14:08:04 2009 +0000 x86: update Alan Cox's email addresses Signed-off-by: Alan Cox Signed-off-by: Ingo Molnar commit be92d7af38fb8a91f8575ab2272e00f2e51667ff Author: Ingo Molnar Date: Mon Jan 5 14:34:42 2009 +0100 genirq: provide irq_to_desc() to non-genirq architectures too Impact: build fix on non-genirq architectures Sam Ravnborg reported this build failure on sparc32 allmodconfig, the GPIO drivers assume the presence of irq_to_desc(): drivers/gpio/gpiolib.c: In function `gpiolib_dbg_show': drivers/gpio/gpiolib.c:1146: error: implicit declaration of function 'irq_to_desc' Add it in the !genirq case too. Reported-by: Sam Ravnborg Signed-off-by: Ingo Molnar Tested-by: Sam Ravnborg commit 46483d10e5123d78cf9abf37577aa8e75f18b8a4 Merge: c59ab97 874d6a9 Author: Ingo Molnar Date: Mon Jan 5 14:17:24 2009 +0100 Merge branch 'core/iommu' into core/urgent Conflicts: lib/swiotlb.c commit 82c5b7b527ccc4b5d3cf832437e842f9d2920a79 Author: Ingo Molnar Date: Mon Jan 5 14:11:10 2009 +0100 hrtimer: splitout peek ahead functionality, fix Impact: build fix on !CONFIG_HIGH_RES_TIMERS Fix: kernel/hrtimer.c:1586: error: implicit declaration of function '__hrtimer_peek_ahead_timers' Signen-off-by: Ingo Molnar commit 5cf1c00b0ef3ba964b2ad268a55c278cf43f798f Author: David Brownell Date: Mon Jan 5 02:08:30 2009 -0800 ASoC: fix davinci-sffsdr buglet Minor bugfix: now that DaVinci kernels can support multiple boards, board-specific ASoC components need to verify they're running on the right board before initializing. Signed-off-by: David Brownell Signed-off-by: Kevin Hilman Signed-off-by: Mark Brown commit 6c65da50bd4589b6b627d4842b8e6705a0ccaab5 Author: Jaswinder Singh Rajput Date: Sun Jan 4 22:22:56 2009 +0530 x86: rename all fields of mpc_table mpc_X to X Impact: cleanup, solve 80 columns wrap problems It would be cleaner to rename all the mpc->mpc_X fields to mpc->X - that alone would give 4 characters per usage site. (we already know that it's an 'mpc' entity - no need to duplicate that in the field too) Signed-off-by: Jaswinder Singh Rajput Signed-off-by: Ingo Molnar commit a1d0272a4676460787bcd7352414e0286763968d Author: Jaswinder Singh Rajput Date: Sun Jan 4 22:00:46 2009 +0530 x86: rename all fields of mpc_oemtable oem_X to X Impact: cleanup, solve 80 columns wrap problems It would be cleaner to rename all the mpc->oem_X fields to mpc->X - that alone would give 4 characters per usage site. (we already know that it's an 'oem' entity - no need to duplicate that in the field too) Signed-off-by: Jaswinder Singh Rajput Signed-off-by: Ingo Molnar commit d4c715fad5604f25ea1e5c90f280cb818851c10b Author: Jaswinder Singh Rajput Date: Sun Jan 4 21:59:26 2009 +0530 x86: rename all fields of mpc_bus mpc_X to X Impact: cleanup, solve 80 columns wrap problems It would be cleaner to rename all the mpc->mpc_X fields to mpc->X - that alone would give 4 characters per usage site. (we already know that it's an 'mpc' entity - no need to duplicate that in the field too) Signed-off-by: Jaswinder Singh Rajput Signed-off-by: Ingo Molnar commit c4563826b72b0d12500260093179a660e79bf412 Author: Jaswinder Singh Rajput Date: Sun Jan 4 21:58:25 2009 +0530 x86: rename all fields of mpc_cpu mpc_X to X Impact: cleanup, solve 80 columns wrap problems It would be cleaner to rename all the mpc->mpc_X fields to mpc->X - that alone would give 4 characters per usage site. (we already know that it's an 'mpc' entity - no need to duplicate that in the field too) Signed-off-by: Jaswinder Singh Rajput Signed-off-by: Ingo Molnar commit e253b396b145311477b23c176e868e5af6f79174 Author: Jaswinder Singh Rajput Date: Sun Jan 4 21:56:44 2009 +0530 x86: rename all fields of mpc_intsrc mpc_X to X Impact: cleanup, solve 80 columns wrap problems It would be cleaner to rename all the mpc->mpc_X fields to mpc->X - that alone would give 4 characters per usage site. (we already know that it's an 'mpc' entity - no need to duplicate that in the field too) Signed-off-by: Jaswinder Singh Rajput Signed-off-by: Ingo Molnar commit b5ced7cdb018b8728ddcfb175c26f30cc185cf66 Author: Jaswinder Singh Rajput Date: Sun Jan 4 21:55:53 2009 +0530 x86: rename all fields of mpc_lintsrc mpc_X to X Impact: cleanup, solve 80 columns wrap problems It would be cleaner to rename all the mpc->mpc_X fields to mpc->X - that alone would give 4 characters per usage site. (we already know that it's an 'mpc' entity - no need to duplicate that in the field too) Signed-off-by: Jaswinder Singh Rajput Signed-off-by: Ingo Molnar commit 5df82c7d18f2dd51aeb763f2a3c1d7714a28218c Author: Jaswinder Singh Rajput Date: Sun Jan 4 21:54:39 2009 +0530 x86: rename all fields of mpc_iopic mpc_X to X Impact: cleanup, solve 80 columns wrap problems It would be cleaner to rename all the mpc->mpc_X fields to mpc->X - that alone would give 4 characters per usage site. (we already know that it's an 'mpc' entity - no need to duplicate that in the field too) Signed-off-by: Jaswinder Singh Rajput Signed-off-by: Ingo Molnar commit 60f26520e7bd4479dbebf77317c45fc2255ba2e8 Author: Alexey Korolev Date: Tue Dec 16 18:24:14 2008 +0000 [MTD] LPDDR Makefile and KConfig We have two components to manage LPDDR flash memories in Linux. 1. It is a driver for chip probing and reading its capabilities 2. It is a device operations driver. Signed-off-by: Alexey Korolev Acked-by: Jared Hulbert Signed-off-by: David Woodhouse commit d81408304b06a71c28417445202af9cd6673168d Author: Alexey Korolev Date: Tue Dec 16 18:22:39 2008 +0000 [MTD] LPDDR extended physmap driver to support LPDDR flash Physmap is a generic map driver for different platforms and flash types. We added support of LPDDR to physmap. All changes here are related to introduction of new pfow_base parameter. This parameter is valid in case of LPDDR chips only. Signed-off-by: Alexey Korolev Acked-by: Jared Hulbert Signed-off-by: David Woodhouse commit d13e51e747fee301b404dffcf4a7e1bdc558969b Author: Alexey Korolev Date: Tue Dec 16 18:21:10 2008 +0000 [MTD] LPDDR added new pfow_base parameter We need to supply additional parameter to mapping driver and tell LPDDR drivers where PFOW window is in chip mapping. It leads to necessity of map_info structure extendoing. Signed-off-by: Alexey Korolev Acked-by: Jared Hulbert Signed-off-by: David Woodhouse commit c68264711ca6caf87794caf9e79c30a4ba73c032 Author: Alexey Korolev Date: Tue Dec 16 18:20:03 2008 +0000 [MTD] LPDDR Command set driver Driver which handles device command operation. Details on device operations are available here: http://www.numonyx.com/Documents/Datasheets/DS-315768_Velocity-Discrete.pdf Signed-off-by: Alexey Korolev Acked-by: Jared Hulbert Signed-off-by: David Woodhouse commit eb3db27507f74b99241abfa11824d8b6d92b84ef Author: Alexey Korolev Date: Tue Dec 16 18:15:33 2008 +0000 [MTD] LPDDR PFOW definition LPDDR chips use PFOW window for sending commands, reading status and capabilites requesting. This pfow.h - contains definitions for PFOW window fileds, possible commands, error flags and some common macro function to avoid code duplications. Signed-off-by: Alexey Korolev Acked-by: Jared Hulbert Signed-off-by: David Woodhouse commit 922ab535bbe73975ce62f71ab9bf8ec9bce71c29 Author: Alexey Korolev Date: Tue Dec 16 18:13:58 2008 +0000 [MTD] LPDDR QINFO records definitions There are declaraton of structures and macros definitions necessary for operations with QINFO in this patch. Signed-off-by: Alexey Korolev Acked-by: Jared Hulbert Signed-off-by: David Woodhouse commit 8dc004395d5ebb028e4915645982e4434d2f4ef3 Author: Alexey Korolev Date: Tue Dec 16 18:11:51 2008 +0000 [MTD] LPDDR qinfo probing. LPDDR flash chips are based on completely new kind of chips probing. Device capabilities are available via special request. We sent field request command which contains Major and Minor numbers - and recieve corresponend value. All requests are performed within PFOW window. Detailed information about qinfo records can be found here: http://www.numonyx.com/Documents/Datasheets/DS-315768_Velocity-Discrete.pdf Signed-off-by: Alexey Korolev Acked-by: Jared Hulbert Signed-off-by: David Woodhouse commit c70f22d203fc02c805b6ed4a3483b740dc36786b Author: Li Zefan Date: Mon Jan 5 19:07:50 2009 +0800 sched: clean up arch_reinit_sched_domains() - Make arch_reinit_sched_domains() static. It was exported to be used in s390, but now rebuild_sched_domains() is used instead. - Make it return void. Signed-off-by: Li Zefan Signed-off-by: Ingo Molnar commit 39aac64812da70f0af262f4700e67637338cbb3b Author: Li Zefan Date: Mon Jan 5 19:18:02 2009 +0800 sched: mark sched_create_sysfs_power_savings_entries() as __init Impact: cleanup The only caller is cpu_dev_init() which is marked as __init. Signed-off-by: Li Zefan Signed-off-by: Ingo Molnar commit 5359c32eb7402124abc9964d5d53639fe0739cea Merge: 8916ede fe0bdec Author: Ingo Molnar Date: Mon Jan 5 13:53:39 2009 +0100 Merge branch 'linus' into sched/urgent commit e3f1d883740b09e5116d4d4e30a6a6987264a83c Author: Thomas Gleixner Date: Mon Jan 5 11:28:23 2009 +0100 hrtimer: fixup comments Clean up the comments Signed-off-by: Thomas Gleixner Signed-off-by: Peter Zijlstra Signed-off-by: Ingo Molnar commit a6037b61c2f5fc99c57c15b26d7cfa58bbb34008 Author: Peter Zijlstra Date: Mon Jan 5 11:28:22 2009 +0100 hrtimer: fix recursion deadlock by re-introducing the softirq Impact: fix rare runtime deadlock There are a few sites that do: spin_lock_irq(&foo) hrtimer_start(&bar) __run_hrtimer(&bar) func() spin_lock(&foo) which obviously deadlocks. In order to avoid this, never call __run_hrtimer() from hrtimer_start*() context, but instead defer this to softirq context. Signed-off-by: Peter Zijlstra Signed-off-by: Ingo Molnar commit 731a55ba0f17064f85903b7bf8e24849ec6cfa20 Author: Thomas Gleixner Date: Mon Jan 5 11:28:21 2009 +0100 hrtimer: simplify hotplug migration Impact: cleanup No need for a smp function call, which is likely to run on the same CPU anyway. We can just call hrtimers_peek_ahead() in the interrupts disabled section of migrate_hrtimers(). Signed-off-by: Thomas Gleixner Signed-off-by: Peter Zijlstra Signed-off-by: Ingo Molnar commit d5fd43c4ae04523e1dcd7794f9c511b289851350 Author: Thomas Gleixner Date: Mon Jan 5 11:28:20 2009 +0100 hrtimer: fix HOTPLUG_CPU=n compile warning Impact: cleanup kernel/hrtimer.c: In function 'hrtimer_cpu_notify': kernel/hrtimer.c:1574: warning: unused variable 'dcpu' Introduced by commit 37810659ea7d9572c5ac284ade272f806ef8f788 ("hrtimer: removing all ur callback modes, fix hotplug") from the timers. dcpu is only used if CONFIG_HOTPLUG_CPU is set. Reported-by: Stephen Rothwell Signed-off-by: Thomas Gleixner Signed-off-by: Peter Zijlstra Signed-off-by: Ingo Molnar commit 8bdec955b0da2ffbd10eb9b200651dd1f9e366f2 Author: Thomas Gleixner Date: Mon Jan 5 11:28:19 2009 +0100 hrtimer: splitout peek ahead functionality Impact: cleanup Provide a peek ahead function that assumes irqs disabled, allows for micro optimizations. Signed-off-by: Thomas Gleixner Signed-off-by: Peter Zijlstra Signed-off-by: Ingo Molnar commit c59ab97e9ecdee9084d2da09e5a8ceea9a396508 Author: Paul E. McKenney Date: Sun Jan 4 18:28:27 2009 -0800 rcu: fix rcutorture bug Fix an rcutorture bug that prevents the shutdown notifier from ever actually having any effect, due to the fact that kthreads ignore all signals. Signed-off-by: Paul E. McKenney Signed-off-by: Ingo Molnar commit 5b0d4d7c8a67c5ba3d35e6ceb0c5530cc6846db7 Author: Matt Reimer Date: Tue Nov 18 10:54:32 2008 -0800 [MTD] [NAND] pxa3xx: convert from ns to clock ticks more accurately The various fields in NDTR{01} are in units of clock ticks minus one, but the ns2cycle macro mistakenly adds one, inflating the number of clock ticks and making it impossible to set any of these fields to zero. Signed-off-by: Matt Reimer Signed-off-by: Eric Miao Signed-off-by: David Woodhouse commit 7f9938d0fd6c778bd0ce296a3e3b50266de2b892 Author: Matt Reimer Date: Tue Nov 18 10:47:42 2008 -0800 [MTD] [NAND] pxa3xx: fix non-page-aligned reads Reads from non-page-aligned addresses were broken because while the address to read from was correctly written to NDCB*, a full page was always read. Fix this by ignoring the column and only using the page address. I suspect this whole-page behavior is due to the controller's need to read the entire page in order to generate correct ECC. In the non-ECC case this could be optimized to use the column address, and to set the read length to what is being requested rather than the length of an entire page. Signed-off-by: Matt Reimer Signed-off-by: Eric Miao Signed-off-by: David Woodhouse commit a5cce42f357b3106fb0eacd85edec5ae31288956 Author: Randy Dunlap Date: Wed Dec 17 12:46:17 2008 -0800 [MTD] [NAND] fix nandsim sched.h references Fix sched.h references: build-r7149.out:/local/linsrc/linux-next-20081215/drivers/mtd/nand/nandsim.c:1326: error: dereferencing pointer to incomplete type build-r7149.out:/local/linsrc/linux-next-20081215/drivers/mtd/nand/nandsim.c:1326: error: 'PF_MEMALLOC' undeclared (first use in this function) build-r7149.out:/local/linsrc/linux-next-20081215/drivers/mtd/nand/nandsim.c:1328: error: dereferencing pointer to incomplete type build-r7149.out:/local/linsrc/linux-next-20081215/drivers/mtd/nand/nandsim.c:1335: error: dereferencing pointer to incomplete type build-r7149.out:/local/linsrc/linux-next-20081215/drivers/mtd/nand/nandsim.c:1335: error: 'PF_MEMALLOC' undeclared (first use in this function) build-r7149.out:make[4]: *** [drivers/mtd/nand/nandsim.o] Error 1 Signed-off-by: Randy Dunlap Signed-off-by: Andrew Morton Signed-off-by: David Woodhouse commit 232ed5e68a969b1717afdb1d4c49146e5beb5465 Author: Julia Lawall Date: Mon Dec 29 11:20:42 2008 +0100 [MTD] [NAND] alauda: use USB API functions rather than constants This set of patches introduces calls to the following set of functions: usb_endpoint_dir_in(epd) usb_endpoint_dir_out(epd) usb_endpoint_is_bulk_in(epd) usb_endpoint_is_bulk_out(epd) usb_endpoint_is_int_in(epd) usb_endpoint_is_int_out(epd) usb_endpoint_num(epd) usb_endpoint_type(epd) usb_endpoint_xfer_bulk(epd) usb_endpoint_xfer_control(epd) usb_endpoint_xfer_int(epd) usb_endpoint_xfer_isoc(epd) In some cases, introducing one of these functions is not possible, and it just replaces an explicit integer value by one of the following constants: USB_ENDPOINT_XFER_BULK USB_ENDPOINT_XFER_CONTROL USB_ENDPOINT_XFER_INT USB_ENDPOINT_XFER_ISOC An extract of the semantic patch that makes these changes is as follows: (http://www.emn.fr/x-info/coccinelle/) // @r1@ struct usb_endpoint_descriptor *epd; @@ - ((epd->bmAttributes & \(USB_ENDPOINT_XFERTYPE_MASK\|3\)) == - \(USB_ENDPOINT_XFER_CONTROL\|0\)) + usb_endpoint_xfer_control(epd) @r5@ struct usb_endpoint_descriptor *epd; @@ - ((epd->bEndpointAddress & \(USB_ENDPOINT_DIR_MASK\|0x80\)) == - \(USB_DIR_IN\|0x80\)) + usb_endpoint_dir_in(epd) @inc@ @@ #include @depends on !inc && (r1||r5)@ @@ + #include #include // Signed-off-by: Julia Lawall Signed-off-by: David Woodhouse commit adde42b5834ed367ef7455d465bd9610190ad2a0 Author: Alex Raimondi Date: Tue Nov 4 23:37:10 2008 +0100 avr32: Allow reserving multiple pins at once at32_reserve_pin now takes an u32 bitmask rather than a single pin. This allows to reserve multiple pins at once. Remove (undocumented) SDCS (pin PE26) from reservation in board setup code. Signed-off-by: Alex Raimondi Signed-off-by: Haavard Skinnemoen commit 45f926912fb960c7c09c12906143b9dbaddf58cb Author: Haavard Skinnemoen Date: Thu Nov 6 11:19:21 2008 +0100 favr-32: Remove deprecated call at32_add_system_devices() is deprecated, so remove the call to it. Signed-off-by: Haavard Skinnemoen commit 88f60f62f31092db46aa5c71bf6da67c958bc420 Merge: e355204 e0d1ec9 Author: Ben Dooks Date: Mon Jan 5 10:54:50 2009 +0000 Merge branch 'i2c-next-s3c' into i2c-next commit 8d3d3fb922624e1dfd0b96f669b7a1a0c6c10b95 Author: Mark Jackson Date: Wed Dec 3 12:38:32 2008 +0000 MIMC200: Remove deprecated call This patch removes a call to the deprecated function at32_add_system_devices(). Signed-off-by: Mark Jackson Signed-off-by: Haavard Skinnemoen commit cd8faac38c1c4ff2b404d808f6c623ab47e06475 Merge: 8924c67 913ae5a Author: Takashi Iwai Date: Mon Jan 5 10:53:58 2009 +0100 Merge branch 'topic/usbaudio' into for-linus commit 8924c671b668169289f8f4b70518b3aa96e454df Merge: ab05e29 acf26c0 Author: Takashi Iwai Date: Mon Jan 5 10:53:46 2009 +0100 Merge branch 'topic/hda' into for-linus commit ab05e290265341377187bb968575d3b7c72f9644 Merge: fe0bdec ac11a2b Author: Takashi Iwai Date: Mon Jan 5 10:53:43 2009 +0100 Merge branch 'topic/asoc' into for-linus commit 353816f43d1fb340ff2d9a911dd5d0799c09f6a5 Merge: 160bbab fe0bdec Author: David Woodhouse Date: Mon Jan 5 10:50:33 2009 +0100 Merge branch 'master' of git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux-2.6 Conflicts: arch/arm/mach-pxa/corgi.c arch/arm/mach-pxa/poodle.c arch/arm/mach-pxa/spitz.c commit 5f6333bd6ed3c855c725ab389eeed8bf7c198798 Author: Kay Sievers Date: Fri Nov 7 01:37:21 2008 +0100 avr: struct device - replace bus_id with dev_name(), dev_set_name() (I did not compile or test it, please let me know, or help fixing it, if something is wrong with the conversion) This patch is part of a larger patch series which will remove the "char bus_id[20]" name string from struct device. The device name is managed in the kobject anyway, and without any size limitation, and just needlessly copied into "struct device". To set and read the device name dev_name(dev) and dev_set_name(dev) must be used. If your code uses static kobjects, which it shouldn't do, "const char *init_name" can be used to statically provide the name the registered device should have. At registration time, the init_name field is cleared, to enforce the use of dev_name(dev) to access the device name at a later time. We need to get rid of all occurrences of bus_id in the entire tree to be able to enable the new interface. Please apply this patch, and possibly convert any remaining remaining occurrences of bus_id. We want to submit a patch to -next, which will remove bus_id from "struct device", to find the remaining pieces to convert, and finally switch over to the new api, which will remove the 20 bytes array and does no longer have a size limitation. Thanks, Kay From: Kay Sievers Subject: avr: struct device - replace bus_id with dev_name(), dev_set_name() Cc: Haavard Skinnemoen Acked-by: Greg Kroah-Hartman Signed-off-by: Kay Sievers Signed-off-by: Haavard Skinnemoen commit 230e40fbda242544389a5428a2efac568178ddfe Author: WANG Cong Date: Tue Dec 30 19:10:35 2008 +0300 proc: remove write-only variable in proc_pident_lookup() Signed-off-by: WANG Cong Signed-off-by: Alexey Dobriyan commit dfe6b7d9406c631d697f8bbe1eae5569b808154f Author: Hannes Eder Date: Tue Dec 30 18:49:13 2008 +0300 proc: fix sparse warning fs/proc/base.c:312:4: warning: do-while statement is not a compound statement Signed-off-by: Hannes Eder Signed-off-by: Alexey Dobriyan commit 2ec220e27f5040aec1e88901c1b6ea3d135787ad Author: Ken Chen Date: Mon Nov 10 11:26:08 2008 +0300 proc: add /proc/*/stack /proc/*/stack adds the ability to query a task's stack trace. It is more useful than /proc/*/wchan as it provides full stack trace instead of single depth. Example output: $ cat /proc/self/stack [] save_stack_trace_tsk+0x17/0x35 [] proc_pid_stack+0x4a/0x76 [] proc_single_show+0x4a/0x5e [] seq_read+0xf3/0x29f [] vfs_read+0x6d/0x91 [] sys_read+0x3b/0x60 [] syscall_call+0x7/0xb [] 0xffffffff [add save_stack_trace_tsk() on mips, ACK Ralf --adobriyan] Signed-off-by: Ken Chen Signed-off-by: Ingo Molnar Signed-off-by: Alexey Dobriyan commit 631f9c1868b970197747c80fc5168ad7d9fd5d53 Author: Alexey Dobriyan Date: Mon Nov 10 01:32:52 2008 +0300 proc: remove '##' usage Inability to jump to /proc/*/foo handlers with ctags is annoying. Signed-off-by: Alexey Dobriyan commit ecae934edc0c29ec7405da18855004c317de26c6 Author: Alexey Dobriyan Date: Sun Nov 9 23:12:18 2008 +0300 proc: remove useless WARN_ONs NULL "struct inode *" means VFS passed NULL inode to ->open. Signed-off-by: Alexey Dobriyan commit b4df2b92d8461444fac429c75ba6e125c63056bc Author: Alexey Dobriyan Date: Mon Oct 27 22:48:36 2008 +0300 proc: stop using BKL There are four BKL users in proc: de_put(), proc_lookup_de(), proc_readdir_de(), proc_root_readdir(), 1) de_put() ----------- de_put() is classic atomic_dec_and_test() refcount wrapper -- no BKL needed. BKL doesn't matter to possible refcount leak as well. 2) proc_lookup_de() ------------------- Walking PDE list is protected by proc_subdir_lock(), proc_get_inode() is potentially blocking, all callers of proc_lookup_de() eventually end up from ->lookup hooks which is protected by directory's ->i_mutex -- BKL doesn't protect anything. 3) proc_readdir_de() -------------------- "." and ".." part doesn't need BKL, walking PDE list is under proc_subdir_lock, calling filldir callback is potentially blocking because it writes to luserspace. All proc_readdir_de() callers eventually come from ->readdir hook which is under directory's ->i_mutex -- BKL doesn't protect anything. 4) proc_root_readdir_de() ------------------------- proc_root_readdir_de is ->readdir hook, see (3). Since readdir hooks doesn't use BKL anymore, switch to generic_file_llseek, since it also takes directory's i_mutex. Signed-off-by: Alexey Dobriyan commit ea7d3fef4222cd98556a0b386598268d4dbf6670 Author: Paul E. McKenney Date: Sun Jan 4 13:03:02 2009 -0800 rcu: eliminate synchronize_rcu_xxx macro Impact: cleanup Expand macro into two files. The synchronize_rcu_xxx macro is quite ugly and it's only used by two callers, so expand it instead. This makes this code easier to change. Signed-off-by: Andi Kleen Signed-off-by: Paul E. McKenney Signed-off-by: Ingo Molnar commit 90a4d2c0106bb690f0b6af3d506febc35c658aa7 Author: Paul E. McKenney Date: Sun Jan 4 11:41:11 2009 -0800 rcu: make treercu safe for suspend and resume Impact: fix kernel warnings [and potential crash] during suspend+resume Kudos to both Dhaval Giani and Jens Axboe for finding a bug in treercu that causes warnings after suspend-resume cycles in Dhaval's case and during stress tests in Jens's case. It would also probably cause failures if heavily stressed. The solution, ironically enough, is to revert to rcupreempt's code for initializing the dynticks state. And the patch even results in smaller code -- so what was I thinking??? This is 2.6.29 material, given that people really do suspend and resume Linux these days. ;-) Reported-by: Dhaval Giani Reported-by: Jens Axboe Tested-by: Dhaval Giani Tested-by: Jens Axboe Signed-off-by: Paul E. McKenney Signed-off-by: Ingo Molnar commit c12172c0251761c54260376eb29a5f6547495580 Author: Paul E. McKenney Date: Sun Jan 4 20:30:06 2009 -0800 rcu: fix rcutree grace-period-latency bug on small systems Impact: fix delays during bootup Kudos to Andi Kleen for finding a grace-period-latency problem! The problem was that the special-case code for small machines never updated the ->signaled field to indicate that grace-period initialization had completed, which prevented force_quiescent_state() from ever expediting grace periods. This problem resulted in grace periods extending for more than 20 seconds. Not subtle. I introduced this bug during my inspection process when I fixed a race between grace-period initialization and force_quiescent_state() execution. The following patch properly updates the ->signaled field for the "small"-system case (no more than 32 CPUs for 32-bit kernels and no more than 64 CPUs for 64-bit kernels). Reported-by: Andi Kleen Tested-by: Andi Kleen Signed-off-by: Paul E. McKenney Signed-off-by: Ingo Molnar commit 7945cc6464a4db0caf6dfacdfe05806051c4cb7b Author: David S. Miller Date: Mon Jan 5 00:59:00 2009 -0800 tcp: Kill extraneous SPLICE_F_NONBLOCK checks. In splice TCP receive, the SPLICE_F_NONBLOCK flag is used to compute the "timeo" value. So checking it again inside of the main receive loop to trigger -EAGAIN processing is entirely unnecessary. Noticed by Jarek P. and Lennert Buytenhek. Signed-off-by: David S. Miller commit 576b4d0cce9716a3a6c67ded27a638ef833b0a54 Author: David S. Miller Date: Mon Jan 5 00:55:24 2009 -0800 sparc: Remove reg*.h from Kbuild Forgot to commit this in previous change, noticed by Sam. Signed-off-by: David S. Miller commit fc55584175589b70f4c30cb594f09f4bd6ad5d40 Author: Phillip Lougher Date: Mon Jan 5 08:46:29 2009 +0000 MAINTAINERS: squashfs entry Signed-off-by: Phillip Lougher commit 9eb425c046f4129f1dafce7c04e949652e69fb01 Author: Phillip Lougher Date: Mon Jan 5 08:46:29 2009 +0000 Squashfs: documentation Signed-off-by: Phillip Lougher commit b8fed87d3265d21d6f90e34934d93f70cb1e5cc1 Author: Phillip Lougher Date: Mon Jan 5 08:46:28 2009 +0000 Squashfs: initrd support Signed-off-by: Phillip Lougher commit 6ab5c1ca71ea8e04e97cd8ed473bd04e636850fd Author: Phillip Lougher Date: Mon Jan 5 08:46:28 2009 +0000 Squashfs: Kconfig entry Signed-off-by: Phillip Lougher commit fcef6fb6c5cf54927e1ca86b86a991e7aa9391f5 Author: Phillip Lougher Date: Mon Jan 5 08:46:27 2009 +0000 Squashfs: Makefiles Signed-off-by: Phillip Lougher commit ffae2cd73a9e828b1a188f83c5dedce16f7c0c68 Author: Phillip Lougher Date: Mon Jan 5 08:46:27 2009 +0000 Squashfs: header files Signed-off-by: Phillip Lougher commit e2780ab159ac60ef5bfc083081f44f8ff58579dc Author: Phillip Lougher Date: Mon Jan 5 08:46:27 2009 +0000 Squashfs: block operations Signed-off-by: Phillip Lougher commit f400e12656ab518be107febfe2315fb1eab5a342 Author: Phillip Lougher Date: Mon Jan 5 08:46:26 2009 +0000 Squashfs: cache operations Signed-off-by: Phillip Lougher commit 8256c8f631937bb08b3881c380c42ff6874a82f0 Author: Phillip Lougher Date: Mon Jan 5 08:46:26 2009 +0000 Squashfs: uid/gid lookup operations Signed-off-by: Phillip Lougher commit 122edd1514aaaa90fd894663ecfcb4135063c63d Author: Phillip Lougher Date: Mon Jan 5 08:46:25 2009 +0000 Squashfs: fragment block operations Signed-off-by: Phillip Lougher commit 122601408d20c77704268f1dea9f9ce4abf997c2 Author: Phillip Lougher Date: Mon Jan 5 08:46:25 2009 +0000 Squashfs: export operations Signed-off-by: Phillip Lougher commit 0aa666190509ffab81c202c5095a166be23961ac Author: Phillip Lougher Date: Mon Jan 5 08:46:25 2009 +0000 Squashfs: super block operations Signed-off-by: Phillip Lougher commit 1dc4bba39dd29c6d6f77ca7bf63cd3adeb6fc162 Author: Phillip Lougher Date: Mon Jan 5 08:46:24 2009 +0000 Squashfs: symlink operations Signed-off-by: Phillip Lougher commit 1701aecb6849cc69bd54890532bcf92eedb00b74 Author: Phillip Lougher Date: Mon Jan 5 08:46:24 2009 +0000 Squashfs: regular file operations Signed-off-by: Phillip Lougher commit 07972dde75c321162d076a925e3464ba259e73d7 Author: Phillip Lougher Date: Mon Jan 5 08:46:23 2009 +0000 Squashfs: directory readdir operations Signed-off-by: Phillip Lougher commit c88da2c979369e6bf8d2c0c80fad2f90c35e64ce Author: Phillip Lougher Date: Mon Jan 5 08:46:23 2009 +0000 Squashfs: directory lookup operations Signed-off-by: Phillip Lougher commit 6545b246a2c815a8fcd07d58240effb6ec3481b1 Author: Phillip Lougher Date: Mon Jan 5 08:46:22 2009 +0000 Squashfs: inode operations Signed-off-by: Phillip Lougher commit 76f7ba35d4b5219fcc4cb072134c020ec77d030d Author: Eric Paris Date: Fri Jan 2 17:40:06 2009 -0500 SELinux: shrink sizeof av_inhert selinux_class_perm and context I started playing with pahole today and decided to put it against the selinux structures. Found we could save a little bit of space on x86_64 (and no harm on i686) just reorganizing some structs. Object size changes: av_inherit: 24 -> 16 selinux_class_perm: 48 -> 40 context: 80 -> 72 Admittedly there aren't many of av_inherit or selinux_class_perm's in the kernel (33 and 1 respectively) But the change to the size of struct context reverberate out a bit. I can get some hard number if they are needed, but I don't see why they would be. We do change which cacheline context->len and context->str would be on, but I don't see that as a problem since we are clearly going to have to load both if the context is to be of any value. I've run with the patch and don't seem to be having any problems. An example of what's going on using struct av_inherit would be: form: to: struct av_inherit { struct av_inherit { u16 tclass; const char **common_pts; const char **common_pts; u32 common_base; u32 common_base; u16 tclass; }; (notice all I did was move u16 tclass to the end of the struct instead of the beginning) Memory layout before the change: struct av_inherit { u16 tclass; /* 2 */ /* 6 bytes hole */ const char** common_pts; /* 8 */ u32 common_base; /* 4 */ /* 4 byes padding */ /* size: 24, cachelines: 1 */ /* sum members: 14, holes: 1, sum holes: 6 */ /* padding: 4 */ }; Memory layout after the change: struct av_inherit { const char ** common_pts; /* 8 */ u32 common_base; /* 4 */ u16 tclass; /* 2 */ /* 2 bytes padding */ /* size: 16, cachelines: 1 */ /* sum members: 14, holes: 0, sum holes: 0 */ /* padding: 2 */ }; Signed-off-by: Eric Paris Signed-off-by: James Morris commit 47cd5265ea8fe0b246bfd9b42ba69e13aa8b99bd Author: Julian Calaby Date: Mon Jan 5 00:07:18 2009 -0800 sparc: Clean arch-specific code in prom_common.c prom_nextprop() and prom_firstprop() have slightly different calling conventions in 32 and 64 bit SPARC. prom_common.c uses a ifdef guard to ensure that these functions are called correctly. Adjust code to eliminate this ifdef by using a calling convention that is compatible with both 32 and 64 bit SPARC. Signed-off-by: Julian Calaby Reviewed-by: Sam Ravnborg Signed-off-by: David S. Miller commit 4f7d54f59bc470f0aaa932f747a95232d7ebf8b1 Author: Lennert Buytenhek Date: Mon Jan 5 00:00:12 2009 -0800 tcp: don't mask EOF and socket errors on nonblocking splice receive Currently, setting SPLICE_F_NONBLOCK on splice from a TCP socket results in masking of EOF (RDHUP) and error conditions on the socket by an -EAGAIN return. Move the NONBLOCK check in tcp_splice_read() to be after the EOF and error checks to fix this. Signed-off-by: Lennert Buytenhek Signed-off-by: David S. Miller commit eb8374e71f941a1b3c2ed6ea19dc809e7124dc5d Author: Julia Lawall Date: Thu Dec 25 15:35:27 2008 +0100 GFS2: Use DEFINE_SPINLOCK SPIN_LOCK_UNLOCKED is deprecated. The following makes the change suggested in Documentation/spinlocks.txt The semantic patch that makes this change is as follows: (http://www.emn.fr/x-info/coccinelle/) // @@ declarer name DEFINE_SPINLOCK; identifier xxx_lock; @@ - spinlock_t xxx_lock = SPIN_LOCK_UNLOCKED; + DEFINE_SPINLOCK(xxx_lock); // Signed-off-by: Julia Lawall Signed-off-by: Steven Whitehouse commit 88a19ad066c1aab2f9713beb670525fcc06e1c09 Author: Steven Whitehouse Date: Fri Dec 19 15:43:05 2008 +0000 GFS2: Fix use-after-free bug on umount (try #2) This should solve the issue with the previous attempt at fixing this. Signed-off-by: Steven Whitehouse commit fefc03bfedeff2002f14e848ecb7c0cd77ee0b15 Author: Steven Whitehouse Date: Fri Dec 19 15:32:06 2008 +0000 Revert "GFS2: Fix use-after-free bug on umount" This reverts commit 78802499912f1ba31ce83a94c55b5a980f250a43. The original patch is causing problems in relation to order of operations at umount in relation to jdata files. I need to fix this a different way. Signed-off-by: Steven Whitehouse commit 7ed122e42c72b3e4531f8b4a9f72159e8303ac15 Author: Steven Whitehouse Date: Wed Dec 10 10:28:10 2008 +0000 GFS2: Streamline alloc calculations for writes This patch removes some unused code, and make the calculation of the number of blocks required conditional in order to reduce the number of times this (potentially expensive) calculation is done. Signed-off-by: Steven Whitehouse commit 9a776db7371b9c77a8f4f0d2ac6374d78ac7db7d Author: Steven Whitehouse Date: Thu Nov 27 09:42:51 2008 +0000 GFS2: Send useful information with uevent messages In order to distinguish between two differing uevent messages and to avoid using the (racy) method of reading status from sysfs in future, this adds some status information to our uevent messages. Btw, before anybody says "sysfs isn't racy", I'm aware of that, but the way that GFS2 was using it (send an ambiugous uevent and then expect the receiver to read sysfs to find out the status of the reported operation) was. The additional benefit of using the new interface is that it should be possible for a node to recover multiple journals at the same time, since there is no longer any confusion as to which journal the status belongs to. At some future stage, when all the userland programs have been converted, I intend to remove the old interface. Signed-off-by: Steven Whitehouse commit 3af165ac4d099385b12e3e75a9ee3ffd02da33e0 Author: Steven Whitehouse Date: Thu Nov 27 08:27:28 2008 +0000 GFS2: Fix use-after-free bug on umount There was a use-after-free with the GFS2 super block during umount. This patch moves almost all of the umount code from ->put_super into ->kill_sb, the only bit that cannot be moved being the glock hash clearing which has to remain as ->put_super due to umount ordering requirements. As a result its now obvious that the kfree is the final operation, whereas before it was hidden in ->put_super. Also gfs2_jindex_free is then only referenced from a single file so thats moved and marked static too. Signed-off-by: Steven Whitehouse commit 2e204703a1161e9bae38ba0d3d0df04a679e6f4f Author: Steven Whitehouse Date: Wed Nov 26 14:01:26 2008 +0000 GFS2: Remove ancient, unused code Remove code that used to have something to do with initrd but has been unused for a long time. Signed-off-by: Steven Whitehouse commit 2bfb6449b7a1f29a2a63e1d869103b5811c3b69f Author: Steven Whitehouse Date: Wed Nov 26 13:30:49 2008 +0000 GFS2: Move four functions from super.c The functions which are being moved can all be marked static in their new locations, since they only have a single caller each. Their new locations are more logical than before and some of the functions are small enough that the compiler might well inline them. Signed-off-by: Steven Whitehouse commit b52896813c2f16bcc5c5b67bb3c3f75bc084439b Author: Steven Whitehouse Date: Wed Nov 26 12:49:26 2008 +0000 GFS2: Fix bug in gfs2_lock_fs_check_clean() gfs2_lock_fs_check_clean() should not be calling gfs2_jindex_hold() since it doesn't work like rindex hold, despite the comment. That allows gfs2_jindex_hold() to be moved into ops_fstype.c where it can be made static. Signed-off-by: Steven Whitehouse commit fdd1062ebaa422c5684f97fa91da06f91167d76b Author: Steven Whitehouse Date: Wed Nov 26 10:26:38 2008 +0000 GFS2: Send some sensible sysfs stuff We ought to inform the user of the locktable and lockproto for each uevent we generate. Signed-off-by: Steven Whitehouse commit 97cc1025b1a91c52e84f12478dcf0f853abc6564 Author: Steven Whitehouse Date: Thu Nov 20 13:39:47 2008 +0000 GFS2: Kill two daemons with one patch This patch removes the two daemons, gfs2_scand and gfs2_glockd and replaces them with a shrinker which is called from the VM. The net result is that GFS2 responds better when there is memory pressure, since it shrinks the glock cache at the same rate as the VFS shrinks the dcache and icache. There are no longer any time based criteria for shrinking glocks, they are kept until such time as the VM asks for more memory and then we demote just as many glocks as required. There are potential future changes to this code, including the possibility of sorting the glocks which are to be written back into inode number order, to get a better I/O ordering. It would be very useful to have an elevator based workqueue implementation for this, as that would automatically deal with the read I/O cases at the same time. This patch is my answer to Andrew Morton's remark, made during the initial review of GFS2, asking why GFS2 needs so many kernel threads, the answer being that it doesn't :-) This patch is a net loss of about 200 lines of code. Signed-off-by: Steven Whitehouse commit 9ac1b4d9b6f885ccd7d8f56bceb609003a920ff7 Author: Steven Whitehouse Date: Wed Nov 19 10:08:22 2008 +0000 GFS2: Move gfs2_recoverd into recovery.c By moving gfs2_recoverd, we can make an additional function static and it also leaves only (the already scheduled for removal) gfs2_glockd in daemon.c. At the same time the declaration of gfs2_quotad is moved to quota.h to reflect the new location of gfs2_quotad in a previous patch. Also the recovery.h and quota.h headers are cleaned up. Signed-off-by: Steven Whitehouse commit 813e0c46c9e2a0c6f0b6e774faac82afd7a2e812 Author: Steven Whitehouse Date: Tue Nov 18 13:38:48 2008 +0000 GFS2: Fix "truncate in progress" hang Following on from the recent clean up of gfs2_quotad, this patch moves the processing of "truncate in progress" inodes from the glock workqueue into gfs2_quotad. This fixes a hang due to the "truncate in progress" processing requiring glocks in order to complete. It might seem odd to use gfs2_quotad for this particular item, but we have to use a pre-existing thread since creating a thread implies a GFP_KERNEL memory allocation which is not allowed from the glock workqueue context. Of the existing threads, gfs2_logd and gfs2_recoverd may deadlock if used for this operation. gfs2_scand and gfs2_glockd are both scheduled for removal at some (hopefully not too distant) future point. That leaves only gfs2_quotad whose workload is generally fairly light and is easily adapted for this extra task. Also, as a result of this change, it opens the way for a future patch to make the reading of the inode's information asynchronous with respect to the glock workqueue, which is another improvement that has been on the list for some time now. Signed-off-by: Steven Whitehouse commit 37b2c8377c98acb60cf4d0126e385ef2153bded9 Author: Steven Whitehouse Date: Mon Nov 17 14:25:37 2008 +0000 GFS2: Clean up & move gfs2_quotad This patch is a clean up of gfs2_quotad prior to giving it an extra job to do in addition to the current portfolio of updating the quota and statfs information from time to time. As a result it has been moved into quota.c allowing one of the functions it calls to be made static. Also the clean up allows the two existing functions to have separate timeouts and also to coexist with its future role of dealing with the "truncate in progress" inode flag. The (pointless) setting of gfs2_quotad_secs is removed since we arrange to only wake up quotad when one of the two timers expires. In addition the struct gfs2_quota_data is moved into a slab cache, mainly for easier debugging. It should also be possible to use a shrinker in the future, rather than the current scheme of scanning the quota data entries from time to time. Signed-off-by: Steven Whitehouse commit fa75cedc3da5923b8ea3877be9d5bc09b02e3860 Author: Steven Whitehouse Date: Mon Nov 10 10:10:12 2008 +0000 GFS2: Add more detail to debugfs glock dumps Although the glock dumps print quite a lot of information about the glocks themselves, there are more things which can be usefully added to the dump realting to the objects themselves. This patch adds a few more fields to the inode and resource group lines, which should be useful for debugging. Signed-off-by: Steven Whitehouse commit 73f749483ed18f3b5759909cc4187b1741f54b10 Author: Steven Whitehouse Date: Tue Nov 4 10:32:57 2008 +0000 GFS2: Banish struct gfs2_rgrpd_host This patch moves the final field so that we can get rid of struct gfs2_rgrpd_host, as promised some time ago. Also by rearranging the fields slightly, we are able to reduce the size of the gfs2_rgrpd structure at the same time. Signed-off-by: Steven Whitehouse commit cfc8b54922db7b647b6d88914dc7ef8c63b6671d Author: Steven Whitehouse Date: Tue Nov 4 10:25:13 2008 +0000 GFS2: Move rg_free from gfs2_rgrpd_host to gfs2_rgrpd The second of three fields which need to move, in order to remove the struct gfs2_rgrpd_host. Signed-off-by: Steven Whitehouse commit d8b71f7381769177998acb2f59ddc73465a60fe0 Author: Steven Whitehouse Date: Tue Nov 4 10:19:03 2008 +0000 GFS2: Move rg_igeneration into struct gfs2_rgrpd This moves one of the fields of struct gfs2_rgrpd_host into the struct gfs2_rgrpd with the eventual aim of removing the struct rgrpd_host completely. Signed-off-by: Steven Whitehouse commit 383f01fbf4a701b73f5e35ea805ed1700b4b4db9 Author: Steven Whitehouse Date: Tue Nov 4 10:05:22 2008 +0000 GFS2: Banish struct gfs2_dinode_host The final field in gfs2_dinode_host was the i_flags field. Thats renamed to i_diskflags in order to avoid confusion with the existing inode flags, and moved into the inode proper at a suitable location to avoid creating a "hole". At that point struct gfs2_dinode_host is no longer needed and as promised (quite some time ago!) it can now be removed completely. Signed-off-by: Steven Whitehouse commit c9e98886776386f1f7828d9685e78cd341849867 Author: Steven Whitehouse Date: Tue Nov 4 09:47:33 2008 +0000 GFS2: Move i_size from gfs2_dinode_host and rename it to i_disksize This patch moved the i_size field from the gfs2_dinode_host and following the ext3 convention renames it i_disksize. Signed-off-by: Steven Whitehouse commit 3767ac21f471fe669a7d9f6abef682ddac8fc3d8 Author: Steven Whitehouse Date: Mon Nov 3 14:28:42 2008 +0000 GFS2: Move di_eattr into "proper" inode This moves the di_eattr field out of gfs2_inode_host and into the inode proper. Signed-off-by: Steven Whitehouse commit ad6203f2b46c2217f74b2e88299640eef5889e72 Author: Steven Whitehouse Date: Mon Nov 3 13:59:19 2008 +0000 GFS2: Move "entries" into "proper" inode This moves the directory entry count into the proper inode. Potentially we could get this to share the space used by something else in the future, but this is one more step on the way to removing the gfs2_dinode_host structure. Signed-off-by: Steven Whitehouse commit bcf0b5b348a1f49c2c878ffdb78e68c930baabb8 Author: Steven Whitehouse Date: Mon Nov 3 13:39:46 2008 +0000 GFS2: Move generation number into "proper" part of inode This moves the generation number from the gfs2_dinode_host into the gfs2_inode structure. Eventually the plan is to get rid of the gfs2_dinode_host structure completely. Signed-off-by: Steven Whitehouse commit 55ba474daed9763b2f6fe26ad762ee373554d65e Author: Harvey Harrison Date: Fri Oct 24 11:31:12 2008 -0700 GFS2: sparse annotation of gl->gl_spin fs/gfs2/glock.c:308:5: warning: context problem in 'do_promote': '_spin_unlock' expected different context fs/gfs2/glock.c:308:5: context '*gl+28': wanted >= 1, got 0 fs/gfs2/glock.c:529:2: warning: context problem in 'do_xmote': '_spin_unlock' expected different context fs/gfs2/glock.c:529:2: context '*gl+28': wanted >= 1, got 0 fs/gfs2/glock.c:925:3: warning: context problem in 'add_to_queue': '_spin_unlock' expected different context fs/gfs2/glock.c:925:3: context '*gl+28': wanted >= 1, got 0 Signed-off-by: Harvey Harrison Signed-off-by: Steven Whitehouse commit 1bb7322fd0d5abdce396de51cbc5dbc489523018 Author: Steven Whitehouse Date: Wed Oct 15 09:46:39 2008 +0100 GFS2: Fix up jdata writepage/delete_inode There is a bug in writepage and delete_inode which allows jdata files to invalidate pages from the address space without being in a transaction at the time. This causes problems in case the pages are in the journal. This patch fixes that case and prevents the resulting oops. Signed-off-by: Steven Whitehouse commit b276058371f5c2ad92f9f27373a72b219ed580ed Author: Steven Whitehouse Date: Tue Oct 14 16:05:55 2008 +0100 GFS2: Rationalise header files Move the contents of some headers which contained very little into more sensible places, and remove the original header files. This should make it easier to find things. Signed-off-by: Steven Whitehouse commit e9079cce201784632aed4b1a3121ee38c1ced0b6 Author: Steven Whitehouse Date: Tue Oct 14 14:43:29 2008 +0100 GFS2: Support for FIEMAP ioctl This patch implements the FIEMAP ioctl for GFS2. We can use the generic code (aside from a lock order issue, solved as per Ted Tso's suggestion) for which I've introduced a new variant of the generic function. We also have one exception to deal with, namely stuffed files, so we do that "by hand", setting all the required flags. This has been tested with a modified (I could only find an old version) of Eric's test program, and appears to work correctly. This patch does not currently support FIEMAP of xattrs, but the plan is to add that feature at some future point. Signed-off-by: Steven Whitehouse Cc: Theodore Tso Cc: Eric Sandeen commit 192eee8ef535cfdbdd0c93390e34f27ad7c02084 Author: David S. Miller Date: Sun Jan 4 23:17:21 2009 -0800 sparc: Kill asm/reg*.h As noticed by Sam Ravnborg, these aren't use for anything. Neither the kernel nor userland make a reference to this family of header files. So just get rid of them. Signed-off-by: David S. Miller commit 761b602620b4627dbd8f1b0bd2896022dc168a6d Author: Bastian Blank Date: Sun Jan 4 23:03:10 2009 -0800 sparc: Use 64BIT config entry Use 64BIT config entry to distinguish between 32 and 64bit builds instead of relying on the ARCH setting. Using sparc64 as ARCH still forces 64BIT on. Inspired by the x86 and s390 configs. [ Integrated CONFIG_64BIT help text suggestions from Sam -DaveM ] Signed-off-by: Bastian Blank Tested-by: Sam Ravnborg Signed-off-by: David S. Miller commit 129fa44785a399248ae2466b6cb5c655e96668f7 Author: Gerrit Renker Date: Sun Jan 4 21:45:33 2009 -0800 dccp: Integrate the TFRC library with DCCP This patch integrates the TFRC library, which is a dependency of CCID-3 (and CCID-4), with the new use of CCIDs in the DCCP module. Signed-off-by: Gerrit Renker Signed-off-by: David S. Miller commit e5fd56ca4eb3a130882bbef69d6952ef6aca5c8d Author: Gerrit Renker Date: Sun Jan 4 21:43:23 2009 -0800 dccp: Clean up ccid.c after integration of CCID plugins This patch cleans up after integrating the CCID modules and, in addition, * moves the if/else cases from ccid_delete() into ccid_hc_{tx,rx}_delete(); * removes the 'gfp' argument to ccid_new() - since it is always gfp_any(). Signed-off-by: Gerrit Renker Signed-off-by: David S. Miller commit ddebc973c56b51b4e5d84d606f0430d81b895d67 Author: Gerrit Renker Date: Sun Jan 4 21:42:53 2009 -0800 dccp: Lockless integration of CCID congestion-control plugins Based on Arnaldo's earlier patch, this patch integrates the standardised CCID congestion control plugins (CCID-2 and CCID-3) of DCCP with dccp.ko: * enables a faster connection path by eliminating the need to always go through the CCID registration lock; * updates the implementation to use only a single array whose size equals the number of configured CCIDs instead of the maximum (256); * since the CCIDs are now fixed array elements, synchronization is no longer needed, simplifying use and implementation. CCID-2 is suggested as minimum for a basic DCCP implementation (RFC 4340, 10); CCID-3 is a standards-track CCID supported by RFC 4342 and RFC 5348. Signed-off-by: Gerrit Renker Signed-off-by: David S. Miller commit 4aa12f7b927c3cac0e0cf3503642597527d0ece0 Merge: b58602a 068e8c9 Author: Benjamin Herrenschmidt Date: Mon Jan 5 14:16:48 2009 +1100 Merge commit 'kumar/kumar-next' into next commit 6ea2fde13abd3444008ab5e9585f9ed249e6047e Author: Heiko Carstens Date: Sun Jan 4 17:36:32 2009 -0800 qeth: get rid of extra argument after printk to dev_* conversion drivers/s390/net/qeth_l3_main.c: In function 'qeth_l3_setadapter_parms': drivers/s390/net/qeth_l3_main.c:1049: warning: too many arguments for format Signed-off-by: Heiko Carstens Signed-off-by: Frank Blaschka Signed-off-by: David S. Miller commit 015e691cfef02f41aa4deb8aa7efc394bb6d85f0 Author: Klaus-Dieter Wacker Date: Sun Jan 4 17:36:05 2009 -0800 qeth: No large send using EDDP for HiperSockets. From: Klaus-Dieter Wacker The device driver qeth dos not support large send using EDDP for HiperSockets. Signed-off-by: Klaus-Dieter Wacker Signed-off-by: Frank Blaschka Signed-off-by: David S. Miller commit 5b54e16f1a54cee8e590cb039b5c067914ae5081 Author: Frank Blaschka Date: Sun Jan 4 17:35:44 2009 -0800 qeth: do not spin for SETIP ip assist command The ip assist hw command for setting an IP address last unacceptable long so we can not spin while we waiting for the irq. Since we can ensure process context for all occurrences of this command we can use wait. Signed-off-by: Frank Blaschka Signed-off-by: David S. Miller commit fc9c24603c4b93d84160e14c0a98a754d4328d15 Author: Ursula Braun Date: Sun Jan 4 17:35:18 2009 -0800 qeth: avoid crash in case of layer mismatch for VSWITCH For z/VM GuestLAN or VSWITCH devices the transport layer is configured in z/VM. The layer2 attribute of a participating Linux device has to match the z/VM definition. In case of a mismatch Linux currently crashes in qeth recovery due to a reference to the not yet existing net_device. Solution: add a check for existence of net_device and add a message pointing to the mismatch of layer definitions in Linux and z/VM. Signed-off-by: Ursula Braun Signed-off-by: Frank Blaschka Signed-off-by: David S. Miller commit fe94e2e0a63a49d23753f56eacb446c4f73c1dea Author: Ursula Braun Date: Sun Jan 4 17:34:52 2009 -0800 qeth: exploit source MAC address for inbound layer3 packets OSA-devices operating in layer3 mode offer adding of the source MAC address to the QDIO header of inbound packets. The qeth driver can exploit this functionality to replace FAKELL-entries in the ethernet header of received packets. Signed-off-by: Ursula Braun Signed-off-by: Frank Blaschka Signed-off-by: David S. Miller commit 906f1f0768c736368244ac8fe6023c2b0c31b9ea Author: Klaus-Dieter Wacker Date: Sun Jan 4 17:34:10 2009 -0800 qeth: HiperSockets mcl string conversion (pre z9 mach) The pre z9 machines provide an mcl string in EBCDIC format, z9 or later provide string in ASCII format. Signed-off-by: Klaus-Dieter Wacker Signed-off-by: Frank Blaschka Signed-off-by: David S. Miller commit 6e5c172cf7ca1ab878cc6a6a4c1d52fef60f3ee0 Author: Oliver Hartkopp Date: Sun Jan 4 17:31:18 2009 -0800 can: update can-bcm for hrtimer hardirq callbacks Since commit ca109491f612aab5c8152207631c0444f63da97f ("hrtimer: removing all ur callback modes") the hrtimer callbacks are processed only in hardirq context. This patch moves some functionality into tasklets to run in softirq context. Additionally some duplicated code was removed in bcm_rx_thr_flush() and an avoidable memcpy was removed from bcm_rx_handler(). Signed-off-by: Oliver Hartkopp Signed-off-by: David S. Miller commit 858eb711ba64f8a001d7003295b8078bcab33b6d Author: Roel Kluin Date: Sun Jan 4 17:29:21 2009 -0800 DCB: fix kfree(skb) Use kfree_skb instead of kfree for struct sk_buff pointers. Signed-off-by: Roel Kluin Signed-off-by: David S. Miller commit 914d11647b6d6fe81bdf0c059612ee36282b8cee Author: Ilpo Järvinen Date: Sun Jan 4 17:27:31 2009 -0800 ipv6: IPV6_PKTINFO relied userspace providing correct length Signed-off-by: Ilpo Järvinen Reported-by: Eric Sesterhenn Signed-off-by: David S. Miller commit 22604c866889c4b2e12b73cbf1683bda1b72a313 Author: Michael Marineau Date: Sun Jan 4 17:18:51 2009 -0800 net: Fix for initial link state in 2.6.28 From: Michael Marineau Commit b47300168e770b60ab96c8924854c3b0eb4260eb "Do not fire linkwatch events until the device is registered." was made as a workaround for drivers that call netif_carrier_off before registering the device. Unfortunately this causes these drivers to incorrectly report their link status as IF_OPER_UNKNOWN which can falsely set the IFF_RUNNING flag when the interface is first brought up. This issues was previously pointed out[1] but was dismissed saying that IFF_RUNNING is not related to the link status. From my digging IFF_RUNNING, as reported to userspace, is based on the link state. It is set based on __LINK_STATE_START and IF_OPER_UP or IF_OPER_UNKNOWN. See [2], [3], and [4]. (Whether or not the kernel has IFF_RUNNING set in flags is not reported to user space so it may well be independent of the link, I don't know if and when it may get set.) The end result depends slightly depending on the driver. The the two I tested were e1000e and b44. With e1000e if the system is booted without a network cable attached the interface will falsely report RUNNING when it is brought up causing NetworkManager to attempt to start it and eventually time out. With b44 when the system is booted with a network cable attached and brought up with dhcpcd it will time out the first time. The attached patch that will still set the operstate variable correctly to IF_OPER_UP/DOWN/etc when linkwatch_fire_event is called but then return rather than skipping the linkwatch_fire_event call entirely as the previous fix did. (sorry it isn't inline, I don't have a patch friendly email client at the moment) Signed-off-by: David S. Miller commit 745417e20684e4951afcabfe74583a3884e54980 Author: Gerrit Renker Date: Sun Jan 4 17:14:46 2009 -0800 tun: Eliminate sparse signedness warning register_pernet_gen_device() expects 'int*', found via sparse. CHECK drivers/net/tun.c drivers/net/tun.c:1245:36: warning: incorrect type in argument 1 (different signedness) drivers/net/tun.c:1245:36: expected int *id drivers/net/tun.c:1245:36: got unsigned int static [toplevel] * Signed-off-by: Gerrit Renker Signed-off-by: David S. Miller commit f26251eb68ea766a98fed922593c154d15127621 Author: Bruce Allan Date: Sun Jan 4 17:12:04 2009 -0800 e100: cosmetic cleanup Add missing space after if, switch, for and while keywords. Signed-off-by: Bruce Allan Signed-off-by: Jeff Kirsher Signed-off-by: David S. Miller commit f32f8b72e02e851972a0172603104046aa5fec96 Author: Simon Holm Thøgersen Date: Sun Jan 4 17:11:24 2009 -0800 net/rfkill/rfkill.c: fix unused rfkill_led_trigger() warning commit 4dec9b807be757780ca3611a959ac22c28d292a7 ("rfkill: strip pointless notifier chain") removed the only user of rfkill_led_trigger() that was not guarded by #ifdef CONFIG_RFKILL_LEDS. Therefore, move rfkill_led_trigger() completely inside #ifdef CONFIG_RFKILL_LEDS and avoid the compile time warning: net/rfkill/rfkill.c:59: warning: 'rfkill_led_trigger' defined but not used Signed-off-by: Simon Holm Thøgersen Signed-off-by: David S. Miller commit 939678f81a55c839ae58c9cc3d4ec6d0f60e7dc7 Author: Ron Mercer Date: Sun Jan 4 17:08:29 2009 -0800 qlge: bugfix: Fix register access error checking. Some indexed registers do not have error bits. In these cases a value of zero should be used for error checking. Signed-off-by: Ron Mercer Signed-off-by: David S. Miller commit 459caf5a99cd066598192a86f8f63d73f0b423a6 Author: Ron Mercer Date: Sun Jan 4 17:08:11 2009 -0800 qlge: bugfix: Fix ring length setting for rx ring, large/small The length field for these rings is 16-bits. If the length is the max supported 65536 then the setting should be zero. Signed-off-by: Ron Mercer Signed-off-by: David S. Miller commit 2b72c7849f9a091c1e5d7255732faf14ac7d5123 Author: Ron Mercer Date: Sun Jan 4 17:07:50 2009 -0800 qlge: bugfix: Fix shadow register endian issue. Shadow registers are consistent memory locations to which the chip echos ring indexes in little endian format. These values need to be endian swapped before referencing. Note: The register pointer declaration uses the volatile modifier which causes warnings in checkpatch. Per Documentation/volatile-considered-harmful.txt: - Pointers to data structures in coherent memory which might be modified by I/O devices can, sometimes, legitimately be volatile. A ring buffer used by a network adapter, where that adapter changes pointers to indicate which descriptors have been processed, is an example of this type of situation. Signed-off-by: Ron Mercer Signed-off-by: David S. Miller commit 4055c7d495f2502718bbbea871e6504ae95add14 Author: Ron Mercer Date: Sun Jan 4 17:07:09 2009 -0800 qlge: bugfix: Add missing pci_unmap_page call in receive path. Signed-off-by: Ron Mercer Signed-off-by: David S. Miller commit c907a35acf0e964dfd0753519b3dc7689727e175 Author: Ron Mercer Date: Sun Jan 4 17:06:46 2009 -0800 qlge: bugfix: Add missing pci_mapping_err checking. Signed-off-by: Ron Mercer Signed-off-by: David S. Miller commit 40a1984d22294ab202f616e432bb8d3481897675 Author: Theodore Ts'o Date: Sun Jan 4 19:55:57 2009 -0500 jbd2: Submit writes to the journal using WRITE_SYNC Since we will be waiting the write of the commit record to the journal to complete in journal_submit_commit_record(), submit it using WRITE_SYNC. Signed-off-by: "Theodore Ts'o" commit fe0bdec68b77020281dc814805edfe594ae89e0f Merge: 099e657 5af75d8 Author: Linus Torvalds Date: Sun Jan 4 16:32:11 2009 -0800 Merge branch 'audit.b61' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/audit-current * 'audit.b61' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/audit-current: audit: validate comparison operations, store them in sane form clean up audit_rule_{add,del} a bit make sure that filterkey of task,always rules is reported audit rules ordering, part 2 fixing audit rule ordering mess, part 1 audit_update_lsm_rules() misses the audit_inode_hash[] ones sanitize audit_log_capset() sanitize audit_fd_pair() sanitize audit_mq_open() sanitize AUDIT_MQ_SENDRECV sanitize audit_mq_notify() sanitize audit_mq_getsetattr() sanitize audit_ipc_set_perm() sanitize audit_ipc_obj() sanitize audit_socketcall don't reallocate buffer in every audit_sockaddr() commit 22692018b93f0782cda5a843cecfffda1854eb8d Author: Baruch Siach Date: Sun Jan 4 16:23:01 2009 -0800 enc28j60: fix RX buffer overflow The enc28j60 driver doesn't check whether the length of the packet as reported by the hardware fits into the preallocated buffer. When stressed, the hardware may report insanely large packets even tough the "Receive OK" bit is set. Fix this. Signed-off-by: Baruch Siach Signed-off-by: David S. Miller commit fecc7036e73a71231045e03ff524b5f8bd892a84 Author: Roel Kluin Date: Sun Jan 4 16:22:04 2009 -0800 isdn: capi: &&/|| typos Correct two typos. Signed-off-by: Roel Kluin Acked-by: Karsten Keil Signed-off-by: David S. Miller commit 14eaddc967b16017d4a1a24d2be6c28ecbe06ed8 Author: David Howells Date: Wed Dec 31 15:15:42 2008 +0000 CRED: Fix regression in cap_capable() as shown up by sys_faccessat() [ver #2] Fix a regression in cap_capable() due to: commit 5ff7711e635b32f0a1e558227d030c7e45b4a465 Author: David Howells Date: Wed Dec 31 02:52:28 2008 +0000 CRED: Differentiate objective and effective subjective credentials on a task The problem is that the above patch allows a process to have two sets of credentials, and for the most part uses the subjective credentials when accessing current's creds. There is, however, one exception: cap_capable(), and thus capable(), uses the real/objective credentials of the target task, whether or not it is the current task. Ordinarily this doesn't matter, since usually the two cred pointers in current point to the same set of creds. However, sys_faccessat() makes use of this facility to override the credentials of the calling process to make its test, without affecting the creds as seen from other processes. One of the things sys_faccessat() does is to make an adjustment to the effective capabilities mask, which cap_capable(), as it stands, then ignores. The affected capability check is in generic_permission(): if (!(mask & MAY_EXEC) || execute_ok(inode)) if (capable(CAP_DAC_OVERRIDE)) return 0; This change splits capable() from has_capability() down into the commoncap and SELinux code. The capable() security op now only deals with the current process, and uses the current process's subjective creds. A new security op - task_capable() - is introduced that can check any task's objective creds. strictly the capable() security op is superfluous with the presence of the task_capable() op, however it should be faster to call the capable() op since two fewer arguments need be passed down through the various layers. This can be tested by compiling the following program from the XFS testsuite: /* * t_access_root.c - trivial test program to show permission bug. * * Written by Michael Kerrisk - copyright ownership not pursued. * Sourced from: http://linux.derkeiler.com/Mailing-Lists/Kernel/2003-10/6030.html */ #include #include #include #include #include #include #define UID 500 #define GID 100 #define PERM 0 #define TESTPATH "/tmp/t_access" static void errExit(char *msg) { perror(msg); exit(EXIT_FAILURE); } /* errExit */ static void accessTest(char *file, int mask, char *mstr) { printf("access(%s, %s) returns %d\n", file, mstr, access(file, mask)); } /* accessTest */ int main(int argc, char *argv[]) { int fd, perm, uid, gid; char *testpath; char cmd[PATH_MAX + 20]; testpath = (argc > 1) ? argv[1] : TESTPATH; perm = (argc > 2) ? strtoul(argv[2], NULL, 8) : PERM; uid = (argc > 3) ? atoi(argv[3]) : UID; gid = (argc > 4) ? atoi(argv[4]) : GID; unlink(testpath); fd = open(testpath, O_RDWR | O_CREAT, 0); if (fd == -1) errExit("open"); if (fchown(fd, uid, gid) == -1) errExit("fchown"); if (fchmod(fd, perm) == -1) errExit("fchmod"); close(fd); snprintf(cmd, sizeof(cmd), "ls -l %s", testpath); system(cmd); if (seteuid(uid) == -1) errExit("seteuid"); accessTest(testpath, 0, "0"); accessTest(testpath, R_OK, "R_OK"); accessTest(testpath, W_OK, "W_OK"); accessTest(testpath, X_OK, "X_OK"); accessTest(testpath, R_OK | W_OK, "R_OK | W_OK"); accessTest(testpath, R_OK | X_OK, "R_OK | X_OK"); accessTest(testpath, W_OK | X_OK, "W_OK | X_OK"); accessTest(testpath, R_OK | W_OK | X_OK, "R_OK | W_OK | X_OK"); exit(EXIT_SUCCESS); } /* main */ This can be run against an Ext3 filesystem as well as against an XFS filesystem. If successful, it will show: [root@andromeda src]# ./t_access_root /tmp/xxx 0 4043 4043 ---------- 1 dhowells dhowells 0 2008-12-31 03:00 /tmp/xxx access(/tmp/xxx, 0) returns 0 access(/tmp/xxx, R_OK) returns 0 access(/tmp/xxx, W_OK) returns 0 access(/tmp/xxx, X_OK) returns -1 access(/tmp/xxx, R_OK | W_OK) returns 0 access(/tmp/xxx, R_OK | X_OK) returns -1 access(/tmp/xxx, W_OK | X_OK) returns -1 access(/tmp/xxx, R_OK | W_OK | X_OK) returns -1 If unsuccessful, it will show: [root@andromeda src]# ./t_access_root /tmp/xxx 0 4043 4043 ---------- 1 dhowells dhowells 0 2008-12-31 02:56 /tmp/xxx access(/tmp/xxx, 0) returns 0 access(/tmp/xxx, R_OK) returns -1 access(/tmp/xxx, W_OK) returns -1 access(/tmp/xxx, X_OK) returns -1 access(/tmp/xxx, R_OK | W_OK) returns -1 access(/tmp/xxx, R_OK | X_OK) returns -1 access(/tmp/xxx, W_OK | X_OK) returns -1 access(/tmp/xxx, R_OK | W_OK | X_OK) returns -1 I've also tested the fix with the SELinux and syscalls LTP testsuites. Signed-off-by: David Howells Signed-off-by: James Morris commit 5d38a079ce3971f932bbdc0dc5b887806fabd5dc Author: Herbert Xu Date: Sun Jan 4 16:13:40 2009 -0800 gro: Add page frag support This patch allows GRO to merge page frags (skb_shinfo(skb)->frags) in one skb, rather than using the less efficient frag_list. It also adds a new interface, napi_gro_frags to allow drivers to inject page frags directly into the stack without allocating an skb. This is intended to be the GRO equivalent for LRO's lro_receive_frags interface. The existing GSO interface can already handle page frags with or without an appended frag_list so nothing needs to be changed there. The merging itself is rather simple. We store any new frag entries after the last existing entry, without checking whether the first new entry can be merged with the last existing entry. Making this check would actually be easy but since no existing driver can produce contiguous frags anyway it would just be mental masturbation. If the total number of entries would exceed the capacity of a single skb, we simply resort to using frag_list as we do now. Signed-off-by: Herbert Xu Signed-off-by: David S. Miller commit b530256d2e0f1a75fab31f9821129fff1bb49faa Author: Herbert Xu Date: Sun Jan 4 16:13:19 2009 -0800 gro: Use gso_size to store MSS In order to allow GRO packets without frag_list at all, we need to store the MSS in the packet itself. The obvious place is gso_size. The only thing to watch out for is if the packet ends up not being GRO then we need to clear gso_size before pushing the packet into the stack. Signed-off-by: Herbert Xu Signed-off-by: David S. Miller commit cfc3a44c3c32abe48898398d9a92e8524c976803 Author: Jaswinder Singh Rajput Date: Sun Jan 4 16:12:11 2009 -0800 starfire: use request_firmware() Firmware blob is big endian Signed-off-by: Jaswinder Singh Rajput Signed-off-by: David S. Miller commit 077f849de42e58172e25ccb24df4c1a13e82420c Author: Jaswinder Singh Rajput Date: Sun Jan 4 16:11:25 2009 -0800 firmware: convert tg3 driver to request_firmware() Firmware blob looks like this... u8 firmware_major u8 firmware_minor u8 firmware_fix u8 pad __be32 start_address __be32 length (total, including BSS sections to be zeroed) data... (in __be32 words, which is native for the firmware) Signed-off-by: Jaswinder Singh Rajput Signed-off-by: David S. Miller commit 949b42544a20fb22800e244a004ff45bd359a21b Author: Jaswinder Singh Date: Sun Jan 4 16:09:40 2009 -0800 firmware: convert acenic driver to request_firmware() We store the firmware in its native big-endian form now, so the loop in ace_copy() is modified to use be32_to_cpup() when writing it out. We can forget the BSS,SBSS sections of the firmware, since we were clearing all the device's RAM anyway. And the text,rodata,data sections can all be loaded as a single chunk since they're contiguous (give or take a few dozen bytes in between). Signed-off-by: Jaswinder Singh Signed-off-by: David Woodhouse Acked-by: Jes Sorensen Signed-off-by: David S. Miller commit 14deae41566b5cdd992c01d0069518ced5227c83 Author: David S. Miller Date: Sun Jan 4 16:04:39 2009 -0800 ipv6: Fix sporadic sendmsg -EINVAL when sending to multicast groups. Thanks to excellent diagnosis by Eduard Guzovsky. The core problem is that on a network with lots of active multicast traffic, the neighbour cache can fill up. If we try to allocate a new route and thus neighbour cache entry, the bog-standard GC attempt the neighbour layer does in ineffective because route entries hold a reference to the existing neighbour entries and GC can only liberate entries with no references. IPV4 already has a way to handle this, by doing a route cache GC in such situations (when neigh attach returns -ENOBUFS). So simply mimick this on the ipv6 side. Tested-by: Eduard Guzovsky Signed-off-by: David S. Miller commit 473321fc373e712fbb9b88e2c0736e55fddadab8 Author: Sam Ravnborg Date: Sun Jan 4 15:47:49 2009 -0800 MAINTAINERS: update sparc maintainer Reflect the current situation where David Miller is the sparc maintainer. I have tried to contact Bill on following adresses: wli@holomorphy.com wlirwin@us.ibm.com with no success and Bill has not been active on the sparclinux mailing list for a long time. As sparc and sparc64 are unified I unified the two entries in the MAINTAINERS file too. Signed-off-by: Sam Ravnborg Signed-off-by: David S. Miller commit 83c86984bff2d793c91eb710af7857828b9ddb49 Author: Sam Ravnborg Date: Sun Jan 4 15:44:22 2009 -0800 sparc: unify ipcbuf.h The ony difference is the size of the mode. sparc has extra padding to compensate for this. Signed-off-by: Sam Ravnborg Signed-off-by: David S. Miller commit c8a12d45d543905a2718fccafd612edbd73a1341 Author: Stefan Richter Date: Sat Nov 29 19:00:56 2008 +0100 firewire: reorder struct fw_card for better cache efficiency topology_map is by far the largest member in struct fw_card. Move it to the very end of the struct so that card pointer dereferences have better chances to hit the CPU cache. This requires to increase the topology_map backing store to the size specified in IEEE 1394, i.e. 256 rather than 255 quadlets. Otherwise the topology_map response handler may access invalid memory. Signed-off-by: Stefan Richter commit d6f95a3d14dc403881b23ad268ec1e3600c4e6b4 Author: Stefan Richter Date: Sat Nov 29 18:56:47 2008 +0100 firewire: fix resetting of bus manager retry counter An earlier change, maybe long ago, removed the copying of self_id_count into card->self_id_count. Since then each bus reset cleared card->bm_retries even when it shouldn't. Signed-off-by: Stefan Richter commit 0fa1986f3a6c385b3bca0b6a051c30e548bda30d Author: Jay Fenlason Date: Sat Nov 29 17:44:57 2008 +0100 firewire: improve refcounting of fw_card Take a reference to the card whenever fw_card_bm_work() is scheduled on that card and release it when the work is done. This allows us to remove the cancel_delayed_work_sync() in fw_core_remove_card(). Signed-off-by: Jay Fenlason Signed-off-by: Stefan Richter (patch update) commit 2cc489c21338950c2b4097dec48864bdf7b30f1b Author: Jay Fenlason Date: Wed Oct 22 15:59:42 2008 -0400 firewire: typo in comment Signed-off-by: Jay Fenlason Signed-off-by: Stefan Richter commit d6053e08f5520dcb58c200d2e1861d9c505b72e8 Author: Stefan Richter Date: Mon Nov 24 20:40:00 2008 +0100 firewire: fix small memory leak at module removal Signed-off-by: Stefan Richter commit 621f6dd715209d3c3c27841943ae71fc2c75c9f5 Author: Stefan Richter Date: Sun Oct 26 11:04:20 2008 +0100 firewire: fw-sbp2: remove unnecessary locking What was I thinking when I added sbp2_set_generation()? Its locking did nothing (except for implicitly providing the necessary barrier between node IDs update and generation update). Signed-off-by: Stefan Richter commit c82cdea1e1cb3790788d04ef5cab33488e1455c9 Author: Harvey Harrison Date: Sat Dec 13 15:21:29 2008 -0800 ieee1934: dv1394: interrupt enabling/disabling broken on big-endian After annotating the frame structs, this was left: drivers/ieee1394/dv1394.c:2113:23: warning: invalid assignment: |= drivers/ieee1394/dv1394.c:2113:23: left side has type restricted __le32 drivers/ieee1394/dv1394.c:2113:23: right side has type int drivers/ieee1394/dv1394.c:2121:24: warning: invalid assignment: &= drivers/ieee1394/dv1394.c:2121:24: left side has type restricted __le32 drivers/ieee1394/dv1394.c:2121:24: right side has type int drivers/ieee1394/dv1394.c:2123:24: warning: invalid assignment: |= drivers/ieee1394/dv1394.c:2123:24: left side has type restricted __le32 drivers/ieee1394/dv1394.c:2123:24: right side has type int Which looks like a real bug on a big-endian arch as it would set/clear the wrong bit. Signed-off-by: Harvey Harrison Bill Fink writes: I finally got a chance to test the patch on my kernel, and live DV viewing using xine still worked fine. Although I admit to being mystified how it works both before and after the patch, since the cpu_to_le32() calls that were added should result in byte swapping on PPC that wasn't being done before. I guess that either the code paths involved aren't actually being triggered by my xine DV viewing, or there's some fortuitous palindromic setting of bits. Tested-by: Bill Fink Signed-off-by: Stefan Richter commit 7d7039d3650688319670b2e828b1013fbfd2cc3b Author: Harvey Harrison Date: Sat Dec 13 15:20:39 2008 -0800 ieee1394: dv1394: annotate frame input/output structs as little endian No Functional changes. Signed-off-by: Harvey Harrison Signed-off-by: Stefan Richter commit faf26bcc4729546ef95f5edb44f3749bb1b47d1c Author: Harvey Harrison Date: Sat Dec 13 15:03:06 2008 -0800 ieee1394: eth1394: trivial sparse annotations Mostly annotations of ether_type as a be16. Signed-off-by: Harvey Harrison Signed-off-by: Stefan Richter commit debb48063a372525c07561cc96c473ae9adefd99 Author: Harvey Harrison Date: Sat Dec 13 15:02:34 2008 -0800 ieee1394: mark bus_info_data as a __be32 array Two access functions get_max_rom and set_hw_config_rom are changed to take __be32 as well. Only bus_info_data was ever passed in so this is OK. All other uses of bus_info_data treated it as a be32 value already. Signed-off-by: Harvey Harrison Signed-off-by: Stefan Richter commit a5e6f64ddad9f55f0eab09576c7523808d7f9e3d Author: Harvey Harrison Date: Sat Dec 13 15:02:21 2008 -0800 ieee1394: replace CSR_SET_BUS_INFO_GENERATION macro Signed-off-by: Harvey Harrison Signed-off-by: Stefan Richter commit c816015860f6cfaf28c3cb95e3d3b6e4c4cfc688 Author: Harvey Harrison Date: Sat Dec 13 15:01:50 2008 -0800 ieee1394: pcilynx: trivial endian annotation bus_info_block was treated as a be32 everywhere, annotate as such. Removes plenty of sparse warnings. Signed-off-by: Harvey Harrison Signed-off-by: Stefan Richter commit 0bed1819687b50a769a1fee6d91cb0ef79b011b4 Author: Stefan Richter Date: Sat Dec 13 23:12:06 2008 +0100 ieee1394: ignore nonzero Bus_Info_Block.max_rom, fetch config ROM in quadlets It is already known that buggy firmwares exist which report a bogus link_spd in their config ROM bus info block. We now got the first report of a bogus max_rom too (Freecom FireWire Hard Drive 1TB, http://bugzilla.kernel.org/show_bug.cgi?id=12206). I suspect other OSs only use quadlet reads to fetch the config ROM, otherwise the firmware authors would have noticed their mistake. Hence limit ieee1394's config ROM fetching routine to quadlets as the safe minimum regardless of what the bus info block says. This will potentially slow the bus reset handling by nodemgr somewhat down. But most existing devices support only quadlet reads anyway, hence there will often be no actual difference to before this change. Signed-off-by: Stefan Richter commit c1fc58d63d754b82070881c62601551464afa19d Author: Harvey Harrison Date: Fri Dec 12 21:57:50 2008 -0800 ieee1394: consolidate uses of IEEE1934_BUSID_MAGIC Move the definition out of nodemgr.h and use it in csr.c/pcilynx.c Signed-off-by: Harvey Harrison Signed-off-by: Stefan Richter commit cbe7dd699e0bdda85a9279f2659b51b92e6782e3 Author: Stefan Richter Date: Sat Dec 6 17:35:59 2008 +0100 ieee1394: ohci1394: flush MMIO writes before delay in initialization and replace busy-wait by msleep. Signed-off-by: Stefan Richter commit 9e234faf98ec4fbcc3292d767df2c709a032cba5 Author: Stefan Richter Date: Sat Dec 6 17:35:20 2008 +0100 ieee1394: ohci1394: pass error codes from request_irq through Signed-off-by: Stefan Richter commit d1069aea6840c24f6e0617a758334312b60d3fc6 Author: Frans Pop Date: Sat Dec 6 15:36:47 2008 +0100 ieee1394: ohci1394: don't leave interrupts enabled during suspend/resume On my HP 2510p I get the following in dmesg during near the end of most resumes from suspend to RAM: irq 19: nobody cared (try booting with the "irqpoll" option) Pid: 0, comm: swapper Not tainted 2.6.28-rc7 #67 Call Trace: [] ? ohci_irq_handler+0x60/0x7e9 [ohci1394] [] __report_bad_irq+0x38/0x87 [] note_interrupt+0x10e/0x174 [] handle_fasteoi_irq+0xa7/0xd1 [] do_IRQ+0x73/0xe4 [] ret_from_intr+0x0/0xa [] ? acpi_idle_enter_bm+0x26b/0x2b2 [processor] [] ? acpi_idle_enter_bm+0x261/0x2b2 [processor] [] ? notifier_call_chain+0x33/0x5b [] ? cpuidle_idle_call+0x8c/0xc4 [] ? cpu_idle+0x4a/0x9a [] ? rest_init+0x5c/0x5e handlers: [] (ohci_irq_handler+0x0/0x7e9 [ohci1394]) Disabling IRQ #19 There also seems to be an interrupt storm during suspend/resume when this happens: 19: 99968 33 IO-APIC-fasteoi ohci1394 This patch gets rid of both issues and makes the resume as a whole significantly faster. Signed-off-by: Frans Pop As was pointed out in http://lkml.org/lkml/2008/12/6/127, this does not fix the cause of the interrupt storm. However, since the source of the interrupts could not be determined yet, we make the system at least more usable with this change. Signed-off-by: Stefan Richter commit b17a55096071898454d7b5b6fb30cca7faedf9f1 Author: Stefan Richter Date: Wed Nov 26 01:35:21 2008 +0100 ieee1394: mark all hpsb_address_ops instances as const These are never modified. Signed-off-by: Stefan Richter commit adb0a61681224340271bb2c2e1a060434b76ec06 Author: Stefan Richter Date: Wed Nov 26 01:34:55 2008 +0100 ieee1394: replace a GFP_ATOMIC by GFP_KERNEL allocation All callers of hpsb_register_addrspace() can sleep. Signed-off-by: Stefan Richter commit 9e01892c4234070bbcf3a9f582514c8b91464375 Author: Heiko Carstens Date: Mon Dec 22 12:36:31 2008 +0100 module: convert to stop_machine_create/destroy. The module code relies on a non-failing stop_machine call. So we create the kstop threads in advance and with that make sure the call won't fail. Signed-off-by: Heiko Carstens Signed-off-by: Rusty Russell commit 9ea09af3bd3090e8349ca2899ca2011bd94cda85 Author: Heiko Carstens Date: Mon Dec 22 12:36:30 2008 +0100 stop_machine: introduce stop_machine_create/destroy. Introduce stop_machine_create/destroy. With this interface subsystems that need a non-failing stop_machine environment can create the stop_machine machine threads before actually calling stop_machine. When the threads aren't needed anymore they can be killed with stop_machine_destroy again. When stop_machine gets called and the threads aren't present they will be created and destroyed automatically. This restores the old behaviour of stop_machine. This patch also converts cpu hotplug to the new interface since it is special: cpu_down calls __stop_machine instead of stop_machine. However the kstop threads will only be created when stop_machine gets called. Changing the code so that the threads would be created automatically on __stop_machine is currently not possible: when __stop_machine gets called we hold cpu_add_remove_lock, which is the same lock that create_rt_workqueue would take. So the workqueue needs to be created before the cpu hotplug code locks cpu_add_remove_lock. Signed-off-by: Heiko Carstens Signed-off-by: Rusty Russell commit c298be74492bece102f3379d14015638f1fd1fac Author: Helge Deller Date: Thu Jan 1 22:25:30 2009 +0100 parisc: fix module loading failure of large kernel modules On 32bit (and sometimes 64bit) and with big kernel modules like xfs or ipv6 the relocation types R_PARISC_PCREL17F and R_PARISC_PCREL22F may fail to reach their PLT stub if we only create one big stub array for all sections at the beginning of the core or init section. With this patch we now instead add individual PLT stub entries directly in front of the code sections where the stubs are actually called. This reduces the distance between the PCREL location and the stub entry so that the relocations can be fulfilled. While calculating the final layout of the kernel module in memory, the kernel module loader calls arch_mod_section_prepend() to request the to be reserved amount of memory in front of each individual section. Tested with 32- and 64bit kernels. Signed-off-by: Helge Deller Signed-off-by: Rusty Russell commit 088af9a6e05d51e7c3dc85d45d8b7a52c3ee08d7 Author: Helge Deller Date: Wed Dec 31 12:31:18 2008 +0100 module: fix module loading failure of large kernel modules for parisc When creating the final layout of a kernel module in memory, allow the module loader to reserve some additional memory in front of a given section. This is currently only needed for the parisc port which needs to put the stub entries there to fulfill the 17/22bit PCREL relocations with large kernel modules like xfs. Signed-off-by: Helge Deller Signed-off-by: Rusty Russell (renamed fn) commit d1e99d7ae4e6bbd1ebb5e81ecd3af2b8793efee0 Author: Jianjun Kong Date: Mon Dec 8 14:26:29 2008 +0800 module: fix warning of unused function when !CONFIG_PROC_FS Fix this warning: kernel/module.c:824: warning: ‘print_unload_info’ defined but not used print_unload_info() just was used when CONFIG_PROC_FS was defined. This patch mark print_unload_info() inline to solve the problem. Signed-off-by: Jianjun Kong Signed-off-by: Rusty Russell CC: Ingo Molnar CC: Américo Wang commit ca4787b779dd698a2a33a328aa5fa90a3e954077 Author: Tim Abbott Date: Mon Jan 5 08:40:10 2009 -0600 kernel/module.c: compare symbol values when marking symbols as exported in /proc/kallsyms. When there are two symbols in a module with the same name, one of which is exported, both will be marked as exported in /proc/kallsyms. There aren't any instances of this in the current kernel, but it is easy to construct a simple module with two compilation units that exhibits the problem. $ objdump -j .text -t testmod.ko | grep foo 00000000 l F .text 00000032 foo 00000080 g F .text 00000001 foo $ sudo insmod testmod.ko $ grep "T foo" /proc/kallsyms c28e8000 T foo [testmod] c28e8080 T foo [testmod] Fix this by comparing the symbol values once we've found the exported symbol table entry matching the symbol name. Tested using Ksplice: $ ksplice-create --patch=this_commit.patch --id=bar . $ sudo ksplice-apply ksplice-bar.tar.gz Done! $ grep "T foo" /proc/kallsyms c28e8080 T foo [testmod] Signed-off-by: Tim Abbott Cc: Rusty Russell Signed-off-by: Andrew Morton Signed-off-by: Rusty Russell commit a327ca2c2674c5a9a0073421df19bfc362698136 Author: Johannes Berg Date: Tue Jul 8 19:00:26 2008 +0200 remove CONFIG_KMOD Now that nothing depends on it any more, remove CONFIG_KMOD. Signed-off-by: Johannes Berg Signed-off-by: Rusty Russell commit 5c8c40be4b5a2944483bfc1a45d6c3fa02551af3 Merge: 90bd49a 6d3dc07 Author: James Morris Date: Mon Jan 5 08:56:01 2009 +1100 Merge branch 'master' of git://git.infradead.org/users/pcmoore/lblnet-2.6_next into next commit 099e657625e801adf82054c8050dde5aceb68452 Author: Alessandro Zummo Date: Sun Jan 4 12:00:54 2009 -0800 rtc: add alarm/update irq interfaces Add standard interfaces for alarm/update irqs enabling. Drivers are no more required to implement equivalent ioctl code as rtc-dev will provide it. UIE emulation should now be handled correctly and will work even for those RTC drivers who cannot be configured to do both UIE and AIE. Signed-off-by: Alessandro Zummo Cc: David Brownell Cc: Atsushi Nemoto Cc: Ralf Baechle Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 54566b2c1594c2326a645a3551f9d989f7ba3c5e Author: Nick Piggin Date: Sun Jan 4 12:00:53 2009 -0800 fs: symlink write_begin allocation context fix With the write_begin/write_end aops, page_symlink was broken because it could no longer pass a GFP_NOFS type mask into the point where the allocations happened. They are done in write_begin, which would always assume that the filesystem can be entered from reclaim. This bug could cause filesystem deadlocks. The funny thing with having a gfp_t mask there is that it doesn't really allow the caller to arbitrarily tinker with the context in which it can be called. It couldn't ever be GFP_ATOMIC, for example, because it needs to take the page lock. The only thing any callers care about is __GFP_FS anyway, so turn that into a single flag. Add a new flag for write_begin, AOP_FLAG_NOFS. Filesystems can now act on this flag in their write_begin function. Change __grab_cache_page to accept a nofs argument as well, to honour that flag (while we're there, change the name to grab_cache_page_write_begin which is more instructive and does away with random leading underscores). This is really a more flexible way to go in the end anyway -- if a filesystem happens to want any extra allocations aside from the pagecache ones in ints write_begin function, it may now use GFP_KERNEL (rather than GFP_NOFS) for common case allocations (eg. ocfs2_alloc_write_ctxt, for a random example). [kosaki.motohiro@jp.fujitsu.com: fix ubifs] [kosaki.motohiro@jp.fujitsu.com: fix fuse] Signed-off-by: Nick Piggin Reviewed-by: KOSAKI Motohiro Cc: [2.6.28.x] Signed-off-by: KOSAKI Motohiro Signed-off-by: Andrew Morton [ Cleaned up the calling convention: just pass in the AOP flags untouched to the grab_cache_page_write_begin() function. That just simplifies everybody, and may even allow future expansion of the logic. - Linus ] Signed-off-by: Linus Torvalds commit e687d691cb3790d25e31c74f5941fd7c565e9df5 Author: Bruno Prémont Date: Sun Jan 4 13:11:54 2009 -0800 viafb: fix crashes due to 4k stack overflow The function viafb_cursor() uses 2 stack-variables of CURSOR_SIZE bits; CURSOR_SIZE is defined as (8 * 1024). Using up twice 1k on stack is too much for 4k-stack (though it works with 8k-stacks). Make those two variables kzalloc'ed to preserve stack space. Also merge the whole lot of local struct's in viafb_ioctl into a union so the stack usage gets minimized here as well. (struct's are only accessed in their indicidual IOCTL case) This second part is only compile-tested as I know of no userspace app using the IOCTLs. Signed-off-by: Bruno Prémont Cc: Cc: Krzysztof Helt Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit c644f0e4b56f9a2fc066cd0d75a18074d130e4a3 Author: Pekka Enberg Date: Sun Jan 4 12:00:48 2009 -0800 fs: introduce bgl_lock_ptr() As suggested by Andreas Dilger, introduce a bgl_lock_ptr() helper in and add separate sb_bgl_lock() helpers to filesystem specific header files to break the hidden dependency to struct ext[234]_sb_info. Also, while at it, convert the macros to static inlines to try make up for all the times I broke Andrew Morton's tree. Acked-by: Andreas Dilger Signed-off-by: Pekka Enberg Cc: Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 0a30c5cefa53cbac429dcb2de906c0637b646253 Author: Randy Dunlap Date: Sun Jan 4 12:00:47 2009 -0800 spi.h uses/needs device.h Include header files as used/needed: In file included from drivers/leds/leds-dac124s085.c:16: include/linux/spi/spi.h:66: error: field 'dev' has incomplete type include/linux/spi/spi.h: In function 'to_spi_device': include/linux/spi/spi.h:100: warning: type defaults to 'int' in declaration of '__mptr' ... Signed-off-by: Randy Dunlap Cc: David Brownell Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 2e4e27c7d082b2198b63041310609d7191185a9d Author: Adam Lackorzynski Date: Sun Jan 4 12:00:46 2009 -0800 vmalloc.c: fix flushing in vmap_page_range() The flush_cache_vmap in vmap_page_range() is called with the end of the range twice. The following patch fixes this for me. Signed-off-by: Adam Lackorzynski Cc: Nick Piggin Cc: Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 7b574b7b0124ed344911f5d581e9bc2d83bbeb19 Author: Li Zefan Date: Sun Jan 4 12:00:45 2009 -0800 cgroups: fix a race between cgroup_clone and umount The race is calling cgroup_clone() while umounting the ns cgroup subsys, and thus cgroup_clone() might access invalid cgroup_fs, or kill_sb() is called after cgroup_clone() created a new dir in it. The BUG I triggered is BUG_ON(root->number_of_cgroups != 1); ------------[ cut here ]------------ kernel BUG at kernel/cgroup.c:1093! invalid opcode: 0000 [#1] SMP ... Process umount (pid: 5177, ti=e411e000 task=e40c4670 task.ti=e411e000) ... Call Trace: [] ? deactivate_super+0x3f/0x51 [] ? mntput_no_expire+0xb3/0xdd [] ? sys_umount+0x265/0x2ac [] ? sys_oldumount+0xd/0xf [] ? sysenter_do_call+0x12/0x31 ... EIP: [] cgroup_kill_sb+0x23/0xe0 SS:ESP 0068:e411ef2c ---[ end trace c766c1be3bf944ac ]--- Cc: Serge E. Hallyn Signed-off-by: Li Zefan Cc: Paul Menage Cc: "Serge E. Hallyn" Cc: Balbir Singh Cc: Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 5af75d8d58d0f9f7b7c0515b35786b22892d5f12 Author: Al Viro Date: Tue Dec 16 05:59:26 2008 -0500 audit: validate comparison operations, store them in sane form Don't store the field->op in the messy (and very inconvenient for e.g. audit_comparator()) form; translate to dense set of values and do full validation of userland-submitted value while we are at it. ->audit_init_rule() and ->audit_match_rule() get new values now; in-tree instances updated. Signed-off-by: Al Viro commit 36c4f1b18c8a7d0adb4085e7f531860b837bb6b0 Author: Al Viro Date: Mon Dec 15 01:50:28 2008 -0500 clean up audit_rule_{add,del} a bit Signed-off-by: Al Viro commit e048e02c89db7bd49d1a5fac77a11c8fb3603087 Author: Al Viro Date: Tue Dec 16 03:51:22 2008 -0500 make sure that filterkey of task,always rules is reported Signed-off-by: Al Viro commit e45aa212ea81d39b38ba158df344dc3a500153e5 Author: Al Viro Date: Mon Dec 15 01:17:50 2008 -0500 audit rules ordering, part 2 Fix the actual rule listing; add per-type lists _not_ used for matching, with all exit,... sitting on one such list. Simplifies "do something for all rules" logics, while we are at it... Signed-off-by: Al Viro commit 0590b9335a1c72a3f0defcc6231287f7817e07c8 Author: Al Viro Date: Sun Dec 14 23:45:27 2008 -0500 fixing audit rule ordering mess, part 1 Problem: ordering between the rules on exit chain is currently lost; all watch and inode rules are listed after everything else _and_ exit,never on one kind doesn't stop exit,always on another from being matched. Solution: assign priorities to rules, keep track of the current highest-priority matching rule and its result (always/never). Signed-off-by: Al Viro commit 1a9d0797b8977d413435277bf9661efbbd584693 Author: Al Viro Date: Sun Dec 14 12:04:02 2008 -0500 audit_update_lsm_rules() misses the audit_inode_hash[] ones Signed-off-by: Al Viro commit 57f71a0af4244d9ba3c0bce74b1d2e66e8d520bd Author: Al Viro Date: Sun Jan 4 14:52:57 2009 -0500 sanitize audit_log_capset() * no allocations * return void * don't duplicate checked for dummy context Signed-off-by: Al Viro commit 157cf649a735a2f7e8dba0ed08e6e38b6c30d886 Author: Al Viro Date: Sun Dec 14 04:57:47 2008 -0500 sanitize audit_fd_pair() * no allocations * return void Signed-off-by: Al Viro commit 564f6993ffef656aebaf46cf2f1f6cb4f5c97207 Author: Al Viro Date: Sun Dec 14 04:02:26 2008 -0500 sanitize audit_mq_open() * don't bother with allocations * don't do double copy_from_user() * don't duplicate parts of check for audit_dummy_context() Signed-off-by: Al Viro commit c32c8af43b9adde8d6f938d8e6328c13b8de79ac Author: Al Viro Date: Sun Dec 14 03:46:48 2008 -0500 sanitize AUDIT_MQ_SENDRECV * logging the original value of *msg_prio in mq_timedreceive(2) is insane - the argument is write-only (i.e. syscall always ignores the original value and only overwrites it). * merge __audit_mq_timed{send,receive} * don't do copy_from_user() twice * don't mess with allocations in auditsc part * ... and don't bother checking !audit_enabled and !context in there - we'd already checked for audit_dummy_context(). Signed-off-by: Al Viro commit 20114f71b27cafeb7c7e41d2b0f0b68c3fbb022b Author: Al Viro Date: Wed Dec 10 07:16:12 2008 -0500 sanitize audit_mq_notify() * don't copy_from_user() twice * don't bother with allocations * don't duplicate parts of audit_dummy_context() * make it return void Signed-off-by: Al Viro commit 7392906ea915b9a2c14dea32b3604b4e178f82f7 Author: Al Viro Date: Wed Dec 10 06:58:59 2008 -0500 sanitize audit_mq_getsetattr() * get rid of allocations * make it return void * don't duplicate parts of audit_dummy_context() Signed-off-by: Al Viro commit e816f370cbadd2afea9f1a42f232d0636137d563 Author: Al Viro Date: Wed Dec 10 03:47:15 2008 -0500 sanitize audit_ipc_set_perm() * get rid of allocations * make it return void * simplify callers Signed-off-by: Al Viro commit a33e6751003c5ade603737d828b1519d980ce392 Author: Al Viro Date: Wed Dec 10 03:40:06 2008 -0500 sanitize audit_ipc_obj() * get rid of allocations * make it return void * simplify callers Signed-off-by: Al Viro commit f3298dc4f2277874d40cb4fc3a6e277317d6603b Author: Al Viro Date: Wed Dec 10 03:16:51 2008 -0500 sanitize audit_socketcall * don't bother with allocations * now that it can't fail, make it return void Signed-off-by: Al Viro commit 4f6b434fee2402b3decdeae9d16eb648725ae426 Author: Al Viro Date: Tue Dec 9 19:50:34 2008 -0500 don't reallocate buffer in every audit_sockaddr() No need to do that more than once per process lifetime; allocating/freeing on each sendto/accept/etc. is bloody pointless. Signed-off-by: Al Viro commit dd399dcb4830cd0e9f51d014ec098421171876d4 Author: Jaswinder Singh Rajput Date: Tue Dec 30 21:10:13 2008 +0530 x86: irqinit_64.c init_ISA_irqs should be static Signed-off-by: Jaswinder Singh Signed-off-by: Ingo Molnar commit 2f6de3a199893ae3dd68e23bd79b55e1478c8268 Author: Baodong Chen Date: Sat Jan 3 12:37:06 2009 +0800 Documentation/x86/boot.txt: payload length was changed to payload_length Signed-off-by: Baodong Chen <[email]chenbdchenbd@gmail.com[email]> Acked-by: Jiri Kosina Signed-off-by: Ingo Molnar commit 8a87dd9a20ca895527b039e64e54adcbc64b256a Author: Jaswinder Singh Rajput Date: Sun Jan 4 17:04:26 2009 +0530 x86: setup_percpu.c fix style problems Impact: cleanup Fix: WARNING: Use #include instead of WARNING: Use #include instead of WARNING: Use #include instead of WARNING: EXPORT_SYMBOL(foo); should immediately follow its function/variable ERROR: spaces required around that '?' (ctx:VxW) ERROR: spaces required around that ':' (ctx:VxV) total: 2 errors, 4 warnings Signed-off-by: Jaswinder Singh Rajput Signed-off-by: Ingo Molnar commit f50cec36403674ca39663f44b6a491daa1731920 Author: Jaswinder Singh Rajput Date: Sun Jan 4 16:36:25 2009 +0530 x86: irqinit_64.c fix style problems Impact: cleanup, fix style problems Fix: WARNING: Use #include instead of WARNING: Use #include instead of WARNING: Use #include instead of total: 0 errors, 3 warnings Signed-off-by: Jaswinder Singh Rajput Signed-off-by: Ingo Molnar commit aa09e6cdae4c60c3070176498abf99b81e1b40fe Author: Jaswinder Singh Rajput Date: Sun Jan 4 16:35:17 2009 +0530 x86: irqinit_32.c fix style problems Impact: cleanup Fix: WARNING: Use #include instead of WARNING: Use #include instead of ERROR: trailing whitespace WARNING: externs should be avoided in .c files ERROR: space required after that ',' (ctx:VxV) WARNING: space prohibited between function name and open parenthesis '(' total: 2 errors, 4 warnings Signed-off-by: Jaswinder Singh Rajput Signed-off-by: Ingo Molnar commit 7bafaf306769348723471e133adaa57238770492 Author: Jaswinder Singh Rajput Date: Sun Jan 4 16:33:52 2009 +0530 x86: i8259.c fix style problems Impact: cleanup Fix: WARNING: Use #include instead of WARNING: Use #include instead of WARNING: Use #include instead of ERROR: code indent should use tabs where possible total: 1 errors, 3 warnings Signed-off-by: Jaswinder Singh Rajput Signed-off-by: Ingo Molnar commit 72ade5f9ca7b384a180ae6b42987f627acd9fe95 Author: Jaswinder Singh Rajput Date: Sun Jan 4 16:32:36 2009 +0530 x86: irq_32.c fix style problems Impact: cleanup Fix: WARNING: Use #include instead of ERROR: "(foo*)" should be "(foo *)" ERROR: space required after that ',' (ctx:VxV) total: 5 errors, 1 warnings Signed-off-by: Jaswinder Singh Rajput Signed-off-by: Ingo Molnar commit c2d1cec1c77f7714672c1efeae075424c929e0d5 Author: Mike Travis Date: Sun Jan 4 05:18:03 2009 -0800 x86: cleanup remaining cpumask_t ops in smpboot code Impact: use new cpumask API to reduce memory and stack usage Allocate the following local cpumasks based on the number of cpus that are present. References will use new cpumask API. (Currently only modified for x86_64, x86_32 continues to use the *_map variants.) cpu_callin_mask cpu_callout_mask cpu_initialized_mask cpu_sibling_setup_mask Provide the following accessor functions: struct cpumask *cpu_sibling_mask(int cpu) struct cpumask *cpu_core_mask(int cpu) Other changes are when setting or clearing the cpu online, possible or present maps, use the accessor functions. Signed-off-by: Mike Travis Acked-by: Rusty Russell Signed-off-by: Ingo Molnar commit 588235bb53f2c215f0d4b08fd30b461fedc3338e Author: Mike Travis Date: Sun Jan 4 05:18:02 2009 -0800 cpumask: update pci_bus_show_cpuaffinity to use new cpumask API Impact: use new cpumask API to reduce stack usage Replace the local cpumask_t variable with a pointer to the const cpumask that needs to be printed. Signed-off-by: Mike Travis Signed-off-by: Ingo Molnar commit 3be83050d0143b515c5effe9c9d54edc41f1a2fa Author: Mike Travis Date: Sun Jan 4 05:18:01 2009 -0800 cpumask: update local_cpus_show to use new cpumask API Impact: use new cpumask API to reduce stack usage Replace the local cpumask_t variable with a pointer to the const cpumask that needs to be printed. Signed-off-by: Mike Travis Signed-off-by: Ingo Molnar commit d3b66bf2e18777e8389742a38efbd06becfa4775 Author: Mike Travis Date: Sun Jan 4 05:18:00 2009 -0800 ia64: cpumask fix for is_affinity_mask_valid() Impact: cleanup The function prototype should use 'struct cpumask *' to declare cpumask arguments (instead of cpumask_var_t). Note: arch/ia64/kernel/irq.c still had the following "old cpumask_t" usages: 105: cpumask_t mask = CPU_MASK_NONE; 107: cpu_set(cpu_logical_id(hwid), mask); 110: irq_desc[irq].affinity = mask; ... replaced with a simple "cpumask_of(cpu_logical_id(hwid))". 161: new_cpu = any_online_cpu(cpu_online_map); 194: time_keeper_id = first_cpu(cpu_online_map); ... replaced with cpu_online_mask refs. Signed-off-by: Mike Travis Signed-off-by: Ingo Molnar commit 3f874b6643e189d3d07618928ceed0013d71593e Author: Mark Brown Date: Sun Jan 4 15:31:49 2009 +0100 mfd: Fix section mismatch in da903x The subdevice removal functions are marked __devexit but are referenced from the error handling path when probing so are needed even when __devexit functions are removed. Signed-off-by: Mark Brown Acked-by: Eric Miao Signed-off-by: Samuel Ortiz commit 8916edef5888c5d8fe283714416a9ca95b4c3431 Author: KOSAKI Motohiro Date: Sun Jan 4 05:40:37 2009 +0900 getrusage: RUSAGE_THREAD should return ru_utime and ru_stime Impact: task stats regression fix Original getrusage(RUSAGE_THREAD) implementation can return ru_utime and ru_stime. But commit "f06febc: timers: fix itimer/many thread hang" broke it. this patch restores it. Signed-off-by: KOSAKI Motohiro Acked-by: Roland McGrath Signed-off-by: Ingo Molnar commit 5866e1b49dd2cdc9024e2269e7b1201a57bf9e19 Author: Jaswinder Singh Rajput Date: Sun Jan 4 16:29:32 2009 +0530 x86: ioport.c fix style problems Impact: cleanup Fix: ERROR: "foo * bar" should be "foo *bar" total: 2 errors, 0 warnings Signed-off-by: Jaswinder Singh Rajput Signed-off-by: Ingo Molnar commit fe331184a33bf0458a04e8fb3d5c006e6520a871 Author: Jaswinder Singh Rajput Date: Sun Jan 4 16:28:22 2009 +0530 x86: time_64.c fix style problems Impact: cleanup Fix: WARNING: Use #include instead of total: 0 errors, 1 warnings Signed-off-by: Jaswinder Singh Rajput Signed-off-by: Ingo Molnar commit 69036c8cc29465f866f352199534be603acc79dd Author: Jaswinder Singh Rajput Date: Sun Jan 4 16:26:52 2009 +0530 x86: time_32.c fix style problems Impact: cleanup Fix: ERROR: space prohibited after that open parenthesis '(' ERROR: space prohibited before that close parenthesis ')' total: 4 errors, 0 warnings Signed-off-by: Jaswinder Singh Rajput Signed-off-by: Ingo Molnar commit 5f66b2a0d919e84ee921dc21c9dbfddd1215c0e9 Author: Jaswinder Singh Rajput Date: Sun Jan 4 16:25:19 2009 +0530 x86: irq_64.c fix style problems Impact: cleanup, fix style problems, more readable Fix: WARNING: Use #include instead of WARNING: Use #include instead of ERROR: code indent should use tabs where possible total: 9 errors, 2 warnings Signed-off-by: Jaswinder Singh Rajput Signed-off-by: Ingo Molnar commit 6a02e71099a87d13f2aa49cb491b5bfb5e662fae Author: Jaswinder Singh Rajput Date: Sun Jan 4 16:22:17 2009 +0530 x86: irq.c fix style problems Impact: cleanup Fix: WARNING: Use #include instead of total: 0 errors, 1 warnings Signed-off-by: Jaswinder Singh Rajput Signed-off-by: Ingo Molnar commit 60d53c305805fcb612d3982dfef5c9e678e27f42 Author: Jaswinder Singh Rajput Date: Sun Jan 4 16:20:40 2009 +0530 x86: traps.c fix style problems Impact: cleanup Fix: WARNING: Use #include instead of WARNING: Use #include instead of WARNING: Use #include instead of total: 0 errors, 3 warnings Signed-off-by: Jaswinder Singh Rajput Signed-off-by: Ingo Molnar commit befa9e780d49f23b051a1ad96881274ceb275ae5 Author: Jaswinder Singh Rajput Date: Sun Jan 4 16:18:56 2009 +0530 x86: process_32.c fix style problems Impact: cleanup Fix: WARNING: Use #include instead of WARNING: Use #include instead of WARNING: Use #include instead of WARNING: Use #include instead of ERROR: "foo * bar" should be "foo *bar" ERROR: trailing whitespace ERROR: spaces required around that ':' (ctx:WxO) ERROR: spaces required around that ':' (ctx:OxW) total: 7 errors, 4 warnings Signed-off-by: Jaswinder Singh Rajput Signed-off-by: Ingo Molnar commit e423e33ec100a4a21943f6535e9971bb3aacfe38 Author: Jaswinder Singh Rajput Date: Sun Jan 4 16:16:25 2009 +0530 x86: apic.c fix style problems Impact: cleanup Fix: WARNING: Use #include instead of WARNING: Use #include instead of WARNING: Use #include instead of WARNING: line over 80 characters ERROR: else should follow close brace '}' total: 2 errors, 4 warnings Signed-off-by: Jaswinder Singh Rajput Signed-off-by: Ingo Molnar commit b0e239ffad5aff50823c91c10cf6b72a1a651c2f Author: Jaswinder Singh Rajput Date: Sat Jan 3 15:52:54 2009 +0530 x86: rename mpc_config_oemtable to mpc_oemtable Impact: cleanup, solve 80 columns wrap problems mpc_config_oemtable should be renamed to mpc_oemtable. The reason: the 'c' in MPC already means 'config' - no need to repeat that in the type name. Signed-off-by: Jaswinder Singh Rajput Signed-off-by: Ingo Molnar commit 8fb2952b8a8b8b3f982297f0fca288ce04f419a8 Author: Jaswinder Singh Rajput Date: Sat Jan 3 15:51:54 2009 +0530 x86: rename mpc_config_lintsrc to mpc_lintsrc Impact: cleanup, solve 80 columns wrap problems mpc_config_lintsrc should be renamed to mpc_lintsrc. The reason: the 'c' in MPC already means 'config' - no need to repeat that in the type name. Signed-off-by: Jaswinder Singh Rajput Signed-off-by: Ingo Molnar commit 540d4e72e1ec6f0d07c252abc97616173aa0382b Author: Jaswinder Singh Rajput Date: Sat Jan 3 15:50:52 2009 +0530 x86: rename mpc_config_intsrc to mpc_intsrc Impact: cleanup, solve 80 columns wrap problems mpc_config_intsrc should be renamed to mpc_intsrc. The reason: the 'c' in MPC already means 'config' - no need to repeat that in the type name. Signed-off-by: Jaswinder Singh Rajput Signed-off-by: Ingo Molnar commit 2b85b5fb47c95cd4cbd15f0c0ef0242d8f36e2e0 Author: Jaswinder Singh Rajput Date: Sat Jan 3 15:49:57 2009 +0530 x86: rename mpc_config_ioapic to mpc_ioapic Impact: cleanup, solve 80 columns wrap problems mpc_config_ioapic should be renamed to mpc_ioapic. The reason: the 'c' in MPC already means 'config' - no need to repeat that in the type name. Signed-off-by: Jaswinder Singh Rajput Signed-off-by: Ingo Molnar commit f4f21b716bb997dcafca622d9e232f855a64c7b6 Author: Jaswinder Singh Rajput Date: Sat Jan 3 15:48:52 2009 +0530 x86: rename mpc_config_processor to mpc_cpu Impact: cleanup, solve 80 columns wrap problems mpc_config_processor should be renamed to mpc_cpu. The reason: the 'c' in MPC already means 'config' - no need to repeat that in the type name. Plus 'processor' is a lot longer than 'cpu' - so we try to use 'cpu' in all type names, as much as possible. Signed-off-by: Jaswinder Singh Rajput Signed-off-by: Ingo Molnar commit 00fb8606e5621a79ca2fe788e461fe8a59eb1450 Author: Jaswinder Singh Rajput Date: Sat Jan 3 15:47:32 2009 +0530 x86: rename mpc_config_bus to mpc_bus Impact: cleanup, solve 80 columns wrap problems mpc_config_bus should be renamed to mpc_bus. The reason: the 'c' in MPC already means 'config' - no need to repeat that in the type name. Signed-off-by: Jaswinder Singh Rajput Signed-off-by: Ingo Molnar commit f29521e4ee394ca241df2ba546e9d671394927a2 Author: Jaswinder Singh Rajput Date: Sat Jan 3 15:46:57 2009 +0530 x86: rename mp_config_table to mpc_table Impact: cleanup, solve 80 columns wrap problems mp_config_table should be renamed to mpc_table. The reason: the 'c' in MPC already means 'config' - no need to repeat that in the type name. Signed-off-by: Jaswinder Singh Rajput Signed-off-by: Ingo Molnar commit 52942b6b16c6ebb25f4dd4df0208d840ba0cbc5c Author: Jesper Juhl Date: Sat Jan 3 00:16:03 2009 +0100 swiotlb: Don't include linux/swiotlb.h twice in lib/swiotlb.c There's no point in including the linux/swiotlb.h header twice in lib/swiotlb.c - this patch gets rid of the unneeded include. Signed-off-by: Jesper Juhl Signed-off-by: Ingo Molnar commit 88e75cc347f66bc20e3c2b920431fc07253d69be Author: David Brownell Date: Mon Dec 22 12:18:02 2008 +0100 mfd: move drivers/i2c/chips/menelaus.c to drivers/mfd ove the menelaus driver from drivers/i2c/chips to drivers/mfd since it's more of a multi-function device than anything else, and since Jean is trying to vanish drivers/i2c/chips ASAP. One way to think of these chips are as the PMIC family most used with OMAP2 generation chips. Signed-off-by: David Brownell Signed-off-by: Samuel Ortiz commit 87c13493e6a59c0da55c2824f0205f9ef941b760 Author: David Brownell Date: Mon Dec 22 12:16:27 2008 +0100 mfd: move drivers/i2c/chips/tps65010.c to drivers/mfd Move the tps65010 driver from drivers/i2c/chips to drivers/mfd since it's more of a multi-function device than anything else, and since Jean is trying to vanish drivers/i2c/chips ASAP. One way to think of these chips are as the PMIC family most used with OMAP1 generation chips. Signed-off-by: David Brownell Signed-off-by: Samuel Ortiz commit 0931a4c6dbfab03f2bfd22a9170130f7b155d53a Author: David Brownell Date: Mon Dec 22 12:05:27 2008 +0100 mfd: dm355evm msp430 driver Basic MFD framework for the MSP430 microcontroller firmware used on the dm355evm board: - Provides an interface for other drivers: register read/write utilities, and register declarations. - Directly exports: * Many signals through the GPIO framework + LEDs + SW6 through gpio sysfs + NTSC/nPAL jumper through gpio sysfs + ... more could be added later, e.g. MMC signals * Child devices: + LEDs, via leds-gpio child (and default triggers) + RTC, via rtc-dm355evm child device + Buttons and IR control, via dm355evm_keys - Supports power-off system call. Use the reset button to power the board back up; the power supply LED will be on, but the MSP430 waits to re-activate the regulators. - On probe() this: * Announces firmware revision * Turns off the banked LEDs * Exports the resources noted above * Hooks the power-off support * Muxes tvp5146 -or- imager for video input Unless the new tvp514x driver (tracked for mainline) is configured, this assumes that some custom imager driver handles video-in. This completely ignores the registers reporting the output voltages on the various power supplies. Someone could add a hwmon interface if that seems useful. Signed-off-by: David Brownell Signed-off-by: Samuel Ortiz commit 4331bb32339a55fd88fbfb0581ed5132207bf9a2 Author: Mark Brown Date: Thu Dec 18 23:20:14 2008 +0100 mfd: Add missing break from wm3850-core Signed-off-by: Mark Brown Signed-off-by: Samuel Ortiz commit ca23f8c1b0aa15dc69565244fc5dffa67a72dd02 Author: Mark Brown Date: Thu Dec 18 23:12:28 2008 +0100 mfd: Add WM8351 support The WM8351 is a WM8350 variant. As well as register default changes the WM8351 has fewer voltage and current regulators than the WM8350. Signed-off-by: Mark Brown Signed-off-by: Samuel Ortiz commit 645524a9c6e1e42dc4fe03217befb20e2fc4d43e Author: Mark Brown Date: Thu Dec 18 23:12:16 2008 +0100 mfd: Support configurable numbers of DCDCs and ISINKs on WM8350 Some WM8350 variants have fewer DCDCs and ISINKs. Identify these at probe and refuse to use the absent DCDCs when running on these chips. Signed-off-by: Mark Brown Signed-off-by: Samuel Ortiz commit 53a0d99b1ef14f56baec06eec1e3dad031672b3a Author: Mark Brown Date: Thu Dec 18 23:12:08 2008 +0100 mfd: Handle missing WM8350 platform data Signed-off-by: Mark Brown Signed-off-by: Samuel Ortiz commit 96920630624868add3f63f596523e70dbb64549a Author: Mark Brown Date: Thu Dec 18 23:09:50 2008 +0100 mfd: Add WM8352 support The WM8352 is a variant of the WM8350. Aside from the register defaults there are no software visible differences to the WM8350. Signed-off-by: Mark Brown Signed-off-by: Samuel Ortiz commit 94964f96a6b7018d68b7386cd8c0b8505d3cf69f Author: Samuel Ortiz Date: Thu Dec 18 11:38:02 2008 +0100 mfd: Use irq_to_desc in twl4030 code The global irq_desc array is soon going to be accessible only with !CONFIG_SPARSE_IRQ. We should start using the generic irq_to_desc() routines instead. Signed-off-by: Samuel Ortiz commit 342d765e011f9cbe4292119a9164f76ccf0b922a Author: Mike Rapoport Date: Tue Dec 30 22:44:53 2008 +0100 power_supply: Add Dialog DA9030 battery charger driver Driver for battery charger integrated into Dialog Semiconductor DA9030 PMIC Signed-off-by: Mike Rapoport Acked-by: Anton Vorontsov Signed-off-by: Samuel Ortiz commit 856f6fd119411d5701d5db96e1aae1dd69923887 Author: Mike Rapoport Date: Thu Dec 18 10:54:27 2008 +0100 mfd: Dialog DA9030 battery charger MFD driver This patch amends DA903x MFD driver with definitions and methods needed for battery charger driver. Signed-off-by: Mike Rapoport Signed-off-by: Samuel Ortiz commit b8380c1a661f1f853418ff2eb798f27a11cade57 Author: Mark Brown Date: Thu Dec 18 10:54:22 2008 +0100 mfd: Register WM8400 codec device Register a child device for the codec in the WM8400. Also switch the unregistration of the MFD devices to use the MFD core since the current code is hand rolling the same thing. Signed-off-by: Mark Brown Signed-off-by: Samuel Ortiz commit 44faac3155247d9cb9aec5a53832014e1f807c78 Author: Mark Brown Date: Thu Dec 18 10:54:12 2008 +0100 mfd: Pass driver_data onto child devices The MFD cell structure provides a driver_data field but doesn't pass it on to the child devices when instantiating them - do that. Signed-off-by: Mark Brown Signed-off-by: Samuel Ortiz commit 6354ab5c63bc986bf539026a1b289cc142f6e87c Author: Samuel Ortiz Date: Sun Dec 7 20:50:25 2008 +0100 mfd: Fix twl4030-core.c build error This is a fix for: twl4030-core.c:(.text+0x16a797): undefined reference to `clk_get_rate' twl4030-core.c:(.text+0x16a797): undefined reference to `clk_put' on x86 and x86_64, as the clock API is not defined on those platforms. Signed-off-by: Samuel Ortiz commit b73eac7871d002835be17d4602cced2c15c0db4b Author: David Brownell Date: Sun Dec 7 19:10:58 2008 +0100 mfd: twl4030 regulator bug fixes This contains two bugfixes to the initial twl4030 regulator support patch related to USB: (a) always overwrite the old list of consumers ... else the regulator handles all use the same "usb1v5" name; (b) don't set up the "usbcp" regulator, which turns out to be managed through separate controls, usually ULPI directly from the OTG controller. Signed-off-by: David Brownell Signed-off-by: Samuel Ortiz commit dad759ff8ba79927766e3f0159bfc5fb6de0f982 Author: David Brownell Date: Mon Dec 1 00:43:58 2008 +0100 mfd: twl4030: create some regulator devices Initial code to create twl4030 voltage regulator devices, using the new regulator framework. Note that this now starts to care what name is used to declare the TWL chip: - TWL4030 is the "old" chip; newer ones have a bigger variety of VAUX2 voltages. - TWL5030 is the core "new" chip; TPS65950 is its catalog version. - The TPS65930 and TPS65920 are cost-reduced catalog versions of TWL5030 parts ... fewer regulators, no battery charger, etc. Board-specific regulator configuration should be provided, listing which regulators are used and their constraints (e.g. 1.8V only). Code that could ("should"?) leverage the regulator stuff includes TWL4030 USB transceiver support and MMC glue, LCD support for the 3430SDP and Labrador boards, and S-Video output. Signed-off-by: David Brownell Signed-off-by: Tony Lindgren Signed-off-by: Samuel Ortiz commit 67460a7c26271fd7a32e5d51b2c806a84ce78a62 Author: David Brownell Date: Mon Dec 1 00:35:33 2008 +0100 mfd: twl4030: cleanup symbols and OMAP dependency Finish removing dependency of TWL driver stack on platform-specific IRQ definitions ... and remove the build dependency on OMAP. This lets the TWL4030 code be included in test builds for most platforms, and will make it easier for non-OMAP folk to update most of this code for new APIs etc. Signed-off-by: David Brownell Signed-off-by: Tony Lindgren Signed-off-by: Samuel Ortiz commit 5725d66b9d18e630bb63e3b76bedf25fd1027265 Author: David Brownell Date: Mon Dec 1 00:31:04 2008 +0100 mfd: twl4030: simplified child creation code Minor cleanup to twl4030-core: define a helper function to populate a single child node, and use it to replace six inconsistent versions of the same logic. Both object and source code shrink. As part of this, some devices now have more IRQ resources: battery charger, keypad, ADC, and USB transceiver. That helps to remove some irq #defines that block the children's drivers code from compiling on non-OMAP platforms. Signed-off-by: David Brownell Signed-off-by: Tony Lindgren Signed-off-by: Samuel Ortiz commit 4008e879e1325c29362aa2c3fa4b527273ae15a8 Author: Mark Brown Date: Sun Nov 30 22:45:14 2008 +0100 power_supply: Add battery health reporting for WM8350 Implement support for reporting battery health in the WM8350 battery interface. Since we are now able to report this via the classs remove the diagnostics from the interrupt handler. Signed-off-by: Mark Brown Acked-by: Anton Vorontsov Signed-off-by: Samuel Ortiz commit 7e386e6e0e4f34f0545e8923e22fe4dd61ef9d48 Author: Mark Brown Date: Sun Nov 30 22:43:21 2008 +0100 power_supply: Add cold to the POWER_SUPPLY_HEALTH report values Some systems are able to report problems with batteries being under temperature. Signed-off-by: Mark Brown Acked-by: Anton Vorontsov Signed-off-by: Samuel Ortiz commit b797a5551979da22b0a35632198ffc8a330d9537 Author: Mark Brown Date: Mon Nov 24 20:22:58 2008 +0100 mfd: Refactor WM8350 chip identification Since the WM8350 driver was originally written the semantics for the identification registers of the chip have been clarified, allowing us to do an exact match on all the fields. This avoids mistakenly running on unsupported hardware. Also change to using the datasheet names more consistently for legibility and fix a printk() that should be dev_err(). Signed-off-by: Mark Brown Signed-off-by: Samuel Ortiz commit d756f4a4446227ca9626087939a6769ca55ab036 Author: Mark Brown Date: Mon Nov 24 20:20:30 2008 +0100 mfd: Switch WM8350 revision detection to a feature based model Rather than check for chip revisions in the WM8350 drivers have the core code set flags for relevant differences. Signed-off-by: Mark Brown Signed-off-by: Samuel Ortiz commit 14431aa0c5a443d13d24e6f865a8838f97dab973 Author: Mark Brown Date: Sun Nov 16 20:16:47 2008 +0100 power_supply: Add support for WM8350 PMU This patch adds support for the PMU provided by the WM8350 which implements battery, line and USB supplies including a battery charger. The hardware functions largely autonomously, with minimal software control required to initiate fast charging. Support for configuration of the USB supply is not yet implemented. This means that the hardware will remain in the mode configured at startup, by default limiting the current drawn from USB to 100mA. This driver was originally written by Liam Girdwood with subsequent updates for submission by Mark Brown. Signed-off-by: Mark Brown Acked-by: Anton Vorontsov Signed-off-by: Samuel Ortiz commit 3fba19ec1ae5b460c73a7f32efed8d3b3300b246 Author: David Brownell Date: Sat Nov 8 01:13:16 2008 +0100 mfd: allow reading entire register banks on twl4030 Minor change to the TWL4030 utility interface: support reads of all 256 bytes in each register bank (vs just 255). This can help when debugging, but is otherwise a NOP. Signed-off-by: David Brownell Signed-off-by: Samuel Ortiz commit 67488526349d043372d141c054f4dc6313780b3c Author: Mark Brown Date: Sat Nov 8 01:10:21 2008 +0100 mfd: Add AUXADC support for WM8350 The auxiliary ADC in the WM8350 is shared between several subdevices so access to it needs to be arbitrated by the core driver. Signed-off-by: Mark Brown Signed-off-by: Samuel Ortiz commit 0c8a601678960fbcc1c1185a283d6d107575810b Author: Mark Brown Date: Sat Nov 8 01:10:16 2008 +0100 mfd: Add WM8350 revision H support No other software changes are required. Signed-off-by: Mark Brown Signed-off-by: Samuel Ortiz commit 858e674466427b1236eb5ef9568999a7df286b1e Author: Mark Brown Date: Sat Nov 8 00:57:33 2008 +0100 mfd: Add some documentation for WM8350 register lock Hopefully this will make the purpose of these functions a bit clearer, it's not immediately obvious that the lock is a hardware feature. Signed-off-by: Mark Brown Signed-off-by: Samuel Ortiz commit 2c5212279a89224512e421fa9f8bd0fabbab77d8 Author: Mark Brown Date: Sat Nov 8 00:52:54 2008 +0100 mfd: Remove i.MX31ism from WM8350 i2c driver Signed-off-by: Mark Brown Signed-off-by: Samuel Ortiz commit 6cd99b7828445dc18e9004c81067c36e8d9caa01 Author: Mark Brown Date: Fri Oct 24 19:25:27 2008 +0200 mfd: Don't mark WM8350 security register as volatile There's no need to read this back from the chip each time. Signed-off-by: Mark Brown Signed-off-by: Samuel Ortiz commit 913ae5a24efd27deef4fc154953871b62d0d99cd Author: Julia Lawall Date: Sat Jan 3 17:54:53 2009 +0100 ALSA: sound/usb: Use negated usb_endpoint_xfer_control, etc This patch extends 42a6e66f1e40a930d093c33ba0bb9d8d8e4555ed by using usb_endpoint_xfer_control, usb_endpoint_xfer_isoc, usb_endpoint_xfer_bulk, and usb_endpoint_xfer_int in the negated case as well. This patch also rewrites some calls to usb_endpoint_dir_in as negated calls to !usb_endpoint_dir_out, and vice versa, to better correspond to the intent of the original code. The semantic patch that makes this change is as follows: (http://www.emn.fr/x-info/coccinelle/) // @@ struct usb_endpoint_descriptor *epd; @@ - (usb_endpoint_type(epd) != \(USB_ENDPOINT_XFER_CONTROL\|0\)) + !usb_endpoint_xfer_control(epd) @@ struct usb_endpoint_descriptor *epd; @@ - (usb_endpoint_type(epd) != \(USB_ENDPOINT_XFER_ISOC\|1\)) + !usb_endpoint_xfer_isoc(epd) @@ struct usb_endpoint_descriptor *epd; @@ - (usb_endpoint_type(epd) != \(USB_ENDPOINT_XFER_BULK\|2\)) + !usb_endpoint_xfer_bulk(epd) @@ struct usb_endpoint_descriptor *epd; @@ - (usb_endpoint_type(epd) != \(USB_ENDPOINT_XFER_INT\|3\)) + !usb_endpoint_xfer_int(epd) // Signed-off-by: Julia Lawall Signed-off-by: Takashi Iwai commit c66b9906f863696159e05890bb7123269bb9a9de Author: Ingo Molnar Date: Sun Jan 4 10:55:02 2009 +0100 intel-iommu: fix build error with INTR_REMAP=y and DMAR=n dmar.o can be built in the CONFIG_INTR_REMAP=y case but iommu_calculate_agaw() is only available if VT-d is built as well. So create an inline version of iommu_calculate_agaw() for the !CONFIG_DMAR case. The iommu->agaw value wont be used in this case, but the code is cleaner (has less #ifdefs) if we have it around unconditionally. Signed-off-by: Ingo Molnar commit 4010b0192ddf6ec7ec1b9feb9b0953692aeb7329 Merge: 79ff56e 7d3b56b Author: Ingo Molnar Date: Sun Jan 4 10:59:36 2009 +0100 Merge branch 'linus' into core/urgent commit 7aed55d1085f71241284a30af0300feea48c36db Author: Jiri Slaby Date: Sun Jan 4 00:27:09 2009 +0100 x86: fix RIP printout in early_idt_handler Impact: fix debug/crash printout Since errorcode is popped out, RIP is on the top of the stack. Use real RIP value instead of wrong CS. Signed-off-by: Jiri Slaby Cc: Signed-off-by: Ingo Molnar commit 4a9bf99b205448ec1f0cbdee1776a29f9c503ce4 Author: Theodore Ts'o Date: Sat Jan 3 22:56:44 2009 -0500 jbd2: Add pid and journal device name to the "kjournald2 starting" message Signed-off-by: "Theodore Ts'o" commit ba80b1019aa722b24506db1ee755e0bb2f513022 Author: Theodore Ts'o Date: Sat Jan 3 20:03:21 2009 -0500 ext4: Add markers for better debuggability Signed-off-by: "Theodore Ts'o" commit c31910672376dfb8d020e32afa7249763bcd924a Author: Theodore Ts'o Date: Tue Jan 6 11:14:25 2009 -0500 ext4: Remove code to create the journal inode This code has been obsolete in quite some time, since the supported method for adding a journal inode is to use tune2fs (or to creating new filesystem with a journal via mke2fs or mkfs.ext4). Signed-off-by: "Theodore Ts'o" commit c39a7f84d7845aa95d1c7c168f38215aedcc13c2 Author: Toshiyuki Okajima Date: Mon Jan 5 22:38:48 2009 -0500 ext4: provide function to release metadata pages under memory pressure Pages in the page cache belonging to ext4 data files are released via the ext4_releasepage() function specified in the ext4 inode's address_space_ops. However, metadata blocks (such as indirect blocks, directory blocks, etc) are managed via the block device address_space_ops, and they can not be released by try_to_free_buffers() if they have a journal head attached to them. To address this, we supply a release_metadata function which calls jbd2_journal_try_to_free_buffers() function to free the metadata, and which is called by the block device's blkdev_releasepage() function. Signed-off-by: Toshiyuki Okajima Signed-off-by: "Theodore Ts'o" Cc: linux-fsdevel@vger.kernel.org commit 6b082b531228c43d454c082fc0f969da1695b060 Author: Toshiyuki Okajima Date: Mon Jan 5 22:38:14 2009 -0500 ext3: provide function to release metadata pages under memory pressure Pages in the page cache belonging to ext3 data files are released via the ext3_releasepage() function specified in the ext3 inode's address_space_ops. However, metadata blocks (such as indirect blocks, directory blocks, etc) are managed via the block device address_space_ops, and they can not be released by try_to_free_buffers() if they have a journal head attached to them. To address this, we supply a try_to_free_pages() function which calls journal_try_to_free_buffers() function to free the metadata, and which is called by the block device's blkdev_releasepage() function. Signed-off-by: Toshiyuki Okajima Signed-off-by: "Theodore Ts'o" Cc: linux-fsdevel@vger.kernel.org commit ed42350e02bfcb333024949e9653d06916135cc5 Merge: 1db489b 4dfdc46 Author: Jiri Kosina Date: Sun Jan 4 01:04:09 2009 +0100 Merge branch 'upstream-fixes' into for-next Conflicts: drivers/hid/hid-ids.h commit 4dfdc46468a142216b284eea66040f49df3f7191 Author: Jiri Kosina Date: Tue Dec 30 00:49:59 2008 +0100 HID: fix error condition propagation in hid-sony driver sony_set_operational() only propagates return value from usb_control_msg(), which returns negative on error and number of transferred bytes otherwise. Reported-by: Marcin Tolysz Signed-off-by: Jiri Kosina commit b8a832b1c0a70531b4bd69a67aa0bf72f6f2dc34 Author: Oliver Neukum Date: Mon Dec 15 13:12:08 2008 +0100 HID: fix reference count leak hidraw The hidraw subsystem has a bug that prevents the close syscall from ever reaching the low level driver, leading to a resource leak. Fix by replacing postdecrement with predecrement. Signed-off-by: Oliver Neukum Signed-off-by: Jiri Kosina commit 25e61613cf3ca7f6d5f89a707b20c9eed6b74455 Author: Matt Helsley Date: Sat Dec 13 14:28:54 2008 +0100 HID: add proper support for pensketch 12x9 tablet The Genius PenSketch 12x9 tablet has a puck (labeled a "Tablet Mouse") in addition to a pen. Without registering a quirk the tablet appears to be a single input device that reports the wrong axis information in /proc/bus/input/devices, and sends incorrect events (e.g. ABS_Z instead of ABS_Y). This information confuses the X evdev driver and makes the device impossible to use. The quirk fixes events and splits the device into multiple input event devices so that at least the puck is useful. Signed-off-by: Matt Helsley Signed-off-by: Jiri Kosina commit 5f6108cf9be4a77d6bee96750aa4fe18b6b97dee Author: Alexey Klimov Date: Mon Dec 8 12:40:14 2008 +0100 HID: don't allow DealExtreme usb-radio be handled by usb hid driver This device is already handled by radio-si470x driver, and we therefore want usbhid to ignore it. Patch places usb ids of that device in ignore section of hid-core.c Signed-off-by: Alexey Klimov Signed-off-by: Andrew Morton Signed-off-by: Jiri Kosina commit 1db489b2953799d41098a891c85dea02e3c4721a Author: Jiri Kosina Date: Sun Jan 4 00:39:08 2009 +0100 HID: fix default Kconfig setting for TopSpeed driver Make default setting for TopSpeed driver compliant with the defaults of the other specialized HID drivers. Signed-off-by: Jiri Kosina commit f14f526d02b14fd0b8c1ac4ec413e4577ad5f62e Author: Lev Babiev Date: Sun Jan 4 00:36:56 2009 +0100 HID: driver for TopSeed Cyberlink quirky remote I recently picked up a Cyberlink branded remote control produced by TopSeed Tech Corp. Alas, it appears that this device is using non-standard mappings for some of it's keys (Usage page 0xffbc). Signed-off-by: Lev Babiev Signed-off-by: Jiri Kosina commit ac09952babed8e2ac6999127b7f95d7a2bbfd7af Author: Parag Warudkar Date: Mon Dec 22 22:50:52 2008 +0100 HID: make boot protocol drivers depend on EMBEDDED The usbmouse and usbkbd modules are not supposed to be used with regular USB mice and keyboards. Make them depend on EMBEDDED to prevent them from being built and loaded on non-EMBEDDED configs. Signed-off-by: Parag Warudkar Signed-off-by: Jiri Kosina commit 725cf0f47dbb02e0482f081828cff73f55479b79 Author: Hannes Eder Date: Tue Dec 16 14:20:23 2008 +0100 HID: avoid sparse warning in HID_COMPAT_LOAD_DRIVER Impact: include a prototype for the exported function in the macro Fix about 20 of this warnings: drivers/hid/hid-a4tech.c:162:1: warning: symbol 'hid_compat_a4tech' was not declared. Should it be static? Signed-off-by: Hannes Eder Signed-off-by: Jiri Kosina commit 079034073faf974973baa0256b029451f6e768ad Author: Oliver Neukum Date: Tue Dec 16 10:55:15 2008 +0100 HID: hiddev cleanup -- handle all error conditions properly This is a cleanup of hiddev and fixes the following issues: - thread safety by locking in read & ioctl, introducing a per device mutex - race between ioctl and disconnect, introducing a flag and locking in form of a per low level device mutex - race between open and other methods, making sure only successfully opened devices are put on the list, changing order of events - range checking both upper and lower limits of the minor range - make sure further calls to open fail for unplugged devices even if the device still has opened files - error checking for low level open - possible loss of wakeup events, using standard waiting macros - race in initialisation by moving registration after full initialisation Signed-off-by: Oliver Neukum Signed-off-by: Jiri Kosina commit 42859e0bd21daba9974757fcfe4a4dde265fe28d Author: Lukasz Lubojanski Date: Thu Dec 11 22:07:59 2008 +0100 HID: force feedback driver for GreenAsia 0x12 PID I have implemented Force Feedback driver for another "GreeAsia" based device (0e8f:0012 "GreenAsia Inc. USB Joystick"). The functionality was tested with MANTA Warior MM816 and SpeedLink Strike2 SL-6635 and fftest software - everything seems to work right. Signed-off-by: Lukasz Lubojanski Signed-off-by: Jiri Kosina commit d04b431e3d769fbbf26c4f4072002375c8cc4ed9 Author: David Brownell Date: Thu Dec 11 14:54:07 2008 +0100 HID: switch specialized drivers from "default y" to !EMBEDDED Fix the obnoxious "default y" for all the "special" HID code, which forces folk with EMBEDDED defined to manually override that inappropriate default for almost 20 choices. The general policy is against "default y"; it should apply here too. Signed-off-by: David Brownell Signed-off-by: Jiri Kosina commit aae6c286dad33c7f2c6992b9e310a371f2ae377e Author: Jiri Kosina Date: Thu Dec 4 16:16:46 2008 +0100 HID: set proper dev.parent in hidraw We need to properly set parent of the hidraw device (which is the corresponding physical device itself) in order to hidraw devices not end up under virtual device tree. Reported-by: Kay Sievers Signed-off-by: Jiri Kosina commit 3a6f82f7a22cf19687f556997c6978b31c109360 Author: Jiri Slaby Date: Mon Nov 24 16:20:09 2008 +0100 HID: add dynids facility Allow adding new devices to the hid drivers on the fly without a need of kernel recompilation. Now, one can test a driver e.g. by: echo 0003:045E:00F0.0003 > ../generic-usb/unbind echo 0003 045E 00F0 > new_id from some driver subdir. Signed-off-by: Jiri Slaby Signed-off-by: Jiri Kosina commit 898089d08f983ef0fdb176267620543a7929826a Author: Jiri Slaby Date: Mon Nov 24 16:20:06 2008 +0100 HID: use GFP_KERNEL in hid_alloc_buffers We might sleep, so no problem to use GFP_KERNEL. While at it bring the function to coding style. Signed-off-by: Jiri Slaby Signed-off-by: Jiri Kosina commit 581a2739607b5fdfb6b22d6083fc7f83c441077f Author: Jiri Slaby Date: Mon Nov 24 16:20:08 2008 +0100 HID: usbhid, use usb_endpoint_xfer_int Use usb_endpoint_xfer_int() instead of direct use of constants. Signed-off-by: Jiri Slaby Signed-off-by: Jiri Kosina commit 0ed94b334265b6ee3e3336b4fedacfa9cb2ccaba Author: Jiri Slaby Date: Mon Nov 24 16:20:07 2008 +0100 HID: move usbhid flags to usbhid.h Move usbhid specific flags from global hid.h into local usbhid.h. Signed-off-by: Jiri Slaby Signed-off-by: Jiri Kosina commit 94011f93f2cd7410401e22390cf7a14fe5495a22 Author: Rafi Rubin Date: Wed Nov 19 15:54:46 2008 +0100 HID: add n-trig digitizer support Added quirks for the N-Trig digitizer. Signed-off-by: Rafi Rubin Signed-off-by: Jiri Kosina commit 9188e79ec3fd43a0a605274324aecfb731baa88b Author: Jiri Kosina Date: Wed Nov 12 16:14:08 2008 +0100 HID: add phys and name ioctls to hidraw The hiddev interface provides ioctl() calls which can be used to obtain phys and raw name of the underlying device. Add the corresponding support also into hidraw. Signed-off-by: Jiri Kosina commit 6bbe586fd4d94439f3960e200056ff057f7db5c6 Author: Kay Sievers Date: Fri Oct 31 00:12:32 2008 +0100 HID: struct device - replace bus_id with dev_name(), dev_set_name() This patch is part of a larger patch series which will remove the "char bus_id[20]" name string from struct device. The device name is managed in the kobject anyway, and without any size limitation, and just needlessly copied into "struct device". To set and read the device name dev_name(dev) and dev_set_name(dev) must be used. If your code uses static kobjects, which it shouldn't do, "const char *init_name" can be used to statically provide the name the registered device should have. At registration time, the init_name field is cleared, to enforce the use of dev_name(dev) to access the device name at a later time. We need to get rid of all occurrences of bus_id in the entire tree to be able to enable the new interface. Please apply this patch, and possibly convert any remaining remaining occurrences of bus_id. We want to submit a patch to -next, which will remove bus_id from "struct device", to find the remaining pieces to convert, and finally switch over to the new api, which will remove the 20 bytes array and does no longer have a size limitation. CC: Jiri Kosina Acked-by: Greg Kroah-Hartman Signed-off-by: Kay Sievers Signed-off-by: Jiri Kosina commit 08ef08ee8c5a8d538ca9a3c433d4213c128af863 Author: Alan Stern Date: Thu Oct 30 23:58:51 2008 +0100 HID: automatically call usbhid_set_leds in usbhid driver This patch (as1146c) makes usbhid automatically call usbhid_set_leds() for any device that supports the keyboard boot protocol. In theory this should be perfectly safe. BIOSes send the LED output report as part of their normal device initialization, so any keyboard device supporting the boot protocol has to be able to handle it. As a side effect, the hid-dell and hid-bright drivers are no longer needed, and the Logitech keyboard driver can be removed from hid-lg. CC: Mauro Carvalho Chehab Signed-off-by: Alan Stern Signed-off-by: Jiri Kosina commit efc7ce18d9037aa947c1aad5eb712ecc47520126 Author: Jiri Kosina Date: Fri Oct 17 15:01:15 2008 +0200 HID: non-input reports can also be numbered When computing the maximal buffer size needed, we must take into account that not only input reports can be numbered. Pointed out in bugzilla #10467 Signed-off-by: Jiri Kosina commit ac26fca3e14c8882e382daa7e96ab73e0186cf03 Author: Jiri Kosina Date: Thu Nov 20 11:27:02 2008 +0100 HID: ignore mouse interface for unibody macbooks The mouse interface on unibody macbooks is going to be handled by bcm59743 driver in 2.6.29. Reported-by: Henrik Rydberg Signed-off-by: Jiri Kosina commit 7d3b56ba37a95f1f370f50258ed3954c304c524b Merge: 269b012 ab14398 Author: Linus Torvalds Date: Sat Jan 3 12:04:39 2009 -0800 Merge branch 'cpus4096-for-linus-3' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip * 'cpus4096-for-linus-3' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip: (77 commits) x86: setup_per_cpu_areas() cleanup cpumask: fix compile error when CONFIG_NR_CPUS is not defined cpumask: use alloc_cpumask_var_node where appropriate cpumask: convert shared_cpu_map in acpi_processor* structs to cpumask_var_t x86: use cpumask_var_t in acpi/boot.c x86: cleanup some remaining usages of NR_CPUS where s/b nr_cpu_ids sched: put back some stack hog changes that were undone in kernel/sched.c x86: enable cpus display of kernel_max and offlined cpus ia64: cpumask fix for is_affinity_mask_valid() cpumask: convert RCU implementations, fix xtensa: define __fls mn10300: define __fls m32r: define __fls h8300: define __fls frv: define __fls cris: define __fls cpumask: CONFIG_DISABLE_OBSOLETE_CPUMASK_FUNCTIONS cpumask: zero extra bits in alloc_cpumask_var_node cpumask: replace for_each_cpu_mask_nr with for_each_cpu in kernel/time/ cpumask: convert mm/ ... commit 269b012321f2f1f8e4648c43a93bf432b42c6668 Merge: f60a0a7 065a6d6 Author: Linus Torvalds Date: Sat Jan 3 12:03:52 2009 -0800 Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/joro/linux-2.6-iommu * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/joro/linux-2.6-iommu: (89 commits) AMD IOMMU: remove now unnecessary #ifdefs AMD IOMMU: prealloc_protection_domains should be static kvm/iommu: fix compile warning AMD IOMMU: add statistics about total number of map requests AMD IOMMU: add statistics about allocated io memory AMD IOMMU: add stats counter for domain tlb flushes AMD IOMMU: add stats counter for single iommu domain tlb flushes AMD IOMMU: add stats counter for cross-page request AMD IOMMU: add stats counter for free_coherent requests AMD IOMMU: add stats counter for alloc_coherent requests AMD IOMMU: add stats counter for unmap_sg requests AMD IOMMU: add stats counter for map_sg requests AMD IOMMU: add stats counter for unmap_single requests AMD IOMMU: add stats counter for map_single requests AMD IOMMU: add stats counter for completion wait events AMD IOMMU: add init code for statistic collection AMD IOMMU: add necessary header defines for stats counting AMD IOMMU: add Kconfig entry for statistic collection code AMD IOMMU: use dev_name in iommu_enable function AMD IOMMU: use calc_devid in prealloc_protection_domains ... commit f60a0a79846abed04ad5abddb5dafd14b66e1ab0 Merge: 2f98357 b15dd79 Author: Linus Torvalds Date: Sat Jan 3 12:02:18 2009 -0800 Merge branch 'for_linus' of git://git.kernel.org/pub/scm/linux/kernel/git/mchehab/linux-2.6 * 'for_linus' of git://git.kernel.org/pub/scm/linux/kernel/git/mchehab/linux-2.6: (34 commits) V4L/DVB (10173): Missing v4l2_prio_close in radio_release V4L/DVB (10172): add DVB_DEVICE_TYPE= to uevent V4L/DVB (10171): Use usb_set_intfdata V4L/DVB (10170): tuner-simple: prevent possible OOPS caused by divide by zero error V4L/DVB (10168): sms1xxx: fix inverted gpio for lna control on tiger r2 V4L/DVB (10167): sms1xxx: add support for inverted gpio V4L/DVB (10166): dvb frontend: stop using non-C99 compliant comments V4L/DVB (10165): Add FE_CAN_2G_MODULATION flag to frontends that support DVB-S2 V4L/DVB (10164): Add missing S2 caps flag to S2API V4L/DVB (10163): em28xx: allocate adev together with struct em28xx dev V4L/DVB (10162): tuner-simple: Fix tuner type set message V4L/DVB (10161): saa7134: fix autodetection for AVer TV GO 007 FM Plus V4L/DVB (10160): em28xx: update chip id for em2710 V4L/DVB (10157): Add USB ID for the Sil4701 radio from DealExtreme V4L/DVB (10156): saa7134: Add support for Avermedia AVer TV GO 007 FM Plus V4L/DVB (10155): Add TEA5764 radio driver V4L/DVB (10154): saa7134: fix a merge conflict on Behold H6 board V4L/DVB (10153): Add the Beholder H6 card to DVB-T part of sources. V4L/DVB (10152): Change configuration of the Beholder H6 card V4L/DVB (10151): Fix I2C bridge error in zl10353 ... commit 2f983570010a0dcb26d988da02d7ccfad00c807c Author: Yinghai Lu Date: Sat Jan 3 00:06:34 2009 -0800 sparseirq: move set/get_timer_rand_state back to .c those two functions only used in that C file Signed-off-by: Yinghai Lu Signed-off-by: Linus Torvalds commit e9e67a8b579d9605a3d06f7430dbb40465c97bf1 Merge: ad6b646 418f19e Author: Linus Torvalds Date: Sat Jan 3 12:00:07 2009 -0800 Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/drzeus/mmc * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/drzeus/mmc: mmc: warn about voltage mismatches mmc_spi: Add support for OpenFirmware bindings pxamci: fix dma_unmap_sg length mmc_block: ensure all sectors that do not have errors are read drivers/mmc: Move a dereference below a NULL test sdhci: handle built-in sdhci with modular leds class mmc: balanc pci_iomap with pci_iounmap mmc_block: print better error messages mmc: Add mmc_vddrange_to_ocrmask() helper function ricoh_mmc: Handle newer models of Ricoh controllers mmc: Add 8-bit bus width support sdhci: activate led support also when module mmc: trivial annotation of 'blocks' pci: use pci_ioremap_bar() in drivers/mmc sdricoh_cs: Add support for Bay Controller devices mmc: at91_mci: reorder timer setup and mmc_add_host() call commit ad6b646fe55c40ec193240b974561f0a3775d68d Merge: 61420f5 006948b Author: Linus Torvalds Date: Sat Jan 3 11:59:13 2009 -0800 Merge git://git.kernel.org/pub/scm/linux/kernel/git/wim/linux-2.6-watchdog * git://git.kernel.org/pub/scm/linux/kernel/git/wim/linux-2.6-watchdog: [WATCHDOG] Add support for the WM8350 watchdog [WATCHDOG] Add SMSC SCH311x Watchdog Timer. [WATCHDOG] ib700wdt - add timeout parameter commit 61420f59a589c0668f70cbe725785837c78ece90 Merge: d97106a c742b31 Author: Linus Torvalds Date: Sat Jan 3 11:56:24 2009 -0800 Merge branch 'cputime' of git://git390.osdl.marist.edu/pub/scm/linux-2.6 * 'cputime' of git://git390.osdl.marist.edu/pub/scm/linux-2.6: [PATCH] fast vdso implementation for CLOCK_THREAD_CPUTIME_ID [PATCH] improve idle cputime accounting [PATCH] improve precision of idle time detection. [PATCH] improve precision of process accounting. [PATCH] idle cputime accounting [PATCH] fix scaled & unscaled cputime accounting commit d97106ab53f812910a62d18afb9dbe882819c1ba Author: Linus Torvalds Date: Sat Jan 3 11:46:17 2009 -0800 Make %p print '(null)' for NULL pointers Before, when we only ever printed out the pointer value itself, a NULL pointer would never cause issues and might as well be printed out as just its numeric value. However, with the extended %p formats, especially %pR, we might validly want to print out resources for debugging. And sometimes they don't even exist, and the resource pointer is just NULL. Print it out as such, rather than oopsing. This is a more generic version of a patch done by Trent Piepho (catching all %p cases rather than just %pR, and using "(null)" instead of "[NULL]" to match glibc). Requested-by: Trent Piepho Acked-by: Harvey Harrison Signed-off-by: Linus Torvalds commit 3bfacef412b4bc993a8992217e50f1245f2fd3a6 Author: Al Viro Date: Sat Jan 3 07:16:33 2009 +0000 get rid of special-casing the /sbin/loader on alpha ... just make it a binfmt handler like #! one. Signed-off-by: Al Viro Signed-off-by: Linus Torvalds commit 17580d7f2f632ff8c9786d609508c35c9f56e1f3 Author: Al Viro Date: Sat Jan 3 07:16:23 2009 +0000 sanitize ifdefs in binfmt_aout They are actually alpha vs. i386/arm/m68k i.e. ecoff vs. aout. In the only place where we actually tried to handle arm and i386/m68k in different ways (START_DATA() in coredump handling), the arm variant works for all of them (i386 and m68k have u.start_code set to 0). Signed-off-by: Al Viro Signed-off-by: Linus Torvalds commit fe30af971d896c144ef4708f97cf9d3186303c42 Author: Al Viro Date: Sat Jan 3 07:16:13 2009 +0000 remove the rudiment of a.out for sparc it's been used only in sunos compat Signed-off-by: Al Viro Signed-off-by: Linus Torvalds commit e0b685d39a0404e7f87fb7b7808c3b37a115fe11 Author: Hugh Blemings Date: Sat Jan 3 16:48:44 2009 +1100 Updated contact info for CREDITS file This updates some personal info in the CREDITS file. I'm no longer actively involved in Keyspan driver work so shouldn't really be listed as a Maintainer here. I do however field the occasional question on them and as I'm dropping the misc.nu domain, want to ensure people can find me should they need to. Signed-off-by: Hugh Blemings Signed-off-by: Linus Torvalds commit ab14398abd195af91a744c320a52a1bce814dd1e Author: Cyrill Gorcunov Date: Fri Jan 2 21:51:32 2009 +0300 x86: setup_per_cpu_areas() cleanup Impact: cleanup __alloc_bootmem and __alloc_bootmem_node do panic for us in case of fail so no need for additional checks here. Also lets use pr_*() macros for printing. Signed-off-by: Cyrill Gorcunov Signed-off-by: Ingo Molnar commit 8fd2d2d5aaf086cfa3b2e2e58cab96b7afdc9e51 Author: Mike Travis Date: Wed Dec 31 18:08:48 2008 -0800 cpumask: fix compile error when CONFIG_NR_CPUS is not defined CONFIG_NR_CPUS will be defined for all arch's whether SMP or not, but it may not have made it into all arches yet. Signed-off-by: Mike Travis Signed-off-by: Ingo Molnar commit 80855f7361eb68205e6bc1981928629d9b02d5c9 Author: Mike Travis Date: Wed Dec 31 18:08:47 2008 -0800 cpumask: use alloc_cpumask_var_node where appropriate Impact: Reduce inter-node memory traffic. Reduces inter-node memory traffic (offloading the global system bus) by allocating referenced struct cpumasks on the same node as the referring struct. Signed-off-by: Mike Travis Signed-off-by: Ingo Molnar commit 2fdf66b491ac706657946442789ec644cc317e1a Author: Rusty Russell Date: Wed Dec 31 18:08:47 2008 -0800 cpumask: convert shared_cpu_map in acpi_processor* structs to cpumask_var_t Impact: Reduce memory usage, use new API. This is part of an effort to reduce structure sizes for machines configured with large NR_CPUS. cpumask_t gets replaced by cpumask_var_t, which is either struct cpumask[1] (small NR_CPUS) or struct cpumask * (large NR_CPUS). (Changes to powernow-k* by .) Signed-off-by: Rusty Russell Signed-off-by: Mike Travis Signed-off-by: Ingo Molnar commit ee943a82b697456f9d2ac46f1e6d230beedb4b6c Author: Rusty Russell Date: Wed Dec 31 18:08:47 2008 -0800 x86: use cpumask_var_t in acpi/boot.c Impact: reduce stack size, use new API. Replace cpumask_t with cpumask_var_t. Signed-off-by: Rusty Russell Signed-off-by: Mike Travis Signed-off-by: Ingo Molnar commit 9628937d5b37169151c5f6bbd40919c6ac958a46 Author: Mike Travis Date: Wed Dec 31 18:08:46 2008 -0800 x86: cleanup some remaining usages of NR_CPUS where s/b nr_cpu_ids Impact: Reduce future system panics due to cpumask operations using NR_CPUS Insure that code does not look at bits >= nr_cpu_ids as when cpumasks are allocated based on nr_cpu_ids, these extra bits will not be defined. Also some other minor updates: * change in to use cpu accessor function set_cpu_present() instead of directly accessing cpu_present_map w/cpu_clear() [arch/x86/kernel/reboot.c] * use cpumask_of() instead of &cpumask_of_cpu() [arch/x86/kernel/reboot.c] * optimize some cpu_mask_to_apicid_and functions. Signed-off-by: Mike Travis Acked-by: Rusty Russell Signed-off-by: Ingo Molnar commit 6ca09dfc9f180d038dcef93c167a833f43a8246f Author: Mike Travis Date: Wed Dec 31 18:08:45 2008 -0800 sched: put back some stack hog changes that were undone in kernel/sched.c Impact: prevents panic from stack overflow on numa-capable machines. Some of the "removal of stack hogs" changes in kernel/sched.c by using node_to_cpumask_ptr were undone by the early cpumask API updates, and causes a panic due to stack overflow. This patch undoes those changes by using cpumask_of_node() which returns a 'const struct cpumask *'. In addition, cpu_coregoup_map is replaced with cpu_coregroup_mask further reducing stack usage. (Both of these updates removed 9 FIXME's!) Also: Pick up some remaining changes from the old 'cpumask_t' functions to the new 'struct cpumask *' functions. Optimize memory traffic by allocating each percpu local_cpu_mask on the same node as the referring cpu. Signed-off-by: Mike Travis Acked-by: Rusty Russell Signed-off-by: Ingo Molnar commit 730cf27246225d56ca1603b2f3c4fdbf882d4e51 Author: Mike Travis Date: Wed Dec 31 18:08:45 2008 -0800 x86: enable cpus display of kernel_max and offlined cpus Impact: enables /sys/devices/system/cpu/{kernel_max,offline} user interface By setting total_cpus, the drivers/base/cpu.c will display the values of kernel_max (NR_CPUS-1) and the offlined cpu map. Signed-off-by: Mike Travis Acked-by: Rusty Russell Signed-off-by: Ingo Molnar commit 6bdf197b04b3ae7c85785bc5a9576f1bcb0ac7c0 Author: Ingo Molnar Date: Sat Jan 3 12:50:46 2009 +0100 ia64: cpumask fix for is_affinity_mask_valid() Impact: build fix on ia64 ia64's default_affinity_write() still had old cpumask_t usage: /home/mingo/tip/kernel/irq/proc.c: In function `default_affinity_write': /home/mingo/tip/kernel/irq/proc.c:114: error: incompatible type for argument 1 of `is_affinity_mask_valid' make[3]: *** [kernel/irq/proc.o] Error 1 make[3]: *** Waiting for unfinished jobs.... update it to cpumask_var_t. Signed-off-by: Ingo Molnar commit 263ec6457bb23d57b575ede18ff6c3d11e0b4e96 Author: Ingo Molnar Date: Sat Jan 3 13:16:09 2009 +0100 cpumask: convert RCU implementations, fix Impact: cleanup This warning: kernel/rcuclassic.c: In function ‘rcu_start_batch’: kernel/rcuclassic.c:397: warning: passing argument 1 of ‘cpumask_andnot’ from incompatible pointer type triggers because one usage site of rcp->cpumask was not converted to to_cpumask(rcp->cpumask). There's no ill effects of this bug. Signed-off-by: Ingo Molnar commit e465b535ce5b2318798c68e1454917204494bfe3 Merge: 7eb1955 5ece5c5 Author: Ingo Molnar Date: Sat Jan 3 18:54:51 2009 +0100 Merge branch 'master' of git://git.kernel.org/pub/scm/linux/kernel/git/rusty/linux-2.6-cpumask into cpus4096-v2 commit 7eb19553369c46cc1fa64caf120cbcab1b597f7c Merge: 6092848 8c384cd Author: Mike Travis Date: Wed Dec 31 17:34:16 2008 -0800 Merge branch 'master' of git://git.kernel.org/pub/scm/linux/kernel/git/rusty/linux-2.6-cpumask into merge-rr-cpumask Conflicts: arch/x86/kernel/io_apic.c kernel/rcuclassic.c kernel/sched.c kernel/time/tick-sched.c Signed-off-by: Mike Travis [ mingo@elte.hu: backmerged typo fix for io_apic.c ] Signed-off-by: Ingo Molnar commit 065a6d68c71af2a3bdd080fa5aa353b76eede8f5 Author: Joerg Roedel Date: Sat Jan 3 14:16:35 2009 +0100 AMD IOMMU: remove now unnecessary #ifdefs The #ifdef's are no longer necessary when the iommu-api and the amd iommu updates are merged together. Signed-off-by: Joerg Roedel commit b0a11f44aba631fd4b898b620c93cc2096f3f15c Merge: 7398ca7 0e93dd8 Author: Joerg Roedel Date: Sat Jan 3 16:43:44 2009 +0100 Merge branches 'iommu/api' and 'iommu/amd' into for-linus commit 0e93dd883537e628b809a2120854cd591c8935f1 Author: Jaswinder Singh Rajput Date: Mon Dec 29 21:45:22 2008 +0530 AMD IOMMU: prealloc_protection_domains should be static Impact: cleanup, reduce kernel size a bit, avoid sparse warning Fixes sparse warning: arch/x86/kernel/amd_iommu.c:1299:6: warning: symbol 'prealloc_protection_domains' was not declared. Should it be static? Signed-off-by: Jaswinder Singh Rajput Signed-off-by: Joerg Roedel commit 7398ca79d227f7cd7f2ce23f08624e30081dcb4e Author: Joerg Roedel Date: Sat Jan 3 16:37:53 2009 +0100 kvm/iommu: fix compile warning This fixes a compile warning about a variable thats maybe used uninitialized in the function. Signed-off-by: Joerg Roedel commit 87d8fe1ee6b8d2f95076142d58c440dba4e7bdc2 Author: Theodore Ts'o Date: Sat Jan 3 09:47:09 2009 -0500 add releasepage hooks to block devices which can be used by file systems Implement blkdev_releasepage() to release the buffer_heads and pages after we release private data belonging to a mounted filesystem. Cc: Toshiyuki Okajima Cc: linux-fsdevel@vger.kernel.org Signed-off-by: "Theodore Ts'o" commit 0087d9fb3f29f59e8d42c8b058376d80e5adde4c Author: Aneesh Kumar K.V Date: Mon Jan 5 21:49:12 2009 -0500 ext4: Fix s_dirty_blocks_counter if block allocation failed with nodelalloc With nodelalloc option we need to update the dirty block counter on block allocation failure. This is needed because we increment the dirty block counter early in the block allocation phase. Without the patch s_dirty_blocks_counter goes wrong so that filesystem's free blocks decreases incorrectly. Tested-by: Akira Fujita Signed-off-by: Aneesh Kumar K.V Signed-off-by: "Theodore Ts'o" Cc: stable@kernel.org commit 29eaf024980e07cc01f31ae4ea5d68c917f4b7da Author: Aneesh Kumar K.V Date: Mon Jan 5 21:48:56 2009 -0500 ext4: Init the complete page while building buddy cache We need to init the complete page during buddy cache init by setting the contents to '1'. Otherwise we can see the following errors after doing an online resize of the filesystem: EXT4-fs error (device sdb1): ext4_mb_mark_diskspace_used: Allocating block 1040385 in system zone of 127 group Signed-off-by: Aneesh Kumar K.V Signed-off-by: "Theodore Ts'o" Cc: stable@kernel.org commit 8556e8f3b6c4c11601ce1e9ea8090a6d8bd5daae Author: Aneesh Kumar K.V Date: Mon Jan 5 21:46:55 2009 -0500 ext4: Don't allow new groups to be added during block allocation After we mark the blocks in the buddy cache as allocated, we need to ensure that we don't reinit the buddy cache until the block bitmap is updated. This commit achieves this by holding the group_info alloc_semaphore till ext4_mb_release_context Signed-off-by: Aneesh Kumar K.V Signed-off-by: "Theodore Ts'o" Cc: stable@kernel.org commit 648f5879f5892dddd3ba71cd0d285599f40f2512 Author: Aneesh Kumar K.V Date: Mon Jan 5 21:46:04 2009 -0500 ext4: mark the blocks/inode bitmap beyond end of group as used We need to mark the block/inode bitmap beyond the end of the group with '1'. Signed-off-by: Aneesh Kumar K.V Signed-off-by: "Theodore Ts'o" Cc: stable@kernel.org commit 2ccb5fb9f113dae969d1ae9b6c10e80fa34f8cd3 Author: Aneesh Kumar K.V Date: Mon Jan 5 21:49:55 2009 -0500 ext4: Use new buffer_head flag to check uninit group bitmaps initialization For uninit block group, the on-disk bitmap is not initialized. That implies we cannot depend on the uptodate flag on the bitmap buffer_head to find bitmap validity. Use a new buffer_head flag which would be set after we properly initialize the bitmap. This also prevents (re-)initializing the uninit group bitmap every time we call ext4_read_block_bitmap(). Signed-off-by: Aneesh Kumar K.V Signed-off-by: "Theodore Ts'o" Cc: stable@kernel.org commit 393418676a7602e1d7d3f6e560159c65c8cbd50e Author: Aneesh Kumar K.V Date: Mon Jan 5 21:38:14 2009 -0500 ext4: Fix the race between read_inode_bitmap() and ext4_new_inode() We need to make sure we update the inode bitmap and clear EXT4_BG_INODE_UNINIT flag with sb_bgl_lock held, since ext4_read_inode_bitmap() looks at EXT4_BG_INODE_UNINIT to decide whether to initialize the inode bitmap each time it is called. (introduced by commit c806e68f.) ext4_read_inode_bitmap does: spin_lock(sb_bgl_lock(EXT4_SB(sb), block_group)); if (desc->bg_flags & cpu_to_le16(EXT4_BG_INODE_UNINIT)) { ext4_init_inode_bitmap(sb, bh, block_group, desc); and ext4_new_inode does if (!ext4_set_bit_atomic(sb_bgl_lock(sbi, group), ino, inode_bitmap_bh->b_data)) ...... ... spin_lock(sb_bgl_lock(sbi, group)); gdp->bg_flags &= cpu_to_le16(~EXT4_BG_INODE_UNINIT); i.e., on allocation we update the bitmap then we take the sb_bgl_lock and clear the EXT4_BG_INODE_UNINIT flag. What can happen is a parallel ext4_read_inode_bitmap can zero out the bitmap in between the above ext4_set_bit_atomic and spin_lock(sb_bg_lock..) The race results in below user visible errors EXT4-fs error (device sdb1): ext4_free_inode: bit already cleared for inode 168449 EXT4-fs warning (device sdb1): ext4_unlink: Deleting nonexistent file ... EXT4-fs warning (device sdb1): ext4_rmdir: empty directory has too many links ... # ls -al /mnt/tmp/f/p369/d3/d6/d39/db2/dee/d10f/d3f/l71 ls: /mnt/tmp/f/p369/d3/d6/d39/db2/dee/d10f/d3f/l71: Stale NFS file handle Signed-off-by: Aneesh Kumar K.V Signed-off-by: "Theodore Ts'o" Cc: stable@kernel.org commit 3300beda523136f9f87821e4fba85c5c9e319645 Author: Aneesh Kumar K.V Date: Sat Jan 3 22:33:39 2009 -0500 ext4: code cleanup Rename some variables. We also unlock locks in the reverse order we acquired as a part of cleanup. Signed-off-by: Aneesh Kumar K.V Signed-off-by: "Theodore Ts'o" commit 560671a0d3c9ad2d647fa6d09375a262e1f19c4f Author: Aneesh Kumar K.V Date: Mon Jan 5 22:20:24 2009 -0500 ext4: Use high 16 bits of the block group descriptor's free counts fields Rename the lower bits with suffix _lo and add helper to access the values. Also rename bg_itable_unused_hi to bg_pad as in e2fsprogs. Signed-off-by: Aneesh Kumar K.V Signed-off-by: "Theodore Ts'o" commit e8134b27e351e813414da3b95aa8eac6d3908088 Author: Aneesh Kumar K.V Date: Mon Jan 5 21:38:26 2009 -0500 ext4: Fix race between read_block_bitmap() and mark_diskspace_used() We need to make sure we update the block bitmap and clear EXT4_BG_BLOCK_UNINIT flag with sb_bgl_lock held, since ext4_read_block_bitmap() looks at EXT4_BG_BLOCK_UNINIT to decide whether to initialize the block bitmap each time it is called (introduced by commit c806e68f), and this can race with block allocations in ext4_mb_mark_diskspace_used(). ext4_read_block_bitmap does: spin_lock(sb_bgl_lock(EXT4_SB(sb), block_group)); if (desc->bg_flags & cpu_to_le16(EXT4_BG_BLOCK_UNINIT)) { ext4_init_block_bitmap(sb, bh, block_group, desc); Now on the block allocation side we do mb_set_bits(sb_bgl_lock(sbi, ac->ac_b_ex.fe_group), bitmap_bh->b_data, ac->ac_b_ex.fe_start, ac->ac_b_ex.fe_len); .... spin_lock(sb_bgl_lock(sbi, ac->ac_b_ex.fe_group)); if (gdp->bg_flags & cpu_to_le16(EXT4_BG_BLOCK_UNINIT)) { gdp->bg_flags &= cpu_to_le16(~EXT4_BG_BLOCK_UNINIT); ie on allocation we update the bitmap then we take the sb_bgl_lock and clear the EXT4_BG_BLOCK_UNINIT flag. What can happen is a parallel ext4_read_block_bitmap can zero out the bitmap in between the above mb_set_bits and spin_lock(sb_bg_lock..) The race results in below user visible errors EXT4-fs error (device sdb1): ext4_mb_release_inode_pa: free 100, pa_free 105 EXT4-fs error (device sdb1): mb_free_blocks: double-free of inode 0's block .. Signed-off-by: Aneesh Kumar K.V Signed-off-by: "Theodore Ts'o" Cc: stable@kernel.org commit 5d1b1b3f492f8696ea18950a454a141381b0f926 Author: Aneesh Kumar K.V Date: Mon Jan 5 22:19:52 2009 -0500 ext4: fix BUG when calling ext4_error with locked block group The mballoc code likes to call ext4_error while it is holding locked block groups. This can causes a scheduling in atomic context BUG. We can't just unlock the block group and relock it after/if ext4_error returns since that might result in race conditions in the case where the filesystem is set to continue after finding errors. Signed-off-by: Aneesh Kumar K.V Signed-off-by: "Theodore Ts'o" commit 8ecaf8f19f0f0627d6ac6d69ed9472e7d307f35b Author: Joerg Roedel Date: Fri Dec 12 16:13:04 2008 +0100 AMD IOMMU: add statistics about total number of map requests Impact: see total number of map requests in debugfs Signed-off-by: Joerg Roedel commit 5774f7c5fef2526bfa58eab628fbe91dce5e07b1 Author: Joerg Roedel Date: Fri Dec 12 15:57:30 2008 +0100 AMD IOMMU: add statistics about allocated io memory Impact: see amount of allocated io memory in debugfs Signed-off-by: Joerg Roedel commit 18811f55d48e5f3ee70c4744c592f940022fa592 Author: Joerg Roedel Date: Fri Dec 12 15:48:28 2008 +0100 AMD IOMMU: add stats counter for domain tlb flushes Impact: see number of domain tlb flushes in debugfs Signed-off-by: Joerg Roedel commit f57d98ae6979f7bcbf758023b4716f485385f903 Author: Joerg Roedel Date: Fri Dec 12 15:46:29 2008 +0100 AMD IOMMU: add stats counter for single iommu domain tlb flushes Impact: see number of single iommu domain tlb flushes in debugfs Signed-off-by: Joerg Roedel commit c1858976f5ef05122bb671f678beaf7e1fe1dd74 Author: Joerg Roedel Date: Fri Dec 12 15:42:39 2008 +0100 AMD IOMMU: add stats counter for cross-page request Impact: see number of requests for more than one page in debugfs Signed-off-by: Joerg Roedel commit 5d31ee7e08b7713596b999a42e67491bdf3665b3 Author: Joerg Roedel Date: Fri Dec 12 15:16:38 2008 +0100 AMD IOMMU: add stats counter for free_coherent requests Impact: see number of free_coherent requests in debugfs Signed-off-by: Joerg Roedel commit c8f0fb36bffa9e21d214a2910b825567d52bfc2c Author: Joerg Roedel Date: Fri Dec 12 15:14:21 2008 +0100 AMD IOMMU: add stats counter for alloc_coherent requests Impact: see number of alloc_coherent requests in debugfs Signed-off-by: Joerg Roedel commit 55877a6bcdf0843414eecc658550c6551f5b5e1d Author: Joerg Roedel Date: Fri Dec 12 15:12:14 2008 +0100 AMD IOMMU: add stats counter for unmap_sg requests Impact: see number of unmap_sg requests in debugfs Signed-off-by: Joerg Roedel commit d03f067a9d0a1cc09529427af9a15e15d32ba1de Author: Joerg Roedel Date: Fri Dec 12 15:09:48 2008 +0100 AMD IOMMU: add stats counter for map_sg requests Impact: see number of map_sg requests in debugfs Signed-off-by: Joerg Roedel commit 146a6917fc30616401a090f55cff2b855ee5b2ab Author: Joerg Roedel Date: Fri Dec 12 15:07:12 2008 +0100 AMD IOMMU: add stats counter for unmap_single requests Impact: see number of unmap_single requests in debugfs Signed-off-by: Joerg Roedel commit 0f2a86f200bc97ae6cefc5d3ac879094b3fcde48 Author: Joerg Roedel Date: Fri Dec 12 15:05:16 2008 +0100 AMD IOMMU: add stats counter for map_single requests Impact: see number of map_single requests in debugfs Signed-off-by: Joerg Roedel commit da49f6df726ecaaee87757e8b65a560679d32f99 Author: Joerg Roedel Date: Fri Dec 12 14:59:58 2008 +0100 AMD IOMMU: add stats counter for completion wait events Impact: see number of completion wait events in debugfs Signed-off-by: Joerg Roedel commit 7f26508bbb76ce86aad1130ef6b7f1a4bb7de0c2 Author: Joerg Roedel Date: Fri Dec 12 13:50:21 2008 +0100 AMD IOMMU: add init code for statistic collection Impact: create a new debugfs directory Signed-off-by: Joerg Roedel commit a9dddbe0497ab0df7ee729e8d4cb0ee2dec3e4ba Author: Joerg Roedel Date: Fri Dec 12 12:33:06 2008 +0100 AMD IOMMU: add necessary header defines for stats counting Impact: add defines to make iommu stats collection configurable Signed-off-by: Joerg Roedel commit 2e117604a4e8f3f9cee4aec3373b0382159e152a Author: Joerg Roedel Date: Thu Dec 11 19:00:12 2008 +0100 AMD IOMMU: add Kconfig entry for statistic collection code Impact: adds new Kconfig entry Signed-off-by: Joerg Roedel commit a4e267c88b4acfc87ff2ab0cc8e9509878e9aaba Author: Joerg Roedel Date: Wed Dec 10 20:04:18 2008 +0100 AMD IOMMU: use dev_name in iommu_enable function Impact: cleanup Signed-off-by: Joerg Roedel commit edcb34da259c503a2ffd37e51a658672ba3bc7a2 Author: Joerg Roedel Date: Wed Dec 10 20:01:45 2008 +0100 AMD IOMMU: use calc_devid in prealloc_protection_domains Impact: cleanup Signed-off-by: Joerg Roedel commit c226f853091577e665ebc02c064af4834d8d4f28 Author: Joerg Roedel Date: Fri Dec 12 13:53:54 2008 +0100 AMD IOMMU: convert amd_iommu_isolate to bool Impact: cleanup Signed-off-by: Joerg Roedel commit 0cfd7aa90be83a4d278810d231f9ef03f189b4f0 Author: Joerg Roedel Date: Wed Dec 10 19:58:00 2008 +0100 AMD IOMMU: convert iommu->need_sync to bool Impact: use bool instead of int for iommu->need_sync Signed-off-by: Joerg Roedel commit ab896722867602eb0e836717e8b857ad513800d8 Author: Joerg Roedel Date: Wed Dec 10 19:43:07 2008 +0100 AMD IOMMU: use dev_name instead of self-build print_devid Impact: use generic dev_name instead of own function Signed-off-by: Joerg Roedel commit 1ac4cbbc5eb56de96d264d10f464ba5222815b1b Author: Joerg Roedel Date: Wed Dec 10 19:33:26 2008 +0100 AMD IOMMU: allocate a new protection for hotplugged devices Impact: also hotplug devices benefit from device isolation Signed-off-by: Joerg Roedel commit e2dc14a2a6c9a83baaafc51f06b7e73cec2167be Author: Joerg Roedel Date: Wed Dec 10 18:48:59 2008 +0100 AMD IOMMU: add a domain flag for default domains Impact: adds a new protection domain flag Signed-off-by: Joerg Roedel commit 26961efe0dab9ca73f8fc3b6137b814252e04972 Author: Joerg Roedel Date: Wed Dec 3 17:00:17 2008 +0100 AMD IOMMU: register functions for the IOMMU API Signed-off-by: Joerg Roedel commit 645c4c8d7289a718c9c828ec217f2b94e3b3e6ff Author: Joerg Roedel Date: Tue Dec 2 20:05:50 2008 +0100 AMD IOMMU: add domain address lookup function for IOMMU API Impact: add a generic function to lockup addresses in protection domains Signed-off-by: Joerg Roedel commit eb74ff6cc0080c7f6270fdfffba65c4eff23d3ad Author: Joerg Roedel Date: Tue Dec 2 19:59:10 2008 +0100 AMD IOMMU: add domain unmap function for IOMMU API Impact: add a generic function to unmap pages into protection domains Signed-off-by: Joerg Roedel commit c6229ca649aa9b312d1f1de20af8d2603b14eead Author: Joerg Roedel Date: Tue Dec 2 19:48:43 2008 +0100 AMD IOMMU: add domain map function for IOMMU API Impact: add a generic function to map pages into protection domains Signed-off-by: Joerg Roedel commit 01106066a6900b518debe990ddaadf376d433bd6 Author: Joerg Roedel Date: Tue Dec 2 19:34:11 2008 +0100 AMD IOMMU: add device attach function for IOMMU API Impact: add a generic function to attach devices to protection domains Signed-off-by: Joerg Roedel commit 684f2888847b896faafed87ce4733501d2cc283c Author: Joerg Roedel Date: Mon Dec 8 12:07:44 2008 +0100 AMD IOMMU: add device detach function for IOMMU API Impact: add a generic function to detach devices from protection domains Signed-off-by: Joerg Roedel commit 98383fc301c6546af0f3a8a1d3cb8bf218f7e940 Author: Joerg Roedel Date: Tue Dec 2 18:34:12 2008 +0100 AMD IOMMU: add domain destroy function for IOMMU API Impact: add a generic function for releasing protection domains Signed-off-by: Joerg Roedel commit c156e347d6d3c36b6843c3b168eda61b9a02c827 Author: Joerg Roedel Date: Tue Dec 2 18:13:27 2008 +0100 AMD IOMMU: add domain init function for IOMMU API Impact: add a generic function for allocation protection domains Signed-off-by: Joerg Roedel commit 6d98cd8043c13438e4ca8a9464893f0224198a30 Author: Joerg Roedel Date: Mon Dec 8 12:05:55 2008 +0100 AMD IOMMU: add domain cleanup helper function Impact: add a function to remove all devices from a domain Signed-off-by: Joerg Roedel commit e275a2a0fc9e2168b15f6c7814e30b7ad58b1c7c Author: Joerg Roedel Date: Wed Dec 10 18:27:25 2008 +0100 AMD IOMMU: add device notifier callback Impact: inform IOMMU about state change of a device in the driver core Signed-off-by: Joerg Roedel commit 355bf553edb7fe21ada51f62c849180bec6da877 Author: Joerg Roedel Date: Mon Dec 8 12:02:41 2008 +0100 AMD IOMMU: add device detach helper functions Impact: add helper functions to detach a device from a domain Signed-off-by: Joerg Roedel commit f1179dc005ee2b0e55c3f74f3552c3e9ef852265 Author: Joerg Roedel Date: Wed Dec 10 14:39:51 2008 +0100 AMD IOMMU: rename set_device_domain function Impact: rename set_device_domain() to attach_device() Signed-off-by: Joerg Roedel commit 863c74ebd0152b21bc4b11c1447b5d1429287d37 Author: Joerg Roedel Date: Tue Dec 2 17:56:36 2008 +0100 AMD IOMMU: add device reference counting for protection domains Impact: know how many devices are assigned to a domain Signed-off-by: Joerg Roedel commit 5b28df6f43ac9878f310ad0cb7f11ddb262a7ac6 Author: Joerg Roedel Date: Tue Dec 2 17:49:42 2008 +0100 AMD IOMMU: add checks for dma_ops domain to dma_ops functions Impact: detect when a driver uses a device assigned otherwise Signed-off-by: Joerg Roedel commit 9fdb19d64c0247f23343b51fc85f438f8e7a2f3c Author: Joerg Roedel Date: Tue Dec 2 17:46:25 2008 +0100 AMD IOMMU: add protection domain flags Imapct: add a new struct member to 'struct protection_domain' When using protection domains for dma_ops and KVM its better to know for which subsystem it was allocated. Add a flags member to struct protection domain for that purpose. Signed-off-by: Joerg Roedel commit 43f4960983a309568a6c4375f081e63fb2ff24a3 Author: Joerg Roedel Date: Tue Dec 2 21:01:12 2008 +0100 AMD IOMMU: add iommu_flush_domain function Impact: add a function to flush a domain id on every IOMMU Signed-off-by: Joerg Roedel commit 9e919012e33c481991e46aa4cb13d807cd47b798 Author: Joerg Roedel Date: Wed Dec 10 20:05:52 2008 +0100 AMD IOMMU: don't remove protection domain from iommu_pd_list Impact: save unneeded logic to add and remove domains to the list The removal of a protection domain from the iommu_pd_list is not necessary. Another benefit is that we save complexity because we don't have to readd it later when the device no longer uses the domain. Signed-off-by: Joerg Roedel commit 237b6f33291394c337ae84e2d3782d5605803af2 Author: Joerg Roedel Date: Tue Dec 2 20:54:37 2008 +0100 AMD IOMMU: move invalidation command building to a separate function Impact: refactoring of iommu_queue_inv_iommu_pages Signed-off-by: Joerg Roedel commit 8d201968e15f56ae2837b0d0b64d3fff098857b0 Author: Joerg Roedel Date: Tue Dec 2 20:34:41 2008 +0100 AMD IOMMU: refactor completion wait handling into separate functions Impact: split one function into three The separate functions are required synchronize commands across all hardware IOMMUs in the system. Signed-off-by: Joerg Roedel commit a2acfb75792511a35586db80a38b8e4701a97730 Author: Joerg Roedel Date: Tue Dec 2 18:28:53 2008 +0100 AMD IOMMU: add domain id free function Impact: add code to release a domain id Signed-off-by: Joerg Roedel commit 86db2e5d47bfa61a151d6ac83263f4bde4d52290 Author: Joerg Roedel Date: Tue Dec 2 18:20:21 2008 +0100 AMD IOMMU: make dma_ops_free_pagetable generic Impact: change code to free pagetables from protection domains The dma_ops_free_pagetable function can only free pagetables from dma_ops domains. Change that to free pagetables of pure protection domains. Signed-off-by: Joerg Roedel commit 38e817febe2f12bd2fbf92a1df36f41946d0c223 Author: Joerg Roedel Date: Tue Dec 2 17:27:52 2008 +0100 AMD IOMMU: rename iommu_map to iommu_map_page Impact: function rename The iommu_map function maps only one page. Make this clear in the function name. Signed-off-by: Joerg Roedel commit cdc7b83726297b43deed0455d8732163cc59802a Author: Mike Day Date: Fri Dec 12 17:16:30 2008 +0100 intel-iommu: fix bit shift at DOMAIN_FLAG_P2P_MULTIPLE_DEVICES Signed-off-by: Mike Day Signed-off-by: Joerg Roedel commit e4754c96cf8b82a754dc5ba791d6c0bf1fbe8e8e Author: Joerg Roedel Date: Wed Dec 3 15:26:42 2008 +0100 VT-d: remove now unused intel_iommu_found function Signed-off-by: Joerg Roedel commit a8bcbb0de4a52f07fef7412ddc877348311ebf2a Author: Joerg Roedel Date: Wed Dec 3 15:14:02 2008 +0100 VT-d: register functions for the IOMMU API Signed-off-by: Joerg Roedel commit d14d65777c2491dd5baf1e17f444b8f653f3cbb1 Author: Joerg Roedel Date: Wed Dec 3 15:06:57 2008 +0100 VT-d: adapt domain iova_to_phys function for IOMMU API Signed-off-by: Joerg Roedel commit dde57a210dcdce85e2813bab8f88687761d9f6a6 Author: Joerg Roedel Date: Wed Dec 3 15:04:09 2008 +0100 VT-d: adapt domain map and unmap functions for IOMMU API Signed-off-by: Joerg Roedel commit 4c5478c94eb29e6101f1f13175f7455bc8b5d953 Author: Joerg Roedel Date: Wed Dec 3 14:58:24 2008 +0100 VT-d: adapt device attach and detach functions for IOMMU API Signed-off-by: Joerg Roedel commit 5d450806eb0e569c5846a5825e7f535980b0da32 Author: Joerg Roedel Date: Wed Dec 3 14:52:32 2008 +0100 VT-d: adapt domain init and destroy functions for IOMMU API Signed-off-by: Joerg Roedel commit 19de40a8472fa64693eab844911eec277d489f6c Author: Joerg Roedel Date: Wed Dec 3 14:43:34 2008 +0100 KVM: change KVM to use IOMMU API Signed-off-by: Joerg Roedel commit 1aaf118352b85bb359ce28070bcc478f659a7031 Author: Joerg Roedel Date: Wed Nov 26 17:25:13 2008 +0100 select IOMMU_API when DMAR and/or AMD_IOMMU is selected These two IOMMUs can implement the current version of this API. So select the API if one or both of these IOMMU drivers is selected. Signed-off-by: Joerg Roedel commit fc2100eb4d0960b56c2c705a97941c08fb1c0fd4 Author: Joerg Roedel Date: Wed Nov 26 17:21:24 2008 +0100 add frontend implementation for the IOMMU API This API can be used by KVM for accessing different types of IOMMUs to do device passthrough to guests. Beside that this API can also be used by device drivers to map non-linear host memory into dma-linear addresses to prevent sgather-gather DMA. UIO may be another user for this API. Signed-off-by: Joerg Roedel Acked-by: Greg Kroah-Hartman commit 4a77a6cf6d9bf9f5c74b27f62bd2bfe6dcc88392 Author: Joerg Roedel Date: Wed Nov 26 17:02:33 2008 +0100 introcude linux/iommu.h for an iommu api This patch introduces the API to abstract the exported VT-d functions for KVM into a generic API. This way the AMD IOMMU implementation can plug into this API later. Signed-off-by: Joerg Roedel commit c4fa3864281c7d88b7262cbc6cbd5c90bb59860e Author: Joerg Roedel Date: Wed Nov 26 15:51:19 2008 +0100 KVM: rename vtd.c to iommu.c Impact: file renamed The code in the vtd.c file can be reused for other IOMMUs as well. So rename it to make it clear that it handle more than VT-d. Signed-off-by: Joerg Roedel commit b653574a7d14b663cc812cb20be6a114939ba186 Author: Weidong Han Date: Mon Dec 8 23:29:53 2008 +0800 Deassign device in kvm_free_assgined_device In kvm_iommu_unmap_memslots(), assigned_dev_head is already empty. Signed-off-by: Weidong Han Signed-off-by: Joerg Roedel commit 0a920356748df4fb06e86c21c23d2ed6d31d37ad Author: Weidong Han Date: Tue Dec 2 21:24:23 2008 +0800 KVM: support device deassignment Support device deassignment, it can be used in device hotplug. Signed-off-by: Weidong Han Signed-off-by: Joerg Roedel commit 260782bcfdaaa7850f29d6bb2ec6603019168c57 Author: Weidong Han Date: Tue Dec 2 21:03:39 2008 +0800 KVM: use the new intel iommu APIs intel iommu APIs are updated, use the new APIs. In addition, change kvm_iommu_map_guest() to just create the domain, let kvm_iommu_assign_device() assign device. Signed-off-by: Weidong Han Signed-off-by: Joerg Roedel commit fe40f1e020d0923f5f35ca15f02a206c75a28053 Author: Weidong Han Date: Mon Dec 8 23:10:23 2008 +0800 Check agaw is sufficient for mapped memory When domain is related to multiple iommus, need to check if the minimum agaw is sufficient for the mapped memory Signed-off-by: Weidong Han Signed-off-by: Joerg Roedel commit faa3d6f5ffe7bf60ebfd0d36513fbcda0eb0ea1a Author: Weidong Han Date: Mon Dec 8 23:09:29 2008 +0800 Change intel iommu APIs of virtual machine domain These APIs are used by KVM to use VT-d Signed-off-by: Weidong Han Signed-off-by: Joerg Roedel commit ea6606b02fc3192f2edab2db669fa0b9756b4e67 Author: Weidong Han Date: Mon Dec 8 23:08:15 2008 +0800 Change domain_context_mapping_one for virtual machine domain vm_domid won't be set in context, find available domain id for a device from its iommu. For a virtual machine domain, a default agaw will be set, and skip top levels of page tables for iommu which has less agaw than default. Signed-off-by: Weidong Han Signed-off-by: Joerg Roedel commit 5e98c4b1d6e89676193c355e430eddf369bcf195 Author: Weidong Han Date: Mon Dec 8 23:03:27 2008 +0800 Allocation and free functions of virtual machine domain virtual machine domain is different from native DMA-API domain, implement separate allocation and free functions for virtual machine domain. Signed-off-by: Weidong Han Signed-off-by: Joerg Roedel commit 5331fe6f5627e06eec7d0dc154a0a3a9c27813c5 Author: Weidong Han Date: Mon Dec 8 23:00:00 2008 +0800 Add domain_flush_cache Because virtual machine domain may have multiple devices from different iommus, it cannot use __iommu_flush_cache. In some common low level functions, use domain_flush_cache instead of __iommu_flush_cache. On the other hand, in some functions, iommu can is specified or domain cannot be got, still use __iommu_flush_cache Signed-off-by: Weidong Han Signed-off-by: Joerg Roedel commit c7151a8dfefd11108de5b4293af2390962bcff71 Author: Weidong Han Date: Mon Dec 8 22:51:37 2008 +0800 Add/remove domain device info for virtual machine domain Add iommu reference count in domain, and add a lock to protect iommu setting including iommu_bmp, iommu_count and iommu_coherency. virtual machine domain may have multiple devices from different iommus, so it needs to do more things when add/remove domain device info. Thus implement separate these functions for virtual machine domain. Signed-off-by: Weidong Han Signed-off-by: Joerg Roedel commit 1ce28feb22833645a0f3843cd873a0b56ed19ef0 Author: Weidong Han Date: Mon Dec 8 16:35:39 2008 +0800 Add domain flag DOMAIN_FLAG_VIRTUAL_MACHINE Add this flag for VT-d used in virtual machine, like KVM. Signed-off-by: Weidong Han Signed-off-by: Joerg Roedel commit 8e604097ddc483eb1e6e99564953e4e937fe439a Author: Weidong Han Date: Mon Dec 8 15:49:06 2008 +0800 iommu coherency In dmar_domain, more than one iommus may be included in iommu_bmp. Due to "Coherency" capability may be different across iommus, set this variable to indicate iommu access is coherent or not. Only when all related iommus in a dmar_domain are all coherent, iommu access of this domain is coherent. Signed-off-by: Weidong Han Signed-off-by: Joerg Roedel commit 1b5736839ae13dadc5947940144f95dd0f4a4a8c Author: Weidong Han Date: Mon Dec 8 15:34:06 2008 +0800 calculate agaw for each iommu "SAGAW" capability may be different across iommus. Use a default agaw, but if default agaw is not supported in some iommus, choose a less supported agaw. Signed-off-by: Weidong Han Signed-off-by: Joerg Roedel commit 8c11e798eee2ce4475134eaf61302b28ea4f205d Author: Weidong Han Date: Mon Dec 8 15:29:22 2008 +0800 iommu bitmap instead of iommu pointer in dmar_domain In order to support assigning multiple devices from different iommus to a domain, iommu bitmap is used to keep all iommus the domain are related to. Signed-off-by: Weidong Han Signed-off-by: Joerg Roedel commit a2bb8459fe46e5aaad6637b31b5593d740097cba Author: Weidong Han Date: Mon Dec 8 11:24:12 2008 +0800 Get iommu from g_iommus for deferred flush deferred_flush[] uses the iommu seq_id to index, so its iommu is fixed and can get it from g_iommus. Signed-off-by: Weidong Han Signed-off-by: Joerg Roedel commit d9630fe941769dd050fbc38fbbac20a708ab9461 Author: Weidong Han Date: Mon Dec 8 11:06:32 2008 +0800 Add global iommu list Signed-off-by: Weidong Han Signed-off-by: Joerg Roedel commit 3b5410e735b093060b96664230c6f9f4fe80b251 Author: Weidong Han Date: Mon Dec 8 09:17:15 2008 +0800 change P2P domain flags Signed-off-by: Weidong Han Signed-off-by: Joerg Roedel commit d71a2f33ac466a437f316e7bb024d0175a7f3cd9 Author: Weidong Han Date: Sun Dec 7 21:13:41 2008 +0800 Initialize domain flags to 0 It's random number after the domain is allocated by kmem_cache_alloc Signed-off-by: Weidong Han Signed-off-by: Joerg Roedel commit b15dd79ea06b04a7ecee95f62ce7b6a3547dbb0a Author: Udo Steinberg Date: Fri Jan 2 17:34:28 2009 -0300 V4L/DVB (10173): Missing v4l2_prio_close in radio_release The radio_release function of the BTTV driver is missing a call to v4l2_prio_close. As a result, after the radio device has been opened at least once (e.g., by HAL during bootup), v4l2_priority will never drop below V4L2_PRIORITY_INTERACTIVE again. With the following patch against 2.6.28, applications that run with V4L2_PRIORITY_BACKGROUND are able to open devices again. Previous Linux versions are affected as well. Signed-off-by: Udo Steinberg Signed-off-by: Mauro Carvalho Chehab commit 763d19bb90a005a339b7d5ba70a710bb17db2bab Author: Kay Sievers Date: Wed Dec 31 23:35:24 2008 -0300 V4L/DVB (10172): add DVB_DEVICE_TYPE= to uevent Signed-off-by: Kay Sievers Signed-off-by: Mauro Carvalho Chehab commit 03fb02c604d68156c0828e3950094f18ce529385 Author: Julia Lawall Date: Thu Jan 1 17:14:58 2009 -0300 V4L/DVB (10171): Use usb_set_intfdata This code had calls to both usb_set_intfdata and dev_set_drvdata, doing the same thing. The semantic patch that lead to finding this problem is as follows: (http://www.emn.fr/x-info/coccinelle/) // @header@ @@ @same depends on header@ position p; @@ usb_set_intfdata@p(...) { ... } @depends on header@ position _p!=same.p; identifier _f; struct usb_interface *intf; expression data; @@ _f@_p(...) { <+... - dev_set_drvdata(&intf->dev, data); + usb_set_intfdata(intf, data); ...+> } // Signed-off-by: Julia Lawall Signed-off-by: Mauro Carvalho Chehab commit 2e824f79240476d57a8589f46232cabf151efe90 Author: Yu Zhao Date: Mon Dec 22 16:54:58 2008 +0800 VT-d: fix segment number being ignored when searching DRHD On platforms with multiple PCI segments, any of the segments can have a DRHD with INCLUDE_PCI_ALL flag. So need to check the DRHD's segment number against the PCI device's when searching its DRHD. Signed-off-by: Yu Zhao Signed-off-by: David Woodhouse Signed-off-by: Joerg Roedel commit 19c239ce3d089fee339d1ab7e97b43d6f0557ce5 Author: Mark McLoughlin Date: Fri Nov 21 16:56:53 2008 +0000 intel-iommu: trivially inline DMA PTE macros Signed-off-by: Mark McLoughlin Signed-off-by: David Woodhouse commit c07e7d217bef198422b7eface456ecfd4bb1ab87 Author: Mark McLoughlin Date: Fri Nov 21 16:54:46 2008 +0000 intel-iommu: trivially inline context entry macros Some macros were unused, so I just dropped them: context_fault_disable context_translation_type context_address_root context_address_width context_domain_id Signed-off-by: Mark McLoughlin Signed-off-by: David Woodhouse commit 2abd7e167c1b281f99bb58d302225872bfae9123 Author: Mark McLoughlin Date: Thu Nov 20 15:49:50 2008 +0000 intel-iommu: move iommu_prepare_gfx_mapping() out of dma_remapping.h Signed-off-by: Mark McLoughlin Signed-off-by: David Woodhouse commit 58fa7304a2c2bfd46e505c293ef779aa1d9715c2 Author: Mark McLoughlin Date: Thu Nov 20 15:49:49 2008 +0000 intel-iommu: kill off duplicate def of dmar_disabled This is only used in dmar.c and intel-iommu.h, so dma_remapping.h seems like the appropriate place for it. Signed-off-by: Mark McLoughlin Signed-off-by: David Woodhouse commit a647dacbb1389aa6a5fa631766c1eaea35905890 Author: Mark McLoughlin Date: Thu Nov 20 15:49:48 2008 +0000 intel-iommu: move struct device_domain_info out of dma_remapping.h Signed-off-by: Mark McLoughlin Signed-off-by: David Woodhouse commit 99126f7ce14aff5f9371b2fa81fddb82be815794 Author: Mark McLoughlin Date: Thu Nov 20 15:49:47 2008 +0000 intel-iommu: move struct dmar_domain def out dma_remapping.h Signed-off-by: Mark McLoughlin Signed-off-by: David Woodhouse commit 622ba12a4c2148999bda9b891bfd0c6ddcb6c57e Author: Mark McLoughlin Date: Thu Nov 20 15:49:46 2008 +0000 intel-iommu: move DMA PTE defs out of dma_remapping.h DMA_PTE_READ/WRITE are needed by kvm. Signed-off-by: Mark McLoughlin Signed-off-by: David Woodhouse commit 7a8fc25e0cc6e75fa6fdb0a856490e324218550b Author: Mark McLoughlin Date: Thu Nov 20 15:49:45 2008 +0000 intel-iommu: move context entry defs out from dma_remapping.h Signed-off-by: Mark McLoughlin Signed-off-by: David Woodhouse commit 46b08e1a76b758193b0e7b889c6486a16eb1e9e2 Author: Mark McLoughlin Date: Thu Nov 20 15:49:44 2008 +0000 intel-iommu: move root entry defs from dma_remapping.h We keep the struct root_entry forward declaration for the pointer in struct intel_iommu. Signed-off-by: Mark McLoughlin Signed-off-by: David Woodhouse commit f27be03b271851fd54529f292c0f25b4c1f1a553 Author: Mark McLoughlin Date: Thu Nov 20 15:49:43 2008 +0000 intel-iommu: move DMA_32/64BIT_PFN into intel-iommu.c Signed-off-by: Mark McLoughlin Signed-off-by: David Woodhouse commit 519a05491586dad04e687660e54c57882315b22b Author: Mark McLoughlin Date: Thu Nov 20 14:21:13 2008 +0000 intel-iommu: make init_dmars() static init_dmars() is not used outside of drivers/pci/intel-iommu.c Signed-off-by: Mark McLoughlin Signed-off-by: David Woodhouse commit 015ab17dc2e9de805c26e74f498b12ee5e8de07e Author: Mark McLoughlin Date: Thu Nov 20 14:04:20 2008 +0000 intel-iommu: remove some unused struct intel_iommu fields The seg, saved_msg and sysdev fields appear to be unused since before the code was first merged. linux/msi.h is not needed in linux/intel-iommu.h anymore since there is no longer a reference to struct msi_msg. The MSI code in drivers/pci/intel-iommu.c still has linux/msi.h included via linux/dmar.h. linux/sysdev.h isn't needed because there is no reference to struct sys_device. Signed-off-by: Mark McLoughlin Signed-off-by: David Woodhouse commit acf26c0cad5ba00dcafa633805e4660e90c1eac0 Author: Ulrich Dangel Date: Fri Jan 2 19:30:14 2009 +0100 ALSA: hda - cxt5051 report jack state Signed-off-by: Ulrich Dangel Signed-off-by: Takashi Iwai commit bc7a166dd1530965aa80966f267235f067c5fddf Author: Ulrich Dangel Date: Fri Jan 2 19:30:13 2009 +0100 ALSA: hda - add basic jack reporting functions to patch_conexant.c Added functions to report jack sense. As CXT5051_PORTB_EVENT has the same value as CONEXANT_MIC_EVENT two input devices for the microphone will be created if using CXT5051. Signed-off-by: Ulrich Dangel Signed-off-by: Takashi Iwai commit fa8efd50b353a36dbcd2c47a55335f002af4deb0 Author: David S. Miller Date: Fri Jan 2 21:54:25 2009 -0800 sparc: Update 64-bit defconfig. Signed-off-by: David S. Miller commit 5ece5c5192d065c229da01e7b347c1d3877b59fa Author: Rusty Russell Date: Sat Jan 3 16:21:08 2009 +1030 xtensa: define __fls Like fls, but can't be handed 0 and returns the bit number. Signed-off-by: Rusty Russell commit 5c134dad43443aa9c9606eaf47c378a6b9c5c597 Author: Rusty Russell Date: Sat Jan 3 16:19:03 2009 +1030 mn10300: define __fls Like fls, but can't be handed 0 and returns the bit number. Signed-off-by: Rusty Russell commit 16a206260ee70f181de6a3672678545859589ef2 Author: Rusty Russell Date: Sat Jan 3 16:16:54 2009 +1030 m32r: define __fls Like fls, but can't be handed 0 and returns the bit number. Signed-off-by: Rusty Russell commit 9ddabc2a29163e4b243d10c5e06fc5584073d7ad Author: Rusty Russell Date: Sat Jan 3 16:16:04 2009 +1030 h8300: define __fls Like fls, but can't be handed 0 and returns the bit number. Signed-off-by: Rusty Russell commit ee38e5140bafbf40e1bd25ab917ac8db54a27799 Author: Rusty Russell Date: Sat Jan 3 16:14:05 2009 +1030 frv: define __fls Like fls, but can't be handed 0 and returns the bit number. Signed-off-by: Rusty Russell commit f54c88cb6c6928f259b95abb4477970df2bd3d55 Author: Sam Ravnborg Date: Fri Jan 2 21:33:54 2009 -0800 sparc: remove NO_PROC_ID - it is no longer used Signed-off-by: Sam Ravnborg Signed-off-by: David S. Miller commit 65579f3cfbc55a6d5ed0469a6f069ada6f810a3e Author: Sam Ravnborg Date: Fri Jan 2 21:33:05 2009 -0800 sparc: drop get_tbr() in traps.h get_tbr() has no users in the whole tree -drop it. Signed-off-by: Sam Ravnborg Signed-off-by: David S. Miller commit 220483fec0cbc3710c828a236c9f1099d5de537a Author: Sam Ravnborg Date: Fri Jan 2 21:32:34 2009 -0800 sparc: fix warning in userspace header traps.h Fix following warning: traps.h:23: extern's make no sense in userspace Add an ifdef __KERNEL__ block that cover the extern definition and a few related things that neither is for userspace. Signed-off-by: Sam Ravnborg Signed-off-by: David S. Miller commit fffeeb413704b742dd1d08a3b5a0070a72ab52e1 Author: Sam Ravnborg Date: Fri Jan 2 21:31:58 2009 -0800 sparc: fix warnings in userspace header byteorder.h Fix following warnings in byteorder.h: byteorder.h:4: include of is preferred over byteorder.h:9: leaks CONFIG_SPARC32 to userspace where it is not valid byteorder.h:13: leaks CONFIG_SPARC64 to userspace where it is not valid byteorder.h:14: found __[us]{8,16,32,64} type without #include byteorder.h:47: leaks CONFIG_SPARC64 to userspace where it is not valid - changed to use include as suggested - use preprocessor defined symbols to distingush between 32 and 64 bit Signed-off-by: Sam Ravnborg Signed-off-by: David S. Miller commit 2ef4c01e180902a0197f959f84d4ae1d8eb18888 Author: Sam Ravnborg Date: Fri Jan 2 21:31:13 2009 -0800 sparc: fix warning in userspace header jsflash.h Fix following warnings in jsflash.h: jsflash.h:11: include of is preferred over jsflash.h:24: found __[us]{8,16,32,64} type without #include Fixed by changing the include to Signed-off-by: Sam Ravnborg Signed-off-by: David S. Miller commit 7c59d28d0e798fff1ebfedcf7821cbd5513091bd Author: Sam Ravnborg Date: Fri Jan 2 21:15:25 2009 -0800 sparc: unify openprom.h After the preparational steps the unification was simple. The linux_prom_pci_registers definition did not look like it could be unified at first look since the structure is assigned using prop_getproperty() / of_get_property() so the structure is assumed to come direct form the prom. The LINUX_OPPROM_MAGIC was kept even if it is not used by the kernel on the assumption that userspace may require it. Signed-off-by: Sam Ravnborg Signed-off-by: David S. Miller commit 640cc590bd6112424f4c248fe839af28a06b54c4 Author: Sam Ravnborg Date: Fri Jan 2 21:14:35 2009 -0800 sparc64: delete unused linux_prom64_ranges from openprom_64.h It was not used over the whole tree - so drop it. Signed-off-by: Sam Ravnborg Signed-off-by: David S. Miller commit bb5b52bbd5e2cd40b193f34c11eec19864080dcf Author: Sam Ravnborg Date: Fri Jan 2 21:13:52 2009 -0800 sparc: prepare openprom for unification Align the sparc and sparc64 versions so differences are minimal. A few data types are changed to better reflect there actual usage. Signed-off-by: Sam Ravnborg Signed-off-by: David S. Miller commit b608c3fe3cffcb3ebc87ffdec134286859d4a44e Author: Sam Ravnborg Date: Fri Jan 2 21:12:40 2009 -0800 sparc: remove linux_prom_pci_assigned_addresses from openprom_32.h It is not used anywhere in the tree so drop it. Signed-off-by: Sam Ravnborg Signed-off-by: David S. Miller commit 3011618d9a010b33b7e67cb26df9bc79c948f67b Author: Sam Ravnborg Date: Fri Jan 2 21:10:48 2009 -0800 sparc: remove ebus definitions from openprom*.h Looks like leftovers from the removal of the special ebus layer. Signed-off-by: Sam Ravnborg Signed-off-by: David S. Miller commit 1eae29bcc25b8a12bd6f416304c8aea1d576807e Author: Sam Ravnborg Date: Fri Jan 2 21:10:04 2009 -0800 sparc: unify siginfo.h Trivial unification where the sparc64 specific parts are protected using a signle ifdef/endif pair. Signed-off-by: Sam Ravnborg Signed-off-by: David S. Miller commit 0999769e6cad9b0e5abb7c513c0c3f16821f0884 Author: Rusty Russell Date: Sat Jan 3 15:37:14 2009 +1030 cris: define __fls Like fls, but can't be handed 0 and returns the bit number. Signed-off-by: Rusty Russell commit f3ec38d5135ca4bff0132c0782da6da4663ae0e5 Author: Sam Ravnborg Date: Fri Jan 2 19:42:12 2009 -0800 sparc: unify ptrace.h The two ptrace.h implementations are very alike but the small differences required two set of ifdef/else/endif pairs. The definition of reg_window32 could have been shared but that would have required several updates in sparc32 code as all printk formatting for example assume it is longs. sparc_stackf looked like anohter candidate to share if the 32 bit was renamed to sparc_stackf32. But it contains two pointers in the sparc32 version which would have been 64 bit in the sparc64 version so it was non-trivial. Using a set of accessor macros could do the trick if pursued later. The sparc64 specific definitions are not protected by ifdef - as it should not be required to do so. Signed-off-by: Sam Ravnborg Signed-off-by: David S. Miller commit bd703d88a2dbeb6c7945345de427eedf78ef89c6 Author: Sam Ravnborg Date: Fri Jan 2 19:34:46 2009 -0800 sparc: unify sigcontext.h With the renamed types in place the unification was straightforward. Signed-off-by: Sam Ravnborg Signed-off-by: David S. Miller commit 4d7b92ad572b4bd4d92fc80911641bb6cba3b99c Author: Sam Ravnborg Date: Fri Jan 2 19:32:59 2009 -0800 sparc: add '32' suffix to reg_window, sigcontext, __siginfo_t Renaming a few types to contain a 32 suffix makes the type names compatible with sparc64 and thus makes sharing between the two a lot easier. Note: None of these definitions are expected part of the stable ABI towards userspace. Signed-off-by: Sam Ravnborg Signed-off-by: David S. Miller commit ece93487c31607558f4b91f378fcee4b43956dbc Author: Sam Ravnborg Date: Fri Jan 2 19:21:06 2009 -0800 sparc: unify signal.h They were almost identical and with the preapration patch nothing was needed to be added. The unified version contains a few sparc64 only definitions but they are kept as is and not protected by ifdef/endif. The unified version exports a bit more to userspace then the 32 bit version did. This is not considered fatal. Signed-off-by: Sam Ravnborg Signed-off-by: David S. Miller commit 55d646feee9c0ced63f4189aca4ba7c9508b75f9 Author: Sam Ravnborg Date: Fri Jan 2 19:17:47 2009 -0800 sparc64: prepare signal_64 for unification o add a sparc32 only definition o fix a few style issues (white space errors etc). o include compiler.h (for __user) Signed-off-by: Sam Ravnborg Signed-off-by: David S. Miller commit a0381a9480fffc6269d06f79da5fa5c511621c29 Author: David S. Miller Date: Fri Jan 2 19:12:46 2009 -0800 sparc: Kill bogus comment about IRQF_SHARED in pci_psycho.c Noticed by Geert Uytterhoeven. Signed-off-by: David S. Miller commit 12aa0b17328a01490c9e53904767ca59596f9ea1 Author: Sam Ravnborg Date: Fri Jan 2 18:48:21 2009 -0800 sparc: unify stat.h To my suprise struct stat64 was not equal on sparc 32 and sparc64, so there was really nothing to share here. Unify the files by adding their respective content to stat.h. Signed-off-by: Sam Ravnborg Signed-off-by: David S. Miller commit 085219f79cad89291699bd2bfb21c9fdabafe65f Author: Sam Ravnborg Date: Fri Jan 2 18:47:34 2009 -0800 sparc32: use proper types in struct stat Like sparc64 use proper types in struct stat Signed-off-by: Sam Ravnborg Signed-off-by: David S. Miller commit 104e28059d771274b545b4772a27c5c8f9af2767 Author: Sam Ravnborg Date: Fri Jan 2 18:39:10 2009 -0800 sparc32: drop __old_kernel_stat sparc32 does not define __ARCH_WANT_OLD_STAT so we do not use this structure neither do we support it. Signed-off-by: Sam Ravnborg Signed-off-by: David S. Miller commit a508228a9ed2c2b582cec7833b60f55d12789219 Author: Sam Ravnborg Date: Fri Jan 2 18:34:50 2009 -0800 sparc: unify posix_types.h The posix types differed so much in their definition that they are kept in separate blocks. Signed-off-by: Sam Ravnborg Signed-off-by: David S. Miller commit a66963a966881238d2738185e6f1adae1447f830 Author: Sam Ravnborg Date: Fri Jan 2 18:14:04 2009 -0800 sparc: delete unused config symbols There is no need to define a config symbol if it is never set to any value. Undefined symbols equal to 'n'. GENERIC_GPIO looks like it is similar but it is set using select in some other file so it must be kept. Signed-off-by: Sam Ravnborg Signed-off-by: David S. Miller commit 8e3bda0863c1578ddf47a015eac7dc6efb1ef48b Merge: 574c3fd 8e5033a Author: Linus Torvalds Date: Fri Jan 2 15:57:47 2009 -0800 Merge branch 'linux-next' of git://git.infradead.org/ubifs-2.6 * 'linux-next' of git://git.infradead.org/ubifs-2.6: (33 commits) UBIFS: add more useful debugging prints UBIFS: print debugging messages properly UBIFS: fix numerous spelling mistakes UBIFS: allow mounting when short of space UBIFS: fix writing uncompressed files UBIFS: fix checkpatch.pl warnings UBIFS: fix sparse warnings UBIFS: simplify make_free_space UBIFS: do not lie about used blocks UBIFS: restore budg_uncommitted_idx UBIFS: always commit on unmount UBIFS: use ubi_sync UBIFS: always commit in sync_fs UBIFS: fix file-system synchronization UBIFS: fix constants initialization UBIFS: avoid unnecessary calculations UBIFS: re-calculate min_idx_size after the commit UBIFS: use nicer 64-bit math UBIFS: fix available blocks count UBIFS: various comment improvements and fixes ... commit 574c3fdae3890e60f8bc59e8107686944ba1e446 Merge: 56635f7 f2863c5 Author: Linus Torvalds Date: Fri Jan 2 15:57:26 2009 -0800 Merge branch 'linux-next' of git://git.infradead.org/~dedekind/ubi-2.6 * 'linux-next' of git://git.infradead.org/~dedekind/ubi-2.6: UBI: fix checkpatch.pl warnings UBI: simplify PEB protection code UBI: prepare for protection tree improvements UBI: return -ENOMEM upon failing vmalloc UBI: document UBI ioctls UBI: handle write errors in WL worker UBI: fix error path UBI: some code re-structuring UBI: fix deadlock UBI: fix warnings when debugging is enabled commit 56635f7e6197404d7363f8dcaa7a97abf57276fb Merge: a8e7823 b67ff8c Author: Linus Torvalds Date: Fri Jan 2 15:56:54 2009 -0800 Merge git://git.kernel.org/pub/scm/linux/kernel/git/sam/kbuild-next * git://git.kernel.org/pub/scm/linux/kernel/git/sam/kbuild-next: kbuild: ignore a few files in headers_check kbuild: add checks for include of linux/types in userspace headers kbuild: drop debugging leftover in tags.sh kbuild: document environment variables kbuild: make *config usage docs kbuild: disable sparse warning "returning void-valued expression" kbuild: in headers_install autoconvert asm/inline/volatile to __xxx__ kbuild: check for leaked CONFIG_ symbols to userspace headers_check.pl: disallow extern's kconfig: improve error messages for bad source statements kconfig: struct property commented kconfig: add comments to symbol flags kconfig: explain symbol value defaults m68k: fix recursive dependency in Kconfig commit a8e782348d9f0dc64f6adb81f5f6959921949f13 Merge: 6680598 47dabdc Author: Linus Torvalds Date: Fri Jan 2 15:33:12 2009 -0800 Merge branch 'x86-fixes-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip * 'x86-fixes-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip: (27 commits) x86: mpparse.c fix style problems x86: nmi.c fix style problems x86: ldt.c fix style problems x86: cpuid.c fix style problems x86, UV: remove erroneous BAU initialization x86: fix incorrect __read_mostly on _boot_cpu_pda x86: convert permanent_kmaps_init() from macro to inline x86: early_printk - use sizeof instead of hardcoded number x86: xsave.c: restore_user_xstate should be static x86: uv_bau.h: fix dubious bitfield x86: apic.c: xapic_icr_read and x2apic_icr_read should be static x86: bios_uv.c: uv_systab should be static x86: genx2apic_phys.c: x2apic_send_IPI_self and init_x2apic_ldr should be static x86: amd_iommu.c: prealloc_protection_domains should be static x86: amd_iommu_init.c: iommu_enable and iommu_enable_event_logging should be static x86, pci: move arch/x86/pci/pci.h to arch/x86/include/asm/pci_x86.h x86_64: pci-gart_64.c iommu_fullflush should be static x86: efi.c declare add_efi_memmap before they get used x86: io_apic.c io_apic_sync should be static x86: apic.c declare pic_mode before they get used ... commit 37dd3cb4153084ff693e738b7ee087990d351e5e Author: Markus Trippelsdorf Date: Wed Dec 31 13:00:43 2008 +0100 x86: remove debug printks (io_apic.c) Impact: reduce printk noise The message "alloc irq_2_pin on cpu 0 node 0" is printed way too often. % dmesg|grep irq_2_pin|wc -l 20 Get rid of the debug printks. Signed-off-by: Markus Trippelsdorf Signed-off-by: Ingo Molnar commit 90621c40cc4ab7b0a414311ce37e7cc7173403b6 Author: Darren Hart Date: Mon Dec 29 19:43:21 2008 -0800 futex: catch certain assymetric (get|put)_futex_key calls Impact: add debug check Following up on my previous key reference accounting patches, this patch will catch puts on keys that haven't been "got". This won't catch nested get/put mismatches though. Build and boot tested, with minimal desktop activity and a run of the open_posix_testsuite in LTP for testing. No warnings logged. Signed-off-by: Darren Hart Cc: Signed-off-by: Ingo Molnar commit 47dabdc7fcd4daa52dcda72a1f18603dd168355d Merge: 923a789 46814dd Author: Ingo Molnar Date: Fri Jan 2 22:41:52 2009 +0100 Merge branches 'x86/cleanups', 'x86/fpu' and 'x86/urgent' into x86/core commit 923a789b49c7269a0245d5af6afe486188d940df Merge: 103ceff b840d79 Author: Ingo Molnar Date: Fri Jan 2 22:41:36 2009 +0100 Merge branch 'linus' into x86/cleanups Conflicts: arch/x86/kernel/reboot.c commit 79ff56ebd3edfb16f8badc558cb439b203a3298f Author: Roland Dreier Date: Tue Dec 30 20:18:00 2008 -0800 swiotlb: add missing __init annotations Impact: cleanup, reduce kernel size a bit The current kernel build warns: WARNING: vmlinux.o(.text+0x11458): Section mismatch in reference from the function swiotlb_alloc_boot() to the function .init.text:__alloc_bootmem_low() The function swiotlb_alloc_boot() references the function __init __alloc_bootmem_low(). This is often because swiotlb_alloc_boot lacks a __init annotation or the annotation of __alloc_bootmem_low is wrong. WARNING: vmlinux.o(.text+0x1011f2): Section mismatch in reference from the function swiotlb_late_init_with_default_size() to the function .init.text:__alloc_bootmem_low() The function swiotlb_late_init_with_default_size() references the function __init __alloc_bootmem_low(). This is often because swiotlb_late_init_with_default_size lacks a __init annotation or the annotation of __alloc_bootmem_low is wrong. and indeed the functions calling __alloc_bootmem_low() can be marked __init as well. Signed-off-by: Roland Dreier Signed-off-by: Ingo Molnar commit 6680598b44ed3c0052d155522eb21fc5a00de5f3 Author: Ingo Molnar Date: Fri Jan 2 18:53:14 2009 +0100 Disallow gcc versions 3.{0,1} GCC 3.0 and 3.1 are too old to build a working kernel. Signed-off-by: Ingo Molnar [ This check got dropped as obsolete when I simplified the gcc header inclusion mess in f153b82121b0366fe0e5f9553545cce237335175, but Willy Tarreau reports actually having those old versions still.. -Linus ] Signed-off-by: Linus Torvalds commit b840d79631c882786925303c2b0f4fefc31845ed Merge: 597b0d2 c3d8000 Author: Linus Torvalds Date: Fri Jan 2 11:44:09 2009 -0800 Merge branch 'cpus4096-for-linus-2' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip * 'cpus4096-for-linus-2' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip: (66 commits) x86: export vector_used_by_percpu_irq x86: use logical apicid in x2apic_cluster's x2apic_cpu_mask_to_apicid_and() sched: nominate preferred wakeup cpu, fix x86: fix lguest used_vectors breakage, -v2 x86: fix warning in arch/x86/kernel/io_apic.c sched: fix warning in kernel/sched.c sched: move test_sd_parent() to an SMP section of sched.h sched: add SD_BALANCE_NEWIDLE at MC and CPU level for sched_mc>0 sched: activate active load balancing in new idle cpus sched: bias task wakeups to preferred semi-idle packages sched: nominate preferred wakeup cpu sched: favour lower logical cpu number for sched_mc balance sched: framework for sched_mc/smt_power_savings=N sched: convert BALANCE_FOR_xx_POWER to inline functions x86: use possible_cpus=NUM to extend the possible cpus allowed x86: fix cpu_mask_to_apicid_and to include cpu_online_mask x86: update io_apic.c to the new cpumask code x86: Introduce topology_core_cpumask()/topology_thread_cpumask() x86: xen: use smp_call_function_many() x86: use work_on_cpu in x86/kernel/cpu/mcheck/mce_amd_64.c ... Fixed up trivial conflict in kernel/time/tick-sched.c manually commit b67ff8ce122f3353bd741db48ce1756c12fb5f2d Author: Sam Ravnborg Date: Wed Dec 31 09:32:30 2008 +0100 kbuild: ignore a few files in headers_check The new check for asm/types.h and linux/types.h had a few false positives. o We cannot let linux/types.h include linux/types.h o The int-ll64.h and int-ll64.h define the types and are included by linux/types.h Handle this by hardcoding the filenames in the headers_check script. Signed-off-by: Sam Ravnborg commit 483b41218fa9d5172312a9e294aaf78e22b266e6 Author: Sam Ravnborg Date: Tue Dec 30 11:34:58 2008 +0100 kbuild: add checks for include of linux/types in userspace headers If we see __[us](8|16|32|64) then we must include If wee see include of then we recommend Original script from Mike but modified by me. Cc: Mike Frysinger Signed-off-by: Sam Ravnborg commit 521b0c774d1350aac18f5cd35831469a4e879d72 Author: Sam Ravnborg Date: Tue Dec 30 10:20:08 2008 +0100 kbuild: drop debugging leftover in tags.sh Noticed by Jike. Reported-by: "Jike Song" Signed-off-by: Sam Ravnborg commit acc08b516f25b79cfcff310e51d95048bfcf7b0d Author: Sam Ravnborg Date: Mon Dec 29 13:45:52 2008 +0100 kbuild: document environment variables Add kbuild.txt to Documentation/kbuild More stuff can be added later - at least we have som of the varous environment variables documented now. Signed-off-by: Sam Ravnborg commit 2af238e455ef5fd31c2f7a06c2db3f13d843b9bf Author: Randy Dunlap Date: Fri Feb 29 14:21:53 2008 -0800 kbuild: make *config usage docs Create a kconfig user assistance guide, with a few tips and hints about using menuconfig, xconfig, and gconfig. Mostly contains user interface, environment variables, and search topics, along with mini.config/custom.config usage. Signed-off-by: Randy Dunlap Signed-off-by: Sam Ravnborg commit 80a7d1d991e35b0370c0396f36f6a076869a6bac Author: Hannes Eder Date: Sat Dec 27 22:38:44 2008 +0100 kbuild: disable sparse warning "returning void-valued expression" The sparse warning -Wreturn-void ("returning void-valued expression") is off by default, but it is enabled with -Wall, so add -Wno-return-void to CHECKFLAGS to disable it. Signed-off-by: Hannes Eder Signed-off-by: Sam Ravnborg commit 4307184f2b9240d0443bdf944c7b9eac044fe67b Author: Mike Frysinger Date: Sat Dec 27 03:23:15 2008 -0500 kbuild: in headers_install autoconvert asm/inline/volatile to __xxx__ Headers in userspace should be using the __xxx__ form of the asm, inline, and volatile keywords. Since people like to revert these things without realizing what's going on, have the headers install step autoconvert these keywords. Signed-off-by: Mike Frysinger Signed-off-by: Sam Ravnborg commit 7e557a2509f9e1477c10295b74e29e4e93fa2392 Author: Sam Ravnborg Date: Sat Dec 27 19:52:20 2008 +0100 kbuild: check for leaked CONFIG_ symbols to userspace Signed-off-by: Sam Ravnborg commit 46b8af50ba5c072b74740c5fa8ba08e6eabb22f8 Author: Mike Frysinger Date: Sat Dec 27 02:43:36 2008 -0500 headers_check.pl: disallow extern's Since prototypes with "extern" refer to kernel functions, they make no sense in userspace, so reject them automatically. Signed-off-by: Mike Frysinger [sam: made it into a warning] Signed-off-by: Sam Ravnborg commit 7826005e5a53645d7aab7c13eda76126eadebf0b Author: Sam Ravnborg Date: Sat Dec 27 21:51:59 2008 +0100 kconfig: improve error messages for bad source statements We now say where we detect the second source of a file, and where we detect a recursively source of the same file. This makes it easier to fix such errors. Signed-off-by: Sam Ravnborg Cc: Roman Zippel commit cf82607a904d3b2ed3d66f8799f00d1099c1849c Author: Sam Ravnborg Date: Fri Dec 26 21:32:31 2008 +0100 kconfig: struct property commented No functional changes Signed-off-by: Sam Ravnborg commit 5b2cf365a8e9bbf781939e941ed548c9743fdeea Author: Sam Ravnborg Date: Fri Dec 26 21:25:00 2008 +0100 kconfig: add comments to symbol flags No functional changes - only comments. Signed-off-by: Sam Ravnborg commit eaa2a87460eca27ce725d63bbcf3b2da053828b7 Author: Sam Ravnborg Date: Fri Dec 26 21:07:57 2008 +0100 kconfig: explain symbol value defaults Added a few comments - no functional change. Signed-off-by: Sam Ravnborg commit cfb2a494bb7dca9cf8d1632fbed14b34db051980 Author: Sam Ravnborg Date: Fri Dec 26 22:41:18 2008 +0100 m68k: fix recursive dependency in Kconfig We had a recursive dependency between MMU_MOTOROLA and MMU_SUN3 Fix it by dropping the unused dependencies on MMU_MOTOROLA. MMU_MOTOROLA is set to y only using select so any dependencies are anyway ignored. Signed-off-by: Sam Ravnborg Acked-by: Geert Uytterhoeven Cc: Roman Zippel commit 597b0d21626da4e6f09f132442caf0cc2b0eb47c Merge: 2640c9a 8791723 Author: Linus Torvalds Date: Fri Jan 2 11:41:11 2009 -0800 Merge branch 'kvm-updates/2.6.29' of git://git.kernel.org/pub/scm/linux/kernel/git/avi/kvm * 'kvm-updates/2.6.29' of git://git.kernel.org/pub/scm/linux/kernel/git/avi/kvm: (140 commits) KVM: MMU: handle large host sptes on invlpg/resync KVM: Add locking to virtual i8259 interrupt controller KVM: MMU: Don't treat a global pte as such if cr4.pge is cleared MAINTAINERS: Maintainership changes for kvm/ia64 KVM: ia64: Fix kvm_arch_vcpu_ioctl_[gs]et_regs() KVM: x86: Rework user space NMI injection as KVM_CAP_USER_NMI KVM: VMX: Fix pending NMI-vs.-IRQ race for user space irqchip KVM: fix handling of ACK from shared guest IRQ KVM: MMU: check for present pdptr shadow page in walk_shadow KVM: Consolidate userspace memory capability reporting into common code KVM: Advertise the bug in memory region destruction as fixed KVM: use cpumask_var_t for cpus_hardware_enabled KVM: use modern cpumask primitives, no cpumask_t on stack KVM: Extract core of kvm_flush_remote_tlbs/kvm_reload_remote_mmus KVM: set owner of cpu and vm file operations anon_inodes: use fops->owner for module refcount x86: KVM guest: kvm_get_tsc_khz: return khz, not lpj KVM: MMU: prepopulate the shadow on invlpg KVM: MMU: skip global pgtables on sync due to cr3 switch KVM: MMU: collapse remote TLB flushes on root sync ... commit 6b55009e1dc7c2a66c8f5fad67045f0536c9bbd8 Author: Michael Krufky Date: Fri Jan 2 15:55:29 2009 -0300 V4L/DVB (10170): tuner-simple: prevent possible OOPS caused by divide by zero error A user reported the following OOPS with his pcHDTV HD5500 card, which uses a cx88 PCI bridge with a LG-TDVS-H06xF frontend module, made up of a TUA6034 tuner, TDA988x IF demod, and LG DT3303 ATSC/QAM demod. Somehow, tuner-core gets loaded before the digital driver configures the tuner, and tuner-core somehow incorrectly sets the tuner type to LG NTSC (TAPE series) instead of LG TDVS-H06xF. This tuner type does not have the tuning stepsize defined, so an OOPS occurs during the digital tune function. We still dont know how the type gets set incorrectly in the first place. The user has a tainted kernel with a binary nividia module, which COULD have something to do with this, but it's hard to say for sure. Nevertheless, to avoid this division by zero, we should check that stepsize is defined. If stepsize is not defined, print an error and bail out on the tune request. cx8800 0000:05:01.0: PCI INT A -> GSI 19 (level, low) -> IRQ 19 cx88[0]: subsystem: 7063:5500, board: pcHDTV HD5500 HDTV [card=47,autodetected], frontend(s): 1 cx88[0]: TV tuner type 47, Radio tuner type -1 tuner' 2-0043: chip found @ 0x86 (cx88[0]) tda9887 2-0043: creating new instance tda9887 2-0043: tda988[5/6/7] found tuner' 2-0061: chip found @ 0xc2 (cx88[0]) tuner-simple 2-0061: creating new instance tuner-simple 2-0061: type set to 47 (LG NTSC (TAPE series)) cx88[0]/0: found at 0000:05:01.0, rev: 5, irq: 19, latency: 32, mmio: 0xea000000 cx88[0]/0: registered device video1 [v4l2] cx88[0]/0: registered device vbi1 cx88_audio 0000:05:01.1: PCI INT A -> GSI 19 (level, low) -> IRQ 19 cx88[0]/1: CX88x/0: ALSA support for cx2388x boards cx88[0]/2: cx2388x 8802 Driver Manager cx88-mpeg driver manager 0000:05:01.2: PCI INT A -> GSI 19 (level, low) -> IRQ 19 cx88[0]/2: found at 0000:05:01.2, rev: 5, irq: 19, latency: 32, mmio: 0xec000000 cx8802_probe() allocating 1 frontend(s) cx88/2: cx2388x dvb driver version 0.0.6 loaded cx88/2: registering cx8802 driver, type: dvb access: shared cx88[0]/2: subsystem: 7063:5500, board: pcHDTV HD5500 HDTV [card=47] cx88[0]/2: cx2388x based DVB/ATSC card tuner-simple 2-0061: attaching existing instance tuner-simple 2-0061: type set to 64 (LG NTSC (TAPE series)) tda9887 2-0043: attaching existing instance DVB: registering new adapter (cx88[0]) DVB: registering adapter 0 frontend 0 (LG Electronics LGDT3303 VSB/QAM Frontend)... [snip] stepsize=0 divide error: 0000 [1] SMP CPU 1 Modules linked in: nls_utf8 fuse sco bridge stp bnep l2cap bluetooth sunrpc nf_conntrack_netbios_ns nf_conntrack_ftp ip6t_REJECT nf_conntrack_ipv6 ip6table_filter ip6_tables ipv6 cpufreq_ondemand acpi_cpufreq freq_table xfs lgdt330x dm_multipath cx88_dvb cx88_vp3054_i2c uinput tda9887 tda8290 snd_emu10k1_synth snd_emux_synth snd_seq_virmidi snd_seq_midi_emul tuner_simple tuner_types tuner msp3400 cx8800 cx88_alsa cx8802 snd_emu10k1 cx88xx snd_rawmidi snd_ac97_codec ir_common ac97_bus saa7115 snd_seq_dummy snd_seq_oss snd_seq_midi_event videobuf_dvb snd_seq dvb_core snd_pcm_oss snd_mixer_oss snd_pcm snd_seq_device videobuf_dma_sg ppdev parport_pc snd_timer videobuf_core snd_page_alloc btcx_risc emu10k1_gp ivtv i2c_algo_bit cx2341x snd_util_mem snd_hwdep nvidia(P) gameport v4l2_common i2c_i801 snd soundcore parport videodev v4l1_compat v4l2_compat_ioctl32 tveeprom i2c_core pcspkr iTCO_wdt iTCO_vendor_support sky2 joydev floppy shpchp ata_generic pata_acpi pata_jmicron [last unloaded: microcode] Pid: 3553, comm: kdvb-ad-0-fe-0 Tainted: P 2.6.27.9-159.fc10.x86_64 #1 RIP: 0010:[] [] simple_dvb_calc_regs+0xab/0x281 [tuner_simple] RSP: 0018:ffff8800605dfd30 EFLAGS: 00010246 RAX: 000000000365c040 RBX: ffff8800605dfdb0 RCX: ffff88007acb8c10 RDX: 0000000000000000 RSI: 0000000000000000 RDI: 0000000000000246 RBP: ffff8800605dfda0 R08: ffff8800605dfba0 R09: 0000000000000082 R10: 00000010e73c9df1 R11: 0000000100000000 R12: ffff88007ac29c00 R13: ffff88007ac29c00 R14: ffff88007acbb408 R15: ffffffffa09b6fb0 FS: 0000000000000000(0000) GS:ffff88007f804880(0000) knlGS:0000000000000000 CS: 0010 DS: 0018 ES: 0018 CR0: 000000008005003b CR2: 00000000004e8f40 CR3: 000000007114e000 CR4: 00000000000006e0 DR0: 0000000000000000 DR1: 0000000000000000 DR2: 0000000000000000 DR3: 0000000000000000 DR6: 00000000ffff0ff0 DR7: 0000000000000400 Process kdvb-ad-0-fe-0 (pid: 3553, threadinfo ffff8800605de000, task ffff88006fca0000) Stack: ffff8800605dfd40 00000000ffffffa1 ffff88007c055860 0000000000000001 ffff8800605dfda0 ffff8800605dfda0 ffff88007acb8c10 ffffffffa004e48c 8e01880000000390 ffff88007acb8c10 ffff88007ac29c00 0000000000000000 Call Trace: [] ? i2c_transfer+0x80/0x8b [i2c_core] [] simple_dvb_set_params+0x3e/0x9b [tuner_simple] [] lgdt330x_set_parameters+0x188/0x1b9 [lgdt330x] [] dvb_frontend_swzigzag_autotune+0x18e/0x1b5 [dvb_core] [] dvb_frontend_swzigzag+0x1bc/0x21e [dvb_core] [] dvb_frontend_thread+0x528/0x62b [dvb_core] [] ? autoremove_wake_function+0x0/0x38 [] ? dvb_frontend_thread+0x0/0x62b [dvb_core] [] kthread+0x49/0x76 [] child_rip+0xa/0x11 [] ? restore_args+0x0/0x30 [] ? kthread+0x0/0x76 [] ? child_rip+0x0/0x11 Code: 48 8b 05 2a 4e 00 00 41 8b 77 1c 31 d2 0f b7 40 0a 89 f1 03 45 d0 d1 e9 03 0d 23 4e 00 00 69 c0 24 f4 00 00 8d 04 01 48 8b 4d c0 f6 8a 55 d6 88 53 04 41 89 c4 c1 e8 08 88 43 01 8a 45 d7 44 RIP [] simple_dvb_calc_regs+0xab/0x281 [tuner_simple] RSP Signed-off-by: Michael Krufky Signed-off-by: Mauro Carvalho Chehab commit f4c82548d4fa86fb3606f6ee219b070b88592a1e Author: Michael Krufky Date: Mon Dec 15 17:28:41 2008 -0300 V4L/DVB (10168): sms1xxx: fix inverted gpio for lna control on tiger r2 The GPIO logic for LNA control on the Tiger r2 devices was inverted. This patch corrects the problem. Signed-off-by: Michael Krufky Signed-off-by: Mauro Carvalho Chehab commit dd72f31b4fa87c68e16484a3ed3e4d1843ad7f06 Author: Michael Krufky Date: Fri Nov 28 01:02:56 2008 -0300 V4L/DVB (10167): sms1xxx: add support for inverted gpio negative gpio values signify inverted polarity Signed-off-by: Michael Krufky Signed-off-by: Mauro Carvalho Chehab commit e4cda3e0728156c6be1d03e72ef20ea811da4ad5 Author: Mauro Carvalho Chehab Date: Wed Dec 31 14:26:57 2008 -0300 V4L/DVB (10166): dvb frontend: stop using non-C99 compliant comments Signed-off-by: Mauro Carvalho Chehab commit faed4aa586f0c16020676481033665e959916c6a Author: Klaus Schmidinger Date: Wed Dec 31 14:13:56 2008 -0300 V4L/DVB (10165): Add FE_CAN_2G_MODULATION flag to frontends that support DVB-S2 Report to userspace that cx24116 and stv0899 drivers support DVB-S2. Signed-off by: Klaus Schmidinger Acked-by: Steven Toth Signed-off-by: Mauro Carvalho Chehab commit cb889a2f3515b140bef193cf6ffcdb099349b8aa Author: Klaus Schmidinger Date: Wed Dec 31 14:11:23 2008 -0300 V4L/DVB (10164): Add missing S2 caps flag to S2API The attached patch adds a capability flag that allows an application to determine whether a particular device can handle "second generation modulation" transponders. This is necessary in order for applications to be able to decide which device to use for a given channel in a multi device environment, where DVB-S and DVB-S2 devices are mixed. It is assumed that a device capable of handling "second generation modulation" can implicitly handle "first generation modulation". The flag is not named anything with DVBS2 in order to allow its use with future DVBT2 devices as well (should they ever come). Signed-off by: Klaus Schmidinger Acked-by: Steven Toth Signed-off-by: Mauro Carvalho Chehab commit 9baed99ee7a834b1f2599e13f219087f01c63f38 Author: Mauro Carvalho Chehab Date: Wed Dec 31 09:37:33 2008 -0300 V4L/DVB (10163): em28xx: allocate adev together with struct em28xx dev Some devices require different setups on struct_audio. Due to that, we may need to change some fields at dev.adev during device probe. So, this patch moves the dynamic memory allocation of adev at em28xx-alsa to the dynamic allocation of struct em28xx dev that happens during device probe. Signed-off-by: Mauro Carvalho Chehab commit 0b82c5d6748a15758875f78ac772c6d48ebead2a Author: Mauro Carvalho Chehab Date: Wed Dec 31 09:34:18 2008 -0300 V4L/DVB (10162): tuner-simple: Fix tuner type set message Signed-off-by: Mauro Carvalho Chehab commit 4a87d7c4f259efa89ae6627c49e403eef51a3058 Author: Pham Thanh Nam Date: Wed Dec 31 06:57:19 2008 -0300 V4L/DVB (10161): saa7134: fix autodetection for AVer TV GO 007 FM Plus This patch fixes autodetection for Avermedia AVerTV GO 007 FM Plus (M15C) (PCI ID 1461:f31d). Signed-off-by: Pham Thanh Nam Signed-off-by: Mauro Carvalho Chehab commit 87ea5f9d389717ff6da60dc014ce79ae14b7947c Author: Mauro Carvalho Chehab Date: Wed Dec 31 06:37:50 2008 -0300 V4L/DVB (10160): em28xx: update chip id for em2710 em2710 uses the same chip ID as em2820 (0x12). Signed-off-by: Mauro Carvalho Chehab commit 5e6de7d9a1a373414a41a7441100f90b71c6119f Author: Mark Lord Date: Wed Dec 3 15:26:15 2008 -0300 V4L/DVB (10157): Add USB ID for the Sil4701 radio from DealExtreme Signed-off-by: Mark Lord Cc: Greg KH Signed-off-by: Andrew Morton [tobias.lorenz@gmx.net: Code beautifications and documentation added] Signed-off-by: Tobias Lorenz Signed-off-by: Mauro Carvalho Chehab commit 6a2d802ca01bd83b860145e7497a7a049c354cd7 Author: Pham Thanh Nam Date: Tue Dec 30 23:26:09 2008 -0300 V4L/DVB (10156): saa7134: Add support for Avermedia AVer TV GO 007 FM Plus This patch adds support for Avermedia AVer TV GO 007 FM Plus (M15C) on saa7134 driver (PCI ID 1461:f31d). Signed-off-by: Pham Thanh Nam Signed-off-by: Mauro Carvalho Chehab commit 46a60cfef581307d8273919182ae939d44ff7cca Author: Fabio Belavenuto Date: Tue Dec 30 19:27:09 2008 -0300 V4L/DVB (10155): Add TEA5764 radio driver Add support for radio driver TEA5764 from NXP. This chip is connected in pxa I2C bus in EZX phones from Motorola, the chip is used in phone model A1200. This driver is for OpenEZX project (www.openezx.org) Tested with A1200 phone, openezx kernel and fm-tools [mchehab@redhat.com: Fixed CodingStyle and solved some merge conflicts] Signed-off-by: Fabio Belavenuto Signed-off-by: Mauro Carvalho Chehab commit b0c4be8cffb3f466759ddf621a74a10093537521 Author: Mauro Carvalho Chehab Date: Tue Dec 30 19:10:09 2008 -0300 V4L/DVB (10154): saa7134: fix a merge conflict on Behold H6 board Signed-off-by: Mauro Carvalho Chehab commit 47aeba5addd88b178438ba9000600b9844ca0ee1 Author: Dmitri Belimov Date: Tue Dec 23 03:53:03 2008 -0300 V4L/DVB (10153): Add the Beholder H6 card to DVB-T part of sources. Signed-off-by: Beholder Intl. Ltd. Dmitry Belimov Signed-off-by: Mauro Carvalho Chehab commit f204ae40ad79bbf50d85427a5cf39fcebdb4a993 Author: Dmitri Belimov Date: Tue Dec 23 03:51:38 2008 -0300 V4L/DVB (10152): Change configuration of the Beholder H6 card Signed-off-by: Beholder Intl. Ltd. Dmitry Belimov Signed-off-by: Mauro Carvalho Chehab commit 899a6f67b90206c330bd93c7c8f3f8bb8b80397a Author: Dmitri Belimov Date: Tue Dec 23 03:50:09 2008 -0300 V4L/DVB (10151): Fix I2C bridge error in zl10353 Fix I2C bridge error in zl10353 if no tunner attached to internal I2C bus of zl10353 chip. When set enable bridge from internal I2C bus to the main I2C bus (saa7134) the main I2C bus stopped very hardly. No any communication. In our next board we solder additional resistors to internal I2C bus. Signed-off-by: Beholder Intl. Ltd. Dmitry Belimov Signed-off-by: Mauro Carvalho Chehab commit 91f7c130c277a08ebef92ac23ed60adc62e505e0 Author: Mike Frysinger Date: Wed Nov 12 12:04:28 2008 -0300 V4L/DVB (10150): ttusb-dec: make it depend on PCI Since ttusb_dec.c relies on pci_alloc_consistent and pci_free_consistent, make it depend on PCI in Kconfig. Signed-off-by: Mike Frysinger Signed-off-by: Mauro Carvalho Chehab commit fbe9834a4a67a21a405043af727073acd103f842 Author: Mike Frysinger Date: Wed Nov 12 12:00:18 2008 -0300 V4L/DVB (10149): ttusb-budget: make it depend on PCI Since dvb-ttusb-budget.c relies on pci_alloc_consistent and pci_free_consistent, make it depend on PCI in Kconfig. Signed-off-by: Mike Frysinger Signed-off-by: Mauro Carvalho Chehab commit f347535a6065be6f9e65526fa82c088d68040f42 Author: roel kluin Date: Wed Nov 26 22:03:18 2008 -0300 V4L/DVB (10148): cx23885: unsigned cx23417_mailbox cannot be negative Unsigned cx23417_mailbox cannot be negative Signed-off-by: Roel Kluin Signed-off-by: Mauro Carvalho Chehab commit 9ed55375919bc30c448c6dd5107e8d593f96856f Author: Cyrill Gorcunov Date: Tue Dec 30 16:40:00 2008 -0300 V4L/DVB (10144): cx24116: build fix Add missed MODULE check to eliminate inapropriate declaration being choosed which causes a build error. Signed-off-by: Cyrill Gorcunov Signed-off-by: Mauro Carvalho Chehab commit aecde8b53b8ee1330a5a8206200f0d6b8845a6e0 Author: Hans Verkuil Date: Tue Dec 30 07:14:19 2008 -0300 V4L/DVB (10141): v4l2: debugging API changed to match against driver name instead of ID. Since the i2c driver ID will be removed in the near future we have to modify the v4l2 debugging API to use the driver name instead of driver ID. Note that this API is not used in applications other than v4l2-dbg.cpp as it is for debugging and testing only. Should anyone use the old VIDIOC_G_CHIP_IDENT, then this will be logged with a warning that it is deprecated and will be removed in 2.6.30. Signed-off-by: Hans Verkuil Signed-off-by: Mauro Carvalho Chehab commit da1b5c95e49bb564ae8c61ed135d34ed09acbb66 Author: Hans Verkuil Date: Tue Dec 30 07:07:53 2008 -0300 V4L/DVB (10140): gp8psk: fix incorrect return code (EINVAL instead of -EINVAL) Signed-off-by: Hans Verkuil Signed-off-by: Mauro Carvalho Chehab commit 9bb7cde793f0637cfbdd21c04050ffcef33a5624 Author: Hans Verkuil Date: Tue Dec 30 06:42:40 2008 -0300 V4L/DVB (10139): v4l: rename v4l_compat_ioctl32 to v4l2_compat_ioctl32 This rename prevents conflicts with the older compat_ioctl32 module. Signed-off-by: Hans Verkuil Signed-off-by: Mauro Carvalho Chehab commit 069b747931f13eda289c1d59a09ecc8162281a76 Author: Hans Verkuil Date: Tue Dec 30 07:04:34 2008 -0300 V4L/DVB (10138): v4l2-ioctl: change to long return type to match unlocked_ioctl. Since internal to v4l2 the ioctl prototype is the same regardless of it being called through .ioctl or .unlocked_ioctl, we need to convert it all to the long return type of unlocked_ioctl. Thanks to Jean-Francois Moine for posting an initial patch for this and thus bringing it to our attention. Cc: Jean-Francois Moine Signed-off-by: Hans Verkuil Signed-off-by: Mauro Carvalho Chehab commit 4ab9203b1b7e45f1beae7eb0c67d663a26257a69 Author: Hans Verkuil Date: Tue Dec 23 15:02:16 2008 -0300 V4L/DVB (10137): v4l2-compat32: only build if needed Add CONFIG_COMPAT check in Makefile. Signed-off-by: Hans Verkuil Signed-off-by: Mauro Carvalho Chehab commit c7dd09dabc278b03980c8e93d0eee3843b5ad514 Author: Hans Verkuil Date: Tue Dec 23 13:42:25 2008 -0300 V4L/DVB (10136): v4l2 doc: update v4l2-framework.txt Mention the new v4l2_file_operations struct. Signed-off-by: Hans Verkuil Signed-off-by: Mauro Carvalho Chehab commit bec43661b1dc0075b7445223ba775674133b164d Author: Hans Verkuil Date: Tue Dec 30 06:58:20 2008 -0300 V4L/DVB (10135): v4l2: introduce v4l2_file_operations. Introduce a struct v4l2_file_operations for v4l2 drivers. Remove the unnecessary inode argument. Move compat32 handling (and llseek) into the v4l2-dev core: this is now handled in the v4l2 core and no longer in the drivers themselves. Note that this changeset reverts an earlier patch that changed the return type of__video_ioctl2 from int to long. This change will be reinstated later in a much improved version. Signed-off-by: Hans Verkuil Signed-off-by: Mauro Carvalho Chehab commit dfa9a5ae679ff2d23caa995d0f55a19abaf0596e Author: Hans Verkuil Date: Tue Dec 23 12:17:23 2008 -0300 V4L/DVB (10134): v4l2 doc: set v4l2_dev instead of parent. Update the documentation now that the v4l2_dev field is in. Signed-off-by: Hans Verkuil Signed-off-by: Mauro Carvalho Chehab commit 50a2a8b35edec09aff900a9b1c629776e11c5c88 Author: Hans Verkuil Date: Mon Dec 22 09:13:11 2008 -0300 V4L/DVB (10133): v4l2-framework: use correct comment style. Signed-off-by: Hans Verkuil Signed-off-by: Mauro Carvalho Chehab commit 7943ecf161753ae92af74e7587c8438f221d55a5 Author: Hans Verkuil Date: Tue Dec 23 14:37:43 2008 -0300 V4L/DVB (10132): v4l2-compat-ioctl32: remove dependency on videodev. Signed-off-by: Hans Verkuil Signed-off-by: Mauro Carvalho Chehab commit 2640c9a90fa596871e142f42052608864335f102 Merge: 80618fa b16aabc Author: Linus Torvalds Date: Fri Jan 2 10:32:18 2009 -0800 Merge git://git.kernel.org/pub/scm/linux/kernel/git/bart/ide-2.6 * git://git.kernel.org/pub/scm/linux/kernel/git/bart/ide-2.6: (32 commits) ide-atapi: start dma in a drive-specific way ide-atapi: put the rest of non-ide-cd code into the else-clause of ide_transfer_pc ide-atapi: remove timeout arg to ide_issue_pc ide-cd: remove handler wrappers ide-cd: remove xferlen arg to cdrom_start_packet_command ide-atapi: split drive-specific functionality in ide_issue_pc ide-atapi: assign expiry and timeout based on device type ide-atapi: compute cmd_len based on device type in ide_transfer_pc ide: remove the last ide-scsi remnants ide-atapi: remove ide-scsi remnants from ide_pc_intr() ide-atapi: remove ide-scsi remnants from ide_transfer_pc() ide-atapi: remove ide-scsi remnants from ide_issue_pc ide-cd: move cdrom_timer_expiry to ide-atapi.c ide-atapi: teach ide atapi about drive->waiting_for_dma ide-atapi: accomodate transfer length calculation for ide-cd ide-atapi: setup dma for ide-cd ide-atapi: combine drive-specific assignments ide-atapi: add a dev_is_idecd-inline remove ide-scsi ide-floppy: allocate only toplevel packet commands ... commit 80618fa83a34a26199fa99cfd06476a81ddf57df Merge: 92cde4d b21a207 Author: Linus Torvalds Date: Fri Jan 2 10:31:04 2009 -0800 Merge branch 'for-upstream' of git://git.kernel.org/pub/scm/linux/kernel/git/dvrabel/uwb * 'for-upstream' of git://git.kernel.org/pub/scm/linux/kernel/git/dvrabel/uwb: (31 commits) uwb: remove beacon cache entry after calling uwb_notify() uwb: remove unused include/linux/uwb/debug.h uwb: use print_hex_dump() uwb: use dev_dbg() for debug messages uwb: fix memory leak in uwb_rc_notif() wusb: fix oops when terminating a non-existant reservation uwb: fix oops when terminating an already terminated reservation uwb: improved MAS allocator and reservation conflict handling wusb: add debug files for ASL, PZL and DI to the whci-hcd driver uwb: fix oops in debug PAL's reservation callback uwb: clean up whci_wait_for() timeout error message wusb: whci-hcd shouldn't do ASL/PZL updates while channel is inactive uwb: remove unused beacon group join/leave events wlp: start/stop radio on network interface up/down uwb: add basic radio manager uwb: add pal parameter to new reservation callback uwb: fix races between events and neh timers uwb: don't unbind the radio controller driver when resetting uwb: per-radio controller event thread and beacon cache uwb: add commands to add/remove IEs to the debug interface ... commit 92cde4d5396c3b6cbf3192286b687f97a889dffe Author: Paul Mackerras Date: Fri Jan 2 15:40:55 2009 +1100 Update powerpc maintainers Ben Herrenschmidt is taking over as the primary powerpc architecture maintainer. I'll still be around as his backup/deputy. Signed-off-by: Paul Mackerras Acked-by: Grant Likely Signed-off-by: Linus Torvalds commit f0f0ce97e128569d07fae98c62d8cff1e042fa1e Merge: e8e3232 bef2a50 Author: Linus Torvalds Date: Fri Jan 2 10:28:41 2009 -0800 Merge branch 'i8k-updates' from Alan * i8k-updates: i8k: Add Dell Vostro systems i8k: Enable i8k on Dell Precision Systems commit bef2a508b4276fd7897b2cb27df037d26361842c Author: Federico Heinz Date: Fri Jan 2 16:19:23 2009 +0000 i8k: Add Dell Vostro systems This trivial patch adds support for i8k on the new Dell Vostro models. I tested it on my Vostro 1400, and it works. It does print a warning when loading the module: i8k: unable to get SMM BIOS version But I couldn't figure out how to fix that. The module seems to work fine, anyway... Signed-off-by: Federico Heinz Signed-off-by: Alan Cox Signed-off-by: Linus Torvalds commit 7ab21a8692094872298df172f54d55cba72fd308 Author: Andy Spencer Date: Fri Jan 2 16:19:13 2009 +0000 i8k: Enable i8k on Dell Precision Systems Patch to enable i8k on Dell Precisions. Signed-off-by: Andy Spencer Signed-off-by: Alan Cox Signed-off-by: Linus Torvalds commit e8e32326279cba3d049b4325111f76618953195c Author: Ingo Brueckl Date: Fri Jan 2 14:42:00 2009 +0100 Fix compiler warning in arch/x86/mm/init_32.c Signed-off-by: Ingo Brueckl Signed-off-by: Linus Torvalds commit d2fde28ce793c09c1ea36d981cb6765174fd1eea Merge: 609e5b7 e65f0f8 Author: Linus Torvalds Date: Fri Jan 2 10:25:51 2009 -0800 Merge branch 'tty-updates' from Alan * tty-updates: (75 commits) serial_8250: support for Sealevel Systems Model 7803 COMM+8 hso maintainers update patch hso modem detect fix patch against Alan Cox'es tty tree tty: Fix an ircomm warning and note another bug drivers/char/cyclades.c: cy_pci_probe: fix error path Serial: UART driver changes for Cavium OCTEON. Serial: Allow port type to be specified when calling serial8250_register_port. 8250: Serial driver changes to support future Cavium OCTEON serial patches. 8250: Don't clobber spinlocks. fix for tty-serial-move-port tty: We want the port object to be persistent __FUNCTION__ is gcc-specific, use __func__ serial: RS485 ioctl structure uses __u32 include linux/types.h tty: Drop the lock_kernel in the private ioctl hook synclink_cs: Convert to tty_port tty: use port methods for the rocket driver tty: kref the rocket driver tty: make rocketport use standard port->flags tty: Redo the rocket driver locking tty: Make epca use the port helpers ... commit 103ceffb9501531f6931df6aebc11a05189201f0 Author: Jaswinder Singh Rajput Date: Fri Jan 2 23:43:25 2009 +0530 x86: mpparse.c fix style problems Impact: cleanup, fix style problems, more readable Fixes style problems: WARNING: Use #include instead of WARNING: Use #include instead of WARNING: suspect code indent for conditional statements (8, 17) WARNING: space prohibited between function name and open parenthesis '(' total: 0 errors, 5 warnings Signed-off-by: Jaswinder Singh Rajput Signed-off-by: Ingo Molnar commit e65f0f8271b1b0452334e5da37fd35413a000de4 Author: Flavio Leitner Date: Fri Jan 2 13:50:43 2009 +0000 serial_8250: support for Sealevel Systems Model 7803 COMM+8 Add support for Sealevel Systems Model 7803 COMM+8 Signed-off-by: Flavio Leitner Signed-off-by: Alan Cox Signed-off-by: Linus Torvalds commit 11cd29b028be88b13717401496fe4953fb96be03 Author: Denis Joseph Barrow Date: Fri Jan 2 13:50:36 2009 +0000 hso maintainers update patch Added D.J. Barrow as maintainer of hso driver. Signed-off-by: Denis Joseph Barrow Signed-off-by: Alan Cox Signed-off-by: Linus Torvalds commit 58eb17f155704062d76729d1fb7e23d3559ca86a Author: Denis Joseph Barrow Date: Fri Jan 2 13:50:29 2009 +0000 hso modem detect fix patch against Alan Cox'es tty tree Fixed incorrect check for the modem port, this prevents crashes caused by issueing a tiocmget_submit_urb on endpoints which don't exist for non modem devices. Signed-off-by: Denis Joseph Barrow Signed-off-by: Alan Cox Signed-off-by: Linus Torvalds commit ad36b88e2d22e9ef42797581d3ecea9feadd9488 Author: Alan Cox Date: Fri Jan 2 13:50:20 2009 +0000 tty: Fix an ircomm warning and note another bug Roel Kluin noted that line is unsigned so one test is unneccessary. Also add a warning for another flaw I noticed while making this change. Signed-off-by: Alan Cox Signed-off-by: Linus Torvalds commit c847d47cb7b2fa78b17c9e17ed3fbd010ee3d3ca Author: Andrew Morton Date: Fri Jan 2 13:50:07 2009 +0000 drivers/char/cyclades.c: cy_pci_probe: fix error path We forgot to release resources in one case. Addresses http://bugzilla.kernel.org/show_bug.cgi?id=12137 Reported-by: Florian Lohoff Signed-off-by: Andrew Morton Signed-off-by: Alan Cox Signed-off-by: Linus Torvalds commit 6b06f19151c335ee0c5b61839fa4e6838182ebb8 Author: David Daney Date: Fri Jan 2 13:50:00 2009 +0000 Serial: UART driver changes for Cavium OCTEON. Cavium UART implementation is not covered by existing uart_configS. Define a new uart_config (PORT_OCTEON) which is specified by OCTEON platform device registration code. Signed-off-by: Tomaso Paoletti Signed-off-by: David Daney Signed-off-by: Alan Cox Signed-off-by: Linus Torvalds commit 8e23fcc89c8091790903927449f8efb9b4e23960 Author: David Daney Date: Fri Jan 2 13:49:54 2009 +0000 Serial: Allow port type to be specified when calling serial8250_register_port. Add flag value UPF_FIXED_TYPE which specifies that the UART type is known and should not be probed. For this case the UARTs properties are just copied out of the uart_config entry. This allows us to keep SOC specific 8250 probe code out of 8250.c. In this case we know the serial hardware will not be changing as it is on the same silicon as the CPU, and we can specify it with certainty in the board/cpu setup code. The alternative is to load up 8250.c with a bunch of OCTEON specific special cases in the probing code. Signed-off-by: David Daney Signed-off-by: Andrew Morton Signed-off-by: Alan Cox Signed-off-by: Linus Torvalds commit 7d6a07d123b62bf4fa71867420c23da3ca36c995 Author: David Daney Date: Fri Jan 2 13:49:47 2009 +0000 8250: Serial driver changes to support future Cavium OCTEON serial patches. In order to use Cavium OCTEON specific serial i/o drivers, we first patch the 8250 driver to use replaceable I/O functions. Compatible I/O functions are added for existing iotypeS. An added benefit of this change is that it makes it easy to factor some of the existing special cases out to board/SOC specific support code. The alternative is to load up 8250.c with a bunch of OCTEON specific iotype code and bug work-arounds. Signed-off-by: David Daney Signed-off-by: Tomaso Paoletti Signed-off-by: Andrew Morton Signed-off-by: Alan Cox Signed-off-by: Linus Torvalds commit b430428a188e8a434325e251d0704af4b88b4711 Author: David Daney Date: Fri Jan 2 13:49:41 2009 +0000 8250: Don't clobber spinlocks. In serial8250_isa_init_ports(), the port's lock is initialized. We should not overwrite it. In early_serial_setup(), only copy in the fields we need. Since the early console code only uses a subset of the fields, these are sufficient. Signed-off-by: David Daney Signed-off-by: Tomaso Paoletti Signed-off-by: Andrew Morton Signed-off-by: Alan Cox Signed-off-by: Linus Torvalds commit bc3256288b8ff9787623805e53cf7c6d5a2b4591 Author: Alexander Beregalov Date: Fri Jan 2 13:49:32 2009 +0000 fix for tty-serial-move-port Hi Alan next-20081204 crashes with the following message: BUG: unable to handle kernel paging request at ffff88007d320248 IP: [] uart_remove_one_port+0xef/0x111 kfree(info); 393: 49 8d 7d 10 lea 0x10(%r13),%rdi 397: e8 00 00 00 00 callq 39c Signed-off-by: Alexander Beregalov Signed-off-by: Alan Cox Signed-off-by: Linus Torvalds commit f751928e0ddf54ea4fe5546f35e99efc5b5d9938 Author: Alan Cox Date: Fri Jan 2 13:49:21 2009 +0000 tty: We want the port object to be persistent Move the tty_port and uart_info bits around a little. By embedding the uart_info into the uart_port we get rid of lots of corner case testing and also get the ability to go port<->state<->info which is a bit more elegant than the current data structures. Downsides - we allocate a tiny bit more memory for unused ports, upside we've removed as much code as it saved for most users.. Signed-off-by: Alan Cox Signed-off-by: Linus Torvalds commit 6ef53066ff7991d5f9670340e92d42ee1776bbe4 Author: Harvey Harrison Date: Fri Jan 2 13:49:13 2009 +0000 __FUNCTION__ is gcc-specific, use __func__ Signed-off-by: Harvey Harrison Signed-off-by: Andrew Morton Signed-off-by: Alan Cox Signed-off-by: Linus Torvalds commit 60c20fb8c00a2b23308ae4517f145383bc66d291 Author: Andy Whitcroft Date: Fri Jan 2 13:49:04 2009 +0000 serial: RS485 ioctl structure uses __u32 include linux/types.h In the commit below a new struct serial_rs485 was introduced for a new ioctl: commit c26c56c0f40e200e61d1390629c806f6adaffbcc Author: Alan Cox Date: Mon Oct 13 10:37:48 2008 +0100 tty: Cris has a nice RS485 ioctl so we should steal it This structure uses the __u32 types for some of its members, which leads to the following compile error: $ cc -I.../include -c X.c In file included from X.c:2: .../include/linux/serial.h:185: error: expected specifier-qualifier-list before ‘__u32’ $ It seems that these types are appropriate for this structure as it is to be exposed to userspace. These types are available via linux/types.h so move the include of that outside the __KERNEL__ section. Signed-off-by: Andy Whitcroft Signed-off-by: Andrew Morton Signed-off-by: Alan Cox Signed-off-by: Linus Torvalds commit 6b447f04a9aecdf2a30c1a97e4b034ac7931bb70 Author: Alan Cox Date: Fri Jan 2 13:48:56 2009 +0000 tty: Drop the lock_kernel in the private ioctl hook We don't need the BKL here any more so it can go. In a couple of spots the driver requirements are not clear so push the lock down into the driver. Signed-off-by: Alan Cox Signed-off-by: Linus Torvalds commit eeb4613436f0f19a38f667ea3078821040559c68 Author: Alan Cox Date: Fri Jan 2 13:48:47 2009 +0000 synclink_cs: Convert to tty_port Use the tty port operations, add refcounting, and refactor a bit to make the refcounting work cleanly. Signed-off-by: Alan Cox Signed-off-by: Linus Torvalds commit fba85e013f106a44e91ef5edec899fc56a7e61ee Author: Alan Cox Date: Fri Jan 2 13:48:39 2009 +0000 tty: use port methods for the rocket driver Now we have our ducks in order we can begin switching to the port operations Signed-off-by: Alan Cox Signed-off-by: Linus Torvalds commit 47b01b3a5fc7239f3e8d5d5cadc88afbea24d0c3 Author: Alan Cox Date: Fri Jan 2 13:48:30 2009 +0000 tty: kref the rocket driver We will need this kref fitted to make full use of the port operations. Signed-off-by: Alan Cox Signed-off-by: Linus Torvalds commit 21bed701da009b4192d9e86b3596cf210ac7369c Author: Alan Cox Date: Fri Jan 2 13:48:23 2009 +0000 tty: make rocketport use standard port->flags We need to this ready for using the standard helpers Signed-off-by: Alan Cox Signed-off-by: Linus Torvalds commit c1314a49d7907b96d72f2c41f8927fc3c738e956 Author: Alan Cox Date: Fri Jan 2 13:48:17 2009 +0000 tty: Redo the rocket driver locking Bring this driver into the port locking model Signed-off-by: Alan Cox Signed-off-by: Linus Torvalds commit 6ed1dbaeadd62a026a93aa3ac8680d2dfe9f96b3 Author: Alan Cox Date: Fri Jan 2 13:48:11 2009 +0000 tty: Make epca use the port helpers Now the locking is straight and the port kref usage is straight we can replace lots of chunks of code with the standard port helpers Signed-off-by: Alan Cox Signed-off-by: Linus Torvalds commit 3969ffba71d39ced700d09d9cfde83174396299e Author: Alan Cox Date: Fri Jan 2 13:48:04 2009 +0000 tty: refcount the epca driver Signed-off-by: Alan Cox Signed-off-by: Linus Torvalds commit d1c815e549ff40f9e9db65654855118e6bdff6a4 Author: Alan Cox Date: Fri Jan 2 13:47:58 2009 +0000 tty: relock epca Bring epca into line with the port locking. Signed-off-by: Alan Cox Signed-off-by: Linus Torvalds commit 542f54823614915780c3459b0e6062f06c0c0f99 Author: Denis Joseph Barrow Date: Fri Jan 2 13:47:52 2009 +0000 tty: Modem functions for the HSO driver Makes TIOCM ioctls for Data Carrier Detect & related functions work like /drivers/serial/serial-core.c potentially needed for pppd & similar user programs. Signed-off-by: Denis Joseph Barrow Signed-off-by: Alan Cox Signed-off-by: Linus Torvalds commit ac9720c37e8795317e8be3adad63cb0d5522a640 Author: Alan Cox Date: Fri Jan 2 13:47:45 2009 +0000 tty: Fix the HSO termios handling a bit Init the tty structure once Don't set ->low_latency twice in a row Don't force bits we should be leaving to the user Don't allocate termios arrays as these are in fact allocated by the tty layer for you and just overwrite the ones allocated in the driver Signed-off-by: Alan Cox Signed-off-by: Linus Torvalds commit e136e3036bf27569dbfeae245cc09c7167cdc749 Author: Alan Cox Date: Fri Jan 2 13:47:39 2009 +0000 hso: net driver using tty without locking Checking tty == NULL doesn't help us unless we have a clear semantic for the locking of the tty object in the driver. Use the tty kref objects so that we can take references to the tty in the USB event handling paths. Signed-off-by: Alan Cox Signed-off-by: Linus Torvalds commit 33dd474ae712dc435eb586b44cb771cc8d24e2bd Author: Alan Cox Date: Fri Jan 2 13:47:32 2009 +0000 tty: kref nozomi Update the nozomi driver to use krefs Signed-off-by: Linus Torvalds commit c9f19e96a2f33cd56c2bd19f87a0c4982d011c2b Author: Alan Cox Date: Fri Jan 2 13:47:26 2009 +0000 tty: Remove some pointless casts disc_data and driver_data are void * Signed-off-by: Alan Cox Signed-off-by: Linus Torvalds commit 0ac6053c4db9369d7b0f9b39c30f4fb04405666b Author: Alan Cox Date: Fri Jan 2 13:47:20 2009 +0000 tty: PTYs set TTY_DO_WRITE_WAKEUP when they don't need to The write wakeup is done anyway for the poll while DO_WRITE_WAKUP is cleared, set and managed by the ldisc layer and is no business of the pty code. Signed-off-by: Alan Cox Signed-off-by: Linus Torvalds commit ff8cb0fd6f195389aefe55d5dac9927d09a9de54 Author: Thomas Pfaff Date: Fri Jan 2 13:47:13 2009 +0000 tty: N_TTY SIGIO only works for read The N_TTY ldisc layer does not send SIGIO POLL_OUTs correctly when output is possible due to flawed handling of the TTY_DO_WRITE_WAKEUP bit. It will either send no SIGIOs at all or on every tty wakeup. The fix is to set the bit when the tty driver write would block and test and clear it on write wakeup. [Merged with existing N_TTY patches and a small buglet fixed -- Alan] Signed-off-by: Thomas Pfaff Signed-off-by: Alan Cox Signed-off-by: Linus Torvalds commit eff6937a46e096eb35c16a391617b7a5e098a30c Author: Alan Cox Date: Fri Jan 2 13:47:06 2009 +0000 tty: USB tty devices can block in tcdrain when unplugged The underlying problem is that the device methods don't all correctly handle disconnected status and some keep reporting bytes pending which causes tcdrain to stall. When the cable is unplugged they are definitely gone, and as this is true for all USB cables we can fix it in the core usb serial code. Signed-off-by: Alan Cox Signed-off-by: Linus Torvalds commit 39aced68d664291db3324d0fcf0985ab5626aac2 Author: Niels de Vos Date: Fri Jan 2 13:46:58 2009 +0000 serial: set correct baud_base for Oxford Semiconductor Ltd EXSYS EX-41092 Dual 16950 Serial adapter The PCI-card identified as "Oxford Semiconductor Ltd EXSYS EX-41092 Dual 16950 Serial adapter" is only usable with other devices (i.e. not the same card) after doing a "setserial /dev/ttyS baud_base 115200". This baud_base should be default for this card. Signed-off-by: Niels de Vos Signed-off-by: Alan Cox Signed-off-by: Linus Torvalds commit a6614999e800cf3a134ce93ea46ef837e3c0e76e Author: Alan Cox Date: Fri Jan 2 13:46:50 2009 +0000 tty: Introduce some close helpers for ports Again this is a lot of common code we can unify Signed-off-by: Alan Cox Signed-off-by: Linus Torvalds commit 7834909f1eb96ba7c49ca2b9e3a69b500a2cff76 Author: Alan Cox Date: Fri Jan 2 13:46:43 2009 +0000 tty: tty port zero baud open If we have no speed set at some point then we should not raise DTR/RTS at that point when opening as the tty is not ready Signed-off-by: Alan Cox Signed-off-by: Linus Torvalds commit 0fdeceb88df7f4d9e4734859bcd650e8584cc0e4 Author: Alan Cox Date: Fri Jan 2 13:46:34 2009 +0000 tty: ESP has been broken for locking etc forver Mark it broken Signed-off-by: Alan Cox Signed-off-by: Linus Torvalds commit 4350f3ffec7a7e70770a7369186b3db7d97acfdf Author: Alan Cox Date: Fri Jan 2 13:46:24 2009 +0000 tty: rework stallion to use the tty_port bits Signed-off-by: Alan Cox Signed-off-by: Linus Torvalds commit 2a6eadbd5a2ae8f458e421f3614f1ad13c0f9a1c Author: Alan Cox Date: Fri Jan 2 13:46:18 2009 +0000 tty: Rework istallion to use the tty port changes Signed-off-by: Alan Cox Signed-off-by: Linus Torvalds commit 36c621d82b956ff6ff72273f848af53e6c581aba Author: Alan Cox Date: Fri Jan 2 13:46:10 2009 +0000 tty: Introduce a tty_port generic block_til_ready Start sucking more commonality out of the drivers into a single piece of core code. Signed-off-by: Alan Cox Signed-off-by: Linus Torvalds commit 3b6826b250633361f08a6427a4ac0035e5d88c72 Author: Alan Cox Date: Fri Jan 2 13:45:58 2009 +0000 tty: relock the mxser driver Signed-off-by: Alan Cox Signed-off-by: Linus Torvalds commit c2ba38cd76df770a253f0cab4b6abe514c265a85 Author: Alan Cox Date: Fri Jan 2 13:45:50 2009 +0000 tty: relock riscom8 using port locks Signed-off-by: Alan Cox Signed-off-by: Linus Torvalds commit a129909ca910d086b8536c790338504878489a95 Author: Alan Cox Date: Fri Jan 2 13:45:44 2009 +0000 tty: rocketport uses different port flags to everyone else Normalise them so we can use the common helpers later on Signed-off-by: Alan Cox Signed-off-by: Linus Torvalds commit 510a3049573868d3d77414bfa55d293f44d0dbbe Author: Alan Cox Date: Fri Jan 2 13:45:36 2009 +0000 tty: relock generic_serial Switch generic_serial to do port count locking via the tty_port structure ready for moving to a common port wait routine. Keep the old driver lock for internal calling so we don't risk messing up the drivers below until we are ready. Still needs kref conversions Signed-off-by: Alan Cox Signed-off-by: Linus Torvalds commit 3e61696bdc2103107674b06d0daf30b76193e922 Author: Alan Cox Date: Fri Jan 2 13:45:26 2009 +0000 isicom: redo locking to use tty port locks This helps set the basis for moving block_til_ready into common code. We also introduce a tty_port_hangup helper as this will also be generally needed. Signed-off-by: Alan Cox Signed-off-by: Linus Torvalds commit 5d951fb458f847e5485b5251597fbf326000bb3b Author: Alan Cox Date: Fri Jan 2 13:45:19 2009 +0000 tty: Pull the dtr raise into tty port This moves another per device special out of what should be shared open wait paths into private methods Signed-off-by: Alan Cox Signed-off-by: Linus Torvalds commit d0c9873addc1f18e7becb50094dad07df8cc4694 Author: Alan Cox Date: Fri Jan 2 13:45:12 2009 +0000 rio: Kill off ckmalloc This was an alloc/clear wrapper but makes even less sense now it uses kzalloc. Kill it off. Signed-off-by: Alan Cox Signed-off-by: Linus Torvalds commit 31f35939d1d9bcfb3099b32c67b896d2792603f9 Author: Alan Cox Date: Fri Jan 2 13:45:05 2009 +0000 tty_port: Add a port level carrier detect operation This is the first step to generalising the various pieces of waiting logic duplicated in all sorts of serial drivers. Signed-off-by: Alan Cox Signed-off-by: Linus Torvalds commit c9b3976e3fec266be25c5001a70aa0a890b6c476 Author: Alan Cox Date: Fri Jan 2 13:44:56 2009 +0000 tty: Fix PPP hang under load Signed-off-by: Alan Cox Signed-off-by: Linus Torvalds commit d0eafc7db8f170d534a16b5f04617e98ae2025de Author: David Howells Date: Fri Jan 2 13:44:49 2009 +0000 CRED: Wrap task credential accesses in the devpts filesystem Wrap access to task credentials so that they can be separated more easily from the task_struct during the introduction of COW creds. Change most current->(|e|s|fs)[ug]id to current_(|e|s|fs)[ug]id(). Change some task->e?[ug]id to task_e?[ug]id(). In some places it makes more sense to use RCU directly rather than a convenient wrapper; these will be addressed by later patches. Signed-off-by: David Howells Signed-off-by: Alan Cox Signed-off-by: Linus Torvalds commit 39efd191d01b5f1efc3d604baf74233dc525e6a8 Author: Kevin Hao Date: Fri Jan 2 13:44:34 2009 +0000 Add device function for USB serial console Add device funtion for usb serial console, so we can open /dev/console when we use a usb serial device as console. (Typecast removed as noted by Sergei Shtylyov) Signed-off-by: Kevin Hao Signed-off-by: Alan Cox Signed-off-by: Linus Torvalds commit 975a1a7d887048d4afc9201383e11b7af991866b Author: Russell King Date: Fri Jan 2 13:44:27 2009 +0000 And here's a patch (to be applied on top of the last) which prevents this happening again by making use of 'const'. Signed-off-by: Russell King Signed-off-by: Alan Cox Signed-off-by: Linus Torvalds commit 9f2a036aaac8f29bb7c68303b52a9263238b63d2 Author: Russell King Date: Fri Jan 2 13:44:20 2009 +0000 Convert the oxsemi tornado special cases to use the quirk interface and not scribble on its own reference structures. Signed-off-by: Russell King Signed-off-by: Alan Cox Signed-off-by: Linus Torvalds commit 8c056e5b148498192832678cf2957760945e8c71 Author: Andrew Morton Date: Fri Jan 2 13:44:12 2009 +0000 devpts: fix unused function warning fs/devpts/inode.c:324: warning: 'compare_init_pts_sb' defined but not used Signed-off-by: Andrew Morton Signed-off-by: Alan Cox Signed-off-by: Linus Torvalds commit 4bd43f2c31848d751f63e8753cd2788d48fb5f30 Author: Alan Cox Date: Fri Jan 2 13:44:04 2009 +0000 tty: Fix close races in USB serial USB serial has always had races where the tty port usage count can hit zero during a receive event. The internal locking is a mutex so we can't use that in the IRQ handlers. With krefs we can tackle this differently but we still need to be careful. Signed-off-by: Alan Cox Signed-off-by: Linus Torvalds commit 7e94b1d9bffc18dca3b45554d9d118a3ffcc4d1b Author: Joe Peterson Date: Fri Jan 2 13:43:40 2009 +0000 n_tty: Output bells immediately on a full buffer This patch causes "bell" (^G) characters (invoked when the input buffer is full) to be immediately output rather than filling the echo buffer. This is especially a problem when the tty is stopped and buffers fill, since the bells do not serve their purpose of immediate notification that the buffer cannot take further input, and they will flush all at once when the tty is restarted. Signed-off-by: Joe Peterson Signed-off-by: Alan Cox Signed-off-by: Linus Torvalds commit acc71bbad33478973dbed68ebbc2d76dac9a51bd Author: Joe Peterson Date: Fri Jan 2 13:43:32 2009 +0000 n_tty: Fix hanfling of buffer full corner cases Fix the handling of input characters when the tty buffer is full or nearly full. This includes tests that are done in n_tty_receive_char() and handling of PARMRK. Problems with the buffer-full tests done in receive_char() caused characters to be lost at times when the buffer(s) filled. Also, these full conditions would often only be detected with echo on, and PARMRK was not accounted for properly in all cases. One symptom of these problems, in addition to lost characters, was early termination from unix commands like tr and cat when ^Q was used to break from a stopped tty with full buffers (note that breaking out was often previously not possible, due to the pty getting in "gridlock", which will be addressed in another patch). Note space is always reserved at the end of the buffer for a newline (or EOF/EOL) in canonical mode. Signed-off-by: Joe Peterson Signed-off-by: Alan Cox Signed-off-by: Linus Torvalds commit a59c0d6f14315a3f300f6f3786137213727e4c47 Author: Joe Peterson Date: Fri Jan 2 13:43:25 2009 +0000 n_tty: Fix handling of control characters and continuations Fix process_output_block to detect continuation characters correctly and to handle control characters even when O_OLCUC is enabled. Make similar change to do_output_char(). Signed-off-by: Joe Peterson Signed-off-by: Alan Cox Signed-off-by: Linus Torvalds commit fc6f6238226e6d1248e1967eae2bf556eaf3ac17 Author: Alan Cox Date: Fri Jan 2 13:43:17 2009 +0000 pty: simplify resize We have special case logic for resizing pty/tty pairs. We also have a per driver resize method so for the pty case we should use it. Signed-off-by: Alan Cox Signed-off-by: Linus Torvalds commit a47d545f5782cbde871b50bdf4a83379ed2da222 Author: Jason Wessel Date: Fri Jan 2 13:43:04 2009 +0000 tty: Fix sparse static warning for tty_driver_lookup_tty Fixed sparse warning: drivers/char/tty_io.c:1216:19: warning: symbol 'tty_driver_lookup_tty' was not declared. Should it be static? Signed-off-by: Jason Wessel Signed-off-by: Alan Cox Signed-off-by: Linus Torvalds commit d95186d1f455b4b901121ba69d0680800fb4b57b Author: Alan Cox Date: Fri Jan 2 13:42:56 2009 +0000 sierra: Fix formatting Andrew Morton wrote: in drivers/usb/serial/sierra.c: } else { if (urb->actual_length) { + tty = tty_port_tty_get(&port->port); tty_buffer_request_room(tty, urb->actual_length); it's missing a tab. Signed-off-by: Alan Cox Signed-off-by: Linus Torvalds commit 835aa440f1c3fe16a622015bc1b52dffedf6d90e Author: Alan Cox Date: Fri Jan 2 13:42:48 2009 +0000 devpts: Coding style clean up Just nail the oddments now while this code is being touched Signed-off-by: Alan Cox Signed-off-by: Linus Torvalds commit 784c4d8b1b1e66f8c45e8b889613f4982f525b2b Author: Sukadev Bhattiprolu Date: Fri Jan 2 13:42:34 2009 +0000 Document usage of multiple-instances of devpts Changelog [v2]: - Add note indicating strict isolation is not possible unless all mounts of devpts use the 'newinstance' mount option. Signed-off-by: Sukadev Bhattiprolu Signed-off-by: Alan Cox Signed-off-by: Linus Torvalds commit 2a1b2dc0c83bbfc24d72cafd5e69810a149b44e4 Author: Sukadev Bhattiprolu Date: Fri Jan 2 13:42:27 2009 +0000 Enable multiple instances of devpts To support containers, allow multiple instances of devpts filesystem, such that indices of ptys allocated in one instance are independent of ptys allocated in other instances of devpts. But to preserve backward compatibility, enable this support for multiple instances only if: - CONFIG_DEVPTS_MULTIPLE_INSTANCES is set to Y, and - '-o newinstance' mount option is specified while mounting devpts To use multi-instance mount, a container startup script could: $ ns_exec -cm /bin/bash $ umount /dev/pts $ mount -t devpts -o newinstance lxcpts /dev/pts $ mount -o bind /dev/pts/ptmx /dev/ptmx $ /usr/sbin/sshd -p 1234 where 'ns_exec -cm /bin/bash' is calls clone() with CLONE_NEWNS flag and execs /bin/bash in the child process. A pty created by the sshd is not visible in the original mount of /dev/pts. USER-SPACE-IMPACT: - See Documentation/fs/devpts.txt (included in next patch) for user- space impact in multi-instance and mixed-mode operation. TODO: - Update mount(8), pts(4) man pages. Highlight impact of not redirecting /dev/ptmx to /dev/pts/ptmx after a multi-instance mount. Changelog[v6]: - [Dave Hansen] Use new get_init_pts_sb() interface - [Serge Hallyn] Don't bother displaying 'newinstance' in show_options - [Serge Hallyn] Use macros (PARSE_REMOUNT/PARSE_MOUNT) instead of 0/1. - [Serge Hallyn] Check error return from get_sb_single() (now get_init_pts_sb()) - devpts_pty_kill(): don't dput error dentries Changelog[v5]: - Move get_sb_ref() definition to earlier patch - Move usage info to Documentation/filesystems/devpts.txt (next patch) - Make ptmx node even in init_pts_ns, now that default mode is 0000 (defined in earlier patch, enabled here). - Cache ptmx dentry and use to update mode during remount (defined in earlier patch, enabled here). - Bugfix: explicitly ignore newinstance on remount (if newinstance was specified on remount of initial mount, it would be ignored but /proc/mounts would imply that the option was set) Changelog[v4]: - Update patch description to address H. Peter Anvin's comments - Consolidate multi-instance mode code under new config token, CONFIG_DEVPTS_MULTIPLE_INSTANCE. - Move usage-details from patch description to Documentation/fs/devpts.txt Changelog[v3]: - Rename new mount option to 'newinstance' - Create ptmx nodes only in 'newinstance' mounts - Bugfix: parse_mount_options() modifies @data but since we need to parse the @data twice (once in devpts_get_sb() and once during do_remount_sb()), parse a local copy of @data in devpts_get_sb(). (restructured code in devpts_get_sb() to fix this) Changelog[v2]: - Support both single-mount and multiple-mount semantics and provide '-onewmnt' option to select the semantics. Signed-off-by: Sukadev Bhattiprolu Signed-off-by: Alan Cox Signed-off-by: Linus Torvalds commit d4076ac55bf8755ce6c5706478631c1726cf0179 Author: Sukadev Bhattiprolu Date: Fri Jan 2 13:42:19 2009 +0000 Define get_init_pts_sb() See comments in the function header for details. The new interface will be used in a follow-on patch. Changelog [v2]: [Dave Hansen] Replace get_sb_ref() in fs/super.c with get_init_pts_sb() and make the new interface private to devpts Signed-off-by: Sukadev Bhattiprolu Signed-off-by: Alan Cox Signed-off-by: Linus Torvalds commit 1f8f1e296583f9f832c2fe7b5a219675b74bf43e Author: Sukadev Bhattiprolu Date: Fri Jan 2 13:42:02 2009 +0000 Define mknod_ptmx() /dev/ptmx is closely tied to the devpts filesystem. An open of /dev/ptmx, allocates the next pty index and the associated device shows up in the devpts fs as /dev/pts/n. Wih multiple instancs of devpts filesystem, during an open of /dev/ptmx we would be unable to determine which instance of the devpts is being accessed. So we move the 'ptmx' node into /dev/pts and use the inode of the 'ptmx' node to identify the superblock and hence the devpts instance. This patch adds ability for the kernel to internally create the [ptmx, c, 5:2] device when mounting devpts filesystem. Since the ptmx node in devpts is new and may surprise some userspace scripts, the default permissions for the new node is 0000. These permissions can be changed either using chmod or by remounting with the new '-o ptmxmode=0666' mount option. Changelog[v5]: - [Serge Hallyn bugfix]: Letting new_inode() assign inode number to ptmx can collide with hand-assigning inode numbers to ptys. So, hand-assign specific inode number to ptmx node also. - [Serge Hallyn]: Maybe safer to grab root dentry mutex while creating ptmx node - [Bugfix with Serge Hallyn] Replace lookup_one_len() in mknod_ptmx() wih d_alloc_name() (lookup during ->get_sb() locks up system). To simplify patchset, fold the ptmx_dentry patch into this. Changelog[v4]: - Change default permissions of pts/ptmx node to 0000. - Move code for ptmxmode under #ifdef CONFIG_DEVPTS_MULTIPLE_INSTANCES. Changelog[v3]: - Rename ptmx_mode to ptmxmode (for consistency with 'newinstance') Changelog[v2]: - [H. Peter Anvin] Remove mknod() system call support and create the ptmx node internally. Changelog[v1]: - Earlier version of this patch enabled creating /dev/pts/tty as well. As pointed out by Al Viro and H. Peter Anvin, that is not really necessary. Signed-off-by: Sukadev Bhattiprolu Signed-off-by: Alan Cox Signed-off-by: Linus Torvalds commit e4adca27bcbb8a73c4cf1dfa71392654cfa33345 Author: Sukadev Bhattiprolu Date: Fri Jan 2 13:41:54 2009 +0000 Add DEVPTS_MULTIPLE_INSTANCES config token Signed-off-by: Sukadev Bhattiprolu Signed-off-by: Alan Cox Signed-off-by: Linus Torvalds commit 53af8ee4094d80ddaac7efefb572b1c22ae49367 Author: Sukadev Bhattiprolu Date: Fri Jan 2 13:41:47 2009 +0000 Extract option parsing to new function Move code to parse mount options into a separate function so it can (later) be shared between mount and remount operations. Signed-off-by: Sukadev Bhattiprolu Signed-off-by: Alan Cox Signed-off-by: Linus Torvalds commit 31af0abbdafb66ad8e27e3df878faec2ebe1132e Author: Sukadev Bhattiprolu Date: Fri Jan 2 13:41:33 2009 +0000 Per-mount 'config' object With support for multiple mounts of devpts, the 'config' structure really represents per-mount options rather than config parameters. Rename 'config' structure to 'pts_mount_opts' and store it in the super-block. Signed-off-by: Sukadev Bhattiprolu Signed-off-by: Alan Cox Signed-off-by: Linus Torvalds commit e76b7c01e598d2d14ddfdb6ae5c6afe45245d0de Author: Sukadev Bhattiprolu Date: Fri Jan 2 13:41:21 2009 +0000 Per-mount allocated_ptys To enable multiple mounts of devpts, 'allocated_ptys' must be a per-mount variable rather than a global variable. Move 'allocated_ptys' into the super_block's s_fs_info. Changelog[v2]: Define and use DEVPTS_SB() wrapper. Signed-off-by: Sukadev Bhattiprolu Signed-off-by: Alan Cox Signed-off-by: Linus Torvalds commit 59e55e6cf86eb472e8373831c4234252916c53ef Author: Sukadev Bhattiprolu Date: Fri Jan 2 13:41:11 2009 +0000 Remove devpts_root global Remove the 'devpts_root' global variable and find the root dentry using the super_block. The super-block can be found from the device inode, using the new wrapper, pts_sb_from_inode(). Changelog: This patch is based on an earlier patchset from Serge Hallyn and Matt Helsley. Signed-off-by: Sukadev Bhattiprolu Signed-off-by: Alan Cox Signed-off-by: Linus Torvalds commit 300a6204b4d45dc70359b24384ad04ae899179c3 Author: Alan Cox Date: Fri Jan 2 13:41:04 2009 +0000 n_tty: clean up coding style Now the main work is done its polishing time Signed-off-by: Alan Cox Signed-off-by: Linus Torvalds commit a88a69c91256418c5907c2f1f8a0ec0a36f9e6cc Author: Joe Peterson Date: Fri Jan 2 13:40:53 2009 +0000 n_tty: Fix loss of echoed characters and remove bkl from n_tty Fixes the loss of echoed (and other ldisc-generated characters) when the tty is stopped or when the driver output buffer is full (happens frequently for input during continuous program output, such as ^C) and removes the Big Kernel Lock from the N_TTY line discipline. Adds an "echo buffer" to the N_TTY line discipline that handles all ldisc-generated output (including echoed characters). Along with the loss of characters, this also fixes the associated loss of sync between tty output and the ldisc state when characters cannot be immediately written to the tty driver. The echo buffer stores (in addition to characters) state operations that need to be done at the time of character output (like management of the column position). This allows echo to cooperate correctly with program output, since the ldisc state remains consistent with actual characters written. Since the echo buffer code now isolates the tty column state code to the process_out* and process_echoes functions, we can remove the Big Kernel Lock (BKL) and replace it with mutex locks. Highlights are: * Handles echo (and other ldisc output) when tty driver buffer is full - continuous program output can block echo * Saves echo when tty is in stopped state (e.g. ^S) - (e.g.: ^Q will correctly cause held characters to be released for output) * Control character pairs (e.g. "^C") are treated atomically and not split up by interleaved program output * Line discipline state is kept consistent with characters sent to the tty driver * Remove the big kernel lock (BKL) from N_TTY line discipline Signed-off-by: Joe Peterson Signed-off-by: Alan Cox Signed-off-by: Linus Torvalds commit e482a2378f3d1aef7fa8942f8f163078f01bb456 Author: Sonic Zhang Date: Fri Jan 2 13:40:45 2009 +0000 Blackfin Serial Driver: Remove BI status for known_good_char Signed-off-by: Sonic Zhang Signed-off-by: Bryan Wu Signed-off-by: Alan Cox Signed-off-by: Linus Torvalds commit 68a784cb1add52543644a879ef601f3b52d18623 Author: Sonic Zhang Date: Fri Jan 2 13:40:38 2009 +0000 Blackfin Serial Driver: Fix bug - BF527-EZKIT unable to receive large files over UART in DMA mode Add spin_lock_irqsave() when receive and transfer data. Signed-off-by: Sonic Zhang Signed-off-by: Bryan Wu Signed-off-by: Alan Cox Signed-off-by: Linus Torvalds commit b6efa1eabbe8d23fd7dcad1eed8ce945f4adea83 Author: Sonic Zhang Date: Fri Jan 2 13:40:31 2009 +0000 Blackfin Serial Driver: Clean serial console and early prink code. Signed-off-by: Sonic Zhang Signed-off-by: Bryan Wu Signed-off-by: Alan Cox Signed-off-by: Linus Torvalds commit 80d5c474b87da88eca8e1ab034e26daa9f688130 Author: Graf Yang Date: Fri Jan 2 13:40:22 2009 +0000 Blackfin Serial Driver: fix bug - SIR driver stop receiving randomly Bug description: The IRDA receiver may can't receiving any more after processed some signals. To duplicate this issue is put three IRDA devices together, one blackfin, two none blackfin, they will detect each other. Let one none blackfin devices irdaping the blackfin devices, when it stopped print out ping information, it is the time that blackfin stoped receiving, the time is random. The related register bit is OK, the other devices is sending data continuously. But no interrupt come. Fixing: I tried Michael's suggestion that request the UARTx error interrupt, and reset the IRDA when found FE error. This method helps much, but it can't completely avoid stop. Reset the IRDA before every time sending the data is more safe. Signed-off-by: Graf Yang Signed-off-by: Bryan Wu Signed-off-by: Alan Cox Signed-off-by: Linus Torvalds commit 52e15f0eae193a8e4ca31c1520179b8d65c79811 Author: Sonic Zhang Date: Fri Jan 2 13:40:14 2009 +0000 Blackfin Serial Driver: updates kgdb over Blackfin serial driver with kgdb framework Signed-off-by: Sonic Zhang Signed-off-by: Bryan Wu Signed-off-by: Alan Cox Signed-off-by: Linus Torvalds commit a234b1103f7df35eacb1de7a9d15a636046e263b Author: Roel Kluin Date: Fri Jan 2 17:32:55 2009 +0100 [SCSI] libsas: fix test for negative unsigned and typos unsigned req->data_len cannot be negative, and fix =-/-= typo Signed-off-by: Roel Kluin Signed-off-by: James Bottomley commit d38f47a977e5d314a2e21db0806ca4f76cb0576b Author: Geert Uytterhoeven Date: Fri Jan 2 11:41:24 2009 +0100 [SCSI] a2091, gvp11: kill warn_unused_result warnings warning: ignoring return value of 'request_irq', declared with attribute warn_unused_result Signed-off-by: Geert Uytterhoeven Signed-off-by: James Bottomley commit c31558efcc45651d3e324ea861ee5934cafef8e2 Author: Julia Lawall Date: Fri Dec 26 08:27:48 2008 +0100 [SCSI] fusion: Move a dereference below a NULL test If the NULL test is necessary, then the dereference should be moved below the NULL test. The semantic patch that makes this change is as follows: (http://www.emn.fr/x-info/coccinelle/). // @disable is_null@ identifier f; expression E; identifier fld; statement S; @@ + if (E == NULL) S f(...,E->fld,...); - if (E == NULL) S @@ identifier f; expression E; identifier fld; statement S; @@ + if (!E) S f(...,E->fld,...); - if (!E) S // Signed-off-by: Julia Lawall Acked-by: "Prakash, Sathya" Signed-off-by: James Bottomley commit ddccf307a3599e452804e228d8ed30fba578923e Author: Reinhard Nissl Date: Thu Dec 11 00:31:03 2008 +0100 [SCSI] mvsas: increase port type detection delay to suit Seagate's 10k6 drive ST3450856SS 0003 I increased the delay step by step until loading of mvsas reliably detected the drive 200 times in sequence. A much better approach would be to monitor the hardware for some flag which indicates that port detection has finished, but I do not have any hardware documentation. Signed-off-by: Reinhard Nissl Cc: Ke Wei Signed-off-by: James Bottomley commit 609e5b71d0eca163df017ecfcf917b149875e744 Author: Ingo Molnar Date: Fri Jan 2 16:16:16 2009 +0100 kbuild: Remove gcc 4.1.0 quirk from init/main.c Impact: cleanup We now have a cleaner check for gcc 4.1.0/4.1.1 trouble in include/linux/compiler-gcc4.h, so remove the 4.1.0 quirk from init/main.c. Reported-by: Bartlomiej Zolnierkiewicz Signed-off-by: Ingo Molnar Acked-by: Sam Ravnborg Signed-off-by: Linus Torvalds commit 8f78fc5eb798426891f99390a61f752aaef9fc39 Author: Kai Makisara Date: Thu Dec 18 14:49:51 2008 +0900 [SCSI] st: retry enlarge_buffer allocation Make enlarge_buffer() retry allocation if the previously chosen page order was too small. Really limit the page order to 6. Return error if the maximum order is not large enough for the request. Signed-off-by: Kai Makisara Signed-off-by: James Bottomley commit 02ae2c0e844e2864a877d1da8a92fe5e63778a18 Author: Kai Makisara Date: Thu Dec 18 14:49:50 2008 +0900 [SCSI] st: integrate st_scsi_kern_execute and st_do_scsi This integrates st_scsi_kern_execute and st_do_scsi. IOW, it removes st_scsi_kern_execute. Then st has a single function, st_do_scsi, to perform SCSI commands. Signed-off-by: Kai Makisara Signed-off-by: James Bottomley commit dceb4521c8ed24b9fe4230e0d385cf4770260383 Author: Jaswinder Singh Rajput Date: Wed Dec 31 17:35:02 2008 +0530 x86: nmi.c fix style problems Impact: cleanup, fix style problems Fixes style problems: WARNING: Use #include instead of WARNING: Use #include instead of total: 0 errors, 2 warnings Signed-off-by: Jaswinder Singh Rajput Signed-off-by: Ingo Molnar commit edf69c58c74eeeb48f62f267ce41f7827cb4dd06 Author: FUJITA Tomonori Date: Thu Dec 18 14:49:49 2008 +0900 [SCSI] st: remove unused frp_sg_current frp_sg_current in struct st_buffer is always zero. We don't need it. Signed-off-by: FUJITA Tomonori Acked-by: Kai Makisara Signed-off-by: James Bottomley commit 1ac63cf5c05f956f52ab418a07f77d12328f3b5f Author: FUJITA Tomonori Date: Thu Dec 18 14:49:48 2008 +0900 [SCSI] st: remove unused orig_frp_segs orig_frp_segs in struct st_buffer is always zero. We don't need it. Signed-off-by: FUJITA Tomonori Acked-by: Kai Makisara Signed-off-by: James Bottomley commit f409d6cc688d4e87b0ebf577b6554695e1931705 Author: FUJITA Tomonori Date: Thu Dec 18 14:49:47 2008 +0900 [SCSI] st: simplify new_tape_buffer - remove the from_initialization argument, which is always 1. We always need to use GFP_ATOMIC. - 'got' valuable is initialized to zero and doesn't change. We don't need it. Signed-off-by: FUJITA Tomonori Acked-by: Kai Makisara Signed-off-by: James Bottomley commit b3d59115ba2b2550d70eafd929f1fa607fe588dc Author: FUJITA Tomonori Date: Thu Dec 18 14:49:46 2008 +0900 [SCSI] st: remove struct scatterlist This removes the usage of struct scatterlist completely. Signed-off-by: FUJITA Tomonori Acked-by: Kai Makisara Signed-off-by: James Bottomley commit 08c95832427b449ecfb357696f7b8e239b79a72c Author: FUJITA Tomonori Date: Thu Dec 18 14:49:45 2008 +0900 [SCSI] st: kill struct st_buff_fragment This removes struct st_buff_fragment and use reserved_pages array to store fragment buffer. Signed-off-by: FUJITA Tomonori Acked-by: Kai Makisara Signed-off-by: James Bottomley commit b3376b4aaab4c348dfd2e0b7595dc12f64c9fac9 Author: FUJITA Tomonori Date: Thu Dec 18 14:49:44 2008 +0900 [SCSI] st: remove buf_to_sg This removes unused buf_to_sg() that the non-dio path used. Signed-off-by: FUJITA Tomonori Acked-by: Kai Makisara Signed-off-by: James Bottomley commit 6620742f72d2fcf311e3fc8aa2476daa91fa3f31 Author: FUJITA Tomonori Date: Thu Dec 18 14:49:43 2008 +0900 [SCSI] st: convert dio path to use st_scsi_execute This patch converts the dio path (mmap) to use st_scsi_execute. IOW, it removes scsi_execute_async in the non dio path. scsi_execute_async has gone! This also remove unused st_sleep_done. Signed-off-by: FUJITA Tomonori Acked-by: Kai Makisara Signed-off-by: James Bottomley commit 6d4762678b7cbe932e858c62c07c533e1736a8bf Author: FUJITA Tomonori Date: Thu Dec 18 14:49:42 2008 +0900 [SCSI] st: convert non-dio path to use st_scsi_execute This patch converts the non-dio path (fragment buffer path) to use st_scsi_execute. IOW, it removes scsi_execute_async in the non-dio path. Signed-off-by: FUJITA Tomonori Acked-by: Kai Makisara Signed-off-by: James Bottomley commit 13b53b443482623d33fd9446289d320e1c719f02 Author: FUJITA Tomonori Date: Thu Dec 18 14:49:41 2008 +0900 [SCSI] st: add st_scsi_execute helper function st_scsi_execute is a helper function to perform SCSI commands involving data transfer between user and kernel space (st_read and st_write). It's the future plan to combine this with st_scsi_kern_execute helper function. Signed-off-by: FUJITA Tomonori Acked-by: Kai Makisara Signed-off-by: James Bottomley commit d0e1ae31be226e83cdd0684625bf1535518ee0d3 Author: FUJITA Tomonori Date: Thu Dec 18 14:49:40 2008 +0900 [SCSI] st: add struct rq_map_data support This adds struct rq_map_data and the array of pointers to store fragment buffers to struct st_buffer. This patch doesn't remove st_buf_fragment but the latter patch does. Signed-off-by: FUJITA Tomonori Acked-by: Kai Makisara Signed-off-by: James Bottomley commit 9c905966c4d8c03ea21d230b277b7ea1e492f3c9 Author: FUJITA Tomonori Date: Thu Dec 18 14:49:39 2008 +0900 [SCSI] st: make all the fragment buffers the same size This patch simiplifies the fragment buffer management a bit, all the buffers in the fragment list become the same size. This is necessary to use the block layer API (sg driver was modified in the same way) since the block layer API takes the same size page frames instead of scatter gatter. Signed-off-by: FUJITA Tomonori Acked-by: Kai Makisara Signed-off-by: James Bottomley commit f9d14250071eda9972e4c9cea745a11185952114 Author: Linus Torvalds Date: Fri Jan 2 09:29:43 2009 -0800 Disallow gcc versions 4.1.{0,1} These compiler versions are known to miscompile __weak functions and thus generate kernels that don't necessarily work correctly. If a weak function is int he same compilation unit as a caller, gcc may end up inlining it, and thus binding the weak function too early. See http://gcc.gnu.org/bugzilla/show_bug.cgi?id=27781 for details. Cc: Adrian Bunk Cc: Helge Deller Cc: Rusty Russell Cc: Ingo Molnar Signed-off-by: Linus Torvalds commit f153b82121b0366fe0e5f9553545cce237335175 Author: Linus Torvalds Date: Fri Jan 2 09:23:03 2009 -0800 Sanitize gcc version header includes - include the gcc version-dependent header files from the generic gcc header file, rather than the other way around (iow: don't make the non-gcc header file have to know about gcc versions) - don't include compiler-gcc4.h for gcc 5 (for whenever it gets released). That's just confusing and made us do odd things in the gcc4 header file (testing that we really had version 4!) - generate the name from the __GNUC__ version directly, rather than having a mess of #if conditionals. Signed-off-by: Linus Torvalds commit 97ae77a1cd332c7b011d71315c8faabce6840c72 Author: FUJITA Tomonori Date: Thu Dec 18 14:49:38 2008 +0900 [SCSI] block: make blk_rq_map_user take a NULL user-space buffer for WRITE The commit 818827669d85b84241696ffef2de485db46b0b5e (block: make blk_rq_map_user take a NULL user-space buffer) extended blk_rq_map_user to accept a NULL user-space buffer with a READ command. It was necessary to convert sg to use the block layer mapping API. This patch extends blk_rq_map_user again for a WRITE command. It is necessary to convert st and osst drivers to use the block layer apping API. Signed-off-by: FUJITA Tomonori Acked-by: Jens Axboe Signed-off-by: James Bottomley commit 56c451f4b583ccdf80c9e676179c9cb49de86745 Author: FUJITA Tomonori Date: Thu Dec 18 14:49:37 2008 +0900 [SCSI] block: fix the partial mappings with struct rq_map_data This fixes bio_copy_user_iov to properly handle the partial mappings with struct rq_map_data (which only sg uses for now but st and osst will shortly). It adds the offset member to struct rq_map_data and changes blk_rq_map_user to update it so that bio_copy_user_iov can add an appropriate page frame via bio_add_pc_page(). Signed-off-by: FUJITA Tomonori Acked-by: Jens Axboe Signed-off-by: James Bottomley commit e623ddb4e940b266adc77ba1cc28a3554aa90e79 Author: FUJITA Tomonori Date: Thu Dec 18 14:49:36 2008 +0900 [SCSI] block: fix bio_add_page misuse with rq_map_data This fixes bio_add_page misuse in bio_copy_user_iov with rq_map_data, which only sg uses now. rq_map_data carries page frames for bio_add_pc_page. bio_copy_user_iov uses bio_add_pc_page with a larger size than PAGE_SIZE. It's clearly wrong. Signed-off-by: FUJITA Tomonori Acked-by: Jens Axboe Signed-off-by: James Bottomley commit 4f10aae0d1a285df6b16bf6ca5abd366140fd371 Author: Brian King Date: Wed Dec 17 17:19:33 2008 -0600 [SCSI] ibmvscsi: Make max_requests module parameter more accurate In a previous patch to fix an issue with error recovery, the behavior of the max_requests module paramater was also changed. If, for some reason, max_requests is set to one by the user, we will end up with a negative number for can_queue. Fix this by making max_requests not include the two event structs needed to do error recovery. Signed-off-by: Brian King Signed-off-by: James Bottomley commit 372bd282900c2d480152622a82942b369b98d49a Author: Julia Lawall Date: Tue Dec 16 16:15:08 2008 +0100 [SCSI] lpfc: Move a dereference below a NULL test In each case, if the NULL test is necessary, then the dereference should be moved below the NULL test. The semantic patch that makes this change is as follows: (http://www.emn.fr/x-info/coccinelle/) // @@ type T; expression E; identifier i,fld; statement S; @@ - T i = E->fld; + T i; ... when != E when != i if (E == NULL) S + i = E->fld; // Signed-off-by: Julia Lawall Acked-by: James Smart Signed-off-by: James Bottomley commit b99b4c67db9b6dde67955b3746666505a48ec7ee Author: Dmitri Vorobiev Date: Tue Dec 16 15:04:44 2008 +0200 [SCSI] sgiwd93: Fix compilation warning The remove() callback in platform drivers should return int in accordance to the definition of the platform_driver structure. However, the SGI-specific WD93 SCSI controller driver defines the callback as a void function, which causes the following compilation warning: drivers/scsi/sgiwd93.c:314: warning: initialization from incompatible pointer type This patch fixes the warning by changing the return type of the remove() callback to what the core driver code requires. Signed-off-by: Dmitri Vorobiev Signed-off-by: James Bottomley commit 752b32329b48e0b7481e82a5f891aa5bf01f3782 Author: Brian King Date: Mon Dec 15 17:09:05 2008 -0600 [SCSI] ibmvfc: Fixup command response translation If a link down event is received, outstanding commands may get returned to the ibmvfc driver with a "transaction cancelled implicit" response. This is currently translated to DID_ABORT, which does not get retried by SCSI core, but rather passes the failure up the stack. This can result in I/O errors at the filesystem level. Fix up this response a well as a few other error responses. Signed-off-by: Brian King Signed-off-by: James Bottomley commit 3dbf6a54046052d79743822c9206af191e582ab0 Author: Alan Stern Date: Mon Dec 15 10:31:28 2008 -0500 [SCSI] Fix uninitialized variable error in scsi_io_completion This patch (as1191) adds a missing "default" case in scsi_io_completion(), thereby fixing an "uninitialized variable" error. It also adds a missing newline to a log entry. Signed-off-by: Alan Stern Signed-off-by: James Bottomley commit fa9907810bf733ef48b0cd50023b03b78f983434 Author: Christoph Hellwig Date: Wed Nov 5 15:03:15 2008 +0100 [SCSI] clean up scsi_times_out Make sure the control flow in scsi_times_out makes sense. Signed-off-by: Christoph Hellwig Signed-off-by: James Bottomley commit 327d0c7d89319a8ee8e946b90cb94c08daadb723 Author: Christoph Hellwig Date: Thu Oct 23 20:01:26 2008 +0200 [SCSI] remove severly outdated comment in scsi_dispatch_cmd Signed-off-by: Christoph Hellwig Signed-off-by: James Bottomley commit 423a54058f746579aff1430877dbc82f17442b34 Author: Jaswinder Singh Rajput Date: Wed Dec 31 16:42:20 2008 +0530 x86: ldt.c fix style problems Impact: cleanup Fixes style problems: WARNING: Use #include instead of ERROR: space required before the open parenthesis '(' total: 1 errors, 1 warnings Signed-off-by: Jaswinder Singh Rajput Signed-off-by: Ingo Molnar commit f634fa941188a91dbf1dab961fe7a4509852fd6e Author: Jaswinder Singh Rajput Date: Wed Dec 31 16:29:48 2008 +0530 x86: cpuid.c fix style problems Impact: cleanup Fixes style problems: WARNING: Use #include instead of ERROR: "foo * bar" should be "foo *bar" ERROR: trailing whitespace WARNING: usage of NR_CPUS is often wrong - consider using cpu_possible(), num_possible_cpus(), for_each_possible_cpu(), etc total: 2 errors, 2 warnings Signed-off-by: Jaswinder Singh Rajput Signed-off-by: Ingo Molnar commit 46814dded1b972a07b1609d81632eef3009fbb10 Author: Cliff Wickman Date: Wed Dec 31 13:20:50 2008 -0600 x86, UV: remove erroneous BAU initialization Impact: fix crash on x86/UV UV is the SGI "UltraViolet" machine, which is x86_64 based. BAU is the "Broadcast Assist Unit", used for TLB shootdown in UV. This patch removes the allocation and initialization of an unused table. This table is left over from a development test mode. It is unused in the present code. And it was incorrectly initialized: 8 entries allocated but 17 initialized, causing slab corruption. This patch should go into 2.6.27 and 2.6.28 as well as the current tree. Diffed against 2.6.28 (linux-next, 12/30/08) Signed-off-by: Cliff Wickman Cc: Signed-off-by: Ingo Molnar commit 71610f55fa4db63dbf5385929a47c9fb2451f332 Author: Kay Sievers Date: Wed Dec 3 22:41:36 2008 +0100 [SCSI] struct device - replace bus_id with dev_name(), dev_set_name() [jejb: limit ioctl to returning 20 characters to avoid overrun on long device names and add a few more conversions] Signed-off-by: Kay Sievers Signed-off-by: Greg Kroah-Hartman Signed-off-by: James Bottomley commit 26799a63110dcbe81291ea53178f6b4810d07424 Author: Ravikiran G Thirumalai Date: Wed Dec 31 13:44:46 2008 -0800 x86: fix incorrect __read_mostly on _boot_cpu_pda The pda rework (commit 3461b0af025251bbc6b3d56c821c6ac2de6f7209) to remove static boot cpu pdas introduced a performance bug. _boot_cpu_pda is the actual pda used by the boot cpu and is definitely not "__read_mostly" and ended up polluting the read mostly section with writes. This bug caused regression of about 8-10% on certain syscall intensive workloads. Signed-off-by: Ravikiran Thirumalai Acked-by: Mike Travis Cc: Signed-off-by: Ingo Molnar commit 0a582440ff546e2c6610d1acec325e91b4efd313 Author: Mike Galbraith Date: Fri Jan 2 12:16:42 2009 +0100 sched: fix sched_slice() Impact: fix bad-interactivity buglet Fix sched_slice() to emit a sane result whether a task is currently enqueued or not. Signed-off-by: Mike Galbraith Tested-by: Jayson King Signed-off-by: Ingo Molnar kernel/sched_fair.c | 30 ++++++++++++------------------ 1 file changed, 12 insertions(+), 18 deletions(-) commit b16aabc9374217fa2d28e72fd9a6e6d60905e1b9 Author: Borislav Petkov Date: Fri Jan 2 16:12:56 2009 +0100 ide-atapi: start dma in a drive-specific way There should be no functionality change resulting from this patch. Signed-off-by: Borislav Petkov Signed-off-by: Bartlomiej Zolnierkiewicz commit 06cc2778a1744b79edcfa394ce2d41f09134b2b1 Author: Borislav Petkov Date: Fri Jan 2 16:12:56 2009 +0100 ide-atapi: put the rest of non-ide-cd code into the else-clause of ide_transfer_pc There should be no functionality change resulting from this patch. Signed-off-by: Borislav Petkov Signed-off-by: Bartlomiej Zolnierkiewicz commit 28ad91db77755f1c49d79652de11b28ee2cfbf03 Author: Borislav Petkov Date: Fri Jan 2 16:12:56 2009 +0100 ide-atapi: remove timeout arg to ide_issue_pc There should be no functionality change resulting from this patch. Signed-off-by: Borislav Petkov Signed-off-by: Bartlomiej Zolnierkiewicz commit 65a3309e552585c4908e50e3c9736afb764c97c0 Author: Borislav Petkov Date: Fri Jan 2 16:12:55 2009 +0100 ide-cd: remove handler wrappers Remove cdrom_do_newpc_cont and cdrom_start_rw_cont wrappers and pass cdrom_transfer_packet_command to ide_execute_command directly. There should be no functionality change resulting from this patch. Signed-off-by: Borislav Petkov [bart: don't move cdrom_start_packet_command() around, remove newlines] Signed-off-by: Bartlomiej Zolnierkiewicz commit 563d993153ab16d829ba373c5c070a118eb1eba4 Author: Borislav Petkov Date: Fri Jan 2 16:12:55 2009 +0100 ide-cd: remove xferlen arg to cdrom_start_packet_command There should be no functionality change resulting from this patch. Signed-off-by: Borislav Petkov Signed-off-by: Bartlomiej Zolnierkiewicz commit d77612ab0ad7515623b084b952dfefd547073ada Author: Borislav Petkov Date: Fri Jan 2 16:12:55 2009 +0100 ide-atapi: split drive-specific functionality in ide_issue_pc There should be no functionality change resulting from this patch. Signed-off-by: Borislav Petkov Signed-off-by: Bartlomiej Zolnierkiewicz commit def860d061d0fcab7fbbe193c0b8b8f0b9b4c828 Author: Borislav Petkov Date: Fri Jan 2 16:12:55 2009 +0100 ide-atapi: assign expiry and timeout based on device type There should be no functionality change resulting from this patch. Signed-off-by: Borislav Petkov Signed-off-by: Bartlomiej Zolnierkiewicz commit 8c662852d1aa35ed370942ef2740759cd334d2d5 Author: Borislav Petkov Date: Fri Jan 2 16:12:54 2009 +0100 ide-atapi: compute cmd_len based on device type in ide_transfer_pc There should be no functionality change resulting from this patch. Signed-off-by: Borislav Petkov [bart: move cmd_len check closer to ->output_data() call] Signed-off-by: Bartlomiej Zolnierkiewicz commit 5317464dccd0c03026d60f1e9968de4f9cd23f69 Author: Borislav Petkov Date: Fri Jan 2 16:12:54 2009 +0100 ide: remove the last ide-scsi remnants Signed-off-by: Borislav Petkov Signed-off-by: Bartlomiej Zolnierkiewicz commit 5d655a03b847fbe5353a8a74bbeb75e18708dca3 Author: Borislav Petkov Date: Fri Jan 2 16:12:54 2009 +0100 ide-atapi: remove ide-scsi remnants from ide_pc_intr() As a result, remove now unused ide_scsi_get_timeout and ide_scsi_expiry. Signed-off-by: Borislav Petkov Signed-off-by: Bartlomiej Zolnierkiewicz commit 5fe3110431ccf437607bdc11ac3677bf3eeee6e3 Author: Borislav Petkov Date: Fri Jan 2 16:12:53 2009 +0100 ide-atapi: remove ide-scsi remnants from ide_transfer_pc() Signed-off-by: Borislav Petkov Signed-off-by: Bartlomiej Zolnierkiewicz commit 152fe1cc38ebebb81724663e3b1e1e10272a729e Author: Borislav Petkov Date: Fri Jan 2 16:12:53 2009 +0100 ide-atapi: remove ide-scsi remnants from ide_issue_pc Signed-off-by: Borislav Petkov Signed-off-by: Bartlomiej Zolnierkiewicz commit 4cad085efbce8dcc5006b0d1034089758b4fc7ba Author: Borislav Petkov Date: Fri Jan 2 16:12:53 2009 +0100 ide-cd: move cdrom_timer_expiry to ide-atapi.c - cdrom_timer_expiry -> ide_cd_expiry - remove expiry-arg to ide_issue_pc as it is redundant now - ide_debug_log -> debug_log Signed-off-by: Borislav Petkov Signed-off-by: Bartlomiej Zolnierkiewicz commit 5f25843fa79b7c35097b0ffe8b2c5cc2428d6495 Author: Borislav Petkov Date: Fri Jan 2 16:12:53 2009 +0100 ide-atapi: teach ide atapi about drive->waiting_for_dma In addition, we wait for DRQ to be asserted by repeatedly polling device status no matter what DRQ type each device implements. Signed-off-by: Borislav Petkov Signed-off-by: Bartlomiej Zolnierkiewicz commit 392de1d53dd40e2eebee3a0a26aa647a3865ca78 Author: Borislav Petkov Date: Fri Jan 2 16:12:52 2009 +0100 ide-atapi: accomodate transfer length calculation for ide-cd ... by factoring it out of ide_cd_do_request() into a helper, as suggested by Bart. There should be no functionality change resulting from this patch. Signed-off-by: Borislav Petkov [bart: BLK_DEV_IDECD needs to select IDE_ATAPI now] Signed-off-by: Bartlomiej Zolnierkiewicz commit 4f02ff06b4d33aba50ce5157c23e99cd21d447ee Author: Borislav Petkov Date: Fri Jan 2 16:12:52 2009 +0100 ide-atapi: setup dma for ide-cd There should be no functional change resulting from this patch. Signed-off-by: Borislav Petkov Signed-off-by: Bartlomiej Zolnierkiewicz commit ed48554fad7091b9613b967462f082bf1a9cb035 Author: Borislav Petkov Date: Fri Jan 2 16:12:52 2009 +0100 ide-atapi: combine drive-specific assignments There should be no functionality change resulting from this patch. Signed-off-by: Borislav Petkov Signed-off-by: Bartlomiej Zolnierkiewicz commit 991cb26a6ad287c3bc6555c41e830590a23910c4 Author: Borislav Petkov Date: Fri Jan 2 16:12:52 2009 +0100 ide-atapi: add a dev_is_idecd-inline There should be no functionality change resulting from this patch. Signed-off-by: Borislav Petkov Signed-off-by: Bartlomiej Zolnierkiewicz commit 93c164af19f608c5f737eb9bed8cb4de3a872329 Author: FUJITA Tomonori Date: Fri Jan 2 16:12:51 2009 +0100 remove ide-scsi As planed, this removes ide-scsi. The 2.6 kernel supports direct writing to ide CD drives, which eliminates the need for ide-scsi. ide-scsi has been unmaintained and marked as deprecated. Signed-off-by: FUJITA Tomonori Cc: James.Bottomley@HansenPartnership.com Signed-off-by: Bartlomiej Zolnierkiewicz commit 07bd3f4731f9c7ebcbab90905ca4ad6fc6825f96 Author: Linus Torvalds Date: Fri Jan 2 16:12:51 2009 +0100 ide-floppy: allocate only toplevel packet commands This makes the top-level function just allocate a single pc entry, and then pass it down as a pointer to all the helper functions that also need one of those "struct ide_atapi_pc" things. As far as I can tell, the use of these things never overlaps each other, BUT I DID NOT CHECK VERY CLOSELY! So I'm not guaranteeing this is correct, and I don't have the hardware. It would be good for somebody who knows the code more, and has the hardware, could please test this? With this, ide-floppy still has fairly big stack usage, but instead of idefloppy_ioctl [vmlinux]: 1208 ide_floppy_get_capacity [vmlinux]: 872 idefloppy_release [vmlinux]: 408 idefloppy_open [vmlinux]: 408 where those two first ones are at the very top of the list of stack users for me, it's now ide_floppy_get_capacity [vmlinux]: 404 ide_floppy_ioctl [vmlinux]: 364 ie they are still high, but they are no longer at the top. Borislav: Since ide_floppy_get_capacity is passed as a function pointer to other parts of the kernel (e.g., block layer) we need that ide_atapi_pc to be created on stack. Also, redid stack users numbers above. The two functions missing from Linus' original 'make stackusage' output are due to ide being rewritten/reorganized atm. Signed-off-by: Linus Torvalds Signed-off-by: Borislav Petkov Signed-off-by: Bartlomiej Zolnierkiewicz commit bf64741fe89280bd81a9e3a1beadec1570861848 Author: Borislav Petkov Date: Fri Jan 2 16:12:50 2009 +0100 ide: make IDE_AFLAG_.. numbering continuous again Signed-off-by: Borislav Petkov Signed-off-by: Bartlomiej Zolnierkiewicz commit 0f38aaa4980fdf5de215e0a8bf6d6032164a6c4b Author: Borislav Petkov Date: Fri Jan 2 16:12:50 2009 +0100 ide-cd: move debug defines into header While at it: - disable compiling-in debug support by default Signed-off-by: Borislav Petkov [bart: fixup patch description] Signed-off-by: Bartlomiej Zolnierkiewicz commit 201bffa46466b4afdf7d29db8eca3fa5decb39c8 Author: Bartlomiej Zolnierkiewicz Date: Fri Jan 2 16:12:50 2009 +0100 ide: use per-device request queue locks (v2) * Move hack for flush requests from choose_drive() to do_ide_request(). * Add ide_plug_device() helper and convert core IDE code from using per-hwgroup lock as a request lock to use the ->queue_lock instead. * Remove no longer needed: - choose_drive() function - WAKEUP() macro - 'sleeping' flag from ide_hwif_t - 'service_{start,time}' fields from ide_drive_t This patch results in much simpler and more maintainable code (besides being a scalability improvement). v2: * Fixes/improvements based on review from Elias: - take as many requests off the queue as possible - remove now redundant BUG_ON() Cc: Elias Oltmanns Signed-off-by: Bartlomiej Zolnierkiewicz commit 631de3708d595d153e8a510a3608689290f4c0ed Author: Bartlomiej Zolnierkiewicz Date: Fri Jan 2 16:12:50 2009 +0100 ide: add ide_[un]lock_hwgroup() helpers Add ide_[un]lock_hwgroup() inline helpers for obtaining exclusive access to the given hwgroup and update the core code accordingly. [ This change besides making code saner results in more efficient use of ide_{get,release}_lock(). ] Cc: Michael Schmitz Cc: Geert Uytterhoeven Cc: Elias Oltmanns Signed-off-by: Bartlomiej Zolnierkiewicz commit b2cfb05a701809abee591265a198afa029d68bff Author: Bartlomiej Zolnierkiewicz Date: Fri Jan 2 16:12:49 2009 +0100 ide: remove "paranoia" checks for hwgroup->busy Remove "paranoia" checks for hwgroup->busy from ide_timer_expiry() and ide_intr(). This is a preparation for future changes. Cc: Michael Schmitz Cc: Geert Uytterhoeven Cc: Elias Oltmanns Signed-off-by: Bartlomiej Zolnierkiewicz commit 2fb211502e2c0513e12d677ed4d7891f3c5e1413 Author: Bartlomiej Zolnierkiewicz Date: Fri Jan 2 16:12:49 2009 +0100 ide: remove IDE PM hack from do_ide_request() We now tell block layer that there is still work to do using blk_plug_device() so hack for IDE Power Management can be removed (it was buggy for hwgroups having more than 4 devices anyway). Signed-off-by: Bartlomiej Zolnierkiewicz commit 295f00042aaf6b553b5f37348f89bab463d4a469 Author: Bartlomiej Zolnierkiewicz Date: Fri Jan 2 16:12:48 2009 +0100 ide: don't execute the next queued command from the hard-IRQ context (v2) * Tell the block layer that we are not done handling requests by using blk_plug_device() in ide_do_request() (request handling function) and ide_timer_expiry() (timeout handler) if the queue is not empty. * Remove optimization which directly calls ide_do_request() for the next queued command from the ide_intr() (IRQ handler) and ide_timer_expiry(). * Remove no longer needed IRQ masking from ide_do_request() - in case of IDE ports needing serialization disable_irq_nosync()/enable_irq() was used for the (possibly shared) IRQ of the other IDE port. * Put the misplaced comment in the right place in ide_do_request(). * Drop no longer needed 'int masked_irq' argument from ide_do_request(). * Merge ide_do_request() into do_ide_request(). * Remove no longer needed IDE_NO_IRQ define. While at it: * Don't use HWGROUP() macro in do_ide_request(). * Use __func__ in ide_intr(). This patch reduces IRQ hadling latency for IDE and improves the system-wide handling of shared IRQs (which should result in more timeout resistant and stable IDE systems). It also makes it possible to do some further changes later (i.e. replace some busy-waiting delays with sleeping equivalents). v2: Changes per review from Elias Oltmanns: - fix wrong goto statement in 'if (startstop == ide_stopped)' block - use spin_unlock_irq() - don't use obsolete HWIF() macro Cc: Elias Oltmanns Signed-off-by: Bartlomiej Zolnierkiewicz commit ebdab07dad3d3a008e519b0a028e1e1ad5ecaef0 Author: Bartlomiej Zolnierkiewicz Date: Fri Jan 2 16:12:48 2009 +0100 ide: move sysfs support to ide-sysfs.c While at it: - media_string() -> ide_media_string() There should be no functional changes caused by this patch. Signed-off-by: Bartlomiej Zolnierkiewicz commit 24630dc68a499baec367d24285bc6b92207cc100 Author: Bartlomiej Zolnierkiewicz Date: Fri Jan 2 16:12:47 2009 +0100 ide: factor out device type classifying from do_identify() Factor out device type classifying from do_identify() to ide_classify_ata_dev() and ide_classify_atapi_dev(). There should be no functional changes caused by this patch. Signed-off-by: Bartlomiej Zolnierkiewicz commit 96d40941236722777c259775640b8880b7dc6f33 Author: Bartlomiej Zolnierkiewicz Date: Fri Jan 2 16:12:47 2009 +0100 ide: small ide_register_port() cleanup Signed-off-by: Bartlomiej Zolnierkiewicz commit b1d249e845efb07975183c62b4f75576c4a8d467 Author: Bartlomiej Zolnierkiewicz Date: Fri Jan 2 16:12:47 2009 +0100 ide: remove chipset type fixup from ide_host_register() * Set chipset type explicitly in tx4938ide and tx4939ide host drivers (all other host drivers were updated already). * Remove no longer used chipset type fixup from ide_host_register(). Acked-by: Atsushi Nemoto Cc: Sergei Shtylyov Signed-off-by: Bartlomiej Zolnierkiewicz commit 3ee86dcdd273aa91cb9b4fe1e3d4f69035750a12 Author: Bartlomiej Zolnierkiewicz Date: Fri Jan 2 16:12:46 2009 +0100 tx493x: fix indentation Trivial CodingStyle fixup for tx4938ide and tx4939ide drivers. Acked-by: Atsushi Nemoto Acked-by: Sergei Shtyltov Signed-off-by: Bartlomiej Zolnierkiewicz commit a9067d537615d534dcef06c0d819472e43a0d152 Author: Ingo Brueckl Date: Fri Jan 2 14:42:00 2009 +0100 x86: convert permanent_kmaps_init() from macro to inline Impact: cleanup This compiler warning: arch/x86/mm/init_32.c:515: warning: unused variable 'pgd_base' triggers because permanent_kmaps_init() is a CPP macro in the !CONFIG_HIGHMEM case, that does not tell the compiler that the 'pgd_base' parameter is used. Convert permanent_kmaps_init() (and set_highmem_pages_init()) to C inline functions - which gives the parameter a proper type and which gets rid of the compiler warning as well. Signed-off-by: Ingo Brueckl Signed-off-by: Ingo Molnar commit b21a207141d83a06abc5f492b80204602e02ca44 Merge: 3af3730 b58602a Author: David Vrabel Date: Fri Jan 2 13:17:13 2009 +0000 Merge branch 'master' of git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux-2.6 into for-upstream Conflicts: drivers/uwb/wlp/eda.c commit f4e9749f451747f7cdd334eae951357f839c57f2 Author: Julia Lawall Date: Thu Jan 1 18:14:35 2009 +0100 ALSA: Use usb_set/get_intfdata Use the USB functions usb_get_intfdata and usb_set_intfdata instead of dev_get_drvdata and dev_set_drvdata, respectively. The semantic patch that makes this change for the usb_get_intfdata case is as follows: (http://www.emn.fr/x-info/coccinelle/) // @header@ @@ #include @same depends on header@ position p; @@ usb_get_intfdata@p(...) { ... } @depends on header@ position _p!=same.p; identifier _f; struct usb_interface*intf; @@ _f@_p(...) { <+... - dev_get_drvdata(&intf->dev) + usb_get_intfdata(intf) ...+> } // Signed-off-by: Julia Lawall Signed-off-by: Takashi Iwai commit c64d8996bd758cedc2ddc04b86ca66fa1d8599cf Author: Cyrill Gorcunov Date: Fri Jan 2 11:27:18 2009 +0300 x86: early_printk - use sizeof instead of hardcoded number Impact: cleanup Signed-off-by: Cyrill Gorcunov Signed-off-by: Ingo Molnar commit bdbb861f75c2bd94480316d3318dff280f4f5ce4 Merge: 613e09b e1c4a2d Author: Russell King Date: Thu Jan 1 19:12:20 2009 +0000 Merge branch 'for_rmk' of git://git.mnementh.co.uk/linux-2.6-im into devel commit ac11a2b35cc25c77d28218aaf60e7f7c6c7ee5d3 Author: Mark Brown Date: Thu Jan 1 12:18:17 2009 +0000 ASoC: Clean up kerneldoc warnings Almost all parameters that have been misnamed in the comments. Signed-off-by: Mark Brown commit 9bef6489d72abd8f598aede92be3854a69324c50 Author: Stephen Ware Date: Wed Dec 31 14:39:23 2008 -0800 ASoC: Fix pxa2xx-pcm checks for invalid DMA channels Set the invalid dma channel to -1 (and check properly for it) in pxa2xx_pcm_hw_free(). Was assuming 0 is an invalid channel number but 0 is a valid pxa dma channel num. Signed-off-by: stephen Signed-off-by: Mark Brown commit 06bf3e15f64aacfb068fed5002b6544f870cc638 Author: Chris Bagwell Date: Thu Jan 1 10:32:08 2009 +0100 LSA: hda - Add HP Acacia detection Add automatic mapping of HP Acacia motherboards to 3stack-hp. Allows for greater then 2 channel audio by enabling Channel Mode option in mixer. Motherboard specs: http://h10025.www1.hp.com/ewfrf/wc/document?docname=c01321559&lc=en&dlc=en&cc=us&product=3829353&os=2093&lang=en# Signed-off-by: Chris Bagwell Signed-off-by: Takashi Iwai commit 3fea2cb0451b9009af32d1418ea77cc674fe7e02 Author: Wu Fengguang Date: Fri Dec 26 12:20:43 2008 +0800 ALSA: hda - fix name for ALC1200 Move the more specific preset for ALC1200 above the general one for ALC888, so that it will have the chance to get matched and selected. Reported-by: Thomas Schneider Signed-off-by: Wu Fengguang Signed-off-by: Takashi Iwai commit 42a6e66f1e40a930d093c33ba0bb9d8d8e4555ed Author: Julia Lawall Date: Mon Dec 29 11:23:02 2008 +0100 ALSA: sound/usb: use USB API functions rather than constants This set of patches introduces calls to the following set of functions: usb_endpoint_dir_in(epd) usb_endpoint_dir_out(epd) usb_endpoint_is_bulk_in(epd) usb_endpoint_is_bulk_out(epd) usb_endpoint_is_int_in(epd) usb_endpoint_is_int_out(epd) usb_endpoint_num(epd) usb_endpoint_type(epd) usb_endpoint_xfer_bulk(epd) usb_endpoint_xfer_control(epd) usb_endpoint_xfer_int(epd) usb_endpoint_xfer_isoc(epd) In some cases, introducing one of these functions is not possible, and it just replaces an explicit integer value by one of the following constants: USB_ENDPOINT_XFER_BULK USB_ENDPOINT_XFER_CONTROL USB_ENDPOINT_XFER_INT USB_ENDPOINT_XFER_ISOC An extract of the semantic patch that makes these changes is as follows: (http://www.emn.fr/x-info/coccinelle/) // @r1@ struct usb_endpoint_descriptor *epd; @@ - ((epd->bmAttributes & \(USB_ENDPOINT_XFERTYPE_MASK\|3\)) == - \(USB_ENDPOINT_XFER_CONTROL\|0\)) + usb_endpoint_xfer_control(epd) @r5@ struct usb_endpoint_descriptor *epd; @@ - ((epd->bEndpointAddress & \(USB_ENDPOINT_DIR_MASK\|0x80\)) == - \(USB_DIR_IN\|0x80\)) + usb_endpoint_dir_in(epd) @inc@ @@ #include @depends on !inc && (r1||r5)@ @@ + #include #include // Signed-off-by: Julia Lawall Signed-off-by: Takashi Iwai commit b58602a4bac012b5f4fc12fe6b46ab237b610d5d Merge: db200df 1f3403f Author: Linus Torvalds Date: Wed Dec 31 15:57:56 2008 -0800 Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs-2.6 * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs-2.6: (34 commits) nfsd race fixes: jfs nfsd race fixes: reiserfs nfsd race fixes: ext4 nfsd race fixes: ext3 nfsd race fixes: ext2 nfsd/create race fixes, infrastructure filesystem notification: create fs/notify to contain all fs notification fs/block_dev.c: __read_mostly improvement and sb_is_blkdev_sb utilization kill ->dir_notify() filp_cachep can be static in fs/file_table.c fix f_count description in Documentation/filesystems/files.txt make INIT_FS use the __RW_LOCK_UNLOCKED initialization take init_fs to saner place kill vfs_permission pass a struct path * to may_open kill walk_init_root remove incorrect comment in inode_permission expand some comments (d_path / seq_path) correct wrong function name of d_put in kernel document and source comment fix switch_names() breakage in short-to-short case ... commit 8c384cdee3e04d6194a2c2b192b624754f990835 Author: Rusty Russell Date: Thu Jan 1 10:12:30 2009 +1030 cpumask: CONFIG_DISABLE_OBSOLETE_CPUMASK_FUNCTIONS Impact: new debug CONFIG options This helps find unconverted code. It currently breaks compile horribly, but we never wanted a flag day so that's expected. Signed-off-by: Rusty Russell commit 2a53008033189ed09bfe241c6b33811ba4ce980d Author: Rusty Russell Date: Thu Jan 1 10:12:30 2009 +1030 cpumask: zero extra bits in alloc_cpumask_var_node Impact: extra safety checks during transition When CONFIG_CPUMASKS_OFFSTACK is set, the new cpumask_ operators only use bits up to nr_cpu_ids, not NR_CPUS. Using the old cpus_ operators on these masks can mean accessing undefined bits. After some discussion, Mike and I decided to err on the side of caution; we zero the "undefined" bits in alloc_cpumask_var_node() until all the old cpumask functions are removed. Signed-off-by: Rusty Russell commit 5db0e1e9e0f30f160b832a0b5cd1131954bf4f6e Author: Rusty Russell Date: Thu Jan 1 10:12:29 2009 +1030 cpumask: replace for_each_cpu_mask_nr with for_each_cpu in kernel/time/ Impact: cleanup Simple replacement, now the _nr is redundant. Signed-off-by: Rusty Russell Signed-off-by: Mike Travis Cc: Ingo Molnar commit 174596a0b9f21e8844d70566a6bb29bf48a87750 Author: Rusty Russell Date: Thu Jan 1 10:12:29 2009 +1030 cpumask: convert mm/ Impact: Use new API Convert kernel mm functions to use struct cpumask. We skip include/linux/percpu.h and mm/allocpercpu.c, which are in flux. Signed-off-by: Rusty Russell Signed-off-by: Mike Travis Reviewed-by: Christoph Lameter commit 41c7bb9588904eb060a95bcad47bd3804a1ece25 Author: Rusty Russell Date: Thu Jan 1 10:12:28 2009 +1030 cpumask: convert rest of files in kernel/ Impact: Reduce stack usage, use new cpumask API. Mainly changing cpumask_t to 'struct cpumask' and similar simple API conversion. Two conversions worth mentioning: 1) we use cpumask_any_but to avoid a temporary in kernel/softlockup.c, 2) Use cpumask_var_t in taskstats_user_cmd(). Signed-off-by: Rusty Russell Signed-off-by: Mike Travis Cc: Balbir Singh Cc: Ingo Molnar commit e0b582ec56f1a1d8b30ebf340a7b91fb09f26c8c Author: Rusty Russell Date: Thu Jan 1 10:12:28 2009 +1030 cpumask: convert kernel/cpu.c Impact: Reduce kernel stack and memory usage, use new cpumask API. Use cpumask_var_t for take_cpu_down() stack var, and frozen_cpus. Note that notify_cpu_starting() can be called before core_initcall allocates frozen_cpus, but the NULL check is optimized out by gcc for the CONFIG_CPUMASK_OFFSTACK=n case. Signed-off-by: Rusty Russell commit c309b917cab55799ea489d7b5f1b77025d9f8462 Author: Rusty Russell Date: Thu Jan 1 10:12:27 2009 +1030 cpumask: convert kernel/profile.c Impact: Reduce kernel memory usage, use new cpumask API. Avoid a static cpumask_t for prof_cpu_mask, and an on-stack cpumask_t in prof_cpu_mask_write_proc. Both become cpumask_var_t. prof_cpu_mask is only allocated when profiling is on, but the NULL checks are optimized out by gcc for the !CPUMASK_OFFSTACK case. Also removed some strange and unnecessary casts. Signed-off-by: Rusty Russell commit bd232f97b30f6bb630efa136a777647545db3039 Author: Rusty Russell Date: Thu Jan 1 10:12:26 2009 +1030 cpumask: convert RCU implementations Impact: use new cpumask API. rcu_ctrlblk contains a cpumask, and it's highly optimized so I don't want a cpumask_var_t (ie. a pointer) for the CONFIG_CPUMASK_OFFSTACK case. It could use a dangling bitmap, and be allocated in __rcu_init to save memory, but for the moment we use a bitmap. (Eventually 'struct cpumask' will be undefined for CONFIG_CPUMASK_OFFSTACK, so we use a bitmap here to show we really mean it). We remove on-stack cpumasks, using cpumask_var_t for rcu_torture_shuffle_tasks() and for_each_cpu_and in force_quiescent_state(). Signed-off-by: Rusty Russell commit d036e67b40f52bdd95392390108defbac7e53837 Author: Rusty Russell Date: Thu Jan 1 10:12:26 2009 +1030 cpumask: convert kernel/irq Impact: Reduce stack usage, use new cpumask API. ALPHA mod! Main change is that irq_default_affinity becomes a cpumask_var_t, so treat it as a pointer (this effects alpha). Signed-off-by: Rusty Russell commit 6b954823c24f04ed026a8517f6bab5abda279db8 Author: Rusty Russell Date: Thu Jan 1 10:12:25 2009 +1030 cpumask: convert kernel time functions Impact: Use new APIs Convert kernel/time functions to use struct cpumask *. Note the ugly bitmap declarations in tick-broadcast.c. These should be cpumask_var_t, but there was no obvious initialization function to put the alloc_cpumask_var() calls in. This was safe. (Eventually 'struct cpumask' will be undefined for CONFIG_CPUMASK_OFFSTACK, so we use a bitmap here to show we really mean it). Signed-off-by: Rusty Russell Signed-off-by: Mike Travis commit e7577c50f2fb2d1c167e2c04a4b4c2cc042acb82 Author: Rusty Russell Date: Thu Jan 1 10:12:25 2009 +1030 cpumask: convert kernel/workqueue.c Impact: Reduce memory usage, use new cpumask API. cpu_populated_map becomes a cpumask_var_t, and cpu_singlethread_map is simply a cpumask pointer: it's simply the cpumask containing the first possible CPU anyway. Signed-off-by: Rusty Russell commit a45185d2d7108b01b90b9e0293377be4d6346dde Author: Rusty Russell Date: Thu Jan 1 10:12:24 2009 +1030 cpumask: convert kernel/compat.c Impact: Reduce stack usage, use new cpumask API. Straightforward conversion; cpumasks' size is given by cpumask_size() (now a variable rather than fixed) and on-stack cpu masks use cpumask_var_t. Signed-off-by: Rusty Russell commit 3e597945384dee1457240158eb81e3afb90b68c2 Author: Rusty Russell Date: Thu Jan 1 10:12:24 2009 +1030 cpumask: remove any_online_cpu() users: mm/ Impact: Remove obsolete API usage any_online_cpu() is a good name, but it takes a cpumask_t, not a pointer. There are several places where any_online_cpu() doesn't really want a mask arg at all. Replace all callers with cpumask_any() and cpumask_any_and(). Signed-off-by: Rusty Russell Signed-off-by: Mike Travis commit f1fc057c79cb2d27602fb3ad08a031f13459ef27 Author: Rusty Russell Date: Thu Jan 1 10:12:23 2009 +1030 cpumask: remove any_online_cpu() users: kernel/ Impact: Remove obsolete API usage any_online_cpu() is a good name, but it takes a cpumask_t, not a pointer. There are several places where any_online_cpu() doesn't really want a mask arg at all. Replace all callers with cpumask_any() and cpumask_any_and(). Signed-off-by: Rusty Russell Signed-off-by: Mike Travis commit 4462344ee9ea9224d026801b877887f2f39774a3 Author: Rusty Russell Date: Thu Jan 1 10:12:23 2009 +1030 cpumask: convert kernel trace functions further Impact: Reduce future memory usage, use new cpumask API. Since the last patch was created and acked, more old cpumask users slipped into kernel/trace. Mostly trivial conversions, except struct trace_iterator's "started" member becomes a cpumask_var_t. Signed-off-by: Rusty Russell commit 9e01c1b74c9531e301c900edaa92a99fcb7738f2 Author: Rusty Russell Date: Thu Jan 1 10:12:22 2009 +1030 cpumask: convert kernel trace functions Impact: Reduce future memory usage, use new cpumask API. (Eventually, cpumask_var_t will be allocated based on nr_cpu_ids, not NR_CPUS). Convert kernel trace functions to use struct cpumask API: 1) Use cpumask_copy/cpumask_test_cpu/for_each_cpu. 2) Use cpumask_var_t and alloc_cpumask_var/free_cpumask_var everywhere. 3) Use on_each_cpu instead of playing with current->cpus_allowed. Signed-off-by: Rusty Russell Signed-off-by: Mike Travis Acked-by: Steven Rostedt commit 333af15341b2f6cd813c054e1b441d7b6d8e9318 Author: Rusty Russell Date: Thu Jan 1 10:12:21 2009 +1030 cpumask: Introduce topology_core_cpumask()/topology_thread_cpumask(): ia64 Impact: New API The old topology_core_siblings() and topology_thread_siblings() return a cpumask_t; these new ones return a (const) struct cpumask *. Signed-off-by: Rusty Russell Signed-off-by: Mike Travis commit 9150641dd17fe9e213ab3391c8ebfc228daa2d9d Author: Rusty Russell Date: Thu Jan 1 10:12:21 2009 +1030 cpumask: Introduce topology_core_cpumask()/topology_thread_cpumask(): powerpc Impact: New API The old topology_core_siblings() and topology_thread_siblings() return a cpumask_t; these new ones return a (const) struct cpumask *. Signed-off-by: Rusty Russell Signed-off-by: Mike Travis commit 2bb23a63f22f0e2d91fee93ff5ca9c29e180b146 Author: Rusty Russell Date: Thu Jan 1 10:12:20 2009 +1030 cpumask: Introduce topology_core_cpumask()/topology_thread_cpumask(): s390 Impact: New API The old topology_core_siblings() and topology_thread_siblings() return a cpumask_t; these new ones return a (const) struct cpumask *. Signed-off-by: Rusty Russell Signed-off-by: Mike Travis commit 78fd744f827586615da5b387fa9f0af1888601b6 Author: Rusty Russell Date: Thu Jan 1 10:12:20 2009 +1030 cpumask: Introduce topology_core_cpumask()/topology_thread_cpumask(): sparc Impact: New API The old topology_core_siblings() and topology_thread_siblings() return a cpumask_t; these new ones return a (const) struct cpumask *. Signed-off-by: Rusty Russell Signed-off-by: Mike Travis commit e0c0ba736547e81c4f986ce192307c549d214167 Author: Rusty Russell Date: Thu Jan 1 10:12:19 2009 +1030 cpumask: Use find_last_bit() Impact: cleanup There's one obvious place to use it: to find the highest possible cpu. Signed-off-by: Rusty Russell commit ab53d472e785e51fdfc08fc1d66252c1153e6c0f Author: Rusty Russell Date: Thu Jan 1 10:12:19 2009 +1030 bitmap: find_last_bit() Impact: New API As the name suggests. For the moment everyone uses the generic one. Signed-off-by: Rusty Russell commit 0db5d3d2f58804edb394e8008c7d9744110338a2 Author: Rusty Russell Date: Thu Jan 1 10:12:18 2009 +1030 m68knommu: define __fls Like fls, but can't be handed 0 and returns the bit number. (I broke this arch in linux-next by using __fls in generic code). Signed-off-by: Rusty Russell commit 434ae514c23047db87a8bbf39cebc9e1767aea44 Author: Rusty Russell Date: Thu Jan 1 10:12:18 2009 +1030 m68k: define __fls Like fls, but can't be handed 0 and returns the bit number. (I broke this arch in linux-next by using __fls in generic code). Signed-off-by: Rusty Russell commit ccec25ff69d5f48c7a088c16fe2dc7e11d9e87fe Author: Rusty Russell Date: Thu Jan 1 10:12:17 2009 +1030 blackfin: define __fls Like fls, but can't be handed 0 and returns the bit number. (I broke this arch in linux-next by using __fls in generic code). Signed-off-by: Rusty Russell Acked-by: Mike Frysinger commit 96b8d4c19d797200b973caab57ca842531184c13 Author: Rusty Russell Date: Thu Jan 1 10:12:16 2009 +1030 avr32: define __fls Like fls, but can't be handed 0 and returns the bit number. (I broke this arch in linux-next by using __fls in generic code). Signed-off-by: Rusty Russell commit 165ac433fa3f01ba99b29972f3adc283d03b0f17 Author: Rusty Russell Date: Thu Jan 1 10:12:16 2009 +1030 parisc: remove gratuitous cpu_online_map declaration. This is defined in linux/cpumask.h (included in this file already), and this is now defined differently. Signed-off-by: Rusty Russell Cc: linux-parisc@vger.kernel.org commit 915441b601e6662e79f6c958e7be307967a96977 Author: Rusty Russell Date: Thu Jan 1 10:12:15 2009 +1030 cpumask: Use accessors code in core Impact: use new API cpu_*_map are going away in favour of cpu_*_mask, but const pointers. So we have accessors where we really do want to frob them. Archs will also need the (trivial) conversion before we can finally remove cpu_*_map. Signed-off-by: Rusty Russell Signed-off-by: Mike Travis commit 4f4b6c1a94a8735bbdc030a2911cf395495645b6 Author: Rusty Russell Date: Thu Jan 1 10:12:15 2009 +1030 cpumask: prepare for iterators to only go to nr_cpu_ids/nr_cpumask_bits.: core Impact: cleanup In future, all cpumask ops will only be valid (in general) for bit numbers < nr_cpu_ids. So use that instead of NR_CPUS in iterators and other comparisons. This is always safe: no cpu number can be >= nr_cpu_ids, and nr_cpu_ids is initialized to NR_CPUS at boot. Signed-off-by: Rusty Russell Signed-off-by: Mike Travis Acked-by: Ingo Molnar Acked-by: James Morris Cc: Eric Biederman commit 9e2f913df70b378379a358a44e7d286f7b765e8e Author: Rusty Russell Date: Thu Jan 1 10:12:14 2009 +1030 percpu: fix percpu accessors to potentially !cpu_possible() cpus: m32r Impact: CPU iterator bugfixes Percpu areas are only allocated for possible cpus. In general, you shouldn't access random cpu's percpu areas. Signed-off-by: Rusty Russell Signed-off-by: Mike Travis Acked-by: Ingo Molnar Acked-by: Hirokazu Takata commit 6aaa8ce523c7ce954b81b8c0b3e32c8be599af8d Author: Rusty Russell Date: Thu Jan 1 10:12:14 2009 +1030 percpu: fix percpu accessors to potentially !cpu_possible() cpus: pnpbios Impact: CPU iterator bugfixes Percpu areas are only allocated for possible cpus. In general, you shouldn't access random cpu's percpu areas. Signed-off-by: Rusty Russell Signed-off-by: Mike Travis Acked-by: Ingo Molnar Cc: Adam Belay commit e9690a6e4b1615cb0102e425e04b7ce29e7858e2 Author: Li Zefan Date: Wed Dec 31 16:45:50 2008 +0800 cpumask: fix bogus kernel-doc Impact: fix kernel-doc alloc_bootmem_cpumask_var() returns avoid. Signed-off-by: Li Zefan Signed-off-by: Rusty Russell commit f320786063a9d1f885d2cf34ab44aa69c1d88f43 Author: Rusty Russell Date: Thu Jan 1 10:12:13 2009 +1030 cpumask: Remove IA64 definition of total_cpus now it's in core code Impact: fix IA64 compile Fortunately, they have exactly the same semantics. Signed-off-by: Rusty Russell commit 90bd49ab6649269cd10d0edc86d0e0f62864726a Author: James Morris Date: Mon Dec 29 14:35:35 2008 +1100 keys: fix sparse warning by adding __user annotation to cast Fix the following sparse warning: CC security/keys/key.o security/keys/keyctl.c:1297:10: warning: incorrect type in argument 2 (different address spaces) security/keys/keyctl.c:1297:10: expected char [noderef] *buffer security/keys/keyctl.c:1297:10: got char * which appears to be caused by lack of __user annotation to the cast of a syscall argument. Signed-off-by: James Morris Acked-by: David Howells commit 1f3403fa640f9f7b135dee79f2d39d01c8ad4a08 Author: Dave Kleikamp Date: Tue Dec 30 22:08:37 2008 -0600 nfsd race fixes: jfs jfs version of Al Viro's nfsd race patches Signed-off-by: Dave Kleikamp Signed-off-by: Al Viro commit c1eaa26b671299b3ec01d40c6c71ee19a4f81517 Author: Al Viro Date: Tue Dec 30 02:03:58 2008 -0500 nfsd race fixes: reiserfs ... and the same for reiserfs. The difference here is that we need insert_inode_locked4() to match iget5_locked(). Signed-off-by: Al Viro commit 6b38e842bb832a3dbeb17e382404aef3c40ac5f9 Author: Al Viro Date: Tue Dec 30 02:03:31 2008 -0500 nfsd race fixes: ext4 Signed-off-by: Al Viro commit c38012daa7ad902a39a4213ba2b3fe50e81157ea Author: Al Viro Date: Tue Dec 30 02:02:50 2008 -0500 nfsd race fixes: ext3 ext3 analog of the previous patch Signed-off-by: Al Viro commit 41080b5a240113328c607f22b849f653373db0ce Author: Al Viro Date: Tue Dec 30 01:52:35 2008 -0500 nfsd race fixes: ext2 * make ext2_new_inode() put the inode into icache in locked state * do not unlock until the inode is fully set up; otherwise nfsd might pick it in half-baked state. * make sure that ext2_new_inode() does *not* lead to two inodes with the same inumber hashed at the same time; otherwise a bogus fhandle coming from nfsd might race with inode creation: nfsd: iget_locked() creates inode nfsd: try to read from disk, block on that. ext2_new_inode(): allocate inode with that inumber ext2_new_inode(): insert it into icache, set it up and dirty ext2_write_inode(): get the relevant part of inode table in cache, set the entry for our inode (and start writing to disk) nfsd: get CPU again, look into inode table, see nice and sane on-disk inode, set the in-core inode from it oops - we have two in-core inodes with the same inumber live in icache, both used for IO. Welcome to fs corruption... Signed-off-by: Al Viro commit 261bca86ed4f7f391d1938167624e78da61dcc6b Author: Al Viro Date: Tue Dec 30 01:48:21 2008 -0500 nfsd/create race fixes, infrastructure new helpers - insert_inode_locked() and insert_inode_locked4(). Hash new inode, making sure that there's no such inode in icache already. If there is and it does not end up unhashed (as would happen if we have nfsd trying to resolve a bogus fhandle), fail. Otherwise insert our inode into hash and succeed. In either case have i_state set to new+locked; cleanup ends up being simpler with such calling conventions. Signed-off-by: Al Viro commit 272eb01485dda98e3b8910c7c1a53d597616b0a0 Author: Eric Paris Date: Wed Dec 17 13:59:41 2008 -0500 filesystem notification: create fs/notify to contain all fs notification Creating a generic filesystem notification interface, fsnotify, which will be used by inotify, dnotify, and eventually fanotify is really starting to clutter the fs directory. This patch simply moves inotify and dnotify into fs/notify/inotify and fs/notify/dnotify respectively to make both current fs/ and future notification tidier. Signed-off-by: Eric Paris Signed-off-by: Al Viro commit c2acf7b90821785fe812cc0aa05148e5a1f84204 Author: Denis ChengRq Date: Mon Dec 1 14:34:56 2008 -0800 fs/block_dev.c: __read_mostly improvement and sb_is_blkdev_sb utilization - iget5_locked in bdget really needs blockdev_superblock, instead of bd_mnt, so bd_mnt could be just a local variable; - blockdev_superblock really needs __read_mostly, while local var bd_mnt not; - make use of sb_is_blkdev_sb in bd_forget, instead of direct reference to blockdev_superblock. Signed-off-by: Denis ChengRq Cc: Al Viro Signed-off-by: Andrew Morton Signed-off-by: Al Viro commit 6badd79bd002788aaec27b50a74ab69ef65ab8ee Author: Al Viro Date: Fri Dec 26 00:57:40 2008 -0500 kill ->dir_notify() Remove the hopelessly misguided ->dir_notify(). The only instance (cifs) has been broken by design from the very beginning; the objects it creates are never destroyed, keep references to struct file they can outlive, nothing that could possibly evict them exists on close(2) path *and* no locking whatsoever is done to prevent races with close(), should the previous, er, deficiencies someday be dealt with. Signed-off-by: Al Viro commit b6b3fdead251d432f32f2cfce2a893ab8a658110 Author: Eric Dumazet Date: Wed Dec 10 09:35:45 2008 -0800 filp_cachep can be static in fs/file_table.c Instead of creating the "filp" kmem_cache in vfs_caches_init(), we can do it a litle be later in files_init(), so that filp_cachep is static to fs/file_table.c Acked-by: Paul E. McKenney Signed-off-by: Eric Dumazet Signed-off-by: Al Viro commit fd659fd6275d3426d7967da1f0e3638bbbd2fedb Author: Eric Dumazet Date: Wed Dec 10 09:35:45 2008 -0800 fix f_count description in Documentation/filesystems/files.txt Documentation/filesystems/files.txt was not updated when f_count became an atomic_long_t. atomic_long_inc_not_zero() is now used instead of atomic_inc_not_zero() Signed-off-by: Al Viro commit 1239f26c05899f1f3c541b41e719c59d58038786 Author: Steven Rostedt Date: Wed Dec 10 18:37:28 2008 -0500 make INIT_FS use the __RW_LOCK_UNLOCKED initialization [AV: rediffed on top of unification of init_fs] Initialization of init_fs still uses the deprecated RW_LOCK_UNLOCKED macro. This patch updates it to use the __RW_LOCK_UNLOCKED(lock) macro. Signed-off-by: Steven Rostedt Signed-off-by: Al Viro commit 18d8fda7c3c9439be04d7ea2e82da2513b121acb Author: Al Viro Date: Fri Dec 26 00:35:37 2008 -0500 take init_fs to saner place Signed-off-by: Al Viro commit cb23beb55100171646e69e248fb45f10db6e99a4 Author: Christoph Hellwig Date: Fri Oct 24 09:59:29 2008 +0200 kill vfs_permission With all the nameidata removal there's no point anymore for this helper. Of the three callers left two will go away with the next lookup series anyway. Also add proper kerneldoc to inode_permission as this is the main permission check routine now. Signed-off-by: Christoph Hellwig Signed-off-by: Al Viro commit 3fb64190aa3c23c10e6e9fd0124ac030115c99bf Author: Christoph Hellwig Date: Fri Oct 24 09:58:10 2008 +0200 pass a struct path * to may_open No need for the nameidata in may_open - a struct path is enough. Signed-off-by: Christoph Hellwig Signed-off-by: Al Viro commit b4091d5f6fde28ab762e1094a1a26d81f3badfa5 Author: Christoph Hellwig Date: Wed Nov 5 15:07:21 2008 +0100 kill walk_init_root walk_init_root is a tiny helper that is marked __always_inline, has just one caller and an unused argument. Just merge it into the caller. Signed-off-by: Christoph Hellwig Signed-off-by: Al Viro commit 66f221875dc10813aa2f06c83ad60d0eb1356406 Author: Christoph Hellwig Date: Wed Nov 5 15:04:29 2008 +0100 remove incorrect comment in inode_permission We now pass on all MAY_ flags to the filesystems permission routines, so remove the comment stating the contrary. Signed-off-by: Christoph Hellwig Signed-off-by: Al Viro commit 52afeefb9dac9287429642189996426a2bfd6a25 Author: Arjan van de Ven Date: Mon Dec 1 14:35:00 2008 -0800 expand some comments (d_path / seq_path) Explain that you really need to use the return value of d_path rather than the buffer you passed into it. Also fix the comment for seq_path(), the function arguments changed recently but the comment hadn't been updated in sync. Signed-off-by: Arjan van de Ven Cc: Al Viro Cc: Christoph Hellwig Signed-off-by: Andrew Morton Signed-off-by: Al Viro commit be42c4c433c2c0d3f1583c08908fead00d36d222 Author: Zhaolei Date: Mon Dec 1 14:34:58 2008 -0800 correct wrong function name of d_put in kernel document and source comment no function named d_put(), it should be dput(). Impact: fix document and comment, no functionality changed Signed-off-by: Zhao Lei Signed-off-by: Randy Dunlap Signed-off-by: Andrew Morton Signed-off-by: Al Viro commit dc711ca35f9d95a1eec02118e0c298b5e3068315 Author: Al Viro Date: Mon Nov 3 15:03:50 2008 -0500 fix switch_names() breakage in short-to-short case We want ->name.len to match the resulting name on *both* source and target Signed-off-by: Al Viro commit 7df5fa06de89a4ac311957e0cb9c1d87552b4325 Author: Duane Griffin Date: Fri Dec 19 20:47:18 2008 +0000 befs: ensure fast symlinks are NUL-terminated Ensure fast symlink targets are NUL-terminated, even if corrupted on-disk. Cc: Sergey S. Kostyliov Signed-off-by: Duane Griffin Signed-off-by: Al Viro commit a63d0ff31a136bdf52350c4e6c2929eaf47ea2b2 Author: Duane Griffin Date: Fri Dec 19 20:47:17 2008 +0000 freevxfs: ensure fast symlinks are NUL-terminated Ensure fast symlink targets are NUL-terminated, even if corrupted on-disk. Cc: Christoph Hellwig Signed-off-by: Duane Griffin Signed-off-by: Al Viro commit 21acaf8e8da00235be59a3e489d5fa2a8721cafc Author: Duane Griffin Date: Fri Dec 19 20:47:16 2008 +0000 sysv: ensure fast symlinks are NUL-terminated Ensure fast symlink targets are NUL-terminated, even if corrupted on-disk. Cc: Christoph Hellwig Cc: Al Viro Signed-off-by: Duane Griffin Signed-off-by: Al Viro commit e83c1397cafc4e44f868289db5e417463c0d09a4 Author: Duane Griffin Date: Fri Dec 19 20:47:15 2008 +0000 ext4: ensure fast symlinks are NUL-terminated Ensure fast symlink targets are NUL-terminated, even if corrupted on-disk. Cc: Andrew Morton Cc: Theodore Ts'o Cc: adilger@sun.com Cc: linux-ext4@vger.kernel.org Signed-off-by: Duane Griffin Signed-off-by: Al Viro commit b5ed3112b5f74c8ec1c7aa03a76c596635e85197 Author: Duane Griffin Date: Fri Dec 19 20:47:14 2008 +0000 ext3: ensure fast symlinks are NUL-terminated Ensure fast symlink targets are NUL-terminated, even if corrupted on-disk. Cc: Andrew Morton Cc: Stephen Tweedie Cc: linux-ext4@vger.kernel.org Signed-off-by: Duane Griffin Signed-off-by: Al Viro commit 8d6d0c4da2dbbe0a69fea3692146af39f139f8b4 Author: Duane Griffin Date: Fri Dec 19 20:47:13 2008 +0000 ext2: ensure fast symlinks are NUL-terminated Ensure fast symlink targets are NUL-terminated, even if corrupted on-disk. Cc: Andrew Morton Signed-off-by: Duane Griffin Signed-off-by: Al Viro commit ebd09abbd9699f328165aee50a070403fbf55a37 Author: Duane Griffin Date: Fri Dec 19 20:47:12 2008 +0000 vfs: ensure page symlinks are NUL-terminated On-disk data corruption could cause a page link to have its i_size set to PAGE_SIZE (or a multiple thereof) and its contents all non-NUL. NUL-terminate the link name to ensure this doesn't cause further problems for the kernel. Cc: Al Viro Cc: Andrew Morton Signed-off-by: Duane Griffin Signed-off-by: Al Viro commit 035146851cfa2fe24c1d9dc7637bb009ad06b2f7 Author: Duane Griffin Date: Fri Dec 19 20:47:11 2008 +0000 vfs: introduce helper function to safely NUL-terminate symlinks A number of filesystems were potentially triggering kernel bugs due to corrupted symlink names on disk. This function helps safely terminate the names. Cc: Al Viro Cc: Andrew Morton Signed-off-by: Duane Griffin Signed-off-by: Al Viro commit a17d5232de7b53d34229de79ec22f4bb04adb7e4 Author: Duane Griffin Date: Fri Dec 19 20:47:10 2008 +0000 eCryptfs: check readlink result was not an error before using it The result from readlink is being used to index into the link name buffer without checking whether it is a valid length. If readlink returns an error this will fault or cause memory corruption. Cc: Tyler Hicks Cc: Dustin Kirkland Cc: ecryptfs-devel@lists.launchpad.net Signed-off-by: Duane Griffin Acked-by: Michael Halcrow Acked-by: Tyler Hicks Signed-off-by: Al Viro commit 5cc4a0341a1295ea56b2e62eb70d96d8fdb94ded Author: Julia Lawall Date: Mon Dec 1 14:34:51 2008 -0800 fs/namespace.c: drop code after return The extra semicolon serves no purpose. Signed-off-by: Julia Lawall Reviewed-by: Richard Genoud Cc: Al Viro Cc: Christoph Hellwig Signed-off-by: Andrew Morton Signed-off-by: Al Viro commit dded4f4d5048e64a01cf52eed4d27c8cb2600525 Author: Jan Engelhardt Date: Mon Dec 1 14:34:50 2008 -0800 include: linux/fs.h: put declarations in __KERNEL__ include/linux/fs.h contains externs for a bunch of variables. That obviously belongs under ifdef __KERNEL__. Signed-off-by: Jan Engelhardt Cc: Al Viro Signed-off-by: Andrew Morton Signed-off-by: Al Viro commit c2452f32786159ed85f0e4b21fec09258f822fc8 Author: Nick Piggin Date: Mon Dec 1 09:33:43 2008 +0100 shrink struct dentry struct dentry is one of the most critical structures in the kernel. So it's sad to see it going neglected. With CONFIG_PROFILING turned on (which is probably the common case at least for distros and kernel developers), sizeof(struct dcache) == 208 here (64-bit). This gives 19 objects per slab. I packed d_mounted into a hole, and took another 4 bytes off the inline name length to take the padding out from the end of the structure. This shinks it to 200 bytes. I could have gone the other way and increased the length to 40, but I'm aiming for a magic number, read on... I then got rid of the d_cookie pointer. This shrinks it to 192 bytes. Rant: why was this ever a good idea? The cookie system should increase its hash size or use a tree or something if lookups are a problem. Also the "fast dcookie lookups" in oprofile should be moved into the dcookie code -- how can oprofile possibly care about the dcookie_mutex? It gets dropped after get_dcookie() returns so it can't be providing any sort of protection. At 192 bytes, 21 objects fit into a 4K page, saving about 3MB on my system with ~140 000 entries allocated. 192 is also a multiple of 64, so we get nice cacheline alignment on 64 and 32 byte line systems -- any given dentry will now require 3 cachelines to touch all fields wheras previously it would require 4. I know the inline name size was chosen quite carefully, however with the reduction in cacheline footprint, it should actually be just about as fast to do a name lookup for a 36 character name as it was before the patch (and faster for other sizes). The memory footprint savings for names which are <= 32 or > 36 bytes long should more than make up for the memory cost for 33-36 byte names. Performance is a feature... Signed-off-by: Al Viro commit e2b689d82c0394e5239a3557a217f19e2f47f1be Author: Richard Kennedy Date: Thu Dec 4 11:17:47 2008 +0000 fs: reorder struct inotify_device on 64bits to remove padding Reorder struct inotify_device to remove 8 bytes of padding on 64bit builds, reducing size to 128 bytes . Therefore allocating from a smaller slab & using one fewer cachelines. Signed-off-by: Richard Kennedy ---- Hi, patch against 2.6.28-rc7. built & tested on AMDX2 desktop. I've not been able to send this to the listed inotify maintainers, I just get mail failures. So I guessed filesystem was the best home for it, hope that's ok. regards Richard Signed-off-by: Al Viro commit be6d3e56a6b9b3a4ee44a0685e39e595073c6f0d Author: Kentaro Takeda Date: Wed Dec 17 13:24:15 2008 +0900 introduce new LSM hooks where vfsmount is available. Add new LSM hooks for path-based checks. Call them on directory-modifying operations at the points where we still know the vfsmount involved. Signed-off-by: Kentaro Takeda Signed-off-by: Tetsuo Handa Signed-off-by: Toshiharu Harada Signed-off-by: Al Viro commit 418f19ea17a99421b22a64e101e14b6a16bed66d Merge: 98444d3 f6e10b8 Author: Pierre Ossman Date: Wed Dec 31 19:56:05 2008 +0100 Merge branch 'master' of ../mmc commit f6e10b865c3ea56bdaa8c6ecfee313b997900dbb Author: David Brownell Date: Wed Dec 31 09:50:30 2008 -0800 mmc: warn about voltage mismatches Get rid of a silent failure mode when the MMC/SD host doesn't support the voltages needed to operate a given card, by adding a warning. A 3.3V host and a 3.0V card, for example, no longer need to mysteriously just not work at all. This isn't the best diagnostic; ideally it would also tell what voltage the card and host support (and not just by dumping the bitmasks). Signed-off-by: David Brownell Signed-off-by: Pierre Ossman commit 9c43df57910bbba540a6cb5c9132302a9ea5f41a Author: Anton Vorontsov Date: Tue Dec 30 18:15:28 2008 +0300 mmc_spi: Add support for OpenFirmware bindings The support is implemented via platform data accessors, new module (of_mmc_spi) will be created automatically when the driver compiles on OpenFirmware platforms. Link-time dependency will load the module automatically. Signed-off-by: Anton Vorontsov Signed-off-by: Pierre Ossman commit c00a46abd4d45a67ff62f4ff6d4f839dff38b877 Author: Vernon Sauder Date: Mon Dec 29 19:21:28 2008 -0500 pxamci: fix dma_unmap_sg length dma_unmap_sg should be given the same length as dma_map_sg, not the value returned from dma_map_sg Signed-off-by: Vernon Sauder Signed-off-by: Pierre Ossman commit 6d3dc07cbb1e88deed2e8710e215f232a56b1dce Author: Casey Schaufler Date: Wed Dec 31 12:54:12 2008 -0500 smack: Add support for unlabeled network hosts and networks Add support for unlabeled network hosts and networks. Relies heavily on Paul Moore's netlabel support. Creates a new entry in /smack called netlabel. Writes to /smack/netlabel take the form: A.B.C.D LABEL or A.B.C.D/N LABEL where A.B.C.D is a network address, N is an integer between 0-32, and LABEL is the Smack label to be used. If /N is omitted /32 is assumed. N designates the netmask for the address. Entries are matched by the most specific address/mask pair. 0.0.0.0/0 will match everything, while 192.168.1.117/32 will match exactly one host. A new system label "@", pronounced "web", is defined. Processes can not be assigned the web label. An address assigned the web label can be written to by any process, and packets coming from a web address can be written to any socket. Use of the web label is a violation of any strict MAC policy, but the web label has been requested many times. The nltype entry has been removed from /smack. It did not work right and the netlabel interface can be used to specify that all hosts be treated as unlabeled. CIPSO labels on incoming packets will be honored, even from designated single label hosts. Single label hosts can only be written to by processes with labels that can write to the label of the host. Packets sent to single label hosts will always be unlabeled. Once added a single label designation cannot be removed, however the label may be changed. The behavior of the ambient label remains unchanged. Signed-off-by: Casey Schaufler Signed-off-by: Paul Moore commit 277d342fc423fca5e66e677fe629d1b2f8f1b9e2 Author: Paul Moore Date: Wed Dec 31 12:54:11 2008 -0500 selinux: Deprecate and schedule the removal of the the compat_net functionality This patch is the first step towards removing the old "compat_net" code from the kernel. Secmark, the "compat_net" replacement was first introduced in 2.6.18 (September 2006) and the major Linux distributions with SELinux support have transitioned to Secmark so it is time to start deprecating the "compat_net" mechanism. Testing a patched version of 2.6.28-rc6 with the initial release of Fedora Core 5 did not show any problems when running in enforcing mode. This patch adds an entry to the feature-removal-schedule.txt file and removes the SECURITY_SELINUX_ENABLE_SECMARK_DEFAULT configuration option, forcing Secmark on by default although it can still be disabled at runtime. The patch also makes the Secmark permission checks "dynamic" in the sense that they are only executed when Secmark is configured; this should help prevent problems with older distributions that have not yet migrated to Secmark. Signed-off-by: Paul Moore Acked-by: James Morris commit 6c2e8ac0953fccdd24dc6c4b9e08e8f1cd68cf07 Author: Paul Moore Date: Wed Dec 31 12:54:11 2008 -0500 netlabel: Update kernel configuration API Update the NetLabel kernel API to expose the new features added in kernel releases 2.6.25 and 2.6.28: the static/fallback label functionality and network address based selectors. Signed-off-by: Paul Moore commit 6a79e391df295bd7c2aa1309ea5031f361c197fd Author: Adrian Hunter Date: Wed Dec 31 18:21:17 2008 +0100 mmc_block: ensure all sectors that do not have errors are read If a card encounters an ECC error while reading a sector it will timeout. Instead of reporting the entire I/O request as having an error, redo the I/O one sector at a time so that all readable sectors are provided to the upper layers. Signed-off-by: Adrian Hunter Signed-off-by: Pierre Ossman commit a0d045cac9bcb3e9a9796d596415f7ffb64852e2 Author: Julia Lawall Date: Tue Dec 16 16:13:09 2008 +0100 drivers/mmc: Move a dereference below a NULL test In each case, if the NULL test is necessary, then the dereference should be moved below the NULL test. The semantic patch that makes this change is as follows: (http://www.emn.fr/x-info/coccinelle/) // @@ type T; expression E; identifier i,fld; statement S; @@ - T i = E->fld; + T i; ... when != E when != i if (E == NULL) S + i = E->fld; // Signed-off-by: Julia Lawall Signed-off-by: Pierre Ossman commit f9134319c81c6c56e0ddf38e7adac2492b243d9b Author: Pierre Ossman Date: Sun Dec 21 17:01:48 2008 +0100 sdhci: handle built-in sdhci with modular leds class As reported by Randy Dunlap, having sdhci built-in and LEDs class as a module resulted in undefined symbols. Change the code to handle that case properly (by not having LEDs class support in sdhci). Signed-off-by: Pierre Ossman commit ca4f10563929b932ed8970fda41a7f99385e4b0b Author: Roel Kluin Date: Sat Dec 13 21:21:33 2008 +0100 mmc: balanc pci_iomap with pci_iounmap balance pci_iomap with pci_iounmap, not iounmap Signed-off-by: Roel Kluin Signed-off-by: Pierre Ossman commit 504f191f25b1671802246bac06c9f59f94f0b7de Author: Adrian Hunter Date: Thu Oct 16 12:55:25 2008 +0300 mmc_block: print better error messages Add command response and card status to error messages. Signed-off-by: Adrian Hunter Signed-off-by: Pierre Ossman commit 86e8286a0e48663e1e86a5884b30a6d05de2993a Author: Anton Vorontsov Date: Wed Nov 26 22:54:17 2008 +0300 mmc: Add mmc_vddrange_to_ocrmask() helper function This function sets the OCR mask bits according to provided voltage ranges. Will be used by the mmc_spi OpenFirmware bindings. Signed-off-by: Anton Vorontsov Signed-off-by: Pierre Ossman commit 0527a60c2b6bd7ab20e82cc5e488659e20eaaacd Author: philipl@overt.org Date: Sun Nov 30 20:27:50 2008 -0500 ricoh_mmc: Handle newer models of Ricoh controllers The latest generation of laptops are shipping with a newer model of Ricoh chip where the firewire controller is the primary PCI function but a cardbus controller is also present. The existing code assumes that if a cardbus controller is, present, then it must be the one to manipulate - but the real rule is that you manipulate PCI function 0. This patch adds an additional constraint that the target must be function 0. Signed-off-by: Philip Langdale Signed-off-by: Pierre Ossman commit b30f8af3358b5c66be223e3a9f3d11b3d02b4a8f Author: Jarkko Lavinen Date: Mon Nov 17 14:35:21 2008 +0200 mmc: Add 8-bit bus width support Signed-off-by: Jarkko Lavinen Signed-off-by: Pierre Ossman commit 35ff8554d12ecc80a46ea0d9bce34fe28733ff38 Author: Éric Piel Date: Sat Nov 22 19:29:29 2008 +0100 sdhci: activate led support also when module CONFIG_LEDS_CLASS is defined only if led-class is built-in, otherwise when it is a module the option is called CONFIG_LEDS_CLASS_MODULE. Led support should also be activated in this case. Signed-off-by: Eric Piel Signed-off-by: Pierre Ossman commit b7a03210b7b381e06f71751cb9addfae7704489c Author: Harvey Harrison Date: Wed Oct 22 17:09:00 2008 -0700 mmc: trivial annotation of 'blocks' sg_init_one is reading a be32, annotate as such. Signed-off-by: Harvey Harrison Signed-off-by: Pierre Ossman commit 092f82edbe96d0a08e1d10436927e89fa101fe0d Author: Arjan van de Ven Date: Sun Sep 28 16:15:56 2008 -0700 pci: use pci_ioremap_bar() in drivers/mmc Use the new pci_ioremap_bar() function in drivers/mmc. pci_ioremap_bar() just takes a pci device and a bar number, with the goal of making it really hard to get wrong, while also having a central place to stick sanity checks. Signed-off-by: Arjan van de Ven Signed-off-by: Pierre Ossman commit db200df0b3530f673d8e9f5bd535e9e10305842a Merge: ec270e5 43a2563 Author: Linus Torvalds Date: Wed Dec 31 09:00:59 2008 -0800 Merge branch 'irq-fixes-for-linus-4' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip * 'irq-fixes-for-linus-4' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip: sparseirq: move __weak symbols into separate compilation unit sparseirq: work around __weak alias bug sparseirq: fix hang with !SPARSE_IRQ sparseirq: set lock_class for legacy irq when sparse_irq is selected sparseirq: work around compiler optimizing away __weak functions sparseirq: fix desc->lock init sparseirq: do not printk when migrating IRQ descriptors sparseirq: remove duplicated arch_early_irq_init() irq: simplify for_each_irq_desc() usage proc: remove ifdef CONFIG_SPARSE_IRQ from stat.c irq: for_each_irq_desc() move to irqnr.h hrtimer: remove #include commit 006948bafece27265dce72d3158b12af3ff67fce Author: Mark Brown Date: Thu Nov 6 10:56:21 2008 +0000 [WATCHDOG] Add support for the WM8350 watchdog This driver implements support for the watchdog functionality provided by the Wolfson Microelectronics WM8350, a multi-function audio and power management subsystem intended for use in embedded systems. It is based on a driver originally written by Graeme Gregory, though it has been extensively modified since then. Use of a GPIO to kick the watchdog is not yet supported. Signed-off-by: Mark Brown Signed-off-by: Wim Van Sebroeck Signed-off-by: Andrew Morton commit 4c6e63bd177a28ca9154ae8c1bab00a387c350c4 Author: Wim Van Sebroeck Date: Wed Oct 22 08:59:25 2008 +0000 [WATCHDOG] Add SMSC SCH311x Watchdog Timer. Add a watchdog driver for the hardware watchdog timer on the SMSC SCH3112, SCH3114 and SCH3116 Super IO chipset. Tested-by: Marco Chiappero Signed-off-by: Wim Van Sebroeck commit 794db26f20b7dbb879f4e1911221e1959818dfdb Author: Wim Van Sebroeck Date: Wed Oct 15 11:44:40 2008 +0000 [WATCHDOG] ib700wdt - add timeout parameter Add the timeout module parameter to ib700wdt.c Signed-off-by: Wim Van Sebroeck commit 87917239204d67a316cb89751750f86c9ed3640b Author: Marcelo Tosatti Date: Mon Dec 22 18:49:30 2008 -0200 KVM: MMU: handle large host sptes on invlpg/resync The invlpg and sync walkers lack knowledge of large host sptes, descending to non-existant pagetable level. Stop at directory level in such case. Fixes SMP Windows XP with hugepages. Signed-off-by: Marcelo Tosatti Signed-off-by: Avi Kivity commit 3f353858c98dbe0240dac558a89870f4600f81bb Author: Avi Kivity Date: Sun Dec 21 22:48:32 2008 +0200 KVM: Add locking to virtual i8259 interrupt controller While most accesses to the i8259 are with the kvm mutex taken, the call to kvm_pic_read_irq() is not. We can't easily take the kvm mutex there since the function is called with interrupts disabled. Fix by adding a spinlock to the virtual interrupt controller. Since we can't send an IPI under the spinlock (we also take the same spinlock in an irq disabled context), we defer the IPI until the spinlock is released. Similarly, we defer irq ack notifications until after spinlock release to avoid lock recursion. Signed-off-by: Avi Kivity commit 25e2343246fe135fce672f41abe61e9d2c38caac Author: Avi Kivity Date: Sun Dec 21 18:31:10 2008 +0200 KVM: MMU: Don't treat a global pte as such if cr4.pge is cleared The pte.g bit is meaningless if global pages are disabled; deferring mmu page synchronization on these ptes will lead to the guest using stale shadow ptes. Fixes Vista x86 smp bootloader failure. Signed-off-by: Avi Kivity commit fe634fd46ff643d98fdbcd153847e08c3c076e6e Author: Xiantao Zhang Date: Wed Dec 17 09:38:14 2008 +0800 MAINTAINERS: Maintainership changes for kvm/ia64 Anthony Xu no longer works on kvm. Cc: "Luck, Tony" Signed-off-by: Xiantao Zhang Signed-off-by: Avi Kivity commit 042b26edf0bc1b0f03238a71aed71cca4593848c Author: Jes Sorensen Date: Tue Dec 16 16:45:47 2008 +0100 KVM: ia64: Fix kvm_arch_vcpu_ioctl_[gs]et_regs() Fix kvm_arch_vcpu_ioctl_[gs]et_regs() to do something meaningful on ia64. Old versions could never have worked since they required pointers to be set in the ioctl payload which were never being set by the ioctl handler for get_regs. In addition reserve extra space for future extensions. The change of layout of struct kvm_regs doesn't require adding a new CAP since get/set regs never worked on ia64 until now. This version doesn't support copying the KVM kernel stack in/out of the kernel. This should be implemented in a seperate ioctl call if ever needed. Signed-off-by: Jes Sorensen Acked-by : Xiantao Zhang Signed-off-by: Avi Kivity commit 4531220b71f0399e71cda0c4cf749e7281a7416a Author: Jan Kiszka Date: Thu Dec 11 16:54:54 2008 +0100 KVM: x86: Rework user space NMI injection as KVM_CAP_USER_NMI There is no point in doing the ready_for_nmi_injection/ request_nmi_window dance with user space. First, we don't do this for in-kernel irqchip anyway, while the code path is the same as for user space irqchip mode. And second, there is nothing to loose if a pending NMI is overwritten by another one (in contrast to IRQs where we have to save the number). Actually, there is even the risk of raising spurious NMIs this way because the reason for the held-back NMI might already be handled while processing the first one. Therefore this patch creates a simplified user space NMI injection interface, exporting it under KVM_CAP_USER_NMI and dropping the old KVM_CAP_NMI capability. And this time we also take care to provide the interface only on archs supporting NMIs via KVM (right now only x86). Signed-off-by: Jan Kiszka Signed-off-by: Avi Kivity commit 264ff01d55b456932cef03082448b41d2edeb6a1 Author: Jan Kiszka Date: Mon Nov 24 12:26:19 2008 +0100 KVM: VMX: Fix pending NMI-vs.-IRQ race for user space irqchip As with the kernel irqchip, don't allow an NMI to stomp over an already injected IRQ; instead wait for the IRQ injection to be completed. Signed-off-by: Jan Kiszka Signed-off-by: Avi Kivity commit defaf1587c5d7dff828f6f11c8941e5bcef00f50 Author: Mark McLoughlin Date: Tue Dec 2 12:16:33 2008 +0000 KVM: fix handling of ACK from shared guest IRQ If an assigned device shares a guest irq with an emulated device then we currently interpret an ack generated by the emulated device as originating from the assigned device leading to e.g. "Unbalanced enable for IRQ 4347" from the enable_irq() in kvm_assigned_dev_ack_irq(). The fix is fairly simple - don't enable the physical device irq unless it was previously disabled. Of course, this can still lead to a situation where a non-assigned device ACK can cause the physical device irq to be reenabled before the device was serviced. However, being level sensitive, the interrupt will merely be regenerated. Signed-off-by: Mark McLoughlin Signed-off-by: Avi Kivity commit eb64f1e8cd5c3cae912db30a77d062367f7a11a6 Author: Marcelo Tosatti Date: Tue Dec 9 16:07:22 2008 +0100 KVM: MMU: check for present pdptr shadow page in walk_shadow walk_shadow assumes the caller verified validity of the pdptr pointer in question, which is not the case for the invlpg handler. Fixes oops during Solaris 10 install. Signed-off-by: Marcelo Tosatti Signed-off-by: Avi Kivity commit ca9edaee1aea34ebd9adb48910aba0b3d64b1b22 Author: Avi Kivity Date: Mon Dec 8 18:29:29 2008 +0200 KVM: Consolidate userspace memory capability reporting into common code Signed-off-by: Avi Kivity commit 1a811b6167089bcdb84284f2dc9fd0b4d0f1899d Author: Avi Kivity Date: Mon Dec 8 18:25:27 2008 +0200 KVM: Advertise the bug in memory region destruction as fixed Userspace might need to act differently. Signed-off-by: Avi Kivity commit 7f59f492da722eb3551bbe1f8f4450a21896f05d Author: Rusty Russell Date: Sun Dec 7 21:25:45 2008 +1030 KVM: use cpumask_var_t for cpus_hardware_enabled This changes cpus_hardware_enabled from a cpumask_t to a cpumask_var_t: equivalent for CONFIG_CPUMASKS_OFFSTACK=n, otherwise dynamically allocated. Signed-off-by: Rusty Russell Signed-off-by: Avi Kivity commit 6ef7a1bc45f80fe0a263119d404688c596ea5031 Author: Rusty Russell Date: Mon Dec 8 20:28:04 2008 +1030 KVM: use modern cpumask primitives, no cpumask_t on stack We're getting rid on on-stack cpumasks for large NR_CPUS. 1) Use cpumask_var_t/alloc_cpumask_var. 2) smp_call_function_mask -> smp_call_function_many 3) cpus_clear, cpus_empty, cpu_set -> cpumask_clear, cpumask_empty, cpumask_set_cpu. This actually generates slightly smaller code than the old one with CONFIG_CPUMASKS_OFFSTACK=n. (gcc knows that cpus cannot be NULL in that case, where cpumask_var_t is cpumask_t[1]). Signed-off-by: Rusty Russell Signed-off-by: Avi Kivity commit 498468961ed6f62a306eb90c49125776c526fa40 Author: Rusty Russell Date: Mon Dec 8 20:26:24 2008 +1030 KVM: Extract core of kvm_flush_remote_tlbs/kvm_reload_remote_mmus Avi said: > Wow, code duplication from Rusty. Things must be bad. Something about glass houses comes to mind. But instead, a patch. Signed-off-by: Rusty Russell Signed-off-by: Avi Kivity commit 3d3aab1b973b01bd2a1aa46307e94a1380b1d802 Author: Christian Borntraeger Date: Tue Dec 2 11:17:32 2008 +0100 KVM: set owner of cpu and vm file operations There is a race between a "close of the file descriptors" and module unload in the kvm module. You can easily trigger this problem by applying this debug patch: >--- kvm.orig/virt/kvm/kvm_main.c >+++ kvm/virt/kvm/kvm_main.c >@@ -648,10 +648,14 @@ void kvm_free_physmem(struct kvm *kvm) > kvm_free_physmem_slot(&kvm->memslots[i], NULL); > } > >+#include > static void kvm_destroy_vm(struct kvm *kvm) > { > struct mm_struct *mm = kvm->mm; > >+ printk("off1\n"); >+ msleep(5000); >+ printk("off2\n"); > spin_lock(&kvm_lock); > list_del(&kvm->vm_list); > spin_unlock(&kvm_lock); and killing the userspace, followed by an rmmod. The problem is that kvm_destroy_vm can run while the module count is 0. That means, you can remove the module while kvm_destroy_vm is running. But kvm_destroy_vm is part of the module text. This causes a kerneloops. The race exists without the msleep but is much harder to trigger. This patch requires the fix for anon_inodes (anon_inodes: use fops->owner for module refcount). With this patch, we can set the owner of all anonymous KVM inodes file operations. The VFS will then control the KVM module refcount as long as there is an open file. kvm_destroy_vm will be called by the release function of the last closed file - before the VFS drops the module refcount. Signed-off-by: Christian Borntraeger Signed-off-by: Avi Kivity commit e3a2a0d4e5ace731e60e2eff4fb7056ecb34adc1 Author: Christian Borntraeger Date: Tue Dec 2 11:16:03 2008 +0100 anon_inodes: use fops->owner for module refcount There is an imbalance for anonymous inodes. If the fops->owner field is set, the module reference count of owner is decreases on release. ("filp_close" --> "__fput" ---> "fops_put") On the other hand, anon_inode_getfd does not increase the module reference count of owner. This causes two problems: - if owner is set, the module refcount goes negative - if owner is not set, the module can be unloaded while code is running This patch changes anon_inode_getfd to be symmetric regarding fops->owner handling. I have checked all existing users of anon_inode_getfd. Noone sets fops->owner, thats why nobody has seen the module refcount negative. The refcounting was tested with a patched and unpatched KVM module.(see patch 2/2) I also did an epoll_open/close test. Signed-off-by: Christian Borntraeger Reviewed-by: Davide Libenzi Signed-off-by: Avi Kivity commit e93353c93a3ba4215633ce930784f40a4e94e3f9 Author: Eduardo Habkost Date: Fri Dec 5 18:36:45 2008 -0200 x86: KVM guest: kvm_get_tsc_khz: return khz, not lpj kvm_get_tsc_khz() currently returns the previously-calculated preset_lpj value, but it is in loops-per-jiffy, not kHz. The current code works correctly only when HZ=1000. Signed-off-by: Eduardo Habkost Signed-off-by: Avi Kivity commit ad218f85e388e8ca816ff09d91c246cd014c53a8 Author: Marcelo Tosatti Date: Mon Dec 1 22:32:05 2008 -0200 KVM: MMU: prepopulate the shadow on invlpg If the guest executes invlpg, peek into the pagetable and attempt to prepopulate the shadow entry. Also stop dirty fault updates from interfering with the fork detector. 2% improvement on RHEL3/AIM7. Signed-off-by: Marcelo Tosatti Signed-off-by: Avi Kivity commit 6cffe8ca4a2adf1ac5003d9cad08fe4434d6eee0 Author: Marcelo Tosatti Date: Mon Dec 1 22:32:04 2008 -0200 KVM: MMU: skip global pgtables on sync due to cr3 switch Skip syncing global pages on cr3 switch (but not on cr4/cr0). This is important for Linux 32-bit guests with PAE, where the kmap page is marked as global. Signed-off-by: Marcelo Tosatti Signed-off-by: Avi Kivity commit b1a368218ad5b6e62380c8f206f16e6f18bf154c Author: Marcelo Tosatti Date: Mon Dec 1 22:32:03 2008 -0200 KVM: MMU: collapse remote TLB flushes on root sync Collapse remote TLB flushes on root sync. kernbench is 2.7% faster on 4-way guest. Improvements have been seen with other loads such as AIM7. Signed-off-by: Marcelo Tosatti Signed-off-by: Avi Kivity commit 60c8aec6e2c9923492dabbd6b67e34692bd26c20 Author: Marcelo Tosatti Date: Mon Dec 1 22:32:02 2008 -0200 KVM: MMU: use page array in unsync walk Instead of invoking the handler directly collect pages into an array so the caller can work with it. Simplifies TLB flush collapsing. Signed-off-by: Marcelo Tosatti Signed-off-by: Avi Kivity commit fbce554e940a983d005e29849636d0ef54b3eb18 Author: Amit Shah Date: Thu Dec 4 11:11:40 2008 +0000 KVM: x86 emulator: Fix handling of VMMCALL instruction The VMMCALL instruction doesn't get recognised and isn't processed by the emulator. This is seen on an Intel host that tries to execute the VMMCALL instruction after a guest live migrates from an AMD host. Signed-off-by: Amit Shah Signed-off-by: Avi Kivity commit 9bf8ea42fe22d7d1c48044148fa658cb9083d49c Author: Guillaume Thouvenin Date: Thu Dec 4 14:30:13 2008 +0100 KVM: x86 emulator: add the emulation of shld and shrd instructions Add emulation of shld and shrd instructions Signed-off-by: Guillaume Thouvenin Signed-off-by: Avi Kivity commit d175226a5f54817ba427368c6b739aefa7780fb2 Author: Guillaume Thouvenin Date: Thu Dec 4 14:29:00 2008 +0100 KVM: x86 emulator: add the assembler code for three operands Add the assembler code for instruction with three operands and one operand is stored in ECX register Signed-off-by: Guillaume Thouvenin Signed-off-by: Avi Kivity commit bfcadf83ec5aafe600e73dd427d997db7bcc1d12 Author: Guillaume Thouvenin Date: Thu Dec 4 14:27:38 2008 +0100 KVM: x86 emulator: add a new "implied 1" Src decode type Add SrcOne operand type when we need to decode an implied '1' like with regular shift instruction Signed-off-by: Guillaume Thouvenin Signed-off-by: Avi Kivity commit 0dc8d10f7d848b63c8d32cf6fd31ba7def792ac9 Author: Guillaume Thouvenin Date: Thu Dec 4 14:26:42 2008 +0100 KVM: x86 emulator: add Src2 decode set Instruction like shld has three operands, so we need to add a Src2 decode set. We start with Src2None, Src2CL, and Src2ImmByte, Src2One to support shld/shrd and we will expand it later. Signed-off-by: Guillaume Thouvenin Signed-off-by: Avi Kivity commit 45ed60b371aeae6ed80f7e9d594a5e6412edc176 Author: Guillaume Thouvenin Date: Thu Dec 4 14:25:38 2008 +0100 KVM: x86 emulator: Extend the opcode descriptor Extend the opcode descriptor to 32 bits. This is needed by the introduction of a new Src2 operand type. Signed-off-by: Guillaume Thouvenin Signed-off-by: Avi Kivity commit 6f89724829cfd4ad6771a92fd4b8d59c90c7220c Author: Glauber Costa Date: Wed Dec 3 13:40:51 2008 -0200 KVM: Really remove a slot when a user ask us so Right now, KVM does not remove a slot when we do a register ioctl for size 0 (would be the expected behaviour). Instead, we only mark it as empty, but keep all bitmaps and allocated data structures present. It completely nullifies our chances of reusing that same slot again for mapping a different piece of memory. In this patch, we destroy rmaps, and vfree() the pointers that used to hold the dirty bitmap, rmap and lpage_info structures. Signed-off-by: Glauber Costa Signed-off-by: Avi Kivity commit 7b7015914b30ad8d9136d41412c5129b9bc9af70 Author: Hollis Blanchard Date: Tue Dec 2 15:51:58 2008 -0600 KVM: ppc: mostly cosmetic updates to the exit timing accounting code The only significant changes were to kvmppc_exit_timing_write() and kvmppc_exit_timing_show(), both of which were dramatically simplified. Signed-off-by: Hollis Blanchard Signed-off-by: Avi Kivity commit 73e75b416ffcfa3a84952d8e389a0eca080f00e1 Author: Hollis Blanchard Date: Tue Dec 2 15:51:57 2008 -0600 KVM: ppc: Implement in-kernel exit timing statistics Existing KVM statistics are either just counters (kvm_stat) reported for KVM generally or trace based aproaches like kvm_trace. For KVM on powerpc we had the need to track the timings of the different exit types. While this could be achieved parsing data created with a kvm_trace extension this adds too much overhead (at least on embedded PowerPC) slowing down the workloads we wanted to measure. Therefore this patch adds a in-kernel exit timing statistic to the powerpc kvm code. These statistic is available per vm&vcpu under the kvm debugfs directory. As this statistic is low, but still some overhead it can be enabled via a .config entry and should be off by default. Since this patch touched all powerpc kvm_stat code anyway this code is now merged and simplified together with the exit timing statistic code (still working with exit timing disabled in .config). Signed-off-by: Christian Ehrhardt Signed-off-by: Hollis Blanchard Signed-off-by: Avi Kivity commit c5fbdffbda79254047ec83b09c1a61a3655d052a Author: Hollis Blanchard Date: Tue Dec 2 15:51:56 2008 -0600 KVM: ppc: save and restore guest mappings on context switch Store shadow TLB entries in memory, but only use it on host context switch (instead of every guest entry). This improves performance for most workloads on 440 by reducing the guest TLB miss rate. Signed-off-by: Hollis Blanchard Signed-off-by: Avi Kivity commit 7924bd41097ae8991c6d38cef8b1e4058e30d198 Author: Hollis Blanchard Date: Tue Dec 2 15:51:55 2008 -0600 KVM: ppc: directly insert shadow mappings into the hardware TLB Formerly, we used to maintain a per-vcpu shadow TLB and on every entry to the guest would load this array into the hardware TLB. This consumed 1280 bytes of memory (64 entries of 16 bytes plus a struct page pointer each), and also required some assembly to loop over the array on every entry. Instead of saving a copy in memory, we can just store shadow mappings directly into the hardware TLB, accepting that the host kernel will clobber these as part of the normal 440 TLB round robin. When we do that we need less than half the memory, and we have decreased the exit handling time for all guest exits, at the cost of increased number of TLB misses because the host overwrites some guest entries. These savings will be increased on processors with larger TLBs or which implement intelligent flush instructions like tlbivax (which will avoid the need to walk arrays in software). In addition to that and to the code simplification, we have a greater chance of leaving other host userspace mappings in the TLB, instead of forcing all subsequent tasks to re-fault all their mappings. Signed-off-by: Hollis Blanchard Signed-off-by: Avi Kivity commit c0ca609c5f874f7d6ae8e180afe79317e1943d22 Author: Hollis Blanchard Date: Tue Dec 2 15:51:54 2008 -0600 powerpc/44x: declare tlb_44x_index for use in C code KVM currently ignores the host's round robin TLB eviction selection, instead maintaining its own TLB state and its own round robin index. However, by participating in the normal 44x TLB selection, we can drop the alternate TLB processing in KVM. This results in a significant performance improvement, since that processing currently must be done on *every* guest exit. Accordingly, KVM needs to be able to access and increment tlb_44x_index. (KVM on 440 cannot be a module, so there is no need to export this symbol.) Signed-off-by: Hollis Blanchard Acked-by: Josh Boyer Signed-off-by: Avi Kivity commit 891686188f69d330f7eeeec8e6642ccfb7453106 Author: Hollis Blanchard Date: Tue Dec 2 15:51:53 2008 -0600 KVM: ppc: support large host pages KVM on 440 has always been able to handle large guest mappings with 4K host pages -- we must, since the guest kernel uses 256MB mappings. This patch makes KVM work when the host has large pages too (tested with 64K). Signed-off-by: Hollis Blanchard Signed-off-by: Avi Kivity commit 4a643be8c9b8d3c1ae8f5ccd377daaa85bd57e0c Author: Mark McLoughlin Date: Mon Dec 1 13:57:49 2008 +0000 KVM: split out kvm_free_assigned_irq() Split out the logic corresponding to undoing assign_irq() and clean it up a bit. Signed-off-by: Mark McLoughlin Signed-off-by: Avi Kivity commit 61552367b2ce5e9bea6b6af670ec80aea386f34e Author: Mark McLoughlin Date: Mon Dec 1 13:57:48 2008 +0000 KVM: add KVM_USERSPACE_IRQ_SOURCE_ID assertions Make sure kvm_request_irq_source_id() never returns KVM_USERSPACE_IRQ_SOURCE_ID. Likewise, check that kvm_free_irq_source_id() never accepts KVM_USERSPACE_IRQ_SOURCE_ID. Signed-off-by: Mark McLoughlin Signed-off-by: Avi Kivity commit f29b2673d3fc7ae38ec22922e9cdc75ee37386b5 Author: Mark McLoughlin Date: Mon Dec 1 13:57:47 2008 +0000 KVM: don't free an unallocated irq source id Set assigned_dev->irq_source_id to -1 so that we can avoid freeing a source ID which we never allocated. Signed-off-by: Mark McLoughlin Signed-off-by: Avi Kivity commit fdd897e6b5253a45b633f7d334cf3e150bbaf386 Author: Mark McLoughlin Date: Mon Dec 1 13:57:46 2008 +0000 KVM: make kvm_unregister_irq_ack_notifier() safe We never pass a NULL notifier pointer here, but we may well pass a notifier struct which hasn't previously been registered. Guard against this by using hlist_del_init() which will not do anything if the node hasn't been added to the list and, when removing the node, will ensure that a subsequent call to hlist_del_init() will be fine too. Fixes an oops seen when an assigned device is freed before and IRQ is assigned to it. Signed-off-by: Mark McLoughlin Signed-off-by: Avi Kivity commit 844c7a9ff404d8fc88bb77b06461644621d2c985 Author: Mark McLoughlin Date: Mon Dec 1 13:57:45 2008 +0000 KVM: remove the IRQ ACK notifier assertions We will obviously never pass a NULL struct kvm_irq_ack_notifier* to this functions. They are always embedded in the assigned device structure, so the assertion add nothing. The irqchip_in_kernel() assertion is very out of place - clearly this little abstraction needs to know nothing about the upper layer details. Signed-off-by: Mark McLoughlin Signed-off-by: Avi Kivity commit efff9e538f6bfa8ee2ca03f7e9a55d98df115186 Author: Hannes Eder Date: Fri Nov 28 17:02:06 2008 +0100 KVM: VMX: fix sparse warning Impact: make global function static arch/x86/kvm/vmx.c:134:3: warning: symbol 'vmx_capability' was not declared. Should it be static? Signed-off-by: Hannes Eder Signed-off-by: Avi Kivity commit e8ba5d311d0c4420e84f40ff50f83981f5864a9a Author: Hannes Eder Date: Fri Nov 28 17:02:42 2008 +0100 KVM: fix sparse warning Impact: make global function static virt/kvm/kvm_main.c:85:6: warning: symbol 'kvm_rebooting' was not declared. Should it be static? Signed-off-by: Hannes Eder Signed-off-by: Avi Kivity commit f3fd92fbdb7663bd889c136842afc3851351ea8f Author: Avi Kivity Date: Sat Nov 29 20:38:12 2008 +0200 KVM: Remove extraneous semicolon after do/while Notices by Guillaume Thouvenin. Signed-off-by: Avi Kivity commit 2b48cc75b21431037d6f902b9d583b1aff198490 Author: Avi Kivity Date: Sat Nov 29 20:36:13 2008 +0200 KVM: x86 emulator: fix popf emulation Set operand type and size to get correct writeback behavior. Signed-off-by: Avi Kivity commit cf5de4f886116871c2ae2eee53524edd741a68ae Author: Avi Kivity Date: Fri Nov 28 00:14:07 2008 +0200 KVM: x86 emulator: fix ret emulation 'ret' did not set the operand type or size for the destination, so writeback ignored it. Signed-off-by: Avi Kivity commit 8a09b6877f3100207b3572e7e12ea796493fe914 Author: Avi Kivity Date: Thu Nov 27 18:06:33 2008 +0200 KVM: x86 emulator: switch 'pop reg' instruction to emulate_pop() Signed-off-by: Avi Kivity commit 781d0edc5fc5cfe7491a0c5081734e62f6dc66ee Author: Avi Kivity Date: Thu Nov 27 18:00:28 2008 +0200 KVM: x86 emulator: allow pop from mmio Signed-off-by: Avi Kivity commit faa5a3ae39483aefc46a78299c811194f953af27 Author: Avi Kivity Date: Thu Nov 27 17:36:41 2008 +0200 KVM: x86 emulator: Extract 'pop' sequence into a function Switch 'pop r/m' instruction to use the new function. Signed-off-by: Avi Kivity commit b82091824ee4970adf92d5cd6d57b12273171625 Author: Wu Fengguang Date: Wed Nov 26 19:59:06 2008 +0800 KVM: Prevent trace call into unloaded module text Add marker_synchronize_unregister() before module unloading. This prevents possible trace calls into unloaded module text. Signed-off-by: Wu Fengguang Signed-off-by: Avi Kivity commit 6692cef30b7caf7525ae99670cddbaf28f1f9d40 Author: Christian Borntraeger Date: Wed Nov 26 14:51:08 2008 +0100 KVM: s390: Fix memory leak of vcpu->run The s390 backend of kvm never calls kvm_vcpu_uninit. This causes a memory leak of vcpu->run pages. Lets call kvm_vcpu_uninit in kvm_arch_vcpu_destroy to free the vcpu->run. Signed-off-by: Christian Borntraeger Acked-by: Carsten Otte Signed-off-by: Avi Kivity commit d329c035e754156ffabcb64ff75d05bb8e2ddbf5 Author: Christian Borntraeger Date: Wed Nov 26 14:50:27 2008 +0100 KVM: s390: Fix refcounting and allow module unload Currently it is impossible to unload the kvm module on s390. This patch fixes kvm_arch_destroy_vm to release all cpus. This make it possible to unload the module. In addition we stop messing with the module refcount in arch code. Signed-off-by: Christian Borntraeger Acked-by: Carsten Otte Signed-off-by: Avi Kivity commit 6b7ad61ffb9ca110add6f7fb36cc8a4dd89696a4 Author: Avi Kivity Date: Wed Nov 26 15:30:45 2008 +0200 KVM: x86 emulator: consolidate emulation of two operand instructions No need to repeat the same assembly block over and over. Signed-off-by: Avi Kivity commit dda96d8f1b3de692cce09969ce28fe22e58e5acf Author: Avi Kivity Date: Wed Nov 26 15:14:10 2008 +0200 KVM: x86 emulator: reduce duplication in one operand emulation thunks Signed-off-by: Avi Kivity commit ecc5589f19a52e7e6501fe449047b19087ae11bb Author: Marcelo Tosatti Date: Tue Nov 25 15:58:07 2008 +0100 KVM: MMU: optimize set_spte for page sync The write protect verification in set_spte is unnecessary for page sync. Its guaranteed that, if the unsync spte was writable, the target page does not have a write protected shadow (if it had, the spte would have been write protected under mmu_lock by rmap_write_protect before). Same reasoning applies to mark_page_dirty: the gfn has been marked as dirty via the pagefault path. The cost of hash table and memslot lookups are quite significant if the workload is pagetable write intensive resulting in increased mmu_lock contention. Signed-off-by: Marcelo Tosatti Signed-off-by: Avi Kivity commit 5319c662522db8995ff9276ba9d80549c64b294a Author: Sheng Yang Date: Mon Nov 24 14:32:57 2008 +0800 KVM: MSI to INTx translate Now we use MSI as default one, and translate MSI to INTx when guest need INTx rather than MSI. For legacy device, we provide support for non-sharing host IRQ. Provide a parameter msi2intx for this method. The value is true by default in x86 architecture. We can't guarantee this mode can work on every device, but for most of us tested, it works. If your device encounter some trouble with this mode, you can try set msi2intx modules parameter to 0. If the device is OK with msi2intx=0, then please report it to KVM mailing list or me. We may prepare a blacklist for the device that can't work in this mode. Signed-off-by: Sheng Yang Signed-off-by: Avi Kivity commit 6b9cc7fd469869bed38831c5adac3f59dc25eaf5 Author: Sheng Yang Date: Mon Nov 24 14:32:56 2008 +0800 KVM: Enable MSI for device assignment We enable guest MSI and host MSI support in this patch. The userspace want to enable MSI should set KVM_DEV_IRQ_ASSIGN_ENABLE_MSI in the assigned_irq's flag. Function would return -ENOTTY if can't enable MSI, userspace shouldn't set MSI Enable bit when KVM_ASSIGN_IRQ return -ENOTTY with KVM_DEV_IRQ_ASSIGN_ENABLE_MSI. Userspace can tell the support of MSI device from #ifdef KVM_CAP_DEVICE_MSI. Signed-off-by: Sheng Yang Signed-off-by: Avi Kivity commit f64769eb05565c74d7fce6fa75d65924f9cdaf79 Author: Sheng Yang Date: Mon Nov 24 14:32:55 2008 +0800 KVM: Add assigned_device_msi_dispatch() The function is used to dispatch MSI to lapic according to MSI message address and message data. Signed-off-by: Sheng Yang Signed-off-by: Avi Kivity commit 68b76f51675809c8ce200a86276c3c7266f17a64 Author: Sheng Yang Date: Mon Nov 24 14:32:54 2008 +0800 KVM: Export ioapic_get_delivery_bitmask It would be used for MSI in device assignment, for MSI dispatch. Signed-off-by: Sheng Yang Signed-off-by: Avi Kivity commit 0937c48d075ddd59ae2c12a6fa8308b9c7a63753 Author: Sheng Yang Date: Mon Nov 24 14:32:53 2008 +0800 KVM: Add fields for MSI device assignment Prepared for kvm_arch_assigned_device_msi_dispatch(). Signed-off-by: Sheng Yang Signed-off-by: Avi Kivity commit fbac7818d8fba7e1df9f4b209777f3b67b953dd3 Author: Sheng Yang Date: Mon Nov 24 14:32:52 2008 +0800 KVM: Clean up assigned_device_update_irq Signed-off-by: Sheng Yang Signed-off-by: Avi Kivity commit 4f906c19ae29397409bedabf7bbe5cb42ad90332 Author: Sheng Yang Date: Mon Nov 24 14:32:51 2008 +0800 KVM: Replace irq_requested with more generic irq_requested_type Separate guest irq type and host irq type, for we can support guest using INTx with host using MSI (but not opposite combination). Signed-off-by: Sheng Yang Signed-off-by: Avi Kivity commit 00e3ed39e2e25ffb3417ce1bec8f4b78ed4b85e7 Author: Sheng Yang Date: Mon Nov 24 14:32:50 2008 +0800 KVM: Separate update irq to a single function Separate INTx enabling part to a independence function, so that we can add MSI enabling part easily. Signed-off-by: Sheng Yang Signed-off-by: Avi Kivity commit 342ffb93006e537fb8cb215b923ce69943a1e820 Author: Sheng Yang Date: Mon Nov 24 14:32:49 2008 +0800 KVM: Move ack notifier register and IRQ sourcd ID request Distinguish common part for device assignment and INTx part, perparing for refactor later. Signed-off-by: Sheng Yang Signed-off-by: Avi Kivity commit 423cd25a5ade17b8a5cc85e6f0a0f37028d2c4a2 Author: Glauber Costa Date: Mon Nov 24 15:45:23 2008 -0200 x86: KVM guest: sign kvmclock as paravirt Currently, we only set the KVM paravirt signature in case of CONFIG_KVM_GUEST. However, it is possible to have it turned off, while CONFIG_KVM_CLOCK is turned on. This is also a paravirt case, and should be shown accordingly. Signed-off-by: Glauber Costa Signed-off-by: Avi Kivity commit df203ec9a77a7236cb90456664d714423b98a977 Author: Avi Kivity Date: Sun Nov 23 18:08:57 2008 +0200 KVM: VMX: Conditionally request interrupt window after injecting irq If we're injecting an interrupt, and another one is pending, request an interrupt window notification so we don't have excess latency on the second interrupt. This shouldn't happen in practice since an EOI will be issued, giving a second chance to request an interrupt window, but... Signed-off-by: Avi Kivity commit 8fe0736763a07fbea56213ea105a0c2ee098e6fc Author: Xiantao Zhang Date: Fri Nov 21 21:04:37 2008 +0800 KVM: ia64: Clean up vmm_ivt.S using tab to indent every line Using tab for indentation for vmm_ivt.S. Signed-off-by: Xiantao Zhang Signed-off-by: Avi Kivity commit 9f7d5bb5e2abf5316bb17eb3e7751dbafa09e5cf Author: Xiantao Zhang Date: Fri Nov 21 17:16:07 2008 +0800 KVM: ia64: Add handler for crashed vmm Since vmm runs in an isolated address space and it is just a copy of host's kvm-intel module, so once vmm crashes, we just crash all guests running on it instead of crashing whole kernel. Signed-off-by: Xiantao Zhang Signed-off-by: Avi Kivity commit 5e2be19832ccf93bf731a1758ec9fabf48414584 Author: Xiantao Zhang Date: Fri Nov 21 10:46:12 2008 +0800 KVM: ia64: Add some debug points to provide crash infomation Use printk infrastructure to print out some debug info once VM crashes. Signed-off-by: Xiantao Zhang Signed-off-by: Avi Kivity commit 7d637978151511148912fe2ea2bac9f9c64f5c35 Author: Xiantao Zhang Date: Fri Nov 21 20:58:11 2008 +0800 KVM: ia64: Define printk function for kvm-intel module kvm-intel module is relocated to an isolated address space with kernel, so it can't call host kernel's printk for debug purpose. In the module, we implement the printk to output debug info of vmm. Signed-off-by: Xiantao Zhang Signed-off-by: Avi Kivity commit d176720d34c72f7a8474a12204add93e54fe3ef1 Author: Eduardo Habkost Date: Mon Nov 17 19:03:24 2008 -0200 x86: disable VMX on all CPUs on reboot On emergency_restart, we may need to use an NMI to disable virtualization on all CPUs. We do that using nmi_shootdown_cpus() if VMX is enabled. Note: With this patch, we will run the NMI stuff only when the CPU where emergency_restart() was called has VMX enabled. This should work on most cases because KVM enables VMX on all CPUs, but we may miss the small window where KVM is doing that. Also, I don't know if all code using VMX out there always enable VMX on all CPUs like KVM does. We have two other alternatives for that: a) Have an API that all code that enables VMX on any CPU should use to tell the kernel core that it is going to enable VMX on the CPUs. b) Always call nmi_shootdown_cpus() if the CPU supports VMX. This is a bit intrusive and more risky, as it would run nmi_shootdown_cpus() on emergency_reboot() even on systems where virtualization is never enabled. Finding a proper point to hook the nmi_shootdown_cpus() call isn't trivial, as the non-emergency machine_restart() (that doesn't need the NMI tricks) uses machine_emergency_restart() directly. The solution to make this work without adding a new function or argument to machine_ops was setting a 'reboot_emergency' flag that tells if native_machine_emergency_restart() needs to do the virt cleanup or not. Signed-off-by: Eduardo Habkost Signed-off-by: Avi Kivity commit 2340b62f77c782c305e6ae7748675a638436d1ef Author: Eduardo Habkost Date: Mon Nov 17 19:03:23 2008 -0200 kdump: forcibly disable VMX and SVM on machine_crash_shutdown() We need to disable virtualization extensions on all CPUs before booting the kdump kernel, otherwise the kdump kernel booting will fail, and rebooting after the kdump kernel did its task may also fail. We do it using cpu_emergency_vmxoff() and cpu_emergency_svm_disable(), that should always work, because those functions check if the CPUs support SVM or VMX before doing their tasks. Signed-off-by: Eduardo Habkost Signed-off-by: Avi Kivity commit 0f3e9eeba0ea212bbea88790729d054b700ab91e Author: Eduardo Habkost Date: Mon Nov 17 19:03:22 2008 -0200 x86: cpu_emergency_svm_disable() function This function can be used by the reboot or kdump code to forcibly disable SVM on the CPU. Signed-off-by: Eduardo Habkost Signed-off-by: Avi Kivity commit 2c8dceebb238680d5577500f8283397d41ca5590 Author: Eduardo Habkost Date: Mon Nov 17 19:03:21 2008 -0200 KVM: SVM: move svm_hardware_disable() code to asm/virtext.h Create cpu_svm_disable() function. Signed-off-by: Eduardo Habkost Signed-off-by: Avi Kivity commit 63d1142f8f69e39468bc6079ab2239e902828134 Author: Eduardo Habkost Date: Mon Nov 17 19:03:20 2008 -0200 KVM: SVM: move has_svm() code to asm/virtext.h Use a trick to keep the printk()s on has_svm() working as before. gcc will take care of not generating code for the 'msg' stuff when the function is called with a NULL msg argument. Signed-off-by: Eduardo Habkost Signed-off-by: Avi Kivity commit 6aa07a0d77f6aafbe69e4e8609ffaf2b7ee1b591 Author: Eduardo Habkost Date: Mon Nov 17 19:03:19 2008 -0200 x86: cpu_emergency_vmxoff() function Add cpu_emergency_vmxoff() and its friends: cpu_vmx_enabled() and __cpu_emergency_vmxoff(). Signed-off-by: Eduardo Habkost Signed-off-by: Avi Kivity commit 710ff4a855d0f3bf74b5b4a20328e2858a8a2968 Author: Eduardo Habkost Date: Mon Nov 17 19:03:18 2008 -0200 KVM: VMX: extract kvm_cpu_vmxoff() from hardware_disable() Along with some comments on why it is different from the core cpu_vmxoff() function. Signed-off-by: Eduardo Habkost Signed-off-by: Avi Kivity commit 1e9931146c748420343aeefadb3bb17bd1c14a37 Author: Eduardo Habkost Date: Mon Nov 17 19:03:17 2008 -0200 x86: asm/virtext.h: add cpu_vmxoff() inline function Unfortunately we can't use exactly the same code from vmx hardware_disable(), because the KVM function uses the __kvm_handle_fault_on_reboot() tricks. Signed-off-by: Eduardo Habkost Signed-off-by: Avi Kivity commit 6210e37b122583643da335c0389f74098713e5ca Author: Eduardo Habkost Date: Mon Nov 17 19:03:16 2008 -0200 KVM: VMX: move cpu_has_kvm_support() to an inline on asm/virtext.h It will be used by core code on kdump and reboot, to disable vmx if needed. Signed-off-by: Eduardo Habkost Signed-off-by: Avi Kivity commit eca70fc5671b226966dfb7ee9953d59199288566 Author: Eduardo Habkost Date: Mon Nov 17 19:03:15 2008 -0200 KVM: VMX: move ASM_VMX_* definitions from asm/kvm_host.h to asm/vmx.h Those definitions will be used by code outside KVM, so move it outside of a KVM-specific source file. Those definitions are used only on kvm/vmx.c, that already includes asm/vmx.h, so they can be moved safely. Signed-off-by: Eduardo Habkost Signed-off-by: Avi Kivity commit c2cedf7be2017e3264c93a4c0d75b1d96d0d7104 Author: Eduardo Habkost Date: Mon Nov 17 19:03:14 2008 -0200 KVM: SVM: move svm.h to include/asm svm.h will be used by core code that is independent of KVM, so I am moving it outside the arch/x86/kvm directory. Signed-off-by: Eduardo Habkost Signed-off-by: Avi Kivity commit 13673a90f1cf88296f726265cc7cf3ec76ecba30 Author: Eduardo Habkost Date: Mon Nov 17 19:03:13 2008 -0200 KVM: VMX: move vmx.h to include/asm vmx.h will be used by core code that is independent of KVM, so I am moving it outside the arch/x86/kvm directory. Signed-off-by: Eduardo Habkost Signed-off-by: Avi Kivity commit fe4e771d5c37f0949047faf95d16a512b21406bf Author: Hollis Blanchard Date: Mon Nov 10 14:57:36 2008 -0600 KVM: ppc: fix userspace mapping invalidation on context switch We used to defer invalidating userspace TLB entries until jumping out of the kernel. This was causing MMU weirdness most easily triggered by using a pipe in the guest, e.g. "dmesg | tail". I believe the problem was that after the guest kernel changed the PID (part of context switch), the old process's mappings were still present, and so copy_to_user() on the "return to new process" path ended up using stale mappings. Testing with large pages (64K) exposed the problem, probably because with 4K pages, pressure on the TLB faulted all process A's mappings out before the guest kernel could insert any for process B. Signed-off-by: Hollis Blanchard Signed-off-by: Avi Kivity commit df9b856c454e331bc394c80903fcdea19cae2a33 Author: Hollis Blanchard Date: Mon Nov 10 14:57:35 2008 -0600 KVM: ppc: use prefetchable mappings for guest memory Bare metal Linux on 440 can "overmap" RAM in the kernel linear map, so that it can use large (256MB) mappings even if memory isn't a multiple of 256MB. To prevent the hardware prefetcher from loading from an invalid physical address through that mapping, it's marked Guarded. However, KVM must ensure that all guest mappings are backed by real physical RAM (since a deliberate access through a guarded mapping could still cause a machine check). Accordingly, we don't need to make our mappings guarded, so let's allow prefetching as the designers intended. Curiously this patch didn't affect performance at all on the quick test I tried, but it's clearly the right thing to do anyways and may improve other workloads. Signed-off-by: Hollis Blanchard Signed-off-by: Avi Kivity commit bf5d4025c9fe8a64c5905c00bf4292319d634903 Author: Hollis Blanchard Date: Mon Nov 10 14:57:34 2008 -0600 KVM: ppc: use MMUCR accessor to obtain TID We have an accessor; might as well use it. Signed-off-by: Hollis Blanchard Signed-off-by: Avi Kivity commit e7cacd40d20849f69c908f1290c714145073685a Author: Sheng Yang Date: Tue Nov 11 15:30:40 2008 +0800 KVM: Fix kernel allocated memory slot Commit 7fd49de9773fdcb7b75e823b21c1c5dc1e218c14 "KVM: ensure that memslot userspace addresses are page-aligned" broke kernel space allocated memory slot, for the userspace_addr is invalid. Signed-off-by: Sheng Yang Signed-off-by: Avi Kivity commit 30ed5bb685ab03c9bdf812502900b65087d61490 Author: Xiantao Zhang Date: Fri Oct 24 11:47:57 2008 +0800 KVM: ia64: Remove some macro definitions in asm-offsets.c. Use kernel's corresponding macro instead. Signed-off-by: Xiantao Zhang Signed-off-by: Avi Kivity commit 74ef740da64fd82a14dbab6d7f43d798ecc1b6cc Author: Hollis Blanchard Date: Fri Nov 7 13:15:13 2008 -0600 KVM: ppc: fix Kconfig constraints Make sure that CONFIG_KVM cannot be selected without processor support (currently, 440 is the only processor implementation available). Signed-off-by: Hollis Blanchard Signed-off-by: Avi Kivity commit 78749809222be5083e21bfe697b44ab797e5c0a8 Author: Hollis Blanchard Date: Fri Nov 7 13:32:12 2008 -0600 KVM: ensure that memslot userspace addresses are page-aligned Bad page translation and silent guest failure ensue if the userspace address is not page-aligned. I hit this problem using large (host) pages with qemu, because qemu currently has a hardcoded 4096-byte alignment for guest memory allocations. Signed-off-by: Hollis Blanchard Signed-off-by: Avi Kivity commit 0fdf8e59faa5c60e9d77c8e14abe3a0f8bfcf586 Author: Nitin A Kamble Date: Wed Nov 5 15:56:21 2008 -0800 KVM: Fix cpuid iteration on multiple leaves per eac The code to traverse the cpuid data array list for counting type of leaves is currently broken. This patches fixes the 2 things in it. 1. Set the 1st counting entry's flag KVM_CPUID_FLAG_STATE_READ_NEXT. Without it the code will never find a valid entry. 2. Also the stop condition in the for loop while looking for the next unflaged entry is broken. It needs to stop when it find one matching entry; and in the case of count of 1, it will be the same entry found in this iteration. Signed-Off-By: Nitin A Kamble Signed-off-by: Avi Kivity commit 0853d2c1d849ef69884d2447d90d04007590b72b Author: Nitin A Kamble Date: Wed Nov 5 15:37:36 2008 -0800 KVM: Fix cpuid leaf 0xb loop termination For cpuid leaf 0xb the bits 8-15 in ECX register define the end of counting leaf. The previous code was using bits 0-7 for this purpose, which is a bug. Signed-off-by: Nitin A Kamble Signed-off-by: Avi Kivity commit fcfdbd266a41d3e41d17666de410a24995fde03a Author: Hollis Blanchard Date: Wed Nov 5 09:36:24 2008 -0600 KVM: ppc: improve trap emulation set ESR[PTR] when emulating a guest trap. This allows Linux guests to properly handle WARN_ON() (i.e. detect that it's a non-fatal trap). Also remove debugging printk in trap emulation. Signed-off-by: Hollis Blanchard Signed-off-by: Avi Kivity commit d4cf3892e50b8e35341086a4fe2bb8a3989b55d4 Author: Hollis Blanchard Date: Wed Nov 5 09:36:23 2008 -0600 KVM: ppc: optimize irq delivery path In kvmppc_deliver_interrupt is just one case left in the switch and it is a rare one (less than 8%) when looking at the exit numbers. Therefore we can at least drop the switch/case and if an if. I inserted an unlikely too, but that's open for discussion. In kvmppc_can_deliver_interrupt all frequent cases are in the default case. I know compilers are smart but we can make it easier for them. By writing down all options and removing the default case combined with the fact that ithe values are constants 0..15 should allow the compiler to write an easy jump table. Modifying kvmppc_can_deliver_interrupt pointed me to the fact that gcc seems to be unable to reduce priority_exception[x] to a build time constant. Therefore I changed the usage of the translation arrays in the interrupt delivery path completely. It is now using priority without translation to irq on the full irq delivery path. To be able to do that ivpr regs are stored by their priority now. Additionally the decision made in kvmppc_can_deliver_interrupt is already sufficient to get the value of interrupt_msr_mask[x]. Therefore we can replace the 16x4byte array used here with a single 4byte variable (might still be one miss, but the chance to find this in cache should be better than the right entry of the whole array). Signed-off-by: Christian Ehrhardt Signed-off-by: Hollis Blanchard Signed-off-by: Avi Kivity commit 9ab80843c01ac25139e635d018467e528729a317 Author: Hollis Blanchard Date: Wed Nov 5 09:36:22 2008 -0600 KVM: ppc: optimize find first bit Since we use a unsigned long here anyway we can use the optimized __ffs. Signed-off-by: Christian Ehrhardt Signed-off-by: Hollis Blanchard Signed-off-by: Avi Kivity commit 1b6766c7f3533c5d03668e11dd5617ae4a52e5a8 Author: Hollis Blanchard Date: Wed Nov 5 09:36:21 2008 -0600 KVM: ppc: optimize kvm stat handling Currently we use an unnecessary if&switch to detect some cases. To be honest we don't need the ligh_exits counter anyway, because we can calculate it out of others. Sum_exits can also be calculated, so we can remove that too. MMIO, DCR and INTR can be counted on other places without these additional control structures (The INTR case was never hit anyway). The handling of BOOKE_INTERRUPT_EXTERNAL/BOOKE_INTERRUPT_DECREMENTER is similar, but we can avoid the additional if when copying 3 lines of code. I thought about a goto there to prevent duplicate lines, but rewriting three lines should be better style than a goto cross switch/case statements (its also not enough code to justify a new inline function). Signed-off-by: Christian Ehrhardt Signed-off-by: Hollis Blanchard Signed-off-by: Avi Kivity commit b8fd68ac8db1f926fdb2c7f196598a279461de53 Author: Hollis Blanchard Date: Wed Nov 5 09:36:20 2008 -0600 KVM: ppc: fix set regs to take care of msr change When changing some msr bits e.g. problem state we need to take special care of that. We call the function in our mtmsr emulation (not needed for wrtee[i]), but we don't call kvmppc_set_msr if we change msr via set_regs ioctl. It's a corner case we never hit so far, but I assume it should be kvmppc_set_msr in our arch set regs function (I found it because it is also a corner case when using pv support which would miss the update otherwise). Signed-off-by: Christian Ehrhardt Signed-off-by: Hollis Blanchard Signed-off-by: Avi Kivity commit 5cf8ca22146fa106f3bb865631ec04f5b499508f Author: Hollis Blanchard Date: Wed Nov 5 09:36:19 2008 -0600 KVM: ppc: adjust vcpu types to support 64-bit cores However, some of these fields could be split into separate per-core structures in the future. Signed-off-by: Hollis Blanchard Signed-off-by: Avi Kivity commit db93f5745d836f81cef0b4101a7c2685eeb55efb Author: Hollis Blanchard Date: Wed Nov 5 09:36:18 2008 -0600 KVM: ppc: create struct kvm_vcpu_44x and introduce container_of() accessor This patch doesn't yet move all 44x-specific data into the new structure, but is the first step down that path. In the future we may also want to create a struct kvm_vcpu_booke. Based on patch from Liu Yu . Signed-off-by: Hollis Blanchard Signed-off-by: Avi Kivity commit 5cbb5106f50b4515815cd32cf944958c0d4da83f Author: Hollis Blanchard Date: Wed Nov 5 09:36:17 2008 -0600 KVM: ppc: Move the last bits of 44x code out of booke.c Needed to port to other Book E processors. Signed-off-by: Hollis Blanchard Signed-off-by: Avi Kivity commit 75f74f0dbe086c239b4b0cc5ed75b903ea3e663f Author: Hollis Blanchard Date: Wed Nov 5 09:36:16 2008 -0600 KVM: ppc: refactor instruction emulation into generic and core-specific pieces Cores provide 3 emulation hooks, implemented for example in the new 4xx_emulate.c: kvmppc_core_emulate_op kvmppc_core_emulate_mtspr kvmppc_core_emulate_mfspr Strictly speaking the last two aren't necessary, but provide for more informative error reporting ("unknown SPR"). Long term I'd like to have instruction decoding autogenerated from tables of opcodes, and that way we could aggregate universal, Book E, and core-specific instructions more easily and without redundant switch statements. Signed-off-by: Hollis Blanchard Signed-off-by: Avi Kivity commit c381a04313e7c0fb04246b1ff711e0b5726de6c0 Author: Hollis Blanchard Date: Wed Nov 5 09:36:15 2008 -0600 ppc: Create disassemble.h to extract instruction fields This is used in a couple places in KVM, but isn't KVM-specific. However, this patch doesn't modify other in-kernel emulation code: - xmon uses a direct copy of ppc_opc.c from binutils - emulate_instruction() doesn't need it because it can use a series of mask tests. Signed-off-by: Hollis Blanchard Acked-by: Paul Mackerras Signed-off-by: Avi Kivity commit 9dd921cfea734409a931ccc6eafd7f09850311e9 Author: Hollis Blanchard Date: Wed Nov 5 09:36:14 2008 -0600 KVM: ppc: Refactor powerpc.c to relocate 440-specific code This introduces a set of core-provided hooks. For 440, some of these are implemented by booke.c, with the rest in (the new) 44x.c. Note that these hooks are link-time, not run-time. Since it is not possible to build a single kernel for both e500 and 440 (for example), using function pointers would only add overhead. Signed-off-by: Hollis Blanchard Signed-off-by: Avi Kivity commit d9fbd03d240380826c0ec16f927242be24ff6265 Author: Hollis Blanchard Date: Wed Nov 5 09:36:13 2008 -0600 KVM: ppc: combine booke_guest.c and booke_host.c The division was somewhat artificial and cumbersome, and had no functional benefit anyways: we can only guests built for the real host processor. Signed-off-by: Hollis Blanchard Signed-off-by: Avi Kivity commit 0f55dc481ea5c4f87fc0161cb1b8c6e2cafae8fc Author: Hollis Blanchard Date: Wed Nov 5 09:36:12 2008 -0600 KVM: ppc: Rename "struct tlbe" to "struct kvmppc_44x_tlbe" This will ease ports to other cores. Also remove unused "struct kvm_tlb" while we're at it. Signed-off-by: Hollis Blanchard Signed-off-by: Avi Kivity commit a0d7b9f246074fab1f42678d203ef4ba281505f2 Author: Hollis Blanchard Date: Wed Nov 5 09:36:11 2008 -0600 KVM: ppc: Move 440-specific TLB code into 44x_tlb.c This will make it easier to provide implementations for other cores. Signed-off-by: Hollis Blanchard Signed-off-by: Avi Kivity commit 2843099fee32a6020e1caa95c6026f28b5d43bff Author: Izik Eidus Date: Fri Oct 3 17:40:32 2008 +0300 KVM: MMU: Fix aliased gfns treated as unaliased Some areas of kvm x86 mmu are using gfn offset inside a slot without unaliasing the gfn first. This patch makes sure that the gfn will be unaliased and add gfn_to_memslot_unaliased() to save the calculating of the gfn unaliasing in case we have it unaliased already. Signed-off-by: Izik Eidus Acked-by: Marcelo Tosatti Signed-off-by: Avi Kivity commit 6eb55818c043b097c83828da8430fcb9a02fdb89 Author: Sheng Yang Date: Fri Oct 31 12:37:41 2008 +0800 KVM: Enable Function Level Reset for assigned device Ideally, every assigned device should in a clear condition before and after assignment, so that the former state of device won't affect later work. Some devices provide a mechanism named Function Level Reset, which is defined in PCI/PCI-e document. We should execute it before and after device assignment. (But sadly, the feature is new, and most device on the market now don't support it. We are considering using D0/D3hot transmit to emulate it later, but not that elegant and reliable as FLR itself.) [Update: Reminded by Xiantao, execute FLR after we ensure that the device can be assigned to the guest.] Signed-off-by: Sheng Yang Signed-off-by: Avi Kivity commit 853dafb62b386a3a75808483a120998e734eb6e1 Author: Xiantao Zhang Date: Thu Oct 23 15:03:38 2008 +0800 KVM: ia64: Remove lock held by halted vcpu Remove the lock protection for kvm halt logic, otherwise, once other vcpus want to acquire the lock, and they have to wait all vcpus are waken up from halt. Signed-off-by: Xiantao Zhang Signed-off-by: Avi Kivity commit a917f7af3905953329361d29b6db78eb17b4d44c Author: Xiantao Zhang Date: Thu Oct 23 14:56:44 2008 +0800 KVM: ia64: Re-organize data sturure of guests' data area 1. Increase the size of data area to 64M 2. Support more vcpus and memory, 128 vcpus and 256G memory are supported for guests. 3. Add the boundary check for memory and vcpu allocation. With this patch, kvm guest's data area looks as follow: * * +----------------------+ ------- KVM_VM_DATA_SIZE * | vcpu[n]'s data | | ___________________KVM_STK_OFFSET * | | | / | * | .......... | | /vcpu's struct&stack | * | .......... | | /---------------------|---- 0 * | vcpu[5]'s data | | / vpd | * | vcpu[4]'s data | |/-----------------------| * | vcpu[3]'s data | / vtlb | * | vcpu[2]'s data | /|------------------------| * | vcpu[1]'s data |/ | vhpt | * | vcpu[0]'s data |____________________________| * +----------------------+ | * | memory dirty log | | * +----------------------+ | * | vm's data struct | | * +----------------------+ | * | | | * | | | * | | | * | | | * | | | * | | | * | | | * | vm's p2m table | | * | | | * | | | * | | | | * vm's data->| | | | * +----------------------+ ------- 0 * To support large memory, needs to increase the size of p2m. * To support more vcpus, needs to ensure it has enough space to * hold vcpus' data. */ Signed-off-by: Xiantao Zhang Signed-off-by: Avi Kivity commit 1d5a4d9b92028d9fe77da34037bd5a1ebfecc733 Author: Guillaume Thouvenin Date: Wed Oct 29 09:39:42 2008 +0100 KVM: VMX: Handle mmio emulation when guest state is invalid If emulate_invalid_guest_state is enabled, the emulator is called when guest state is invalid. Until now, we reported an mmio failure when emulate_instruction() returned EMULATE_DO_MMIO. This patch adds the case where emulate_instruction() failed and an MMIO emulation is needed. Signed-off-by: Guillaume Thouvenin Signed-off-by: Avi Kivity commit e93f36bcfaa9e899c595e1c446c784a69021854a Author: Guillaume Thouvenin Date: Tue Oct 28 10:51:30 2008 +0100 KVM: allow emulator to adjust rip for emulated pio instructions If we call the emulator we shouldn't call skip_emulated_instruction() in the first place, since the emulator already computes the next rip for us. Thus we move ->skip_emulated_instruction() out of kvm_emulate_pio() and into handle_io() (and the svm equivalent). We also replaced "return 0" by "break" in the "do_io:" case because now the shadow register state needs to be committed. Otherwise eip will never be updated. Signed-off-by: Guillaume Thouvenin Signed-off-by: Avi Kivity commit c0d09828c870f90c6bc72070ada281568f89c63b Author: Amit Shah Date: Mon Oct 27 09:04:18 2008 +0000 KVM: SVM: Set the 'busy' flag of the TR selector The busy flag of the TR selector is not set by the hardware. This breaks migration from amd hosts to intel hosts. Signed-off-by: Amit Shah Signed-off-by: Avi Kivity commit 25022acc3dd5f0b54071c7ba7c371860f2971b52 Author: Amit Shah Date: Mon Oct 27 09:04:17 2008 +0000 KVM: SVM: Set the 'g' bit of the cs selector for cross-vendor migration The hardware does not set the 'g' bit of the cs selector and this breaks migration from amd hosts to intel hosts. Set this bit if the segment limit is beyond 1 MB. Signed-off-by: Amit Shah Signed-off-by: Avi Kivity commit b8222ad2e52fd2c0c4e5e1c53e65d131f911b767 Author: Amit Shah Date: Wed Oct 22 16:39:47 2008 +0530 KVM: x86: Fix typo in function name get_segment_descritptor_dtable() contains an obvious type. Signed-off-by: Amit Shah Signed-off-by: Avi Kivity commit e19e30effac03f5a005a8e42ed941a2a5dc62654 Author: Sheng Yang Date: Mon Oct 20 16:07:10 2008 +0800 KVM: IRQ ACK notifier should be used with in-kernel irqchip Also remove unnecessary parameter of unregister irq ack notifier. Signed-off-by: Sheng Yang Signed-off-by: Avi Kivity commit cc6e462cd54e64858ea25816df87d033229efe56 Author: Jan Kiszka Date: Mon Oct 20 10:20:03 2008 +0200 KVM: x86: Optimize NMI watchdog delivery As suggested by Avi, this patch introduces a counter of VCPUs that have LVT0 set to NMI mode. Only if the counter > 0, we push the PIT ticks via all LAPIC LVT0 lines to enable NMI watchdog support. Signed-off-by: Jan Kiszka Acked-by: Sheng Yang Signed-off-by: Avi Kivity commit 8fdb2351d51b040146f10a624387bbd102d851c0 Author: Jan Kiszka Date: Mon Oct 20 10:20:02 2008 +0200 KVM: x86: Fix and refactor NMI watchdog emulation This patch refactors the NMI watchdog delivery patch, consolidating tests and providing a proper API for delivering watchdog events. An included micro-optimization is to check only for apic_hw_enabled in kvm_apic_local_deliver (the test for LVT mask is covering the soft-disabled case already). Signed-off-by: Jan Kiszka Acked-by: Sheng Yang Signed-off-by: Avi Kivity commit 291fd39bfc2089c2dae79cf2d7cfca81b14ca769 Author: Guillaume Thouvenin Date: Mon Oct 20 13:11:58 2008 +0200 KVM: x86 emulator: Add decode entries for 0x04 and 0x05 opcodes (add acc, imm) Add decode entries for 0x04 and 0x05 (ADD) opcodes, execution is already implemented. Signed-off-by: Guillaume Thouvenin Signed-off-by: Avi Kivity commit 6fe639792c7b8e462baeaac39ecc33541fd5da6e Author: Sheng Yang Date: Thu Oct 16 17:30:58 2008 +0800 KVM: VMX: Move private memory slot position PCI device assignment would map guest MMIO spaces as separate slot, so it is possible that the device has more than 2 MMIO spaces and overwrite current private memslot. The patch move private memory slot to the top of userspace visible memory slots. Signed-off-by: Sheng Yang Signed-off-by: Avi Kivity commit 291f26bc0f89518ad7ee3207c09eb8a743ac8fcc Author: Sheng Yang Date: Thu Oct 16 17:30:57 2008 +0800 KVM: MMU: Extend kvm_mmu_page->slot_bitmap size Otherwise set_bit() for private memory slot(above KVM_MEMORY_SLOTS) would corrupted memory in 32bit host. Signed-off-by: Sheng Yang Signed-off-by: Avi Kivity commit d73fa29a9b75b2af7f69dae276d2c602a23b329b Author: Sheng Yang Date: Tue Oct 14 15:59:10 2008 +0800 KVM: Clean up kvm_x86_emulate.h Remove one left improper comment of removed CR2. Signed-off-by: Sheng Yang Signed-off-by: Avi Kivity commit 64d4d521757117aa5c1cfe79d3baa6cf57703f81 Author: Sheng Yang Date: Thu Oct 9 16:01:57 2008 +0800 KVM: Enable MTRR for EPT The effective memory type of EPT is the mixture of MSR_IA32_CR_PAT and memory type field of EPT entry. Signed-off-by: Sheng Yang Signed-off-by: Avi Kivity commit 74be52e3e6285fc6e872a2a7baea544106f399ea Author: Sheng Yang Date: Thu Oct 9 16:01:56 2008 +0800 KVM: Add local get_mtrr_type() to support MTRR For EPT memory type support. Signed-off-by: Sheng Yang Signed-off-by: Avi Kivity commit 468d472f3f65100d5fb88c8d45043c85b874c294 Author: Sheng Yang Date: Thu Oct 9 16:01:55 2008 +0800 KVM: VMX: Add PAT support for EPT GUEST_PAT support is a new feature introduced by Intel Core i7 architecture. With this, cpu would save/load guest and host PAT automatically, for EPT memory type in guest depends on MSR_IA32_CR_PAT. Also add save/restore for MSR_IA32_CR_PAT. Signed-off-by: Sheng Yang Signed-off-by: Avi Kivity commit 0bed3b568b68e5835ef5da888a372b9beabf7544 Author: Sheng Yang Date: Thu Oct 9 16:01:54 2008 +0800 KVM: Improve MTRR structure As well as reset mmu context when set MTRR. Signed-off-by: Sheng Yang Signed-off-by: Avi Kivity commit 932d27a7913fc6b3c64c6e6082628b0a1561dec9 Author: Sheng Yang Date: Thu Oct 9 16:01:53 2008 +0800 x86: Export some definition of MTRR For KVM can reuse the type define, and need them to support shadow MTRR. Signed-off-by: Sheng Yang Signed-off-by: Avi Kivity commit b558bc0a25c82ef2a9d2683b0beb3e4b87cea20b Author: Sheng Yang Date: Thu Oct 9 16:01:52 2008 +0800 x86: Rename mtrr_state struct and macro names Prepare for exporting them. Signed-off-by: Sheng Yang Signed-off-by: Avi Kivity commit 5f179287fa02723215eecf681d812b303c243973 Author: Gleb Natapov Date: Tue Oct 7 15:42:33 2008 +0200 KVM: call kvm_arch_vcpu_reset() instead of the kvm_x86_ops callback Call kvm_arch_vcpu_reset() instead of directly using arch callback. The function does additional things. Signed-off-by: Gleb Natapov Signed-off-by: Avi Kivity commit 3b86cd9967242f3f3d775ee015fb814a349ed5e6 Author: Jan Kiszka Date: Fri Sep 26 09:30:57 2008 +0200 KVM: VMX: work around lacking VNMI support Older VMX supporting CPUs do not provide the "Virtual NMI" feature for tracking the NMI-blocked state after injecting such events. For now KVM is unable to inject NMIs on those CPUs. Derived from Sheng Yang's suggestion to use the IRQ window notification for detecting the end of NMI handlers, this patch implements virtual NMI support without impact on the host's ability to receive real NMIs. The downside is that the given approach requires some heuristics that can cause NMI nesting in vary rare corner cases. The approach works as follows: - inject NMI and set a software-based NMI-blocked flag - arm the IRQ window start notification whenever an NMI window is requested - if the guest exits due to an opening IRQ window, clear the emulated NMI-blocked flag - if the guest net execution time with NMI-blocked but without an IRQ window exceeds 1 second, force NMI-blocked reset and inject anyway This approach covers most practical scenarios: - succeeding NMIs are seperated by at least one open IRQ window - the guest may spin with IRQs disabled (e.g. due to a bug), but leaving the NMI handler takes much less time than one second - the guest does not rely on strict ordering or timing of NMIs (would be problematic in virtualized environments anyway) Successfully tested with the 'nmi n' monitor command, the kgdbts testsuite on smp guests (additional patches required to add debug register support to kvm) + the kernel's nmi_watchdog=1, and a Siemens- specific board emulation (+ guest) that comes with its own NMI watchdog mechanism. Signed-off-by: Jan Kiszka Signed-off-by: Avi Kivity commit 487b391d6ea9b1d0e2e0440466fb3130e78c98d9 Author: Jan Kiszka Date: Fri Sep 26 09:30:56 2008 +0200 KVM: VMX: Provide support for user space injected NMIs This patch adds the required bits to the VMX side for user space injected NMIs. As with the preexisting in-kernel irqchip support, the CPU must provide the "virtual NMI" feature for proper tracking of the NMI blocking state. Based on the original patch by Sheng Yang. Signed-off-by: Jan Kiszka Signed-off-by: Sheng Yang Signed-off-by: Avi Kivity commit c4abb7c9cde24b7351a47328ef866e6a2bbb1ad0 Author: Jan Kiszka Date: Fri Sep 26 09:30:55 2008 +0200 KVM: x86: Support for user space injected NMIs Introduces the KVM_NMI IOCTL to the generic x86 part of KVM for injecting NMIs from user space and also extends the statistic report accordingly. Based on the original patch by Sheng Yang. Signed-off-by: Jan Kiszka Signed-off-by: Sheng Yang Signed-off-by: Avi Kivity commit 26df99c6c5807115f06d4e1abae397b7f5f3e00c Author: Jan Kiszka Date: Fri Sep 26 09:30:54 2008 +0200 KVM: Kick NMI receiving VCPU Kick the NMI receiving VCPU in case the triggering caller runs in a different context. Signed-off-by: Jan Kiszka Signed-off-by: Avi Kivity commit 0496fbb973ccc9477082e859ed0faab5acb805ba Author: Jan Kiszka Date: Fri Sep 26 09:30:53 2008 +0200 KVM: x86: VCPU with pending NMI is runnabled Ensure that a VCPU with pending NMIs is considered runnable. Signed-off-by: Jan Kiszka Signed-off-by: Avi Kivity commit 23930f9521c9c4d4aa96cdb9d1e1703f3782bb94 Author: Jan Kiszka Date: Fri Sep 26 09:30:52 2008 +0200 KVM: x86: Enable NMI Watchdog via in-kernel PIT source LINT0 of the LAPIC can be used to route PIT events as NMI watchdog ticks into the guest. This patch aligns the in-kernel irqchip emulation with the user space irqchip with already supports this feature. The trick is to route PIT interrupts to all LAPIC's LVT0 lines. Rebased and slightly polished patch originally posted by Sheng Yang. Signed-off-by: Jan Kiszka Signed-off-by: Sheng Yang Signed-off-by: Avi Kivity commit 66a5a347c2690db4c0756524a8eb5a05e0437aa8 Author: Jan Kiszka Date: Fri Sep 26 09:30:51 2008 +0200 KVM: VMX: fix real-mode NMI support Fix NMI injection in real-mode with the same pattern we perform IRQ injection. Signed-off-by: Jan Kiszka Signed-off-by: Avi Kivity commit f460ee43e250b675376246b1c4c9fe9b9af4ab16 Author: Jan Kiszka Date: Fri Sep 26 09:30:50 2008 +0200 KVM: VMX: refactor IRQ and NMI window enabling do_interrupt_requests and vmx_intr_assist go different way for achieving the same: enabling the nmi/irq window start notification. Unify their code over enable_{irq|nmi}_window, get rid of a redundant call to enable_intr_window instead of direct enable_nmi_window invocation and unroll enable_intr_window for both in-kernel and user space irq injection accordingly. Signed-off-by: Jan Kiszka Signed-off-by: Avi Kivity commit 33f089ca5a61f7aead26e8e1866dfc961dd88a9e Author: Jan Kiszka Date: Fri Sep 26 09:30:49 2008 +0200 KVM: VMX: refactor/fix IRQ and NMI injectability determination There are currently two ways in VMX to check if an IRQ or NMI can be injected: - vmx_{nmi|irq}_enabled and - vcpu.arch.{nmi|interrupt}_window_open. Even worse, one test (at the end of vmx_vcpu_run) uses an inconsistent, likely incorrect logic. This patch consolidates and unifies the tests over {nmi|interrupt}_window_open as cache + vmx_update_window_states for updating the cache content. Signed-off-by: Jan Kiszka Signed-off-by: Avi Kivity commit 448fa4a9c5dbc6941dd19ed09692c588d815bb06 Author: Jan Kiszka Date: Fri Sep 26 09:30:48 2008 +0200 KVM: x86: Reset pending/inject NMI state on CPU reset CPU reset invalidates pending or already injected NMIs, therefore reset the related state variables. Based on original patch by Gleb Natapov. Signed-off-by: Gleb Natapov Signed-off-by: Jan Kiszka Signed-off-by: Avi Kivity commit 60637aacfd95c368e1fbc2157275d1b621b5dcdd Author: Jan Kiszka Date: Fri Sep 26 09:30:47 2008 +0200 KVM: VMX: Support for NMI task gates Properly set GUEST_INTR_STATE_NMI and reset nmi_injected when a task-switch vmexit happened due to a task gate being used for handling NMIs. Also avoid the false warning about valid vectoring info in kvm_handle_exit. Based on original patch by Gleb Natapov. Signed-off-by: Gleb Natapov Signed-off-by: Jan Kiszka Signed-off-by: Avi Kivity commit e4a41889ece6c95f390a7fa3a94255ab62470968 Author: Jan Kiszka Date: Fri Sep 26 09:30:46 2008 +0200 KVM: VMX: Use INTR_TYPE_NMI_INTR instead of magic value Signed-off-by: Jan Kiszka Signed-off-by: Avi Kivity commit a26bf12afb608eb5a96192eaee35fc08ffbf85aa Author: Jan Kiszka Date: Fri Sep 26 09:30:45 2008 +0200 KVM: VMX: include all IRQ window exits in statistics irq_window_exits only tracks IRQ window exits due to user space requests, nmi_window_exits include all exits. The latter makes more sense, so let's adjust irq_window_exits accounting. Signed-off-by: Jan Kiszka Signed-off-by: Avi Kivity commit 2786b014ec893c301ea52ef9962e7cc60f89f9b3 Author: Guillaume Thouvenin Date: Mon Sep 22 16:08:06 2008 +0200 KVM: x86 emulator: consolidate push reg This patch consolidate the emulation of push reg instruction. Signed-off-by: Guillaume Thouvenin Signed-off-by: Laurent Vivier Signed-off-by: Avi Kivity commit c742b31c03f37c5c499178f09f57381aa6c70131 Author: Martin Schwidefsky Date: Wed Dec 31 15:11:42 2008 +0100 [PATCH] fast vdso implementation for CLOCK_THREAD_CPUTIME_ID The extract cpu time instruction (ectg) instruction allows the user process to get the current thread cputime without calling into the kernel. The code that uses the instruction needs to switch to the access registers mode to get access to the per-cpu info page that contains the two base values that are needed to calculate the current cputime from the CPU timer with the ectg instruction. Signed-off-by: Martin Schwidefsky commit 9cfb9b3c3a7361c793c031e9c3583b177ac5debd Author: Martin Schwidefsky Date: Wed Dec 31 15:11:41 2008 +0100 [PATCH] improve idle cputime accounting Distinguish the cputime of the idle process where idle is actually using cpu cycles from the cputime where idle is sleeping on an enabled wait psw. The former is accounted as system time, the later as idle time. Signed-off-by: Martin Schwidefsky commit 6f43092441bda528dd38f2dc6c1e2522c5079fb7 Author: Martin Schwidefsky Date: Wed Dec 31 15:11:40 2008 +0100 [PATCH] improve precision of idle time detection. Increase the precision of the idle time calculation that is exported to user space via /sys/devices/system/cpu/cpu/idle_time_us Signed-off-by: Martin Schwidefsky commit aa5e97ce4bbc9d5daeec16b1d15bb3f6b7b4f4d4 Author: Martin Schwidefsky Date: Wed Dec 31 15:11:39 2008 +0100 [PATCH] improve precision of process accounting. The unit of the cputime accouting values that are stored per process is currently a microsecond. The CPU timer has a maximum granularity of 2**-12 microseconds. There is no benefit in storing the per process values in the lesser precision and there is the disadvantage that the backend has to do the rounding to microseconds. The better solution is to use the maximum granularity of the CPU timer as cputime unit. Signed-off-by: Martin Schwidefsky commit 79741dd35713ff4f6fd0eafd59fa94e8a4ba922d Author: Martin Schwidefsky Date: Wed Dec 31 15:11:38 2008 +0100 [PATCH] idle cputime accounting The cpu time spent by the idle process actually doing something is currently accounted as idle time. This is plain wrong, the architectures that support VIRT_CPU_ACCOUNTING=y can do better: distinguish between the time spent doing nothing and the time spent by idle doing work. The first is accounted with account_idle_time and the second with account_system_time. The architectures that use the account_xxx_time interface directly and not the account_xxx_ticks interface now need to do the check for the idle process in their arch code. In particular to improve the system vs true idle time accounting the arch code needs to measure the true idle time instead of just testing for the idle process. To improve the tick based accounting as well we would need an architecture primitive that can tell us if the pt_regs of the interrupted context points to the magic instruction that halts the cpu. In addition idle time is no more added to the stime of the idle process. This field now contains the system time of the idle process as it should be. On systems without VIRT_CPU_ACCOUNTING this will always be zero as every tick that occurs while idle is running will be accounted as idle time. This patch contains the necessary common code changes to be able to distinguish idle system time and true idle time. The architectures with support for VIRT_CPU_ACCOUNTING need some changes to exploit this. Signed-off-by: Martin Schwidefsky commit 457533a7d3402d1d91fbc125c8bd1bd16dcd3cd4 Author: Martin Schwidefsky Date: Wed Dec 31 15:11:37 2008 +0100 [PATCH] fix scaled & unscaled cputime accounting The utimescaled / stimescaled fields in the task structure and the global cpustat should be set on all architectures. On s390 the calls to account_user_time_scaled and account_system_time_scaled never have been added. In addition system time that is accounted as guest time to the user time of a process is accounted to the scaled system time instead of the scaled user time. To fix the bugs and to prevent future forgetfulness this patch merges account_system_time_scaled into account_system_time and account_user_time_scaled into account_user_time. Cc: Benjamin Herrenschmidt Cc: Hidetoshi Seto Cc: Tony Luck Cc: Jeremy Fitzhardinge Cc: Chris Wright Cc: Michael Neuling Acked-by: Paul Mackerras Signed-off-by: Martin Schwidefsky commit 276c62225a7c98737510483dcaec6af7e7965389 Author: Peter Ujfalusi Date: Wed Dec 31 10:08:38 2008 +0200 ASoC: TWL4030: DAPM based capture implementation This patch adds DAPM implementaion for the capture path on twlx030. TWL has two physical ADC and two digital microphone (stereo) connections. The CPU interface has four microphone channels. For simplicity the microphone channel paths are named as: TX1 (Left/Right) - when using i2s mode, only the TX1 data is valid TX2 (Left/Right) Input routing (simplified version): There is two levels of mux settings for TWL in input path: Analog input mux: ADCL <- {Off, Main mic, Headset mic, AUXL, Carkit mic} ADCR <- {Off, Sub mic, AUXR} Analog/Digital mux: TX1 Analog mode: TX1L <- ADCL TX1R <- ADCR TX1 Digital mode: TX1L <- Digimic0 (Left) TX1R <- Digimic0 (Right) TX2 Analog mode: TX2L <- ADCL TX2R <- ADCR TX2 Digital mode: TX2L <- Digimic1 (Left) TX2R <- Digimic1 (Right) The patch provides the following user controls for the capture path: Mux settings: "TX1 Capture Route": {Analog, Digimic0} "TX2 Capture Route": {Analog, Digimic1} "Analog Left Capture Route": {Off, Main Mic, Headset Mic, AUXL, Carkit Mic} "Analog Right Capture Route": {Off, Sub Mic, AUXR} Volume/Gain controls: "TX1 Digital Capture Volume": Stereo gain control for TX1 path "TX2 Digital Capture Volume": Stereo gain control for TX2 path "Analog Capture Volume": Stereo gain control for the analog path only Important things for the board files: Microphone bias: "Mic Bias 1": Bias for Main mic or for digimic0 (analog or digital path) "Mic Bias 2": Bias for Sub mic or for digimic1 (analog or digital path) "Headset Mic Bias": Bias for Headset mic When the routing configured correctly only the needed components will be powered/enabled. Signed-off-by: Peter Ujfalusi Signed-off-by: Mark Brown commit f9a3fba2ce8622977c5373d2449eb71705613721 Author: Peter Ujfalusi Date: Wed Dec 31 10:08:37 2008 +0200 ASoC: TWL4030: Make the enum filter generic for twl4030 Modify the enum filter to more generic that it will filter out the enums with text "Invalid". The enum filter also required for the capture path. Signed-off-by: Peter Ujfalusi Signed-off-by: Mark Brown commit 2ca1a615835d9f4990f42102ab1f2ef434e7e89c Merge: e12f010 6a94cb7 Author: Rusty Russell Date: Wed Dec 31 23:05:57 2008 +1030 Merge branch 'master' of git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux-2.6 Conflicts: arch/x86/kernel/io_apic.c commit 8e5033adc78ff4fbeab7052134e7af1f6ff04187 Author: Artem Bityutskiy Date: Tue Dec 30 18:37:45 2008 +0200 UBIFS: add more useful debugging prints Print node sizes and maximum node sizes. Signed-off-by: Artem Bityutskiy commit 5d38b3ac78e0e0e420fba134716fc3d20e6b978a Author: Artem Bityutskiy Date: Tue Dec 30 17:58:42 2008 +0200 UBIFS: print debugging messages properly We cannot use ubifs_err() macro with DBGKEY() and DBGKEY1(), because this is racy and holding dbg_lock is needed. Use dbg_err() instead, which does have the lock held. Signed-off-by: Artem Bityutskiy commit 80736d41f895bc472b2433a1c27fa6d4afe6ca35 Author: Artem Bityutskiy Date: Tue Dec 30 17:44:02 2008 +0200 UBIFS: fix numerous spelling mistakes Signed-off-by: Artem Bityutskiy commit 57a450e95932f7798677885b8a01443aca72fdc7 Author: Artem Bityutskiy Date: Tue Dec 30 16:23:34 2008 +0200 UBIFS: allow mounting when short of space It is fine if there is not free space - we should still allow mounting this FS. This patch relaxes the free space requirements and adds info dumps. Signed-off-by: Artem Bityutskiy commit a9f2fc0e251e71a51deb8059b181c375a4a5e979 Author: Artem Bityutskiy Date: Tue Dec 23 14:39:14 2008 +0200 UBIFS: fix writing uncompressed files UBIFS does not disable compression if ui->flags is non-zero, e.g. if the file has "sync" flag. This is because of the typo which is fixed by this patch. The patch also adds a couple of useful debugging prints. Signed-off-by: Artem Bityutskiy commit f92b982680e4b4149c559789a54e1e9db190752a Author: Artem Bityutskiy Date: Sun Dec 28 11:34:26 2008 +0200 UBIFS: fix checkpatch.pl warnings These are mostly long lines and wrong indentation warning fixes. But also there are two volatile variables and checkpatch.pl complains about them: WARNING: Use of volatile is usually wrong: see Documentation/volatile-considered-harmful.txt + volatile int gc_seq; WARNING: Use of volatile is usually wrong: see Documentation/volatile-considered-harmful.txt + volatile int gced_lnum; Well, we anyway use smp_wmb() for c->gc_seq and c->gced_lnum, so these 'volatile' modifiers can be just dropped. Signed-off-by: Artem Bityutskiy commit 6a4a9b438fe43397f4652853838f284cddd629b5 Author: Artem Bityutskiy Date: Sun Dec 28 11:00:55 2008 +0200 UBIFS: fix sparse warnings fs/ubifs/compress.c:111:8: warning: incorrect type in argument 5 (different signedness) fs/ubifs/compress.c:111:8: expected unsigned int *dlen fs/ubifs/compress.c:111:8: got int *out_len fs/ubifs/compress.c:175:10: warning: incorrect type in argument 5 (different signedness) fs/ubifs/compress.c:175:10: expected unsigned int *dlen fs/ubifs/compress.c:175:10: got int *out_len Fix this by adding a cast to (unsigned int *). We guarantee that our lengths are small and no overflow is possible. Signed-off-by: Artem Bityutskiy commit 2acf80675800d5e6775990d1280cca5c2ffb30e6 Author: Artem Bityutskiy Date: Tue Dec 9 11:04:40 2008 -0500 UBIFS: simplify make_free_space The 'make_free_space()' function was too complex and this patch simplifies it. It also fixes a bug - the freespace test failed straight away on UBI volumes with 512 bytes LEB size. Signed-off-by: Artem Bityutskiy commit 2edc2025c2583a18eafe5cdbc7deb36e320aaec5 Author: Artem Bityutskiy Date: Mon Dec 22 11:21:03 2008 +0200 UBIFS: do not lie about used blocks Do not force UBIFS return 0 used space when it is empty. It leads to a situation when creating any file immediately produces tens of used blocks, which looks very weird. It is better to be honest and say that some blocks are used even if the FS is empty. And ext2 does the same. Signed-off-by: Artem Bityutskiy commit 6edbfafda682b30ad984964cc432da6fa1c8fab5 Author: Artem Bityutskiy Date: Tue Dec 30 20:06:49 2008 +0200 UBIFS: restore budg_uncommitted_idx UBIFS stores uncommitted index size in c->budg_uncommitted_idx, and this affect budgeting calculations. When mounting and replaying, this variable is not updated, so we may end up with "over-budgeting". This patch fixes the issue. Signed-off-by: Artem Bityutskiy commit 26d05777b0a23062a39e83c369c0a3583918f164 Author: Artem Bityutskiy Date: Sun Dec 28 09:11:02 2008 +0200 UBIFS: always commit on unmount UBIFS commits on unmount to make the next mount faster. Currently, it commits only if there is more than LEB size bytes in the journal. This is not very good, because journal size may be large (512KiB). And there may be few deletions in the journal which do not take much journal space, but which do introduce a lot of TNC changes and make mount slow. Thus, jurt remove this condition and always commit. Signed-off-by: Artem Bityutskiy commit cb5c6a2b2be59b480a3746c5113cb3411c053bff Author: Artem Bityutskiy Date: Sun Dec 28 08:18:43 2008 +0200 UBIFS: use ubi_sync UBI now has (fake for now, though) synchronization call - use it. Signed-off-by: Artem Bityutskiy commit f10383006c26b33539820759b9dc8656497b02a4 Author: Artem Bityutskiy Date: Sun Dec 28 08:16:32 2008 +0200 UBIFS: always commit in sync_fs Always run commit in sync_fs, because even if the journal seems to be almost empty, there may be a deletion which removes a large file, which affects the index greatly. And because we want better free space predictions after 'sync_fs()', we have to commit. Signed-off-by: Artem Bityutskiy commit 304d427cd99eb645b44b08d77e70ce308e6bcd8c Author: Artem Bityutskiy Date: Sun Dec 28 08:04:17 2008 +0200 UBIFS: fix file-system synchronization Argh. The ->sync_fs call is called _before_ all inodes are flushed. This means we first sync write buffers and commit, then all inodes are synced, and we end up with unflushed write buffers! Fix this by forcing synching all indoes from 'ubifs_sync_fs()'. Signed-off-by: Artem Bityutskiy commit 79807d075ab8d1ca3574f5f52421e0047c1f1256 Author: Artem Bityutskiy Date: Sat Dec 27 19:18:00 2008 +0200 UBIFS: fix constants initialization The c->min_idx_lebs constant depends on c->old_idx_sz, which is read from the master node. This means that we have to initialize c->min_idx_lebs only after we have read the master node. Signed-off-by: Artem Bityutskiy commit 1c5745aa380efb6417b5681104b007c8612fb496 Author: Thomas Gleixner Date: Mon Dec 22 23:05:28 2008 +0100 sched_clock: prevent scd->clock from moving backwards, take #2 Redo: 5b7dba4: sched_clock: prevent scd->clock from moving backwards which had to be reverted due to s2ram hangs: ca7e716: Revert "sched_clock: prevent scd->clock from moving backwards" ... this time with resume restoring GTOD later in the sequence taken into account as well. The "timekeeping_suspended" flag is not very nice but we cannot call into GTOD before it has been properly resumed and the scheduler will run very early in the resume sequence. Cc: Signed-off-by: Ingo Molnar commit e8443c358c34f3fe65236e24147ddf0cd0e61b08 Author: robert.moore@intel.com Date: Wed Dec 31 13:15:01 2008 +0800 ACPICA: Update version to 20081204. Signed-off-by: Bob Moore Signed-off-by: Lin Ming Signed-off-by: Len Brown commit 40774f7acaba897f99ceea5d7de65ee8e2bd3696 Author: Bob Moore Date: Tue Dec 16 18:22:01 2008 +0800 ACPICA: FADT: Update error msgs for consistency Update all messages so they look consistent. Signed-off-by: Bob Moore Signed-off-by: Lin Ming Signed-off-by: Len Brown commit 4b67a0e467a57e24da6b761dbf95fa5d0225ff19 Author: robert.moore@intel.com Date: Wed Dec 31 13:07:26 2008 +0800 ACPICA: FADT: set acpi_gbl_use_default_register_widths to TRUE by default This returns the FADT support to the original behavior, which is to use default register widths. However, now check each register definition and report a warning if it differs from the default. This is a first step to moving away from the default widths, rather than outright believing the widths in all FADTs for all machines, considered rather dangerous until more data is obtained. Signed-off-by: Bob Moore Signed-off-by: Lin Ming Signed-off-by: Len Brown commit 06f5541960d02d5e0ddd8fd5c9a1554d85d94fa9 Author: Bob Moore Date: Wed Dec 31 03:06:06 2008 +0800 ACPICA: FADT parsing changes and fixes 1) Update the register lengths for the PM1 event blocks. The length must be divided by two in order to use these to access the status registers. 2) Add run-time option to use default register lengths to override a faulty FADT. 3) Add warning message if any of the X64 address structures contain a length that does not match the legacy length earlier in the FADT. 4) Move all FADT warning messages into the ValidateFadt function. Signed-off-by: Bob Moore Signed-off-by: Lin Ming Signed-off-by: Len Brown commit 1685bd404dc2ecce2fdae6410e85ded2f2c0136d Author: Bob Moore Date: Wed Dec 31 03:03:29 2008 +0800 ACPICA: Add ACPI_MUTEX_TYPE configuration option Used to specify whether the OSL mutex interfaces should be used, or binary semaphores instead. Signed-off-by: Bob Moore Signed-off-by: Lin Ming Signed-off-by: Len Brown commit 7488c8d51134a152f022bc11547157f80a725ff1 Author: Bob Moore Date: Tue Dec 16 16:04:29 2008 +0800 ACPICA: Fixes for various ACPI data tables Eliminate extraneous "zero length subtable" messages. Fix subtable output for ERST, MCFG, EINJ tables. Implement all subtables for HEST. Signed-off-by: Bob Moore Signed-off-by: Lin Ming Signed-off-by: Len Brown commit 50df4d8b0f6e1971b930f3158c9ee0e4263e636d Author: Bob Moore Date: Wed Dec 31 03:01:23 2008 +0800 ACPICA: Restructure includes into public/private acpi.h now includes only the "public" acpica headers. All other acpica headers are "private" and should not be included by acpica users. One new file, accommon.h is used to include the commonly used private headers for acpica code generation. Future plans are to move all private headers to a new subdirectory. Signed-off-by: Bob Moore Signed-off-by: Lin Ming Signed-off-by: Len Brown commit ea7e96e0f2277107d9ea14c3f16c86ba82b2e560 Author: Lin Ming Date: Tue Dec 16 16:28:17 2008 +0800 ACPI: remove private acpica headers from driver files External driver files should not include any private acpica headers. Signed-off-by: Lin Ming Signed-off-by: Len Brown commit 2ee62612485f888b731804ca1b3b18ed8e842b51 Author: Lin Ming Date: Tue Dec 16 16:40:31 2008 +0800 ACPI: reboot.c: use new acpi_reset interface Use new acpi_reset interface to write to reset register Signed-off-by: Lin Ming Signed-off-by: Len Brown commit d3fd902d1ed43aebfc407c08d7ce86495604124c Author: Bob Moore Date: Tue Dec 30 11:11:57 2008 +0800 ACPICA: New: acpi_reset interface - write to reset register Uses the FADT-defined reset register and reset value. Checks the FADT flags for the reset register supported bit. Supports reset register in memory or I/O space, but not in PCI config space since the host has the information to do it. Signed-off-by: Bob Moore Signed-off-by: Lin Ming Signed-off-by: Len Brown commit 7db5d82d0278b506441ab6025f0c6ce2f2aa3019 Author: Bob Moore Date: Tue Dec 30 11:04:48 2008 +0800 ACPICA: Move all public H/W interfaces to new hwxface Move public interfaces from hwregs.c to new file, hwxface.c - similar to the structure of the other ACPICA components. Signed-off-by: Bob Moore Signed-off-by: Lin Ming Signed-off-by: Len Brown commit ecfbbc7b46f74ca48b9f42132739114c9e70f8e4 Author: Bob Moore Date: Wed Dec 31 02:55:32 2008 +0800 ACPICA: New: acpi_read and acpi_write public interfaces Changed the acpi_hw_low_level_read and acpi_hw_low_level_write functions to the public acpi_read and acpi_write to allow direct access to ACPI registers. Removed the "width" parameter since the width can be obtained from the input GAS structure. Updated the FADT initialization to setup the GAS structures with the proper widths. Some widths are still hardcoded because many FADTs have incorrect register lengths. Signed-off-by: Bob Moore Signed-off-by: Len Brown commit 385c4d98d851bc94ad4f351fe25fe49b70b9cf78 Author: Lin Ming Date: Tue Dec 16 17:08:57 2008 +0800 ACPI: io_common.c: call acpi_get_table to avoid using ACPI_SIG_DSDT ACPI_SIG_DSDT is acpica internal used only. call acpi_get_table to avoid using ACPI_SIG_DSDT. Signed-off-by: Lin Ming Signed-off-by: Len Brown commit a8ce4471fe74cf749bcfef7e557a7b94f725c494 Author: Lin Ming Date: Tue Dec 16 17:07:01 2008 +0800 ACPI: io_acpi_init.c: call acpi_get_name to get node fullname acpi_ns_print_node_pathname is internal used only use acpi_get_name instead to get node fullname Signed-off-by: Lin Ming Signed-off-by: Len Brown commit 46422814f988b32d595dd2ce6d43f4c6d3623d41 Author: Lin Ming Date: Tue Dec 16 17:04:24 2008 +0800 ACPI: panasonic-laptop.c: remove ACPI_FUNCTION_TRACE ACPI_FUNCTION_TRACE is an internal acpica function. remove ACPI_FUNCTION_TRACE from driver file Signed-off-by: Lin Ming Signed-off-by: Len Brown commit 60a4ce7f4148155d3f28eea4a213f7ee47cd57b7 Author: Lin Ming Date: Tue Dec 16 17:02:22 2008 +0800 ACPI: power.c: call acpi_get_name to get node name acpi_ut_get_node_name is an internal acpica function. use acpi_get_name to get node ascii name Signed-off-by: Lin Ming Signed-off-by: Len Brown commit 30823736162ff91512965e3c730557e34fa71d6d Author: Lin Ming Date: Tue Dec 16 16:59:35 2008 +0800 ACPI: sony-laptop.c: call acpi_get_object_info to get node info Avoid using internal acpica structures acpi_namespace_node and acpi_operand_object Call acpi_get_object_info to get node ascii name and method arg count Signed-off-by: Lin Ming Signed-off-by: Len Brown commit 3d97e426aa97d60b3dac1b72923b90b491fbac20 Author: Lin Ming Date: Tue Dec 16 16:57:46 2008 +0800 ACPI: main.c: use new public GPE group enable/disable interfaces Avoid using internal functions: acpi_hw_disable_all_gpes and acpi_hw_enable_all_runtime_gpes Use new public GPE group enable/disable interfaces: acpi_disable_all_gpes and acpi_enable_all_runtime_gpes Also avoid using internal symbol ACPI_TABLE_INDEX_FACS, call acpi_get_table. Signed-off-by: Lin Ming Signed-off-by: Len Brown commit 08ac07b826cfd9a9b28aa094f14e1c023bdc9864 Author: Bob Moore Date: Tue Dec 30 09:55:48 2008 +0800 ACPICA: New: Public GPE group enable/disable interfaces Added acpi_disable_all_gpes and acpi_enable_all_runtime_gpes for public use. Signed-off-by: Bob Moore Signed-off-by: Lin Ming Signed-off-by: Len Brown commit e97d6bf1a01b7403d98aea95731863aab2e84064 Author: Bob Moore Date: Tue Dec 30 09:45:17 2008 +0800 ACPICA: New: acpi_get_gpe_device interface This function maps an input GPE index to a GPE block device. Also Added acpi_current_gpe_count to track the current number of GPEs that are being managed by the ACPICA core (both FADT-based GPEs and the GPEs contained in GPE block devices.) Modify drivers/acpi/system.c to use these 2 new interfaces Signed-off-by: Bob Moore Signed-off-by: Lin Ming Signed-off-by: Len Brown commit c1e3523ccbeca312e11557d2a75f90632a2fb5c7 Author: Lin Ming Date: Tue Dec 16 16:51:19 2008 +0800 ACPI: wakeup.c: remove ACPI_FUNCTION_TRACE ACPI_FUNCTION_TRACE is an internal acpica function. remove ACPI_FUNCTION_TRACE Signed-off-by: Lin Ming Signed-off-by: Len Brown commit 95d9a7a828aedef965234f348b916caa98be1e6c Author: Lin Ming Date: Tue Dec 16 16:49:26 2008 +0800 ACPI: proc.c: remove ACPI_FUNCTION_TRACE ACPI_FUNCTION_TRACE and return_VALUE are internal acpica functions. remove ACPI_FUNCTION_TRACE replace return_VALUE with return Signed-off-by: Lin Ming Signed-off-by: Len Brown commit 0175d562a29ad052c510782c7e76bc63d5155b9b Author: Lin Ming Date: Tue Dec 16 16:46:12 2008 +0800 ACPI: ec.c: call acpi_get_name to get node name acpi_namespace_node is internal struct, it should not be used outside of ACPICA call acpi_get_name to get node ascii name Signed-off-by: Lin Ming Signed-off-by: Len Brown commit 889c78be9e8d84ea7f991b9b868e006cdb8e42b0 Author: Lin Ming Date: Wed Dec 31 09:23:57 2008 +0800 ACPI: osl.c: replace return_ACPI_STATUS with return return_ACPI_STATUS is an internal acpica function, replace it with return. acpi_gbl_permanent_mmap moved from acglobal.h to acpixf.h for external use Signed-off-by: Lin Ming Signed-off-by: Len Brown commit 9e6dada9d255497127251c03aaa59296d186f959 Author: Zhang Rui Date: Wed Dec 31 10:58:48 2008 +0800 video: always update the brightness when poking "brightness" always update props.brightness no matter the backlight is changed via procfs, hotkeys or sysfs. Sighed-off-by: Zhang Rui Acked-by: Matthew Garrett Signed-off-by: Len Brown commit ec270e59a74eee972006a87c8e12514a20588369 Merge: 6a94cb7 5a6bb10 Author: Linus Torvalds Date: Tue Dec 30 20:33:34 2008 -0800 Merge git://git.kernel.org/pub/scm/linux/kernel/git/hirofumi/fatfs-2.6 * git://git.kernel.org/pub/scm/linux/kernel/git/hirofumi/fatfs-2.6: fat: make sure to set d_ops in fat_get_parent fat: fix duplicate addition of ->llseek handler fat: drop negative dentry on rename() path commit 8a383ef0be01e0e6e84c85f8bf35e4e6fcfb8981 Author: Roel Kluin Date: Tue Dec 9 20:45:30 2008 +0100 ACPI: ec.c, pci_link.c, video_detec.c: static Sparse asked whether these could be static. Signed-off-by: Roel Kluin Signed-off-by: Len Brown commit 087da3b4e2d7d3ef70a4fa649b9a286fdeb0e44e Author: Len Brown Date: Tue Dec 30 22:44:33 2008 -0500 ACPI: simplify buffer management for acpi_pci_bind() etc. use ACPI_ALLOCATE_BUFFER to remove the allocations within acpi_pci_bind(), acpi_pci_unbind() and acpi_pci_bind_root(). While there, delete some unnecessary param inits from those routines. Delete concept of ACPI_PATHNAME_MAX, since this was the last use. Signed-off-by: Len Brown commit e1c4a2d7b381f8f6212888a15a69f8fce8d0a08f Author: Ian Molton Date: Tue Dec 30 23:22:41 2008 +0000 [ARM] pxa: add e750 MFP config Adds MFP configuration for supported e750 hardware. Signed-off-by: Ian Molton commit 39488b041e2fdc206b3de4517b8f220ae07b2a20 Author: Bjorn Helgaas Date: Mon Dec 8 21:31:42 2008 -0700 ACPI: PCI: add HP copyright Add HP copyright to pci_irq.c. Signed-off-by: Bjorn Helgaas Signed-off-by: Len Brown commit 3f0f3c27be19d390f23af1075d9948d0310e2673 Author: Bjorn Helgaas Date: Mon Dec 8 21:31:37 2008 -0700 ACPI: PCI: whitespace and useless initialization cleanup This patch makes function declarations consistent throughout the file and removes some unnecessary initializations. Signed-off-by: Bjorn Helgaas Signed-off-by: Len Brown commit 74f82af1eda39c26c17f8030e4f60c00929ec9df Author: Bjorn Helgaas Date: Mon Dec 8 21:31:32 2008 -0700 ACPI: PCI: expand acpi_pci_allocate_irq() and acpi_pci_free_irq() inline acpi_pci_allocate_irq() and acpi_pci_free_irq() are trivial and only used once, so just open-code them. Signed-off-by: Bjorn Helgaas Signed-off-by: Len Brown commit 4eaf6db3ea0edf7e011a613b5a15360444e58fec Author: Bjorn Helgaas Date: Mon Dec 8 21:31:27 2008 -0700 ACPI: PCI: simplify struct acpi_prt_entry Remove unused "irq" field, remove unnecessary struct, rename "handle" to "link". Signed-off-by: Bjorn Helgaas Signed-off-by: Len Brown commit 3604a9f445afde2801b8c24b63dd289c33e290a6 Author: Bjorn Helgaas Date: Mon Dec 8 21:31:21 2008 -0700 ACPI: PCI: simplify list of _PRT entries We don't need a struct containing a count and a list_head; a simple list_head is sufficient. The list iterators handle empty lists fine. Signed-off-by: Bjorn Helgaas Signed-off-by: Len Brown commit 5697b7ca406b4ee0afeef6d9a29b823767716cab Author: Bjorn Helgaas Date: Mon Dec 8 21:31:16 2008 -0700 ACPI: PCI: combine lookup and derive This folds acpi_pci_irq_derive() into acpi_pci_irq_lookup() so it can be easily used by both acpi_pci_irq_enable() and acpi_pci_irq_disable(). Signed-off-by: Bjorn Helgaas Signed-off-by: Len Brown commit ee40136313323db1096b17df7b436d22a24ef2be Author: Bjorn Helgaas Date: Mon Dec 8 21:31:11 2008 -0700 ACPI: PCI: follow typical PCI INTx swizzling pattern No functional change; this just uses the typical pattern of PCI INTx swizzling done on other architectures. Signed-off-by: Bjorn Helgaas Signed-off-by: Len Brown commit 3b1ea18d3b3542b55861d7f968ded705e3bc2aa6 Author: Bjorn Helgaas Date: Mon Dec 8 21:31:06 2008 -0700 ACPI: PCI: use positive logic to simplify code This doesn't change anything functionally; it just changes tests so we test for success instead of failure. This makes the code read more easily and allows us to remove the "!entry" in the while loop condition. Signed-off-by: Bjorn Helgaas Signed-off-by: Len Brown commit beba8a643d7f774cf27c3c92a51b99cebf787415 Author: Bjorn Helgaas Date: Mon Dec 8 21:31:01 2008 -0700 ACPI: PCI: remove callback from acpi_pci_irq_lookup & acpi_pci_irq_derive We currently pass a callback function (either acpi_pci_allocate_irq() or acpi_pci_free_irq()) to acpi_pci_irq_lookup() and acpi_pci_irq_derive(). I think it's simpler to remove the callback and just have the enable/ disable functions make the calls directly. Signed-off-by: Bjorn Helgaas Signed-off-by: Len Brown commit 1350487eeb616889f589e9b8c06bd5077452b7e3 Author: Bjorn Helgaas Date: Mon Dec 8 21:30:56 2008 -0700 ACPI: PCI: tweak _PRT lookup debug Print one message (either "found" or "not found") for every _PRT search. And add pin information to the INTx swizzling debug. Signed-off-by: Bjorn Helgaas Signed-off-by: Len Brown commit 063563b4b8f87e2be0e127ccf3a8e6eef6309ff4 Author: Bjorn Helgaas Date: Mon Dec 8 21:30:51 2008 -0700 ACPI: PCI: lookup _PRT entry by PCI dev and pin, not segment/bus/dev/pin There's no reason to pass around segment, bus, and device independently when we can just pass the pci_dev pointer, which carries all those already. The pci_dev contains an interrupt pin, too, but we still have to pass both the pci_dev and the pin because when we use a bridge to derive an IRQ, we need the pin from the downstream device, not the bridge. Signed-off-by: Bjorn Helgaas Signed-off-by: Len Brown commit c458033c9b72a81b890d97ec6339694bab252383 Author: Bjorn Helgaas Date: Mon Dec 8 21:30:46 2008 -0700 ACPI: PCI: use 1-based encoding for _PRT quirks Use the PCI INTx pin encoding (1=INTA, 2=INTB, etc) for _PRT quirks. Then we can simply compare "entry->pin == quirk->pin". Signed-off-by: Bjorn Helgaas Signed-off-by: Len Brown commit e64e9db53ab78d20dff4cc1aec8a6b0e4e70ce8c Author: Bjorn Helgaas Date: Mon Dec 8 21:30:41 2008 -0700 ACPI: PCI: always use the PCI INTx pin values, not the _PRT ones This patch changes pci_irq.c to always use PCI INTx pin encodings instead of a mix of PCI and _PRT encodings. The PCI INTx pin numbers from the PCI_INTERRUPT_PIN config register are 0=device doesn't use interrupts, 1=INTA, ..., 4=INTD. But the _PRT table uses 0=INTA, ..., 3=INTD. This patch converts the _PRT encoding to the PCI encoding immediately when we add a _PRT entry to the global list. All the rest of the code can then use the PCI encoding consistently. The point of this is to make the interrupt swizzling look the same as on other architectures, so someday we can unify them. Signed-off-by: Bjorn Helgaas Signed-off-by: Len Brown commit cf68b80b0e0cbc6a0d7bbb36b07ce94779ef5f1f Author: Bjorn Helgaas Date: Mon Dec 8 21:30:36 2008 -0700 ACPI: PCI: add a helper to convert _PRT INTx pin number to name This adds a helper function to convert INTx pin numbers from the _PRT (0, 1, 2, 3) to the pin name ('A', 'B', 'C', 'D'). Signed-off-by: Bjorn Helgaas Signed-off-by: Len Brown commit f748bafa3ca1fb056e63afdeecacc1c68d8104df Author: Bjorn Helgaas Date: Mon Dec 8 21:30:31 2008 -0700 ACPI: PCI: move struct acpi_prt_entry declaration out of public header file The struct acpi_prt_entry is used only in pci_irq.c, so there's no need for the declaration to be public. This patch moves it into pci_irq.c. Signed-off-by: Bjorn Helgaas Signed-off-by: Len Brown commit c13f889a24e6ced50abb582dab3ee4b7c79b038e Author: Bjorn Helgaas Date: Mon Dec 8 21:30:26 2008 -0700 ACPI: PCI: fix GSI/IRQ naming confusion The interrupt numbers from _PRT entries are GSIs, not Linux IRQs. Signed-off-by: Bjorn Helgaas Signed-off-by: Len Brown commit b52b3f4af83571e86f910b07a61b177e2b7d8409 Author: Bjorn Helgaas Date: Mon Dec 8 21:30:20 2008 -0700 ACPI: PCI: ignore _PRT function information _PRT entries don't contain any useful PCI function information (the function part of the PCI address is supposed to be 0xffff), and we don't ever look at it, so this patch just removes the reference to it. Signed-off-by: Bjorn Helgaas Signed-off-by: Len Brown commit 2320ac6cb078eec77bf93742895dc35e64fae124 Author: Bjorn Helgaas Date: Mon Dec 8 21:30:15 2008 -0700 ACPI: PCI: simplify buffer management for evaluating _PRT Previously, acpi_pci_irq_add_prt() did all its own buffer management. But now that we have ACPI_ALLOCATE_BUFFER, we no longer need to do that management. And we don't have to call acpi_get_irq_routing_table() twice (once to learn the size of the buffer needed, and again to actually get the table). Signed-off-by: Bjorn Helgaas Signed-off-by: Len Brown commit 3b8249de43ecf05407888c1ca6ca6e4945ff823c Author: Bjorn Helgaas Date: Mon Dec 8 21:30:10 2008 -0700 ACPI: PCI: remove unnecessary null pointer checks Better to oops and learn about a bug than to silently cover it up. Signed-off-by: Bjorn Helgaas Signed-off-by: Len Brown commit 21a53283a012f21764f2aaaac9414849e1153d93 Author: Bjorn Helgaas Date: Mon Dec 8 21:30:05 2008 -0700 ACPI: PCI: use conventional PCI address format Use the conventional format for PCI addresses (%04x:%02x:%02x.%d). Signed-off-by: Bjorn Helgaas Signed-off-by: Len Brown commit 6a94cb73064c952255336cc57731904174b2c58f Merge: f57fa1d 0a8c539 Author: Linus Torvalds Date: Tue Dec 30 17:48:25 2008 -0800 Merge branch 'for-linus' of git://oss.sgi.com/xfs/xfs * 'for-linus' of git://oss.sgi.com/xfs/xfs: (184 commits) [XFS] Fix race in xfs_write() between direct and buffered I/O with DMAPI [XFS] handle unaligned data in xfs_bmbt_disk_get_all [XFS] avoid memory allocations in xfs_fs_vcmn_err [XFS] Fix speculative allocation beyond eof [XFS] Remove XFS_BUF_SHUT() and friends [XFS] Use the incore inode size in xfs_file_readdir() [XFS] set b_error from bio error in xfs_buf_bio_end_io [XFS] use inode_change_ok for setattr permission checking [XFS] add a FMODE flag to make XFS invisible I/O less hacky [XFS] resync headers with libxfs [XFS] simplify projid check in xfs_rename [XFS] replace b_fspriv with b_mount [XFS] Remove unused tracing code [XFS] Remove unnecessary assertion [XFS] Remove unused variable in ktrace_free() [XFS] Check return value of xfs_buf_get_noaddr() [XFS] Fix hang after disallowed rename across directory quota domains [XFS] Fix compile with CONFIG_COMPAT enabled move inode tracing out of xfs_vnode. move vn_iowait / vn_iowake into xfs_aops.c ... commit f57fa1d6a6b3414e853d3d17e339ac48816e4406 Merge: 6094c85 08cc36c Author: Linus Torvalds Date: Tue Dec 30 17:45:45 2008 -0800 Merge git://git.linux-nfs.org/projects/trondmy/nfs-2.6 * git://git.linux-nfs.org/projects/trondmy/nfs-2.6: (70 commits) fs/nfs/nfs4proc.c: make nfs4_map_errors() static rpc: add service field to new upcall rpc: add target field to new upcall nfsd: support callbacks with gss flavors rpc: allow gss callbacks to client rpc: pass target name down to rpc level on callbacks nfsd: pass client principal name in rsc downcall rpc: implement new upcall rpc: store pointer to pipe inode in gss upcall message rpc: use count of pipe openers to wait for first open rpc: track number of users of the gss upcall pipe rpc: call release_pipe only on last close rpc: add an rpc_pipe_open method rpc: minor gss_alloc_msg cleanup rpc: factor out warning code from gss_pipe_destroy_msg rpc: remove unnecessary assignment NFS: remove unused status from encode routines NFS: increment number of operations in each encode routine NFS: fix comment placement in nfs4xdr.c NFS: fix tabs in nfs4xdr.c ... commit 6094c85a935f7eadb4c607c6dc6d86c0a9f09a4b Merge: 590cf28 ee48c3d Author: Linus Torvalds Date: Tue Dec 30 17:45:28 2008 -0800 Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/roland/infiniband * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/roland/infiniband: IB/mlx4: Fix reading SL field out of cqe->sl_vid RDMA/addr: Fix build breakage when IPv6 is disabled commit 590cf28580c999c8ba70dc39b40bab09d69e2630 Merge: f54a6ec fb5edd0 Author: Linus Torvalds Date: Tue Dec 30 17:43:10 2008 -0800 Merge git://git.kernel.org/pub/scm/linux/kernel/git/jejb/scsi-misc-2.6 * git://git.kernel.org/pub/scm/linux/kernel/git/jejb/scsi-misc-2.6: (104 commits) [SCSI] fcoe: fix configuration problems [SCSI] cxgb3i: fix select/depend problem [SCSI] fcoe: fix incorrect use of struct module [SCSI] cxgb3i: remove use of skb->sp [SCSI] cxgb3i: Add cxgb3i iSCSI driver. [SCSI] zfcp: Remove unnecessary warning message [SCSI] zfcp: Add support for unchained FSF requests [SCSI] zfcp: Remove busid macro [SCSI] zfcp: remove DID_DID flag [SCSI] zfcp: Simplify mask lookups for incoming RSCNs [SCSI] zfcp: Remove initial device data from zfcp_data [SCSI] zfcp: fix compile warning [SCSI] zfcp: Remove adapter list [SCSI] zfcp: Simplify SBAL allocation to fix sparse warnings [SCSI] zfcp: register with SCSI layer on ccw registration [SCSI] zfcp: Fix message line break [SCSI] qla2xxx: changes in multiq code [SCSI] eata: fix the data buffer accessors conversion regression [SCSI] ibmvfc: Improve async event handling [SCSI] lpfc : correct printk types on PPC compiles ... commit f54a6ec0fd85002d94d05b4bb679508eeb066683 Merge: 5ed1836 1341798 Author: Linus Torvalds Date: Tue Dec 30 17:41:32 2008 -0800 Merge branch 'for_linus' of git://git.kernel.org/pub/scm/linux/kernel/git/mchehab/linux-2.6 * 'for_linus' of git://git.kernel.org/pub/scm/linux/kernel/git/mchehab/linux-2.6: (583 commits) V4L/DVB (10130): use USB API functions rather than constants V4L/DVB (10129): dvb: remove deprecated use of RW_LOCK_UNLOCKED in frontends V4L/DVB (10128): modify V4L documentation to be a valid XHTML V4L/DVB (10127): stv06xx: Avoid having y unitialized V4L/DVB (10125): em28xx: Don't do AC97 vendor detection for i2s audio devices V4L/DVB (10124): em28xx: expand output formats available V4L/DVB (10123): em28xx: fix reversed definitions of I2S audio modes V4L/DVB (10122): em28xx: don't load em28xx-alsa for em2870 based devices V4L/DVB (10121): em28xx: remove worthless Pinnacle PCTV HD Mini 80e device profile V4L/DVB (10120): em28xx: remove redundant Pinnacle Dazzle DVC 100 profile V4L/DVB (10119): em28xx: fix corrupted XCLK value V4L/DVB (10118): zoran: fix warning for a variable not used V4L/DVB (10116): af9013: Fix gcc false warnings V4L/DVB (10111a): usbvideo.h: remove an useless blank line V4L/DVB (10111): quickcam_messenger.c: fix a warning V4L/DVB (10110): v4l2-ioctl: Fix warnings when using .unlocked_ioctl = __video_ioctl2 V4L/DVB (10109): anysee: Fix usage of an unitialized function V4L/DVB (10104): uvcvideo: Add support for video output devices V4L/DVB (10102): uvcvideo: Ignore interrupt endpoint for built-in iSight webcams. V4L/DVB (10101): uvcvideo: Fix bulk URB processing when the header is erroneous ... commit 5ed1836814d908f45cafde0e79cb85314ab9d41d Merge: ab70537 eb4dea5 Author: Linus Torvalds Date: Tue Dec 30 17:39:37 2008 -0800 Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-2.6 * git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-2.6: net: Fix percpu counters deadlock cpumask: prepare for iterators to only go to nr_cpu_ids/nr_cpumask_bits: net drivers/net/usb: use USB API functions rather than constants cls_cgroup: clean up Kconfig cls_cgroup: clean up for cgroup part cls_cgroup: fix an oops when removing a cgroup EtherExpress16: fix printing timed out status mlx4_en: Added "set_ringparam" Ethtool interface implementation mlx4_en: Always allocate RX ring for each interrupt vector mlx4_en: Verify number of RX rings doesn't exceed MAX_RX_RINGS IPVS: Make "no destination available" message more consistent between schedulers net: KS8695: removed duplicated #include tun: Fix SIOCSIFHWADDR error. smsc911x: compile fix re netif_rx signature changes netns: foreach_netdev_safe is insufficient in default_device_exit net: make xfrm_statistics_seq_show use generic snmp_fold_field net: Fix more NAPI interface netdev argument drop fallout. net: Fix unused variable warnings in pasemi_mac.c and spider_net.c commit ab70537c32a3245325b48774664da588904e47f2 Merge: 14a3c4a bda53cd Author: Linus Torvalds Date: Tue Dec 30 17:37:25 2008 -0800 Merge git://git.kernel.org/pub/scm/linux/kernel/git/rusty/linux-2.6-for-linus * git://git.kernel.org/pub/scm/linux/kernel/git/rusty/linux-2.6-for-linus: lguest: struct device - replace bus_id with dev_name() lguest: move the initial guest page table creation code to the host kvm-s390: implement config_changed for virtio on s390 virtio_console: support console resizing virtio: add PCI device release() function virtio_blk: fix type warning virtio: block: dynamic maximum segments virtio: set max_segment_size and max_sectors to infinite. virtio: avoid implicit use of Linux page size in balloon interface virtio: hand virtio ring alignment as argument to vring_new_virtqueue virtio: use KVM_S390_VIRTIO_RING_ALIGN instead of relying on pagesize virtio: use LGUEST_VRING_ALIGN instead of relying on pagesize virtio: Don't use PAGE_SIZE for vring alignment in virtio_pci. virtio: rename 'pagesize' arg to vring_init/vring_size virtio: Don't use PAGE_SIZE in virtio_pci.c virtio: struct device - replace bus_id with dev_name(), dev_set_name() virtio-pci queue allocation not page-aligned commit 14a3c4ab0e58d143c7928c9eb2f2610205e13bf2 Merge: 1af237a 47992cb Author: Linus Torvalds Date: Tue Dec 30 17:36:49 2008 -0800 Merge branch 'devel' of master.kernel.org:/home/rmk/linux-2.6-arm * 'devel' of master.kernel.org:/home/rmk/linux-2.6-arm: (407 commits) [ARM] pxafb: add support for overlay1 and overlay2 as framebuffer devices [ARM] pxafb: cleanup of the timing checking code [ARM] pxafb: cleanup of the color format manipulation code [ARM] pxafb: add palette format support for LCCR4_PAL_FOR_3 [ARM] pxafb: add support for FBIOPAN_DISPLAY by dma braching [ARM] pxafb: allow pxafb_set_par() to start from arbitrary yoffset [ARM] pxafb: allow video memory size to be configurable [ARM] pxa: add document on the MFP design and how to use it [ARM] sa1100_wdt: don't assume CLOCK_TICK_RATE to be a constant [ARM] rtc-sa1100: don't assume CLOCK_TICK_RATE to be a constant [ARM] pxa/tavorevb: update board support (smartpanel LCD + keypad) [ARM] pxa: Update eseries defconfig [ARM] 5352/1: add w90p910-plat config file [ARM] s3c: S3C options should depend on PLAT_S3C [ARM] mv78xx0: implement GPIO and GPIO interrupt support [ARM] Kirkwood: implement GPIO and GPIO interrupt support [ARM] Orion: share GPIO IRQ handling code [ARM] Orion: share GPIO handling code [ARM] s3c: define __io using the typesafe version [ARM] S3C64XX: Ensure CPU_V6 is selected ... commit 1af237a099a3b8ff56aa384f605c6a68af7bf288 Author: Huang Weiyi Date: Tue Dec 30 06:41:44 2008 +0800 tracing: removed duplicated #include Removed duplicated #include in kernel/trace/trace.c. Signed-off-by: Huang Weiyi Signed-off-by: Linus Torvalds commit 74a6d0f064cd9106599ce3f1d924309669e83582 Merge: 14eeee8 519d680 Author: Linus Torvalds Date: Tue Dec 30 17:34:37 2008 -0800 Merge git://git.kernel.org/pub/scm/linux/kernel/git/bart/ide-2.6 * git://git.kernel.org/pub/scm/linux/kernel/git/bart/ide-2.6: (33 commits) ide-cd: remove dead dsc_overlap setting ide: push local_irq_{save,restore}() to do_identify() ide: remove superfluous local_irq_{save,restore}() from ide_dump_status() ide: move legacy ISA/VLB ports handling to ide-legacy.c (v2) ide: move Power Management support to ide-pm.c ide: use ATA_DMA_* defines in ide-dma-sff.c ide: checkpatch.pl fixes for ide-lib.c ide: remove inline tags from ide-probe.c ide: remove redundant code from ide_end_drive_cmd() ide: struct device - replace bus_id with dev_name(), dev_set_name() ide: rework handling of serialized ports (v2) cy82c693: remove superfluous ide_cy82c693 chipset type trm290: add IDE_HFLAG_TRM290 host flag ide: add ->max_sectors field to struct ide_port_info rz1000: apply chipset quirks early (v2) ide: always set nIEN on idle devices ide: fix ->quirk_list checking in ide_do_request() gayle: set IDE_HFLAG_SERIALIZE explictly cmd64x: set IDE_HFLAG_SERIALIZE explictly for CMD646 ali14xx: doesn't use shared IRQs ... commit 14eeee88bfb439a3dc9449f94c23a21930cbe35b Merge: 5b8f258 d69e83d Author: Linus Torvalds Date: Tue Dec 30 17:33:33 2008 -0800 Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/shaggy/jfs-2.6 * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/shaggy/jfs-2.6: jfs: ensure symlinks are NUL-terminated commit 5b8f258758494315b69d568661a2823e24d4ad6f Merge: 526ea06 c7e324f Author: Linus Torvalds Date: Tue Dec 30 17:32:25 2008 -0800 Merge branch 'upstream-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jgarzik/libata-dev * 'upstream-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jgarzik/libata-dev: sata_sil: add Large Block Transfer support [libata] ata_piix: cleanup dmi strings checking DMI: add dmi_match libata: blacklist NCQ on OCZ CORE 2 SSD (resend) [libata] Update kernel-doc comments to match source code libata: perform port detach in EH libata: when restoring SControl during detach do the PMP links first libata: beef up iterators commit 526ea064f953fc5ad2fb905b537f490b9374a0f0 Merge: db5e53f d69d59f Author: Linus Torvalds Date: Tue Dec 30 17:31:25 2008 -0800 Merge branch 'oprofile-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip * 'oprofile-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip: oprofile: select RING_BUFFER ring_buffer: adding EXPORT_SYMBOLs oprofile: fix lost sample counter oprofile: remove nr_available_slots() oprofile: port to the new ring_buffer ring_buffer: add remaining cpu functions to ring_buffer.h oprofile: moving cpu_buffer_reset() to cpu_buffer.h oprofile: adding cpu_buffer_entries() oprofile: adding cpu_buffer_write_commit() oprofile: adding cpu buffer r/w access functions ftrace: remove unused function arg in trace_iterator_increment() ring_buffer: update description for ring_buffer_alloc() oprofile: set values to default when creating oprofilefs oprofile: implement switch/case in buffer_sync.c x86/oprofile: cleanup IBS init/exit functions in op_model_amd.c x86/oprofile: reordering IBS code in op_model_amd.c oprofile: fix typo oprofile: whitspace changes only oprofile: update comment for oprofile_add_sample() oprofile: comment cleanup commit db5e53fbf0abf5cadc83be57032242e5e7c6c394 Merge: 3f4b5c5 3c506ef Author: Linus Torvalds Date: Tue Dec 30 17:28:09 2008 -0800 Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/penberg/slab-2.6 * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/penberg/slab-2.6: slub: avoid leaking caches or refcounts on sysfs error slab: Fix comment on #endif slab: remove GFP_THISNODE clearing from alloc_slabmgmt() slub: Add might_sleep_if() to slab_alloc() SLUB: failslab support slub: Fix incorrect use of loose slab: Update the kmem_cache_create documentation regarding the name parameter slub: make early_kmem_cache_node_alloc void slab: unsigned slabp->inuse cannot be less than 0 slub - fix get_object_page comment SLUB: Replace __builtin_return_address(0) with _RET_IP_. SLUB: cleanup - define macros instead of hardcoded numbers commit 3f4b5c5d275608d42ff54c4981307f9a5c75ea4a Merge: a4ba2e9 aa59662 Author: Linus Torvalds Date: Tue Dec 30 17:25:49 2008 -0800 Merge branch 'drm-next' of git://git.kernel.org/pub/scm/linux/kernel/git/airlied/drm-2.6 * 'drm-next' of git://git.kernel.org/pub/scm/linux/kernel/git/airlied/drm-2.6: (37 commits) drm/i915: fix modeset devname allocation + agp init return check. drm/i915: Remove redundant test in error path. drm: Add a debug node for vblank state. drm: Avoid use-before-null-test on dev in drm_cleanup(). drm/i915: Don't print to dmesg when taking signal during object_pin. drm: pin new and unpin old buffer when setting a mode. drm/i915: un-EXPORT and make 'intelfb_panic' static drm/i915: Delete unused, pointless i915_driver_firstopen. drm/i915: fix sparse warnings: returning void-valued expression drm/i915: fix sparse warnings: move 'extern' decls to header file drm/i915: fix sparse warnings: make symbols static drm/i915: fix sparse warnings: declare one-bit bitfield as unsigned drm/i915: Don't double-unpin buffers if we take a signal in evict_everything(). drm/i915: Fix fbcon setup to align display pitch to 64b. drm/i915: Add missing userland definitions for gem init/execbuffer. i915/drm: provide compat defines for userspace for certain struct members. drm: drop DRM_IOCTL_MODE_REPLACEFB, add+remove works just as well. drm: sanitise drm modesetting API + remove unused hotplug drm: fix allowing master ioctls on non-master fds. drm/radeon: use locked rmmap to remove sarea mapping. ... commit a4ba2e9e36d10ace6f5ca222c1ff3e5024d75f1a Merge: 6de7148 b854b2a Author: Linus Torvalds Date: Tue Dec 30 17:25:29 2008 -0800 Merge branch 'agp-next' of git://git.kernel.org/pub/scm/linux/kernel/git/airlied/agp-2.6 * 'agp-next' of git://git.kernel.org/pub/scm/linux/kernel/git/airlied/agp-2.6: agp/intel: Fix broken ® symbol in device name. agp/intel: add support for G41 chipset commit 6de71484cf9561edb45224f659a9db38b6056d5e Merge: 1dff81f e3c6d4e Author: Linus Torvalds Date: Tue Dec 30 17:23:31 2008 -0800 Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/sparc-next-2.6 * git://git.kernel.org/pub/scm/linux/kernel/git/davem/sparc-next-2.6: (98 commits) sparc: move select of ARCH_SUPPORTS_MSI sparc: drop SUN_IO sparc: unify sections.h sparc: use .data.init_task section for init_thread_union sparc: fix array overrun check in of_device_64.c sparc: unify module.c sparc64: prepare module_64.c for unification sparc64: use bit neutral Elf symbols sparc: unify module.h sparc: introduce CONFIG_BITS sparc: fix hardirq.h removal fallout sparc64: do not export pus_fs_struct sparc: use sparc64 version of scatterlist.h sparc: Commonize memcmp assembler. sparc: Unify strlen assembler. sparc: Add asm/asm.h sparc: Kill memcmp_32.S code which has been ifdef'd out for centuries. sparc: replace for_each_cpu_mask_nr with for_each_cpu sparc: fix sparse warnings in irq_32.c sparc: add include guards to kernel.h ... commit 1dff81f20cd55ffa5a8ee984da70ce0b99d29606 Merge: 179475a d3f7611 Author: Linus Torvalds Date: Tue Dec 30 17:20:05 2008 -0800 Merge branch 'for-2.6.29' of git://git.kernel.dk/linux-2.6-block * 'for-2.6.29' of git://git.kernel.dk/linux-2.6-block: (43 commits) bio: get rid of bio_vec clearing bounce: don't rely on a zeroed bio_vec list cciss: simplify parameters to deregister_disk function cfq-iosched: fix race between exiting queue and exiting task loop: Do not call loop_unplug for not configured loop device. loop: Flush possible running bios when loop device is released. alpha: remove dead BIO_VMERGE_BOUNDARY Get rid of CONFIG_LSF block: make blk_softirq_init() static block: use min_not_zero in blk_queue_stack_limits block: add one-hit cache for disk partition lookup cfq-iosched: remove limit of dispatch depth of max 4 times quantum nbd: tell the block layer that it is not a rotational device block: get rid of elevator_t typedef aio: make the lookup_ioctx() lockless bio: add support for inlining a number of bio_vecs inside the bio bio: allow individual slabs in the bio_set bio: move the slab pointer inside the bio_set bio: only mempool back the largest bio_vec slab cache block: don't use plugging on SSD devices ... commit 179475a3b46f86e2d06f83e2312218ac3f0cf3a7 Merge: bb758e9 860cf88 Author: Linus Torvalds Date: Tue Dec 30 16:20:19 2008 -0800 Merge branch 'irq-core-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip * 'irq-core-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip: x86, sparseirq: clean up Kconfig entry x86: turn CONFIG_SPARSE_IRQ off by default sparseirq: fix numa_migrate_irq_desc dependency and comments sparseirq: add kernel-doc notation for new member in irq_desc, -v2 locking, irq: enclose irq_desc_lock_class in CONFIG_LOCKDEP sparseirq, xen: make sure irq_desc is allocated for interrupts sparseirq: fix !SMP building, #2 x86, sparseirq: move irq_desc according to smp_affinity, v7 proc: enclose desc variable of show_stat() in CONFIG_SPARSE_IRQ sparse irqs: add irqnr.h to the user headers list sparse irqs: handle !GENIRQ platforms sparseirq: fix !SMP && !PCI_MSI && !HT_IRQ build sparseirq: fix Alpha build failure sparseirq: fix typo in !CONFIG_IO_APIC case x86, MSI: pass irq_cfg and irq_desc x86: MSI start irq numbering from nr_irqs_gsi x86: use NR_IRQS_LEGACY sparse irq_desc[] array: core kernel and x86 changes genirq: record IRQ_LEVEL in irq_desc[] irq.h: remove padding from irq_desc on 64bits commit bb758e9637e5ddcff84a97177415499ae1fed498 Merge: 5f34fe1 32e8d18 Author: Linus Torvalds Date: Tue Dec 30 16:16:21 2008 -0800 Merge branch 'timers-core-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip * 'timers-core-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip: hrtimers: fix warning in kernel/hrtimer.c x86: make sure we really have an hpet mapping before using it x86: enable HPET on Fujitsu u9200 linux/timex.h: cleanup for userspace posix-timers: simplify de_thread()->exit_itimers() path posix-timers: check ->it_signal instead of ->it_pid to validate the timer posix-timers: use "struct pid*" instead of "struct task_struct*" nohz: suppress needless timer reprogramming clocksource, acpi_pm.c: put acpi_pm_read_slow() under CONFIG_PCI nohz: no softirq pending warnings for offline cpus hrtimer: removing all ur callback modes, fix hrtimer: removing all ur callback modes, fix hotplug hrtimer: removing all ur callback modes x86: correct link to HPET timer specification rtc-cmos: export second NVRAM bank Fixed up conflicts in sound/drivers/pcsp/pcsp.c and sound/core/hrtimer.c manually. commit 5f34fe1cfc1bdd8b4711bbe37421fba4ed0d1ed4 Merge: eca1bf5 6638101 Author: Linus Torvalds Date: Tue Dec 30 16:10:19 2008 -0800 Merge branch 'core-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip * 'core-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip: (63 commits) stacktrace: provide save_stack_trace_tsk() weak alias rcu: provide RCU options on non-preempt architectures too printk: fix discarding message when recursion_bug futex: clean up futex_(un)lock_pi fault handling "Tree RCU": scalable classic RCU implementation futex: rename field in futex_q to clarify single waiter semantics x86/swiotlb: add default swiotlb_arch_range_needs_mapping x86/swiotlb: add default phys<->bus conversion x86: unify pci iommu setup and allow swiotlb to compile for 32 bit x86: add swiotlb allocation functions swiotlb: consolidate swiotlb info message printing swiotlb: support bouncing of HighMem pages swiotlb: factor out copy to/from device swiotlb: add arch hook to force mapping swiotlb: allow architectures to override phys<->bus<->phys conversions swiotlb: add comment where we handle the overflow of a dma mask on 32 bit rcu: fix rcutorture behavior during reboot resources: skip sanity check of busy resources swiotlb: move some definitions to header swiotlb: allow architectures to override swiotlb pool allocation ... Fix up trivial conflicts in arch/x86/kernel/Makefile arch/x86/mm/init_32.c include/linux/hardirq.h as per Ingo's suggestions. commit 11e93130c7ce5228d484fd5e86f3984835d4256b Author: Rafael J. Wysocki Date: Mon Dec 29 19:19:07 2008 +0100 ACPI: Do not modify SCI_EN directly According to the ACPI specification the SCI_EN flag is controlled by the hardware, which sets this flag to inform the kernel that ACPI is enabled. For this reason, we shouldn't try to modify SCI_EN directly. Also, we don't need to do it in irqrouter_resume(), since lower-level resume code takes care of enabling ACPI in case it hasn't been enabled by the BIOS before passing control to the kernel (which by the way is against the ACPI specification). Signed-off-by: Rafael J. Wysocki Signed-off-by: Len Brown commit 816bb611e41be29b476dc16f6297eb551bf4d747 Author: Pallipadi, Venkatesh Date: Tue Dec 30 14:46:02 2008 -0800 cpuidle: Add decaying history logic to menu idle predictor Add decaying history of predicted idle time, instead of using the last early wakeup. This logic helps menu governor do better job of predicting idle time. With this change, we also measured noticable (~8%) power savings on a DP server system with CPUs supporting deep C states, when system was lightly loaded. There was no change to power or perf on other load conditions. Signed-off-by: Venkatesh Pallipadi Signed-off-by: Len Brown commit ee48c3d7d3afab7b582051ee8f3f8979e6a87766 Merge: 2c4ab62 f781a22 Author: Roland Dreier Date: Tue Dec 30 15:36:58 2008 -0800 Merge branches 'cma' and 'mlx4' into for-linus commit f781a22fa2ec11878a960bc3c2abb0a76f9a8f16 Author: Roland Dreier Date: Tue Dec 30 15:30:26 2008 -0800 IB/mlx4: Fix reading SL field out of cqe->sl_vid Commit f780a9f1 ("mlx4_core: Add ethernet fields to CQE struct") introduced a bug in how wc->sl is set in mlx4_ib_poll_one() -- since cqe->sl_vid is a big-endian value, the shift must be done after converting to host endianness. This bug was found using sparse endianness checking. Signed-off-by: Roland Dreier commit 08cc36cbd1ee7d86422713bb21551eed1326b894 Merge: 3c92ec8 46f72f5 Author: Trond Myklebust Date: Tue Dec 30 16:51:43 2008 -0500 Merge branch 'devel' into next commit 46f72f57d279688c4524df78edb5738db730eeef Author: WANG Cong Date: Tue Dec 30 16:35:55 2008 -0500 fs/nfs/nfs4proc.c: make nfs4_map_errors() static nfs4_map_errors() can become static. Signed-off-by: WANG Cong Cc: J. Bruce Fields Cc: Trond Myklebust Signed-off-by: Andrew Morton Signed-off-by: Trond Myklebust commit 7820b75643a763abf595c99fab963000ffc8b5f0 Author: Jaswinder Singh Rajput Date: Tue Dec 30 22:05:55 2008 +0530 x86: xsave.c: restore_user_xstate should be static Impact: cleanup, reduce kernel size a bit, avoid sparse warning Fixes sparse warning: arch/x86/kernel/xsave.c:162:5: warning: symbol 'restore_user_xstate' was not declared. Should it be static? Signed-off-by: Jaswinder Singh Rajput Signed-off-by: H. Peter Anvin commit fa95826fe0ddbc2a55373134d8d1a21b49d13434 Author: Jaswinder Singh Rajput Date: Tue Dec 30 20:13:49 2008 +0530 x86: uv_bau.h: fix dubious bitfield Impact: cleanup, avoid sparse warnings declare bitfield as unsigned to avoid dubious bitfield issue CHECK arch/x86/kernel/tlb_64.c arch/x86/include/asm/uv/uv_bau.h:136:22: warning: dubious bitfield without explicit `signed' or `unsigned' arch/x86/include/asm/uv/uv_bau.h:138:25: warning: dubious bitfield without explicit `signed' or `unsigned' arch/x86/include/asm/uv/uv_bau.h:140:15: warning: dubious bitfield without explicit `signed' or `unsigned' arch/x86/include/asm/uv/uv_bau.h:143:14: warning: dubious bitfield without explicit `signed' or `unsigned' arch/x86/include/asm/uv/uv_bau.h:146:14: warning: dubious bitfield without explicit `signed' or `unsigned' arch/x86/include/asm/uv/uv_bau.h:149:18: warning: dubious bitfield without explicit `signed' or `unsigned' arch/x86/include/asm/uv/uv_bau.h:151:18: warning: dubious bitfield without explicit `signed' or `unsigned' arch/x86/include/asm/uv/uv_bau.h:155:14: error: dubious one-bit signed bitfield arch/x86/include/asm/uv/uv_bau.h:159:18: error: dubious one-bit signed bitfield arch/x86/include/asm/uv/uv_bau.h:173:19: error: dubious one-bit signed bitfield arch/x86/include/asm/uv/uv_bau.h:181:16: error: dubious one-bit signed bitfield arch/x86/include/asm/uv/uv_bau.h:185:18: error: dubious one-bit signed bitfield arch/x86/include/asm/uv/uv_bau.h:188:16: error: dubious one-bit signed bitfield CHECK arch/x86/kernel/tlb_uv.c arch/x86/include/asm/uv/uv_bau.h:136:22: warning: dubious bitfield without explicit `signed' or `unsigned' arch/x86/include/asm/uv/uv_bau.h:138:25: warning: dubious bitfield without explicit `signed' or `unsigned' arch/x86/include/asm/uv/uv_bau.h:140:15: warning: dubious bitfield without explicit `signed' or `unsigned' arch/x86/include/asm/uv/uv_bau.h:143:14: warning: dubious bitfield without explicit `signed' or `unsigned' arch/x86/include/asm/uv/uv_bau.h:146:14: warning: dubious bitfield without explicit `signed' or `unsigned' arch/x86/include/asm/uv/uv_bau.h:149:18: warning: dubious bitfield without explicit `signed' or `unsigned' arch/x86/include/asm/uv/uv_bau.h:151:18: warning: dubious bitfield without explicit `signed' or `unsigned' arch/x86/include/asm/uv/uv_bau.h:155:14: error: dubious one-bit signed bitfield arch/x86/include/asm/uv/uv_bau.h:159:18: error: dubious one-bit signed bitfield arch/x86/include/asm/uv/uv_bau.h:173:19: error: dubious one-bit signed bitfield arch/x86/include/asm/uv/uv_bau.h:181:16: error: dubious one-bit signed bitfield arch/x86/include/asm/uv/uv_bau.h:185:18: error: dubious one-bit signed bitfield arch/x86/include/asm/uv/uv_bau.h:188:16: error: dubious one-bit signed bitfield Signed-off-by: Jaswinder Singh Rajput Signed-off-by: H. Peter Anvin commit ec8c842a524888fdcccece337d91798e3e8af880 Author: Jaswinder Singh Rajput Date: Tue Dec 30 22:46:36 2008 +0530 x86: apic.c: xapic_icr_read and x2apic_icr_read should be static Impact: cleanup, reduce kernel size a bit, avoid sparse warning Fixes sparse warning: arch/x86/kernel/apic.c:270:5: warning: symbol 'x2apic_icr_read' was not declared. Should it be static? Signed-off-by: Jaswinder Singh Rajput Signed-off-by: H. Peter Anvin commit fb5edd020fa0fbe991f4a473611ad530d2237425 Author: James Bottomley Date: Tue Dec 30 09:44:29 2008 -0600 [SCSI] fcoe: fix configuration problems fcoe selects libfc and requires SCSI and PCI (the SCSI requirement is implicitly covered by an enclosing if). Fix them both up so they cannot be configured in an invalid state: make LIBFC select SCSI_FC_ATTRS and make FCOE depend on PCI and select LIBFC. Reported-by: Randy Dunlap Cc: Robert Love Signed-off-by: James Bottomley commit 58daa68a8fd4a373092df9035fdccaa29420f1e6 Author: James Bottomley Date: Tue Dec 30 10:20:24 2008 -0600 [SCSI] cxgb3i: fix select/depend problem cxgb3i requires the cxgb3 net driver, so it selects it. However, cxgb3 has dependencies which the select cannot see. Fix this by separating out the cxgb3 dependencies into a separate hidden config option (CONFIG_CHELSIO_T3_DEPENDS) and make both cxgb3 and cxgb3i depend on it. Reported-by: Randy Dunlap Cc: Karen Xie Signed-off-by: James Bottomley commit 56b854bb314084396d3d3138126496d330943559 Author: James Bottomley Date: Mon Dec 29 15:45:41 2008 -0600 [SCSI] fcoe: fix incorrect use of struct module This structure may not be defined if CONFIG_MODULE=n, so never deref it. Change uses of module->name to module_name(module) and corrects some dyslexic printks and docbook comments. Reported-by: Randy Dunlap Cc: Robert Love Signed-off-by: James Bottomley commit 068e8c9d02ee37c44a4d65279b3ae8188fb09e18 Author: Anton Vorontsov Date: Sat Nov 8 20:52:54 2008 +0300 powerpc/qe: Select QE_USB with USB_GADGET_FSL_QE Boards should know when QE_USB is used, so that they can configure USB clocks and pins. Another option would be to add 'select QE_USB' into USB_GADGET_FSL_QE, but selects are evil since they don't support dependencies. While at it, also remove 'host' from the symbol description, since the QE_USB code is used to support the gadget driver as well. Signed-off-by: Anton Vorontsov Signed-off-by: Kumar Gala commit 870029a682d468585a80ce782871f3f220cfef0f Author: Julia Lawall Date: Sun Dec 21 21:54:45 2008 +0100 powerpc/85xx: Add local_irq_restore in error handling code There is a call to local_irq_restore in the normal exit case, so it would seem that there should be one on an error return as well. The semantic patch that makes this change is as follows: (http://www.emn.fr/x-info/coccinelle/) // @@ expression l; expression E,E1,E2; @@ local_irq_save(l); ... when != local_irq_restore(l) when != spin_unlock_irqrestore(E,l) when any when strict ( if (...) { ... when != local_irq_restore(l) when != spin_unlock_irqrestore(E1,l) + local_irq_restore(l); return ...; } | if (...) + {local_irq_restore(l); return ...; + } | spin_unlock_irqrestore(E2,l); | local_irq_restore(l); ) // Signed-off-by: Julia Lawall Signed-off-by: Kumar Gala commit 8bd3947afda14625bff8c067b760840abfb51358 Author: Kumar Gala Date: Wed Nov 19 09:25:29 2008 -0600 powerpc/85xx: Add SMP support to MPC8572 DS Enable SMP support on the MPC8572 DS reference board. Signed-off-by: Kumar Gala commit 00c4b95c44692f84b565cfea0af582c0677acaa7 Author: Kumar Gala Date: Mon Dec 1 14:40:46 2008 -0600 powerpc/85xx: Enable SMP support Signed-off-by: Kumar Gala commit 47f80a325c81a259a110741a7afab572c5550311 Author: Becky Bruce Date: Fri Dec 19 16:05:12 2008 -0600 powerpc/86xx: Update 8641hpcn dts file to match latest u-boot The newest revision of uboot reworks the memory map for this board to look more like the 85xx boards. Also, some regions which were far larger than the actual hardware have been scaled back to match the board, and the imaginary second flash bank has been removed. Rapidio and PCI are mutually exclusive in the hardware, and they now are occupying the same space in the address map. The Rapidio node is commented out of the .dts since PCI is the common use case. Signed-off-by: Becky Bruce Signed-off-by: Kumar Gala commit be11d3b354847bbc41353448dd2b34a2821ddb36 Author: Anton Vorontsov Date: Fri Dec 5 19:59:13 2008 +0300 powerpc/qe: Fix few build errors with CONFIG_QUICC_ENGINE=n Some 83xx boards were not ready for the optional QUICC Engine support. This patch fixes following build errors: arch/powerpc/platforms/built-in.o: In function `flush_disable_caches': (.text+0xb308): undefined reference to `par_io_data_set' arch/powerpc/platforms/built-in.o: In function `flush_disable_caches': (.text+0xb334): undefined reference to `par_io_data_set' arch/powerpc/platforms/built-in.o: In function `flush_disable_caches': (.text+0xb408): undefined reference to `qe_ic_get_high_irq' arch/powerpc/platforms/built-in.o: In function `flush_disable_caches': (.text+0xb478): undefined reference to `qe_ic_get_low_irq' arch/powerpc/platforms/built-in.o: In function `mpc832x_spi_init': mpc832x_rdb.c:(.init.text+0x574c): undefined reference to `par_io_config_pin' mpc832x_rdb.c:(.init.text+0x5768): undefined reference to `par_io_config_pin' mpc832x_rdb.c:(.init.text+0x5784): undefined reference to `par_io_config_pin' mpc832x_rdb.c:(.init.text+0x57a0): undefined reference to `par_io_config_pin' mpc832x_rdb.c:(.init.text+0x57bc): undefined reference to `par_io_config_pin' arch/powerpc/platforms/built-in.o:mpc832x_rdb.c:(.init.text+0x57d8): more undefined references to `par_io_config_pin' follow arch/powerpc/platforms/built-in.o: In function `mpc836x_rdk_init_IRQ': mpc836x_rdk.c:(.init.text+0x5e84): undefined reference to `qe_ic_init' arch/powerpc/platforms/built-in.o: In function `mpc836x_rdk_setup_arch': mpc836x_rdk.c:(.init.text+0x5f10): undefined reference to `qe_reset' make: *** [.tmp_vmlinux1] Error 1 Signed-off-by: Anton Vorontsov Signed-off-by: Kumar Gala commit 20cfb41ba82d9dfc7f09451ab26e826a68a4c896 Author: Anton Vorontsov Date: Fri Dec 5 19:55:04 2008 +0300 powerpc/83xx: Fix few build errors with CONFIG_QUICC_ENGINE=n Some 83xx boards were not ready for the optional QUICC Engine support. This patch fixes following build errors: arch/powerpc/platforms/built-in.o: In function `flush_disable_caches': (.text+0xb308): undefined reference to `par_io_data_set' arch/powerpc/platforms/built-in.o: In function `flush_disable_caches': (.text+0xb334): undefined reference to `par_io_data_set' arch/powerpc/platforms/built-in.o: In function `flush_disable_caches': (.text+0xb408): undefined reference to `qe_ic_get_high_irq' arch/powerpc/platforms/built-in.o: In function `flush_disable_caches': (.text+0xb478): undefined reference to `qe_ic_get_low_irq' arch/powerpc/platforms/built-in.o: In function `mpc832x_spi_init': mpc832x_rdb.c:(.init.text+0x574c): undefined reference to `par_io_config_pin' mpc832x_rdb.c:(.init.text+0x5768): undefined reference to `par_io_config_pin' mpc832x_rdb.c:(.init.text+0x5784): undefined reference to `par_io_config_pin' mpc832x_rdb.c:(.init.text+0x57a0): undefined reference to `par_io_config_pin' mpc832x_rdb.c:(.init.text+0x57bc): undefined reference to `par_io_config_pin' arch/powerpc/platforms/built-in.o:mpc832x_rdb.c:(.init.text+0x57d8): more undefined references to `par_io_config_pin' follow arch/powerpc/platforms/built-in.o: In function `mpc836x_rdk_init_IRQ': mpc836x_rdk.c:(.init.text+0x5e84): undefined reference to `qe_ic_init' arch/powerpc/platforms/built-in.o: In function `mpc836x_rdk_setup_arch': mpc836x_rdk.c:(.init.text+0x5f10): undefined reference to `qe_reset' make: *** [.tmp_vmlinux1] Error 1 Signed-off-by: Anton Vorontsov Signed-off-by: Kumar Gala commit c9dadffbe901bb1d5d54bffbd72ae4ee89a1e08b Author: Anton Vorontsov Date: Mon Dec 29 19:40:32 2008 +0300 powerpc/fsl_pci: Fix sparse warnings This patch fixes following sparse warnings: CHECK fsl_pci.c fsl_pci.c:32:13: warning: symbol 'setup_pci_atmu' was not declared. Should it be static? fsl_pci.c:89:13: warning: symbol 'setup_pci_cmd' was not declared. Should it be static? fsl_pci.c:133:12: warning: symbol 'fsl_pcie_check_link' was not declared. Should it be static? Signed-off-by: Anton Vorontsov Signed-off-by: Kumar Gala commit 25adde18e6deefa3ed2f84738e1b86f474a539b9 Author: Anton Vorontsov Date: Thu Dec 18 19:37:34 2008 +0300 powerpc/83xx: Add USB Host support for MPC8360E-RDK boards Simply add the usb node to support USB host on the MPC8360E-RDK boards. Currently U-Boot doesn't fill the clock-frequency property for timer nodes, so for now we have to fill it manually. Signed-off-by: Anton Vorontsov Signed-off-by: Kumar Gala commit c9c5e52d44b3e68effcda4bef4ff23c6be0c001c Author: Anton Vorontsov Date: Thu Dec 18 19:37:31 2008 +0300 powerpc/83xx: Add USB Host/Gadget support for MPC8360E-MDS boards - Update the device tree per QE USB bindings; - Add timer (FSL GTM) node; - Add gpio-controller node for BCSR13 bank (GPIOs on that bank are used to control the USB transceiver); - Set up other BCSR registers; - Configure the QE Par IO. The work is loosely based on Li Yang's patch[1], which was used to support peripheral mode only. [1] http://ozlabs.org/pipermail/linuxppc-dev/2008-August/061357.html The s-o-b line of the original patch preserved here. Signed-off-by: Li Yang Signed-off-by: Anton Vorontsov Signed-off-by: Kumar Gala commit 3d64de9c50619d32eb71d993d23a50b98d12d3c0 Author: Anton Vorontsov Date: Thu Dec 18 19:37:26 2008 +0300 powerpc: Implement GPIO driver for simple memory-mapped banks The driver supports very simple GPIO controllers, that is, when a controller provides just a 'data' register. Such controllers may be found in various BCSRs (Board's FPGAs used to control board's switches, LEDs, chip-selects, Ethernet/USB PHY power, etc). So far we support only 1-byte GPIO banks. Support for other widths may be implemented when/if needed. p.s. To avoid "made up" compatible entries (like compatible = "simple-gpio"), boards must call simple_gpiochip_init() to pass the compatible string. Signed-off-by: Anton Vorontsov Signed-off-by: Kumar Gala commit 94409d6e1088517b6d6c8e669c604cc86d08ac1b Author: Anton Vorontsov Date: Thu Dec 18 19:37:23 2008 +0300 powerpc: Add device tree bindings for BCSR GPIO banks The patch adds bindings for BCSR GPIO banks, the bindings are used to describe particular BCSR registers that act as simple GPIO controllers. These GPIO banks might control power switches, SPI chip-selects, LEDs, etc. While at it, also fix "length" spelling error in the PIXIS FPGA bindings. Signed-off-by: Anton Vorontsov Signed-off-by: Kumar Gala commit 1b9e89046c31fd39d08742915b6bd72f6c239608 Author: Anton Vorontsov Date: Wed Dec 3 22:27:38 2008 +0300 powerpc/qe: Implement QE Pin Multiplexing API With this API we're able to set a QE pin to the GPIO mode or a dedicated peripheral function. The API relies on the fact that QE gpio controllers are registered. If they aren't, the API won't work (gracefully though). There is one caveat though: if anybody occupied the node->data before us, or overwrote it, then bad things will happen. Luckily this is all in the platform code that we fully control, so this should never happen. I could implement more checks (for example we could create a list of successfully registered QE controllers, and compare the node->data in the qe_pin_request()), but this is unneeded if nobody is going to do silly things behind our back. Signed-off-by: Anton Vorontsov Signed-off-by: Kumar Gala commit 78c7705037ed9f107660178e17aa73f8bc4127e8 Author: Anton Vorontsov Date: Wed Dec 3 22:27:52 2008 +0300 powerpc/83xx: Fix sparse warnings in mpc836x_mds.c This patch fixes following sparse warnings: CHECK mpc836x_mds.c mpc836x_mds.c:75:12: warning: Using plain integer as NULL pointer mpc836x_mds.c:79:13: warning: incorrect type in assignment (different address spaces) mpc836x_mds.c:79:13: expected unsigned char [usertype] *static [toplevel] bcsr_regs mpc836x_mds.c:79:13: got void [noderef] * mpc836x_mds.c:105:3: warning: incorrect type in argument 1 (different address spaces) mpc836x_mds.c:105:3: expected unsigned char volatile [noderef] [usertype] *addr mpc836x_mds.c:105:3: got unsigned char [usertype] * mpc836x_mds.c:105:3: warning: incorrect type in argument 1 (different address spaces) mpc836x_mds.c:105:3: expected unsigned char const volatile [noderef] [usertype] *addr mpc836x_mds.c:105:3: got unsigned char [usertype] * mpc836x_mds.c:107:3: warning: incorrect type in argument 1 (different address spaces) mpc836x_mds.c:107:3: expected unsigned char volatile [noderef] [usertype] *addr mpc836x_mds.c:107:3: got unsigned char [usertype] * mpc836x_mds.c:107:3: warning: incorrect type in argument 1 (different address spaces) mpc836x_mds.c:107:3: expected unsigned char const volatile [noderef] [usertype] *addr mpc836x_mds.c:107:3: got unsigned char [usertype] * mpc836x_mds.c:131:11: warning: incorrect type in argument 1 (different address spaces) mpc836x_mds.c:131:11: expected void volatile [noderef] *addr mpc836x_mds.c:131:11: got unsigned char [usertype] *static [toplevel] bcsr_regs Signed-off-by: Anton Vorontsov Signed-off-by: Kumar Gala commit 81b36a0b6ea97c5c2f59e504c56e5a57ee26884a Author: Anton Vorontsov Date: Fri Dec 5 18:48:07 2008 +0300 powerpc/83xx: Fix sparse warnings in board files This patch fixes following sparse warnings: CHECK 83xx/usb.c 83xx/usb.c:205:5: warning: symbol 'mpc837x_usb_cfg' was not declared. Should it be static? CHECK 83xx/mpc831x_rdb.c 83xx/mpc831x_rdb.c:45:13: warning: symbol 'mpc831x_rdb_init_IRQ' was not declared. Should it be static? CHECK 83xx/mpc832x_rdb.c 83xx/mpc832x_rdb.c:133:13: warning: symbol 'mpc832x_rdb_init_IRQ' was not declared. Should it be static? CHECK 83xx/mpc832x_mds.c 83xx/mpc832x_mds.c:68:12: warning: Using plain integer as NULL pointer 83xx/mpc832x_mds.c:72:13: warning: incorrect type in assignment (different address spaces) 83xx/mpc832x_mds.c:72:13: expected unsigned char [usertype] *static [toplevel] bcsr_regs 83xx/mpc832x_mds.c:72:13: got void [noderef] * 83xx/mpc832x_mds.c:99:11: warning: incorrect type in argument 1 (different address spaces) 83xx/mpc832x_mds.c:99:11: expected void volatile [noderef] *addr 83xx/mpc832x_mds.c:99:11: got unsigned char [usertype] *static [toplevel] bcsr_regs Signed-off-by: Anton Vorontsov Signed-off-by: Kumar Gala commit a5dae76a3d8012b0ce0ff04dfe6101339df49740 Author: Anton Vorontsov Date: Fri Dec 5 23:10:26 2008 +0300 powerpc: Implement get_brgfreq() and get_baudrate() stubs This is needed to not bother with ugly #ifdefs in the drivers. Signed-off-by: Anton Vorontsov Signed-off-by: Kumar Gala commit 73c336740362731983bf7fd747cdd3b6ac593cef Author: Karen Xie Date: Mon Dec 29 21:43:25 2008 -0800 [SCSI] cxgb3i: remove use of skb->sp The cxgb3i was using skb->sp pointer for some internal book-keeping which is not related to the secure path. Changed it to use skb->cb[] instead. Reported-by: Randy Dunlap Signed-off-by: Karen Xie Signed-off-by: James Bottomley commit c3673464ebc004a3d82063cd41b9cf74d1b55db2 Author: Karen Xie Date: Tue Dec 9 14:15:32 2008 -0800 [SCSI] cxgb3i: Add cxgb3i iSCSI driver. This patch implements the cxgb3i iscsi connection acceleration for the open-iscsi initiator. The cxgb3i driver offers the iscsi PDU based offload: - digest insertion and verification - payload direct-placement into host memory buffer. Signed-off-by: Karen Xie Signed-off-by: James Bottomley commit 613e09b46a86d454fb53f7e9eac5e240f1e3bacf Author: Russell King Date: Tue Dec 30 16:24:17 2008 +0000 [ARM] footbridge: set dc21285 clock rate from command line Allow the footbridge clock rate to be specified on the kernel command line. This allows us to work-around broken Personal Server firmware. Signed-off-by: Russell King commit 134179823b3ca9c8b98e0631906459dbb022ff9b Author: Julia Lawall Date: Mon Dec 29 21:49:22 2008 -0300 V4L/DVB (10130): use USB API functions rather than constants This set of patches introduces calls to the following set of functions: usb_endpoint_dir_in(epd) usb_endpoint_dir_out(epd) usb_endpoint_is_bulk_in(epd) usb_endpoint_is_bulk_out(epd) usb_endpoint_is_int_in(epd) usb_endpoint_is_int_out(epd) usb_endpoint_is_isoc_in(epd) usb_endpoint_is_isoc_out(epd) usb_endpoint_num(epd) usb_endpoint_type(epd) usb_endpoint_xfer_bulk(epd) usb_endpoint_xfer_control(epd) usb_endpoint_xfer_int(epd) usb_endpoint_xfer_isoc(epd) In some cases, introducing one of these functions is not possible, and it just replaces an explicit integer value by one of the following constants: USB_ENDPOINT_XFER_BULK USB_ENDPOINT_XFER_CONTROL USB_ENDPOINT_XFER_INT USB_ENDPOINT_XFER_ISOC An extract of the semantic patch that makes these changes is as follows: (http://www.emn.fr/x-info/coccinelle/) // @r1@ struct usb_endpoint_descriptor *epd; @@ - ((epd->bmAttributes & \(USB_ENDPOINT_XFERTYPE_MASK\|3\)) == - \(USB_ENDPOINT_XFER_CONTROL\|0\)) + usb_endpoint_xfer_control(epd) @r5@ struct usb_endpoint_descriptor *epd; @@ - ((epd->bEndpointAddress & \(USB_ENDPOINT_DIR_MASK\|0x80\)) == - \(USB_DIR_IN\|0x80\)) + usb_endpoint_dir_in(epd) // Signed-off-by: Julia Lawall Signed-off-by: Mauro Carvalho Chehab commit cec73844a91017f9b84ca1d665feb8fc714c8410 Author: Steven Rostedt Date: Thu Dec 11 23:01:14 2008 -0300 V4L/DVB (10129): dvb: remove deprecated use of RW_LOCK_UNLOCKED in frontends Impact: clean up RW_LOCK_UNLOCKED is deprecated. This patch replaces it with the __RW_LOCK_UNLOCKED(lock) macro. This change was a little trickier than others due to the macro being used in another macro that fills an array. Signed-off-by: Steven Rostedt Signed-off-by: Andrew Morton Signed-off-by: Mauro Carvalho Chehab commit aa16c10a347e887ec9505de9eacf3675938be722 Author: Németh Márton Date: Mon Dec 29 16:37:14 2008 -0300 V4L/DVB (10128): modify V4L documentation to be a valid XHTML Modify Documentation/video4linux/API.html to be a valid XHTML 1.0 Strict. The result was verified using the http://validator.w3.org/ service. Signed-off-by: Márton Németh Signed-off-by: Mauro Carvalho Chehab commit 1970f14fde9640cc2e238c031498900edbd8ff94 Author: Erik Andrén Date: Tue Dec 30 04:58:36 2008 -0300 V4L/DVB (10127): stv06xx: Avoid having y unitialized As pointed by gcc: drivers/media/video/gspca/stv06xx/stv06xx_hdcs.c: In function ‘hdcs_set_size’: drivers/media/video/gspca/stv06xx/stv06xx_hdcs.c:301: warning: ‘y’ may be used uninitialized in this function Signed-off-by: Erik Andrén Signed-off-by: Mauro Carvalho Chehab commit de84830e6959b046a99da3be12246458f4ab9825 Author: Devin Heitmueller Date: Tue Dec 30 00:17:09 2008 -0300 V4L/DVB (10125): em28xx: Don't do AC97 vendor detection for i2s audio devices The current code was trying to query the AC97 registers for the vendor information even if it was clearly not a AC97 audio device (resulting in errors in the dmesg output). This was due to a bug in the way we did the check. Signed-off-by: Devin Heitmueller Signed-off-by: Mauro Carvalho Chehab commit 3fbf930951462871848b5b504fa4a10ab06d2fee Author: Devin Heitmueller Date: Mon Dec 29 23:34:37 2008 -0300 V4L/DVB (10124): em28xx: expand output formats available Add additional output formats, which will be useful for the Pinnacle PCTV Ultimate 880e integration with the saa7136. Thanks to Ray Lu from Empia for providing the em2860/em2880 datasheet. Signed-off-by: Devin Heitmueller Signed-off-by: Mauro Carvalho Chehab commit 54d79e339881388cdb6a6888b0f6bcd4911d3582 Author: Devin Heitmueller Date: Mon Dec 29 22:52:37 2008 -0300 V4L/DVB (10123): em28xx: fix reversed definitions of I2S audio modes Noticed when doing the audio support for the Pinnacle PCTV HD Ultimate 808e that the modes were incorrect (the 808e uses I2S in 5 sample mode) Thanks for Ray Lu from Empia for providing the em2860/em2880 datasheet. Signed-off-by: Devin Heitmueller Signed-off-by: Mauro Carvalho Chehab commit 62f3e69bd5ff9db1574356a84895324ab3896e44 Author: Devin Heitmueller Date: Mon Dec 29 22:43:55 2008 -0300 V4L/DVB (10122): em28xx: don't load em28xx-alsa for em2870 based devices Like the em2874, the em2870 does not have any analog support, so don't bother loading the em28xx-alsa module. Signed-off-by: Devin Heitmueller Signed-off-by: Mauro Carvalho Chehab commit 7ed3a7a3113a5399a4591fdf1f2a07c9cd954853 Author: Devin Heitmueller Date: Mon Dec 29 22:39:42 2008 -0300 V4L/DVB (10121): em28xx: remove worthless Pinnacle PCTV HD Mini 80e device profile The Pinnacle 80e cannot be supported since Micronas yanked their driver support for the drx-j chipset at the last minute. Remove the device profile since it cannot work without the drx driver and it being there is only likely to confuse people into thinking the device is supported but not working. Signed-off-by: Devin Heitmueller Signed-off-by: Mauro Carvalho Chehab commit e890759220759dfe4f3bea91a2deafb565ec10e9 Author: Devin Heitmueller Date: Mon Dec 29 22:34:35 2008 -0300 V4L/DVB (10120): em28xx: remove redundant Pinnacle Dazzle DVC 100 profile The DVC 100 profile is redundant since we already have an existing identical profile named "Pinnacle Dazzle DVC 90/DVC 100" Signed-off-by: Devin Heitmueller Signed-off-by: Mauro Carvalho Chehab commit ed14e1c2f419a380c7a1a3483ac2443d20a24355 Author: Devin Heitmueller Date: Mon Dec 29 22:27:30 2008 -0300 V4L/DVB (10119): em28xx: fix corrupted XCLK value Correct problem introduced during the board refactoring where the XCLK frequency would get zero'd out. The sequence of events was as follows: em28xx_pre_card_setup() called em28xx_set_model() em28xx_set_model() would memcpy to dev->board configuration em28xx_pre_card_setup() would set the dev->board.xclk if not set em28xx_pre_card_setup() would set the XCLK register based on dev->board.xclk ... em28xx_card_setup() would call em28xx_set_model() em28xx_set_model() would memcpy to dev->board configuration (clearing out value of dev->board.xclk set in em28xx_pre_card_setup) ... em28xx_audio_analog_set() sets the XCLK register based on dev->board.xclk (which now contains zero) The change sets the default XCLK and I2C Clock fields in the board definition inside of em28xx_set_model() so that subsequent calls do not cause the values to be overwritten. Signed-off-by: Devin Heitmueller Signed-off-by: Mauro Carvalho Chehab commit 60b4bde48b36c0315ef41fd38c339b9c7e68c46f Author: Mauro Carvalho Chehab Date: Mon Dec 29 23:44:20 2008 -0300 V4L/DVB (10118): zoran: fix warning for a variable not used Fix this warning: drivers/media/video/zoran/zoran_card.c:156: warning: ‘zr36067_pci_tbl’ defined but not used Currently, zoran driver relies on a find routine that doesn't use the pci table. Signed-off-by: Mauro Carvalho Chehab commit 4d543096ee743faa52d69506eef73d3cb6208f18 Author: Mauro Carvalho Chehab Date: Mon Dec 29 23:18:31 2008 -0300 V4L/DVB (10116): af9013: Fix gcc false warnings drivers/media/dvb/frontends/af9013.c: In function ‘af9013_set_coeff’: drivers/media/dvb/frontends/af9013.c:231: warning: ‘ns_coeff2_8k’ may be used uninitialized in this function drivers/media/dvb/frontends/af9013.c:230: warning: ‘ns_coeff2_2k’ may be used uninitialized in this function drivers/media/dvb/frontends/af9013.c:229: warning: ‘ns_coeff1_8193nu’ may be used uninitialized in this function drivers/media/dvb/frontends/af9013.c:228: warning: ‘ns_coeff1_8192nu’ may be used uninitialized in this function drivers/media/dvb/frontends/af9013.c:227: warning: ‘ns_coeff1_8191nu’ may be used uninitialized in this function drivers/media/dvb/frontends/af9013.c:226: warning: ‘ns_coeff1_2048nu’ may be used uninitialized in this function drivers/media/dvb/frontends/af9013.c: In function ‘af9013_update_snr’: drivers/media/dvb/frontends/af9013.c:1012: warning: ‘snr_table’ may be used uninitialized in this function Cc: Antti Palosaari Signed-off-by: Mauro Carvalho Chehab commit ed716dcb862f969e118037ee8830ad28664b4a11 Author: Mauro Carvalho Chehab Date: Mon Dec 29 22:31:13 2008 -0200 V4L/DVB (10111a): usbvideo.h: remove an useless blank line This is needed to sync with the development tree. Probably, a merge conflict were solved by adding this blank line. Signed-off-by: Mauro Carvalho Chehab commit b48413066118ff8c6e44f258fbcd226f4c22aa92 Author: Mauro Carvalho Chehab Date: Mon Dec 29 19:26:17 2008 -0300 V4L/DVB (10111): quickcam_messenger.c: fix a warning drivers/media/video/usbvideo/quickcam_messenger.c: In function ‘qcm_sensor_init’: drivers/media/video/usbvideo/quickcam_messenger.c:450: warning: operation on ‘ret’ may be undefined Signed-off-by: Mauro Carvalho Chehab commit 92ab7886119da6375a983713eedab444e32094f6 Author: Mauro Carvalho Chehab Date: Mon Dec 29 19:15:43 2008 -0300 V4L/DVB (10110): v4l2-ioctl: Fix warnings when using .unlocked_ioctl = __video_ioctl2 This patch fixes this warning: drivers/media/video/gspca/gspca.c:1811: warning: initialization from incompatible pointer type The reason is that the returned argument should be a long, not an integer. Signed-off-by: Mauro Carvalho Chehab commit 902571aaa91263bc27e923e94ddf161c106befee Author: Mauro Carvalho Chehab Date: Mon Dec 29 19:02:24 2008 -0300 V4L/DVB (10109): anysee: Fix usage of an unitialized function drivers/media/dvb/dvb-usb/anysee.c: In function ‘anysee_master_xfer’: drivers/media/dvb/dvb-usb/anysee.c:156: warning: ‘ret’ may be used uninitialized By looking at the function, altrough very unlikely, this might eventually be true if num = 0. So, better to fix the warning by initializing with ret = 0. Cc: Antti Palosaari Signed-off-by: Mauro Carvalho Chehab commit ff924203c9e4a5bc218143bc37182851185f4e5f Author: Laurent Pinchart Date: Sun Dec 28 22:32:29 2008 -0300 V4L/DVB (10104): uvcvideo: Add support for video output devices Extend the range of supported UVC devices by allowing video output devices matching the following structure: TT_STREAMING -> VC_PROCESSING_UNIT -> VC_EXTENSION_UNIT{0,n} -> OTT_* Video output devices are reported with the V4L2_CAP_VIDEO_OUTPUT capability flag and are subject to the same restrictions as video input devices. Signed-off-by: Laurent Pinchart Signed-off-by: Mauro Carvalho Chehab commit 538e7a004bf960c96c7e9eb836b59989eb5f5b7f Author: Laurent Pinchart Date: Sun Dec 28 20:26:32 2008 -0300 V4L/DVB (10102): uvcvideo: Ignore interrupt endpoint for built-in iSight webcams. Built-in iSight webcams have an interrupt endpoint but spit proprietary data that don't conform to the UVC status endpoint messages. Don't try to handle the interrupt endpoint for those cameras. Signed-off-by: Laurent Pinchart Signed-off-by: Mauro Carvalho Chehab commit f8dd4af6d44b4b738f125f6a21afa885f3b1d13b Author: Laurent Pinchart Date: Tue Dec 16 10:41:57 2008 -0300 V4L/DVB (10101): uvcvideo: Fix bulk URB processing when the header is erroneous When the first bulk URB of a video payload contains an erroneous header, or when no V4L2 buffer is available, the whole payload must be dropped. Change the skip logic to drop all bulk URBs until the end of the payload instead of the first one only. Signed-off-by: Laurent Pinchart Signed-off-by: Mauro Carvalho Chehab commit 4e96fd088cf6fb95ba4b212e5e72bac1e6d34e79 Author: Guennadi Liakhovetski Date: Mon Dec 29 06:04:59 2008 -0300 V4L/DVB (10099): soc-camera: add support for MT9T031 CMOS camera sensor from Micron This camera is rather similar to MT9M001, but also has a couple of enhanced features, like pixel binning. create mode 100644 drivers/media/video/mt9t031.c Signed-off-by: Guennadi Liakhovetski Acked-by: Jean Delvare Signed-off-by: Mauro Carvalho Chehab commit f82a8569bfa10f32a3123ca0b681ec7c3188d2c0 Author: Kuninori Morimoto Date: Mon Dec 29 06:04:44 2008 -0300 V4L/DVB (10098): ov772x: fix try_fmt calculation method Don't modify driver's state in try_fmt, just verify format acceptability or adjust it to driver's capabilities. Signed-off-by: Kuninori Morimoto Signed-off-by: Guennadi Liakhovetski Signed-off-by: Mauro Carvalho Chehab commit 77fe3d4a44f76653263eb8671d7909ab0fdafd71 Author: Kuninori Morimoto Date: Mon Dec 29 06:04:37 2008 -0300 V4L/DVB (10097): ov772x: clear i2c client data on error and remove Signed-off-by: Kuninori Morimoto Signed-off-by: Guennadi Liakhovetski Signed-off-by: Mauro Carvalho Chehab commit 7dcb212eee1d3833073ba0458ca5a603b7b05cc5 Author: Kuninori Morimoto Date: Mon Dec 29 06:04:22 2008 -0300 V4L/DVB (10096): ov772x: change dev_info to dev_dbg Signed-off-by: Kuninori Morimoto Signed-off-by: Guennadi Liakhovetski Signed-off-by: Mauro Carvalho Chehab commit 6d75611231fb22dbce0019310a9f3dc66918317e Author: Kuninori Morimoto Date: Mon Dec 29 06:04:16 2008 -0300 V4L/DVB (10095): The failure of set_fmt is solved in tw9910 priv->scale is checked in start_capture. Therefore, it should be NULL if failing in set_fmt. This patch resolve this problem. Signed-off-by: Kuninori Morimoto Signed-off-by: Guennadi Liakhovetski Signed-off-by: Mauro Carvalho Chehab commit ed922a892e535c14035210b5be328af1f49561c8 Author: Kuninori Morimoto Date: Mon Dec 29 06:04:06 2008 -0300 V4L/DVB (10094): Add tw9910 driver This patch adds tw9910 driver that use soc_camera framework. It was tested on SH Migo-r board and mplayer. create mode 100644 drivers/media/video/tw9910.c create mode 100644 include/media/tw9910.h Signed-off-by: Kuninori Morimoto Signed-off-by: Guennadi Liakhovetski Signed-off-by: Mauro Carvalho Chehab commit 042d87900217228f865654fa70fade8139bd42cf Author: Guennadi Liakhovetski Date: Fri Dec 19 10:07:49 2008 -0300 V4L/DVB (10093): soc-camera: add new bus width and signal polarity flags In preparation for i.MX31 camera host driver add flags for 4 and 15 bit bus widths and for data lines polarity inversion. Signed-off-by: Guennadi Liakhovetski Signed-off-by: Mauro Carvalho Chehab commit b6c6173ee8af9e8723b76e12bd92e484dc39353f Author: Kuninori Morimoto Date: Thu Dec 18 13:50:40 2008 -0300 V4L/DVB (10092): Change V4L2 field to ANY from NONE on sh_mobile_ceu_camera.c Signed-off-by: Kuninori Morimoto Signed-off-by: Guennadi Liakhovetski Signed-off-by: Mauro Carvalho Chehab commit a85bdace0c5f951ff614aa5b7cf6acb03f7955bf Author: Guennadi Liakhovetski Date: Thu Dec 18 12:54:33 2008 -0300 V4L/DVB (10091): mt9m001 mt9v022: simplify pointer derefernces Signed-off-by: Guennadi Liakhovetski Signed-off-by: Mauro Carvalho Chehab commit 06daa1af4d207e93c9a8a3e54adef8635ba81c94 Author: Guennadi Liakhovetski Date: Thu Dec 18 12:52:08 2008 -0300 V4L/DVB (10090): soc-camera: let drivers decide upon supported field values sh_mobile_ceu_camera.c is already prepared to support interlaced format, this patch moves the choice of a field type down to host and / or camera drivers. Signed-off-by: Guennadi Liakhovetski Signed-off-by: Mauro Carvalho Chehab commit ccab8a29040b4b57a45f2150c9b6e6115ebdbc44 Author: Kuninori Morimoto Date: Thu Dec 18 12:51:21 2008 -0300 V4L/DVB (10089): Add interlace support to sh_mobile_ceu_camera.c Signed-off-by: Kuninori Morimoto Acked-by: Magnus Damm Signed-off-by: Guennadi Liakhovetski Signed-off-by: Mauro Carvalho Chehab commit 7a1a81643f80df3ff3351b1a81e54470dc47681d Author: Magnus Damm Date: Thu Dec 18 12:50:30 2008 -0300 V4L/DVB (10088): video: sh_mobile_ceu cleanups and comments This patch cleans up the sh_mobile_ceu driver and adds comments and constants to clarify the magic sequence in sh_mobile_ceu_capture(). Signed-off-by: Magnus Damm Signed-off-by: Guennadi Liakhovetski Signed-off-by: Mauro Carvalho Chehab commit 34d359db7d683e227f27595ad3702fb2ae96108a Author: Kuninori Morimoto Date: Thu Dec 18 12:47:46 2008 -0300 V4L/DVB (10087): Add new enum_input function on soc_camera This patch presents new method to be able to select V4L2 input type Signed-off-by: Kuninori Morimoto Signed-off-by: Guennadi Liakhovetski Signed-off-by: Mauro Carvalho Chehab commit 513791aba6266e0c15d5b697b97e956e83537f5a Author: Kuninori Morimoto Date: Thu Dec 18 12:46:45 2008 -0300 V4L/DVB (10086): Add new set_std function on soc_camera This patch presents new method to be able to check v4l2_std_id Signed-off-by: Kuninori Morimoto Signed-off-by: Guennadi Liakhovetski Signed-off-by: Mauro Carvalho Chehab commit 9e4a56d27f6150b0c9f8c7cc33ea944749377104 Author: Magnus Damm Date: Thu Dec 18 12:45:33 2008 -0300 V4L/DVB (10085): sh_mobile_ceu: add NV16 and NV61 support This patch adds NV16/NV61 support to the sh_mobile_ceu driver. Signed-off-by: Magnus Damm Signed-off-by: Guennadi Liakhovetski Signed-off-by: Mauro Carvalho Chehab commit 8be65dc59645d6ec9149fc26dfff7ca01e279e87 Author: Magnus Damm Date: Thu Dec 18 12:38:06 2008 -0300 V4L/DVB (10084): sh_mobile_ceu: add NV12 and NV21 support This patch adds NV12/NV21 support to the sh_mobile_ceu driver. Signed-off-by: Magnus Damm Signed-off-by: Guennadi Liakhovetski Signed-off-by: Mauro Carvalho Chehab commit 1c3bb7431d16f7486a8523d54380bad89c485dc8 Author: Guennadi Liakhovetski Date: Thu Dec 18 12:28:54 2008 -0300 V4L/DVB (10083): soc-camera: unify locking, play nicer with videobuf locking Move mutex from host drivers to camera device object, take into account videobuf locking. Signed-off-by: Guennadi Liakhovetski Signed-off-by: Mauro Carvalho Chehab commit bf507158eb27ea94aca300b28ecee60fdbb40007 Author: Guennadi Liakhovetski Date: Thu Dec 18 11:53:51 2008 -0300 V4L/DVB (10081): pxa-camera: call try_fmt() camera device method with correct pixel format With the introduction of the format conversion support in soc-camera, we now also have to take care to pass the correct pixel format to the camera driver when calling its try_fmt() method. Signed-off-by: Guennadi Liakhovetski Signed-off-by: Mauro Carvalho Chehab commit 64f5905ee74906643e22657bd20e2f11443053f0 Author: Guennadi Liakhovetski Date: Thu Dec 18 11:51:55 2008 -0300 V4L/DVB (10080): soc-camera: readability improvements, more strict operations checks Simplify multiple drivers by replacing f->fmt.pix.* with a single pointer dereference, merge some needlessly broken lines, verify host and camera operations pointers on registration. Signed-off-by: Guennadi Liakhovetski Signed-off-by: Mauro Carvalho Chehab commit 9414de39e8e07d90bdb6524be501fae0e013d37b Author: Magnus Damm Date: Thu Dec 18 11:49:06 2008 -0300 V4L/DVB (10079): sh_mobile_ceu: use new pixel format translation code This patch converts the sh_mobile_ceu driver to make use of the new pixel format translation code. Only pass-though mode at this point. Signed-off-by: Magnus Damm Signed-off-by: Guennadi Liakhovetski Signed-off-by: Mauro Carvalho Chehab commit 91962fa713bd8bf47434b02ac661fdc201365fa5 Author: Magnus Damm Date: Thu Dec 18 11:45:00 2008 -0300 V4L/DVB (10078): video: add NV16 and NV61 pixel formats This patch adds support for NV16 and NV61 pixel formats. These pixel formats use two planes; one for 8-bit Y values and one for interleaved 8-bit U and V values. NV16/NV61 formats are very similar to NV12/NV21 with the exception that NV16/NV61 are using the same number of lines for both planes. The difference between NV16 and NV61 is the U and V byte order. The fourcc values are extrapolated from the NV12/NV21 case. Signed-off-by: Magnus Damm Signed-off-by: Guennadi Liakhovetski Signed-off-by: Mauro Carvalho Chehab commit d7f83a5106f2da9eb59bf49e7b48414e27d6618a Author: Mike Rapoport Date: Thu Dec 18 11:44:15 2008 -0300 V4L/DVB (10077): mt9m111: add support for mt9m112 since sensors seem identical Signed-off-by: Mike Rapoport Signed-off-by: Guennadi Liakhovetski Signed-off-by: Mauro Carvalho Chehab commit 9b9fd6c71fb46a4a710040c8ef28f1e84b88a830 Author: Mike Rapoport Date: Thu Dec 18 11:42:54 2008 -0300 V4L/DVB (10076): v4l: add chip ID for MT9M112 camera sensor from Micron The chip is largely compatible with MT9M111 and is going to be supported by the same driver. Signed-off-by: Mike Rapoport Signed-off-by: Guennadi Liakhovetski Signed-off-by: Mauro Carvalho Chehab commit cf34cba78d0e0a7244bd7f11addb4d971293fb30 Author: Guennadi Liakhovetski Date: Thu Dec 18 11:38:03 2008 -0300 V4L/DVB (10075): pxa-camera: setup the FIFO inactivity time-out register Using PXA270's FIFO inactivity time-out register (CITOR) reduces FIFO overruns. The time-out is calculated in CICLK / LCDCLK ticks and has to be longer than one pixel time. For this we have to know the pixel clock frequency, which usually is provided by the camera. We use the struct soc_camera_sense to request PCLK frequency from the camera driver upon each data format change. Tested-by: Robert Jarzmik Signed-off-by: Guennadi Liakhovetski Signed-off-by: Mauro Carvalho Chehab commit a9bef518cd78d569a3ff0b1ac2afa5e2d8b3573a Author: Guennadi Liakhovetski Date: Thu Dec 18 11:34:20 2008 -0300 V4L/DVB (10074): soc-camera: add camera sense data Add a struct soc_camera_sense, that can be used by camera host drivers to request additional information from a camera driver, for example, when changing data format. This struct can be extended in the future, its first use is to request the camera driver whether the pixel-clock frequency has changed. Tested-by: Robert Jarzmik Signed-off-by: Guennadi Liakhovetski Signed-off-by: Mauro Carvalho Chehab commit 39bf372f606448de2df93a90f40efc613cb5c909 Author: Robert Jarzmik Date: Thu Dec 18 11:29:05 2008 -0300 V4L/DVB (10073): mt9m111: Add automatic white balance control Signed-off-by: Robert Jarzmik Signed-off-by: Guennadi Liakhovetski Signed-off-by: Mauro Carvalho Chehab commit bd73b36f0c41b0c02ef4b10a307db1c43537e006 Author: Guennadi Liakhovetski Date: Tue Dec 23 05:54:45 2008 -0300 V4L/DVB (10072): soc-camera: Add signal inversion flags to be used by camera drivers As reported by Antonio Ospite two platforms with a mt9m111 camera require opposite pixel clock polarity, which means one of them inverts it. This patch adds support for inversion flags and switches all available camera drivers to using them. Signed-off-by: Guennadi Liakhovetski Signed-off-by: Mauro Carvalho Chehab commit 5ca11fa3e0025864df930d6d97470b87c35919ed Author: Eric Miao Date: Thu Dec 18 11:15:50 2008 -0300 V4L/DVB: pxa-camera: use memory mapped IO access for camera (QCI) registers Signed-off-by: Eric Miao Signed-off-by: Guennadi Liakhovetski Signed-off-by: Mauro Carvalho Chehab commit 8a787b40ecf29e5d8cc95bf9f12986862d230d8e Author: Mauro Carvalho Chehab Date: Mon Dec 29 18:35:51 2008 -0300 V4L/DVB (10107): More than one driver defines the same var name (dump_bridge). Add "static" on stv06xx for all static functions and parameters to avoid such troubles. Cc: Erik Andren Cc: Jean-Francois Moine Signed-off-by: Mauro Carvalho Chehab commit dd9e7c3c42fff48a338f87febee95cd289058bc9 Author: Mauro Carvalho Chehab Date: Mon Dec 29 18:06:09 2008 -0300 V4L/DVB (10106): gscpa - stv06xx: Fix compilation with kernel tree Signed-off-by: Mauro Carvalho Chehab commit 3cac2cab4f5b7eb7d9f7afc42cb251c45b96be36 Author: Kuninori Morimoto Date: Thu Dec 18 11:07:11 2008 -0300 V4L/DVB (10069): Add ov7725 support to ov772x driver Signed-off-by: Kuninori Morimoto Signed-off-by: Guennadi Liakhovetski Signed-off-by: Mauro Carvalho Chehab commit aeabc882a3ad9a320783815e0446b12526fd2102 Author: Kuninori Morimoto Date: Thu Dec 18 11:05:49 2008 -0300 V4L/DVB (10068): Change device ID selection method on ov772x driver Signed-off-by: Kuninori Morimoto Signed-off-by: Guennadi Liakhovetski Signed-off-by: Mauro Carvalho Chehab commit 2d425131d2c44228c4390d2d48d302f3e122bc49 Author: Kuninori Morimoto Date: Wed Dec 17 14:05:45 2008 -0300 V4L/DVB (10067): Remove ov772x_default_regs from ov772x driver Signed-off-by: Kuninori Morimoto Signed-off-by: Guennadi Liakhovetski Signed-off-by: Mauro Carvalho Chehab commit 297a7ef700ce2e91ed0f941034541d1563ef0a7d Author: Guennadi Liakhovetski Date: Wed Dec 17 14:05:38 2008 -0300 V4L/DVB (10066): mt9m001 mt9v022: fix bus-width switch GPIO availability test Testing for non-NULL platform-data is not enough, we have to check if the GPIO in the platform data is valid or not. Also see my earlier patch: [ARM] pxa/pcm990: use negative number for an invalid GPIO in camera data Signed-off-by: Guennadi Liakhovetski Signed-off-by: Mauro Carvalho Chehab commit 88f4b8990fd2b4d856f63c3689bb4df18029da06 Author: Robert Jarzmik Date: Wed Dec 17 14:05:31 2008 -0300 V4L/DVB (10065): mt9m111: add all yuv format combinations. The Micron mt9m111 offers 4 byte orders for YCbCr output. This patchs adds all possible outputs capabilities to the mt9m111 driver. Signed-off-by: Robert Jarzmik Signed-off-by: Guennadi Liakhovetski Signed-off-by: Mauro Carvalho Chehab commit 0f28b79346439ef5db130020aa07be9ca7c2ee84 Author: roel kluin Date: Wed Dec 17 14:01:07 2008 -0300 V4L/DVB (10064): mt9m111: mt9m111_get_global_gain() - unsigned >= 0 is always true unsigned >= 0 is always true and fix formula Signed-off-by: Roel Kluin Acked-by: Robert Jarzmik Signed-off-by: Guennadi Liakhovetski Signed-off-by: Mauro Carvalho Chehab commit d25cb6461ac93683ac04b2e181bcaa0cc15c349b Author: Alexey Klimov Date: Sat Dec 27 22:40:57 2008 -0300 V4L/DVB (10062): dsbr100: change return values in 3 functions Patch replace return -1; with return retval; in 3 functions. And we also change if-checks for this returned values. Signed-off-by: Alexey Klimov Signed-off-by: Douglas Schilling Landgraf Signed-off-by: Mauro Carvalho Chehab commit 6076dbf46a776a666166f8cdad97802334a0083c Author: Alexey Klimov Date: Sat Dec 27 22:35:21 2008 -0300 V4L/DVB (10061): dsbr100: increase driver version Due to a lot of patches for dsbr100 last time we should update version of driver. Signed-off-by: Alexey Klimov Signed-off-by: Douglas Schilling Landgraf Signed-off-by: Mauro Carvalho Chehab commit fc55bcb0a04a66465ab13c33f36a290f6e3a3f7d Author: Alexey Klimov Date: Sat Dec 27 22:33:54 2008 -0300 V4L/DVB (10060): dsbr100: fix and add right comments Fix and add right comments. Few empty lines removed. Signed-off-by: Alexey Klimov Signed-off-by: Douglas Schilling Landgraf Signed-off-by: Mauro Carvalho Chehab commit 7e1ca8491d046d1f01de105add7f2f8f477869ec Author: Alexey Klimov Date: Sat Dec 27 22:31:52 2008 -0300 V4L/DVB (10059): dsbr100: dev_err instead of dev_warn We should use dev_err (not dev_warn) if video_register_device fails. Signed-off-by: Alexey Klimov Signed-off-by: Douglas Schilling Landgraf Signed-off-by: Mauro Carvalho Chehab commit 417b7953668574ff38d3f2dc76e9fe669f121469 Author: Alexey Klimov Date: Sat Dec 27 22:30:29 2008 -0300 V4L/DVB (10058): dsbr100: fix codingstyle, add dev_err messages We should make if-constructions more clear. Introduce int retval variables in some functions to make it this way. Also a lot of useful dev_err messages added. And now we check every returned value after usb_control_msg. Signed-off-by: Alexey Klimov Signed-off-by: Douglas Schilling Landgraf Signed-off-by: Mauro Carvalho Chehab commit 290588e067b6710b614da4bd538197dd88158b62 Author: Alexey Klimov Date: Sat Dec 27 21:42:39 2008 -0300 V4L/DVB (10057): dsbr100: place dev_warn instead of printk Remove printk in one line and place dev_warn there. Signed-off-by: Alexey Klimov Signed-off-by: Douglas Schilling Landgraf Signed-off-by: Mauro Carvalho Chehab commit 5609cfd23233617858d03fab537bc120f7f6fa7f Author: Douglas Schilling Landgraf Date: Sat Dec 27 21:39:35 2008 -0300 V4L/DVB (10056): em28xx: Add snapshot button on Pixelview Prolink PlayTV USB 2.0 Added snapshot feature for Pixelview Prolink PlayTV USB 2.0 Signed-off-by: Douglas Schilling Landgraf Signed-off-by: Mauro Carvalho Chehab commit 1e1addd57bdf56c51dbc292d7760ea3d207fe833 Author: Douglas Schilling Landgraf Date: Sat Dec 27 21:38:14 2008 -0300 V4L/DVB (10055): em28xx: Add entry for PixelView PlayTV Box 4 Added board PixelView PlayTV Box 4 Thanks to Vildenei Negrao Pereira for testing and data collection. Signed-off-by: Douglas Schilling Landgraf Signed-off-by: Mauro Carvalho Chehab commit 3a0efc3200386b9288e1d3d3be0a9f5d6f286906 Author: Alexey Klimov Date: Sat Dec 27 21:32:49 2008 -0300 V4L/DVB (10054): dsbr100: fix unplug oops This patch corrects unplug procedure. Patch adds usb_dsbr100_video_device_release, new macros - videodev_to_radio, mutex lock and a lot of safety checks. Struct video_device videodev is embedded in dsbr100_device structure. Signed-off-by: Alexey Klimov Signed-off-by: Douglas Schilling Landgraf Signed-off-by: Mauro Carvalho Chehab commit f2ce9179eab9a1551e91e3c97498e9350a087e39 Author: Alexey Klimov Date: Sat Dec 27 21:31:49 2008 -0300 V4L/DVB (10053): radio-mr800: disable autosuspend support Because this device doesn't provide any powermanagment capabilities(may be they exist but unknown to me yet, so they are not implemented), we should turn them off. Patch sets support_autosuspend equal to 0. Signed-off-by: Alexey Klimov Signed-off-by: Douglas Schilling Landgraf Signed-off-by: Mauro Carvalho Chehab commit f4e9043e5a07af789ec902dada50f46d08ff8639 Author: Alexey Klimov Date: Sat Dec 27 21:30:34 2008 -0300 V4L/DVB (10052): radio-mr800: correct unplug, fix to previous patch This patch corrects unplug procedure, that was implemented wrong in previous patch. New function usb_amradio_device_release added. Disconnect lock removed. Signed-off-by: Alexey Klimov Signed-off-by: Douglas Schilling Landgraf Signed-off-by: Mauro Carvalho Chehab commit da3bcb5d909925397715dff4a7584f21f9857bfa Author: Jean-Francois Moine Date: Mon Dec 29 09:06:09 2008 -0300 V4L/DVB (10050): gspca - vc032x: Webcam 046d:0897 added. Signed-off-by: Jean-Francois Moine Signed-off-by: Mauro Carvalho Chehab commit cc611b8aef7a8a9a2e614f1bdf3e2b8f066c8c8d Author: Jean-Francois Moine Date: Mon Dec 29 07:49:41 2008 -0300 V4L/DVB (10049): gspca - many subdrivers: Set 'const' the pixel format table. Signed-off-by: Jean-Francois Moine Signed-off-by: Mauro Carvalho Chehab commit 4c98834addfee3fdd42c505c37569261bf669d94 Author: Erik Andren Date: Mon Dec 29 07:35:23 2008 -0300 V4L/DVB (10048): gspca - stv06xx: New subdriver. Signed-off-by: Erik Andren Signed-off-by: Jean-Francois Moine Signed-off-by: Mauro Carvalho Chehab commit 15f64864e392612b230bc71d84e4537b80c607b1 Author: Jean-Francois Moine Date: Mon Dec 29 06:19:43 2008 -0300 V4L/DVB (10046): gspca - ov534: Use the gspca usb buf for usb control messages. Signed-off-by: Jean-Francois Moine Signed-off-by: Mauro Carvalho Chehab commit f367b85d9a0bda04c31c5c5598dba758efc6658e Author: Jean-Francois Moine Date: Sun Dec 28 06:51:37 2008 -0300 V4L/DVB (10045): gspca - ov534: Remove empty line in trace. Signed-off-by: Jean-Francois Moine Signed-off-by: Mauro Carvalho Chehab commit 71d50f30724c901c3d8cc7a19bdb3c33e1ee5463 Author: Hans de Goede Date: Sat Dec 27 03:43:53 2008 -0300 V4L/DVB (10044): gspca - pac7311: Webcam 093a:2620 added. Signed-off-by: Hans de Goede Signed-off-by: Jean-Francois Moine Signed-off-by: Mauro Carvalho Chehab commit 27b1e4ca21d6322a16978127b9f227c432f10ae6 Author: Erik Andrén Date: Tue Dec 23 18:06:37 2008 -0300 V4L/DVB (10041): m5602 - rework parts of the resolution initialization Signed-off-by: Erik Andrén Signed-off-by: Mauro Carvalho Chehab commit 1f614f40b5ab302596374356f7a2065602e80e25 Author: Erik Andrén Date: Tue Dec 23 17:15:19 2008 -0300 V4L/DVB (10040): m5602 - ov9650: Activate variopixel Signed-off-by: Erik Andrén Signed-off-by: Mauro Carvalho Chehab commit 03f46de925b87b26fcdf611b8fda182002627bd1 Author: Erik Andrén Date: Tue Dec 23 17:07:58 2008 -0300 V4L/DVB (10039): m5602 - ov9650: Add CIF mode Signed-off-by: Erik Andrén Signed-off-by: Mauro Carvalho Chehab commit 1b0b27b87fcae1cfbfa74b544bcf452797be7af1 Author: Erik Andrén Date: Tue Dec 23 14:08:07 2008 -0300 V4L/DVB (10038): m5602: tweak the hsync. Remove redundant init sequence Signed-off-by: Erik Andrén Signed-off-by: Mauro Carvalho Chehab commit 3b2f3327ff5af235837bc83c6b788bc560ba23a6 Author: Erik Andrén Date: Mon Dec 22 16:06:29 2008 -0300 V4L/DVB (10037): m5602: add QVGA mode for the ov9650 sensor Signed-off-by: Erik Andrén Signed-off-by: Mauro Carvalho Chehab commit 082aa8937c79a02397981b7543ccc65d2bdeaf97 Author: Erik Andrén Date: Sun Dec 21 18:07:59 2008 -0300 V4L/DVB (10036): m5602 - ov9650: Prepare the sensor to set multiple resolutions Signed-off-by: Erik Andrén Signed-off-by: Mauro Carvalho Chehab commit 3da3dce5afd267d354427042090aaf6370ebc15c Author: Erik Andrén Date: Sun Dec 21 17:25:25 2008 -0300 V4L/DVB (10035): m5602: add a start sending hook in the sensor struct Signed-off-by: Erik Andrén Signed-off-by: Mauro Carvalho Chehab commit 7d292de890a2367ddb605f9a52b015e45c10e322 Author: Erik Andrén Date: Fri Dec 19 13:29:21 2008 -0300 V4L/DVB (10034): m5602: fixup offset in order to align image Signed-off-by: Erik Andrén Signed-off-by: Mauro Carvalho Chehab commit cedacfec4d8ef97f3df7755c07f79e5b9dcf010b Author: Erik Andrén Date: Fri Dec 19 13:12:04 2008 -0300 V4L/DVB (10033): m5602: add some comments Signed-off-by: Erik Andrén Signed-off-by: Mauro Carvalho Chehab commit 7e08e66a4c198cd7e01e756744d7de47d31e4dd5 Author: Erik Andrén Date: Fri Dec 19 03:29:31 2008 -0300 V4L/DVB (10032): m5602: add vflip quirk for Alienware m9700 Signed-off-by: Erik Andrén Signed-off-by: Mauro Carvalho Chehab commit 0bd7bd79f1cec3e6d142c5bc79b66b36acd9bc3f Author: Erik Andrén Date: Mon Dec 1 03:32:59 2008 -0300 V4L/DVB (10031): m5602: correct the name of the Pascal Stangs library Signed-off-by: Erik Andrén Signed-off-by: Mauro Carvalho Chehab commit 1d07b6f14e39eb613e42ff7fe7e352d6f67a65eb Author: Erik Andrén Date: Thu Nov 27 14:07:24 2008 -0300 V4L/DVB (10030): m5602: Use read/modify/write when toggling vflip on the po1030 Signed-off-by: Erik Andrén Signed-off-by: Mauro Carvalho Chehab commit 48223c88299a10a62ff5f5e40bd07670a21c3de9 Author: Erik Andrén Date: Thu Nov 27 13:58:20 2008 -0300 V4L/DVB (10029): m5602: remove uneeded test on po1030 The po1030 never sends long i2c messages, no need to test for that in the init phase. Signed-off-by: Erik Andrén Signed-off-by: Mauro Carvalho Chehab commit 83fdea270ca5a648185525f61d27c9068355215c Author: Erik Andrén Date: Thu Nov 27 13:55:07 2008 -0300 V4L/DVB (10028): mt5602: Remove the s5k83a specific read_sensor function Signed-off-by: Erik Andrén Signed-off-by: Mauro Carvalho Chehab commit 6b9c0a2aad5a64ee7eb605e35bc761d901782d25 Author: Erik Andrén Date: Thu Nov 27 13:54:13 2008 -0300 V4L/DVB (10027): m5602: convert the s5k83a sensor to use the common function Convert the s5k83a sensor to use the common read_sensor function Signed-off-by: Erik Andrén Signed-off-by: Mauro Carvalho Chehab commit 62e856dc2fa49d3fc0b5d0b7b315236ea49c5f34 Author: Erik Andrén Date: Thu Nov 27 13:52:53 2008 -0300 V4L/DVB (10026): m5602: remove the s5k4aa implementation of the read_sensor Signed-off-by: Erik Andrén Signed-off-by: Mauro Carvalho Chehab commit 4feb24fc2643dc612b3c598c5de062cfbb08e6ea Author: Erik Andrén Date: Thu Nov 27 13:51:11 2008 -0300 V4L/DVB (10025): m5602: convert the s5k4aa sensor to use the common function Convert the s5k4aa sensor to use the common read_sensor function Signed-off-by: Erik Andrén Signed-off-by: Mauro Carvalho Chehab commit f1c6171c4b7b2882a67db6a24c8699fa0efab42f Author: Erik Andrén Date: Thu Nov 27 13:50:17 2008 -0300 V4L/DVB (10024): m5602: Remove the mt9m111 implementation of the read_sensor function. Signed-off-by: Erik Andrén Signed-off-by: Mauro Carvalho Chehab commit 4f93c450e8320d906ae50c75f2c8696516b5ccf3 Author: Erik Andrén Date: Thu Nov 27 13:48:33 2008 -0300 V4L/DVB (10023): m5602: Convert the mt9m111 to use the common read_sensor function Signed-off-by: Erik Andrén Signed-off-by: Mauro Carvalho Chehab commit 2f5ded9b99fa2cfa86a0f08993a932c1e6b47560 Author: Erik Andrén Date: Thu Nov 27 13:47:21 2008 -0300 V4L/DVB (10022): m5602: Remove the po1030 read_sensor function Signed-off-by: Erik Andrén Signed-off-by: Mauro Carvalho Chehab commit c061c97e8db75eb5bab808dcfa93df3767c97b5a Author: Erik Andrén Date: Thu Nov 27 13:46:39 2008 -0300 V4L/DVB (10021): m5602: Let the po1030 use the common read_sensor function Signed-off-by: Erik Andrén Signed-off-by: Mauro Carvalho Chehab commit b66503e30e9f4dc137128364277a988f8b40fa80 Author: Erik Andrén Date: Thu Nov 27 13:44:19 2008 -0300 V4L/DVB (10020): m5602: Remove the ov9650 implementation of the read sensor function Signed-off-by: Erik Andrén Signed-off-by: Mauro Carvalho Chehab commit 905aabafc4051a8313168b1dd20949b8108fbbb2 Author: Erik Andrén Date: Thu Nov 27 13:42:45 2008 -0300 V4L/DVB (10019): m5602: Let the ov9650 use the common read sensor function Signed-off-by: Erik Andrén Signed-off-by: Mauro Carvalho Chehab commit edbfbdb3bdcf9ae90ce06b92636a07c05224fe45 Author: Erik Andrén Date: Thu Nov 27 13:41:55 2008 -0300 V4L/DVB (10018): gspca - m5602 - ov9650: Use generic read_sensor function Toggle read sensor sequence depending on type of sensor. Check that no more than max width of a sensor is read. Signed-off-by: Erik Andrén Signed-off-by: Mauro Carvalho Chehab commit e7a7f5103bddf2491760677cdd715a865b889072 Author: Erik Andrén Date: Wed Nov 26 13:15:35 2008 -0300 V4L/DVB (10015): gspca - m5602: Add initial read sensor implementation Signed-off-by: Erik Andrén Signed-off-by: Mauro Carvalho Chehab commit fce65f6515f049dea9451afaa0e85af01aecd190 Author: Erik Andrén Date: Wed Nov 26 04:12:59 2008 -0300 V4L/DVB (10014): gspca - m5602: Remove all sensor specific write functions. Signed-off-by: Erik Andrén Signed-off-by: Mauro Carvalho Chehab commit 6dc4cff0c391c691dae56486f854534658fdfea8 Author: Erik Andrén Date: Wed Nov 26 04:08:10 2008 -0300 V4L/DVB (10013): Convert all sensors to use the unified write sensor function Signed-off-by: Erik Andrén Signed-off-by: Mauro Carvalho Chehab commit 4b8f393391c0492ebec1277d073203392c90677d Author: Erik Andrén Date: Wed Nov 26 04:01:40 2008 -0300 V4L/DVB (10012): m5602: Start to unify read/write sensor functions First step into unifying the read and write sensor functions Signed-off-by: Erik Andrén Signed-off-by: Mauro Carvalho Chehab commit d58626c21d8cafe56eb8cdf883d1d6710dc3fc81 Author: Erik Andrén Date: Tue Nov 25 03:50:05 2008 -0300 V4L/DVB (10011): m5602: Remove the write and read sensor from the main struct Signed-off-by: Erik Andrén Signed-off-by: Mauro Carvalho Chehab commit 3efb6bda0788796f0086722ceb608c11d945e55f Author: Erik Andrén Date: Tue Nov 25 03:15:15 2008 -0300 V4L/DVB (10010): gspca - m5602: Add vflip quirk for the ASUS A6Ja Signed-off-by: Erik Andrén Signed-off-by: Mauro Carvalho Chehab commit 658efb63e4d0620369c301d9401acde10499def2 Author: Erik Andrén Date: Mon Nov 24 14:21:29 2008 -0300 V4L/DVB (10009): gspca - m5602: Convert some functions to be static Signed-off-by: Erik Andrén Signed-off-by: Mauro Carvalho Chehab commit 082ec3b865f42f722ea304f0d9f05f3124c37388 Author: Erik Andrén Date: Mon Nov 24 14:12:46 2008 -0300 V4L/DVB (10008): gspca - m5602: Checkpatch.pl fixes on m5602_ov9650.c Signed-off-by: Erik Andrén Signed-off-by: Mauro Carvalho Chehab commit 7b2cd079ec8dcc65cdca6621245cfa5e30a8ef9f Author: Erik Andrén Date: Thu Nov 20 14:11:58 2008 -0300 V4L/DVB (10007): gspca - m5602: Refactor the error handling in the s5k83a Signed-off-by: Erik Andrén Signed-off-by: Mauro Carvalho Chehab commit bac79f37be2944f7a1db7585b347ca57628d57e2 Author: Erik Andrén Date: Thu Nov 20 14:03:22 2008 -0300 V4L/DVB (10006): gspca - m5602: Align some defines Signed-off-by: Erik Andrén Signed-off-by: Mauro Carvalho Chehab commit 32500701e572f07e4d9c8e10c6c26d09c28f48a4 Author: Erik Andrén Date: Thu Nov 20 04:02:44 2008 -0300 V4L/DVB (10005): m5602: Cleanup the s5k4aa error handling, cull some comments Signed-off-by: Erik Andrén Signed-off-by: Mauro Carvalho Chehab commit 7b9f246738869e6a55bf180441598e8daa72a99e Author: Erik Andrén Date: Thu Nov 20 03:59:02 2008 -0300 V4L/DVB (10004): m5602: Cleanup the po1030 sensor error handling Signed-off-by: Erik Andrén Signed-off-by: Mauro Carvalho Chehab commit e07b14e80be3d93807a6dc01edb80e0cc38040ad Author: Erik Andrén Date: Thu Nov 20 03:54:43 2008 -0300 V4L/DVB (10003): m5602: Simplify the error handling in the ov9650 sensor Signed-off-by: Erik Andrén Signed-off-by: Mauro Carvalho Chehab commit 8bcbc91149bf77dfcc079be911289221f2755b3f Author: Erik Andrén Date: Thu Nov 20 03:46:55 2008 -0300 V4L/DVB (10002): m5602: Simplify error handling in the mt9m111 sensor code Signed-off-by: Erik Andrén Signed-off-by: Mauro Carvalho Chehab commit 619a4d5ca127e80583fb9d269681164363be983e Author: Erik Andrén Date: Thu Nov 20 03:41:44 2008 -0300 V4L/DVB (10001): gspca - m5602: Minor fixes Signed-off-by: Erik Andrén Signed-off-by: Mauro Carvalho Chehab commit 84833a3f4e22907379462e8a7c18970db70d21d8 Author: Erik Andrén Date: Wed Nov 19 17:58:55 2008 -0300 V4L/DVB (10000): gspca - m5602: Add lost ampersand This restores the correct boolean expression Signed-off-by: Erik Andrén Signed-off-by: Mauro Carvalho Chehab commit 88a40cfbf25d82758237250a04d9bed51266215c Author: Fabio Rossi Date: Fri Dec 26 14:41:48 2008 -0300 V4L/DVB (9999): gspca - zc3xx: Webcam 046d:089d added. Signed-off-by: Fabio Rossi Signed-off-by: Jean-Francois Moine Signed-off-by: Mauro Carvalho Chehab commit c6b6c75e206a4da19ff139ea6b34c80306ebbf06 Author: Jean-Francois Moine Date: Wed Dec 24 05:50:04 2008 -0300 V4L/DVB (9997): gspca - main: Don't lock the kernel on ioctl. Signed-off-by: Jean-Francois Moine Signed-off-by: Mauro Carvalho Chehab commit 5c1a15a149504496b25ee3f681893cbe1647ba39 Author: Jean-Francois Moine Date: Sun Dec 21 15:02:54 2008 -0300 V4L/DVB (9995): gspca - ov534 and m5602: Set static some functions/variables. Signed-off-by: Jean-Francois Moine Signed-off-by: Mauro Carvalho Chehab commit 97a53a0fd4d877b1c83cf03db1d2a18583a281db Author: Roel Kluin Date: Sun Dec 21 11:58:05 2008 -0300 V4L/DVB (9994): gspca: t613: Bad loop in om6802 reset. Signed-off-by: Roel Kluin Signed-off-by: Jean-Francois Moine Signed-off-by: Mauro Carvalho Chehab commit 87945895bf14b0b4dacbcef6dc08f284177affc8 Author: Hans de Goede Date: Sat Dec 20 14:30:58 2008 -0300 V4L/DVB (9992): gspca - pac207: Webcam 093a:2461 added. Signed-off-by: Hans de Goede Signed-off-by: Jean-Francois Moine Signed-off-by: Mauro Carvalho Chehab commit 1edabe71277a394b306fcb9a28a1977f345c8a20 Author: Jean-Francois Moine Date: Fri Dec 19 15:17:25 2008 -0300 V4L/DVB (9991): gspca - main: Check if a buffer has been queued on streamon. Signed-off-by: Jean-Francois Moine Signed-off-by: Mauro Carvalho Chehab commit 13752bd9c9db4b9baf847fcb6bb281ba48466dd3 Author: Jean-Francois Moine Date: Fri Dec 19 15:08:51 2008 -0300 V4L/DVB (9990): gspca - main: Remove useless tests of the buffer type. The buffer type is already checked in v4l2-ioctl. Signed-off-by: Jean-Francois Moine Signed-off-by: Mauro Carvalho Chehab commit f8a04a6fc4373001a7f311540dba5e4f4d86300f Author: Jean-Francois Moine Date: Fri Dec 19 07:21:26 2008 -0300 V4L/DVB (9988): gspca - spca561: Separate the bridge and sensor tables of Rev72a Signed-off-by: Jean-Francois Moine Signed-off-by: Mauro Carvalho Chehab commit 5b7ed28ec5deb57f790e38af8d813310b830743c Author: Jean-Francois Moine Date: Thu Dec 18 12:38:15 2008 -0300 V4L/DVB (9987): gspca - spca561: Control changes for Rev72a. - move the rev12a sequence from setcontrast to end of start - add the white balance control for rev72a - adjust the contrast formula Signed-off-by: Jean-Francois Moine Signed-off-by: Mauro Carvalho Chehab commit f4b59e353239d3c8e2456a986e42f4c87cfcef9f Author: Jean-Francois Moine Date: Wed Dec 17 14:43:05 2008 -0300 V4L/DVB (9986): gspca - spca561: Don't get the control values from the webcam. Signed-off-by: Jean-Francois Moine Signed-off-by: Mauro Carvalho Chehab commit 35dc1b4cfa75dc0fa5ed44991b41db814e0f7741 Author: Jean-Francois Moine Date: Wed Dec 17 14:34:53 2008 -0300 V4L/DVB (9985): gspca - spca561: Cleanup source. Signed-off-by: Jean-Francois Moine Signed-off-by: Mauro Carvalho Chehab commit ca8959bb07f27514f811200b4f71669b1783dc54 Author: Jean-Francois Moine Date: Mon Dec 15 04:12:57 2008 -0300 V4L/DVB (9984): gspca - pac7311: Webcam 093a:262c added. Signed-off-by: Jean-Francois Moine Signed-off-by: Mauro Carvalho Chehab commit dc1fe157dd679c7b3036a4808db40862a01d53fe Author: Hans de Goede Date: Sun Dec 14 09:37:02 2008 -0300 V4L/DVB (9982): gspca - pac207: Update my email address. Signed-off-by: Hans de Goede Signed-off-by: Jean-Francois Moine Signed-off-by: Mauro Carvalho Chehab commit d29ca09d50309bb7df5d57aec88efdcd09a56f9f Author: Thomas Reitmayr Date: Mon Dec 29 10:59:29 2008 -0300 V4L/DVB (9981): [PATCH] usb-urb.c: Fix initialization of URB list. Fix the initialization of the URB list for a DVB-USB device to prevent problems on certain platforms (MIPS). Signed-off-by: Thomas Reitmayr Signed-off-by: Patrick Boettcher Signed-off-by: Mauro Carvalho Chehab commit 2e5ef2dfc45ff1ecebb0d8657b85b3fc716db9bf Author: Mauro Carvalho Chehab Date: Sun Dec 28 22:26:36 2008 -0300 V4L/DVB (9980): em28xx: simplify analog logic Now, just two routines are enough for analog: the first one configs the analog part and register V4L2 devices, and the second one release analog devices. After this patch, it will be easier to transform em28xx-video into an em28xx extension, loaded only on analog devices. Signed-off-by: Mauro Carvalho Chehab commit 1a23f81b7dc3115b29cff0e4f58b5dd04a6242ad Author: Mauro Carvalho Chehab Date: Sun Dec 28 22:18:14 2008 -0300 V4L/DVB (9979): em28xx: move usb probe code to a proper place em28xx-video were holding several code that are not specific to V4L2 interface. This patch moves the core code for em28xx-core, and usb probing code into em28xx-cards. This opens the possibility of breaking em28xx into a core module and a V4L2 module, loaded only on devices that have analog interfaces. Some cleanup may be done at em28xx-cards to optimize the config code. Signed-off-by: Mauro Carvalho Chehab commit 126be90f720d9b23e89c68519022fb806882f42d Author: Jaime Velasco Juan Date: Thu Dec 25 07:04:52 2008 -0300 V4L/DVB (9978): stkwebcam: Implement VIDIOC_ENUM_FRAMESIZES ioctl This patch implements VIDIOC_ENUM_FRAMESIZES, it is used at least by gstreamer. Signed-off-by: Jaime Velasco Juan Signed-off-by: Mauro Carvalho Chehab commit 71050814c21a461fb7950373f2ae2fc625412f20 Author: Mauro Carvalho Chehab Date: Fri Dec 26 07:07:39 2008 -0300 V4L/DVB (9977): Kbuild: fix compilation when dib7000p is not defined dib7000p.h defines a few extern symbols when CONFIG_DVB_DIB7000P is not set. since the header is used on more than one driver, this causes symbol duplication, as pointed by Ingo Molnar : drivers/media/dvb/built-in.o: In function `dib7000p_set_gpio': (.text+0x3f242): multiple definition of `dib7000p_set_gpio' drivers/media/video/built-in.o:(.text+0xb8c1e): first defined here drivers/media/dvb/built-in.o: In function `dib7000p_i2c_enumeration': (.text+0x3f282): multiple definition of `dib7000p_i2c_enumeration' drivers/media/video/built-in.o:(.text+0xb8c3e): first defined here drivers/media/dvb/built-in.o: In function `dib7000p_set_wbd_ref': (.text+0x3f1c1): multiple definition of `dib7000p_set_wbd_ref' drivers/media/video/built-in.o:(.text+0xb8bfe): first defined here LD drivers/net/built-in.o make[2]: *** [drivers/media/built-in.o] Error 1 Cc: Patrick Boettcher Signed-off-by: Mauro Carvalho Chehab commit 4efc9abfde232a74ed1a4c2c1f797bdacf7bda53 Author: Hans Verkuil Date: Tue Dec 23 07:35:45 2008 -0300 V4L/DVB (9975): ivtv: set v4l2_dev instead of parent. Signed-off-by: Hans Verkuil Signed-off-by: Mauro Carvalho Chehab commit 9bea3514dd4a44490b53cc52498b2967e48056dd Author: Hans Verkuil Date: Tue Dec 23 07:35:17 2008 -0300 V4L/DVB (9974): v4l2-dev: allow drivers to pass v4l2_device as parent Drivers that use v4l2_device can set that as parent pointer in the v4l2_dev field instead of using the struct device parent field. This allows v4l2-dev.c to check whether this driver is v4l2_device based, and if so then it can offer additional services. Signed-off-by: Hans Verkuil Signed-off-by: Mauro Carvalho Chehab commit dc93a70cc7f92e1dbaf29fa7dfd914b0f618fb31 Author: Hans Verkuil Date: Fri Dec 19 21:28:27 2008 -0300 V4L/DVB (9973): v4l2-dev: use the release callback from device instead of cdev Instead of relying on the cdev release callback we should rely on the release callback from the device struct. This requires that we use get_device/put_device to do proper refcounting. In order to do this safely v4l2-dev.c now sets up its own file_operations that call out to the driver's ops. Signed-off-by: Hans Verkuil Signed-off-by: Mauro Carvalho Chehab commit be49e368fb6e20c3a90c566b040ac3d248e2ce29 Author: Jiri Slaby Date: Mon Dec 22 22:38:23 2008 -0300 V4L/DVB (9972): v4l: usbvideo, fix module ref count check usbvideo_ClientIncModCount may return value < 0 in the case of error, not > 0. Signed-off-by: Jiri Slaby Signed-off-by: Andrew Morton Signed-off-by: Mauro Carvalho Chehab commit 14983d8163c78826386404b27ee5bfc72e25a9d4 Author: Mauro Carvalho Chehab Date: Mon Dec 22 20:58:41 2008 -0300 V4L/DVB (9970): em28xx: Allow get/set registers for debug on i2c slave chips Signed-off-by: Mauro Carvalho Chehab commit bc97430510960846b6e8f2d62c503653031991e1 Author: Mauro Carvalho Chehab Date: Mon Dec 22 20:34:18 2008 -0300 V4L/DVB (9969): tvp5150: add support for VIDIOC_G_CHIP_IDENT ioctl Signed-off-by: Mauro Carvalho Chehab commit b3ee7e21f25cdd50cccc906dc09e547f36166372 Author: Hans Verkuil Date: Fri Dec 19 10:34:22 2008 -0300 V4L/DVB (9967): cs5345: convert to v4l2_subdev and fix broken s_ctrl. Converted to v4l2_subdev. While doing that I also discovered a stray 'break' that broke the S_CTRL handling. Fixed that as well. Signed-off-by: Hans Verkuil Signed-off-by: Mauro Carvalho Chehab commit 12f91a3fac52ea0fb0913b4e0e66e7357f31251c Author: Hans Verkuil Date: Thu Dec 18 13:43:45 2008 -0300 V4L/DVB (9966): tda9875: convert to v4l2_subdev. Signed-off-by: Hans Verkuil Signed-off-by: Mauro Carvalho Chehab commit 973909e816baa85a969d2edd5ac12a1ca8669cec Author: Hans Verkuil Date: Thu Dec 18 13:21:57 2008 -0300 V4L/DVB (9965): tda9840: convert to v4l2_subdev. Signed-off-by: Hans Verkuil Signed-off-by: Mauro Carvalho Chehab commit d531305ae148d5a401f34cd64434824f5cb8c2b1 Author: Hans Verkuil Date: Thu Dec 18 13:04:05 2008 -0300 V4L/DVB (9964): tda7432: convert to v4l2_subdev. Signed-off-by: Hans Verkuil Signed-off-by: Mauro Carvalho Chehab commit 6869ffe80e4d662a99cea70acad087bb71beb21a Author: Hans Verkuil Date: Thu Dec 18 12:43:56 2008 -0300 V4L/DVB (9963): tlv320aic23b: convert to v4l2_subdev. Signed-off-by: Hans Verkuil Signed-off-by: Mauro Carvalho Chehab commit 2a5b828d753de1675497a319cd4fa67f4dfbb46a Author: Hans Verkuil Date: Thu Dec 18 12:33:45 2008 -0300 V4L/DVB (9962): tea6420: convert to v4l2_subdev. Signed-off-by: Hans Verkuil Signed-off-by: Mauro Carvalho Chehab commit 85d826b01751c17bc70a97bcacc1886f0c79917d Author: Hans Verkuil Date: Thu Dec 18 12:29:07 2008 -0300 V4L/DVB (9961): tea6415c: convert to v4l2_subdev. Signed-off-by: Hans Verkuil Signed-off-by: Mauro Carvalho Chehab commit 035f8dc1e478c67ea2682fde8f26ee9d0982a2e7 Author: Hans Verkuil Date: Thu Dec 18 12:27:28 2008 -0300 V4L/DVB (9960): v4l2-subdev: ioctl ops should use unsigned for cmd arg. Signed-off-by: Hans Verkuil Signed-off-by: Mauro Carvalho Chehab commit 64f70e7e30a074d4f0422679eaa994fa52ba84fc Author: Hans Verkuil Date: Thu Dec 18 12:11:32 2008 -0300 V4L/DVB (9959): tvaudio: convert to v4l2_subdev. Signed-off-by: Hans Verkuil Signed-off-by: Mauro Carvalho Chehab commit 6b8fe02557fcf5edd228ec1e3a6a7f8a86b294a6 Author: Hans Verkuil Date: Thu Dec 18 11:17:25 2008 -0300 V4L/DVB (9958): tvp5150: convert to v4l2_subdev. Signed-off-by: Hans Verkuil Signed-off-by: Mauro Carvalho Chehab commit 1fe2740ff10b3de1aab8f88f2f05547e5f369035 Author: Hans Verkuil Date: Thu Dec 18 11:16:24 2008 -0300 V4L/DVB (9957): v4l2-subdev: add g_sliced_vbi_cap and add NULL pointer checks Signed-off-by: Hans Verkuil Signed-off-by: Mauro Carvalho Chehab commit 531c98e71805b32e9ea35a218119100bbd2b7615 Author: Mauro Carvalho Chehab Date: Mon Dec 22 13:18:27 2008 -0300 V4L/DVB (9953): em28xx: Add suport for debugging AC97 anciliary chips The em28xx driver can be coupled to an anciliary AC97 chip. This patch allows read/write AC97 registers directly. Signed-off-by: Mauro Carvalho Chehab commit 4b00eb25340c1a9b9eedaf0bc5b0f0d18eddb028 Author: Hans Verkuil Date: Fri Dec 19 11:17:56 2008 -0300 V4L/DVB (9944): videodev2.h: fix typo. The comment said CX2584X instead of CX2341X. Signed-off-by: Hans Verkuil Signed-off-by: Mauro Carvalho Chehab commit a47ddf1425554ca0b1e9b16b20a9d631e5daaaa8 Author: Hans Verkuil Date: Fri Dec 19 10:20:22 2008 -0300 V4L/DVB (9943): v4l2: document video_device. Add the missing video_device documentation to v4l2-framework.txt. Signed-off-by: Hans Verkuil Signed-off-by: Mauro Carvalho Chehab commit 806e5b7cfa96195baadc4cc4663266aaac92e22b Author: Hans Verkuil Date: Fri Dec 19 09:10:56 2008 -0300 V4L/DVB (9942): v4l2-dev: check for parent device in get_index. get_index requires a valid parent device in order to discover which indices are in use. Some drivers (e.g. pvrusb2) do not set the parent device. In that case just return 0. Signed-off-by: Hans Verkuil Signed-off-by: Mauro Carvalho Chehab commit cfbd3072890e119639b97a133d84c13d25bba034 Author: Hans Verkuil Date: Fri Dec 19 07:36:46 2008 -0300 V4L/DVB (9941): cx24113: fix compile warnings Signed-off-by: Hans Verkuil Signed-off-by: Mauro Carvalho Chehab commit 77587c5627aab50636ea0f93c28d2013cd0b7004 Author: Hans Verkuil Date: Fri Dec 19 07:18:38 2008 -0300 V4L/DVB (9940): bt832: remove this driver The bt832 i2c driver was never used or even compiled and is no longer maintained. It is now removed completely. Signed-off-by: Hans Verkuil Signed-off-by: Mauro Carvalho Chehab commit 49dd1315fae94ef6161f72c7be961560d3309f17 Author: Hans Verkuil Date: Fri Dec 19 07:07:56 2008 -0300 V4L/DVB (9939): tuner: fix tuner_ioctl compile error if V4L1 ioctls are disabled. Signed-off-by: Hans Verkuil Signed-off-by: Mauro Carvalho Chehab commit 55d81aa5c11f9da510a72cc48fd59689b3e91e3a Author: Andy Walls Date: Sat Dec 20 23:48:57 2008 -0300 V4L/DVB (9937): cx18: Use a consistent crystal value for computing all PLL parameters Use a consistent crystal value of 28.636360 MHz for computing all PLL parameters so clocks don't have relative error due to assumed crystal value mismatches. Also aimed to have all PLLs run their VOCs at close to 400 MHz to minimze the error of these PLLs as frequency synthesizers. Also set the VDCLK and AIMCLK PLLs to sane values before the APU and CPU firmware are loaded. Also fixed I2S Master clock dividers. Many thanks to Mike Bradley and Jeff Campbell for reporting this problem and suggesting the solution, researching and experimenting, and performing extensive testing to support their suggested solution. Reported-by: Jeff Campbell Reported-by: Mike Bradley Signed-off-by: Andy Walls Signed-off-by: Mauro Carvalho Chehab commit 57e24b629a5282bee24aaff44977270a3e462041 Author: Andy Walls Date: Sat Dec 20 23:26:38 2008 -0300 V4L/DVB (9936): cx18: Disable locking of Video and Audio PLL for analog captures Disable AV_LOCK, locking of audio PLL to video PLL in the cx18-av-core for analog captures. It seems to have adverse effects on captures from SVideo and CVBS sources with current clock & crystal settings in the driver. Many thanks to Jeff Campbell and Mike Bradley for reporting this problem, and suggesting the solution and performing extensive testing to support their suggestion. Reported-by: Jeff Campbell Reported-by: Mike Bradley Signed-off-by: Andy Walls Signed-off-by: Mauro Carvalho Chehab commit 15029b39bb95a765b57ad81f5062718b10422072 Author: Hans Verkuil Date: Sun Dec 21 10:44:24 2008 -0300 V4L/DVB (9934): v4l2-compat32: add two additional #ifdef __OLD_VIDIOC_ lines Signed-off-by: Hans Verkuil Signed-off-by: Mauro Carvalho Chehab commit 92f45badbbaccdbc1be25085292a1e258948e221 Author: Hans Verkuil Date: Sun Dec 21 10:35:25 2008 -0300 V4L/DVB (9932): v4l2-compat32: fix 32-64 compatibility module Added all missing v4l1/2 ioctls and fix several broken conversions. Partially based on work done by Cody Pisto . Tested-by: Brandon Jenkins Signed-off-by: Hans Verkuil Signed-off-by: Mauro Carvalho Chehab commit b6070f0756fe1bccda1c8c67a6bfdfa51022b664 Author: Mauro Carvalho Chehab Date: Mon Dec 22 06:20:32 2008 -0300 V4L/DVB (9931): em28xx: de-obfuscate vidioc_g_ctrl logic vidioc_g_ctrl() were using an uneeded confusing logic. Instead, use the direct approach. Signed-off-by: Mauro Carvalho Chehab commit 5db0b5e1adff92dac54f2dfb1846a42501c8f7d9 Author: Mauro Carvalho Chehab Date: Mon Dec 22 06:14:31 2008 -0300 V4L/DVB (9930): em28xx: Fix bad locks on error condition Signed-off-by: Mauro Carvalho Chehab commit 02ebf23bc20eee5d91d008a9e831e7768d963946 Author: Alan Nisota Date: Sat Dec 20 12:03:06 2008 -0300 V4L/DVB (9928): Convert GP8PSK module to use S2API This patch converts the gp8psk module to use the S2API. It pretends to be DVB-S2 capable in order to allow the various supported modulations (8PSK, QPSK-Turbo, etc), and keep software compatibility with the S2API patches for Mythtv and VDR. Signed-off by: Alan Nisota Signed-off-by: Mauro Carvalho Chehab commit bddcf63313c6a4a85f94db092f45e31f530da691 Author: Mauro Carvalho Chehab Date: Sat Dec 20 09:06:37 2008 -0300 V4L/DVB (9927): em28xx: use a more standard way to specify video formats This patch uses the same code for enumberating video formats that are present on cx88, bttv and saa7134 drivers. Signed-off-by: Mauro Carvalho Chehab commit 381aaba91de9659ccb8c061d6b7248e606903374 Author: Mauro Carvalho Chehab Date: Sat Dec 20 07:43:34 2008 -0300 V4L/DVB (9926): em28xx: Fix a bug that were putting xc2028/3028 tuner to sleep The changeset 78aa52a159cf introduced a bug on em28xx: buffer setup should be awaking xc3028. Instead, since we didn't specify the tuner mode, the device were going to sleep, due to the lack of tuner mode when asking tuner to handle VIDIOC_S_FREQUENCY: xc2028 0-0061: Device is Xceive 3028 version 1.0, firmware version 2.7 xc2028 0-0061: divisor= 00 00 14 d0 (freq=83.250) xc2028 0-0061: Putting xc2028/3028 into poweroff mode. xc2028 0-0061: Printing sleep stack trace: Pid: 10936, comm: mplayer Tainted: P M 2.6.27.8 #1 Call Trace: [] xc2028_sleep+0x89/0x1ab [tuner_xc2028] [] tuner_s_frequency+0xf5/0x165 [tuner] Signed-off-by: Mauro Carvalho Chehab commit 16a5e53d09227a080410b0385a7884bf7b84bc06 Author: Mauro Carvalho Chehab Date: Sat Dec 20 07:17:10 2008 -0300 V4L/DVB (9925): tuner-core: add debug msg's when asking tuner to sleep Signed-off-by: Mauro Carvalho Chehab commit d553cc958aacdc3cdfcecd675b15458aa156c736 Author: Devin Heitmueller Date: Wed Dec 17 02:25:00 2008 -0300 V4L/DVB (9923): xc5000: remove init_fw option The init_fw option was broken for the HVR-950q because we would call the reset callback inside of dvb_attach() and the callback had not been setup yet. Michael Krufky (who added the init_fw feature) says it's no longer required, so just remove the option completely. Thanks to user Zzeiss from #linuxtv chat for reporting the issue and Michael Krufky for proposing the fix. Signed-off-by: Devin Heitmueller Acked-by: Michael Krufky Signed-off-by: Mauro Carvalho Chehab commit c665f4dd99a584036c2bd79a6baa25b06cae42f8 Author: Devin Heitmueller Date: Tue Dec 16 23:35:23 2008 -0300 V4L/DVB (9922): em28xx: don't assume every eb1a:2820 reference design is a Prolink PlayTV USB2 Don't operate under the assumption that every device that uses the em2820 default USB ID is a Prolink PlayTV USB. We have an eeprom hash, so use that, since otherwise we cannot support other devices with the 2820 default USB ID (such as the ADS Tech Instant TV USB USBAV-704) Signed-off-by: Devin Heitmueller Signed-off-by: Mauro Carvalho Chehab commit b1fa26c66c975bbd3173a45ef673870fd1d52dea Author: Devin Heitmueller Date: Tue Dec 16 23:15:33 2008 -0300 V4L/DVB (9921): em28xx: add chip id for em2874 Add the em2870 to the list of known em28xx chip ids. Signed-off-by: Devin Heitmueller Signed-off-by: Mauro Carvalho Chehab commit 793927372626bae48b32db24dddde40d73923a9c Author: Darron Broad Date: Thu Dec 18 06:28:35 2008 -0300 V4L/DVB (9918): cx88: advise/acquire clean-up for HVR-1300/3000/4000 This cleans-up the advise/acquire methods. This has been tested on the hvr-1300/4000 and assumed to be correct on the hvr-3000. This update also fixes analogue tuning on the hvr-1300 when in blackbird mode. Signed-off-by: Darron Broad Cc: Steven Toth Signed-off-by: Mauro Carvalho Chehab commit 6639f1e060c2d2f3331ba6bcefe8f65b623365f3 Author: Darron Broad Date: Thu Dec 18 06:28:18 2008 -0300 V4L/DVB (9917): cx24116: change to ALGO_HW Slow tuning, EG: > szap-s2 -r -c 39.FTATV "1=Pgm1;Net1" reading channels from file '39.FTATV' zapping to 3 '1=Pgm1;Net1': delivery DVB-S, modulation QPSK sat 0, frequency 11140 MHz V, symbolrate 1425000, coderate 5/6, rolloff 0.35 vpid 0x0200, apid 0x0300, sid 0x0001 using '/dev/dvb/adapter0/frontend0' and '/dev/dvb/adapter0/demux0' status 00 | signal c2c0 | snr 0000 | ber 00012d4a | unc 00000000 | status 03 | signal ff80 | snr 0000 | ber 00000000 | unc 00000000 | status 01 | signal ff80 | snr 0000 | ber 00000000 | unc 00000000 | status 01 | signal ff80 | snr 0000 | ber 00000000 | unc 00000000 | status 03 | signal c040 | snr 0000 | ber 00000000 | unc 00000000 | status 03 | signal ff80 | snr 0000 | ber 00000000 | unc 00000000 | status 01 | signal ff80 | snr 0000 | ber 00000000 | unc 00000000 | status 03 | signal c040 | snr 0000 | ber 00000000 | unc 00000000 | status 01 | signal ff80 | snr 0000 | ber 00000000 | unc 00000000 | status 01 | signal ff80 | snr 0000 | ber 00000000 | unc 00000000 | status 01 | signal c040 | snr 0000 | ber 00000000 | unc 00000000 | status 01 | signal ff80 | snr 0000 | ber 00000000 | unc 00000000 | status 01 | signal ff80 | snr 0000 | ber 00000000 | unc 00000000 | status 01 | signal c040 | snr 0000 | ber 00000000 | unc 00000000 | status 03 | signal c040 | snr 0000 | ber 00000000 | unc 00000000 | status 1f | signal c040 | snr bb33 | ber 00000000 | unc 00000000 | FE_HAS_LOCK Appears to be resolved by dropping zig-zag tuning and relying on hardware only: > szap-s2 -r -c 39.FTATV "1=Pgm1;Net1" reading channels from file '39.FTATV' zapping to 3 '1=Pgm1;Net1': delivery DVB-S, modulation QPSK sat 0, frequency 11140 MHz V, symbolrate 1425000, coderate 5/6, rolloff 0.35 vpid 0x0200, apid 0x0300, sid 0x0001 using '/dev/dvb/adapter0/frontend0' and '/dev/dvb/adapter0/demux0' status 01 | signal ff80 | snr 0000 | ber 00000000 | unc 00000000 | status 1f | signal ff80 | snr c199 | ber 00000000 | unc 00000000 | FE_HAS_LOCK status 1f | signal c040 | snr c199 | ber 00000000 | unc 00000000 | FE_HAS_LOCK status 1f | signal ff80 | snr c199 | ber 00000000 | unc 00000000 | FE_HAS_LOCK Tuning to a weaker channel shows that the hardware recovers sync: status 1f | signal fe40 | snr 5199 | ber 00000000 | unc 00000000 | FE_HAS_LOCK status 03 | signal fd40 | snr 5000 | ber 00000000 | unc 00000000 | status 1f | signal fe40 | snr 5000 | ber 00000000 | unc 00000000 | FE_HAS_LOCK status 03 | signal fd80 | snr 5000 | ber 00000000 | unc 00000000 | status 01 | signal fd80 | snr 4e66 | ber 00000000 | unc 00000000 | status 1f | signal fe40 | snr 5000 | ber 00000000 | unc 00000000 | FE_HAS_LOCK status 03 | signal fe40 | snr 5000 | ber 00000000 | unc 00000000 | status 01 | signal fd80 | snr 0000 | ber 00000000 | unc 00000000 | status 1f | signal fe40 | snr 5199 | ber 00000000 | unc 00000000 | FE_HAS_LOCK Also, tuning, moving the dish and then restoring the dish also retunes. Signed-off-by: Darron Broad Cc: Steven Toth Signed-off-by: Mauro Carvalho Chehab commit 2fac9a0f44d1950abb0e16f5d43f88866962ca3c Author: Darron Broad Date: Thu Dec 18 06:27:50 2008 -0300 V4L/DVB (9916): dvb-core: don't add an event when in ONE SHOT mode for algo type HW It has been noticed that in HW tuning mode in cx24123.c that a check is made to not alter the status var when in one shot mode, a simpler solution is to not update here for all cards. Cc: Steven Toth Signed-off-by: Darron Broad Signed-off-by: Mauro Carvalho Chehab commit 2fd9339664bc18a5345bbd6b855ff58273049f32 Author: Darron Broad Date: Thu Dec 18 06:27:23 2008 -0300 V4L/DVB (9915): cx24116: fix retune regression introduced in 70ee86a7c630 Thanks to AKPM for spotting this. Cc: Steven Toth Signed-off-by: Darron Broad Signed-off-by: Mauro Carvalho Chehab commit 3569476dcebc7d6154815239ec982dee77511581 Author: Darron Broad Date: Thu Dec 18 06:21:51 2008 -0300 V4L/DVB (9914): cx24116: bugfix: add missing delsys in FEC lookup Delsys was missing when searching for FEC in table. This fixes FEC lookup for DVB-S2 QPSK modulation. Cc: Steven Toth Signed-off-by: Darron Broad Signed-off-by: Mauro Carvalho Chehab commit e278e746bc95dd1e7aa90eb5b858c309266797cd Author: Mauro Carvalho Chehab Date: Thu Dec 18 06:00:25 2008 -0300 V4L/DVB (9913): tuner-xc2028: allow printing stack trace as debug on sleep code tuner-xc3028 can be put to sleep to save power. However, if not properly recovered from sleep, the device won't work. It is noticed that some devices doesn't recover properly, so let's add a dump_stack() as a debug option, to allow us to track when this happens. Signed-off-by: Mauro Carvalho Chehab commit efc52a94840198eb5ba68107812b879d34959dbb Author: Mauro Carvalho Chehab Date: Tue Dec 16 22:04:56 2008 -0300 V4L/DVB (9912): em28xx: fix/improve em28xx locking schema Changes/fixes on em28xx dev->lock: - em28xx_init_dev() were unlocking without a previous lock; - some read ioctls need to lock after the removal of KBL, since a write may be happening at the same time an ioctl is reading; - keep the device locked during all device initialization; - lock/unlock while reading/writing registers. Signed-off-by: Mauro Carvalho Chehab commit cf8c91c3e77cc26c43cfe6fc47e649b685736259 Author: Mauro Carvalho Chehab Date: Tue Dec 16 20:36:13 2008 -0300 V4L/DVB (9911): em28xx: vidioc_try_fmt_vid_cap() doesn't need any lock vidioc_try_fmt_vid_cap() just checks if a given resolution is supported. It doesn't touch on struct em28xx device descriptor. so, there's no need to lock. While there, use unlikely() for those values that aren't likely to occur. Signed-off-by: Mauro Carvalho Chehab commit 29b59417c514a2c5291abb4e3a42e5245ffe6058 Author: Mauro Carvalho Chehab Date: Tue Dec 16 20:19:24 2008 -0300 V4L/DVB (9910): em28xx: move res_get locks to the caller routines Signed-off-by: Mauro Carvalho Chehab commit 7831364f33af9bb7333f333e9a239b1dd2edea1c Author: Mauro Carvalho Chehab Date: Tue Dec 16 20:00:49 2008 -0300 V4L/DVB (9909): em28xx: move dev->lock from res_free to the caller routines Signed-off-by: Mauro Carvalho Chehab commit 7d4f0b8153608fbfdae26887512fa1fb5229cde9 Author: Hans Verkuil Date: Mon Dec 15 07:19:20 2008 -0300 V4L/DVB (9905): v4l2-compat32: add missing newline after kernel message Signed-off-by: Hans Verkuil Signed-off-by: Mauro Carvalho Chehab commit 69373f6a9cde6a7683d877ca8ad296112fe032e6 Author: Hans Verkuil Date: Mon Dec 15 07:15:32 2008 -0300 V4L/DVB (9904): v4l: fix compile warning. Fix (bogus) compile warning about uninitialized variable. Signed-off-by: Hans Verkuil Signed-off-by: Mauro Carvalho Chehab commit 9768352ac1f9cc3aae675adb299452bd28a54734 Author: Laurent Pinchart Date: Tue Dec 16 06:46:32 2008 -0300 V4L/DVB (9903): uvcvideo: V4L2 zoom controls support Add support for absolute and continuous zoom controls (mapped to absolute and relative UVC zoom controls). Signed-off-by: Laurent Pinchart Signed-off-by: Mauro Carvalho Chehab commit 6df126f834c7f6972528cba43604ce0c97329886 Author: Laurent Pinchart Date: Tue Dec 16 06:44:11 2008 -0300 V4L/DVB (9902): uvcvideo: V4L2 privacy control support Signed-off-by: Laurent Pinchart Signed-off-by: Mauro Carvalho Chehab commit 74980159e75e3a6913d23d1508da57d018fe7436 Author: Laurent Pinchart Date: Sun Dec 14 16:24:04 2008 -0300 V4L/DVB (9899): v4l2: Add missing control names Update v4l2_ctrl_get_name() and v4l2_ctrl_get_menu() with missing control names and menu values. Signed-off-by: Laurent Pinchart Signed-off-by: Mauro Carvalho Chehab commit 046425f8c4ac431db00c09a6d9fba16560b8e5b9 Author: Laurent Pinchart Date: Sun Dec 14 16:22:05 2008 -0300 V4L/DVB (9898): v4l2: Add privacy control The privacy control prevents video from being acquired by the camera. A true value indicates that no image can be captured. Devices that implement the privacy control must support read access and may support write access. Signed-off-by: Laurent Pinchart Signed-off-by: Mauro Carvalho Chehab commit 0877258d98154565def498833ccb208234c85084 Author: Laurent Pinchart Date: Sun Dec 14 16:21:16 2008 -0300 V4L/DVB (9897): v4l2: Add camera zoom controls The zoom controls move the zoom lens group to a an absolute position, as a relative displacement or at a given speed until reaching physical device limits. Positive values move the zoom lens group towards the telephoto direction, negative values towards the wide-angle direction. Signed-off-by: Laurent Pinchart Signed-off-by: Mauro Carvalho Chehab commit fd6b9c978dc3447b9b4677d8949ef3ea7f946abc Author: Andy Walls Date: Sun Dec 14 21:26:25 2008 -0300 V4L/DVB (9895): cx18: Refine the firmware load and firmware startup process Refine the firmware load and firmware startup process. Significant changes are to ensure the SCB and IPC area are correct before starting up the firmware, and letting the CPU firmware start up the APU firmware for us. Signed-off-by: Andy Walls Signed-off-by: Mauro Carvalho Chehab commit 50b86bac6ae6dda00faa14f7d73ae2412eacc240 Author: Andy Walls Date: Sun Nov 23 19:16:44 2008 -0300 V4L/DVB (9894): cx18: Use a known open task handle when setting stream CX2341x parameters cx18: Use a known open task handle when setting stream CX2341x parameters Sometimes, we might only have VBI or YUV stream open instead of an MPEG stream. Let's make sure we use a valid task handle to perform the CX2341x control settings. Signed-off-by: Andy Walls Signed-off-by: Mauro Carvalho Chehab commit f6b181ac3bda7aab227e9ee3148bc9b7f1889c57 Author: Andy Walls Date: Sun Dec 14 21:05:36 2008 -0300 V4L/DVB (9893): cx18: Convert some list manipulations to emphasize entries not lists Signed-off-by: Andy Walls Signed-off-by: Mauro Carvalho Chehab commit aafc77066f4cc8b6de4af1a7d643c9646e19bad9 Author: Andy Walls Date: Sun Dec 14 19:21:35 2008 -0300 V4L/DVB (9892): cx18: VBI comment corrections and comments about VBI issues VBI comment corrections to avoid future confusion about standards. Comments on cx18 VBI implementation shortcomings that need resolution. Signed-off-by: Andy Walls Signed-off-by: Mauro Carvalho Chehab commit 0ef0289264e8f278312909f1639a7764cc9cf580 Author: Andy Walls Date: Sun Dec 14 18:52:12 2008 -0300 V4L/DVB (9891): cx18 Replace magic number 63 with CX18_MAX_FW_MDLS_PER_STREAM Removed magic number that referred to firmware limit on the number of MDLs the firmware can maintain for any stream at any one time. Signed-off-by: Andy Walls Signed-off-by: Mauro Carvalho Chehab commit 83c3a3c8b6a0e7a54ca9fa18b02c90e2d9a889f9 Author: Patrick Boettcher Date: Sun Dec 14 11:56:28 2008 -0300 V4L/DVB (9889): CX24113: Fixed more typos Uwe Bugla pointed out that there are some more typos in some print-statements. Fixed. Signed-off-by: Patrick Boettcher Signed-off-by: Mauro Carvalho Chehab commit 14811ac911780f029113323a325b7b87f1042194 Author: Uwe Bugla Date: Sun Dec 14 09:11:53 2008 -0300 V4L/DVB (9888): Patch: fix a typo in cx24113.c This patch fixes a typo in cx24113.c. Signed-off-by: Uwe Bugla Signed-off-by: Patrick Boettcher Signed-off-by: Mauro Carvalho Chehab commit 826c8b6092f3e1c98dd6236ad212a3c0e292d42e Author: Patrick Boettcher Date: Sun Dec 14 08:59:55 2008 -0300 V4L/DVB (9887): Minor fixes for cx24113-driver (codingstyle) Fixed some minor coding style issues and some driver information printed when using the driver on a board. Signed-off-by: Patrick Boettcher Signed-off-by: Mauro Carvalho Chehab commit 1dc87b6e2fb29777f921c733d78df7eea31e6cc8 Author: Jean-Francois Moine Date: Sun Dec 14 05:50:24 2008 -0300 V4L/DVB (9884): gspca - ov534: Fix a warning when compilation without GSPCA_DEBUG. Signed-off-by: Jean-Francois Moine Signed-off-by: Mauro Carvalho Chehab commit e6e483782772994fe42ef9e8b5b4d6f6376b3d45 Author: Antonio Ospite Date: Sun Dec 14 05:48:07 2008 -0300 V4L/DVB (9883): gspca - ov534: Show sensor ID. The original version of sccb_read_reg() is from Jim Paris. NOTE: as it is now reading sensor ID won't work for sensors on different i2c slave address. Signed-off-by: Antonio Ospite Signed-off-by: Jean-Francois Moine Signed-off-by: Mauro Carvalho Chehab commit 15e3209a30c1b4dd52e937388fb3969d06dc33ec Author: Antonio Ospite Date: Sun Dec 14 05:41:56 2008 -0300 V4L/DVB (9882): gspca - ov534: Fix typo. Signed-off-by: Antonio Ospite Signed-off-by: Jean-Francois Moine Signed-off-by: Mauro Carvalho Chehab commit 47a42b0b9cc9c328ce33af9e4bab58e57d643908 Author: Jean-Francois Moine Date: Sat Dec 13 07:45:34 2008 -0300 V4L/DVB (9880): gspca - vc032x: Add V&H flips and sharpness controls for sensor po1200. Signed-off-by: Jean-Francois Moine Signed-off-by: Mauro Carvalho Chehab commit f8ea4af42b03976eb986742957fc7c581b620937 Author: Jean-Francois Moine Date: Fri Dec 12 04:48:06 2008 -0300 V4L/DVB (9879): gspca - vc032x: Remove the unused quality/qindex. Signed-off-by: Jean-Francois Moine Signed-off-by: Mauro Carvalho Chehab commit d473a002399ff8cd168012f831aca7691d5f5086 Author: Hans de Goede Date: Thu Dec 11 05:02:18 2008 -0300 V4L/DVB (9878): gspca - vc032x: Fix frame overflow errors with vc0321. The vc0321 sends some additional data after sending the complete frame, we ignore this. Signed-off-by: Hans de Goede Signed-off-by: Jean-Francois Moine Signed-off-by: Mauro Carvalho Chehab commit 11d9f25da89523d19dba3608d51a86af2954fc0d Author: Jim Paris Date: Wed Dec 10 06:06:20 2008 -0300 V4L/DVB (9877): gspca - ov534: Add framerate support. Add support for getting and setting framerate via v4l2 controls, rather than setting a fixed value at module insertion. Signed-off-by: Jim Paris Signed-off-by: Jean-Francois Moine Signed-off-by: Mauro Carvalho Chehab commit 627a5ef7893fa127925b99e2597c8210202c75aa Author: Jim Paris Date: Wed Dec 10 06:02:42 2008 -0300 V4L/DVB (9876): gspca - main: Allow subdrivers to handle v4l2_streamparm requests. Add get_streamparm and set_streamparm operations so subdrivers can get/set stream parameters such as framerate. Signed-off-by: Jim Paris Signed-off-by: Jean-Francois Moine Signed-off-by: Mauro Carvalho Chehab commit c06eb61941459b1981817fb675d0104ac0cd6df8 Author: Jim Paris Date: Wed Dec 10 05:47:44 2008 -0300 V4L/DVB (9874): gspca - ov534: Explicitly initialize frame format. Set frame format registers 0x0a and 0x0b to explicit values rather than relying on reset-time defaults. Signed-off-by: Jim Paris Signed-off-by: Jean-Francois Moine Signed-off-by: Mauro Carvalho Chehab commit 0f7a50b29dd9c8603d5ce15c11fd1a1d731e1a6d Author: Jim Paris Date: Wed Dec 10 05:45:14 2008 -0300 V4L/DVB (9873): gspca - ov534: Improve payload handling. Frame data in bulk transfers is separated into 2048-byte payloads. Each payload has its own header. Signed-off-by: Jim Paris Signed-off-by: Jean-Francois Moine Signed-off-by: Mauro Carvalho Chehab commit 8d3f6e3582b762a3b28f52c8093631caee94c03a Author: Jean-Francois Moine Date: Wed Dec 10 05:13:05 2008 -0300 V4L/DVB (9871): gspca - vc032x: Bad detection of sensor mi0360. Signed-off-by: Jean-Francois Moine Signed-off-by: Mauro Carvalho Chehab commit 8852153548b31abb99c1c0772d03f92054f1f80d Author: Jean-Francois Moine Date: Wed Dec 10 05:06:13 2008 -0300 V4L/DVB (9870): gspca - vc032x: Webcam 15b8:6002 and sensor po1200 added. Signed-off-by: Jean-Francois Moine Signed-off-by: Mauro Carvalho Chehab commit 7320d6bf300262b05116309ecf0c6655c818a5da Author: Jean-Francois Moine Date: Mon Dec 8 06:41:04 2008 -0300 V4L/DVB (9869): gspca - zc3xx: Change the USB exchanges for the sensor pas202b. This sensor was declared as hdcs2020. The new exchanges have been extracted from the ms-win file usbvm31b.inf. The light frequency control has been added. Signed-off-by: Jean-Francois Moine Signed-off-by: Mauro Carvalho Chehab commit f4f4ef7618c0839326aa6f462a7c95ed76fb26b6 Author: Jean-Francois Moine Date: Mon Dec 8 06:25:40 2008 -0300 V4L/DVB (9868): gspca - zc3xx: Remove the duplicated register names Signed-off-by: Jean-Francois Moine Signed-off-by: Mauro Carvalho Chehab commit 34e21c34c621821a44bd49f3e889bc17fadfbfa7 Author: Jean-Francois Moine Date: Mon Dec 8 05:17:32 2008 -0300 V4L/DVB (9867): gspca - vc032x: Remove the autogain control. This control was not coded. Signed-off-by: Jean-Francois Moine Signed-off-by: Mauro Carvalho Chehab commit 7dc7ad38f4f375c21ef5e05461639061e6483c73 Author: Jean-Francois Moine Date: Mon Dec 8 05:13:53 2008 -0300 V4L/DVB (9866): gspca - vc032x: V and H flips added for sensors ov7660 and 7670. Signed-off-by: Jean-Francois Moine Signed-off-by: Mauro Carvalho Chehab commit e18fd01e63aada731efbcadba6232fde28a20ff5 Author: Jean-Francois Moine Date: Mon Dec 8 04:48:21 2008 -0300 V4L/DVB (9865): gspca - vc032x: Bad check of the sensor mi0360. Error was due to bad variable names. Signed-off-by: Jean-Francois Moine Signed-off-by: Mauro Carvalho Chehab commit 2961e875ea1b9ef446e7533eff86e6711fd3a727 Author: Romain Beauxis Date: Fri Dec 5 06:25:26 2008 -0300 V4L/DVB (9864): gspca - ov519: Change copyright information. Signed-off-by: Romain Beauxis Signed-off-by: Jean-Francois Moine Signed-off-by: Mauro Carvalho Chehab commit 577cbf49cd793c39f149b526309b080ac4ebbad4 Author: Jean-Francois Moine Date: Fri Dec 5 06:18:37 2008 -0300 V4L/DVB (9863): gspca - sonixj: Cleanup / simplify code. Signed-off-by: Jean-Francois Moine Signed-off-by: Mauro Carvalho Chehab commit 8c252050146fc6f54e9bf5ef8276b25f3dd67a1c Author: Jean-Francois Moine Date: Thu Dec 4 05:06:08 2008 -0300 V4L/DVB (9861): gspca - ov534: Accept many simultaneous webcams. This patch moves the last fid and pts from static to the sd structure. Signed-off-by: Jean-Francois Moine Signed-off-by: Mauro Carvalho Chehab commit fb139224aea3b56237542690516eb9d6d671b135 Author: Jim Paris Date: Thu Dec 4 04:52:40 2008 -0300 V4L/DVB (9860): gspca - ov534: Frame transfer improvements. The indirect registers at 0x1c/0x1d control frame settings. If we leave the values at 0x0a and 0x0b at their reset-time defaults, frame data from the camera matches the UVC payload format. This lets us better reassemble the data into frames and know when data was lost. This also lets us relax the bulk_size requirement from 600K to 2K, which should help systems on with limited RAM (like the PS3). Signed-off-by: Jim Paris Signed-off-by: Jean-Francois Moine Signed-off-by: Mauro Carvalho Chehab commit 5ea9c4def8154a5be836dd31cbd97f49fd34ea8f Author: Jim Paris Date: Thu Dec 4 04:36:14 2008 -0300 V4L/DVB (9859): gspca - ov534: Fix frame size so we don't miss the last pixel. The frame size is too small, so we lose the last YUYV pixel. Fix the setup and remove the last_pixel hack. Signed-off-by: Jim Paris Signed-off-by: Jean-Francois Moine Signed-off-by: Mauro Carvalho Chehab commit 47dfd21fbf4ba303b5fdfad6f4e110e57990803c Author: Jim Paris Date: Thu Dec 4 04:28:27 2008 -0300 V4L/DVB (9858): gspca - ov534: Initialization cleanup. Signed-off-by: Jim Paris Signed-off-by: Jean-Francois Moine Signed-off-by: Mauro Carvalho Chehab commit 442a43f50fac8ce13f1b43ca7c5f54af6f91c65e Author: Antonio Ospite Date: Wed Dec 3 16:21:08 2008 -0300 V4L/DVB (9857): gspca: Use smaller chunks for urb buffer in ov534. Signed-off-by: Antonio Ospite Signed-off-by: Jean-Francois Moine Signed-off-by: Mauro Carvalho Chehab commit 9e1e7b068debea80c3ffbde264d0389b8137b589 Author: Antonio Ospite Date: Wed Dec 3 14:10:01 2008 -0300 V4L/DVB (9856): gspca: Use u8 values for USB control messages in ov534. Signed-off-by: Antonio Ospite Signed-off-by: Jean-Francois Moine Signed-off-by: Mauro Carvalho Chehab commit 3adba442246a81aad29cf99ef55500379b7a3669 Author: Antonio Ospite Date: Wed Dec 3 14:01:54 2008 -0300 V4L/DVB (9855): gspca: Simplify frame rate setting and debug in ov534. Signed-off-by: Antonio Ospite Signed-off-by: Jean-Francois Moine Signed-off-by: Mauro Carvalho Chehab commit a9da98a4336df020e5f089b963295373c6c3e6b9 Author: Jean-Francois Moine Date: Wed Dec 3 07:29:26 2008 -0300 V4L/DVB (9854): gspca: Add the webcam 0c45:60fe in the gspca documentation. Signed-off-by: Jean-Francois Moine Signed-off-by: Mauro Carvalho Chehab commit 121520a7084b48cb26437c6e89d4b491c3e4d4d5 Author: Jean-Francois Moine Date: Wed Dec 3 07:19:22 2008 -0300 V4L/DVB (9853): gspca: Webcam 093a:2622 added in pac7311. Signed-off-by: Jean-Francois Moine Signed-off-by: Mauro Carvalho Chehab commit daa5cb42f12684173e2cfd7d062527ca24916791 Author: Jean-Francois Moine Date: Tue Dec 2 15:00:57 2008 -0300 V4L/DVB (9852): gspca: Fix image problem at low resolutions with ov7660 in sonixj. Signed-off-by: Jean-Francois Moine Signed-off-by: Mauro Carvalho Chehab commit bd088835c78bd402711b16940b80bb761a74fa75 Author: Jean-Francois Moine Date: Tue Dec 2 06:58:57 2008 -0300 V4L/DVB (9850): gspca: Bad color control in sonixj. Signed-off-by: Jean-Francois Moine Signed-off-by: Mauro Carvalho Chehab commit d7bb7317d4caca55de72e5bd2229d68ed7cce7af Author: Jean-Francois Moine Date: Tue Dec 2 06:56:47 2008 -0300 V4L/DVB (9849): gspca: Add the webcam 0c45:613a in the gspca documentation. Signed-off-by: Jean-Francois Moine Signed-off-by: Mauro Carvalho Chehab commit 3319dc98a742d445a660268a6ce3426ad0922e2a Author: Jean-Francois Moine Date: Mon Dec 1 14:44:02 2008 -0300 V4L/DVB (9848): gspca: Webcam 06f8:3004 added in sonixj. Signed-off-by: Jean-Francois Moine Signed-off-by: Mauro Carvalho Chehab commit 2ed9f81680432e3dc42b41d4738d443bc516b8c9 Author: Jean-Francois Moine Date: Fri Nov 28 15:31:43 2008 -0300 V4L/DVB (9847): gspca: Align the 640x480 and 320x240 init of tas5130 in zc3xx. Signed-off-by: Jean-Francois Moine Signed-off-by: Mauro Carvalho Chehab commit f955c4fc863c0823ec6c224b6645ab67c46f1a0d Author: Jean-Francois Moine Date: Fri Nov 28 08:51:50 2008 -0300 V4L/DVB (9846): gspca: Do the webcam microphone work when present. This patch adds the set/get/enum audio controls. Signed-off-by: Jean-Francois Moine Signed-off-by: Mauro Carvalho Chehab commit cbb0554f9db8a7f592fad898d57df79fe38bf492 Author: Jean-Francois Moine Date: Wed Nov 26 16:17:13 2008 -0300 V4L/DVB (9845): gspca: Add sensor mi0360 in vc032x. Signed-off-by: Jean-Francois Moine Signed-off-by: Mauro Carvalho Chehab commit 403123d276e6af29ed401930fd8e25de768d2e34 Author: Jean-Francois Moine Date: Wed Nov 26 04:46:15 2008 -0300 V4L/DVB (9843): gspca: Change the colors and add the red and blue controls in sonixj. The colors control (saturation) acted as color balance. Signed-off-by: Jean-Francois Moine Signed-off-by: Mauro Carvalho Chehab commit b1b056a5f22851273813f7f1208b50fb7934f12a Author: Jean-Francois Moine Date: Tue Nov 25 04:47:09 2008 -0300 V4L/DVB (9842): gspca: Center the brightness in sonixj. The brightness jumped from max to min at the middle of the control values. Signed-off-by: Jean-Francois Moine Signed-off-by: Mauro Carvalho Chehab commit abf485fe5136c4f828df2d07655d6dc7253894a5 Author: Jean-Francois Moine Date: Mon Nov 24 06:38:21 2008 -0300 V4L/DVB (9841): gspca: Use msleep instead of mdelay. Signed-off-by: Jean-Francois Moine Signed-off-by: Mauro Carvalho Chehab commit 8843765e28f0eeb0510edb0cc3037d9e1dffd6a6 Author: Jean-Francois Moine Date: Mon Nov 24 06:28:58 2008 -0300 V4L/DVB (9840): gspca: Simplify the pkt_scan of stk014. Signed-off-by: Jean-Francois Moine Signed-off-by: Mauro Carvalho Chehab commit 9edf1a69259a74fc295f2ef52546f3da8bb962cb Author: Jean-Francois Moine Date: Sun Nov 23 15:53:28 2008 -0300 V4L/DVB (9838): gspca: Delay when trying an other altsetting on streaming start. Signed-off-by: Jean-Francois Moine Signed-off-by: Mauro Carvalho Chehab commit 91bd3412a22d68b7a9a09720e748fbbf68c2d545 Author: Jean-Francois Moine Date: Sun Nov 23 14:47:50 2008 -0300 V4L/DVB (9837): gspca: Simplify the brightness/contrast for ov76xx sensors in sonixj. Signed-off-by: Jean-Francois Moine Signed-off-by: Mauro Carvalho Chehab commit 67ec09fdf5e05d4670b617256c696348b5df080b Author: Hans Verkuil Date: Sat Nov 29 19:38:23 2008 -0300 V4L/DVB (9835): ivtv/ivtvfb: convert to v4l2_device/v4l2_subdev. Signed-off-by: Hans Verkuil Signed-off-by: Mauro Carvalho Chehab commit ca085fb900265b525e3f9fb95fb6d7fd27a302ea Author: Hans Verkuil Date: Sat Nov 29 13:03:22 2008 -0300 V4L/DVB (9834): wm8775: convert to v4l2_subdev. Signed-off-by: Hans Verkuil Signed-off-by: Mauro Carvalho Chehab commit f1460e9771b2166ff5802cf95e81b7e00b055303 Author: Hans Verkuil Date: Sat Nov 29 13:02:26 2008 -0300 V4L/DVB (9833): wm8739: convert to v4l2_subdev. Signed-off-by: Hans Verkuil Signed-off-by: Mauro Carvalho Chehab commit d9460f067e45a0099cfa9349361de3b19e8e8ceb Author: Hans Verkuil Date: Sat Nov 29 13:01:28 2008 -0300 V4L/DVB (9832): vp27smpx: convert to v4l2_subdev. Signed-off-by: Hans Verkuil Signed-off-by: Mauro Carvalho Chehab commit cc7ca3ea062c440d6d2cd995023bdfd0278f78a9 Author: Hans Verkuil Date: Sat Nov 29 13:00:30 2008 -0300 V4L/DVB (9831): upd64083: convert to v4l2_subdev. Signed-off-by: Hans Verkuil Signed-off-by: Mauro Carvalho Chehab commit 09abd5065f3c0a4d0e74f308639f6d69adaa1a04 Author: Hans Verkuil Date: Sat Nov 29 12:59:33 2008 -0300 V4L/DVB (9830): upd64031a: convert to v4l2_subdev. Signed-off-by: Hans Verkuil Signed-off-by: Mauro Carvalho Chehab commit e8a4a9e79b169317e698a0fdc469545d93ef304b Author: Hans Verkuil Date: Mon Nov 24 18:21:40 2008 -0300 V4L/DVB (9829): tuner: convert to v4l2_subdev. Signed-off-by: Hans Verkuil Signed-off-by: Mauro Carvalho Chehab commit 27760fc4b9b71d04568580fd44b38ac708731b28 Author: Hans Verkuil Date: Sat Nov 29 12:57:44 2008 -0300 V4L/DVB (9828): saa717x: convert to v4l2_subdev. Signed-off-by: Hans Verkuil Signed-off-by: Mauro Carvalho Chehab commit 627426c67553e2fbf99b5143623bffcc6b0b1020 Author: Hans Verkuil Date: Sat Nov 29 12:56:38 2008 -0300 V4L/DVB (9827): saa7127: convert to v4l2_subdev. Signed-off-by: Hans Verkuil Signed-off-by: Mauro Carvalho Chehab commit 9415f4b2166e6d9b3095fef47f4aa7dac76ac037 Author: Hans Verkuil Date: Sat Nov 29 12:55:19 2008 -0300 V4L/DVB (9826): saa7115: convert to v4l2_subdev. Signed-off-by: Hans Verkuil Signed-off-by: Mauro Carvalho Chehab commit 76efd62f1546c6fab2116d3ba832403387bd3d4a Author: Hans Verkuil Date: Mon Nov 24 18:16:46 2008 -0300 V4L/DVB (9825): msp3400: convert to v4l2_subdev. Signed-off-by: Hans Verkuil Signed-off-by: Mauro Carvalho Chehab commit 5d302f2e2c5fce46d88a9f6b3c1f74f9e9240e25 Author: Hans Verkuil Date: Sat Nov 29 12:51:32 2008 -0300 V4L/DVB (9824): m52790: convert to v4l2_subdev. Signed-off-by: Hans Verkuil Signed-off-by: Mauro Carvalho Chehab commit 9357b31c6cbd3d1c279fb161b3bf179c53062365 Author: Hans Verkuil Date: Sat Nov 29 12:50:06 2008 -0300 V4L/DVB (9823): cx25840: convert to v4l2_subdev. Signed-off-by: Hans Verkuil Signed-off-by: Mauro Carvalho Chehab commit 825c6aa2a874731fa5fbe96a9a0c8f2e27f6a0c0 Author: Hans Verkuil Date: Sat Nov 29 12:45:59 2008 -0300 V4L/DVB (9822): cs53l32a: convert to v4l2_subdev. Signed-off-by: Hans Verkuil Signed-off-by: Mauro Carvalho Chehab commit dd99120c7165c6873a423977d1eaa41b6e2d1ffc Author: Hans Verkuil Date: Sun Nov 23 12:19:45 2008 -0300 V4L/DVB (9821): v4l2-common: add i2c helper functions Add helper functions to load i2c sub-devices, integrating them into the v4l2-framework. Signed-off-by: Hans Verkuil Signed-off-by: Mauro Carvalho Chehab commit 2a1fcdf08230522bd5024f91da24aaa6e8d81f59 Author: Hans Verkuil Date: Sat Nov 29 21:36:58 2008 -0300 V4L/DVB (9820): v4l2: add v4l2_device and v4l2_subdev structs to the v4l2 framework. Start implementing a proper v4l2 framework as discussed during the Linux Plumbers Conference 2008. Introduces v4l2_device (for device instances) and v4l2_subdev (representing sub-device instances). Signed-off-by: Hans Verkuil Reviewed-by: Laurent Pinchart Reviewed-by: Guennadi Liakhovetski Reviewed-by: Andy Walls Reviewed-by: David Brownell Signed-off-by: Mauro Carvalho Chehab commit 07b1747c8d0bb463311f9dd05d4c013765abe2eb Author: Vaibhav Hiremath Date: Fri Dec 5 10:19:36 2008 -0300 V4L/DVB (9817): v4l: add new tvp514x I2C video decoder driver Signed-off-by: Brijesh Jadav Signed-off-by: Hardik Shah Signed-off-by: Manjunath Hadli Signed-off-by: R Sivaraj Signed-off-by: Vaibhav Hiremath Signed-off-by: Karicheri Muralidharan Signed-off-by: Hans Verkuil Reviewed-by: Hans Verkuil Reviewed-by: David Brownell Signed-off-by: Mauro Carvalho Chehab commit 67bc04dd04bfe6a6337a9c6773e4c36645360332 Author: Vaibhav Hiremath Date: Fri Dec 5 10:13:40 2008 -0300 V4L/DVB (9816): v4l2-int-if: add three new ioctls for std handling and routing These changes are needed for the new TVP514x driver. Signed-off-by: Brijesh Jadav Signed-off-by: Hardik Shah Signed-off-by: Manjunath Hadli Signed-off-by: R Sivaraj Signed-off-by: Vaibhav Hiremath Signed-off-by: Karicheri Muralidharan Signed-off-by: Hans Verkuil Signed-off-by: Mauro Carvalho Chehab commit 39aee69a166b775a38ed0053596cdb8e717ae315 Author: Sakari Ailus Date: Mon Dec 1 15:40:09 2008 -0300 V4L/DVB (9815): omap2: add OMAP2 camera driver. Add a driver for the OMAP2 camera block. OMAP2 is used in e.g. Nokia N800/N810 internet tablet. This driver uses the V4L2 internal ioctl interface. Signed-off-by: Sakari Ailus Signed-off-by: Trilok Soni Signed-off-by: Hans Verkuil Signed-off-by: Mauro Carvalho Chehab commit b1f1d76ef7cc96541b6a16bff7082e9033f0ba08 Author: Patrick Boettcher Date: Wed Dec 10 18:27:39 2008 -0300 V4L/DVB (9812): [PATCH] short help for Technisat cards to select the right configuration This patch adds a short help for Technisat cards to help the user selecting the right configuration for his card(s). Signed-off-by: Uwe Bugla Signed-off-by: Patrick Boettcher Signed-off-by: Mauro Carvalho Chehab commit 4c48ae8e8a490f16abbd874602135bcd83c84f26 Author: Patrick Boettcher Date: Sun Nov 23 16:26:54 2008 -0300 V4L/DVB (9811): Add support for the CX24113 DVB-S tuner driver This commit adds support for the CX24113 DVB-S tuner driver and thus support for the Technisat Skystar2 revision 2.8. The driver was created with the help of Technisat. Thank you very much. Signed-off-by: Patrick Boettcher Signed-off-by: Mauro Carvalho Chehab commit 2bdd29cf3d4d32e4371fbd6b27ea171f2c1f0836 Author: Laurent Pinchart Date: Sat Dec 6 17:43:40 2008 -0300 V4L/DVB (9810): uvcvideo: Add a device quirk to prune bogus controls. Bogus controls currently include processing unit auto controls for which no corresponding manual control is available. Such auto controls make little sense if any, and are known to crash at least the SiGma Micro webcam. Signed-off-by: Laurent Pinchart Signed-off-by: Mauro Carvalho Chehab commit 0fbd8ee6de6ac3d0b93c96da848c5bc3ccc1dc83 Author: Laurent Pinchart Date: Sat Dec 6 16:25:14 2008 -0300 V4L/DVB (9809): uvcvideo: Add nodrop module parameter to turn incomplete frame drop off. The driver drops incomplete uncompressed video frames to avoid confusing userspace with corrupt data. Add a nodrop module parameter to turn that behaviour off and make all frames available to userspace. Signed-off-by: Laurent Pinchart Signed-off-by: Mauro Carvalho Chehab commit af009cf635141858642864a26602e379e97bf7d6 Author: Andy Walls Date: Fri Dec 12 20:00:29 2008 -0300 V4L/DVB (9806): cx18: Enable raw VBI capture A combined authorship patch from Hans Verkuil and Andy Walls. Raw VBI can now be captured but requires a video capture to be in progress as well. Signed-off-by: Andy Walls Signed-off-by: Hans Verkuil Signed-off-by: Mauro Carvalho Chehab commit dd073434b5285121007860914a004320d644ee7e Author: Andy Walls Date: Fri Dec 12 16:24:04 2008 -0300 V4L/DVB (9805): cx18: Port fix for raw/sliced VBI mixup from ivtv and cx25840 This is a port of the fixes Hans Verkuil made for ivtv/cx25840: The service_set field was used to determine whether raw or sliced VBI was desired. This is incorrect since it is perfectly valid to select sliced VBI with a service_set of 0. Instead the driver should check on VIDIOC_S_FMT whether the type field matches the raw or sliced VBI type. Updated the cx18 driver accordingly, including an additional check in cx18_start_v4l2_encode_stream() that didn't exist in ivtv. Signed-off-by: Andy Walls Signed-off-by: Mauro Carvalho Chehab commit abb096de82f6f920a06ca935f76925261e66b556 Author: Andy Walls Date: Fri Dec 12 15:50:27 2008 -0300 V4L/DVB (9804): cx18: Avoid making firmware API calls with the queue lock held cx18: Avoid making firmware API calls with the queue lock held. The source of MPEG strem corruption when not holding the queue lock was found to be that the MPEG buffer could be retrieved by the user app before it was sync'ed for the host cpu. Incoming buffers are now sync'ed before being put on q_full and releasing the queue lock. We can thus avoid the sometimes lengthy call to the firmware for CPU_DE_SET_MDL while holding the queue lock, so we can get better performance. Signed-off-by: Andy Walls Signed-off-by: Mauro Carvalho Chehab commit 765f6f612ef69ada79f7ec2627dcbc49276bf7b5 Author: Andy Walls Date: Mon Dec 8 23:14:46 2008 -0300 V4L/DVB (9803): cx18: Increment version number due to siginificant buffering changes cx18: Increment version number due to siginificant buffering changes. Now version 1.0.4 Signed-off-by: Andy Walls Signed-off-by: Mauro Carvalho Chehab commit 6ecd86dcc838fa446ec86334a9fe0c1e415e3514 Author: Andy Walls Date: Sun Dec 7 23:30:17 2008 -0300 V4L/DVB (9802): cx18: Add module parameters for finer control over buffer allocations cx18: Add module parameters for finer control over buffer allocations. User now has the option of setting smaller buffers to get lower latency transfers from the encoder. User can also now set the number of buffers used for a stream explicitly. Signed-off-by: Andy Walls Signed-off-by: Mauro Carvalho Chehab commit 66c2a6b0bc0b394d215768610d96f44cf97052ac Author: Andy Walls Date: Mon Dec 8 23:02:45 2008 -0300 V4L/DVB (9801): cx18: Allow more than 63 capture buffers in rotation per stream cx18: Allow more than 63 capture buffers in rotation per stream. Implement q_busy to hold buffers the firmware has for use. q_free holds truly unused buffers in a pool. New buffers are given to the firmware as soon as the firmware returns one, if there are any to give to the firmware. Signed-off-by: Andy Walls Signed-off-by: Mauro Carvalho Chehab commit b80e1074c734416987486b7b76b6479faa73f1e2 Author: Andy Walls Date: Fri Nov 28 00:04:21 2008 -0300 V4L/DVB (9800): cx18: Eliminate q_io from stream buffer handling Eliminate q_io from stream buffer handling in anticipation of upcoming changes in buffer handling. q_io was a holdover from ivtv and it's function in cx18 was trivial and not necessary. We just push things back onto the front of q_full now, instead of maintaining a 1 buffer q_io queue. Signed-off-by: Andy Walls Signed-off-by: Mauro Carvalho Chehab commit be2c6db122467c6b6b55d93dd08d89cb2ee7821c Author: Mauro Carvalho Chehab Date: Tue Dec 9 15:43:10 2008 -0300 V4L/DVB (9799): em28xx: fix Kworld Hybrid 330 (A316) support Signed-off-by: Mauro Carvalho Chehab commit a5525685eeaec8e720323180530181ffe69a24f5 Author: Hermann Pitton Date: Fri Dec 5 19:49:34 2008 -0300 V4L/DVB (9798): saa7134: add analog and DVB-T support for Medion/Creatix CTX946 How to enable the mpeg encoder is not found yet. The card comes up with gpio 0x0820000 for DVB-T. Signed-off-by: Hermann Pitton Signed-off-by: Mauro Carvalho Chehab commit ea023df5f8a6f2f788247a4d8a7d5483c0d9266b Author: Igor M. Liplianin Date: Thu Dec 4 12:49:23 2008 -0300 V4L/DVB (9797): Fix stv0299 support in dw2102 USB DVB-S/S2 driver register 0x00 contains 0xa1 for STV0299 and STV0299B register 0x00 might contain 0x80 when returning from standby Signed-off-by: Igor M. Liplianin Acked-by: Sergey Silkin Signed-off-by: Mauro Carvalho Chehab commit a8782f669c35df585749caadfbae6456d9e3ac98 Author: Julia Lawall Date: Tue Dec 2 19:34:52 2008 -0300 V4L/DVB (9796): drivers/media/video/cx88/cx88-alsa.c: Adjust error-handling code In the function cx88_audio_initdev, the value card has been created using snd_card_new. The other error handling code in this function frees the value using snd_card_free. I have thus changed the first error case to do the same. On the other hand, it may be that card is not sufficiently initialized at this point to use snd_card_free, in which case something else should be done to free the memory in the error case. In the function snd_cx88_create the call kfree(chip) in one error case looks suspicious, both because it is not done in the other error code, and because chip points into the middle of the memory allocated by snd_card_new, ie it is not itself associated with a separate kmalloc. Therefore I have removed it. The semantic match that finds the first problem is as follows: (http://www.emn.fr/x-info/coccinelle/) // @r exists@ local idexpression x; statement S,S1; position p1,p2,p3; expression E,E1; type T,T1; expression *ptr != NULL; @@ ( if ((x@p1 = snd_card_new(...)) == NULL) S | x@p1 = snd_card_new(...); ) ... when != snd_card_free(...,(T)x,...) when != if (...) { <+... snd_card_free(...,(T)x,...) ...+> } when != true x == NULL || ... when != x = E when != E = (T)x when any ( if (x == NULL || ...) S1 | if@p2 (...) { ... when != snd_card_free(...,(T1)x,...) when != if (...) { <+... snd_card_free(...,(T1)x,...) ...+> } when != x = E1 when != E1 = (T1)x ( return \(0\|<+...x...+>\|ptr\); | return@p3 ...; ) } ) @ script:python @ p1 << r.p1; p3 << r.p3; @@ print "* file: %s snd_card_new: %s return: %s" % (p1[0].file,p1[0].line,p3[0].line) // Signed-off-by: Julia Lawall Signed-off-by: Andrew Morton Signed-off-by: Mauro Carvalho Chehab commit 9bb1b7e879091f09fc677dca10c5e132b68a9da3 Author: Igor M. Liplianin Date: Sun Nov 23 14:11:16 2008 -0300 V4L/DVB (9795): Add Compro VideoMate E650F (DVB-T part only). Add Compro VideoMate E650F (DVB-T part only). The card based on cx23885 PCI-Express chip, xc3028 tuner and ce6353 demodulator. Cc: Steven Toth Signed-off-by: Igor M. Liplianin Signed-off-by: Mauro Carvalho Chehab commit f89bc32974a4376e8393001484af28d8c3350ab4 Author: Douglas Schilling Landgraf Date: Mon Dec 1 21:01:04 2008 -0300 V4L/DVB (9793): em28xx: Add specific entry for WinTV-HVR 850 Added specific entry for WinTV-HVR 850 Signed-off-by: Douglas Schilling Landgraf Signed-off-by: Mauro Carvalho Chehab commit 2a48fc739df213b8f98b4effd95ce5ec93bca3da Author: Robert Jarzmik Date: Mon Dec 1 09:45:35 2008 -0300 V4L/DVB (9791): pxa-camera: pixel format negotiation Use the new format-negotiation infrastructure, support all four YUV422 packed and the planar formats. The new translation structure enables to build the format list with buswidth, depth, host format and camera format checked, so that it's not done anymore on try_fmt nor set_fmt. Signed-off-by: Robert Jarzmik Signed-off-by: Guennadi Liakhovetski Signed-off-by: Mauro Carvalho Chehab commit c2786ad27104c558b92343e8816e18654aae1759 Author: Guennadi Liakhovetski Date: Mon Dec 1 09:45:27 2008 -0300 V4L/DVB (9790): soc-camera: pixel format negotiation - core support Allocate and fill a list of formats, supported by this specific camera-host combination. Use it for format enumeration. Take care to stay backwards-compatible. Camera hosts rely on sensor formats available, as well as host specific translations. We add a structure so that hosts can define a translation table and use it for format check and setup. Signed-off-by: Guennadi Liakhovetski Signed-off-by: Robert Jarzmik Signed-off-by: Mauro Carvalho Chehab commit d2e3dce083bc96b3bfb71603eaa1726181f7184b Author: Guennadi Liakhovetski Date: Mon Dec 1 09:45:24 2008 -0300 V4L/DVB (9789): soc-camera: add a per-camera device host private data pointer This pointer will be used by pxa_camera.c to point to its pixel format data. Signed-off-by: Guennadi Liakhovetski Signed-off-by: Mauro Carvalho Chehab commit d8fac217c58f0101a351b9c8c80f1665bd9efef9 Author: Guennadi Liakhovetski Date: Mon Dec 1 09:45:21 2008 -0300 V4L/DVB (9788): soc-camera: simplify naming We anyway don't follow the s_fmt_vid_cap / g_fmt_vid_cap / try_fmt_vid_cap naming, and soc-camera is so far only about video capture, let's simplify operation names a bit further. set_fmt_cap / try_fmt_cap wasn't a very good choice too. Signed-off-by: Guennadi Liakhovetski Signed-off-by: Mauro Carvalho Chehab commit 25c4d74ea6f07f2aaa3df537619680ba967043f5 Author: Guennadi Liakhovetski Date: Mon Dec 1 09:44:59 2008 -0300 V4L/DVB (9787): soc-camera: let camera host drivers decide upon pixel format Pixel format requested by the user is not necessarily the same, as what a sensor driver provides. There are situations, when a camera host driver provides the required format, but requires a different format from the sensor. Further, the list of formats, supported by sensors is pretty static and can be pretty good described with a constant list of structures. Whereas decisions, made by camera host drivers to support requested formats can be quite complex, therefore it is better to let the host driver do the work. Signed-off-by: Guennadi Liakhovetski Signed-off-by: Mauro Carvalho Chehab commit abe4c4710386a4859dae9193bfc9a1f0e3c60db4 Author: Guennadi Liakhovetski Date: Mon Dec 1 09:44:56 2008 -0300 V4L/DVB (9786): soc-camera: formatting fixes Minor formatting fixes Signed-off-by: Guennadi Liakhovetski Signed-off-by: Mauro Carvalho Chehab commit a2c8c68cca3dbb0c87f5034ab8ea29350174ec4a Author: Guennadi Liakhovetski Date: Mon Dec 1 09:44:53 2008 -0300 V4L/DVB (9785): soc-camera: merge .try_bus_param() into .try_fmt_cap() .try_bus_param() method from struct soc_camera_host_ops is only called at one location immediately before .try_fmt_cap(), there is no value in keeping these two methods separate, merge them. Signed-off-by: Guennadi Liakhovetski Signed-off-by: Mauro Carvalho Chehab commit b3d7b2ad9cd7612354d921ba948ab6514699519c Author: Kuninori Morimoto Date: Mon Dec 1 09:44:51 2008 -0300 V4L/DVB (9784): Register name fix for ov772x driver Signed-off-by: Kuninori Morimoto Signed-off-by: Guennadi Liakhovetski Signed-off-by: Mauro Carvalho Chehab commit b90c032b0da3b8d5293676f6aabcd032a6c02bcb Author: Kuninori Morimoto Date: Mon Dec 1 09:44:48 2008 -0300 V4L/DVB (9783): Change power on/off sequence on ov772x Signed-off-by: Kuninori Morimoto Signed-off-by: Guennadi Liakhovetski Signed-off-by: Mauro Carvalho Chehab commit daa1c164db63540fe7a52c658ce14ae6a8d1ae53 Author: Andy Walls Date: Sun Nov 30 10:01:21 2008 -0300 V4L/DVB (9778): cx18: cx18_writel_expect() should not declare success on a PCI read error cx18: cx18_writel_expect() should not declare success on a PCI read error. This removes the potential for cx18_write*_expect() calls to not accomplish a PCI write successfully as expected. The CX18-AV core uses the *expect() calls often and this may be the source of intermittent audio problems and standands switching problems. Signed-off-by: Andy Walls Signed-off-by: Mauro Carvalho Chehab commit 572bfea71b0fb2efb36407b4e284c1e7962d4779 Author: Andy Walls Date: Tue Nov 25 21:43:05 2008 -0300 V4L/DVB (9776): cx18: Change to per CX23418 device work queues for deferrable work handling cx18: Change to per CX23418 device work queues for deferrable work handling. Needed to support 2.6.22 and earlier kernels that can't selectively cancel work orders. Also will provide slightly better performance on SMP systems. Signed-off-by: Andy Walls Signed-off-by: Mauro Carvalho Chehab commit 9af0ef27a06f3e8976b90a4ed4758e25ea0f2df5 Author: Mauro Carvalho Chehab Date: Mon Dec 8 10:36:57 2008 -0300 V4L/DVB (9775): tda8290: fix FM radio tda8290 were using some random video standard for FM. This results on random errors. Instead, program tda8290 in expert mode, using a configuration near the one specified on NXP datasheet for tda8295 (available on their site). Also, properly display that the device is on radio mode. Signed-off-by: Mauro Carvalho Chehab commit 92d90f1a57dcb6c6ab5a7b9ad949bdb7531931a4 Author: Mauro Carvalho Chehab Date: Mon Dec 8 00:49:33 2008 -0300 V4L/DVB (9774): tda827x: fix returned frequency Probably due to a removed code, tda827x were doing some wrong calculus at the returned frequency. I suspect that the original idea were to return the programmed divisor converted into frequency again. However, the current code is sometimes multiplying the programmed frequency by 62500, and, on other cases, like radio, it dividing it by 1000. Instead of doing such math, let's just store the frequency value as requested by the caller module. Cc: Michael Krufky Signed-off-by: Mauro Carvalho Chehab commit e5218eedaef39ed5f1ebc84ab9510dd9b99acadf Author: Mauro Carvalho Chehab Date: Sun Dec 7 23:01:57 2008 -0300 V4L/DVB (9773): tda827x: fix printk message when in FM mode Cc: Michael Krufky Signed-off-by: Mauro Carvalho Chehab commit 26d5f3a3fe917232cb77e2e3450f7d7f8698259c Author: Mauro Carvalho Chehab Date: Sun Dec 7 13:19:29 2008 -0300 V4L/DVB (9772): saa7134: Add support for Kworld Plus TV Analog Lite PCI Thanks to Sistema Fenix (http://www.sistemafenix.com.br/) for sponsoring this development. Signed-off-by: Gilberto Signed-off-by: Mauro Carvalho Chehab commit 10f201af1bedd39a88913f472b33698c4a3b0680 Author: Mauro Carvalho Chehab Date: Fri Dec 5 10:49:53 2008 -0300 V4L/DVB (9771): tuner-xc2028: fix a small warning /home/mauro/v4l-dvb/v4l/tuner-xc2028.c: In function 'xc2028_sleep': /home/mauro/v4l-dvb/v4l/tuner-xc2028.c:1111: warning: 'return' with no value, in function returning non-void Signed-off-by: Mauro Carvalho Chehab commit eb6c96345d07c7c3978e77d3ad0b5c5b9e5b2faa Author: Mauro Carvalho Chehab Date: Fri Dec 5 10:39:12 2008 -0300 V4L/DVB (9770): em28xx: turn off tuner when not used em28xx devices generally get hot when xc3028 tuner is powered on. This patch solves this by turning power off when the device is not used, at the expense of having a higher load time, when calling a TV application. Since firmware load happens on 1 or 2 seconds on most devices, this is not a pain. Also, it helps to save the planet by saving some power :) Signed-off-by: Mauro Carvalho Chehab commit 74a89b2ae352aca1d76789365e9f49964f2677e4 Author: Mauro Carvalho Chehab Date: Fri Dec 5 10:31:16 2008 -0300 V4L/DVB (9769): tuner-xc2028: powers device of when not used Since the firmware load is now fast on most boards, better to keep the tuner off by default. A modprobe parameter were added to keep the old behavior, to be used by old devices. Signed-off-by: Mauro Carvalho Chehab commit 9e5d6760c28409dd4ebd1cbafee77e5f58d6d574 Author: Mauro Carvalho Chehab Date: Wed Nov 26 09:58:48 2008 -0300 V4L/DVB (9756): em28xx: Improve register log format Change log format to look more like URB transactions. In fact, setup and IN/OUT transactions are merged. This helps to debug the driver. Signed-off-by: Mauro Carvalho Chehab commit dff65740e0c3a18cf56b2e3cbeebd9e9cfa7ac0d Author: Michael Krufky Date: Sat Nov 22 14:33:00 2008 -0300 V4L/DVB (9737): sms1xxx: enable LNA control on Hauppauge WinTV MiniCard Power the LNA while the frontend is in use. Signed-off-by: Michael Krufky Signed-off-by: Mauro Carvalho Chehab commit ec984f437842426622fb54b56bbcc416183eefe6 Author: Andy Walls Date: Sun Nov 23 16:27:57 2008 -0300 V4L/DVB (9730): cx18: Quiet a sometimes common warning that often has benign consequences cx18: Quiet a sometimes common warning that often has benign consequences. No one probably cares that the firmware took forever to ack our command, as they always seem to succeed whether or not the firmware acks it in a reasonable amount of time. Signed-off-by: Andy Walls Signed-off-by: Mauro Carvalho Chehab commit 20543ec414dee5e9d5e7a82f678fa2c0b21c5bdb Author: Andy Walls Date: Sat Nov 22 01:40:11 2008 -0300 V4L/DVB (9729): cx18: Update version due to significant irq handling changes Update the version number due to significant changes in the way the mailboxes and interrupts are handled. Signed-off-by: Andy Walls Signed-off-by: Mauro Carvalho Chehab commit 1ed9dcc8ef61c35a620fecc039c01f2c50dceb80 Author: Andy Walls Date: Sat Nov 22 01:37:34 2008 -0300 V4L/DVB (9728): cx18: Copyright attribution update for files modified by awalls Add copyright attribution for files modified by awalls in 2008 Signed-off-by: Andy Walls Signed-off-by: Mauro Carvalho Chehab commit 2bb49f1b9f6a4f50222bc8a6b1e9df87a432c52c Author: Andy Walls Date: Sat Nov 22 01:23:22 2008 -0300 V4L/DVB (9727): cx18: Adjust outgoing mailbox timeouts and remove statistics logging cx18: Adjust outgoing mailbox timeouts and remove statistics logging. This saves some wasted storage in struct cx18 for each card. Cutting the outgoing mailbox timeouts in half from the previous value appears to be safe with MythTV. Got rid of interrupted case code path after a wait uninterruptable returns. Signed-off-by: Andy Walls Signed-off-by: Mauro Carvalho Chehab commit bca11a5721917d6d5874571813673a2669ffec4b Author: Andy Walls Date: Wed Nov 19 01:24:33 2008 -0300 V4L/DVB (9726): cx18: Restore buffers that have fallen out of the transfer rotation Restore buffers that have fallen out of the transfer rotation, and check for coherent mailbox data when processing a stale mailbox. Signed-off-by: Andy Walls Signed-off-by: Mauro Carvalho Chehab commit d6c7e5f8faad080e75bace5c4f2265e3513e3510 Author: Andy Walls Date: Mon Nov 17 22:48:46 2008 -0300 V4L/DVB (9725): cx18: Remove unnecessary MMIO accesses in time critical irq handling path Remove unnecessary MMIO accesses in time critical irq handling path. Also ensured that the mailbox ack field is read in last, so we know for sure if we have a stale mailbox or not on receipt. Signed-off-by: Andy Walls Signed-off-by: Mauro Carvalho Chehab commit 3f75c6161f28e6a17c547daf552c1127c805c5e7 Author: Andy Walls Date: Sun Nov 16 23:33:41 2008 -0300 V4L/DVB (9724): cx18: Streamline cx18-io[ch] wrappers and enforce MMIO retry strategy cx18: Streamline cx18-io[ch] wrappers and enforce MMIO retry strategy so that write retries always occur and read retries never occur (as they never help). Remove MMIO statistics logging to speed up MMIO accesses. Deprecate & ignore retry_mmio and mmio_ndelay module parameters, to essentially force retry_mmio=1 and mmio_ndelay=0. Signed-off-by: Andy Walls Signed-off-by: Mauro Carvalho Chehab commit 72a4f8081af1c53a1673c173ce0fdd85c4b7d403 Author: Andy Walls Date: Sun Nov 16 21:18:00 2008 -0300 V4L/DVB (9723): cx18: Propagate staleness of mailbox and mdl ack data to work handler cx18: Propagate staleness of mailbox and mdl ack data to work handler to let the work handler know that the data from the encoder may not be coherent. Allows for smarter handling of buffers in future, to deal with MDLs that fall out of rotation due to irq handler being late in collecting mailbox and mdl ack info. Signed-off-by: Andy Walls Signed-off-by: Mauro Carvalho Chehab commit f576ceefb481e5617ecfb77e3a05b3d26dbf2f92 Author: Andy Walls Date: Sun Nov 16 20:18:05 2008 -0300 V4L/DVB (9722): cx18: Convert per stream queue spinlocks into mutexes Convert the per stream queue spinlocks into mutexes. All queue manipulation happens via the work queue or system calls into the driver, and not in an interrupt context. This reduces the amout of time the cx18 driver keeps interrupts disabled. Signed-off-by: Andy Walls Signed-off-by: Mauro Carvalho Chehab commit 18b5dc2ed7f0ede825dd1f93fefc7a61aba866e3 Author: Andy Walls Date: Sun Nov 16 17:15:01 2008 -0300 V4L/DVB (9721): cx18: Change to singlethreaded global work queue thread for deferable work Change to singlethreaded global work queue thread for deferable work, instead of the kernel default multithreaded work queue. This ensures execution of deferable work is always in the proper order, so caputred buffers don't get reordered. Signed-off-by: Andy Walls Signed-off-by: Mauro Carvalho Chehab commit ee2d64f5ccc71b5c5191e92ea91a12b65f9ca060 Author: Andy Walls Date: Sun Nov 16 01:38:19 2008 -0300 V4L/DVB (9720): cx18: Major rewrite of interrupt handling for incoming mailbox processing A major rewrite of interrupt handling for incoming mailbox processing, to split the timing critical steps from the the deferrable steps as the sending XPU on the CX23418 will time out and overwrite our incoming mailboxes rather quickly. Setup a pool of work "order forms" for the irq handler to send jobs to the new work handler routine which uses the kernel default work queue to do the deferrable work. Started optimizing some of the cx18-io calls as they are now the low hanging fruit for recoving microseconds back from the timeline. Future optimizations will get rid of mmio read retries, mmio stats logging, and combine smaller functions in the irq path into the larger ones to save ~2 us each. Signed-off-by: Andy Walls Signed-off-by: Mauro Carvalho Chehab commit ba38ee8ebe4a42ce2213802152b0b86a95dc109f Author: Jean-Francois Moine Date: Sat Nov 22 04:27:34 2008 -0300 V4L/DVB (9710): gspca: Remove some unuseful core in main. Signed-off-by: Jean-Francois Moine Signed-off-by: Mauro Carvalho Chehab commit 181b704fd3e32cdf779bc4d5b99d43a4b2c25985 Author: Hans de Goede Date: Wed Nov 19 17:16:26 2008 -0300 V4L/DVB (9707): gspca: Remove the event counter and simplify the frame wait. Signed-off-by: Hans de Goede Signed-off-by: Jean-Francois Moine Signed-off-by: Mauro Carvalho Chehab commit 3480130a502a528373f98fb852d2b3fc5f73e58b Author: Alexey Klimov Date: Wed Nov 19 00:36:29 2008 -0300 V4L/DVB (9655): radio-mr800: fix unplug This patch fixes problems(kernel oopses) with unplug of device while it's working. Patch adds disconnect_lock mutex, changes usb_amradio_close and usb_amradio_disconnect functions and adds a lot of safety checks. Signed-off-by: Alexey Klimov Signed-off-by: Mauro Carvalho Chehab commit c7abfb47c9e19d63ce6f757afcb392c69ce09765 Author: Andy Walls Date: Sun Nov 9 19:51:44 2008 -0300 V4L/DVB (9599): cx18: Fix unitialized variable problem upon APU firmware file read failure If APU firmware file read failed, the jump vector to the APU was undefined and the APU would be started executing garbage. Fix uninitialized variable to be an infinite loop for the APU, but also bail out before even starting the APU. Signed-off-by: Andy Walls Signed-off-by: Mauro Carvalho Chehab commit d20ceecd0c5370cfe6b6eee2f63fecb65222c747 Author: Andy Walls Date: Sun Nov 9 18:14:07 2008 -0300 V4L/DVB (9598): cx18: Prevent CX23418 from clearing it's outgoing ack interrupts to driver When the CX23418 CPU unit sent out an ack interrupt to the linux driver, it also received that interrupt and cleared the flag before the linux driver could see what the interrupt was for. This fix prevents the CPU from receiving an IRQ for it's own outgoing ack's to the linux driver. This fix is critical now that the linux driver doesn't poll but relies on these ack interrupts. Signed-off-by: Andy Walls Signed-off-by: Mauro Carvalho Chehab commit 2d1a1b055be8598dbcc8a7b905d07bcf05eaff3a Author: Andy Walls Date: Sat Nov 8 17:14:22 2008 -0300 V4L/DVB (9597): cx18: Minor fixes to APU firmware load process Use the APU fw start address from rom file instead of a hardcoded entry vector. Fixed cx18_setup_page() calls to use the correct APU image load addresses. Signed-off-by: Andy Walls Signed-off-by: Mauro Carvalho Chehab commit 330c6ec8942765e81f237bd58020da1b161935ce Author: Andy Walls Date: Sat Nov 8 14:19:37 2008 -0300 V4L/DVB (9596): cx18: Further changes to improve mailbox protocol integrity & performnce All waits for cx18 mailbox API commands are now uninterruptable. Added code to collect mailbox ack statistics. Tweaked timeouts based on collected stats and video vertical frame and field rates. Signed-off-by: Andy Walls Signed-off-by: Mauro Carvalho Chehab commit ac50441720332f22a9d85ac03151d6acb7bc55d6 Author: Andy Walls Date: Fri Nov 7 23:57:46 2008 -0300 V4L/DVB (9595): cx18: Improve handling of outgoing mailboxes detected to be busy cx18: Improve handling of outgoing mailboxes detected to be busy. When encountering a busy mailbox, sleep instead of polling, and wait for interrupt or timeout. If the mailbox is still busy, force it free. When sending commands, make sure we never create a situation where we mark the mailbox busy upon sending, and ensure we always have a method to cleanly recover from a busy mailbox. Signed-off-by: Andy Walls Signed-off-by: Mauro Carvalho Chehab commit d670b6ff4ef32d3a0804ec26ad53a2a7712cec98 Author: Andy Walls Date: Thu Nov 6 01:33:27 2008 -0300 V4L/DVB (9594): cx18: Roll driver version number due to significant changes Driver interrupt and mailbox handling has change significantly. Time for a roll to v1.0.2. Signed-off-by: Andy Walls Signed-off-by: Mauro Carvalho Chehab commit 72c2d6d3ac91d1b9efb482ff4a8dd68e3d867965 Author: Andy Walls Date: Thu Nov 6 01:15:41 2008 -0300 V4L/DVB (9593): cx18: Add outgoing mailbox mutexes and check for ack via waitq vs poll Add mutexes to ensure exclusive access for outgoing driver to CX23418 mailboxes. Also wait on a waitq for mailbox acknowledgement from the CX23418 instead of polling. Signed-off-by: Andy Walls Signed-off-by: Mauro Carvalho Chehab commit f68d0cf56761128e85ebc98d8de4776b89c30279 Author: Andy Walls Date: Wed Nov 5 21:19:15 2008 -0300 V4L/DVB (9592): cx18: Use default kernel work queue; fix streaming flag for work handler cx18: Use default kernel work queue; fix streaming flag for work handler. Eliminate cx18 specific work queue and use the kernel default work queue. Fixed the F_STREAMING_FLAG for the TS stream so cx18_dvb_work_handler() can know when it is not safe to send MDLs to the firmware. Signed-off-by: Andy Walls Signed-off-by: Mauro Carvalho Chehab commit 13563f44a27a07dfade36662903037edbf8a6e01 Author: Jean-Francois Moine Date: Thu Nov 6 15:35:21 2008 -0300 V4L/DVB (9558): gspca: Add the light frequency control for the sensor HV7131B in zc3xx Signed-off-by: Jean-Francois Moine Signed-off-by: Mauro Carvalho Chehab commit f7823f8f437fbbd41155f2312ef17e471199b706 Author: Andy Walls Date: Sun Nov 2 18:15:28 2008 -0300 V4L/DVB (9513): cx18: Reduce number of mmio read retries cx18: Reduce number of mmio read retries to improve performance. Experiments have shown 2 things: read retries never improve the result of a suspect mmio read from the CX23418 (the result stays all 0xff's), and that most of the suspected read failures are actually proper reads of values that should be all 0xff's. This change reduces the number of read retries and keeps the count separate from write retries. Signed-off-by: Andy Walls Signed-off-by: Mauro Carvalho Chehab commit f2e52cd17622eed39576f113b77bbd18c577e308 Author: Manu Abraham Date: Mon Nov 19 16:44:47 2007 -0300 V4L/DVB (9442): Revert back previous change to 90MHz Note: * At High Symbol Rates we do not have enouph machine cycles to handle the incoming symbols and hence might run into problems at the very end of the specified definition * Most of the equations have been calculated for a master clock of 99 MHz, running at 90MHz, raises lot of issues such as the need to recalculate all of them , which is eventually very painful. Signed-off-by: Manu Abraham Signed-off-by: Mauro Carvalho Chehab commit 07b9bf7de5d91594eb79bcd43129fe5df94bdd28 Author: Manu Abraham Date: Tue Oct 30 09:31:13 2007 -0300 V4L/DVB (9431): Bug ID #19: Diseqc works properly at 90MHz only on Cut 1.1 and 2.0 Signed-off-by: Manu Abraham Signed-off-by: Mauro Carvalho Chehab commit 697be0679ef71e5701c7ab2055ed8e76cc44583d Author: Manu Abraham Date: Thu Oct 18 06:25:51 2007 -0300 V4L/DVB (9425): Initialize at 90MHz itself Signed-off-by: Manu Abraham Signed-off-by: Mauro Carvalho Chehab commit 1dd3294677d5484e4813c6c454ba7f192a3ef61d Merge: 4a6908a e941da3 Author: Dmitry Torokhov Date: Tue Dec 30 01:10:06 2008 -0800 Merge branch 'next' into for-linus commit e941da3110422c4e57c3d05759fb9475b28f45f6 Author: Julia Lawall Date: Tue Dec 30 01:09:02 2008 -0800 Input: gtco - use USB endpoint API Use usb_endpoint_xfer_int(epd) instead of open-conding the check. Signed-off-by: Julia Lawall Signed-off-by: Dmitry Torokhov commit 01461d7e65a6e3f92fd73ce4651e5f78a0a5990c Author: Adrian McMenamin Date: Tue Dec 30 00:53:54 2008 -0800 Input: add support for Maple controller as a joystick Add support for the SEGA Dreamcast Maple controller as a joystick Signed-off-by: Adrian McMenamin Signed-off-by: Dmitry Torokhov commit 2a3ec3265741c3b2a7ebbd1b33f538e5a5583c48 Author: Matthew Garrett Date: Tue Dec 30 00:43:11 2008 -0800 Input: atkbd - broaden the Dell DMI signatures Some Dells need the dell input quirk applied but have a different vendor string in their DMI tables. Add an extra entry to cover these machines as well. Signed-off-by: Matthew Garrett Signed-off-by: Dmitry Torokhov commit c10a93a0a36b245ce48493f134b9e243a8bfddd1 Author: Helge Deller Date: Mon Dec 29 04:44:44 2008 -0800 Input: HIL drivers - add MODULE_ALIAS() Add MODULE_ALIAS() to the HIL keyboard (hil_kbd.c) and HIL mouse (hil_ptr.c) drivers to make kernel module autoloader functional. Report HIL port number ID in serio id.id field. Signed-off-by: Helge Deller Signed-off-by: Dmitry Torokhov commit 2c4ab6243f91cda62f22af2eb8a6c07590de37b1 Author: Roland Dreier Date: Mon Dec 29 23:37:14 2008 -0800 RDMA/addr: Fix build breakage when IPv6 is disabled Commit 38617c64 ("RDMA/addr: Add support for translating IPv6 addresses") broke the build when CONFIG_IPV6=n, because the ib_addr module unconditionally attempted to call ipv6_chk_addr() and other IPv6 functions that are not defined when IPv6 is disabled. Fix this by only building IPv6 support if CONFIG_IPV6 is turned on, and add a Kconfig dependency to prevent the ib_addr code from being built in when IPv6 is built modular. Signed-off-by: Roland Dreier commit eb4dea5853046727bfbb579f0c9a8cae7369f7c6 Author: Herbert Xu Date: Mon Dec 29 23:04:08 2008 -0800 net: Fix percpu counters deadlock When we converted the protocol atomic counters such as the orphan count and the total socket count deadlocks were introduced due to the mismatch in BH status of the spots that used the percpu counter operations. Based on the diagnosis and patch by Peter Zijlstra, this patch fixes these issues by disabling BH where we may be in process context. Reported-by: Jeff Kirsher Tested-by: Ingo Molnar Signed-off-by: Herbert Xu Signed-off-by: David S. Miller commit 0f23174aa8c1aa7a2a6050a72a60d290ef9ee578 Author: Rusty Russell Date: Mon Dec 29 12:23:42 2008 +0000 cpumask: prepare for iterators to only go to nr_cpu_ids/nr_cpumask_bits: net In future all cpumask ops will only be valid (in general) for bit numbers < nr_cpu_ids. So use that instead of NR_CPUS in iterators and other comparisons. This is always safe: no cpu number can be >= nr_cpu_ids, and nr_cpu_ids is initialized to NR_CPUS at boot. Signed-off-by: Rusty Russell Signed-off-by: Mike Travis Acked-by: Ingo Molnar Signed-off-by: David S. Miller commit 47fea2adfc9e16846bc57c2f64ff233b354fef39 Author: Jaswinder Singh Rajput Date: Mon Dec 29 23:39:17 2008 +0530 sched: sched.c declare variables before they get used Impact: cleanup, avoid sparse warnings In linux/sched.h moved out sysctl_sched_latency, sysctl_sched_min_granularity, sysctl_sched_wakeup_granularity, sysctl_sched_shares_ratelimit and sysctl_sched_shares_thresh from #ifdef CONFIG_SCHED_DEBUG as these variables are common for both. Fixes these sparse warnings: kernel/sched.c:825:14: warning: symbol 'sysctl_sched_shares_ratelimit' was not declared. Should it be static? kernel/sched.c:832:14: warning: symbol 'sysctl_sched_shares_thresh' was not declared. Should it be static? kernel/sched_fair.c:37:14: warning: symbol 'sysctl_sched_latency' was not declared. Should it be static? kernel/sched_fair.c:43:14: warning: symbol 'sysctl_sched_min_granularity' was not declared. Should it be static? kernel/sched_fair.c:72:14: warning: symbol 'sysctl_sched_wakeup_granularity' was not declared. Should it be static? Signed-off-by: Jaswinder Singh Rajput Signed-off-by: Ingo Molnar commit c62e9d56ea90ef94f9708ce3f11860c20fa5e135 Author: Jaswinder Singh Rajput Date: Mon Dec 29 22:12:50 2008 +0530 x86: bios_uv.c: uv_systab should be static Impact: cleanup, reduce kernel size a bit, avoid sparse warning Fixes sparse warning: arch/x86/kernel/bios_uv.c:28:18: warning: symbol 'uv_systab' was not declared. Should it be static? Signed-off-by: Jaswinder Singh Rajput Signed-off-by: H. Peter Anvin commit 4d08d97f5262dab4482af5bc91b30af4ca02269e Author: Jaswinder Singh Rajput Date: Mon Dec 29 22:11:40 2008 +0530 x86: genx2apic_phys.c: x2apic_send_IPI_self and init_x2apic_ldr should be static Impact: cleanup, reduce kernel size a bit, avoid sparse warnings Fixes sparse warnings: arch/x86/kernel/genx2apic_phys.c:164:6: warning: symbol 'x2apic_send_IPI_self' was not declared. Should it be static? arch/x86/kernel/genx2apic_phys.c:169:6: warning: symbol 'init_x2apic_ldr' was not declared. Should it be static? Signed-off-by: Jaswinder Singh Rajput Signed-off-by: H. Peter Anvin commit 557f687c87ddb8adb094b2dad4e1c83c7717982d Author: Jaswinder Singh Rajput Date: Mon Dec 29 21:45:22 2008 +0530 x86: amd_iommu.c: prealloc_protection_domains should be static Impact: cleanup, reduce kernel size a bit, avoid sparse warning Fixes sparse warning: arch/x86/kernel/amd_iommu.c:1299:6: warning: symbol 'prealloc_protection_domains' was not declared. Should it be static? Signed-off-by: Jaswinder Singh Rajput Signed-off-by: H. Peter Anvin commit 412a1be265b894a45cebbfc2b57eb7a593bf34b2 Author: Jaswinder Singh Rajput Date: Mon Dec 29 21:44:12 2008 +0530 x86: amd_iommu_init.c: iommu_enable and iommu_enable_event_logging should be static Impact: cleanup, reduce kernel size a bit, avoid sparse warning Fixes sparse warning: arch/x86/kernel/amd_iommu_init.c:246:13: warning: symbol 'iommu_enable' was not declared. Should it be static? arch/x86/kernel/amd_iommu_init.c:259:13: warning: symbol 'iommu_enable_event_logging' was not declared. Should it be static? Signed-off-by: Jaswinder Singh Rajput Signed-off-by: H. Peter Anvin commit 42d35d48ce7cefb9429880af19d1c329d1554e7a Author: Darren Hart Date: Mon Dec 29 15:49:53 2008 -0800 futex: make futex_(get|put)_key() calls symmetric Impact: cleanup This patch makes the calls to futex_get_key_refs() and futex_drop_key_refs() explicitly symmetric by only "putting" keys we successfully "got". Also cleanup a couple return points that didn't "put" after a successful "get". Build and boot tested on an x86_64 system. Signed-off-by: Darren Hart Cc: Signed-off-by: Ingo Molnar commit 3967e93e063d7ee608f465cbccb65abb518e9d33 Author: Robert Richter Date: Tue Dec 30 05:10:58 2008 +0100 oprofile: simplify add_sample() in cpu_buffer.c Signed-off-by: Robert Richter commit 9b02d6e198d8249246760a93b3adb8df6ecb5204 Author: Bob Moore Date: Thu Nov 27 15:20:20 2008 +0800 ACPICA: Update version to 20081031 Signed-off-by: Bob Moore Signed-off-by: Lin Ming Signed-off-by: Len Brown commit f201a8a4511a4c9953189924df3c880207194b41 Author: Julia Lawall Date: Mon Dec 29 00:21:07 2008 +0000 drivers/net/usb: use USB API functions rather than constants This set of patches introduces calls to the following set of functions: usb_endpoint_dir_in(epd) usb_endpoint_dir_out(epd) usb_endpoint_is_bulk_in(epd) usb_endpoint_is_bulk_out(epd) usb_endpoint_is_int_in(epd) usb_endpoint_is_int_out(epd) usb_endpoint_num(epd) usb_endpoint_type(epd) usb_endpoint_xfer_bulk(epd) usb_endpoint_xfer_control(epd) usb_endpoint_xfer_int(epd) usb_endpoint_xfer_isoc(epd) In some cases, introducing one of these functions is not possible, and it just replaces an explicit integer value by one of the following constants: USB_ENDPOINT_XFER_BULK USB_ENDPOINT_XFER_CONTROL USB_ENDPOINT_XFER_INT USB_ENDPOINT_XFER_ISOC In drivers/net/wireless/zd1211rw/zd_usb.c the code: (endpoint->bEndpointAddress & USB_TYPE_MASK) == USB_DIR_OUT is suspicious. If it is intended to use USB_ENDPOINT_DIR_MASK rather than USB_TYPE_MASK, then the whole conditional test could be converted to a call to usb_endpoint_is_bulk_in. An extract of the semantic patch that makes these changes is as follows: (http://www.emn.fr/x-info/coccinelle/) // @r1@ struct usb_endpoint_descriptor *epd; @@ - ((epd->bmAttributes & \(USB_ENDPOINT_XFERTYPE_MASK\|3\)) == - \(USB_ENDPOINT_XFER_CONTROL\|0\)) + usb_endpoint_xfer_control(epd) @r5@ struct usb_endpoint_descriptor *epd; @@ - ((epd->bEndpointAddress & \(USB_ENDPOINT_DIR_MASK\|0x80\)) == - \(USB_DIR_IN\|0x80\)) + usb_endpoint_dir_in(epd) @inc@ @@ #include @depends on !inc && (r1||r5)@ @@ + #include #include // Signed-off-by: Julia Lawall Signed-off-by: David S. Miller commit 68ce9c0e3411b430b9800015e318af9f96933aa0 Author: Li Zefan Date: Sun Dec 28 17:57:25 2008 +0000 cls_cgroup: clean up Kconfig cls_cgroup can't be compiled as a module, since it's not supported by cgroup. Signed-off-by: Li Zefan Signed-off-by: David S. Miller commit 8e8ba85417366afd2361e315c6ba5949d3eff56f Author: Li Zefan Date: Mon Dec 29 19:39:03 2008 -0800 cls_cgroup: clean up for cgroup part - It's better to use container_of() instead of casting cgroup_subsys_state * to cgroup_cls_state *. - Add helper function task_cls_state(). - Rename net_cls_state() to cgrp_cls_state(). Signed-off-by: Li Zefan Signed-off-by: David S. Miller commit 2f068bf8711c35b98bf9a0172555b8390a762fc0 Author: Li Zefan Date: Sun Dec 28 17:57:19 2008 +0000 cls_cgroup: fix an oops when removing a cgroup When removing a cgroup, an oops was triggered immediately. The cause is wrong kfree() in cgrp_destroy(). Signed-off-by: Li Zefan Signed-off-by: David S. Miller commit 7a4b8131ac7b47feb110b3e0142d4207ee79a025 Author: Lin Ming Date: Thu Nov 13 11:25:22 2008 +0800 ACPICA: Enhance implicit return mechanism For Windows compatibility, return an implicit integer of value zero for methods that have no executable code. A default implicit value of zero is provided for methods. Lin Ming. Signed-off-by: Lin Ming Signed-off-by: Bob Moore Signed-off-by: Len Brown commit eeb4437e63c39ce19cf9b2de36a1dddbf12910c4 Author: Bob Moore Date: Thu Nov 13 11:19:24 2008 +0800 ACPICA: Consolidate method arg count validation code Merge the code that validates control method argument counts into the predefined validation module. Eliminates possible multiple warnings for incorrect counts. Signed-off-by: Bob Moore Signed-off-by: Lin Ming Signed-off-by: Len Brown commit a647b5c34047560d7efe7e53e756c6692ce67dc7 Author: Bob Moore Date: Fri Nov 14 08:44:39 2008 +0800 ACPICA: Add Buffer->String conversion for predefined methods For predefined methods (such as _BIF), add automatic conversion for objects that are required to be a String, but a Buffer was found instead. This can happen when reading string battery data from an operation region, because it used to be difficult to convert the data from buffer to string from within the ASL. Linux BZ 11822. http://bugzilla.kernel.org/show_bug.cgi?id=11822 Signed-off-by: Bob Moore Signed-off-by: Lin Ming Signed-off-by: Len Brown commit d037c5fd7367548191eab2b376a1d08c4ffaf7ff Author: Lin Ming Date: Thu Nov 13 10:54:39 2008 +0800 ACPICA: Allow multiple backslash prefix in namepaths In a fully qualified namepath, allow multiple backslash prefixes. This can happen because of the use of a double-backslash in strings (since backslash is the escape character) causing confusion. ACPICA BZ 739 Lin Ming. http://www.acpica.org/bugzilla/show_bug.cgi?id=739 Signed-off-by: Lin Ming Signed-off-by: Bob Moore Signed-off-by: Len Brown commit 5572a9859fa55216597b8226717691956d3e53e3 Author: Bob Moore Date: Thu Nov 13 10:51:49 2008 +0800 ACPICA: Fix to allow aliases within ASL namepaths Fixes a problem where the use of an alias within a namepath would result in a not found error or cause the compiler to fault. Also now allows forward references from the Alias operator itself. ACPICA BZ 738. http://www.acpica.org/bugzilla/show_bug.cgi?id=738 Signed-off-by: Bob Moore Signed-off-by: Lin Ming Signed-off-by: Len Brown commit 319f8b892722f289bb6e07b1067be3b2e0714238 Author: Bob Moore Date: Thu Nov 13 10:48:00 2008 +0800 ACPICA: Remove references to obsolete ACPI_DUMP_APP This define is no longer used. Signed-off-by: Bob Moore Signed-off-by: Lin Ming Signed-off-by: Len Brown commit a8fadc923d1659f1a322194d420808d5b255883c Author: Bob Moore Date: Thu Nov 13 09:45:35 2008 +0800 ACPICA: Add support to externally execute _OSI method The current implemenation of _OSI within ACPICA only allows other control methods to execute _OSI. This change allows the host OS to execute _OSI via the AcpiEvaluateObject interface. _OSI is a special method -- it does not exist in the AML code, it is implemented within ACPICA. Signed-off-by: Bob Moore Signed-off-by: Lin Ming Signed-off-by: Len Brown commit 9f15fc666ef54afc7aff31dfa31edecf00e0d81a Author: Bob Moore Date: Wed Nov 12 16:01:56 2008 +0800 ACPICA: Reformat comments, no functional changes Reformat comments to use fewer lines. Signed-off-by: Bob Moore Signed-off-by: Lin Ming Signed-off-by: Len Brown commit 009c4cbe99bea2da53f29ad685975a36f38c001c Author: Bob Moore Date: Wed Nov 12 15:34:52 2008 +0800 ACPICA: Add global pointer for FACS table to simplify FACS access Use a global pointer instead of using AcpiGetTableByIndex for each FACS access. This simplifies the code for the Global Lock and the Firmware Waking Vector(s). Signed-off-by: Bob Moore Signed-off-by: Lin Ming Signed-off-by: Len Brown commit c87609f31a8641009641fc1d19dac75e6de06fd4 Author: Bob Moore Date: Wed Nov 12 15:23:20 2008 +0800 ACPICA: Emit warning if two FACS or DSDT tables found in the FADT Checks if there are two valid but different addresses for the FACS and DSDT within the FADT (mismatch between the 32-bit and 64-bit fields.) Signed-off-by: Bob Moore Signed-off-by: Lin Ming Signed-off-by: Len Brown commit 34830726c9761f66299f4d82c4357e5faec54013 Author: Bob Moore Date: Wed Nov 12 15:17:41 2008 +0800 ACPICA: Fix namestring for the SystemCMOS address space This fixes the name of this address space, changing it from the incorrect CMOS to the correct SystemCMOS. Signed-off-by: Bob Moore Signed-off-by: Lin Ming Signed-off-by: Len Brown commit e9a8c6a90953b65326881189a1f3782bb2f6d250 Author: Bob Moore Date: Wed Nov 12 15:16:49 2008 +0800 ACPICA: Update debug output for IndexField I/O Split the "data register I/O" with more informative read and write messages. Signed-off-by: Bob Moore Signed-off-by: Lin Ming Signed-off-by: Len Brown commit fc37445733aeae4fd1a20385850620354263b1d5 Author: Bob Moore Date: Wed Nov 12 15:15:29 2008 +0800 ACPICA: Add a mechanism to escape infinite AML While() loops Add a loop counter to force exit from AML While loops if the count becomes too large. This can occur in poorly written AML when the hardware does not respond within a while loop and the loop does not implement a timeout. The maximum loop count is configurable. A new exception code is returned when a loop is broken, AE_AML_INFINITE_LOOP. Bob Moore, Alexey Starikovskiy. Signed-off-by: Bob Moore Signed-off-by: Lin Ming Signed-off-by: Len Brown commit 96411a630412f057d365aa1e9de7d23c069d627a Author: Bob Moore Date: Wed Nov 12 15:02:00 2008 +0800 ACPICA: Optimize execution of AML While loops Previously, a control state object was allocated and freed for each execution of the loop. The optimization is to simply reuse the control state for each iteration. This speeds up the raw loop execution time by about 5%. Signed-off-by: Bob Moore Signed-off-by: Lin Ming Signed-off-by: Len Brown commit 84d4db7c528e23f8c9ae0be12960549347003eeb Author: Lin Ming Date: Wed Nov 12 14:56:59 2008 +0800 ACPICA: Fix possible memory leak on error in parser Fixes a possible memory leak if an allocation failure happens in the parse loop. Must terminate an executing control method. Lin Ming, Bob Moore. ACPICA BZ 489. http://www.acpica.org/bugzilla/show_bug.cgi?id=489 Signed-off-by: Lin Ming Signed-off-by: Bob Moore Signed-off-by: Len Brown commit d85988fa0205b18459071e4bd709e48e695b952d Author: Bob Moore Date: Wed Nov 12 14:54:05 2008 +0800 ACPICA: Update FACS waking vector interfaces Split AcpiSetFirmwareWakingVector into two: one for the 32-bit vector, another for the 64-bit vector. This is required because the host OS must setup the wake much differently for each vector (real vs. protected mode, etc.) and the interface should not be deciding which vector to use. Also eliminate the GetFirmwareWakingVector interface, as it served no purpose (only the firmware reads the vector, OS only writes the vector.) ACPICA BZ 731. http://www.acpica.org/bugzilla/show_bug.cgi?id=731 Signed-off-by: Bob Moore Signed-off-by: Lin Ming Signed-off-by: Len Brown commit 6de4048a416d46eb2ac6597d03d2b58806a6b800 Author: Bob Moore Date: Wed Nov 12 14:16:21 2008 +0800 ACPICA: Fix several warnings under gcc 4 compiler New compiler is pickier than older versions. Joerg Sonnenberger. From ACPICA BZ 732. http://www.acpica.org/bugzilla/show_bug.cgi?id=732 Signed-off-by: Bob Moore Signed-off-by: Lin Ming Signed-off-by: Len Brown commit 684f4a4c4a69f7226d8c7559c0cdfc7bd388335a Author: Roel Kluin Date: Mon Dec 29 18:42:33 2008 -0800 EtherExpress16: fix printing timed out status in drivers/net/eexpress.c:558, function unstick_cu() while (!SCB_complete(rsst=scb_status(dev))) { ... if (...) printk(KERN_WARNING "%s: Reset timed out status %04x, retrying...\n", dev->name,rsst); } but this will become while (!((rsst = scb_status(dev) & 0x8000) != 0) ... because of the macro: #define SCB_complete(s) ((s&0x8000)!=0) so rsst can only become either 0x8000 or 0, but in the latter case the loop ends, I think the wrong timed out status is printed. This also cleans up similar macros. Signed-off-by: Roel Kluin Signed-off-by: David S. Miller commit 18cc42a3a17d19774b332e933cf34c71b0d3903c Author: Yevgeny Petrilin Date: Mon Dec 29 18:39:20 2008 -0800 mlx4_en: Added "set_ringparam" Ethtool interface implementation Now using Ethtool to determine ring sizes, removed the module parameters that controlled those values. Modifying ring size requires restart of the interface. Signed-off-by: Yevgeny Petrilin Signed-off-by: David S. Miller commit 2d6a7b7559b47f81c50a1df91910edefff79b9b4 Author: Yevgeny Petrilin Date: Mon Dec 29 18:38:54 2008 -0800 mlx4_en: Always allocate RX ring for each interrupt vector Removed module parameter specifying number of RX rings Signed-off-by: Yevgeny Petrilin Signed-off-by: David S. Miller commit c2b559ed8683ffb5a7bdd9e71b3803b231623c86 Author: Yevgeny Petrilin Date: Mon Dec 29 18:38:21 2008 -0800 mlx4_en: Verify number of RX rings doesn't exceed MAX_RX_RINGS Required in cases were dev->caps.num_comp_vectors > MAX_RX_RINGS. For current values this would happen on machines that have more then 16 cores. Signed-off-by: Yevgeny Petrilin Signed-off-by: David S. Miller commit 68888d105365366c5e1e0424cc939c1fc757f9c4 Author: Simon Horman Date: Mon Dec 29 18:37:36 2008 -0800 IPVS: Make "no destination available" message more consistent between schedulers Acked-by: Graeme Fowler Signed-off-by: Simon Horman Signed-off-by: David S. Miller commit c8e95c021caa9574350cea6f2b4f91e232e3f3ee Author: Huang Weiyi Date: Mon Dec 29 18:30:05 2008 -0800 net: KS8695: removed duplicated #include Removed duplicated include in drivers/net/arm/ks8695net.c. Signed-off-by: Huang Weiyi Signed-off-by: David S. Miller commit 7a0a9608e4459afdf2e4a7831c1cbeb41353adf6 Author: Kusanagi Kouichi Date: Mon Dec 29 18:23:28 2008 -0800 tun: Fix SIOCSIFHWADDR error. Set proper operations. Signed-off-by: Kusanagi Kouichi Signed-off-by: David S. Miller commit 36f8b9238373751b684650871fd161546b10116c Author: Alexey Dobriyan Date: Mon Dec 29 18:22:43 2008 -0800 smsc911x: compile fix re netif_rx signature changes Signed-off-by: Alexey Dobriyan Signed-off-by: Steve Glendinning Signed-off-by: David S. Miller commit 8eb79863962bbf18ebf648335e329bfd468432fa Author: Eric W. Biederman Date: Mon Dec 29 18:21:48 2008 -0800 netns: foreach_netdev_safe is insufficient in default_device_exit During network namespace teardown we either move or delete all of the network devices associated with a network namespace. In the case of veth devices deleting one will also delete it's pair device. If both devices are in the same network namespace then for_each_netdev_safe is insufficient as next may point to the second veth device we have deleted. To avoid problems I do what we do in __rtnl_kill_links and restart the scan of the device list, after we have deleted a device. Currently dev_change_netnamespace does not appear to suffer from this problem, but wireless devices are also paired and likely should be moved between network namespaces together. So I have errored on the side of caution and restart the scan of the network devices in that case as well. Signed-off-by: Eric W. Biederman Signed-off-by: David S. Miller commit 91b208c7c1db4cefa2247f8243fbda75b0472d24 Author: Rusty Russell Date: Mon Dec 29 18:20:06 2008 -0800 net: make xfrm_statistics_seq_show use generic snmp_fold_field No reason to roll our own here. Signed-off-by: Rusty Russell Signed-off-by: David S. Miller commit 2d0658d4ef92e4958172c832bd88c961840e599e Author: Kamalesh Babulal Date: Mon Dec 29 18:18:24 2008 -0800 net: Fix more NAPI interface netdev argument drop fallout. I hit similar build failure due to the change in the netif_rx_reschedule() drivers/net/ehea/ehea_main.c: In function 'ehea_poll': drivers/net/ehea/ehea_main.c:844: warning: passing argument 1 of 'netif_rx_reschedule' from incompatible pointer type drivers/net/ehea/ehea_main.c:844: error: too many arguments to function 'netif_rx_reschedule' make[3]: *** [drivers/net/ehea/ehea_main.o] Error 1 greping through the sources for the changes missed out, we have ./drivers/net/arm/ixp4xx_eth.c:507: netif_rx_reschedule(dev, napi)) { ./drivers/net/arm/ep93xx_eth.c:310: if (more && netif_rx_reschedule(dev, napi)) ./drivers/net/wan/ixp4xx_hss.c:657: netif_rx_reschedule(dev, napi)) { Signed-off-by: Kamalesh Babulal Acked-by: Neil Horman Signed-off-by: David S. Miller commit bda53cd510b6777ced652ba279020bb7b414b744 Author: Mark McLoughlin Date: Wed Dec 10 17:45:39 2008 +0000 lguest: struct device - replace bus_id with dev_name() bus_id is gradually being removed, so use dev_name() instead. Signed-off-by: Mark McLoughlin Cc: Kay Sievers Cc: Greg Kroah-Hartman Signed-off-by: Rusty Russell commit 58a24566449892dda409b9ad92c2e56c76c5670c Author: Matias Zabaljauregui Date: Mon Sep 29 01:40:07 2008 -0300 lguest: move the initial guest page table creation code to the host This patch moves the initial guest page table creation code to the host, so the launcher keeps working with PAE enabled configs. Signed-off-by: Matias Zabaljauregui Signed-off-by: Rusty Russell commit be3c5832d51174ef7f21cefd6ad612dabdcb62fd Author: Christian Borntraeger Date: Tue Nov 18 22:44:13 2008 +0100 kvm-s390: implement config_changed for virtio on s390 This patch implements config_changed for the s390 virtio transport. We use the least significant bit of the interrupt parameter field to decide, if this interrupt should call the virtio virtqueue callback or the config_changed callback. This method is compatible with old host and guest code. Old 64 bit guests will not check the bit and trigger a harmless additional vring_interrupt call. Old host code will never set this bit, this is also safe. This patch also takes care of a potential future 31 bit virtio transport for s390. On 31 bit _LC_PFAULT_INTPARM and __LC_EXT_PARAMS are identical. We exploit the alignment of the token and fold the change bit into the lsb of the token itself. Signed-off-by: Christian Borntraeger Signed-off-by: Rusty Russell commit c29834584ea4eafccf2f62a0b8a32e64f792044c Author: Christian Borntraeger Date: Tue Nov 25 13:36:26 2008 +0100 virtio_console: support console resizing this patch uses the new hvc callback hvc_resize to set the window size which allows to change the tty size of hvc_console via a hvc_resize function. I have added a new feature bit VIRTIO_CONSOLE_F_SIZE. The driver will change the window size on tty open and via the config_changed callback of the transport. Currently lguest and kvm_s390 have not implemented this callback, but the callback can be implemented at a later point in time. Signed-off-by: Christian Borntraeger Signed-off-by: Rusty Russell commit 29f9f12ec737af62835124e4a8bdb9de631f04dd Author: Mark McLoughlin Date: Wed Dec 10 17:45:34 2008 +0000 virtio: add PCI device release() function Add a release() function for virtio_pci devices so as to avoid: Device 'virtio0' does not have a release() function, it is broken and must be fixed Move the code to free the resources associated with the device from virtio_pci_remove() into this new function. virtio_pci_remove() now merely unregisters the device which should cause the final ref to be dropped and virtio_pci_release_dev() to be called. Signed-off-by: Mark McLoughlin Reported-by: Michael Tokarev Cc: Anthony Liguori Signed-off-by: Rusty Russell commit b194aee95622f649311f8e53418a17e210ff6827 Author: Randy Dunlap Date: Wed Nov 26 13:15:50 2008 -0800 virtio_blk: fix type warning Fix parameter type warning: linux-next-20081126/drivers/block/virtio_blk.c:307: warning: large integer implicitly truncated to unsigned type Signed-off-by: Randy Dunlap cc: Rusty Russell Signed-off-by: Rusty Russell commit 0864b79a153342c1dfbebb12b2d099fec76c5e18 Author: Rusty Russell Date: Tue Dec 30 09:26:05 2008 -0600 virtio: block: dynamic maximum segments Enhance the driver to handle whatever maximum segment number the host tells us to handle. Do to this, we need to allocate the scatterlist dynamically. We set max_phys_segments and max_hw_segments to the same value (1 if the host doesn't tell us, since that's safest and all known hosts do tell us). Note that kmalloc'ing the structure for large sg_elems might be problematic: the fix for this is sg_table, but that requires more work. Signed-off-by: Rusty Russell commit 4b7f7e2049956f6e946ad56c1ee093e7bab74da9 Author: Rusty Russell Date: Tue Dec 30 09:26:04 2008 -0600 virtio: set max_segment_size and max_sectors to infinite. Setting max_segment_size allows more than 64k per sg element, unless the host specified a limit. Setting max_sectors indicates that our max_hw_segments is the only limit. Signed-off-by: Rusty Russell commit 1b4aa2faeca1b9922033daf2475b6fc13b0ffea6 Author: Hollis Blanchard Date: Thu Nov 13 15:48:33 2008 -0600 virtio: avoid implicit use of Linux page size in balloon interface Make the balloon interface always use 4K pages, and convert Linux pfns if necessary. This patch assumes that Linux's PAGE_SHIFT will never be less than 12. Signed-off-by: Hollis Blanchard Signed-off-by: Rusty Russell (modified) commit 87c7d57c17ade5024d95b6ca0da249da49b0672a Author: Rusty Russell Date: Tue Dec 30 09:26:03 2008 -0600 virtio: hand virtio ring alignment as argument to vring_new_virtqueue This allows each virtio user to hand in the alignment appropriate to their virtio_ring structures. Signed-off-by: Rusty Russell Acked-by: Christian Borntraeger commit db40598863e8cbbd11053ad3c8bae89000f603f9 Author: Rusty Russell Date: Tue Dec 30 09:26:02 2008 -0600 virtio: use KVM_S390_VIRTIO_RING_ALIGN instead of relying on pagesize This doesn't really matter, since s390 pagesize is 4k anyway. Signed-off-by: Rusty Russell Acked-by: Christian Borntraeger commit 2966af73e70dee461c256b5eb877b2ff757f8c82 Author: Rusty Russell Date: Tue Dec 30 09:25:58 2008 -0600 virtio: use LGUEST_VRING_ALIGN instead of relying on pagesize This doesn't really matter, since lguest is i386 only at the moment, but we could actually choose a different value. (lguest doesn't have a guarenteed ABI). Signed-off-by: Rusty Russell commit 498af14783935af487d17dbee4ac451783cbc2b7 Author: Rusty Russell Date: Tue Dec 30 09:25:57 2008 -0600 virtio: Don't use PAGE_SIZE for vring alignment in virtio_pci. That doesn't work for non-4k guests which are now appearing. Signed-off-by: Rusty Russell commit 5f0d1d7f2286c8a02dab69f5f0bd51681fab161e Author: Rusty Russell Date: Tue Dec 30 09:25:57 2008 -0600 virtio: rename 'pagesize' arg to vring_init/vring_size It's really the alignment desired for consumer/producer separation; historically this x86 pagesize, but with PowerPC it'll still be x86 pagesize. And in theory lguest could choose a different value. Signed-off-by: Rusty Russell commit 480daab42c4dd74b3c07031ddf9031251c530c77 Author: Rusty Russell Date: Tue Dec 30 09:25:56 2008 -0600 virtio: Don't use PAGE_SIZE in virtio_pci.c The virtio PCI devices don't depend on the guest page size. This matters now PowerPC virtio is gaining ground (they like 64k pages). Signed-off-by: Rusty Russell commit 99e0b6c8e3f30602383bcfe3f574537a02ee2bea Author: Kay Sievers Date: Tue Dec 30 09:25:56 2008 -0600 virtio: struct device - replace bus_id with dev_name(), dev_set_name() This patch is part of a larger patch series which will remove the "char bus_id[20]" name string from struct device. The device name is managed in the kobject anyway, and without any size limitation, and just needlessly copied into "struct device". To set and read the device name dev_name(dev) and dev_set_name(dev) must be used. If your code uses static kobjects, which it shouldn't do, "const char *init_name" can be used to statically provide the name the registered device should have. At registration time, the init_name field is cleared, to enforce the use of dev_name(dev) to access the device name at a later time. We need to get rid of all occurrences of bus_id in the entire tree to be able to enable the new interface. Please apply this patch, and possibly convert any remaining remaining occurrences of bus_id. We want to submit a patch to -next, which will remove bus_id from "struct device", to find the remaining pieces to convert, and finally switch over to the new api, which will remove the 20 bytes array and does no longer have a size limitation. Acked-by: Greg Kroah-Hartman Signed-off-by: Kay Sievers Signed-off-by: Rusty Russell commit 13b1eb333beed018140be3d0b77bf34000125a34 Author: Hollis Blanchard Date: Tue Dec 2 16:24:40 2008 -0600 virtio-pci queue allocation not page-aligned kzalloc() does not guarantee page alignment, and in fact this broke when I enabled CONFIG_SLUB_DEBUG_ON. (Thanks to Anthony Liguori for spotting the missing kfree sub) Signed-off-by: Hollis Blanchard Signed-off-by: Rusty Russell (fixed kfree) Tested-by: Anthony Liguori commit e12f0102ac81d660c9f801d0a0e10ccf4537a9de Author: Rusty Russell Date: Tue Dec 30 09:05:19 2008 +1030 cpumask: Use nr_cpu_ids in seq_cpumask Impact: cleanup, futureproof nr_cpu_ids is the (badly named) runtime limit on possible CPU numbers; ie. the variable version of NR_CPUS. With the new cpumask operators, only bits less than this are defined. So we should use it everywhere, rather than NR_CPUS. Eventually this will make it possible to allocate cpumasks of the minimal length at runtime. Signed-off-by: Rusty Russell Signed-off-by: Mike Travis Acked-by: Ingo Molnar commit cbe31f02f5b5536f17dd978118e25052af528071 Author: Rusty Russell Date: Tue Dec 30 09:05:18 2008 +1030 cpumask: use new cpumask API in drivers/infiniband/hw/ipath Impact: cleanup We're moving from handing around cpumask_t's to handing around struct cpumask *'s. cpus_*, cpumask_t and cpu_*_map are deprecated: convert to cpumask_*, cpu_*_mask. Signed-off-by: Rusty Russell Cc: Ralph Campbell commit b29179c3d32021d79c11ece7199a1da41d31b1b7 Author: Rusty Russell Date: Tue Dec 30 09:05:18 2008 +1030 cpumask: use new cpumask API in drivers/infiniband/hw/ehca Impact: cleanup We're moving from handing around cpumask_t's to handing around struct cpumask *'s. cpus_*, cpumask_t and cpu_*_map are deprecated: convert to cpumask_*, cpu_*_mask. Signed-off-by: Rusty Russell Acked-by: Hoang-Nam Nguyen Tested-by: Hoang-Nam Nguyen Cc: Christoph Raisch commit 259c4ddd00237e5072921afa15a900839643fd98 Author: Rusty Russell Date: Tue Dec 30 09:05:17 2008 +1030 cpumask: use for_each_online_cpu() in drivers/infiniband/hw/ehca/ehca_irq.c Impact: cleanup In future, accessing cpu numbers beyond nr_cpu_ids (the runtime limit) will be undefined. We can avoid future problems by using for_each_online_cpu() here. Signed-off-by: Rusty Russell Acked-by: Hoang-Nam Nguyen Tested-by: Hoang-Nam Nguyen Cc: Christoph Raisch commit ce47d974f71af26d00832e83a43ac79bec272d99 Author: Rusty Russell Date: Tue Dec 30 09:05:17 2008 +1030 cpumask: arch_send_call_function_ipi_mask: core Impact: new API to reduce stack usage We're weaning the core code off handing cpumask's around on-stack. This introduces arch_send_call_function_ipi_mask(). Signed-off-by: Rusty Russell commit 54b11e6d57a10aa9d0009efd93873e17bffd5d30 Author: Rusty Russell Date: Tue Dec 30 09:05:16 2008 +1030 cpumask: smp_call_function_many() Impact: Implementation change to remove cpumask_t from stack. Actually change smp_call_function_mask() to smp_call_function_many(). We avoid cpumasks on the stack in this version. (S390 has its own version, but that's going away apparently). We have to do some dancing to figure out if 0 or 1 other cpus are in the mask supplied and the online mask without allocating a tmp cpumask. It's still fairly cheap. We allocate the cpumask at the end of the call_function_data structure: if allocation fails we fallback to smp_call_function_single rather than using the baroque quiescing code (which needs a cpumask on stack). (Thanks to Hiroshi Shimamoto for spotting several bugs in previous versions!) Signed-off-by: Rusty Russell Signed-off-by: Mike Travis Cc: Hiroshi Shimamoto Cc: npiggin@suse.de Cc: axboe@kernel.dk commit 3fa41520696fec2815e2d88fbcccdda77ba4d693 Author: Rusty Russell Date: Tue Dec 30 09:05:16 2008 +1030 cpumask: make set_cpu_*/init_cpu_* out-of-line They're only for use in boot/cpu hotplug code anyway, and this avoids the use of deprecated cpu_*_map. Stephen Rothwell points out that gcc 4.2.4 (on powerpc at least) didn't like the cast away of const anyway: include/linux/cpumask.h: In function 'set_cpu_possible': include/linux/cpumask.h:1052: warning: passing argument 2 of 'cpumask_set_cpu' discards qualifiers from pointer target type So this kills two birds with one stone. Signed-off-by: Rusty Russell commit ae7a47e72e1a0b5e2b46d1596bc2c22942a73023 Author: Rusty Russell Date: Tue Dec 30 09:05:15 2008 +1030 cpumask: make cpumask.h eat its own dogfood. Changes: 1) cpumask_t to struct cpumask, 2) cpus_weight_nr to cpumask_weight, 3) cpu_isset to cpumask_test_cpu, 4) ->bits to cpumask_bits() 5) cpu_*_map to cpu_*_mask. 6) for_each_cpu_mask_nr to for_each_cpu Signed-off-by: Rusty Russell commit b3199c025d1646e25e7d1d640dd605db251dccf8 Author: Rusty Russell Date: Tue Dec 30 09:05:14 2008 +1030 cpumask: switch over to cpu_online/possible/active/present_mask: core Impact: cleanup This implements the obsolescent cpu_online_map in terms of cpu_online_mask, rather than the other way around. Same for the other maps. The documentation comments are also updated to refer to _mask rather than _map. Signed-off-by: Rusty Russell Signed-off-by: Mike Travis commit cb78a0ce69fad2026825f957e24e2d9cda1ec9f1 Author: Rusty Russell Date: Tue Dec 30 09:05:14 2008 +1030 bitmap: fix seq_bitmap and seq_cpumask to take const pointer Impact: cleanup seq_bitmap just calls bitmap_scnprintf on the bits: that arg can be const. Similarly, seq_cpumask just calls seq_bitmap. Signed-off-by: Rusty Russell commit 4b0bc0bca83f3fb7cf920e2ec80684c15d2269c0 Author: Rusty Russell Date: Tue Dec 30 09:05:13 2008 +1030 bitmap: test for constant as well as small size for inline versions Impact: reduce text size bitmap_zero et al have a fastpath for nbits <= BITS_PER_LONG, but this should really only apply where the nbits is known at compile time. This only saves about 1200 bytes on an allyesconfig kernel, but with cpumasks going variable that number will increase. text data bss dec hex filename 35327852 5035607 6782976 47146435 2cf65c3 vmlinux-before 35326640 5035607 6782976 47145223 2cf6107 vmlinux-after Signed-off-by: Rusty Russell commit 278d1ed65e25d80af7c3a112d707b3f70516ddb4 Author: Rusty Russell Date: Tue Dec 30 09:05:12 2008 +1030 cpumask: make CONFIG_NR_CPUS always valid. Impact: cleanup Currently we have NR_CPUS, which is 1 on UP, and CONFIG_NR_CPUS on SMP. If we make CONFIG_NR_CPUS always valid (and always 1 on !SMP), we can skip the middleman. This also allows us to find and check all the unaudited NR_CPUS usage as we prepare for v. large NR_CPUS. To avoid breaking every arch, we cheat and do this for the moment in the header if the arch doesn't. Signed-off-by: Rusty Russell Signed-off-by: Mike Travis commit 33edcf133ba93ecba2e4b6472e97b689895d805c Merge: be4d638 3c92ec8 Author: Rusty Russell Date: Tue Dec 30 08:02:35 2008 +1030 Merge branch 'master' of git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux-2.6 commit 8c2399895dc1b5e8976884d4898e68e61ec23e54 Author: Mauro Carvalho Chehab Date: Fri Nov 28 23:46:43 2008 -0300 V4L/DVB (9767): em28xx: improve board description messages Print manufacturer/product info from USB device and also card entry. Signed-off-by: Mauro Carvalho Chehab commit 6a18eaf61aadcd7f002ddfa26031525570e6f8b6 Author: Mauro Carvalho Chehab Date: Thu Nov 27 14:32:17 2008 -0300 V4L/DVB (9766): em28xx: improve probe messages Prints usb speed used by em28xx interface. While there, fixes USB ID's endiannes. Signed-off-by: Mauro Carvalho Chehab commit 017ab4b1e2aa31dc9fe986ab6d1f5ffa2a84395b Author: Mauro Carvalho Chehab Date: Thu Nov 27 09:21:55 2008 -0300 V4L/DVB (9765): em28xx: move tuner gpio's to the cards struct Signed-off-by: Mauro Carvalho Chehab commit 2fe3e2ee72ef17daad1d3769321bb7dd69a003a9 Author: Mauro Carvalho Chehab Date: Thu Nov 27 09:10:40 2008 -0300 V4L/DVB (9764): em28xx: Add support for suspend the device when not used Several chips may be turned off when the device is not used, like audio, video and dvb demods. This patch adds a gpio callback at the core structs to allow turning off such devices. Signed-off-by: Mauro Carvalho Chehab commit f502e861849ade3a128964410c87acedf437a6a1 Author: Mauro Carvalho Chehab Date: Thu Nov 27 09:00:00 2008 -0300 V4L/DVB (9763): em28xx: fix gpio settings A previous changeset moved gpio from em28xx struct into em28xx_board. However, the driver were not updated to properly honor those gpio's. Signed-off-by: Mauro Carvalho Chehab commit 1c67e76f71e7cccc1e0734aee908391e9f0a32f8 Author: Mauro Carvalho Chehab Date: Thu Nov 27 07:46:59 2008 -0300 V4L/DVB (9762): em28xx: fix tuner absent entries Before this patch, several devices without tuner were kept the value 0 for tuner_type. However, this means TUNER_TEMIC_PAL. Replace those entries for the proper TUNER_ABSENT value. Signed-off-by: Mauro Carvalho Chehab commit a5942b5c26864bfc7dda653f294e956dc0a36c84 Author: Mauro Carvalho Chehab Date: Thu Nov 27 07:44:00 2008 -0300 V4L/DVB (9761): em28xx: replace magic numbers for mux aliases Instead of using magic vmux/amux, let's use an alias where possible. Signed-off-by: Mauro Carvalho Chehab commit 122b77e59ed2de0692dfe45c87a93e98156fe03a Author: Mauro Carvalho Chehab Date: Thu Nov 27 07:42:26 2008 -0300 V4L/DVB (9760): em28xx: move gpio lines into board table description Instead of a large, ugly switch specifying the gpio tables for each device, let's move it into the boards struct. This also helps to see what boards have already the gpio's for DVB. Signed-off-by: Mauro Carvalho Chehab commit 0ec202d183b4e3d3e4d06612a29e25466889c328 Author: Mauro Carvalho Chehab Date: Tue Nov 25 13:16:13 2008 -0300 V4L/DVB (9759): em28xx: move gpio tables to the top of em28xx-cards Signed-off-by: Mauro Carvalho Chehab commit 2a29a0d770ef6f24a8fd7806655c826d45888cba Author: Mauro Carvalho Chehab Date: Wed Nov 26 16:28:42 2008 -0300 V4L/DVB (9758): em28xx: replace some magic by register descriptions where known Replaces all occurrences of em28xx_write_regs_req() and em28xx_write_reg() used to setup register names by em28xx_write_reg(). Also, documents the register names that are known. This patch were generated by this small perl script: my %reg_map = ( # Register table - the same as defined on parse_em28xx.pl script ); while (<>) { if (m/(.*)em28xx_write_regs_req\(dev\,\s*0x00\,\s*(.*)\,\s*\"\\x(..)\",\s*1\)\;(.*)/) { my $reg = $2; my $val = $3; $val =~ tr/A-f/a-f/; $reg = $reg_map{$reg} if defined($reg_map{$reg}); printf "$1em28xx_write_reg(dev, %s, 0x%s);$4\n", $reg, $val; } elsif (m/(.*)em28xx_write_regs\(dev\,\s*(.*)\,\s*\"\\x(..)\",\s*1\)\;(.*)/) { my $reg = $2; my $val = $3; $val =~ tr/A-f/a-f/; $reg = $reg_map{$reg} if defined($reg_map{$reg}); printf "$1em28xx_write_reg(dev, %s, 0x%s);$4\n", $reg, $val; } else { print $_; } } Signed-off-by: Mauro Carvalho Chehab commit c864405747fa8b50c1454b280c216f54da834cb4 Author: Mauro Carvalho Chehab Date: Tue Nov 25 13:10:14 2008 -0300 V4L/DVB (9755): em28xx: cleanup: We need just one tuner callback Signed-off-by: Mauro Carvalho Chehab commit 1bee0184f6ffba1263a4b1e5732cde2c5292d843 Author: Mauro Carvalho Chehab Date: Tue Nov 25 10:06:21 2008 -0300 V4L/DVB (9754): em28xx: improve debug messages Now, the first message states board names. Also, removed printing the alternate settings by default. I2C messages are now clearer. Signed-off-by: Mauro Carvalho Chehab commit ec5de990d912c0d5cca98e030bf6447c1529f56d Author: Mauro Carvalho Chehab Date: Tue Nov 25 09:43:29 2008 -0300 V4L/DVB (9753): em28xx: cleanup: saa7115 module auto-detects saa711x type Since saa7115 has saa711x chip auto-detection, there's no need on differenciating it at cards table. Just use the generic name for all boards that use a philips saa711x decoder. Signed-off-by: Mauro Carvalho Chehab commit 505b6d0b774fa4475fedbd3cebf95199c17a0086 Author: Mauro Carvalho Chehab Date: Tue Nov 25 09:39:50 2008 -0300 V4L/DVB (9752): Remove duplicated fields on em28xx_board and em28xx structs Several fields are duplicated on both structs. Let's just copy em28xx_board instead. A later cleanup could just copy the fields that are changed, in order to keep em28xx_board const. Signed-off-by: Mauro Carvalho Chehab commit d4d889e329bd0837598b3ef611806421754e9b83 Author: Mauro Carvalho Chehab Date: Tue Nov 25 09:10:25 2008 -0300 V4L/DVB (9751): em28xx: card description cleanups Remove unused em28xx_board.vchannels and em28xx.video_channels. Also, .is_em2800 = 0 is not needed, as all data is zeroed by kernel loader. The table also included a notice that svideo weren't test on Hauppauge USB2. Remove this notice, since this input also works properly. Also, it does some whitespace cleanups. Signed-off-by: Mauro Carvalho Chehab commit a2070c665459ac37a36bebae5e97bb4a2568990e Author: Mauro Carvalho Chehab Date: Tue Nov 25 07:05:06 2008 -0300 V4L/DVB (9747): em28xx: Properly handles XCLK and I2C speed The previous patches removed XCLK and I2C magic. Now, we finally know what those registers do. Also, only a very few cards need different setups for those. Instead of keeping the setups for those values inside the per-device hack magic switch, move the uncommon values to the board-specific struct, and have a common setup for all other boards. So, almost 100 lines of hacking magic were removed. A co-lateral effect of this patch is that it also fixes a bug at em28xx-core, where xclk were set, without taking any care about not overriding a previous xclk setup. Signed-off-by: Mauro Carvalho Chehab commit 6d676d8af852e483044837240ad9ca669a01aaf2 Author: Devin Heitmueller Date: Tue Nov 25 06:04:02 2008 -0300 V4L/DVB (9745): em28xx: Cleanup GPIO/GPO setup code Cleanup the calls to set the GPIOs and GPOs for various devices, replacing the register number with the #define from em28xx-reg.h and converting over to using em28xx_write_reg() Signed-off-by: Devin Heitmueller Signed-off-by: Mauro Carvalho Chehab commit 55927684e7c616b0b0976cc52926997f2da5930d Author: Devin Heitmueller Date: Tue Nov 25 06:03:31 2008 -0300 V4L/DVB (9744): em28xx: cleanup XCLK register usage Convert over to setting the XCLK register usage with the new em28xx_write_reg() function. Thanks to Ray Lu from Empia for providing the em2860/2880 datasheet. Signed-off-by: Devin Heitmueller Signed-off-by: Mauro Carvalho Chehab commit 2f56c34b2bc25a5a3419715f38f7d761fcd61b23 Author: Uri Shkolnik Date: Sat Nov 22 14:08:46 2008 -0300 V4L/DVB (9740): sms1xxx: add USB suspend and hibernation support This patch provides USB suspend and hibernation support for Siano's SMS chipset based USB device Signed-off-by: Uri Shkolnik Signed-off-by: Michael Krufky Signed-off-by: Mauro Carvalho Chehab commit 7b29e10d609035b5f93546ac6bcd1c5d810476a7 Author: Michael Krufky Date: Sat Nov 22 15:32:19 2008 -0300 V4L/DVB (9739): sms1xxx: enable signal quality indicator LEDs on Hauppauge WinTV MiniStick Signed-off-by: Michael Krufky Signed-off-by: Mauro Carvalho Chehab commit 851a90914346b9a3b1afc0ae9c1ed2eb3dae9b5a Author: Michael Krufky Date: Sat Nov 22 14:56:37 2008 -0300 V4L/DVB (9738): sms1xxx: fix invalid unc readings Add function smsdvb_read_ucblocks to report uncorrectable error counts. Signed-off-by: Michael Krufky Signed-off-by: Mauro Carvalho Chehab commit 7a6fbed650cc329ba7094af3278deaea0c80bd7b Author: Michael Krufky Date: Sat Nov 22 14:26:37 2008 -0300 V4L/DVB (9736): sms1xxx: enable power LED on Hauppauge WinTV MiniStick Enable power LED while the frontend is in use. Signed-off-by: Michael Krufky Signed-off-by: Mauro Carvalho Chehab commit 250fa674fdcaa64ba17cdb6d3ef0bdf2fa15af90 Author: Michael Krufky Date: Sun Nov 16 22:45:42 2008 -0300 V4L/DVB (9735): sms1xxx: turn off LEDs after initialization of Hauppauge WinTV MiniStick Signed-off-by: Michael Krufky Signed-off-by: Mauro Carvalho Chehab commit 3f7d99f65a044785804ef65b3588da0640ed1c37 Author: Michael Krufky Date: Sat Nov 22 11:21:02 2008 -0300 V4L/DVB (9733): sms1xxx: add autodetection support for Hauppauge WinTV MiniCard add USB IDs for Hauppauge WinTV MiniCard DVB-T Signed-off-by: Michael Krufky Signed-off-by: Mauro Carvalho Chehab commit 76052bc8688c84628865740e2f82ab41d71a977b Author: Michael Krufky Date: Sun Nov 16 18:01:58 2008 -0300 V4L/DVB (9734): sms1xxx: add functions to configure and set gpio Signed-off-by: Michael Krufky Signed-off-by: Mauro Carvalho Chehab commit c9455fbb159711ca7a2ee5a67f0e7ca43287bbd7 Author: Mauro Carvalho Chehab Date: Sat Nov 22 10:50:38 2008 -0300 V4L/DVB (9717): em28xx: improve message probing logs On some em28xx devices, there's an unused interface. This is printed on the logs as an error. We can just ignore that interface. Signed-off-by: Mauro Carvalho Chehab commit 6e4ae872c580d6a388a52ddfdfc93b4215af1180 Author: Jean-Francois Moine Date: Sat Nov 22 05:35:49 2008 -0300 V4L/DVB (9713): gspca: Add the ov534 webcams in the gspca documentation. Signed-off-by: Jean-Francois Moine Signed-off-by: Mauro Carvalho Chehab commit fbb4c6d20f29f2b10daad31cc6238d91f93d70d4 Author: Antonio Ospite Date: Sat Nov 22 05:23:39 2008 -0300 V4L/DVB (9712): gspca:Subdriver ov534 added. The OmniVision OV534 is the USB bridge chip used in Sony Playstation EYE, it is found also in other webcams like Hercules Blog Webcam and Hercules Dualpix HD. This driver is the port to gspca of a prototype driver by Mark Ferrell based on vivi. The original code to initialize the camera and start the capture is from Jim Paris on ps2dev.org, here integrated with the analysis of the USB communications taken by the windows driver. Signed-off-by: Antonio Ospite Signed-off-by: Jean-Francois Moine Signed-off-by: Mauro Carvalho Chehab commit a08d81af37b3d7547813219da68c3c946f742fb3 Author: Jean-Francois Moine Date: Sat Nov 22 04:53:31 2008 -0300 V4L/DVB (9711): gspca: Let gspca handle the webcams 045e:00f5 & 00f7 instead of sn9c102. Signed-off-by: Jean-Francois Moine Signed-off-by: Mauro Carvalho Chehab commit 342b4a2adf9e11c7f18c3ddc47d109fdab3530ff Author: Jean-Francois Moine Date: Sat Nov 22 04:17:06 2008 -0300 V4L/DVB (9709): gspca: Fix typos and name errors in Kconfig. Signed-off-by: Jean-Francois Moine Signed-off-by: Mauro Carvalho Chehab commit 1432f3062a72d1eafccc641dd9327a062fc27b92 Author: Jean-Francois Moine Date: Fri Nov 21 04:34:15 2008 -0300 V4L/DVB (9708): gspca: Do the sn9c105 - ov7660 work again in sonixj. The sn9c105 and sn9c120 bridges must be differently programmed for the ov7660. Signed-off-by: Jean-Francois Moine Signed-off-by: Mauro Carvalho Chehab commit d01823069f40b8ff084449bf469ba558b1bc951d Author: Hans de Goede Date: Wed Nov 19 17:10:47 2008 -0300 V4L/DVB (9706): gspca: Use the ref counting of v4l2 for disconnection. Signed-off-by: Hans de Goede Signed-off-by: Jean-Francois Moine Signed-off-by: Mauro Carvalho Chehab commit 579ef879999f9b9e9215ad5c5bb78e168cc64dde Author: Erik Andrén Date: Tue Nov 18 14:38:10 2008 -0300 V4L/DVB (9703): Move the s5k4aa vflip quirk table to the main sensor file in order to avoid compilation errors on older kernels Signed-off-by: Erik Andrén Signed-off-by: Mauro Carvalho Chehab commit 30881ab7b30f1585a44bb7cd7dafb59ec798073d Author: Erik Andrén Date: Tue Nov 18 14:36:53 2008 -0300 V4L/DVB (9702): Move the ov9650 vflip table to avoid compilation warnings on older kernels Signed-off-by: Erik Andrén Signed-off-by: Mauro Carvalho Chehab commit 8eaaf4034f22bad1da46859d64edab1d898974ab Author: Erik Andrén Date: Tue Nov 18 14:32:27 2008 -0300 V4L/DVB (9701): Add a minor comment to the sensor init Signed-off-by: Erik Andrén Signed-off-by: Mauro Carvalho Chehab commit 2ea487e2d00ba2c1c24a1e5cd7e2465ce0c95c4b Author: Erik Andrén Date: Sat Nov 1 13:13:03 2008 -0300 V4L/DVB (9698): Add another vflip quirk for the s5k4aa The msi gx7xx range of computers seem to be a strange lot with lots of different sys vendor names and differently oriented sensors. This commit adds another quirk for a range of them. Signed-off-by: Erik Andrén Signed-off-by: Mauro Carvalho Chehab commit 9267b1e8249983ecaded94bf23253a66a5cc55fc Author: Erik Andrén Date: Sat Oct 18 16:20:36 2008 -0300 V4L/DVB (9696): Remove accidental typo Signed-off-by: Erik Andrén Signed-off-by: Mauro Carvalho Chehab commit 000e177f78466be2487ac4983291abb7b0ff0be7 Author: Erik Andrén Date: Tue Oct 14 02:41:54 2008 -0300 V4L/DVB (9694): Indent the m5602 register definitions Signed-off-by: Erik Andrén Signed-off-by: Mauro Carvalho Chehab commit d7280518ef8151600aad1e6b999464df435b608b Author: Erik Andrén Date: Tue Oct 14 02:38:49 2008 -0300 V4L/DVB (9693): Remove some unused defines The gspca conversion deprecated a number of defines. Remove them. Signed-off-by: Erik Andrén Signed-off-by: Mauro Carvalho Chehab commit 880ae24d35d357037d5ad5c3148383fde1070a12 Author: Jean-Francois Moine Date: Tue Nov 18 04:19:52 2008 -0300 V4L/DVB (9688): gspca: Reset the bulk URB status before resubmitting at irq level. Signed-off-by: Jean-Francois Moine Signed-off-by: Mauro Carvalho Chehab commit 9a23f5fcb0d38ebb70ab31c16c079f38b26e453c Author: Hans de Goede Date: Mon Nov 17 15:03:03 2008 -0300 V4L/DVB (9687): gspca: Split brightness and red and blue balance in spca501. Signed-off-by: Hans de Goede Signed-off-by: Jean-Francois Moine Signed-off-by: Mauro Carvalho Chehab commit bd131f38aae2f354c4919790712f8ce89896f839 Author: Hans de Goede Date: Mon Nov 17 14:56:41 2008 -0300 V4L/DVB (9686): gspca: Don't return the control values from the webcams in spca501. The bridge takes some time to update after a write, so apps doing a quick write/read can get the old value back. Signed-off-by: Hans de Goede Signed-off-by: Jean-Francois Moine Signed-off-by: Mauro Carvalho Chehab commit cc043428e5869a629252665d3ecc86ee4c14db3d Author: Hans de Goede Date: Mon Nov 17 14:52:56 2008 -0300 V4L/DVB (9685): gspca: Correct restart of webcams in spca501. Currently the spca501 driver only works the first time used, then the cam needs to be unplugged or the driver reloaded, this is because currently the data which should be send each time the stream is started is send only once. Likewise currently the data to initialize the cam is send from the probe function, and thus will not get send after a suspend/resume. This patch fixes this by sending both at the right time. Signed-off-by: Hans de Goede Signed-off-by: Jean-Francois Moine Signed-off-by: Mauro Carvalho Chehab commit dff369aad6407e7b123e239e9ea2f552299cf74c Author: Antonio Ospite Date: Fri Nov 14 07:53:32 2008 -0300 V4L/DVB (9682): gspca: New subdriver parameter 'bulk_nurbs'. Some webcams with image transfer by bulk messages accept one or many permanent bulk read. Signed-off-by: Antonio Ospite Signed-off-by: Jean-Francois Moine Signed-off-by: Mauro Carvalho Chehab commit 6270330abea2d9556583d597bb78d64b291aa6ba Author: Jean-Francois Moine Date: Tue Nov 11 08:42:56 2008 -0300 V4L/DVB (9681): gspca: Rewrite the exchanges with the sensor ov7648 of sonixj. The new exchanges are adapted from MS-win traces and the webcams work better. Signed-off-by: Jean-Francois Moine Signed-off-by: Mauro Carvalho Chehab commit 821ced29a4aee1bd21d1d114cc9c7247b3aa4ba3 Author: Jean-Francois Moine Date: Tue Nov 11 07:10:11 2008 -0300 V4L/DVB (9680): gspca: Let gspca handle the webcam 0c45:613a instead of sn9c102. The driver sn9c102 has no code for the ov7648 sensor. Signed-off-by: Jean-Francois Moine Signed-off-by: Mauro Carvalho Chehab commit c58701b26340176a19ea400fed41ad8263dcf860 Author: Hans Verkuil Date: Thu Nov 20 05:37:05 2008 -0300 V4L/DVB (9678): af9015: Cleanup switch for usb ID It is much more readable to swap the byteorder in the switch rather than in each case statement. Signed-off-by: Hans Verkuil Signed-off-by: Mauro Carvalho Chehab commit 05583625710dfd75880a6cbb68292929d1d4c33c Author: Dirk Heer Date: Fri Nov 21 19:00:55 2008 -0300 V4L/DVB (9677): bttv: fix some entries on Phytec boards and add missing ones This Patch does modify the bttv-cards.c and bttc.h so that the driver supports VD-011, VD-012, VD-012-X1 and VD-012-X2 Framegrabber from Phytec Messtechnik GmbH. Signed-off-by: Dirk Heer Signed-off-by: Mauro Carvalho Chehab commit 31e0530c32701fc14b845ef84fe61b66e9c5398c Author: Mauro Carvalho Chehab Date: Thu Nov 20 18:47:37 2008 -0300 V4L/DVB (9676): em28xx: fix a regression caused by 22c90ec6a5e07173ee670dc2ca75e0df0a7772c0 If removing and reiserting the driver on some devices, tuner type will be unset at the second time. This patch fixes this issue. Signed-off-by: Mauro Carvalho Chehab commit 3ce6509456805904799bf669e82a8ea5126e92df Author: Mauro Carvalho Chehab Date: Thu Nov 20 18:38:29 2008 -0300 V4L/DVB (9675): em28xx: devices with xc2028/3028 don't have tda9887 This patch cleans up the entries of xc2028/3028, since those devices don't need or use a tda9887. Signed-off-by: Mauro Carvalho Chehab commit 30e4ac7c033f6a2c2e3060875a2f08d7909636a1 Author: Mauro Carvalho Chehab Date: Thu Nov 20 13:43:05 2008 -0300 V4L/DVB (9673): em28xx: fix Pixelview PlayTV board entry Pixelview uses a Sigmatel stac codec. It has an external line out pin, connected to AC97_MASTER_VOL. It also provides I2S output, but using a Signed-off-by: Mauro Carvalho Chehab commit e879b8ebb000298f8124fc8fae570afc9eb37cbb Author: Mauro Carvalho Chehab Date: Thu Nov 20 13:39:39 2008 -0300 V4L/DVB (9672): Allow opening more than one output at the same time Some devices use more than one AC97 outputs. This patch allows such devices to properly work. Signed-off-by: Mauro Carvalho Chehab commit 209acc02249d831e7f2e3d8083b6b562dde5fc6f Author: Mauro Carvalho Chehab Date: Thu Nov 20 12:49:33 2008 -0300 V4L/DVB (9671): em28xx: Add detection of Sigmatel Stac97xx series of AC97 devices Signed-off-by: Mauro Carvalho Chehab commit 35ae6f04ad3e4c3ed8a83382b6511bd9beb5c768 Author: Mauro Carvalho Chehab Date: Thu Nov 20 12:40:51 2008 -0300 V4L/DVB (9670): em28xx: allow specifying audio output Some boards use different AC97 setups for output. This patch adds the capability of specifying the output to be used. Currently, only one output is selected, but the better is to allow user to select it via a mixer, on alsa driver. Signed-off-by: Mauro Carvalho Chehab commit f1990a9c39d957e6896fc506fc5388b7f302c429 Author: Mauro Carvalho Chehab Date: Thu Nov 20 12:10:44 2008 -0300 V4L/DVB (9669): em28xx: Fix a stupid cut-and-paste error Signed-off-by: Mauro Carvalho Chehab commit bdf398eb09e3f2e1fd1acb50960ce93fe380e847 Author: Oldrich Jedlicka Date: Thu Nov 13 22:03:00 2008 -0300 V4L/DVB (9667): Fixed typo in sizeof() causing NULL pointer OOPS Signed-off-by: Oldřich Jedlička Signed-off-by: Mauro Carvalho Chehab commit 0537156f6ca44193f70e91b636a25724aaa1e53b Author: Alain Kalker Date: Mon Nov 17 17:20:38 2008 -0300 V4L/DVB (9665): af9015: Add support for the Digittrade DVB-T USB Stick remote Adds support for the Digittrade DVB-T USB Stick remote. As the Digittrade USB stick identifies itself as a generic Afatech AF9015 device, the remote cannot be autodetected. To enable it, add the following to /etc/modprobe.d/dvb-usb-af9015 or /etc/modprobe.conf: options dvb-usb-af9015 remote=4 Signed-off-by: Alain Kalker Signed-off-by: Antti Palosaari Signed-off-by: Mauro Carvalho Chehab commit 308bb52c192cc1bad3c90c82dbd90e7fff176caa Author: Laurent Pinchart Date: Mon Nov 17 18:32:11 2008 -0300 V4L/DVB (9662): uvcvideo: Fix printk badness when printing ioctl names Add a trailing newline character after calling v4l_printk_ioctl() to avoid messing the kernel log up and merge the uvc_v4l2_ioctl message with the ioctl name. Signed-off-by: Laurent Pinchart Signed-off-by: Mauro Carvalho Chehab commit 23867b2511140ae5693587d2b15badbcc632e3cc Author: Laurent Pinchart Date: Wed Nov 12 11:46:43 2008 -0300 V4L/DVB (9661): uvcvideo: Commit streaming parameters when enabling the video stream Sonix-based cameras seem to require the host to commit video streaming parameters before selecting the alternate endpoint. While most applications issue a VIDIOC_S_FMT ioctl before starting streaming, this is not required by the V4L2 specification. The problem has been noticed on Ubuntu 8.10 with applications using libv4l. The library blocks VIDIOC_S_FMT calls when the requested format is identical to the currently selected format. As the driver commits video streaming parameters when initialising the device, only the first run of a libv4l-enabled application would succeed. For the sake of completeness, experiment showed that the camera keeps sending 12 bytes isochronous packets (header only, no data) without toggling the FID bit if video streaming parameters haven't been committed before selecting the alternate endpoint. Signed-off-by: Laurent Pinchart Signed-off-by: Mauro Carvalho Chehab commit 9bc6218dc1dc7bd421f3d141241c8e0e70c4e92b Author: Michael Hennerich Date: Tue Nov 11 14:11:28 2008 -0300 V4L/DVB (9660): uvcvideo: Fix unaligned memory access. Use the unaligned memory access macros when accessing unaligned memory. Signed-off-by: Michael Hennerich Signed-off-by: Bryan Wu Signed-off-by: Laurent Pinchart Signed-off-by: Mauro Carvalho Chehab commit 4d3939f6eecb1c3330a34e0bc95a6b8529207b88 Author: Laurent Pinchart Date: Tue Nov 11 14:04:30 2008 -0300 V4L/DVB (9659): uvcvideo: Use {get|set}_unaligned_le32 macros Replace combination of endianess conversion and unaligned access macros with {get|set}_unaligned_*. Signed-off-by: Laurent Pinchart Signed-off-by: Mauro Carvalho Chehab commit 23159a0bfcfb329cf68c7a7259e688494273bb7f Author: Devin Heitmueller Date: Thu Nov 20 09:53:05 2008 -0300 V4L/DVB (9658): em28xx: use em28xx_write_reg() for i2c clock setup Convert the calls that write the i2c clock register over to the new em28xx_write_reg() function that allows for or'ing bits Signed-off-by: Devin Heitmueller Signed-off-by: Mauro Carvalho Chehab commit b69724899440289ab258ff417c2d6aa104c70310 Author: Devin Heitmueller Date: Thu Nov 20 09:52:20 2008 -0300 V4L/DVB (9657): em28xx: add a functio to write on a single register Introduce a new function that writes to a single register. This is useful because the vast majority of register writes are a single register, and this format permits or'ing register value bits together. Signed-off-by: Devin Heitmueller Signed-off-by: Mauro Carvalho Chehab commit f8de18d4308317a1c088fb8852ed0516124521b1 Author: Jelle Foks Date: Thu Nov 20 07:07:45 2008 -0300 V4L/DVB (9654): new email address Please accept this patch to refer to my new email address Signed-off-by: Jelle Foks Signed-off-by: Mauro Carvalho Chehab commit 5faff78904d9c07f38ac0e227b322e9f58d5447c Author: Mauro Carvalho Chehab Date: Thu Nov 20 09:06:09 2008 -0300 V4L/DVB (9653): em28xx: improve AC97 handling AC97 devices provide several input and outputs. However, before this patch, em28xx device weren't properly allowing the usage of ac97 possible combinations. Also, several input volumes were left untouched, instead of making sure that the volumes were set on mute state. This patch improves support for ac97 devices by allowing to use any inputs, and making sure that unused inputs are set on mute state. Yet, some work is still needed to select the AC97 output. Signed-off-by: Mauro Carvalho Chehab commit 16c7bcadff2222b297d13951dc30e133f56d0154 Author: Mauro Carvalho Chehab Date: Thu Nov 20 08:56:19 2008 -0300 V4L/DVB (9652): em28xx: merge AC97 vendor id's into a single var This makes easier to identify vendor ID, since AC97 vendors are generally identified by 3 bytes. The remaining byte is used by the vendor to identify its devices. Signed-off-by: Mauro Carvalho Chehab commit 35643943be58aef82826e340761e86e0d37870ec Author: Mauro Carvalho Chehab Date: Wed Nov 19 12:01:33 2008 -0300 V4L/DVB (9651): em28xx: Improve audio handling This patch properly implements audio handling on em28xx. Before this patch, it was assumed that every device has an Empia 202 audio chip. However, this is not true. After this patch, specific AC97 chipset setup and configurations can be done. Signed-off-by: Mauro Carvalho Chehab commit 8a5caa6bcb03b72db6c19a11e7b2de7656bd3f26 Author: Mauro Carvalho Chehab Date: Wed Nov 19 11:10:50 2008 -0300 V4L/DVB (9650): em28xx: replace magic numbers to something more meaningful audio mux entries were described by 0 and 1 magic numers. Use an enum alias for each entry type. Signed-off-by: Mauro Carvalho Chehab commit a42aa191cc2b7573bdcf53023c4e9d5cfe91363e Author: Mauro Carvalho Chehab Date: Wed Nov 19 11:08:53 2008 -0300 V4L/DVB (9649): em28xx: remove two amux entries used only on one card This patch parepares for an audio refactor patch that auto-detects ac97 chips. Signed-off-by: Mauro Carvalho Chehab commit 5c2231c84304563fd5d28e8bbb72e09e882a8e32 Author: Devin Heitmueller Date: Wed Nov 19 08:22:28 2008 -0300 V4L/DVB (9648): em28xx: get audio config from em28xx register Make use of the em28xx chip configuration register to determine whether we have AC97 audio, I2S audio, or no audio support at all. Thanks for Ray Lu from Empia for providing the em2860/em2880 datasheet. Signed-off-by: Devin Heitmueller Signed-off-by: Mauro Carvalho Chehab commit 67c96f67060abfe595974a77aeb4ce7815893648 Author: Devin Heitmueller Date: Tue Nov 18 05:05:46 2008 -0300 V4L/DVB (9644): em28xx: add em2750 to the list of known em28xx chip ids Signed-off-by: Devin Heitmueller Signed-off-by: Mauro Carvalho Chehab commit 897511139634b96a5980420f5d37972589a19f17 Author: Mauro Carvalho Chehab Date: Mon Nov 17 22:40:36 2008 -0300 V4L/DVB (9643): em28xx: remove the previous register names Previously, AC97 registers were named as if they were part of em28xx device, generating some confusion. Replace such names for a more general naming convention. Signed-off-by: Mauro Carvalho Chehab commit 6fbcebf06a40f10a1c9dd7bc835115662284c40c Author: Mauro Carvalho Chehab Date: Mon Nov 17 22:30:09 2008 -0300 V4L/DVB (9642): Add AC97 registers found on em28xx devices Signed-off-by: Mauro Carvalho Chehab commit f09fb53075646c35efe0f74d97b7c4bc7ec61e5a Author: Mauro Carvalho Chehab Date: Sun Nov 16 10:40:21 2008 -0300 V4L/DVB (9641): Add chip ID's for em2820 and em2840 Signed-off-by: Mauro Carvalho Chehab commit 802971257a3b897d2affd39e540be264bae89c3b Author: Julia Lawall Date: Wed Nov 12 23:18:21 2008 -0300 V4L/DVB (9638): drivers/media: use ARRAY_SIZE ARRAY_SIZE is more concise to use when the size of an array is divided by the size of its type or the size of its first element. The semantic patch that makes this change is as follows: (http://www.emn.fr/x-info/coccinelle/) // @i@ @@ @depends on i using "paren.iso"@ type T; T[] E; @@ - (sizeof(E)/sizeof(E[...])) + ARRAY_SIZE(E) @depends on i using "paren.iso"@ type T; T[] E; @@ - (sizeof(E)/sizeof(T)) + ARRAY_SIZE(E) // Signed-off-by: Julia Lawall Signed-off-by: Andrew Morton Signed-off-by: Mauro Carvalho Chehab commit 292ee46107abc213fc073298aa6a838a595d2b78 Author: Harvey Harrison Date: Fri Nov 14 18:19:56 2008 -0300 V4L/DVB (9637): usb vendor_ids/product_ids are __le16 Noticed by sparse: drivers/media/dvb/dvb-usb/af9015.c:756:25: warning: restricted __le16 degrades to integer drivers/media/dvb/dvb-usb/af9015.c:744:28: warning: restricted __le16 degrades to integer Signed-off-by: Harvey Harrison Signed-off-by: Mauro Carvalho Chehab commit b3d8466fd0e63fd58096f195cbe5ec2444d3fd60 Author: Harvey Harrison Date: Sat Nov 15 01:08:45 2008 -0300 V4L/DVB (9636): dvb: cinergyt2 annotate struct endianness, remove unused variable, add static All noticed by sparse: drivers/media/dvb/dvb-usb/cinergyT2-core.c:35:5: warning: symbol 'disable_remote' was not declared. Should it be static? drivers/media/dvb/dvb-usb/cinergyT2-core.c:48:23: warning: symbol 'cinergyt2_usb_device' was not declared. Should it be static? drivers/media/dvb/dvb-usb/cinergyT2-fe.c:160:15: warning: cast to restricted __le16 drivers/media/dvb/dvb-usb/cinergyT2-fe.c:190:9: warning: cast to restricted __le32 drivers/media/dvb/dvb-usb/cinergyT2-fe.c:208:9: warning: cast to restricted __le32 drivers/media/dvb/dvb-usb/cinergyT2-fe.c:227:24: warning: cast to restricted __le16 drivers/media/dvb/dvb-usb/cinergyT2-fe.c:275:12: warning: incorrect type in assignment (different base types) drivers/media/dvb/dvb-usb/cinergyT2-fe.c:275:12: expected unsigned short [unsigned] [assigned] [usertype] tps drivers/media/dvb/dvb-usb/cinergyT2-fe.c:275:12: got restricted __le16 [usertype] drivers/media/dvb/dvb-usb/cinergyT2-fe.c:276:13: warning: incorrect type in assignment (different base types) drivers/media/dvb/dvb-usb/cinergyT2-fe.c:276:13: expected unsigned int [unsigned] [assigned] [usertype] freq drivers/media/dvb/dvb-usb/cinergyT2-fe.c:276:13: got restricted __le32 [usertype] Cc: Thierry Merle Signed-off-by: Harvey Harrison Signed-off-by: Andrew Morton Signed-off-by: Mauro Carvalho Chehab commit 726cf2000b1c0978bbddc6345ddd7f88caf8aa48 Author: Devin Heitmueller Date: Sun Nov 16 03:39:50 2008 -0300 V4L/DVB (9633): Put s5h1411 into low power mode at end of attach() call Place the s5h1411 into low power mode until first use (to handle the case where the user plugs in the device and then doesn't use it for a while). On the Pinnacle 801e, this brings the power usage from 126ma down to 82ma. Signed-off-by: Devin Heitmueller Signed-off-by: Mauro Carvalho Chehab commit 66767920e3e6532db8afe04f9b2d8e1a9e95cad9 Author: Mauro Carvalho Chehab Date: Sun Nov 16 08:05:06 2008 -0300 V4L/DVB (9630): Some boards need to specify tuner address Signed-off-by: Mauro Carvalho Chehab commit 60245e858ddb2255d458868be16ba814f6f8d446 Author: Devin Heitmueller Date: Sun Nov 16 08:03:53 2008 -0300 V4L/DVB (9629): Add support for the ATI TV Wonder HD 600 USB Remote Control Add support for the ATI TV Wonder HD 600 USB Remote Control (required a new keymap) [mchehab@redhat.com: Fix CodingStyle] Signed-off-by: Devin Heitmueller Signed-off-by: Mauro Carvalho Chehab commit 4b92253acc723f365ad6b2f32e4118e38133b7b8 Author: Devin Heitmueller Date: Thu Nov 13 03:15:55 2008 -0300 V4L/DVB (9628): em28xx: refactor IR support Refactor the em28xx IR support based on the em2860/em2880 and em2874 datasheets. Tested on the HVR-950 (em2883), Pinnacle 800e (em2883), Pinnacle 80e (em2874) using the remote controls that came with those products. Signed-off-by: Devin Heitmueller Signed-off-by: Mauro Carvalho Chehab commit 0a6b8a851efae71b0a6f2cbf5d40880553dfabaa Author: Mauro Carvalho Chehab Date: Wed Nov 12 18:46:01 2008 -0300 V4L/DVB (9612): Fix key repetition with HVR-950 IR Signed-off-by: Mauro Carvalho Chehab commit 91812fa74f29f70a2c3a4bf58f7601f86092794f Author: Mauro Carvalho Chehab Date: Wed Nov 12 14:05:46 2008 -0300 V4L/DVB (9611): em28xx: experimental support for HVR-950 IR Signed-off-by: Mauro Carvalho Chehab commit a924a499adb89f52046936deac87264774652a81 Author: Mauro Carvalho Chehab Date: Wed Nov 12 08:41:29 2008 -0300 V4L/DVB (9607): em28xx: Properly implement poll support for IR's The first em28xx were based on i2c IR's. However, some newer designs are coming with a polling-based IR. Those are done by reading a register set at em28xx. This patch adds core polling support for those devices. Later patches will add support for some device-specific IR's. This patch adds the same basic IR polling code used by bttv, cx88 and saa7134, and shares the common getkey masks defined at ir-common. Signed-off-by: Mauro Carvalho Chehab commit 1958578da6f3971227fca94a62429cdf0bd3c699 Author: Mauro Carvalho Chehab Date: Wed Nov 12 01:03:02 2008 -0300 V4L/DVB (9591): v4l core: fix debug printk for enumberating framerates Signed-off-by: Mauro Carvalho Chehab commit 864ec0b7a03c8401e6e49f9e480489478ea14cb5 Author: Devin Heitmueller Date: Wed Nov 12 02:05:28 2008 -0300 V4L/DVB (9590): Add registration for Pinnacle 80e ATSC tuner Add registration for Pinnacle 80e ATSC tuner Register the em2874 based Pinnacle 80e device. Note that support for this device also requires the new drx-j driver (which is not available yet) Thanks for Ray Lu from Empia for providing the em2874 datasheet. Thanks to Joerg Schindler from Pinnacle for providing sample hardware. Thanks to Rainer Miethling from Pinnacle for providing engineering support. Signed-off-by: Devin Heitmueller Signed-off-by: Mauro Carvalho Chehab commit ebef13d480f0223512963ee785bd93770d404fe3 Author: Devin Heitmueller Date: Wed Nov 12 02:05:24 2008 -0300 V4L/DVB (9589): Properly support capture start on em2874 Properly support capture start on em2874 The transport stream enable register moved in the em2874, so make it work properly. Thanks for Ray Lu from Empia for providing the em2874 datasheet. Signed-off-by: Devin Heitmueller Signed-off-by: Mauro Carvalho Chehab commit 24a613e4b08c4077b4c809bebab1d4a36d541fcc Author: Devin Heitmueller Date: Wed Nov 12 02:05:19 2008 -0300 V4L/DVB (9588): Don't load em28xx audio module for digital-only devices Rework the logic so that the em28xx-alsa module does not get loaded for devices that don't support analog audio (such as the em2874) Signed-off-by: Devin Heitmueller Signed-off-by: Mauro Carvalho Chehab commit 95ea4705746f52e17f1f14f9136ea2106ffe3b26 Author: Devin Heitmueller Date: Wed Nov 12 02:02:17 2008 -0300 V4L/DVB (9587): Handle changes to endpoint layout in em2874 Empia moved around their endpoint configuration in newer chips, so accommodate the changes Thanks for Ray Lu from Empia for providing the em2874 datasheet. Signed-off-by: Devin Heitmueller Signed-off-by: Mauro Carvalho Chehab commit 492404449532e40b5b6ed06b56aae2bf710239e6 Author: Devin Heitmueller Date: Wed Nov 12 02:05:15 2008 -0300 V4L/DVB (9586): Fix possible null pointer dereference in info message Fix case where we could end up dereferencing a NULL pointer if dev->vdev or dev->vbi_dev were not set properly. Signed-off-by: Devin Heitmueller Signed-off-by: Mauro Carvalho Chehab commit a527c9f827517a14b869511a954910d973556c8c Author: Devin Heitmueller Date: Wed Nov 12 02:05:10 2008 -0300 V4L/DVB (9585): Skip reading eeprom in newer Empia devices Empia switched to a 16-bit addressable eeprom in newer devices. While we could certainly write a routine to read the eeprom, there is nothing of use in there that cannot be accessed through registers, and there is the risk that we could corrupt the eeprom (since a 16-bit read call is interpreted as a write call by 8-bit eeproms). So just be safe and bail out of the function. Thanks for Ray Lu from Empia for providing the em2874 datasheet. Signed-off-by: Devin Heitmueller Signed-off-by: Mauro Carvalho Chehab commit 6a1acc3bc5144e004996029b20e46e6020d128a7 Author: Devin Heitmueller Date: Wed Nov 12 02:05:06 2008 -0300 V4L/DVB (9584): Support different GPIO/GPO registers for newer devices Empia moved the location of the GPIO/GPO registers in newer devices. Add the ability to specify the relocated registers (including caching of register contents). Thanks for Ray Lu from Empia for providing the em2874 datasheet. Signed-off-by: Devin Heitmueller Signed-off-by: Mauro Carvalho Chehab commit 600bd7f0edee0f9687c3c77e6fe63c74452acbfa Author: Devin Heitmueller Date: Wed Nov 12 02:05:02 2008 -0300 V4L/DVB (9583): Remember chip id of devices at initialization When setting up the device, remember the chip id, so we can control behavior in the future without having to read the register continuously. Signed-off-by: Devin Heitmueller Signed-off-by: Mauro Carvalho Chehab commit 1ed1dd54b0456a880ab4090275a47eb5a7a245d1 Author: Devin Heitmueller Date: Wed Nov 12 02:04:57 2008 -0300 V4L/DVB (9582): Add a EM28XX_NODECODER option to the list of available decoders Add a EM28XX_NODECODER option to the list of available decoders. This option becomes important for devices that do not have analog support. Signed-off-by: Devin Heitmueller Signed-off-by: Mauro Carvalho Chehab commit 65c9fd4609ccbabe4aa354eeab7823507424d8b3 Author: Devin Heitmueller Date: Wed Nov 12 02:04:53 2008 -0300 V4L/DVB (9581): Remove unused variable from em28xx-audio.c Remove unused variable from em28xx-audio.c Fix warning for unused "ret" variable Signed-off-by: Devin Heitmueller Signed-off-by: Mauro Carvalho Chehab commit 5caeba045c3a676b892790c6685e542f81a4f96e Author: Devin Heitmueller Date: Wed Nov 12 02:04:48 2008 -0300 V4L/DVB (9580): Add chip id for em2874 to list of known chips Add em2874 chip id Add chip id for em2874 to list of known chips Signed-off-by: Devin Heitmueller Signed-off-by: Mauro Carvalho Chehab commit a56a18c3ed3442a0c049c9b5f0dda918a6e83726 Author: Mauro Carvalho Chehab Date: Tue Nov 11 21:15:03 2008 -0300 V4L/DVB (9579): v4l core: a few get ioctls were lacking memory clean Signed-off-by: Mauro Carvalho Chehab commit 74d83fa0241f603a4067f071a88ef8b9a7c415a0 Author: Mauro Carvalho Chehab Date: Tue Nov 11 21:13:47 2008 -0300 V4L/DVB (9578): v4l core: add support for enumerating frame sizes and intervals video_ioctl2 lacks implementation of those two ioctls: - VIDIOC_ENUM_FRAMESIZES and VIDIOC_ENUM_FRAMEINTERVALS Adds implementation for those. Signed-off-by: Mauro Carvalho Chehab commit f3f741e7119f93db642f06940376a1c93dd3f57b Author: Darron Broad Date: Tue Nov 11 08:50:02 2008 -0300 V4L/DVB (9577): saa7134-dvb: MFE attachment clean-up for saa-7134 dvb This cleans-up MFE attachment for saa-7134 dvb devices. note: MFE is not fully implemented here yet. Signed-off-by: Darron Broad Signed-off-by: Mauro Carvalho Chehab commit 60a5a927595763dbb711a13528e21c2b7a46dbad Author: Darron Broad Date: Tue Nov 11 08:48:27 2008 -0300 V4L/DVB (9576): cx88-dvb: MFE attachment clean-up for HVR-3000/4000 This cleans-up MFE attachment for these cards plus two cases of potential memory leak on attachment failure. Signed-off-by: Darron Broad Signed-off-by: Mauro Carvalho Chehab commit 2c9bcea1a11134a47a46b6b61aeac5f06296d152 Author: Mauro Carvalho Chehab Date: Mon Nov 10 23:35:00 2008 -0200 V4L/DVB (9572a): Whitespace cleanup Signed-off-by: Mauro Carvalho Chehab commit 44f0079ec74330b457d990072c13cbe28b0f1abf Author: Laurent Pinchart Date: Sat Nov 8 19:14:50 2008 -0300 V4L/DVB (9570): uvcvideo: Handle failed video GET_{MIN|MAX|DEF} requests more gracefully Failed requests will now generate a one-time warning message instead of the usual "Failed to query..." error, which should be more user-friendly. The driver will also recover automatically from failed GET_MIN/GET_MAX requests when the device is half-broken without requiring the MINMAX quirk (fully broken devices still need the quirk). Signed-off-by: Laurent Pinchart Signed-off-by: Mauro Carvalho Chehab commit 7e21fda17e7f6156e2ad66ca4f76abcbe1063eb2 Author: Jean-Francois Moine Date: Mon Nov 10 04:45:51 2008 -0300 V4L/DVB (9563): gspca: Let gspca handle the webcam 0471:0328 instead of sn9c102. According to http://bugzilla.kernel.org/show_bug.cgi?id=11997, the driver sn9c102 does not work for this webcam. Signed-off-by: Jean-Francois Moine Signed-off-by: Mauro Carvalho Chehab commit 29fbdf3d94dc0fd97e245cceaf1b77012e77c22d Author: Jean-Francois Moine Date: Fri Nov 7 04:53:28 2008 -0300 V4L/DVB (9560): gspca: Let gspca handle the webcam 0c45:602c instead of sn9c102. According to http://bugzilla.kernel.org/show_bug.cgi?id=11920, the driver sn9c102 does not work for this webcam. Signed-off-by: Jean-Francois Moine Signed-off-by: Mauro Carvalho Chehab commit 95c730beb21235e031fb38145048ab4389e8c442 Author: Frederic Cand Date: Sat Oct 25 05:03:19 2008 -0300 V4L/DVB (9548): gspca: Fix Kconfig CodingStyle Signed-off-by: Frederic Cand Signed-off-by: Jean-Francois Moine Signed-off-by: Mauro Carvalho Chehab commit 54b7b0deb4c602d0751627d14510dc50b5bba372 Author: Alexey Klimov Date: Sat Nov 8 00:31:50 2008 -0300 V4L/DVB (9540): dsbr100: add disabled controls and fix version Patch adds disabled controls in v4l2_queryctrl struct. Also version of driver corrected. -- Signed-off-by: Alexey Klimov Signed-off-by: Mauro Carvalho Chehab commit 04e0ffbbdd297fac1d8a5696b5d27887d6ff3dc2 Author: Alexey Klimov Date: Sat Nov 8 00:40:46 2008 -0300 V4L/DVB (9539): dsbr100: add suspend and resume This patch adds support for suspend and resume methods in driver. Without this kradio and gnomeradio crashes during resume. Also .supports_autosuspend in usb_driver struct set equal to 0 to avoid suspending of module if usb_autosuspend enabled. Signed-off-by: Alexey Klimov Signed-off-by: Mauro Carvalho Chehab commit f34253dfe66ff365a794eeddbe240b4bfd8e32eb Author: Mauro Carvalho Chehab Date: Mon Nov 10 18:56:20 2008 -0300 V4L/DVB (9572): Whitespace cleanup Some recent patches added a few bad whitespaces. Remove that. Signed-off-by: Mauro Carvalho Chehab commit c9535db3d23c56db50fe4e65542bf1c7f0a4681c Author: Laurent Pinchart Date: Sat Nov 8 18:53:49 2008 -0300 V4L/DVB (9569): uvcvideo: Sort the frame descriptors during parsing The UVC specification does not require frame descriptors to be sorted by bFrameIndex. At least one camera (145f:013e) is known not to sort the descriptors properly, so they need to be sorted during parsing as the driver then accesses them by index. Signed-off-by: Laurent Pinchart Signed-off-by: Mauro Carvalho Chehab commit 2f38483bc45e11dc138cedce72135f57819f57c4 Author: Laurent Pinchart Date: Sat Nov 8 18:52:04 2008 -0300 V4L/DVB (9568): uvcvideo: Add support for Lenovo Thinkpad SL500 integrated webcam Signed-off-by: Laurent Pinchart Signed-off-by: Mauro Carvalho Chehab commit 562f0fed97722fc58230d21e401f1259caa94b4c Author: Laurent Pinchart Date: Sat Nov 8 18:47:28 2008 -0300 V4L/DVB (9567): uvcvideo: Add support for Samsung Q310 integrated webcam Signed-off-by: Laurent Pinchart Signed-off-by: Mauro Carvalho Chehab commit 1c44d81dbb5fa29842ce73fdb5c647fda657082b Author: Jean-Francois Moine Date: Mon Nov 10 05:56:55 2008 -0300 V4L/DVB (9565): gspca: Remove empty lines in traces. Signed-off-by: Jean-Francois Moine Signed-off-by: Mauro Carvalho Chehab commit 53e745157b79c79f434a10361a77a8364c15db2f Author: Jean-Francois Moine Date: Sat Nov 8 06:10:19 2008 -0300 V4L/DVB (9562): gspca: Set the default frame rate to 30 fps for sensor ov764x in ov519. This patch fixes the bad picture at low resolution (320x240). Signed-off-by: Jean-Francois Moine Signed-off-by: Mauro Carvalho Chehab commit ac40b1fae5e8ac831298351ff8291944d1ff0354 Author: Jean-Francois Moine Date: Sat Nov 8 06:03:37 2008 -0300 V4L/DVB (9561): gspca: Cleanup the source of ov519. Signed-off-by: Jean-Francois Moine Signed-off-by: Mauro Carvalho Chehab commit 917118745a610765e98621c4a81d7744806e4954 Author: Jean-Francois Moine Date: Tue Oct 28 08:00:23 2008 -0300 V4L/DVB (9553): gspca: Webcam 145f:013a added in pac207. Signed-off-by: Jean-Francois Moine Signed-off-by: Mauro Carvalho Chehab commit 2e0903b00131e751ac91720162d62415613e9bc5 Author: Jean-Francois Moine Date: Mon Oct 27 04:43:49 2008 -0300 V4L/DVB (9552): gspca: Simplify the ISOC packet scanning in tv8532. This patch - makes unuseful the temporary buffers - and also fixes the bad colors problem. Signed-off-by: Jean-Francois Moine Signed-off-by: Mauro Carvalho Chehab commit 42ec3135b1715f44ef3c2b10fb06d5a5d5c836d1 Author: Frederic Cand Date: Mon Nov 10 20:05:06 2008 -0200 V4L/DVB (9548): gspca: Properly indent Kconfig Signed-off-by: Frederic Cand Signed-off-by: Jean-Francois Moine Signed-off-by: Mauro Carvalho Chehab commit 240d3ad8ea12beae84305f3b17797dcf98ba8c12 Author: Jean-Francois Moine Date: Fri Oct 24 05:02:58 2008 -0300 V4L/DVB (9547): gspca: Version change. Signed-off-by: Jean-Francois Moine Signed-off-by: Mauro Carvalho Chehab commit ba13cca706ab9eacb5bf5ed73c67d9af74ea45b1 Author: Jean-Francois Moine Date: Fri Oct 24 04:19:29 2008 -0300 V4L/DVB (9546): gspca: Bad scanning of ISOC packets in tv8532. - The scan function must know about empty packets. - Packets starting with 0x80 must not be counted. - Wrong size of the translated frame. Signed-off-by: Jean-Francois Moine Signed-off-by: Mauro Carvalho Chehab commit ff374747ce5357eedf034b44ec3111cec28d50d5 Author: Jean-Francois Moine Date: Thu Oct 23 07:29:51 2008 -0300 V4L/DVB (9545): gspca: Add a flag for empty ISOC packets. - This flag is needed by some subdrivers as tv8532 for start of frame detection. Signed-off-by: Jean-Francois Moine Signed-off-by: Mauro Carvalho Chehab commit 8fe2f1d522bb599eccfff6ef4fc55f7b7abbaeec Author: Jean-Francois Moine Date: Wed Oct 22 14:51:56 2008 -0300 V4L/DVB (9544): gspca: Clear the bulk endpoint at starting time when bulk transfer. - usb_clear_halt() added in gspca and removed in finepix. Signed-off-by: Jean-Francois Moine Signed-off-by: Mauro Carvalho Chehab commit 5017c7bde46abc859e0a350bcd591f502442d6af Author: Hans de Goede Date: Wed Oct 22 04:59:29 2008 -0300 V4L/DVB (9543): gspca: Adjust autoexpo values for cams with a vga sensor in sonixb. - This patch makes sonixb.c strife to different values during autoexposure for sif versus vga sensors. Signed-off-by: Hans de Goede Signed-off-by: Jean-Francois Moine Signed-off-by: Mauro Carvalho Chehab commit 0cae89647e3f601029474b99c21b38a7ca781f07 Author: Jean-Francois Moine Date: Fri Oct 17 07:48:24 2008 -0300 V4L/DVB (9541): gspca: Add infrared control for sonixj - mi0360. Signed-off-by: Jean-Francois Moine Signed-off-by: Mauro Carvalho Chehab commit 4cc0edff341294d14f3a6acb3ddb97abdf29b8c0 Author: Igor M. Liplianin Date: Wed Nov 5 22:12:56 2008 -0300 V4L/DVB (9537): Add TerraTec Cinergy S USB support Add TerraTec Cinergy S USB support Signed-off-by: Igor M. Liplianin Acked-by: Thorsten Leupold Signed-off-by: Mauro Carvalho Chehab commit 5cff91a0336a5c8b1d64304a353687f4d242070c Author: Vincent Pelletier Date: Sun Nov 9 13:50:07 2008 -0300 V4L/DVB (9536): WinFast DTV2000 H: add support for missing analog inputs Add support for the following inputs: - radio tuner - composite 1 & 2 (only 1 is physically available, but composite 2 is also advertised by windows driver) - svideo Signed-off-by: Vincent Pelletier Acked-by: Jean Delvare Signed-off-by: Mauro Carvalho Chehab commit 93f26c147bd835d4352d477c2b98a98bbc4427e0 Author: Igor M. Liplianin Date: Sun Nov 9 14:59:33 2008 -0300 V4L/DVB (9535): cx88-dvb: Remove usage core->prev_set_voltage from cx24116 based cards. Remove usage core->prev_set_voltage from cx24116 based cards, as it does not make sense for the demod. Signed-off-by: Igor M. Liplianin Signed-off-by: Mauro Carvalho Chehab commit cd3cde1271c6c597c16e4c22810449949c675092 Author: Igor M. Liplianin Date: Sun Nov 9 15:26:25 2008 -0300 V4L/DVB (9534): cx88: Add support for Prof 6200 DVB-S PCI card The card based on stv0299 or stv0288 demodulators. Signed-off-by: Igor M. Liplianin Signed-off-by: Mauro Carvalho Chehab commit 4b29631db33292d416dc395c56122ea865e7635c Author: Igor M. Liplianin Date: Sun Nov 9 15:25:31 2008 -0300 V4L/DVB (9533): cx88: Add support for TurboSight TBS8910 DVB-S PCI card The card based on stv0299 or stv0288 demodulators. Signed-off-by: Igor M. Liplianin Signed-off-by: Mauro Carvalho Chehab commit 1f6340bd431921f9b6dc995973eb065d6c14f024 Author: Mauro Carvalho Chehab Date: Fri Nov 7 14:24:18 2008 -0300 V4L/DVB (9532): Properly handle error messages during alsa registering Signed-off-by: Mauro Carvalho Chehab commit 886134e4be4e9ef585b0ecde5eebcaf37ee78f80 Author: Igor M. Liplianin Date: Thu Oct 30 22:04:56 2008 -0300 V4L/DVB (9520): stb0899 Remove double .read_status assignment Currently in stb0899 code it appears double .read_status assignment Send patch to fix it. Cc: Manu Abraham Signed-off-by: Igor M. Liplianin Signed-off-by: Mauro Carvalho Chehab commit f4167342b572c6122c712e8c6e5391808c1e5503 Author: Andy Walls Date: Sun Nov 2 18:54:10 2008 -0300 V4L/DVB (9514): cx18: Fix PLL freq computation for debug display cx18: Fix PLL freq computation for debug display. The code to compute the PLL freq from register values was storing an intermediate 56 bit result in a 32 bit type, causing a nonsense value to be displayed. Signed-off-by: Andy Walls Signed-off-by: Mauro Carvalho Chehab commit 69acdf1e5a9146ec6667f6c4b439acd38c18f5ea Author: Robert Jarzmik Date: Tue Nov 4 21:59:37 2008 -0300 V4L/DVB (9530): Add new pixel format VYUY 16 bits wide. There were already 3 YUV formats defined : - YUYV - YVYU - UYVY The only left combination is VYUY, which is added in this patch. Signed-off-by: Robert Jarzmik Signed-off-by: Mauro Carvalho Chehab commit bc13ae11227b06d2397cea1a8eb22fc2ca64e22f Author: Patrice Levesque Date: Sun Nov 2 16:37:35 2008 -0300 V4L/DVB (9529): cx88: add a second PCI ID for ATI TV Wonder Pro There's a second PCI identifier for the ATI TV WONDER PRO card (0x1002:0x00f9). Attached is a patch to kernel 2.6.27 that adds autodetection for this version. Signed-off-by: Mauro Carvalho Chehab commit 163e9cd074c2471695c5c79da0022f46fa53ce40 Author: Antti Palosaari Date: Tue Nov 4 12:57:47 2008 -0300 V4L/DVB (9526): af9015: add support for KWorld USB DVB-T TV Stick II (VS-DVBT 395U) - add USB-ID 1b80:e396 for KWorld USB DVB-T TV Stick II (VS-DVBT 395U) Thanks-to: Bo Hansen Signed-off-by: Antti Palosaari Signed-off-by: Mauro Carvalho Chehab commit c78de71ca382e18885907bff246cba496e8b0988 Author: Jose Alberto Reguero Date: Tue Nov 4 11:38:01 2008 -0300 V4L/DVB (9525): af9015: add support for AverMedia Volar X remote. This patch add support for AverMedia Volar X remote. Signed-off-by: Jose Alberto Reguero Signed-off-by: Antti Palosaari Signed-off-by: Mauro Carvalho Chehab commit 2499abe710a86084eee1c0d5662ebd43c261350d Author: Alan McIvor Date: Wed Mar 19 22:18:11 2008 -0300 V4L/DVB (9523): Increase number of BT8XX devices supported in a system The BT8XX device driver currently only supports 16 such devices in a system. This is too small for many surveillance applications. This patch increases the number to 32. Signed-off-by: Alan McIvor Signed-off-by: Mauro Carvalho Chehab commit 9be4daa09a80488440639e9d1ebd1c451b90dda8 Author: Alan McIvor Date: Wed Mar 19 22:17:24 2008 -0300 V4L/DVB (9522): Increase number of SAA7134 devices supported in a system The SAA7134 device driver currently only supports 8 such devices in a system. This is too small for many surveillance applications. This patch increases the number to 32. Signed-off-by: Alan McIvor Signed-off-by: Mauro Carvalho Chehab commit af128a102c4aee994b4ff6e422b3cfab17127578 Author: Kay Sievers Date: Thu Oct 30 00:51:46 2008 -0300 V4L/DVB (9521): V4L: struct device - replace bus_id with dev_name(), dev_set_name() This patch is part of a larger patch series which will remove the "char bus_id[20]" name string from struct device. The device name is managed in the kobject anyway, and without any size limitation, and just needlessly copied into "struct device". To set and read the device name dev_name(dev) and dev_set_name(dev) must be used. If your code uses static kobjects, which it shouldn't do, "const char *init_name" can be used to statically provide the name the registered device should have. At registration time, the init_name field is cleared, to enforce the use of dev_name(dev) to access the device name at a later time. We need to get rid of all occurrences of bus_id in the entire tree to be able to enable the new interface. Please apply this patch, and possibly convert any remaining remaining occurrences of bus_id. We want to submit a patch to -next, which will remove bus_id from "struct device", to find the remaining pieces to convert, and finally switch over to the new api, which will remove the 20 bytes array and does no longer have a size limitation. Thanks, Kay Signed-off-by: Kay Sievers Acked-by: Greg Kroah-Hartman Signed-off-by: Mauro Carvalho Chehab commit 9b2fb337a1423be53c671c4937fd4651cb30618e Author: Huang Weiyi Date: Fri Oct 31 14:50:06 2008 -0300 V4L/DVB: remove unused #include The file(s) below do not use LINUX_VERSION_CODE nor KERNEL_VERSION. drivers/media/dvb/frontends/si21xx.c This patch removes the said #include . Cc: Igor M. Liplianin Signed-off-by: Huang Weiyi Signed-off-by: Mauro Carvalho Chehab commit e60b022e13c582689e3b38cb41bd5d6539671fae Author: Alexey Klimov Date: Tue Nov 4 15:02:36 2008 -0300 V4L/DVB (9518): radio-mr800: remove warn, info and err messages Patch removes warn(), err() and info() statements in drivers/media/radio/radio-mr800.c, and place dev_warn, dev_info in right places. Printk changed on pr_info and pr_err macro. Also new macro amradio_dev_warn defined. Name in usb driver struct changed on MR800_DRIVER_NAME. -- Signed-off-by: Alexey Klimov Acked-by: David Ellingsworth Signed-off-by: Mauro Carvalho Chehab commit ced07371d931884c9c89b66bfe951ea0148a8d08 Author: Andy Walls Date: Sun Nov 2 10:59:04 2008 -0300 V4L/DVB (9512): cx18: Fix write retries for registers that always change - part 3. cx18: Fix write retries for registers that always change - part 3. Fix the io for the rest of the registers that will often not read back the value just written. Modified register readback checks to make sure the intended effect was achieved without constantly rewriting the registers. The one outstanding register remaining is 0xc72014 CX18_AUDIO_ENABLE, whose behavior on writes I have yet to determine. Signed-off-by: Andy Walls Signed-off-by: Mauro Carvalho Chehab commit 48fc6bb37ba8ee278a8cc647a4ef2bf529b519dd Author: Hans Verkuil Date: Mon Nov 3 08:46:00 2008 -0300 V4L/DVB (9508): ivtv: enable tuner support for Yuan PG600-2 The Yuan PG600-2 has a working tuner, so this can be enabled. Signed-off-by: Hans Verkuil Signed-off-by: Mauro Carvalho Chehab commit 91121d9cfdeea84cdc837cb2f041dae735f5131c Author: Hans Verkuil Date: Mon Nov 3 08:07:44 2008 -0300 V4L/DVB (9507): v4l: remove EXPERIMENTAL from several drivers Signed-off-by: Hans Verkuil Signed-off-by: Mauro Carvalho Chehab commit b7496780e800061522de2262b4b4d7bf7602ecfa Author: Hans Verkuil Date: Mon Nov 3 05:38:43 2008 -0300 V4L/DVB (9504): dvbdev: fix typo causing 2.6.28 compile error Signed-off-by: Hans Verkuil Signed-off-by: Mauro Carvalho Chehab commit f473bf76c71ca734a16f9331ce6b6e9603641888 Author: Hans Verkuil Date: Sat Nov 1 08:25:11 2008 -0300 V4L/DVB (9503): v4l: remove inode argument from video_usercopy The inode argument was never used. Removing it from video_usercopy brings the function pointer type of video_usercopy in line with similar v4l2 functions, thus simplifying several drivers. Signed-off-by: Hans Verkuil Signed-off-by: Mauro Carvalho Chehab commit bef216b7edb0fac356565dea4bd65131bf6f9c4a Author: Hans Verkuil Date: Thu Oct 30 10:57:14 2008 -0300 V4L/DVB (9502): ov772x: CodingStyle improvements Signed-off-by: Hans Verkuil Signed-off-by: Mauro Carvalho Chehab commit cbd82441065820190960aae1b1cfb09bff366ad6 Author: Darron Broad Date: Thu Oct 30 05:07:44 2008 -0300 V4L/DVB (9500): cx88-dvb: MFE attachment fix-up MFE attachment fix-up Signed-off-by: Darron Broad Signed-off-by: Mauro Carvalho Chehab commit 5910e820cdaaf0b7120c96647d10e3ce52d840b7 Author: Mauro Carvalho Chehab Date: Thu Oct 30 14:28:19 2008 -0300 V4L/DVB (9498): Simplify video standards enumeration Signed-off-by: Mauro Carvalho Chehab commit b84ca9f2a08601205878a07a91ef418a1a5f77b1 Author: Frederic CAND Date: Thu Oct 30 04:53:07 2008 -0300 V4L/DVB (9497): tda9887/cx88: Adds SECAM/BGH standards Adds secam bgh support Signed-off-by: Frederic CAND Signed-off-by: Mauro Carvalho Chehab commit d9b01449e75d1351296595e28d2af72993bcc3dc Author: Alan Cox Date: Mon Oct 27 15:13:47 2008 -0300 V4L/DVB (9491): rationalise addresses to one common one Signed-off-by: Alan Cox Signed-off-by: Mauro Carvalho Chehab commit ac2657c10ccbba7b2c934681f17d7743deee3859 Author: Stephen Rothwell Date: Wed Oct 29 02:20:11 2008 -0300 V4L/DVB (9490): linux-next: v4l-dvb tree build failure Today's linux-next build (x86_64 allmodconfig) failed like this: drivers/media/dvb/dvb-core/dvbdev.c: In function 'dvb_register_device': drivers/media/dvb/dvb-core/dvbdev.c:254: error: implicit declaration of function 'nums2minor' Caused by commit f3d9182030d9655d9ffff33dfceb45b4a127b6ec ("V4L/DVB (9361): Dynamic DVB minor allocation") which clearly has not even been built with CONFIG_DVB_DYNAMIC_MINORS=y. Signed-off-by: Mauro Carvalho Chehab commit 08a66aea55154b50f9e9e2e89cc85d8b75121568 Author: Kuninori Morimoto Date: Fri Oct 24 15:43:07 2008 -0300 V4L/DVB (9488): Add ov772x driver This patch adds ov772x driver that use soc_camera framework. It was tested on SH Migo-r board. Signed-off-by: Kuninori Morimoto Signed-off-by: Guennadi Liakhovetski Signed-off-by: Mauro Carvalho Chehab commit d1f81da2361804d62f7ade2703eda68dda6cdb48 Author: Hans Verkuil Date: Wed Oct 22 00:04:45 2008 -0300 V4L/DVB (9484): v4l: rename compat_ioctl32.c to v4l2-compat-ioctl32.c All core v4l sources should start with 'v4l2-' This file was the last one for which this was not the case. Signed-off-by: Hans Verkuil Signed-off-by: Mauro Carvalho Chehab commit da40b59305f373d386435ece69244c570e3954b6 Author: Manu Abraham Date: Tue Oct 28 13:50:01 2008 -0300 V4L/DVB (9479): Wait for a maximum of 100mS Signed-off-by: Manu Abraham Signed-off-by: Mauro Carvalho Chehab commit 667d75e7c61e73a59ff452b3a5ce04d9b3e8eca5 Author: Andy Walls Date: Sat Oct 25 21:33:22 2008 -0300 V4L/DVB (9474): cx18: Remove redundant block scope variable in cx18_probe() for sparse cx18: Remove redundant block scope variable in cx18_probe() to eliminate sparse build warning. Signed-off-by: Andy Walls Signed-off-by: Mauro Carvalho Chehab commit a5f4c0ce682efa60fa9552514118bb70a7646e28 Author: Kay Sievers Date: Mon Oct 27 22:27:37 2008 -0300 V4L/DVB (9473): add DVB_DEVICE_NUM and DVB_ADAPTER_NUM to uevent This allows udev to create proper device nodes without any hacky shell scripts/programs to call, which guess these numbers from the kernel device names. Signed-off-by: Kay Sievers Signed-off-by: Mauro Carvalho Chehab commit 7b51a70cbf0c9995caf59f7126d251e14a9e0686 Author: FUJITA Tomonori Date: Fri Oct 24 06:13:23 2008 -0300 V4L/DVB (9472): dm1105: fix the misuse of pci_dma_mapping_error pci_dma_mapping_error can't be used for pci_alloc_consistent (pci_dma_mapping_error is for dma_map_single and dma_map_page). pci_alloc_consistent returns NULL if the allocation fails. Signed-off-by: FUJITA Tomonori Acked-by: Igor M. Liplianin Signed-off-by: Mauro Carvalho Chehab commit 20dafb3b0696471cfaa3e2fc2769516ebda3daf9 Author: Ales Jurik Date: Sun Oct 26 18:45:59 2008 -0300 V4L/DVB (9470): Disable PLL Loop while tuning Signed-off-by: Ales Jurik Signed-off-by: Manu Abraham Signed-off-by: Mauro Carvalho Chehab commit 3f4009255bbcfcf55cf8ca40d70e4cf75e4dc68c Author: Manu Abraham Date: Sun Oct 26 18:28:52 2008 -0300 V4L/DVB (9469): Port STB0899 and STB6100 Signed-off-by: Manu Abraham Signed-off-by: Mauro Carvalho Chehab commit 9bb17eee39d862611d2f34d5c611661b3dfd2e54 Author: Reinhard Nissl Date: Wed Jul 9 15:38:27 2008 -0300 V4L/DVB (9468): Miscellaneous fixes - Fix a bitfield - Set gain appropriately - Slept for the wrong duration Signed-off-by: Reinhard Nissl Signed-off-by: Manu Abraham Signed-off-by: Mauro Carvalho Chehab commit c615a27a533b6f6de6143d4d58cfa0abfdb6970d Author: Reinhard Nissl Date: Wed Jul 9 15:33:38 2008 -0300 V4L/DVB (9467): Fix runtime verbosity Signed-off-by: Reinhard Nissl Signed-off-by: Manu Abraham Signed-off-by: Mauro Carvalho Chehab commit aa912921d888c72470d32616dc9d65cdbe477906 Author: Manu Abraham Date: Wed May 28 05:08:48 2008 -0300 V4L/DVB (9466): Bug: Fix incorrect Register definitions Thanks to Robert Schlabbach for pointing this out Signed-off-by: Manu Abraham Signed-off-by: Mauro Carvalho Chehab commit 9acfee56df8ba3078b9c90e23249f3006b585c37 Author: Manu Abraham Date: Tue May 27 02:24:27 2008 -0300 V4L/DVB (9465): Fix incorrect IF_AGC Bitfield definition Signed-off-by: Manu Abraham Signed-off-by: Mauro Carvalho Chehab commit 8f04c70fe2e4d41e283537cfd53f52dbfabdfa48 Author: Manu Abraham Date: Thu Oct 23 18:47:55 2008 -0300 V4L/DVB (9464): Remove unreferenced delivery Signed-off-by: Manu Abraham Signed-off-by: Mauro Carvalho Chehab commit e399a7896080183132d875aa5d4faac647688134 Author: Manu Abraham Date: Sat Mar 8 20:28:09 2008 -0300 V4L/DVB (9463): Make delivery system standalone. Eventhough the delivery system is made standalone, DVBFE_SET_DELSYS needs to be set as the very first operation, for a multistandard frontend Splitting delivery system out as a new ioctl, makes things a bit more easier to understand. Signed-off-by: Manu Abraham Signed-off-by: Mauro Carvalho Chehab commit b91a7cb026124951a34e41f8481f1a4fb754983e Author: Manu Abraham Date: Tue Mar 4 19:19:58 2008 -0300 V4L/DVB (9462): Allow specifying clock per device Optimizations galore: Blistering barnacles! The KNC1 and friends like 90 Mhz clock much better rather than running at a higher throttle, for almost similar hardware. he exact cause unknown, possibly due to a lower voltage applied for the demod power supply. Signed-off-by: Manu Abraham Signed-off-by: Mauro Carvalho Chehab commit ef3052bc9805ad74d21b5ac91647a8fecde1d96a Author: Manu Abraham Date: Thu Oct 23 18:45:17 2008 -0300 V4L/DVB (9461): Initialize SYSREG register Signed-off-by: Manu Abraham Signed-off-by: Mauro Carvalho Chehab commit 54fb122d126c89c2a38c86205f7096defc04ccb0 Author: Manu Abraham Date: Sat Mar 1 13:54:28 2008 -0300 V4L/DVB (9460): Code Simplification Signed-off-by: Manu Abraham Signed-off-by: Mauro Carvalho Chehab commit e94a4470b1c32f935f63c64027434932e3f0c90e Author: Manu Abraham Date: Sat Feb 23 19:10:56 2008 -0300 V4L/DVB (9459): We can now reduce the debug levels, just need to look at errors only. Signed-off-by: Manu Abraham Signed-off-by: Mauro Carvalho Chehab commit 9a286097b027081c073addc2c55775340704c683 Author: Manu Abraham Date: Sat Feb 23 18:02:45 2008 -0300 V4L/DVB (9458): Bugfix: gate control needs to be handled Signed-off-by: Manu Abraham Signed-off-by: Mauro Carvalho Chehab commit 40e8ce3dba8e9437ed48c88c268615dc0a4bebb2 Author: Manu Abraham Date: Sun Feb 3 19:37:02 2008 -0300 V4L/DVB (9457): Optimization, Fix a Bug * cut down some I/O operations by disabling "disable gate" * budget_av was left with the gate open, thereby more susceptible to RF interference due to I/O operations Signed-off-by: Manu Abraham Signed-off-by: Mauro Carvalho Chehab commit ed3d150eacfa87087f705a908a2586bdec5bf9b7 Author: Manu Abraham Date: Sun Jan 27 14:57:05 2008 -0300 V4L/DVB (9456): Select STB0899, STB6100, TDA8261 for budget_ci and budget_av respectively. Thanks to Marco Schluessler for pointing it out Signed-off-by: Manu Abraham Signed-off-by: Mauro Carvalho Chehab commit b359325d1e4a67942626421ea1f203b41adc9712 Author: Manu Abraham Date: Fri Jan 25 20:56:21 2008 -0300 V4L/DVB (9455): Cleanup: remove some superfluous stuff and dead commented out code Signed-off-by: Manu Abraham Signed-off-by: Mauro Carvalho Chehab commit 3d6a3bebda2093cf563266bbfa0f1f1b1ae8fd41 Author: Manu Abraham Date: Fri Jan 25 20:39:16 2008 -0300 V4L/DVB (9454): Fix a compile warning Signed-off-by: Manu Abraham Signed-off-by: Mauro Carvalho Chehab commit 85eabac439ff6b60775e3d6458702dcb6c479e05 Author: Manu Abraham Date: Fri Jan 25 20:28:46 2008 -0300 V4L/DVB (9453): stb0899: fix compilation warnings Cleanup/Optimization: * Fix compile warnings * The compile warnings helped to identify 2 unnecessary I/O operations Signed-off-by: Manu Abraham Signed-off-by: Mauro Carvalho Chehab commit d6812086508a38ccb48ed9d5bc9f50732dc818db Author: Manu Abraham Date: Fri Jan 25 18:35:21 2008 -0300 V4L/DVB (9452): Fix invalid GCT mode Signed-off-by: Manu Abraham Signed-off-by: Mauro Carvalho Chehab commit 18527bee917fb94aaf1760826d918ac7f08d7e61 Author: Manu Abraham Date: Fri Jan 25 18:25:13 2008 -0300 V4L/DVB (9451): Bug! F/3 Clock domain was incorrectly used Signed-off-by: Manu Abraham Signed-off-by: Mauro Carvalho Chehab commit 8be969b3134ade447e3ba9f63e60eeabca270227 Author: Manu Abraham Date: Fri Jan 25 18:20:48 2008 -0300 V4L/DVB (9450): Code Review: #4 Consolidate configurations * Better readability * Avoids duplication Comments from Oliver Endriss Signed-off-by: Manu Abraham Signed-off-by: Mauro Carvalho Chehab commit 27713c8ba45e807c64c53a8a865adbe3a73f3b2d Author: Reinhard Nissl Date: Mon Jan 21 16:43:18 2008 -0300 V4L/DVB (9449): Code Simplification: use do_div() instead Signed-off-by: Reinhard Nissl Signed-off-by: Manu Abraham Signed-off-by: Mauro Carvalho Chehab commit 561374113e6dbd717ac4a578d99834219de9d3c1 Author: Reinhard Nissl Date: Mon Jan 21 16:17:48 2008 -0300 V4L/DVB (9448): Bug: fix array size Bug: a string which contains 4 digits needs an array of size 5. The fifth character will hold the terminating '\0' Signed-off-by: Reinhard Nissl Signed-off-by: Manu Abraham Signed-off-by: Mauro Carvalho Chehab commit 6f6c268b0f1f6846584162053a47d3aadf34a3c4 Author: Reinhard Nissl Date: Mon Jan 21 16:15:14 2008 -0300 V4L/DVB (9447): stb6100: improve rounding Optimization: Round the requested value to achieve a +/-1MHz error instead of +0/-2MHz Signed-off-by: Reinhard Nissl Signed-off-by: Manu Abraham Signed-off-by: Mauro Carvalho Chehab commit 02ec9d8ff4fba95255c277585aa5d0f33ec3adef Author: Reinhard Nissl Date: Fri Jan 18 20:09:52 2008 -0300 V4L/DVB (9446): Bug Fix an overflow in bandwidth calculation Signed-off-by: Reinhard Nissl Signed-off-by: Manu Abraham Signed-off-by: Mauro Carvalho Chehab commit 89693b7d7bd965c18e9ce1c68eef2b52f9c2b745 Author: Reinhard Nissl Date: Fri Jan 18 16:06:18 2008 -0300 V4L/DVB (9445): Bug: Bandwidth calculation at upper and lower boundaries Signed-off-by: Reinhard Nissl Signed-off-by: Manu Abraham Signed-off-by: Mauro Carvalho Chehab commit 043a68b36dc137c5754183c7625950d7fe39be0b Author: Manu Abraham Date: Fri Jan 18 14:15:17 2008 -0300 V4L/DVB (9444): Initialize post process events to NULL Signed-off-by: Manu Abraham Signed-off-by: Mauro Carvalho Chehab commit 763fbaf65a3f7fd571db427a376e727faeb5bfc5 Author: Manu Abraham Date: Fri Jan 18 11:28:48 2008 -0300 V4L/DVB (9443): Bug: Bandwidth calculation Bug #1: The 5 tap equaliser is set to correct simple perturbations like reflections on the IF cable for DVB-S. In the case of DVB-S2 a more powerful equalizer is used to correct the filter group delay allowing the bandwidth to be reduced by a factor of 1/3 Bug #2: The ZIF tuner takes badwidth to be set in Hz Signed-off-by: Manu Abraham Signed-off-by: Mauro Carvalho Chehab commit 27a330d1240ffeaca8c7cf2a2eb6a5fbeef3c4ec Author: Manu Abraham Date: Mon Nov 19 16:44:47 2007 -0300 V4L/DVB (9442): Revert back previous change to 90MHz Note: * At High Symbol Rates we do not have enouph machine cycles to handle the incoming symbols and hence might run into problems at the very end of the specified definition * Most of the equations have been calculated for a master clock of 99 MHz, running at 90MHz, raises lot of issues such as the need to recalculate all of them , which is eventually very painful. Signed-off-by: Manu Abraham Signed-off-by: Mauro Carvalho Chehab commit 72f7841613a9f6e2c013ad9ff61efb5fc16a89f2 Author: Manu Abraham Date: Sat Nov 10 16:59:16 2007 -0300 V4L/DVB (9441): Code simplification: clock is already initialized, no need to initialize again. Thanks to Marko Schluessler for pointing it out Signed-off-by: Marko Schluessler Signed-off-by: Manu Abraham Signed-off-by: Mauro Carvalho Chehab commit d0a41e8f8fa3d0fe94ebd1cc115f73e3d7b97172 Author: Arvo Jarve Date: Fri Nov 9 18:21:27 2007 -0300 V4L/DVB (9440): Bug in previous commit Signed-off-by: Arvo Jarve Signed-off-by: Manu Abraham Signed-off-by: Mauro Carvalho Chehab commit 1b792e05e99f0f56eb4da91084ac9b8e8a132a15 Author: Manu Abraham Date: Fri Nov 9 17:33:26 2007 -0300 V4L/DVB (9439): Bug! SFRL nibble got swapped The Bug was found by Arvo Jarve It was a wonder how it worked in the case with this bug, STM verified this that this nibble was in fact insignificant and can be ignored. But still we need to fix all inconsistencies. Signed-off-by: Manu Abraham Signed-off-by: Mauro Carvalho Chehab commit eadf29b941df1c0e0e585d7482e096ca608a7bb7 Author: Arvo Jarve Date: Fri Nov 9 17:24:45 2007 -0300 V4L/DVB (9438): Bug! RTF is signed Signed-off-by: Arvo Jarve Signed-off-by: Manu Abraham Signed-off-by: Mauro Carvalho Chehab commit ba8862a83f2db95cdd8e9193e83915e5e278927a Author: Manu Abraham Date: Wed Oct 31 19:22:02 2007 -0300 V4L/DVB (9437): Disable Symbol rate auto scan feature Signed-off-by: Manu Abraham Signed-off-by: Mauro Carvalho Chehab commit 9efdd297bc7c50dea24532a9b52bd0245e7e5169 Author: Manu Abraham Date: Tue Oct 30 20:05:59 2007 -0300 V4L/DVB (9436): Fix a typo in the previous commit Signed-off-by: Manu Abraham Signed-off-by: Mauro Carvalho Chehab commit b168e351a50086e582d3cb42eb4336387ce1ddab Author: Manu Abraham Date: Tue Oct 30 19:46:49 2007 -0300 V4L/DVB (9435): Add post process interfaces Signed-off-by: Manu Abraham Signed-off-by: Mauro Carvalho Chehab commit 947881a999e8bcde98c9cb637316cb8026af4f71 Author: Manu Abraham Date: Tue Oct 30 10:25:26 2007 -0300 V4L/DVB (9434): Limit initial RF AGC gain Signed-off-by: Manu Abraham Signed-off-by: Mauro Carvalho Chehab commit 1e3d8abe6d70ccd345bf0210d1184b813403fa94 Author: Arvo Jarve Date: Tue Oct 30 10:21:33 2007 -0300 V4L/DVB (9433): Limit bandwidth with a 3dB response fall In this case, we will be sure that there exists a carrier and the center frequency would be simply f1 - f2. In such a circumstance, the TR loop is simplified to doing a simple check for timing, rather than searching for the same. Signed-off-by: Arvo Jarve Signed-off-by: Manu Abraham Signed-off-by: Mauro Carvalho Chehab commit b2fe5c6b01f1e44fff0a5d298457a9c9262c997a Author: Arvo Jarve Date: Tue Oct 30 09:46:04 2007 -0300 V4L/DVB (9432): Increment the AGC1 and AGC2 gain respectively, improves sensitivity slightly Signed-off-by: Arvo Jarve Signed-off-by: Manu Abraham Signed-off-by: Mauro Carvalho Chehab commit ac8fdc47cc86ff11457812893f31b0ff7c447788 Author: Manu Abraham Date: Tue Oct 30 09:31:13 2007 -0300 V4L/DVB (9431): Bug ID #19: Diseqc works properly at 90MHz only on Cut 1.1 and 2.0 Signed-off-by: Manu Abraham Signed-off-by: Mauro Carvalho Chehab commit b655b6cbc9238aa34e90aa6763088f6d4e830347 Author: Arvo Jarve Date: Tue Oct 30 09:16:17 2007 -0300 V4L/DVB (9430): stb0899: avoid parameter overwriting BUG! Setting CRL parameter overwrote the CR Algorithm type, eventually leading to wrong search algorithm to be employed in the DVB-S carrier loop optimization. Symptom: Once the CR optimization stage is passed either way, in a successful or failed manner, the very next carrier search will fail, due to no Carrier Search Algorithm specified. Signed-off-by: Arvo Jarve Signed-off-by: Manu Abraham Signed-off-by: Mauro Carvalho Chehab commit 5dc1611cb24f5124ef97de279f04ea91b5a4c2e6 Author: Arvo Jarve Date: Thu Oct 25 13:25:23 2007 -0300 V4L/DVB (9429): Add support for the Satelco Easywatch DVB-S2 PCI card Signed-off-by: Arvo Jarve Signed-off-by: Manu Abraham Signed-off-by: Mauro Carvalho Chehab commit 7d8f1e57646d7121089ba21e270c1b390de9a17a Author: Marko Schluessler Date: Tue Oct 23 19:56:18 2007 -0300 V4L/DVB (9428): Fix: assignment of wrong values Signed-off-by: Marko Schluessler Signed-off-by: Manu Abraham Signed-off-by: Mauro Carvalho Chehab commit 7e4e8c52e3f87a83ce967397bb389f75cb71742d Author: Manu Abraham Date: Fri Oct 19 06:27:56 2007 -0300 V4L/DVB (9427): Code simplification: Sleep only for the required time interval. * Saves 70 mS LOCK time on the STB6100 based * Saves 100 mS LOCK time on the TDA8261 based Signed-off-by: Manu Abraham Signed-off-by: Mauro Carvalho Chehab commit ddbee1c6e2b2fb2318281a144b7be536f843da24 Author: Manu Abraham Date: Thu Oct 18 12:03:40 2007 -0300 V4L/DVB (9426): Add a missing break Signed-off-by: Manu Abraham Signed-off-by: Mauro Carvalho Chehab commit 3d16d19effa7870facfbeb178a484f6851423125 Author: Manu Abraham Date: Thu Oct 18 06:25:51 2007 -0300 V4L/DVB (9425): Initialize at 90MHz itself Signed-off-by: Manu Abraham Signed-off-by: Mauro Carvalho Chehab commit e0a28c95af8395c5344284d7d8666729f631844b Author: Manu Abraham Date: Thu Oct 18 06:13:04 2007 -0300 V4L/DVB (9424): Deviation from the reference, pullup is 12k instead Signed-off-by: Manu Abraham Signed-off-by: Mauro Carvalho Chehab commit c1f0ce22283f983f1840c0594d7ad869a51b25b7 Author: Manu Abraham Date: Mon Oct 15 14:39:58 2007 -0300 V4L/DVB (9423): Though insignificant, removes an unnecessary read of the LOCK_LOSS register, which should have happenend in the DVB-S2 mode only, but reading it as it is for the other delivery systems causes nothing to say but LOCK_LOST, which just causes confusion amongst users. Signed-off-by: Manu Abraham Signed-off-by: Mauro Carvalho Chehab commit 0867f571858043c761e3e44bd4f2bcc70f82bb27 Author: Manu Abraham Date: Mon Oct 15 13:07:16 2007 -0300 V4L/DVB (9422): Bug: Fix a typo Signed-off-by: Manu Abraham Signed-off-by: Mauro Carvalho Chehab commit 6efb0ffe09bec45397142da8e1197885f562e7fa Author: Manu Abraham Date: Mon Oct 15 12:08:20 2007 -0300 V4L/DVB (9421): We must wait for the PLL to stabilize Thanks to Peter for the in depth explanation Signed-off-by: Manu Abraham Signed-off-by: Mauro Carvalho Chehab commit 417dd69de843a2f67a9ff6e21df7de5be5dd8204 Author: Manu Abraham Date: Wed Oct 10 06:12:13 2007 -0300 V4L/DVB (9420): return -EINVAL for invalid parameters Signed-off-by: Manu Abraham Signed-off-by: Mauro Carvalho Chehab commit cf6efeb6705e9828291401f890dcb327a0ea52e7 Author: Manu Abraham Date: Mon Oct 8 19:04:03 2007 -0300 V4L/DVB (9419): Bug: unnecessary large current causes large phasor errors Signed-off-by: Manu Abraham Signed-off-by: Mauro Carvalho Chehab commit 6199ceef8bd28b79e0792423ca79cce8b224cd50 Author: Manu Abraham Date: Mon Oct 8 18:51:54 2007 -0300 V4L/DVB (9418): DVB_ATTACH for STB0899, STB6100, TDA8261 Signed-off-by: Manu Abraham Signed-off-by: Mauro Carvalho Chehab commit ae9902da96b4d2d82707706c7fbc93a8e501dde8 Author: Manu Abraham Date: Mon Oct 8 18:51:54 2007 -0300 V4L/DVB (9417): DVB_ATTACH for STB0899, STB6100, TDA8261 Signed-off-by: Manu Abraham Signed-off-by: Mauro Carvalho Chehab commit e0ee77acb1b849ce0ad729aff2427d3dc07ee5d1 Author: Manu Abraham Date: Sat Oct 6 09:41:16 2007 -0300 V4L/DVB (9416): Hmmph, a proper calculation broke the working behaviour. Need some thoughts, temporary for now .. Signed-off-by: Manu Abraham Signed-off-by: Mauro Carvalho Chehab commit 6c1022cbc87bbd962b7c1e551c2af290be9e4277 Author: Manu Abraham Date: Fri Oct 5 11:41:19 2007 -0300 V4L/DVB (9414): Initialize DiSEqC Signed-off-by: Manu Abraham Signed-off-by: Mauro Carvalho Chehab commit baa40e48d9069c6ec3ac4739f47e2e7560a022d3 Author: Manu Abraham Date: Fri Oct 5 09:04:32 2007 -0300 V4L/DVB (9413): Bug: Set Auxilliary Clock Register correctly Signed-off-by: Manu Abraham Signed-off-by: Mauro Carvalho Chehab commit b11eb46344f9d64c9bd9ecbb1b265f9c67f105eb Author: Manu Abraham Date: Fri Oct 5 01:57:59 2007 -0300 V4L/DVB (9412): Fix tuner name and comment Signed-off-by: Manu Abraham Signed-off-by: Mauro Carvalho Chehab commit 3479474b368ec3da83240500eca03688fd53ca03 Author: Manu Abraham Date: Thu Oct 4 17:39:19 2007 -0300 V4L/DVB (9411): Bug! Timing recovery was calculated for 99MHz not 90 MHz Signed-off-by: Manu Abraham Signed-off-by: Mauro Carvalho Chehab commit c14eaedd6c6b2b8ef8900f2dddab382567d556f8 Author: Manu Abraham Date: Thu Oct 4 16:52:51 2007 -0300 V4L/DVB (9410): Bug: Missing reference clock definition Signed-off-by: Manu Abraham Signed-off-by: Mauro Carvalho Chehab commit aa4a9e1ae0f499dd87cddf59d32154cba9399cc9 Author: Manu Abraham Date: Thu Oct 4 16:48:54 2007 -0300 V4L/DVB (9409): Bug! inverted logic Signed-off-by: Manu Abraham Signed-off-by: Mauro Carvalho Chehab commit f6e6382764f49ca0d94bd7dcd791456838e347b9 Author: Manu Abraham Date: Fri Sep 28 19:06:06 2007 -0300 V4L/DVB (9408): tda8261: check status to avoid lock loss We need to check for tuner LOCK LOSS, especially in the case of simple PLL's Signed-off-by: Manu Abraham Signed-off-by: Mauro Carvalho Chehab commit d98c02859fbeefe19e6b182997c6a8b3c9c32acc Author: Manu Abraham Date: Wed Sep 26 18:32:13 2007 -0300 V4L/DVB (9407): Optimizations Reduce capture range from 10MHz to 3Mhz * Reduces szapping time a lot * increased stability at Low Symbol rates * overall increases reliability in tuning Signed-off-by: Manu Abraham Signed-off-by: Mauro Carvalho Chehab commit 421b2970d24f7571039b29e6726bce1608578ac4 Author: Marko Schluessler Date: Tue Sep 25 20:13:31 2007 -0300 V4L/DVB (9406): Really silly bug, setting bandwidth into frequency probably should stop fiddling with code late nights. :-( Thanks to Marco for pointing it out and fixing it. Signed-off-by: Marko Schluessler Signed-off-by: Manu Abraham Signed-off-by: Mauro Carvalho Chehab commit e99d00cb176dde1d0c140b06492b6a729367e745 Author: Manu Abraham Date: Tue Sep 25 17:48:59 2007 -0300 V4L/DVB (9405): Practical tests show that the TT S2 3200 has I/Q inputs inverted, similar to the KNC1. Don't have this hardware and cannot verify this for myself, but from the reports this looks to be quite a reasonable and correct hypothesis. Signed-off-by: Manu Abraham Signed-off-by: Mauro Carvalho Chehab commit 7dd82f7473df9465801255a856bf466a16824b5e Author: Manu Abraham Date: Tue Sep 25 14:57:19 2007 -0300 V4L/DVB (9404): the KNC1 and clones also don't have the I/Q inputs swapped Signed-off-by: Manu Abraham Signed-off-by: Mauro Carvalho Chehab commit 6ea223c20dfb45311d0ffe0d6ef6b55c9ed4f398 Author: Manu Abraham Date: Mon Sep 24 19:58:24 2007 -0300 V4L/DVB (9403): Fix the CA module not working issue Signed-off-by: Manu Abraham Signed-off-by: Mauro Carvalho Chehab commit b48e2de3b2b05fd360a07704eb39bf44298c74d0 Author: Manu Abraham Date: Mon Sep 24 19:51:32 2007 -0300 V4L/DVB (9402): TT S2 3200 shouldn't need Inversion ON and Inversion AUTO at the same time This is a racy situation. Inversion is default OFF on the TT S2 3200 hardware, unlike the KNC1 where it is default Inverted Signed-off-by: Manu Abraham Signed-off-by: Mauro Carvalho Chehab commit ecdec311806220d6e88e3ac52936cc30e1580810 Author: Manu Abraham Date: Mon Sep 24 19:38:11 2007 -0300 V4L/DVB (9401): Code Simplification Use an enumeration for I/Q Swap rather than an int, easier to spot the nasty ones Signed-off-by: Manu Abraham Signed-off-by: Mauro Carvalho Chehab commit db1d3b80b3d077b6d5936f2afef3e5a84d302c1a Author: Manu Abraham Date: Mon Sep 24 19:15:41 2007 -0300 V4L/DVB (9400): stb6100: Code Simplification The 2 callbacks created nothing more than confusion Signed-off-by: Manu Abraham Signed-off-by: Mauro Carvalho Chehab commit a55bc848559d229025f5b2468fbed1070ae377e7 Author: Manu Abraham Date: Thu Oct 23 18:32:50 2008 -0300 V4L/DVB (9399): some cleanups at budget-ci Still messing up: * Cleanup * Use KNC1's default settings to startup with * Add in tuner wrapper calls Signed-off-by: Manu Abraham Signed-off-by: Mauro Carvalho Chehab commit 9e0dc6606a4f26a70cede6bf181cbff21f4c5477 Author: Marko Schluessler Date: Thu Oct 23 18:16:40 2008 -0300 V4L/DVB (9398): Initial support for the Technotrend TT S2 3200 Signed-off-by: Marko Schluessler Signed-off-by: Manu Abraham Signed-off-by: Mauro Carvalho Chehab commit c7d85a2debb07af67c4915c972a352b68cda9022 Author: Manu Abraham Date: Mon Sep 24 13:27:06 2007 -0300 V4L/DVB (9397): fix some bugs at tda8261 Fix bug obviously, some enhancements as well * enable i2c_gate before doing any transaction * read is one single message with 2 words * reduce sleep from 100mS to 20mS Signed-off-by: Manu Abraham Signed-off-by: Mauro Carvalho Chehab commit de29eb82595684c937cf0e2578479f4fcb9c9e40 Author: Manu Abraham Date: Sat Sep 22 21:39:17 2007 -0300 V4L/DVB (9396): Fix clocks at stb0899 Really silly! Disabled all clocks and expected it to run. Signed-off-by: Manu Abraham Signed-off-by: Mauro Carvalho Chehab commit 41e1151b33cce7e19cfba1648d05abd34a0ba492 Author: Manu Abraham Date: Sat Sep 22 21:28:11 2007 -0300 V4L/DVB (9395): Add initial support for two KNC1 DVB-S2 boards Add initial support for: * KNC1 DVB-S2 Plus * KNC1 DVB-S2 OEM (known as Satelco DVB-S2) Signed-off-by: Manu Abraham Signed-off-by: Mauro Carvalho Chehab commit 0b8f15dcebb58ef8956203803c6de8f41a173dbc Author: Manu Abraham Date: Sat Sep 22 13:36:34 2007 -0300 V4L/DVB (9394): cache last successful state Signed-off-by: Manu Abraham Signed-off-by: Mauro Carvalho Chehab commit 654dbad45d83ef1a1d234940705d775dc813a501 Author: Manu Abraham Date: Thu Oct 23 17:56:07 2008 -0300 V4L/DVB (9393): Add TDA8261 to build Signed-off-by: Manu Abraham Signed-off-by: Mauro Carvalho Chehab commit 00360205b94cb9d0b93be5f4ca6676b53dceba7f Author: Manu Abraham Date: Sat Sep 22 13:30:09 2007 -0300 V4L/DVB (9392): initial go at TDA8261 tuner Signed-off-by: Manu Abraham Signed-off-by: Mauro Carvalho Chehab commit 43498ade8ade7cee1b983e5410c838ac84eef691 Author: Marko Schluessler Date: Fri Sep 21 18:59:17 2007 -0300 V4L/DVB (9391): Register definition bugs Signed-off-by: Marko Schluessler Signed-off-by: Manu Abraham Signed-off-by: Mauro Carvalho Chehab commit 08bcdbec683c8ded6d19f361cd806efcb77c287f Author: Marko Schluessler Date: Fri Sep 21 18:40:14 2007 -0300 V4L/DVB (9390): Offset Freq has been set in reg Signed-off-by: Marko Schluessler Signed-off-by: Manu Abraham Signed-off-by: Mauro Carvalho Chehab commit a18d43156a09e57dada62b1c51f229a6d0da02d6 Author: Marko Schluessler Date: Fri Sep 21 18:13:30 2007 -0300 V4L/DVB (9389): Use kzalloc instead of kmalloc Signed-off-by: Marko Schluessler Signed-off-by: Manu Abraham Signed-off-by: Mauro Carvalho Chehab commit 3e3263e6654ca22c317fb4d49eea3b940613b3ba Author: Marko Schluessler Date: Fri Sep 21 18:08:01 2007 -0300 V4L/DVB (9388): Reference Clock is in kHz Signed-off-by: Marko Schluessler Signed-off-by: Manu Abraham Signed-off-by: Mauro Carvalho Chehab commit 57ad94a63548b413dc11039f462480994a06c809 Author: Manu Abraham Date: Mon Jul 2 09:51:54 2007 -0300 V4L/DVB (9387): FIX: Write to the correct register Thanks to Marko Schluessler for pointing it out Signed-off-by: Manu Abraham Signed-off-by: Mauro Carvalho Chehab commit d189f3ef9e91b81573731f6fcb00c62b61450a50 Author: Manu Abraham Date: Mon Jul 2 09:48:50 2007 -0300 V4L/DVB (9386): FIX: Add in missing inversion (should be ideally in the config struct) Thanks to Marco Schluessler for pointing it out Signed-off-by: Manu Abraham Signed-off-by: Mauro Carvalho Chehab commit 381d8047031d8b7c2aca4b0dd624108c807262ec Author: Manu Abraham Date: Mon Jul 2 09:36:47 2007 -0300 V4L/DVB (9384): FIX: register value is not reset to 0 after write Signed-off-by: Manu Abraham Signed-off-by: Mauro Carvalho Chehab commit bb29cc6ffa15bc2c4f2c014a44d995368244e7ba Author: Manu Abraham Date: Mon Jul 2 09:08:23 2007 -0300 V4L/DVB (9383): Let's neither sleep nor wakeup for now Signed-off-by: Manu Abraham Signed-off-by: Mauro Carvalho Chehab commit 795b72b21a566b9e440e7e8afadcfa76386c1cb2 Author: Manu Abraham Date: Mon Jul 2 09:01:48 2007 -0300 V4L/DVB (9382): Use a delay for tracking acquisition status Signed-off-by: Manu Abraham Signed-off-by: Mauro Carvalho Chehab commit 54c358fc23a4ca6c75bc0f8c6b3864ae16cba803 Author: Manu Abraham Date: Mon Jul 2 08:44:32 2007 -0300 V4L/DVB (9381): On the KNC1 cards the CLOCK is clamped to a maximum limit of 90MHz, eventhough not limited in hardware, this causes instabilities at a higher clock due to issues such as thermal, also the divider wraps around, which causes the demodulator core to actually run at a lower frequency. This needs to be empirically tested whether it affects other cards. If found necessary, this parameter needs to be moved out to the config struct such that it can be made hardware dependant. Reducing the CLOCK from 99MHz to 90MHz improved the acquisition time taken on the KNC1 cards and hence such a change. Signed-off-by: Manu Abraham Signed-off-by: Mauro Carvalho Chehab commit b797c206168992e8a2c080e80e39a56410cdaac0 Author: Manu Abraham Date: Sat Feb 24 09:14:39 2007 -0300 V4L/DVB (9380): FIX: a possible division by zero Thanks to Marko Schluessler Signed-off-by: Manu Abraham Signed-off-by: Mauro Carvalho Chehab commit b3332a983dc07d6bd35d5a97a6e3572b067e7f53 Author: Manu Abraham Date: Tue Jul 3 09:58:57 2007 -0300 V4L/DVB (9379): FIX: fix a bug in the charge pump setting Signed-off-by: Manu Abraham Signed-off-by: Mauro Carvalho Chehab commit 040dcc3e5194d0170727adc5df213cfe9d994302 Author: Manu Abraham Date: Sat Feb 24 08:31:40 2007 -0300 V4L/DVB (9378): Add STB6100 Support Signed-off-by: Manu Abraham Signed-off-by: Mauro Carvalho Chehab commit c46b65621007a2ede49464d227f64dd3a909a109 Author: Manu Abraham Date: Sat Feb 24 08:31:40 2007 -0300 V4L/DVB (9377): Add STB6100 Support Signed-off-by: Manu Abraham Signed-off-by: Mauro Carvalho Chehab commit e50e8e3338788359d63f0a1ea2e038dd48415754 Author: Manu Abraham Date: Tue Jul 3 09:53:42 2007 -0300 V4L/DVB (9376): Add STB0899 to build Signed-off-by: Manu Abraham Signed-off-by: Mauro Carvalho Chehab commit 8bd135bab91f4659d4c62466029aff468e56f235 Author: Manu Abraham Date: Tue Jul 3 09:53:42 2007 -0300 V4L/DVB (9375): Add STB0899 support Signed-off-by: Manu Abraham Signed-off-by: Mauro Carvalho Chehab commit 2b1b945f88537a110f018f6a50b1f01bbb23fb7e Author: Mauro Carvalho Chehab Date: Fri Oct 24 23:13:57 2008 -0300 V4L/DVB (9370): Update README.cx88 with the current status README.cx88 were outdated since a long time. Update it with the current status. Cc: Rafael Diniz Signed-off-by: Mauro Carvalho Chehab commit f71f11ed46df2f29daf928eb5fd8c6c2d1455f36 Author: Mauro Carvalho Chehab Date: Fri Oct 24 15:06:17 2008 -0300 V4L/DVB (9367): Move lgdt3304 driver to the proper place and allow it to compile Signed-off-by: Mauro Carvalho Chehab commit c2e591fcb7aa5300cf6967edb29960628cf1831d Author: Mauro Carvalho Chehab Date: Fri Oct 24 13:44:38 2008 -0300 V4L/DVB (9366): Move S921 driver to the proper place and allow it to compile Signed-off-by: Mauro Carvalho Chehab commit 67ea14f250c295486baa3440ca85be0b032fda95 Author: Markus Rechberger Date: Wed Oct 22 21:08:47 2008 -0300 V4L/DVB (9365): adding lgdt3304 based driver lgdt3304.c: frontend driver for the lgdt3304 chip, this driver is not compatible with the lgdt330x. Signed-off-by: Markus Rechberger Signed-off-by: Mauro Carvalho Chehab commit aa56cb9db05858912f5d06b36740df5600666e3d Author: Markus Rechberger Date: Wed Oct 22 21:07:42 2008 -0300 V4L/DVB (9364): adding sharp s921 ISDB-T driver s921_module.c: wrapper for the dvb frontend interface s921_core.c: core s921 1seg ISDB-T driver, everything is set to auto as much as possible in order to not require certain parameters which currently cannot be passed to the ISDB-T chip. ISDB-T support can be tested using dvbscan, dvbstream/snoop and mplayer Tested 1seg H264/aac stream with this driver using a custom linux ISDB-T player Signed-off-by: Mauro Carvalho Chehab commit 2c5aacc6c7916e0a432991b68f3645540365ad53 Author: Markus Rechberger Date: Fri Oct 24 12:19:14 2008 -0300 V4L/DVB (9363): tvp5150: add support to enable raw vbi Signed-off-by: Markus Rechberger [mchehab@redhat.com: Fix bad whitespaces] Signed-off-by: Mauro Carvalho Chehab commit a9dbe5dc2e9337f1c7fab16963753aaf3f5283be Author: Markus Rechberger Date: Fri Oct 24 12:15:08 2008 -0300 V4L/DVB (9362): zl10353: add new register configuration for zl10353/especially 6mhz taiwan. Signed-off-by: Markus Rechberger Signed-off-by: Mauro Carvalho Chehab commit 5dd3f3071070f5a306bdf8d474c80062f5691cba Author: Andreas Oberritter Date: Thu Oct 23 12:11:19 2008 -0300 V4L/DVB (9361): Dynamic DVB minor allocation Implement dynamic minor allocation for DVB, to allow more than four devices of the same type per adapter, based on drivers/usb/core/file.c. Add a new config option, DVB_DYNAMIC_MINORS, to make use of this feature, which defaults to no for backwards compatibility. Signed-off-by: Andreas Oberritter Signed-off-by: Mauro Carvalho Chehab commit 568e9bb8d764300e1de81d49ae698cc970a511d8 Author: Huang Weiyi Date: Sat Oct 18 04:41:52 2008 -0300 V4L/DVB: remove unused #include The file(s) below do not use LINUX_VERSION_CODE nor KERNEL_VERSION. drivers/media/dvb/dm1105/dm1105.c drivers/media/dvb/dvb-usb/dw2102.c This patch removes the said #include . Signed-off-by: Huang Weiyi Signed-off-by: Mauro Carvalho Chehab commit 9962ac5331d79362cc538f2da257c0663fb609e1 Author: Marco Schluessler Date: Thu Oct 30 02:38:59 2008 -0300 V4L/DVB (9480): Fix frontend DVBFE_ALGO_CUSTOM Search Issue: Currently, the DVBFE_ALGO_CUSTOM is called only at the first tuning. After the first call, the status is never set to force a new tuning. Signed-off-by: Marco Schluessler Signed-off-by: Manu Abraham Signed-off-by: Mauro Carvalho Chehab commit f04c3ca8a2677816af1c0ae7170c2e56ac5d7042 Author: Manu Abraham Date: Tue Oct 28 06:11:24 2008 -0300 V4L/DVB (9478): Fix: parameters not supplied in the search process Signed-off-by: Manu Abraham Signed-off-by: Mauro Carvalho Chehab commit f7c9bf96ad3f65e80762c190be6aad6b2ce997f6 Author: Matthias Schwarzott Date: Tue Oct 28 05:58:04 2008 -0300 V4L/DVB (9477): Fix: Commit 9344 breaks tning of cx24123 Signed-off-by: Matthias Schwarzott Signed-off-by: Manu Abraham Signed-off-by: Mauro Carvalho Chehab commit 7bcbdf386bdc2ea2bcd916a7b972ad7bca14db04 Author: Arvo Jarve Date: Mon Oct 20 06:05:21 2008 -0300 V4L/DVB (9345): Add event with changed status only Signed-off-by: Arvo Jarve Signed-off-by: Manu Abraham Signed-off-by: Mauro Carvalho Chehab commit c59e7870fddbbc232221f92fb24958c605be404c Author: Manu Abraham Date: Tue Oct 14 16:34:07 2008 -0300 V4L/DVB (9344): DVB-Core update Signed-off-by: Manu Abraham Signed-off-by: Mauro Carvalho Chehab commit a12ca6a6e143d77557772139f660121dfea6e923 Author: Jean-Francois Moine Date: Wed Nov 19 06:37:53 2008 -0300 V4L/DVB (9691): gspca: Some cleanups at device register Signed-off-by: Jean-Francois Moine Signed-off-by: Mauro Carvalho Chehab commit 519d68082e56fe4a5a7d273465323a95cbe5a33f Author: Bartlomiej Zolnierkiewicz Date: Mon Dec 29 20:27:38 2008 +0100 ide-cd: remove dead dsc_overlap setting dsc_overlap setting is not useful anymore for ide-cd so remove "dsc_overlap" /proc setting, disallow changing the setting through HDIO_SET_NICE ioctl and cleanup ide_cd{rom_setup,_release}(). Cc: Borislav Petkov Signed-off-by: Bartlomiej Zolnierkiewicz commit 94b9efdf5a3ec78bc31281ea3ba80028ce4ab057 Author: Bartlomiej Zolnierkiewicz Date: Mon Dec 29 20:27:38 2008 +0100 ide: push local_irq_{save,restore}() to do_identify() Push local_irq_{save,restore}() from actual_try_to_identify() to do_identify() and remove no longer needed local_irq_enable(). Acked-by: Sergei Shtylyov Signed-off-by: Bartlomiej Zolnierkiewicz commit d688b72c90a7faf13c070d4ebb63cacdf481de32 Author: Bartlomiej Zolnierkiewicz Date: Mon Dec 29 20:27:37 2008 +0100 ide: remove superfluous local_irq_{save,restore}() from ide_dump_status() No reason to run this function with local IRQs off. Signed-off-by: Bartlomiej Zolnierkiewicz commit 7f92b11c1cc0e865fc64f3148eda87fff74920e1 Author: Bartlomiej Zolnierkiewicz Date: Mon Dec 29 20:27:37 2008 +0100 ide: move legacy ISA/VLB ports handling to ide-legacy.c (v2) * Move legacy ISA/VLB ports handling from ide-probe.c to ide-legacy.c. * Add CONFIG_IDE_LEGACY config option to be selected by host drivers needing ide-legacy.c. v2: Fix CONFIG_IDE_LEGACY not being defined in Kconfig. (from Takashi Iwai ) There should be no functional changes caused by this patch. Signed-off-by: Bartlomiej Zolnierkiewicz commit e2984c628c924442132304ae662da433f41c05c9 Author: Bartlomiej Zolnierkiewicz Date: Mon Dec 29 20:27:37 2008 +0100 ide: move Power Management support to ide-pm.c There should be no functional changes caused by this patch. Signed-off-by: Bartlomiej Zolnierkiewicz commit 1d35364acbd5ab7d67bb39cfc5dd3ed0fbefb4b8 Author: Bartlomiej Zolnierkiewicz Date: Mon Dec 29 20:27:37 2008 +0100 ide: use ATA_DMA_* defines in ide-dma-sff.c In few places open-coded values were still being used. Fix it. Acked-by: Sergei Shtylyov Signed-off-by: Bartlomiej Zolnierkiewicz commit 2f996acb6191b6b5f188eca1d1ad76cf1d8ecf76 Author: Bartlomiej Zolnierkiewicz Date: Mon Dec 29 20:27:36 2008 +0100 ide: checkpatch.pl fixes for ide-lib.c Fix following errors/warnings detected by checkpatch.pl: - WARNING: EXPORT_SYMBOL(foo); should immediately follow its function/variable - WARNING: space prohibited between function name and open parenthesis '(' - ERROR: trailing whitespace - ERROR: trailing statements should be on next line - WARNING: printk() should include KERN_ facility level Signed-off-by: Bartlomiej Zolnierkiewicz commit 047140ae2ecf954c0c44ea27cb1ae89138671bc1 Author: Bartlomiej Zolnierkiewicz Date: Mon Dec 29 20:27:36 2008 +0100 ide: remove inline tags from ide-probe.c Let the compiler handle it. Signed-off-by: Bartlomiej Zolnierkiewicz commit b002415012f518e6940fabb77e35f0fb21b3640d Author: Bartlomiej Zolnierkiewicz Date: Mon Dec 29 20:27:36 2008 +0100 ide: remove redundant code from ide_end_drive_cmd() rq->errors is overwritten later in this function. Signed-off-by: Bartlomiej Zolnierkiewicz commit dc09c78425de89c80c51319c3fbb939f7960c59c Author: Kay Sievers Date: Mon Dec 29 20:27:36 2008 +0100 ide: struct device - replace bus_id with dev_name(), dev_set_name() Acked-by: Greg Kroah-Hartman Signed-off-by: Kay Sievers Signed-off-by: Bartlomiej Zolnierkiewicz commit 702c026be87ef8374ae58122969a4b0b081ce6f2 Author: Bartlomiej Zolnierkiewicz Date: Mon Dec 29 20:27:36 2008 +0100 ide: rework handling of serialized ports (v2) * hpt366: set IDE_HFLAG_SERIALIZE in ->host_flags if needed in init_hwif_hpt366(). Remove HPT_SERIALIZE_IO while at it. * Set IDE_HFLAG_SERIALIZE in ->host_flags if needed in ide_init_port(). * Convert init_irq() to use IDE_HFLAG_SERIALIZE together with hwif->host to find out ports which need to be serialized. * Remove no longer needed save_match() and ide_hwif_t.serialized. v2: * Set host's ->host_flags field instead of port's copy. This patch should fix the incorrect grouping of port(s) from host(s) that need serialization with port(s) that happen to use the same IRQ(s) but are from the host(s) that don't need it. Cc: Sergei Shtylyov Signed-off-by: Bartlomiej Zolnierkiewicz commit b7876a6fb6e9bf6cbcf7b40cf034aa4138d7978f Author: Bartlomiej Zolnierkiewicz Date: Mon Dec 29 20:27:34 2008 +0100 cy82c693: remove superfluous ide_cy82c693 chipset type Since CY82C693 doesn't require serialization we may as well use the default ide_pci chipset type. Signed-off-by: Bartlomiej Zolnierkiewicz commit 1f66019bdf902cb59adf959e462bcd3f4c01f683 Author: Bartlomiej Zolnierkiewicz Date: Mon Dec 29 20:27:34 2008 +0100 trm290: add IDE_HFLAG_TRM290 host flag * Add IDE_HFLAG_TRM290 host flag and use it in ide_build_dmatable(). * Remove no longer needed ide_trm290 chipset type. Acked-by: Sergei Shtylyov Signed-off-by: Bartlomiej Zolnierkiewicz commit 6b4924962c49655494d2c8e9d3faab0e349a3062 Author: Bartlomiej Zolnierkiewicz Date: Mon Dec 29 20:27:34 2008 +0100 ide: add ->max_sectors field to struct ide_port_info * Add ->max_sectors field to struct ide_port_info to allow host drivers to specify value used for hwif->rqsize (if smaller than the default). * Convert pdc202xx_old to use ->max_sectors and remove no longer needed IDE_HFLAG_RQSIZE_256 flag. There should be no functional changes caused by this patch. Acked-by: Sergei Shtyltov Signed-off-by: Bartlomiej Zolnierkiewicz commit 7f1ac8c4b9dadc55ec656b368f5f470f2cbe3083 Author: Bartlomiej Zolnierkiewicz Date: Mon Dec 29 20:27:33 2008 +0100 rz1000: apply chipset quirks early (v2) * Use pci_name(dev) instead of hwif->name in init_hwif_rz1000(). * init_hwif_rz1000() -> rz1000_init_chipset(). Update rz1000_init_one() to use rz1000_init_chipset() and add now required rz1000_remove(). * Remove superfluous ide_rz1000 chipset type. v2: * unsigned int rz1000_init_chipset() -> int rz1000_disable_readahead() per Sergei's suggestion. Cc: Sergei Shtylyov Signed-off-by: Bartlomiej Zolnierkiewicz commit f58c1ab8deebc2360cef998f169a6727c288210f Author: Bartlomiej Zolnierkiewicz Date: Mon Dec 29 20:27:33 2008 +0100 ide: always set nIEN on idle devices * Set nIEN for previous port/device in ide_do_request() also if port uses a non-shared IRQ. * Remove no longer needed ide_hwif_t.sharing_irq. Signed-off-by: Bartlomiej Zolnierkiewicz commit 46aa7af1d6bf46d0973dc9e8f13275f2c001d3dd Author: Bartlomiej Zolnierkiewicz Date: Mon Dec 29 20:27:33 2008 +0100 ide: fix ->quirk_list checking in ide_do_request() Fix nIEN quirk check to also omit quirky devices using pdc202xx_{new,old} host drivers for which ->quirk_list == 2. Signed-off-by: Bartlomiej Zolnierkiewicz commit a4cd1a344818b4aa7149b851dc61f0447dc398bc Author: Bartlomiej Zolnierkiewicz Date: Mon Dec 29 20:27:33 2008 +0100 gayle: set IDE_HFLAG_SERIALIZE explictly If IDE doubler is used ports need to be serialized. Currently init_irq() handles it fine but lets also set IDE_HFLAG_SERIALIZE host flag explicitly in preparation for future changes. Also convert the driver to use struct ide_port_info while at it. Cc: Geert Uytterhoeven Signed-off-by: Bartlomiej Zolnierkiewicz commit 6b5cde3629701258004b94cde75dd1089b556b02 Author: Bartlomiej Zolnierkiewicz Date: Mon Dec 29 20:27:32 2008 +0100 cmd64x: set IDE_HFLAG_SERIALIZE explictly for CMD646 * Set IDE_HFLAG_SERIALIZE explictly for CMD646. * Remove no longer needed ide_cmd646 chipset type (which has a nice side-effect of fixing handling of unexpected IRQs). Cc: Sergei Shtylyov Signed-off-by: Bartlomiej Zolnierkiewicz commit 02fb5683c98b0ce9ff75d890ebccd8e520d0e7a9 Author: Bartlomiej Zolnierkiewicz Date: Mon Dec 29 20:27:32 2008 +0100 ali14xx: doesn't use shared IRQs init_irq() shouldn't use IRQF_SHARED for ali14xx IDE IRQ handler. Signed-off-by: Bartlomiej Zolnierkiewicz commit 27c01c2db05c3cf8824975e50403cd4fd9356dca Author: Bartlomiej Zolnierkiewicz Date: Mon Dec 29 20:27:32 2008 +0100 ide-cd: remove obsolete seek optimization It doesn't make much sense nowadays and is problematic on some drives. Cc: Borislav Petkov Signed-off-by: Bartlomiej Zolnierkiewicz commit 08cd1dca00f7c84c8b30c2726e078529d4ebc93f Author: Bartlomiej Zolnierkiewicz Date: Mon Dec 29 20:27:32 2008 +0100 ide: cleanup ide_do_request() Both choose_drive() and PM handling code make sure that the queue is unplugged so no need to check it again. Cc: Elias Oltmanns Signed-off-by: Bartlomiej Zolnierkiewicz commit 2a2ca6a96194c4744a2adeefbc09ce881f3c5abe Author: Bartlomiej Zolnierkiewicz Date: Mon Dec 29 20:27:31 2008 +0100 ide: replace the global ide_lock spinlock by per-hwgroup spinlocks (v2) Now that (almost) all host drivers have been fixed not to abuse ide_lock and core code usage of ide_lock has been sanitized we may safely replace ide_lock by per-hwgroup locks. This patch is partially based on earlier patch from Ravikiran G Thirumalai. While at it: - don't use deprecated HWIF() and HWGROUP() macros - update locking documentation in ide.h v2: Add missing spin_lock_init(&hwgroup->lock). (Noticed by Elias Oltmanns) Cc: Vaibhav V. Nivargi Cc: Alok N. Kataria Cc: Shai Fultheim Signed-off-by: Ravikiran Thirumalai Cc: Elias Oltmanns Signed-off-by: Bartlomiej Zolnierkiewicz commit 6ea52226ca131a99bb619bd56fbeee566ea5a966 Author: Bartlomiej Zolnierkiewicz Date: Mon Dec 29 20:27:31 2008 +0100 ide: use queue lock instead of ide_lock when possible This is just a preparation for future changes and there should be no functional changes caused by this patch since ide_lock is currently also used as queue lock. Signed-off-by: Bartlomiej Zolnierkiewicz commit 3c8a2cce47c6813383c9e38134e31f7e5f72e9d8 Author: Bartlomiej Zolnierkiewicz Date: Mon Dec 29 20:27:31 2008 +0100 ide: ide_lock + __blk_end_request() -> blk_end_request() Use blk_end_request() instead of ide_lock + __blk_end_request() in cdrom_end_request(), cdrom_newpc_intr(), __ide_end_request(), ide_complete_pm_request() and ide_end_drive_cmd(). [ ide_lock is currently also used as queue lock ] Signed-off-by: Bartlomiej Zolnierkiewicz commit a72b2147ec9e77be68308ba06190603550d1cb61 Author: Bartlomiej Zolnierkiewicz Date: Mon Dec 29 20:27:30 2008 +0100 ide: push ide_lock to __ide_end_request() __ide_end_request() needs ide_lock only for __blk_end_request() call so push ide_lock taking inside __ide_end_requests(). Signed-off-by: Bartlomiej Zolnierkiewicz commit 1d0bf587df5b17bb93b32d760171417883ca907f Author: Bartlomiej Zolnierkiewicz Date: Mon Dec 29 20:27:30 2008 +0100 ide: ide_hwgroup_t.rq doesn't need an ide_lock held While at it: - no need to check for hwgroup presence in ide_dump_opcode() Signed-off-by: Bartlomiej Zolnierkiewicz commit 44e312310889145b47311a311d3faf2488349116 Author: Bartlomiej Zolnierkiewicz Date: Mon Dec 29 20:27:30 2008 +0100 ide: __ide_port_unregister_devices() doesn't need an ide_lock held [ and ide_cfg_mtx mutex provides a sufficient protection for callers ] Signed-off-by: Bartlomiej Zolnierkiewicz commit 1f473e9c92ea458e60494561a2065a358b7239bb Author: Bartlomiej Zolnierkiewicz Date: Mon Dec 29 20:27:29 2008 +0100 ide: IDE settings don't need an ide_lock held IDE settings are protected by ide_setting_mtx mutex so there is no need to hold ide_lock in ide_setting_ioctl(), ide_read_setting() and ide_proc_unregister_driver(). Signed-off-by: Bartlomiej Zolnierkiewicz commit 3e0e29f7373ec96a1bd972790649524af7353f42 Author: Bartlomiej Zolnierkiewicz Date: Mon Dec 29 20:27:29 2008 +0100 ide: unify ide_intr()'s exit points Just a preparation for future changes. There should be no functional changes caused by this patch. Signed-off-by: Bartlomiej Zolnierkiewicz commit 0e63a588fc3d6a5e6bb66bacaeb11cd9093141f8 Author: Bartlomiej Zolnierkiewicz Date: Mon Dec 29 20:27:29 2008 +0100 ide: fix IDE ACPI regression breaking suspend Commit 4dde4492d850a4c9bcaa92e5bd7f4eebe3e2f5ab ("ide: make drive->id an union (take 2)") accidentally introduced an IDE ACPI regression which at least on some machines confuses ACPI and breaks suspend. Fix it. Fixes kernel.org bug #12279: http://bugzilla.kernel.org/show_bug.cgi?id=12279 [ Sorry about the bug (IDE ACPI is not used by default so it managed to slip in). Still it is kind of surprising that the bug breaks suspend as it shouldn't impact anything except IDE ACPI (it seems that it uncovered either some ACPI/PM deficiency or a BIOS bug). ] Reported-and-bisected-by: David Roka Tested-by: David Roka Cc: Rafael J. Wysocki Cc: Len Brown Signed-off-by: Bartlomiej Zolnierkiewicz commit f26f6ceacaaf017a677138cbca7ab076b565ca87 Author: Atsushi Nemoto Date: Mon Dec 29 20:27:29 2008 +0100 tx493[89]ide: Fix length for __ide_flush_dcache_range This fixes data corruption on PIO mode. Signed-off-by: Atsushi Nemoto Cc: stable Cc: sshtylyov@ru.mvista.com Signed-off-by: Bartlomiej Zolnierkiewicz commit a0fce792b55b260589c3d77293a224e84395ec07 Author: Atsushi Nemoto Date: Mon Dec 29 20:27:28 2008 +0100 tx4939ide: Do not use zero count PRD entry This fixes data corruption on some heavy load. Signed-off-by: Atsushi Nemoto Cc: stable Cc: sshtylyov@ru.mvista.com Signed-off-by: Bartlomiej Zolnierkiewicz commit 47992cbdaef2f18a47871b2ed01ad27f568c8b73 Merge: 4655a0d 198fc10 Author: Russell King Date: Mon Dec 29 18:08:11 2008 +0000 Merge branch 'for-rmk' of git://git.kernel.org/pub/scm/linux/kernel/git/ycmiao/pxa-linux-2.6 into devel commit 6352d92dec0c4b833c12a169e86762c05d0396f3 Author: Robert Richter Date: Thu Dec 18 22:09:13 2008 +0100 oprofile: simplify oprofile_begin_trace() This patch removes the unused return parameter in oprofile_begin_trace(). Also, oprofile_begin_trace() and oprofile_end_trace() are inline now. Signed-off-by: Robert Richter commit 317f33bce6d43367a2fd170bc87ba18a88d2621d Author: Robert Richter Date: Thu Dec 18 19:44:20 2008 +0100 oprofile: simplify sync_buffer() Make code more readable. No functional changes. Signed-off-by: Robert Richter commit 9741b309bb4493eedd3cdb5c97b566338a0da2cc Author: Robert Richter Date: Thu Dec 18 19:44:20 2008 +0100 oprofile: simplify add_sample() This patch removes add_us_sample() and simplifies add_sample(). Code is much more readable now. Signed-off-by: Robert Richter commit d45d23bed4bf7b25b7dcc336552a251db1aa1279 Author: Robert Richter Date: Tue Dec 16 12:00:10 2008 +0100 oprofile: add inline function __oprofile_add_ext_sample() This patch adds the inline function __oprofile_add_ext_sample() to cpu_buffer.c and thus reduces overhead when calling oprofile_add_sample(). Signed-off-by: Robert Richter commit b632ade282895562924d18b8eedd11a825f4b08c Author: Christof Schmitt Date: Fri Dec 19 16:57:02 2008 +0100 [SCSI] zfcp: Remove unnecessary warning message Remove a message that was emitted for a port that could not initially be opened. This is a rare case when the port discovery hits an initiator port and only confuses the user with an initator port logged in the message. Remove the whole special case: The failed "open port" request triggers required follow-up actions anyway. Signed-off-by: Christof Schmitt Acked-by: Felix Beck Signed-off-by: James Bottomley commit 39eb7e9aca2a582330ddb6f1167272268e6b3965 Author: Christof Schmitt Date: Fri Dec 19 16:57:01 2008 +0100 [SCSI] zfcp: Add support for unchained FSF requests Add the support to send CT and ELS requests as unchained FSF requests. This is required for older hardware and was somehow omitted during the cleanup of the FSF layer. The req_count and resp_count attributes are unused, so remove them instead of adding a special case for setting them. Also add debug data and a warning, when the ct request hits a limit. Signed-off-by: Christof Schmitt Acked-by: Martin Petermann Signed-off-by: James Bottomley commit b225cf9b8040849e16add4da8e84a72a3548ada8 Author: Christof Schmitt Date: Fri Dec 19 16:57:00 2008 +0100 [SCSI] zfcp: Remove busid macro With the change to the dev_ message macros, the macro to get the busid is only used in a few places. Remove it and directly get the dev_name from the device. Signed-off-by: Christof Schmitt Signed-off-by: James Bottomley commit b98478d71b0fea6d35f96069612d92b76013589f Author: Christof Schmitt Date: Fri Dec 19 16:56:59 2008 +0100 [SCSI] zfcp: remove DID_DID flag The port flag DID_DID indicates whether we know the current id of the port. This is always set in parallel. Since the id 0 is invalid (because the port id 0 is invalid) we can remove the DID_DID flag: d_id of 0 indicates an invalid d_id != 0 is a valid one. Signed-off-by: Christof Schmitt Acked-by: Felix Beck Signed-off-by: James Bottomley commit e0d7fcb5ecad495a54f7334e410f5e16e1da7f78 Author: Christof Schmitt Date: Fri Dec 19 16:56:58 2008 +0100 [SCSI] zfcp: Simplify mask lookups for incoming RSCNs Use an array for looking up the mask corresponding to the 2-bit information instead of the switch/case. Signed-off-by: Christof Schmitt Acked-by: Felix Beck Signed-off-by: James Bottomley commit 3623ecba19660d1d838f8b1a4d1e80007d603617 Author: Christof Schmitt Date: Fri Dec 19 16:56:57 2008 +0100 [SCSI] zfcp: Remove initial device data from zfcp_data The information from the kernel parameter is only needed during init. Keep the three pieces (busid, wwpn and lun) local to simplify the global zfcp_data structures. While at it, also remove the unused loglevel variable and give the module parameter variable a better name. Signed-off-by: Christof Schmitt Acked-by: Felix Beck Signed-off-by: James Bottomley commit 06499fac65a273f1de0154679ab04f29dead2bba Author: Heiko Carstens Date: Fri Dec 19 16:56:56 2008 +0100 [SCSI] zfcp: fix compile warning Get rid of this one: drivers/s390/scsi/zfcp_erp.c: In function 'zfcp_erp_thread': drivers/s390/scsi/zfcp_erp.c:1400: warning: ignoring return value of 'down_interruptible', declared with attribute warn_unused_result zfcp_erp_thread is a kernel thread which can't receive any signals. So introduce a dummy variable and get rid of the warning. Signed-off-by: Heiko Carstens Signed-off-by: Christof Schmitt Signed-off-by: James Bottomley commit b228af0269eaf1af22dbae12a0860f8dbfd63662 Author: Christof Schmitt Date: Fri Dec 19 16:56:55 2008 +0100 [SCSI] zfcp: Remove adapter list After the latest changes, the list of FCP devices is only used to lookup the adapter for requests from the actcli tool. Change this to use the lookup function in the cio layer. Now we can remove the adapter list and have one place less to use the global config_lock. Signed-off-by: Christof Schmitt Acked-by: Felix Beck Signed-off-by: James Bottomley commit dedbc2b3cb8404c618975bd2811c7605a4ccb51e Author: Christof Schmitt Date: Fri Dec 19 16:56:54 2008 +0100 [SCSI] zfcp: Simplify SBAL allocation to fix sparse warnings When waiting for a request claim the SBAL before waiting. This way, locking before each check of the free counter is not required and sparse does not emit warnings for the complicated locking scheme. Signed-off-by: Christof Schmitt Acked-by: Felix Beck Signed-off-by: James Bottomley commit 1d3aab084a2b4d6c60c8478b3ddf5dd9391f6a32 Author: Swen Schillig Date: Fri Dec 19 16:56:53 2008 +0100 [SCSI] zfcp: register with SCSI layer on ccw registration Synchronize the registration and de-registration with the SCSI layer at CCW registration, de-registration. Before we registered with the SCSI layer on adapter activation. This way the reg and de-reg process is in balance. Signed-off-by: Swen Schillig Signed-off-by: Christof Schmitt Signed-off-by: James Bottomley commit 27c3f0a6e4521ba0ff6e76da54969f0bf430f53a Author: Christof Schmitt Date: Fri Dec 19 16:56:52 2008 +0100 [SCSI] zfcp: Fix message line break Move the closing parenthesis before the line break. Signed-off-by: Christof Schmitt Acked-by: Felix Beck Signed-off-by: James Bottomley commit 17d98630a4f2a38537618503ad0c7ec97ba461ca Author: Anirban Chakraborty Date: Thu Dec 18 10:06:15 2008 -0800 [SCSI] qla2xxx: changes in multiq code Following changes have been made: 1. Scan outstanding commands only in the queue where it is submitted 2. Update queue registers directly in the fast path 3. Queue specific BAR is remapped only for multiq capable adapters Signed-off-by: Anirban Chakraborty Signed-off-by: James Bottomley commit 20c09df7eb9c92a40e0ecf654b6e8f14c8583b9e Author: FUJITA Tomonori Date: Tue Dec 23 04:01:35 2008 +0900 [SCSI] eata: fix the data buffer accessors conversion regression This fixes the regression introduced by the commit 58e2a02eb18393e76a469580fedf7caec190eb5e (eata: convert to use the data buffer accessors), reported: http://marc.info/?t=122987621300006&r=1&w=2 - fix DMA_NONE handling in map_dma() - this driver can't use scsi_dma_map since host->shost_gendev.parent is not set properly (it uses scsi_register). Signed-off-by: FUJITA Tomonori Reported-by: Arthur Marsh Tested-by: Arthur Marsh Cc: stable@kernel.org Signed-off-by: James Bottomley commit d2131b33c7e07c2905ee2f2321cc4dae1928c483 Author: Brian King Date: Thu Dec 18 09:26:51 2008 -0600 [SCSI] ibmvfc: Improve async event handling While doing various error injection testing, such as cable pulls and target moves, some issues were observed in handling these events. This patch improves the way these events are handled by increasing the delay waiting for the fabric to settle and also changes the behavior of Link Up to break the CRQ to ensure everything gets cleaned up properly on the VIOS. Signed-off-by: Brian King Signed-off-by: James Bottomley commit 87b5c328c7e32ab9075086f990001bffb7b19550 Author: James Smart Date: Tue Dec 16 10:34:09 2008 -0500 [SCSI] lpfc : correct printk types on PPC compiles Signed-off-by: James Smart Signed-off-by: James Bottomley commit 302378534c8d4403f9a9b2a20f875b6866a27e42 Author: Mark Nelson Date: Wed Dec 10 12:23:20 2008 +1100 [SCSI] ipr: fix lockdep warning from ipr_ioa_reset_done To fix the following lockdep warning we turn the spin_unlock_irq() into a spin_unlock() and similarly for the corresponding spin_lock_irq(). We can do this because there is no need to enable interrupts in this path (thanks to Bring King for the tip). Badness at kernel/lockdep.c:2193 NIP: c0000000000855d0 LR: c0000000000855b4 CTR: c0000000000482d0 REGS: c00000000fffb8d0 TRAP: 0700 Not tainted (2.6.28-rc5-autokern1) MSR: 8000000000021032 CR: 28000022 XER: 00000004 TASK = c00000000091fa80[0] 'swapper' THREAD: c000000000a3c000 CPU: 0 GPR00: 0000000000000000 c00000000fffbb50 c000000000a3c2e0 0000000000000001 GPR04: 000000000000a580 c0000000003870d4 0000000000000000 0000000000000001 GPR08: 0000000000000000 c00000000112fdf0 c0000000008ed918 c000000000abcfd0 GPR12: 0000000048000088 c000000000a7f300 0000000000000000 0000000002100000 GPR16: c000000000644bd0 c000000000643390 0000000000000000 00000000003d0c00 GPR20: 00000000028372d8 c0000000007372d8 0000000002837548 c000000000737548 GPR24: c000000000644660 00000000028372d8 000000000000001a c000000076760000 GPR28: 0000000000000004 c0000000004e8450 c0000000009aafb0 c00000000091fa80 NIP [c0000000000855d0] .trace_hardirqs_on_caller+0x10c/0x194 LR [c0000000000855b4] .trace_hardirqs_on_caller+0xf0/0x194 Call Trace: [c00000000fffbb50] [c00000000fffbbe0] 0xc00000000fffbbe0 (unreliable) [c00000000fffbbe0] [c0000000004e8450] ._spin_unlock_irq+0x38/0x5c [c00000000fffbc70] [c0000000003870d4] .ipr_ioa_reset_done+0x204/0x284 [c00000000fffbd10] [c00000000037d234] .ipr_reset_ioa_job+0xc4/0xec [c00000000fffbda0] [c000000000385ce0] .ipr_isr+0x208/0x484 [c00000000fffbe50] [c0000000000aaf3c] .handle_IRQ_event+0x58/0xd4 [c00000000fffbef0] [c0000000000ad978] .handle_fasteoi_irq+0x110/0x1ac [c00000000fffbf90] [c000000000025214] .call_handle_irq+0x1c/0x2c [c000000000a3f9a0] [c00000000000d168] .do_IRQ+0x120/0x210 [c000000000a3fa40] [c000000000004804] hardware_interrupt_entry+0x1c/0x98 --- Exception: 501 at .pseries_dedicated_idle_sleep+0xec/0x1cc LR = .pseries_dedicated_idle_sleep+0xdc/0x1cc [c000000000a3fd30] [c000000000038208] .pseries_dedicated_idle_sleep+0x74/0x1cc (unreliable) [c000000000a3fdd0] [c000000000012134] .cpu_idle+0x114/0x1dc [c000000000a3fe60] [c0000000004ecb18] .rest_init+0x7c/0x94 [c000000000a3fee0] [c000000000700a40] .start_kernel+0x4b8/0x4e0 [c000000000a3ff90] [c000000000008368] .start_here_common+0x1c/0x34 Instruction dump: e92d01b0 80090894 2f800000 41be002c 481ed1d1 60000000 2fa30000 419e0080 e93e8090 80090000 2f800000 409e0070 <0fe00000> 48000068 7fe3fb78 38800001 Signed-off-by: Mark Nelson Acked-by: Brian King Signed-off-by: James Bottomley commit f78badb1ae07e7f8b835ab2ea0b456ed3fc4caf4 Author: James Smart Date: Fri Dec 5 16:29:59 2008 -0600 [SCSI] fc transport: pre-emptively terminate i/o upon dev_loss_tmo timeout Pre-emptively terminate i/o on the rport if dev_loss_tmo has fired. The desire is to terminate everything, so that the i/o is cleaned up prior to the sdev's being unblocked, thus any outstanding timeouts/aborts are avoided. Also, we do this early enough such that the rport's port_id field is still valid. FCOE libFC code needs this info to find the i/o's to terminate. Signed-off-by: James Smart [michaelc@cs.wisc.edu: remove extra scsi_target_unblock call] Signed-off-by: Mike Christie Signed-off-by: James Bottomley commit 73208dfd7ab19f379d73e8a0fbf30f92c203e5e8 Author: Anirban Chakraborty Date: Tue Dec 9 16:45:39 2008 -0800 [SCSI] qla2xxx: add support for multi-queue adapter Following changes have been made. 1. qla_hw_data structure holds an array for request queue pointers, and an array for response queue pointers. 2. The base request and response queues are created by default. 3. Additional request and response queues are created at the time of vport creation. If queue resources are exhausted during vport creation, newly created vports use the default queue. 4. Requests are sent to the request queue that the vport was assigned in the beginning. 5. Responses are completed on the response queue with which the request queue is associated with. [fixup memcpy argument reversal spotted by davej@redhat.com] Signed-off-by: Anirban Chakraborty Signed-off-by: James Bottomley commit 85b4aa4926a50210b683ac89326e338e7d131211 Author: Robert Love Date: Tue Dec 9 15:10:24 2008 -0800 [SCSI] fcoe: Fibre Channel over Ethernet Encapsulation protocol for running Fibre Channel over Ethernet interfaces. Creates virtual Fibre Channel host adapters using libfc. This layer is the LLD to the scsi-ml. It allocates the Scsi_Host, utilizes libfc for Fibre Channel protocol processing and interacts with netdev to send/receive Ethernet packets. Signed-off-by: Robert Love Signed-off-by: James Bottomley commit 42e9a92fe6a9095bd68a379aaec7ad2be0337f7a Author: Robert Love Date: Tue Dec 9 15:10:17 2008 -0800 [SCSI] libfc: A modular Fibre Channel library libFC is composed of 4 blocks supported by an exchange manager and a framing library. The upper 4 layers are fc_lport, fc_disc, fc_rport and fc_fcp. A LLD that uses libfc could choose to either use libfc's block, or using the transport template defined in libfc.h, override one or more blocks with its own implementation. The EM (Exchange Manager) manages exhcanges/sequences for all commands- ELS, CT and FCP. The framing library frames ELS and CT commands. The fc_lport block manages the library's representation of the host's FC enabled ports. The fc_disc block manages discovery of targets as well as handling changes that occur in the FC fabric (via. RSCN events). The fc_rport block manages the library's representation of other entities in the FC fabric. Currently the library uses this block for targets, its peer when in point-to-point mode and the directory server, but can be extended for other entities if needed. The fc_fcp block interacts with the scsi-ml and handles all I/O. Signed-off-by: Robert Love [jejb: added include of delay.h to fix ppc64 compile prob spotted by sfr] Signed-off-by: James Bottomley commit f032c2f7cdaae0e8907cd3b26426fc651dc5c275 Author: Robert Love Date: Tue Dec 9 15:10:11 2008 -0800 [SCSI] FC protocol definition header files Signed-off-by: Robert Love Signed-off-by: James Bottomley commit 21465eda9eafa275ed11c27779d90aa95559b6f6 Author: Brian King Date: Mon Dec 8 17:01:47 2008 -0600 [SCSI] ibmvscsi: Don't fail EH due to insufficient resources The ibmvscsi driver currently has a bug in it which can result in it using up all its event structs for commands. If something results in all those commands timing out, we won't have any resources left to send aborts or resets. This results in escalating to a host reset in order to recover, which is a bit heavy handed. This fixes it by reducing can_queue by two in order to have resources to do EH. It also changes the max_requests module parameter so that it is not writable at runtime, since the code really does not handle it changing at runtime. Signed-off-by: Brian King Signed-off-by: James Bottomley commit 4d3fef9e69ac002f7531c377970449d1154fe884 Author: FUJITA Tomonori Date: Fri Dec 5 15:37:52 2008 +0900 [SCSI] scsi_transport_spi: fix the misuse of scsi_execute return value [jejb: fix rejections] Signed-off-by: FUJITA Tomonori Signed-off-by: James Bottomley commit ccc607f6d29def18a4c2a4aab31435a784754a64 Author: FUJITA Tomonori Date: Fri Dec 5 15:25:31 2008 +0900 [SCSI] st: convert st_int_ioctl to use st_scsi_kern_execute This replaces st_do_scsi in st_int_ioctl with st_scsi_kern_execute. Signed-off-by: FUJITA Tomonori Acked-by: Kai Makisara Signed-off-by: James Bottomley commit 7a31ec3c1ff1ceeb3aebe25e13def5ac4edd5dc4 Author: FUJITA Tomonori Date: Fri Dec 5 15:25:30 2008 +0900 [SCSI] st: convert get_location to use st_scsi_kern_execute This replaces st_do_scsi in get_location (READ_POSITION) with st_scsi_kern_execute. Signed-off-by: FUJITA Tomonori Acked-by: Kai Makisara Signed-off-by: James Bottomley commit 18c87015741d931875038789957db55b00661f5b Author: FUJITA Tomonori Date: Fri Dec 5 15:25:29 2008 +0900 [SCSI] st: convert write_mode_page to use st_scsi_kern_execute This replaces st_do_scsi in write_mode_page (MODE_SELECT) with st_scsi_kern_execute. Signed-off-by: FUJITA Tomonori Acked-by: Kai Makisara Signed-off-by: James Bottomley commit 8ecf0d994a8d3fb439e1efea6f60c22831bf69c8 Author: FUJITA Tomonori Date: Fri Dec 5 15:25:28 2008 +0900 [SCSI] st: convert read_mode_page to use st_scsi_kern_execute This replaces st_do_scsi in read_mode_page (MODE_SENSE) with st_scsi_kern_execute. Signed-off-by: FUJITA Tomonori Acked-by: Kai Makisara Signed-off-by: James Bottomley commit 52107b2c575d76bf210ff7e995128042594324ac Author: FUJITA Tomonori Date: Fri Dec 5 15:25:27 2008 +0900 [SCSI] st: convert check_tape to use st_scsi_kern_execute This replaces st_do_scsi in check_tape (READ_BLOCK_LIMITS and MODE_SENSE) with st_scsi_kern_execute. Signed-off-by: FUJITA Tomonori Acked-by: Kai Makisara Signed-off-by: James Bottomley commit 212cd8bfe12bb115e7bc9e119fe1411451829afb Author: FUJITA Tomonori Date: Fri Dec 5 15:25:26 2008 +0900 [SCSI] st: convert st_flush to use st_scsi_kern_execute This replaces st_do_scsi in st_flush (WRITE FILEMARKS) with st_scsi_kern_execute. Signed-off-by: FUJITA Tomonori Acked-by: Kai Makisara Signed-off-by: James Bottomley commit 39ade4b1acb685127d73b53814850d9c92084c9e Author: FUJITA Tomonori Date: Fri Dec 5 15:25:25 2008 +0900 [SCSI] st: convert cross_eof to use st_scsi_kern_execute This replaces st_do_scsi in cross_eof (SPACE) with st_scsi_kern_execute. Signed-off-by: FUJITA Tomonori Acked-by: Kai Makisara Signed-off-by: James Bottomley commit 15c920a6dc65ea0117bc5d4fd025d4b2eab13d59 Author: FUJITA Tomonori Date: Fri Dec 5 15:25:24 2008 +0900 [SCSI] st: convert do_load_unload to use st_scsi_kern_execute This replaces st_do_scsi in do_load_unload (START STOP) with st_scsi_kern_execute. Signed-off-by: FUJITA Tomonori Acked-by: Kai Makisara Signed-off-by: James Bottomley commit 3c0bf16c63a6ef69c9b3e90591e6179deacfa8f7 Author: FUJITA Tomonori Date: Fri Dec 5 15:25:23 2008 +0900 [SCSI] st: convert set_location to use st_scsi_kern_execute This replaces st_do_scsi in set_location (LOCATE 10) with st_scsi_kern_execute. Signed-off-by: FUJITA Tomonori Acked-by: Kai Makisara Signed-off-by: James Bottomley commit 0944a721ba5c2535b615f06afd3aaa2f18c69cb9 Author: FUJITA Tomonori Date: Fri Dec 5 15:25:22 2008 +0900 [SCSI] st: convert test_ready to use st_scsi_kern_execute This replaces st_do_scsi in test_ready (TEST_UNIT_READY) with st_scsi_kern_execute. Signed-off-by: FUJITA Tomonori Acked-by: Kai Makisara Signed-off-by: James Bottomley commit ffb4349499c00cd8ec90cb896599789cc00a7415 Author: FUJITA Tomonori Date: Fri Dec 5 15:25:21 2008 +0900 [SCSI] st: add st_scsi_kern_execute helper function st_scsi_kern_execute is a helper function to perform SCSI commands synchronously. It supports data transfer with a liner in-kernel buffer (not scatter gather). st_scsi_kern_execute internally uses scsi_execute(). The majority of st_do_scsi can be replaced with st_scsi_kern_execute. This is a preparation for rewriting st_do_scsi to remove obsolete scsi_execute_async(). Signed-off-by: FUJITA Tomonori Signed-off-by: James Bottomley commit 4deba245d0d6b2dc97cc4277c37f8519655d3afe Author: FUJITA Tomonori Date: Fri Dec 5 15:25:20 2008 +0900 [SCSI] st: move st_request initialization to st_allocate_request form st_do_scsi This moves st_request initialization code to st_allocate_request() form st_do_scsi(). This is a preparation for making st_allocate_request() usable for everyone, not only st_do_scsi(). Signed-off-by: FUJITA Tomonori Acked-by: Kai Makisara Signed-off-by: James Bottomley commit 5d2711c0ff9cdff79cd62d3c830e763d889e73de Author: James Smart Date: Thu Dec 4 22:40:12 2008 -0500 [SCSI] lpfc 8.3.0 : Update driver version to 8.3.0 Signed-off-by: James Smart Signed-off-by: James Bottomley commit 923e4b6a72e5643fb2373a62e8563827a51520dc Author: James Smart Date: Thu Dec 4 22:40:07 2008 -0500 [SCSI] lpfc 8.3.0 : Hook lpfc's debugfs into Kconfig Signed-off-by: James Smart Signed-off-by: James Bottomley commit e2a0a9d69ce224c6f5b72515d81150e6bf4a905a Author: James Smart Date: Thu Dec 4 22:40:02 2008 -0500 [SCSI] lpfc 8.3.0 : Add BlockGuard support (T10-DIF) code Add SCSI data path, error handling, and debugfs code to complete BlockGuard support. Signed-off-by: James Smart Signed-off-by: James Bottomley commit 81301a9b05c3690bf32bf4ef37d941f0f870a7ba Author: James Smart Date: Thu Dec 4 22:39:46 2008 -0500 [SCSI] lpfc 8.3.0 : Add BlockGuard support (T10-DIF) structs and defs Update struct definitions, #defines, sysfs entries, and initialization to support BlockGuard. Signed-off-by: James Smart Signed-off-by: James Bottomley commit 9f1e1b50ab43a281dbc75c25f11e1926a9ea367a Author: James Smart Date: Thu Dec 4 22:39:40 2008 -0500 [SCSI] lpfc 8.3.0 : Fix some memory handling issues - Fix mailbox buffer leak on dump mailbox completion - Fix mbuf leak in lpfc_pci_probe_one() SLI-2 mode error path - Don't allocate HBQs in interrupt context - Use correct size for FCP response buffer so that all available sense data is copied - Fix jiffies calculation to prevent crash when collecting statistical data Signed-off-by: James Smart Signed-off-by: James Bottomley commit 5b75da2fa2c9570c3c3dbb2f63cae5b4183e0ca3 Author: James Smart Date: Thu Dec 4 22:39:35 2008 -0500 [SCSI] lpfc 8.3.0 : Add active interrupt test for enabling MSI/MSI-X/INTx Per the recent discussions at the Linux Plumbers Conference, when enabling MSI or MSI-X, generate a test interrupt to verify the interrupt routing is working properly. If the test interrupt fails, fall back to MSI first, and if that fails as well, to INTx. If the interrupt test fails with INTx, log an error and fail the PCI probe. Also changed the use of spin_(lock|unlock) to the _irq(save|restore) variants in the interrupt handlers because with multi-message MSI-X, both interrupt handlers can now run in parallel. Signed-off-by: James Smart Signed-off-by: James Bottomley commit eaf15d5b5605e1a403f631489de30a49fd66905d Author: James Smart Date: Thu Dec 4 22:39:29 2008 -0500 [SCSI] lpfc 8.3.0 : Fix several minor issues - Avoid polling HBA Error Attention when HBA's PCI channel is offline due to PCI EEH - Fix handling of RSCN with non-zero event qualifiers - Remove unnecessary sleeps during HBA initialization which slow down driver load - Fix internal and external loopback on FCoE HBAs - Fix incorrect decrement of cmd_pending count in lpfc_queuecomand error path - Fix reporting of port busy events to management application - Rename lpfc_adjust_queue_depth() to lpfc_rampdown_queue_depth() for consistency with its partner lpfc_rampup_queue_depth() - Delete redundant lpfc_cmd->start_time = jiffies assignment in lpfc_queuecommand() - Fix handling for ELS, mailbox and heartbeat time outs in the worker thread by removing unnecessary checking of the work_port_events flags. - Fix NULL pointer dereference in lpfc_prep_els_iocb - In lpfc_device_recov_npr_node(), move clearing of NLP_NPR_2B_DISC flag after call to lpfc_cancel_retry_delay_tmo() to keep targets-in-discovery count correct - Remove lpfc_probe_one()'s call to scsi_scan_host() which could cause concurrent SCSI scans to step on each other Signed-off-by: James Smart Signed-off-by: James Bottomley commit 8f34f4cea3234ae347c4b0ffa302ffb85f140838 Author: James Smart Date: Thu Dec 4 22:39:23 2008 -0500 [SCSI] lpfc 8.3.0 : Fix issue with assumed Interrupt Enable Block support The phba hbq_get address was setup before the HBA reported support for Interrupt Enable Block (INB). This caused loopback tests to fail after all HBQs had been used once. Moved setting of hba_get until after config port mailbox command completes. Signed-off-by: James Smart Signed-off-by: James Bottomley commit 97207482fcdd120a60a44e9eb6bbad8da6f81c9d Author: James Smart Date: Thu Dec 4 22:39:19 2008 -0500 [SCSI] lpfc 8.3.0 : Added 3 small features and improve PCI EEH support - Added FC_REG_VPORTRSCN_EVENT to lpfc_nl.h - Added code to provide option ROM version from HBA and via sysfs - Added support for HPS bit in config port mailbox command to tell HBA that host group pointers are in host memory. - Bugfix for Extended Error Handling (EEH) support on IBM PowerPC P6 platform with MSI enabled Signed-off-by: James Smart Signed-off-by: James Bottomley commit eada272dfc32ba3dcd33e7ca5875337defb13c54 Author: James Smart Date: Thu Dec 4 22:39:13 2008 -0500 [SCSI] lpfc 8.3.0 : Fix multiple NPIV issues - Fix lock up on rmmod with vports defined by having lpfc_pci_remove_one() invoke fc_vport_terminate() to remove all the vports before invoking fc_remove_host() for the physical port - Fix echotest failure when NPIV is enabled - Add the vport_disable function to the physical port's transport template to make the vport disable attribute visible - Set the vport state to DISABLE on create if the disable flag is true - Call lpfc_alloc_sysfs_attr() for vports so that statistical data collection works on them - Support setting a vport's symbolic name via sysfs by writing to /sys/class/fc_vport/vportX/symbolic_name - Fix create vport fails when link is down or in loop mode. Should be able to be create vports any time NPIV is enabled - Fix slow vport deletes when deleting multiple vports at once Signed-off-by: James Smart Signed-off-by: James Bottomley commit 109f6ed05aadb7dd1cc9671a63603658d3ba518e Author: James Smart Date: Thu Dec 4 22:39:08 2008 -0500 [SCSI] lpfc 8.3.0 : Fix system crash due to uninitialized node access In the IOCB completion handler, always check if the node is valid before accessing the node object. Added lpfc_initialize_node() to initialize nodes. Signed-off-by: James Smart Signed-off-by: James Bottomley commit 9bad76719ee4fa8c305bb6cba6e19b4ddbe800b2 Author: James Smart Date: Thu Dec 4 22:39:02 2008 -0500 [SCSI] lpfc 8.3.0 : Add kernel-doc headers to lpfc_scsi.c Add kernel-doc function headers to lpfc_scsi.c Signed-off-by: James Smart Signed-off-by: James Bottomley commit 3a55b5327b80d805eb3c9720092fd24f15193696 Author: James Smart Date: Thu Dec 4 22:38:54 2008 -0500 [SCSI] lpfc 8.3.0 : Add support for Power Management Suspend/Resume operations Implement lpfc_pci_suspend_one() and lpfc_pci_resume_one() and register them in the pci_driver table. Signed-off-by: James Smart Signed-off-by: James Bottomley commit ddcc50f0f3538e4771c8ab9e8ec685a22c90d88c Author: James Smart Date: Thu Dec 4 22:38:46 2008 -0500 [SCSI] lpfc 8.3.0 : Rework RSCN netlink event to send entire RSCN payload Rework RSCN netlink event to send entire RSCN payload Also replaces (SCSI_NL_VID_TYPE_PCI | PCI_VENDOR_ID_EMULEX) with LPFC_NL_VENDOR_ID Signed-off-by: James Smart Signed-off-by: James Bottomley commit 5cd3bbfad088f86bde3e0f038ff4dd5bb0ac5290 Author: FUJITA Tomonori Date: Fri Dec 5 11:21:46 2008 +0900 [SCSI] retry with missing data for INQUIRY This patch changes scsi_probe_lun() to retry INQUIRY if the device has not actually sent back any INQUIRY data, This enables the Thecus N2050 storage device to work better. The firmware on that device starts up strangely; it sends no data in response to the initial INQUIRY, and it sends the INQUIRY information in response to the followup REQUEST SENSE. But after that it works better, so retrying the INQUIRY is enough to get it going. Signed-off-by: FUJITA Tomonori Signed-off-by: James Bottomley commit f4f4e47e4af6b02dd1c425b931c65d0165356e33 Author: FUJITA Tomonori Date: Thu Dec 4 14:24:39 2008 +0900 [SCSI] add residual argument to scsi_execute and scsi_execute_req scsi_execute() and scsi_execute_req() discard the residual length information. Some callers need it. This adds residual argument (optional) to scsi_execute and scsi_execute_req. Signed-off-by: FUJITA Tomonori Signed-off-by: James Bottomley commit a528ab7a324f1dbb3598ae0ecd238ab7dd974294 Author: Brian King Date: Wed Dec 3 11:02:56 2008 -0600 [SCSI] ibmvfc: Fix errors due to inconsistent command data In order to ensure the VIOS sees a consistent command buffer, we need to add a memory barrier after building the command buffer but before sending the command. Signed-off-by: Brian King Signed-off-by: James Bottomley commit 1c41fa8288277e76785acb50f52bb2f39509f903 Author: Brian King Date: Wed Dec 3 11:02:54 2008 -0600 [SCSI] ibmvfc: Delay NPIV login retry and add retries Adds a delay prior to retrying a failed NPIV login. This fixes a scenario if the backing fibre channel adapter is getting reset due to an EEH event, NPIV login will fail. Currently, ibmvfc retries three times very quickly, resets the CRQ and tries one more time. If the adapter is getting reset due to EEH, this isn't enough time. This adds a delay prior to retrying a failed NPIV login and also increments the number of retries. Signed-off-by: Brian King Signed-off-by: James Bottomley commit 6df19a791bdd5d820cccd8c7a12679888ae62099 Author: Mike Christie Date: Tue Dec 2 00:32:16 2008 -0600 [SCSI] libiscsi_tcp: support padding offload cxgb3i does not offload the processing of the header, but it will always process the padding. This patch adds a padding offload flag to detect when the LLD supports this. The patch also modifies the header processing so that we do not try to read/bypass the header dugest in the skb. cxgb3i will not include it with the header like with other offload cards. Signed-off-by: Mike Christie Signed-off-by: James Bottomley commit ae15f80172d95f978b60d40408353943d5bc099b Author: Mike Christie Date: Tue Dec 2 00:32:15 2008 -0600 [SCSI] libiscsi: handle init task failures. Mgmt setup used to not fail so we did not have to check the return value. Now with cxgb3i it can so this has us pass up a error. Signed-off-by: Mike Christie Signed-off-by: James Bottomley commit 2ff79d52d56eebcffd83e9327b89d7daedf1e897 Author: Mike Christie Date: Tue Dec 2 00:32:14 2008 -0600 [SCSI] libiscsi: pass opcode into alloc_pdu callout We do not need to allocate a itt for data_out, so this passes the opcode to the alloc_pdu callout. Signed-off-by: Mike Christie Signed-off-by: James Bottomley commit 262ef63627977acb7d8dd38c4f0f290bf49fbbfd Author: Mike Christie Date: Tue Dec 2 00:32:13 2008 -0600 [SCSI] libiscsi: allow drivers to modify the itt sent to the target bnx2i and cxgb3i need to encode LLD info in the itt so that the firmware/hardware can process the pdu. This patch allows the LLDs to encode info in the task->hdr->itt that they setup in the alloc_pdu callout (any resources that are allocated can be freed with the pdu in the cleanup_task callout). If the LLD encodes info in the itt they should implement a parse_pdu_itt callout. If parse_pdu_itt is not implemented libiscsi will do the right thing for the LLD. Signed-off-by: Mike Christie Signed-off-by: James Bottomley commit 38e1a8f5479d7d75a68d797c7159f5b7e2ef44e4 Author: Mike Christie Date: Tue Dec 2 00:32:12 2008 -0600 [SCSI] iscsi_tcp: hook iscsi_tcp into new libiscsi_tcp module This hooks iscsi_tcp into the libiscsi_tcp module and removes code that is now in libiscsi_tcp. Signed-off-by: Mike Christie Signed-off-by: James Bottomley commit a081c13e39b5c17052a7b46fafa61019c4c110ff Author: Mike Christie Date: Tue Dec 2 00:32:11 2008 -0600 [SCSI] iscsi_tcp: split module into lib and lld As explained in the previous mails, cxgb3i needs iscsi_tcp's r2t/data_out and data_in procesing so this just moves functions that both drivers want to use to a new module libiscsi_tcp. The next patch will hook iscsi_tcp in. Signed-off-by: Mike Christie Signed-off-by: James Bottomley commit 30b4915015c112547e930cadf734d875aec8438d Author: Mike Christie Date: Tue Dec 2 00:32:10 2008 -0600 [SCSI] iscsi_tcp: add iscsi_tcp prefix to iscsi_tcp functions Add iscsi_tcp prefix to most functions. Some are not changed becuase they are going to move in the next patch. Signed-off-by: Mike Christie Signed-off-by: James Bottomley commit cfeb2cf957ca5b4e557b53fb91ccc52f442f6dbe Author: Mike Christie Date: Tue Dec 2 00:32:09 2008 -0600 [SCSI] libiscsi: change login data buffer allocation This modifies the login buffer allocation to use __get_free_pages. It will allow drivers that want to send this data with zero copy operations to easily line things up on page boundaries. Signed-off-by: Mike Christie Signed-off-by: James Bottomley commit e2bac7c55e43c9018f2f4daf15437e836b26e709 Author: Mike Christie Date: Tue Dec 2 00:32:08 2008 -0600 [SCSI] iscsi_tcp: remove unused r2t handling libiscsi's iscsi_prep_data_out_pdu now handles what iscsi_tcp's helpers were so we can remove iscsi_tcp's helpers. Signed-off-by: Mike Christie Signed-off-by: James Bottomley commit e5a7efeffdcc3062ade5208d16c278d8d484f82a Author: Mike Christie Date: Tue Dec 2 00:32:07 2008 -0600 [SCSI] iscsi_tcp: convert to new alloc_hdr api This converts iscsi_tcp to the new api and modifies how it handles r2ts. Signed-off-by: Mike Christie Signed-off-by: James Bottomley commit 0f9c7449ce050759d10424048b96d1bd0d59dcc1 Author: Mike Christie Date: Tue Dec 2 00:32:06 2008 -0600 [SCSI] iser: convert iser to new alloc_pdu api This just converts iser to new alloc_pdu api. It still preallocates the pdu, so there is no difference. Signed-off-by: Mike Christie Signed-off-by: James Bottomley commit 577577da6d197ea3dcf3ee19c4f902fbd3a9390a Author: Mike Christie Date: Tue Dec 2 00:32:05 2008 -0600 [SCSI] libiscsi: prepare libiscsi for new offload engines by modifying unsol data code cxgb3i offloads data transfers. It does not offload the entire scsi/iscsi procssing like qla4xxx and it does not offload the iscsi sequence processing like how bnx2i does. cxgb3i relies on iscsi_tcp for the seqeunce handling so this changes how we transfer unsolicitied data by adding a common r2t struct and helpers. Signed-off-by: Mike Christie Signed-off-by: James Bottomley commit 63c62f1cb980241513c82cacd5b9f878527c6647 Author: Mike Christie Date: Tue Dec 2 00:32:04 2008 -0600 [SCSI] iscsi_tcp: prepare helpers for LLDs that can offload some operations cxgb3i is unlike qla4xxx and bnx2i in that it does not offload entire scsi commands or iscsi sequences. Instead it only offloads the transfer of a ISCSI DATA_IN pdu's data, the digests and padding. This patch fixes up the iscsi tcp recv path so that it exports its skb recv processing so cxgb3i and other drivers can call them. All they have to do is pass the function the skb with the hdr or data pdu header and this function will do the rest. Signed-off-by: Mike Christie Signed-off-by: James Bottomley commit b29f841378460c37e99a2398d0015d9bd7901a09 Author: James Bottomley Date: Sun Nov 30 10:39:01 2008 -0600 [SCSI] remove timeout from struct scsi_device by removing the unused timeout parameter we ensure a compile failure if anyone is accidentally still using it rather than the block timeout. Signed-off-by: James Bottomley commit a02488ed73488f316aa00eb973407f4229c6c2bf Author: James Bottomley Date: Sun Nov 30 10:36:26 2008 -0600 [SCSI] st: update to use block timeout Since we're trying to eliminate struct scsi_device timeout, the tape driver has to be updated to use the block queue timeout instead. The tape use of scsi_device timeout looks to be self consistent, so I don't think this necessarily fixes any bug, but it has to be done to allow me to remove the timeout parameter from struct scsi_device. Acked-by: Kai Makisara Signed-off-by: James Bottomley commit da244654c66e78e03668863974ec74c981934c38 Author: Finn Thain Date: Mon Nov 17 21:37:45 2008 +0100 [SCSI] mac_esp: fix for quadras with two esp chips On the Quadra 900 and 950 there are two ESP chips sharing one IRQ. Because the shared IRQ is edge-triggered, we must make sure that an IRQ transition from one chip doesn't go unnoticed when the shared IRQ is already active due to the other. This patch prevents interrupts getting lost so that both SCSI busses may be used simultaneously. Signed-off-by: Finn Thain Signed-off-by: Geert Uytterhoeven Signed-off-by: James Bottomley commit 09e13e91670b69736b5da0a869a076a55a326394 Author: Finn Thain Date: Mon Nov 17 21:37:07 2008 +0100 [SCSI] m68k: mac_esp asm fix Fix asm constraints and arguments so as not to transfer an odd byte when there may be more words to transfer. The bug would probably also cause exceptions sometimes by transferring one too many bytes. Signed-off-by: Finn Thain Signed-off-by: Geert Uytterhoeven Signed-off-by: James Bottomley commit 749af3d54a6d5619088ecadb1010c6ab7766f519 Author: Anirban Chakraborty Date: Fri Nov 14 13:48:12 2008 -0800 [SCSI] qla2xxx: Code changes for vport bus reset The following patch changes the handling of bus reset when issued from a vport. In the bus reset code, an extra check is made to make sure that the lip reset is not done before resetting the targets if the bus reset came from a vport. Signed-off-by: Anirban Chakraborty Signed-off-by: James Bottomley commit b60af5b0adf0da24c673598c8d3fb4d4189a15ce Author: Alan Stern Date: Mon Nov 3 15:56:47 2008 -0500 [SCSI] simplify scsi_io_completion() This patch (as1142b) consolidates a lot of repetitious code in scsi_io_completion(). It also fixes a few comments. Most importantly, however, it clearly distinguishes among the three sorts of retries that can be done when a command fails to complete: Unprepare the request and resubmit it, so that a new command will be created for it. Requeue the request directly so that it will be retried immediately using the same command. Requeue the request so that it will be retried following a short delay. Complete the remainder of the request with an I/O error. [jejb: Updates 1. For several error conditions, we would now print the sense twice in slightly different ways, so unify the location of sense printing. 2. I added more descriptions to actual failure conditions for better debugging 3. according to spec, ABORTED_COMMAND is supposed to be retried (except on DIF failure). Our old behaviour of erroring it looks to be a bug. 4. I'd prefer not to default initialise the action variable because that ensures that every leg of the error handler has an associated action and the compiler will warn if someone later accidentally misses one or removes one. ] Signed-off-by: Alan Stern Signed-off-by: James Bottomley commit 67e6d58d812ec3e95918266076d4c836cdec849a Author: Brian King Date: Fri Nov 14 13:33:54 2008 -0600 [SCSI] ibmvfc: Driver version 1.0.4 Bump driver version Signed-off-by: Brian King Signed-off-by: James Bottomley commit 646d3857b95e8e310aae7a4594f43d7f3b100a1f Author: Brian King Date: Fri Nov 14 13:33:53 2008 -0600 [SCSI] ibmvfc: Handle port login required response The virtual fibre channel stack can return a failure response for a command indicating the port login has been invalidated without sending the client an async event. Add code to handle this response and initiate a PLOGI. Signed-off-by: Brian King Signed-off-by: James Bottomley commit 5919ce29085f4ca080054fde5feef8f8b3405261 Author: Brian King Date: Fri Nov 14 13:33:52 2008 -0600 [SCSI] ibmvfc: Fix command timeouts due to cached CRQ access The CRQs used by the ibmvfc driver are read and written by both the client and the server. Therefore, we need to mark them volatile so that we do not cache their contents when handling an interrupt. This fixes a problem which can surface as occasional command timeouts. No commands were actually timing out, but due to accessing cached data for the CRQ in the interrupt handler, the interrupt was not processing all command completions as it should. Signed-off-by: Brian King Signed-off-by: James Bottomley commit 4081b77c3a86151d2eaeed9d568a34dd0982ed52 Author: Brian King Date: Fri Nov 14 13:33:50 2008 -0600 [SCSI] ibmvfc: Fix oops in interrupt handler Fixes an oops that can occur in the interrupt handler if we get a lot of async events. Signed-off-by: Brian King Signed-off-by: James Bottomley commit 273c4781529ef1bc901a27208736b0ccabd52178 Author: Babu Moger Date: Mon Nov 10 16:17:48 2008 -0700 [SCSI] scsi_dh_rdac: Add LSI vendor and product ids in rdac device list [jejb: fixed whitespace damage] Signed-off-by: Babu Moger Signed-off-by: James Bottomley commit dd7c34e9a27be521d480e5b84c84e92de2ea7b95 Author: Julia Lawall Date: Sun Nov 9 17:55:27 2008 +0100 [SCSI] fusion: use ARRAY_SIZE ARRAY_SIZE is more concise to use when the size of an array is divided by the size of its type or the size of its first element. Signed-off-by: Julia Lawall Acked-by: "Prakash, Sathya" Signed-off-by: James Bottomley commit ef661c5e8f2b6846f6d2dab98b5bffdefbfce477 Author: Randy Dunlap Date: Wed Oct 29 22:35:16 2008 -0700 [SCSI] fusion: remove excess kernel-doc notation Remove excess kernel-doc function parameter notation: Warning(drivers/message/fusion/mptbase.c:964): Excess function parameter or struct member 'handle' description in 'mpt_free_msg_frame' Warning(drivers/message/fusion/mptbase.c:5434): Excess function parameter or struct member 'portnum' description in 'mpt_findImVolumes' Warning(drivers/message/fusion/mptbase.c:6949): Excess function parameter or struct member 'mr' description in 'mpt_spi_log_info' Signed-off-by: Randy Dunlap cc: Eric.Moore@lsi.com Signed-off-by: James Bottomley commit c51da4ecb03a4513996e64dd9500a9d5ca812523 Author: Anirban Chakraborty Date: Mon Nov 10 15:53:20 2008 -0800 [SCSI] qla2xxx: Fix for build warning drivers/scsi/qla2xxx/qla_os.c: In function 'qla2x00_probe_one': drivers/scsi/qla2xxx/qla_os.c:1582: warning: 'mem_only' is used uninitialized in this function Reported-by: Stephen Rothwell Signed-off-by: Anirban Chakraborty Signed-off-by: James Bottomley commit e315cd28b9ef0d7b71e462ac16e18dbaa2f5adfe Author: Anirban Chakraborty Date: Thu Nov 6 10:40:51 2008 -0800 [SCSI] qla2xxx: Code changes for qla data structure refactoring Following changes have been made: 1. Outstanding commands are based on a request queue, scsi_qla_host does not maintain it anymore. 2. start_scsi is accessed via isp_ops struct instead of direct invocation. 3. Interrupt registrations are done using response queue instead of device id. Signed-off-by: Anirban Chakraborty Signed-off-by: James Bottomley commit 7b867cf76fbcc8d77867cbec6f509f71dce8a98f Author: Anirban Chakraborty Date: Thu Nov 6 10:40:19 2008 -0800 [SCSI] qla2xxx: Refactor qla data structures Following changes have been made to the qla2xxx FC driver in preparation for the multi- queue and future SR IOV hardware. 1. scsi_qla_host structure has been changed to contain scsi host specific data only. 2. A new structure, qla_hw_data is created to contain HBA specific hardware data. 3. Request and response IO specific data strucures are created. 4. The global list of fcports for the hba is not maintained anymore, instead a fcport list is construted on per scsi_qla_host. Signed-of-by: Anirban Chakraborty Signed-off-by: James Bottomley commit a9b589d90e3d7748dae459031c2d912cd9e83c88 Author: Vladislav Bolkhovitin Date: Thu Nov 6 13:57:52 2008 +0300 [SCSI] scsi_error: TASK ABORTED status handling improvement This patch improves handling of TASK ABORTED status by Linux SCSI mid-layer. Currently, command returned with this status considered failed and returned to upper layers. It leads to additional error recovery load on file systems and block layer, which sometimes can cause undesired side effects, like I/O errors and file systems corruptions. See http://lkml.org/lkml/2008/11/1/38, for instance. From other side, TASK ABORTED status is returned by SCSI target if the corresponding command was aborted by another initiator and the target has TAS bit set in the control mode page. So, in the majority of cases commands with TASK ABORTED status should be simply retried. In other cases, maybe_retry path will not retry if no retries are allowed. This patch implement suggestion by James Bottomley from http://marc.info/?l=linux-scsi&m=121932916906009&w=2. Signed-off-by: Vladislav Bolkhovitin Signed-off-by: James Bottomley commit c85f8cb9254e60cd25a094329c9dc9185c2140e7 Author: Chandra Seetharaman Date: Wed Nov 5 20:06:37 2008 -0800 [SCSI] scsi_dh: Retry mode select in rdac device handler When the mode select sent to the controller fails with the retryable error, it is better to retry the mode_select from the hardware handler itself, instead of propagating the failure to dm-multipath. Signed-off-by: Chandra Seetharaman Signed-off-by: James Bottomley commit 9eece961fc646e2652086dae42650d002e2d27e2 Author: Chandra Seetharaman Date: Wed Nov 5 20:05:21 2008 -0800 [SCSI] scsi_dh: Make sure the state of a path is set properly when controller is swapped from passive to active When the controller ownership is changed (from passive to active), check_ownership() doesn't set the state of the device to ACTIVE. Signed-off-by: Chandra Seetharaman Reported-by: "Moger, Babu" Signed-off-by: James Bottomley commit 4a8ab87baf8d424de99234fdfae35db6a414ffd2 Author: Ilpo Järvinen Date: Thu Oct 30 13:00:57 2008 +0200 [SCSI] scsi_error: fix indentation and braces disagreement - add braces ...and the list of recent breakage goes on and on, this time it's 242f9dcb8ba6f (block: unify request timeout handling) which broke it. Signed-off-by: Ilpo Järvinen Acked-by: Jens Axboe Signed-off-by: James Bottomley commit 66aa5745f6fe328f0166f91b523df864b17fb8f1 Author: Ilpo Järvinen Date: Thu Oct 30 12:58:38 2008 +0200 [SCSI] tmscsim: fix indentation and braces disagreement - add braces Lucky winner is 557cc476c04 ([SCSI] tmscsim: Fixup KERN_INFO in printk). Signed-off-by: Ilpo Järvinen Acked-by: Guennadi Liakhovetski Signed-off-by: James Bottomley commit 8d6dda7f0ce53c55ec14eb5eaa360d549641586b Author: roel kluin Date: Wed Oct 29 14:24:47 2008 -0700 [SCSI] u14-34f: fix scsi_dma_map failure case When unsigned, scsi_dma_map may return -ENOMEM without triggering BUG_ON() Signed-off-by: Roel Kluin Signed-off-by: Andrew Morton Signed-off-by: James Bottomley commit 237abac6ff093aa5cb64faf6f632c479e00a67be Author: Julia Lawall Date: Wed Oct 29 14:24:40 2008 -0700 [SCSI] esp_scsi: Use DIV_ROUND_UP Use the macro DIV_ROUND_UP and eliminate the variable rounded_up, as suggested by Matthew Wilcox. Signed-off-by: Julia Lawall Cc: David Miller Reviewed-by: Matthew Wilcox Signed-off-by: Andrew Morton Signed-off-by: James Bottomley commit 973b73605cc2ac1f51457809c5f1f1f8ab760c47 Author: Brian King Date: Wed Oct 29 08:46:49 2008 -0500 [SCSI] ibmvfc: Driver version 1.0.3 Bump driver version. Signed-off-by: Brian King Signed-off-by: James Bottomley commit 50ed9a005dc0846685f57c637436ee28e404368d Author: Brian King Date: Wed Oct 29 08:46:47 2008 -0500 [SCSI] ibmvfc: Quiet gcc warning in ibmvfc_reset_device Stops gcc from complaining about a possible uninitialized variable being used in ibmvfc_reset_device. Signed-off-by: Brian King Signed-off-by: James Bottomley commit 10e794996ed00a0f09ff0745f87e3a3dd5de4606 Author: Brian King Date: Wed Oct 29 08:46:45 2008 -0500 [SCSI] ibmvfc: Fix target initialization failure retry handling If the ibmvfc driver is in discovery attempting to log into a target and it encounters an error, the command may get retried one or more times, depending on the error received. If the retries are unsuccessful such that the discovery thread gives up on discovery to that target, the target ends up in a state where, if SCSI core had previously known about the device, the host will get unblocked but the host will not be logged into the target, causing any commands sent to the target to fail. This patch fixes this so that if this occurs, the target is deleted such that the normal dev_loss processing can occur instead. Signed-off-by: Brian King Signed-off-by: James Bottomley commit ad8dcffaf9bc1d7eb86dabf591e95f4ffb86cf1b Author: Brian King Date: Wed Oct 29 08:46:41 2008 -0500 [SCSI] ibmvfc: Error handling fixes Due to an ambiguity in the VIOS VFC interface specification, abort/cancel handling is not done correctly and can result in double completion of commands. In order to cancel all outstanding commands to a device, a cancel must be sent, followed by an abort task set. After the responses are received for these commands, there may still be commands outstanding, in the process of getting flushed back, in which case, we need to wait for them. This patch removes the assumption that if the abort and the cancel both complete successfully that the device queue has been flushed and waits for all the responses to come back. Signed-off-by: Brian King Signed-off-by: James Bottomley commit 50119dad2a6c2674f35d81e708822b40f65f40cb Author: Brian King Date: Wed Oct 29 08:46:36 2008 -0500 [SCSI] ibmvfc: Fix error reporting for some FC errors If either a "transport fault" or a "general transport" error is received and no other error information is available, the command is improperly returned as successful. Fix this to return DID_ERROR in this case. Signed-off-by: Brian King Signed-off-by: James Bottomley commit 596891acd774f515c2a43adda9322d6a9b2b51b9 Author: Brian King Date: Wed Oct 29 08:46:33 2008 -0500 [SCSI] ibmvfc: Fix log level filtering The ibmvfc log level filtering logic was reversed. The log_level scsi host parameter should result in more verbose logs when log_level is larger, not smaller. Signed-off-by: Brian King Signed-off-by: James Bottomley commit fa195afe4ad3f6d85a9b7cc236ae85c05ca8db03 Author: Alan Cox Date: Mon Oct 27 15:16:36 2008 +0000 [SCSI] Clean up my email address and use a single standard address for everything Signed-off-by: Alan Cox Signed-off-by: James Bottomley commit e98991130df36bc429f341a2f21519c39c52afe3 Author: FUJITA Tomonori Date: Thu Oct 23 17:36:08 2008 +0900 [SCSI] aacraid: check pci_alloc_consistent errors We need to check the address that pci_alloc_consistent() returns since it might fail. When pci_alloc_consistent() fails, some IOMMUs set the dma_handle argument to zero. So we can't use fibptr->hw_fib_pa directly here. Signed-off-by: FUJITA Tomonori Cc: Aacraid List Signed-off-by: James Bottomley commit 25729a7fb88ef2912fcb869abe3a76b3be07fc06 Author: Arjan van de Ven Date: Sun Sep 28 16:18:02 2008 -0700 [SCSI] advansys, arcmsr, ipr, nsp32, qla1280, stex: use pci_ioremap_bar() Use the newly introduced pci_ioremap_bar() function in drivers/scsi. pci_ioremap_bar() just takes a pci device and a bar number, with the goal of making it really hard to get wrong, while also having a central place to stick sanity checks. Signed-off-by: Arjan van de Ven Acked-by: Matthew Wilcox Cc: Brian King Cc: Ed Lin Cc: Nick Cheng Signed-off-by: James Bottomley commit decf67e31e855963f4616912d9bc5b1c339d810a Author: Randy Dunlap Date: Wed Oct 22 16:37:13 2008 -0700 [SCSI] scsi ioctl: fix kernel-doc warning Fix kernel-doc parameter warning and correct the function name: Warning(linux-next-20081022//drivers/scsi/scsi_ioctl.c:281): No description found for parameter 'ndelay' Signed-off-by: Randy Dunlap Signed-off-by: James Bottomley commit 824877111cd7f2b4fd2fe6947c5c5cbbb3ac5bd8 Author: Jaswinder Singh Rajput Date: Sat Dec 27 18:32:28 2008 +0530 x86, pci: move arch/x86/pci/pci.h to arch/x86/include/asm/pci_x86.h Impact: cleanup Now that arch/x86/pci/pci.h is used in a number of other places as well, move the lowlevel x86 pci definitions into the architecture include files. (not to be confused with the existing arch/x86/include/asm/pci.h file, which provides public details about x86 PCI) Tested on: X86_32_UP, X86_32_SMP and X86_64_SMP Signed-off-by: Jaswinder Singh Rajput Acked-by: Jesse Barnes Signed-off-by: Ingo Molnar commit c854c91979e0717c619bc55e124d41d60d5eb3d6 Author: Jaswinder Singh Rajput Date: Mon Dec 29 20:38:09 2008 +0530 x86_64: pci-gart_64.c iommu_fullflush should be static Impact: cleanup, reduce kernel size a bit, avoid sparse warning Fixes sparse warning: arch/x86/kernel/pci-gart_64.c:55:5: warning: symbol 'iommu_fullflush' was not declared. Should it be static? Signed-off-by: Jaswinder Singh Rajput Signed-off-by: Ingo Molnar commit cbafbc826bf645f7fbbfbb2ff20138e5ccb4700e Author: Jaswinder Singh Rajput Date: Mon Dec 29 20:36:40 2008 +0530 x86: efi.c declare add_efi_memmap before they get used Impact: cleanup, avoid sparse warning Fixes this sparse warning: arch/x86/kernel/efi.c:67:5: warning: symbol 'add_efi_memmap' was not declared. Should it be static? Signed-off-by: Jaswinder Singh Rajput Signed-off-by: Ingo Molnar commit 7f3e632f9d8d234819bcdef7a68fc8b84f7d3d3d Author: Jaswinder Singh Rajput Date: Mon Dec 29 20:34:35 2008 +0530 x86: io_apic.c io_apic_sync should be static Impact: cleanup, reduce kernel size a bit, avoid sparse warning Fixes sparse warning: arch/x86/kernel/io_apic.c:709:6: warning: symbol 'io_apic_sync' was not declared. Should it be static? Signed-off-by: Jaswinder Singh Rajput Signed-off-by: Ingo Molnar commit a1ae299dfb6ef219b296b61d1f222732391973b5 Author: Jaswinder Singh Rajput Date: Mon Dec 29 20:32:52 2008 +0530 x86: apic.c declare pic_mode before they get used Impact: cleanup, avoid sparse warning In asm/mpspec.h moved out pic_mode from CONFIG_X86_32 as it is common for both 32 and 64 bit. Fixes this sparse warning for x86_64: arch/x86/kernel/apic.c:128:5: warning: symbol 'pic_mode' was not declared. Should it be static? Signed-off-by: Jaswinder Singh Rajput Signed-off-by: Ingo Molnar commit 300157768f050dabc73a99d958b504282088a132 Author: Robert Richter Date: Tue Dec 23 01:35:12 2008 +0100 oprofile: reordering some code in cpu_buffer.c Reordering code to keep alloc/free functions together. Signed-off-by: Robert Richter commit 83bd9243956f30d91851b272988a237999b35b10 Author: Robert Richter Date: Mon Dec 15 15:09:50 2008 +0100 x86/oprofile: fix pci_dev use count for AMD northbridge devices This patch fixes the PCI device use count for AMD northbridge devices. In case of an IBS LVT initialization failure, the PCI device is released now by calling pci_dev_put(). If there are no initialization errors, the devices are released in pci_get_device() while iterating. Signed-off-by: Robert Richter commit 9966718daee592fbdc523703b2d8200009642506 Author: Robert Richter Date: Tue Dec 16 16:19:54 2008 +0100 oprofile: remove ring buffer inline functions in cpu_buffer.h This patch moves ring buffer inline functions to cpu_buffer.c. Cc: Andrew Morton Signed-off-by: Robert Richter commit 6d2c53f3cd81e33eec17aa99845d43e599986982 Author: Robert Richter Date: Wed Dec 24 16:53:53 2008 +0100 oprofile: rename cpu buffer functions This patch renames cpu buffer functions to something more oprofile specific names. Functions will be moved to the global name space. Cc: Andrew Morton Signed-off-by: Robert Richter commit 34a4c5eb421dab6fe8381aa12c990f9d6f645b17 Author: Mike Frysinger Date: Mon Dec 29 04:00:23 2008 -0800 Input: map_to_7segment.h - convert to __inline__ for userspace Use __inline__ rather than inline for map_to_seg7() since it is exported to userspace. Signed-off-by: Mike Frysinger Signed-off-by: Dmitry Torokhov commit e0ee629878d91da998fc26e8fa8b977177f70f39 Author: Yong Yao Date: Mon Dec 29 04:00:02 2008 -0800 Input: add support for enhanced rotary controller on pxa930 and pxa935 Signed-off-by: Yong Yao Signed-off-by: Eric Miao Signed-off-by: Dmitry Torokhov commit 105ca2398f89d141b87542d3dd58df90bc539275 Author: Yong Yao Date: Mon Dec 29 03:59:59 2008 -0800 Input: add support for trackball on pxa930 and pxa935 Signed-off-by: Yong Yao Signed-off-by: Eric Miao Signed-off-by: Dmitry Torokhov commit ea319518ba3de282c13ae1cf4bf2215c5e03e67e Author: Peter Zijlstra Date: Fri Dec 26 15:08:55 2008 +0100 locking, percpu counters: introduce separate lock classes Impact: fix lockdep false positives Classify percpu_counter instances similar to regular lock objects -- that is, per instantiation site. The networking code has increased its use of percpu_counters, which leads to false positives if they are treated as a single class. Signed-off-by: Peter Zijlstra Signed-off-by: Ingo Molnar commit c7e324f1bd17b25fcdca33bdad01cf6eb8be4933 Author: Robert Hancock Date: Wed Dec 24 19:06:06 2008 -0600 sata_sil: add Large Block Transfer support This implements support for the Large Block Transfer feature found in Silicon Image 311x controllers. This allows transferring bigger contiguous chunks of data from system memory and avoids the 64KB boundary restriction of standard SFF controllers. This is based on a patch from Jeff Garzik (from the sii-lbt branch of libata-dev) but includes a few bug fixes: Since the bmdma2 register does not implement the status bits, the original bmdma register must be used except where the bmdma2 register is required. As well the DMA boundary should be 31-bit instead of 32-bit since the top bit of the length field is still required for the PRD end-of-table flag. Signed-off-by: Robert Hancock Signed-off-by: Jeff Garzik commit 3c387730ef2639811306c631e820711a70b98c5d Author: Jiri Slaby Date: Wed Dec 10 14:07:22 2008 +0100 [libata] ata_piix: cleanup dmi strings checking Commit ATA: piix, fix pointer deref on suspend fixed a possible oops in an ugly manner. Use newly introduced dmi_match() to make the code pretty again. Signed-off-by: Jiri Slaby Cc: Alexandru Romanescu Cc: Tejun Heo Cc: Alan Cox Signed-off-by: Jeff Garzik commit d61c72e52b98411d1cfef1fdb3f5a8bb070f8966 Author: Jiri Slaby Date: Wed Dec 10 14:07:21 2008 +0100 DMI: add dmi_match Add a wrapper for testing system_info which will handle also NULL system infos. This will be used by the ata PIIX driver. Signed-off-by: Jiri Slaby Cc: Alexandru Romanescu Cc: Tejun Heo Cc: Alan Cox Signed-off-by: Jeff Garzik commit 5ccfca974f3ce3c33be72f1fcb2b42747714ec79 Author: Lubomir Bulej Date: Mon Dec 22 11:35:22 2008 +0100 libata: blacklist NCQ on OCZ CORE 2 SSD (resend) The patchlet below blacklists NCQ on OCZ CORE v2 SSD drive(s). Even though the drive advertises NCQ support with queue depth 1, it responds with all-zeroes FIS to NCQ commands which triggers ata error handling several times before the kernel decides to disable NCQ on the drive. Signed-off-by: Lubomir Bulej Signed-off-by: Jeff Garzik commit 2f06de0671096e19350c9efe21cfdbc0891aab20 Author: Jaswinder Singh Rajput Date: Sat Dec 27 21:37:10 2008 +0530 x86: introducing asm/sys_ia32.h Impact: cleanup, avoid 44 sparse warnings, new file asm/sys_ia32.h Fixes following sparse warnings: CHECK arch/x86/ia32/sys_ia32.c arch/x86/ia32/sys_ia32.c:53:17: warning: symbol 'sys32_truncate64' was not declared. Should it be static? arch/x86/ia32/sys_ia32.c:60:17: warning: symbol 'sys32_ftruncate64' was not declared. Should it be static? arch/x86/ia32/sys_ia32.c:98:17: warning: symbol 'sys32_stat64' was not declared. Should it be static? arch/x86/ia32/sys_ia32.c:109:17: warning: symbol 'sys32_lstat64' was not declared. Should it be static? arch/x86/ia32/sys_ia32.c:119:17: warning: symbol 'sys32_fstat64' was not declared. Should it be static? arch/x86/ia32/sys_ia32.c:128:17: warning: symbol 'sys32_fstatat' was not declared. Should it be static? arch/x86/ia32/sys_ia32.c:164:17: warning: symbol 'sys32_mmap' was not declared. Should it be static? arch/x86/ia32/sys_ia32.c:195:17: warning: symbol 'sys32_mprotect' was not declared. Should it be static? arch/x86/ia32/sys_ia32.c:201:17: warning: symbol 'sys32_pipe' was not declared. Should it be static? arch/x86/ia32/sys_ia32.c:215:17: warning: symbol 'sys32_rt_sigaction' was not declared. Should it be static? arch/x86/ia32/sys_ia32.c:291:17: warning: symbol 'sys32_sigaction' was not declared. Should it be static? arch/x86/ia32/sys_ia32.c:330:17: warning: symbol 'sys32_rt_sigprocmask' was not declared. Should it be static? arch/x86/ia32/sys_ia32.c:370:17: warning: symbol 'sys32_alarm' was not declared. Should it be static? arch/x86/ia32/sys_ia32.c:383:17: warning: symbol 'sys32_old_select' was not declared. Should it be static? arch/x86/ia32/sys_ia32.c:393:17: warning: symbol 'sys32_waitpid' was not declared. Should it be static? arch/x86/ia32/sys_ia32.c:401:17: warning: symbol 'sys32_sysfs' was not declared. Should it be static? arch/x86/ia32/sys_ia32.c:406:17: warning: symbol 'sys32_sched_rr_get_interval' was not declared. Should it be static? arch/x86/ia32/sys_ia32.c:421:17: warning: symbol 'sys32_rt_sigpending' was not declared. Should it be static? arch/x86/ia32/sys_ia32.c:445:17: warning: symbol 'sys32_rt_sigqueueinfo' was not declared. Should it be static? arch/x86/ia32/sys_ia32.c:472:17: warning: symbol 'sys32_sysctl' was not declared. Should it be static? arch/x86/ia32/sys_ia32.c:517:17: warning: symbol 'sys32_pread' was not declared. Should it be static? arch/x86/ia32/sys_ia32.c:524:17: warning: symbol 'sys32_pwrite' was not declared. Should it be static? arch/x86/ia32/sys_ia32.c:532:17: warning: symbol 'sys32_personality' was not declared. Should it be static? arch/x86/ia32/sys_ia32.c:545:17: warning: symbol 'sys32_sendfile' was not declared. Should it be static? arch/x86/ia32/sys_ia32.c:565:17: warning: symbol 'sys32_mmap2' was not declared. Should it be static? arch/x86/ia32/sys_ia32.c:589:17: warning: symbol 'sys32_olduname' was not declared. Should it be static? arch/x86/ia32/sys_ia32.c:626:6: warning: symbol 'sys32_uname' was not declared. Should it be static? arch/x86/ia32/sys_ia32.c:641:6: warning: symbol 'sys32_ustat' was not declared. Should it be static? arch/x86/ia32/sys_ia32.c:663:17: warning: symbol 'sys32_execve' was not declared. Should it be static? arch/x86/ia32/sys_ia32.c:678:17: warning: symbol 'sys32_clone' was not declared. Should it be static? arch/x86/ia32/sys_ia32.c:693:6: warning: symbol 'sys32_lseek' was not declared. Should it be static? arch/x86/ia32/sys_ia32.c:698:6: warning: symbol 'sys32_kill' was not declared. Should it be static? arch/x86/ia32/sys_ia32.c:703:6: warning: symbol 'sys32_fadvise64_64' was not declared. Should it be static? arch/x86/ia32/sys_ia32.c:712:6: warning: symbol 'sys32_vm86_warning' was not declared. Should it be static? arch/x86/ia32/sys_ia32.c:726:6: warning: symbol 'sys32_lookup_dcookie' was not declared. Should it be static? arch/x86/ia32/sys_ia32.c:732:20: warning: symbol 'sys32_readahead' was not declared. Should it be static? arch/x86/ia32/sys_ia32.c:738:17: warning: symbol 'sys32_sync_file_range' was not declared. Should it be static? arch/x86/ia32/sys_ia32.c:746:17: warning: symbol 'sys32_fadvise64' was not declared. Should it be static? arch/x86/ia32/sys_ia32.c:753:17: warning: symbol 'sys32_fallocate' was not declared. Should it be static? CHECK arch/x86/ia32/ia32_signal.c arch/x86/ia32/ia32_signal.c:126:17: warning: symbol 'sys32_sigsuspend' was not declared. Should it be static? arch/x86/ia32/ia32_signal.c:141:17: warning: symbol 'sys32_sigaltstack' was not declared. Should it be static? arch/x86/ia32/ia32_signal.c:249:17: warning: symbol 'sys32_sigreturn' was not declared. Should it be static? arch/x86/ia32/ia32_signal.c:279:17: warning: symbol 'sys32_rt_sigreturn' was not declared. Should it be static? CHECK arch/x86/ia32/ipc32.c arch/x86/ia32/ipc32.c:12:17: warning: symbol 'sys32_ipc' was not declared. Should it be static? Signed-off-by: Jaswinder Singh Rajput Signed-off-by: Ingo Molnar commit c805b7300ed20ec4f10ea385988d6d3fa935b26c Author: Cyrill Gorcunov Date: Sat Dec 27 17:10:18 2008 +0300 x86: mach-default setup.c cleanups Impact: cleanup - Break long lines into shorter form. - Use pr_ macros instead of plain printk. Signed-off-by: Cyrill Gorcunov Signed-off-by: Ingo Molnar commit 6092848a2a23b660150a38bc06f59d75838d70c8 Author: Sergio Luis Date: Sun Dec 28 04:12:26 2008 -0300 x86: mark get_cpu_leaves() with __cpuinit annotation Impact: fix section mismatch warning Commit b2bb85549134c005e997e5a7ed303bda6a1ae738 ("x86: Remove cpumask games in x86/kernel/cpu/intel_cacheinfo.c") introduced get_cpu_leaves(), which references __cpuinit cpuid4_cache_lookup(). Mark get_cpu_leaves() with a __cpuinit annotation. Signed-off-by: Sergio Luis Signed-off-by: Ingo Molnar commit 75329f1f0c0e2e2ad611734a2ef08309391a4d9f Merge: b6b301a 3c92ec8 Author: Ingo Molnar Date: Mon Dec 29 13:09:40 2008 +0100 Merge branch 'linus' into x86/cleanups commit 43a256322ac1fc105c181b3cade3b9bfc0b63ca1 Author: Yinghai Lu Date: Sun Dec 28 16:01:13 2008 -0800 sparseirq: move __weak symbols into separate compilation unit GCC has a bug with __weak alias functions: if the functions are in the same compilation unit as their call site, GCC can decide to inline them - and thus rob the linker of the opportunity to override the weak alias with the real thing. So move all the IRQ handling related __weak symbols to kernel/irq/chip.c. Signed-off-by: Yinghai Lu Signed-off-by: Ingo Molnar commit 198fc108ee4c2cd3f08954eae6a819c81c03214b Author: Eric Miao Date: Tue Dec 23 17:49:43 2008 +0800 [ARM] pxafb: add support for overlay1 and overlay2 as framebuffer devices PXA27x and later processors support overlay1 and overlay2 on-top of the base framebuffer (although under-neath the base is also possible). They support palette and no-palette RGB formats, as well as YUV formats (only available on overlay2). These overlays have dedicated DMA channels and behave in a similar way as a framebuffer. This heavily simplified and re-structured work is based on the original pxafb_overlay.c (which is pending for mainline merge for a long time). The major problems with this pxafb_overlay.c are (if you are interested in the history): 1. heavily redundant (the control logics for overlay1 and overlay2 are actually identical except for some small operations, which are now abstracted into a 'pxafb_layer_ops' structure) 2. a lot of useless and un-tested code (two workarounds which are now fixed on mature silicons) 3. cursorfb is actually useless, hardware cursor should not be used this way, and the code was actually un-tested for a long time. The code in this patch should be self-explanatory, I tried to add minimum comments. As said, this is basically simplified, there are several things still on the pending list: 1. palette mode is un-supported and un-tested (although re-using the palette code of the base framebuffer is actually very easy now with previous clean-up patches) 2. fb_pan_display for overlay(s) is un-supported 3. the base framebuffer can actually be abstracted by 'pxafb_layer' as well, which will help further re-use of the code and keep a better and consistent structure. (This is the reason I named it 'pxafb_layer' instead of 'pxafb_overlay' or something alike) See Documentation/fb/pxafb.txt for additional usage information. Signed-off-by: Eric Miao Cc: Rodolfo Giometti Signed-off-by: Eric Miao commit 3f16ff608a75c8bf28c8cafed12e076d67a3602a Author: Eric Miao Date: Thu Dec 18 22:51:54 2008 +0800 [ARM] pxafb: cleanup of the timing checking code Signed-off-by: Eric Miao Signed-off-by: Eric Miao commit 878f5783199a95cfa91db45a6e34d2f72756fa18 Author: Eric Miao Date: Thu Dec 18 22:36:26 2008 +0800 [ARM] pxafb: cleanup of the color format manipulation code 1. introduce var_to_depth() to calculate the color depth including the transparency bit 2. the conversion from 'fb_var_screeninfo' to LCCR3 BPP bits can be re- used by overlays (in OVLxC1), thus an individual pxafb_var_to_bpp() has been separated out. 3. pxafb_setmode() should really set the color bitfields correctly at begining, introduce a pxafb_set_pixfmt() for this 4. allow user apps to specify color formats within fb_var_screeninfo, and checking of this in pxafb_check_var() has been simplified as below: a) pxafb_var_to_bpp() should pass - which means a basically correct bits_per_pixel and color depth setting b) the RGBT bitfields are then forced into supported values by pxafb_set_pixfmt() Signed-off-by: Eric Miao Signed-off-by: Eric Miao commit a0427509a76c61984fbba4e206b617c689f419ef Author: Eric Miao Date: Thu Dec 18 22:10:00 2008 +0800 [ARM] pxafb: add palette format support for LCCR4_PAL_FOR_3 Add the palette format support for LCCR4_PAL_FOR_3, and fix the issue of LCCR4 being never assigned. Also remove the useless pxafb_set_truecolor(). Signed-off-by: Eric Miao Signed-off-by: Eric Miao commit 6e354846e807e037751fdc8faaee8ad492177113 Author: Eric Miao Date: Wed Dec 17 16:50:43 2008 +0800 [ARM] pxafb: add support for FBIOPAN_DISPLAY by dma braching dma branching is enabled by extending the current setup_frame_dma() function to allow a 2nd set of frame/palette dma descriptors to be used. As a result, pxafb_dma_buff.dma_desc[], pxafb_dma_buff.pal_desc[] and pxafb_info.fdadr[] are doubled. This allows maximum re-use of the current dma setup code, although the pxafb_info.fdadr[xx] for FBRx register values looks a bit odd. Signed-off-by: Eric Miao Signed-off-by: Eric Miao commit 7e4b19c95c8632b543bd510ec6c710bebb53b840 Author: Eric Miao Date: Wed Dec 17 14:56:54 2008 +0800 [ARM] pxafb: allow pxafb_set_par() to start from arbitrary yoffset Note the var->yres_virtual is only re-calculated from the fix.smem_len when text mode acceleration is enabled (which is default), this is due to the issue as Russell suggested below: Previous experience of doing this with the X server and acornfb is that it causes all sorts of problems - it seems to force the X server into assuming that the framebuffer should be panned no matter what settings you ask it for. The recommended workaround (implemented in acornfb) is to only do these kinds of adjustments if text mode acceleration is enabled. IIRC, the X server should be disabling text mode acceleration when it maps the framebuffer. I seem to remember that there are X servers which forget to do that though. Signed-off-by: Eric Miao Signed-off-by: Eric Miao commit 77e196752bdd76a0c58ab082658d28c6a90fa40e Author: Eric Miao Date: Tue Dec 16 11:54:34 2008 +0800 [ARM] pxafb: allow video memory size to be configurable The amount of video memory size is decided according to the following order: 1. x x by default, which is the backward compatible way 2. size specified in platform data 3. size specified in module parameter 'options' string or specified in kernel boot command line (see updated Documentation/fb/pxafb.txt) And now since the memory is allocated from system memory, the pxafb_mmap can be removed and the default fb_mmap() should be working all right. Also, since we now have introduced the 'struct pxafb_dma_buff' for DMA descriptors and palettes, the allocation can be separated cleanly. NOTE: the LCD DMA actually supports chained transfer (i.e. page-based transfers), to simplify the logic and keep the performance (with less TLB misses when accessing from memory mapped user space), the memory is allocated by alloc_pages_*() to ensures it's physical contiguous. Signed-off-by: Eric Miao Signed-off-by: Eric Miao commit 5bfb4093be6ac7b6c06c8e6461d85241654acc61 Author: Eric Miao Date: Thu Dec 25 17:19:02 2008 +0800 [ARM] pxa: add document on the MFP design and how to use it Signed-off-by: Eric Miao commit 28a623855f737a905b90a1616107ad813bfcd6e9 Author: Eric Miao Date: Wed Dec 24 11:32:45 2008 +0800 [ARM] sa1100_wdt: don't assume CLOCK_TICK_RATE to be a constant See description of commit: [ARM] rtc-sa1100: don't assume CLOCK_TICK_RATE to be a constant for additional information. Signed-off-by: Eric Miao commit 6769717d5d51596618f6b143008d8ace11ec8a69 Author: Eric Miao Date: Thu Dec 18 11:10:32 2008 +0800 [ARM] rtc-sa1100: don't assume CLOCK_TICK_RATE to be a constant As Nicolas and Russell pointed out, CLOCK_TICK_RATE is no more a constant on PXA when multiple processors and platforms are selected, change TIMER_FREQ in rtc-sa1100.c into a variable. Since the code to decide the clock tick rate is re-used from timer.c, introduce a common get_clock_tick_rate() for this. Signed-off-by: Eric Miao Acked-by: Nicolas Pitre commit 9f1442bbf9fd68d8e190c91ab294131dd5c289ee Author: Eric Miao Date: Sun Dec 28 00:40:29 2008 +0800 [ARM] pxa/tavorevb: update board support (smartpanel LCD + keypad) Signed-off-by: Eric Miao commit 3c506efd7e0f615bd9603ce8c06bc4a896952599 Merge: fd37617 773ff60 Author: Pekka Enberg Date: Mon Dec 29 11:47:05 2008 +0200 Merge branch 'topic/failslab' into for-linus Conflicts: mm/slub.c Signed-off-by: Pekka Enberg commit fd37617e69fb865348d012eb1413aef0141ae2de Merge: 7b8f3b6 9f6c708e 249da16 Author: Pekka Enberg Date: Mon Dec 29 11:45:47 2008 +0200 Merge branches 'topic/fixes', 'topic/cleanups' and 'topic/documentation' into for-linus commit 7b8f3b66d9d7e5f021ae535620b9b52833f4876e Author: David Rientjes Date: Wed Dec 17 22:09:46 2008 -0800 slub: avoid leaking caches or refcounts on sysfs error If a slab cache is mergeable and the sysfs alias cannot be added, the target cache shall have its refcount decremented. kmem_cache_create() will return NULL, so if kmem_cache_destroy() is ever called on the target cache, it will never be freed if the refcount has been leaked. Likewise, if a slab cache is not mergeable and the sysfs link cannot be added, the new cache shall be removed from the slab_caches list. kmem_cache_create() will return NULL, so it will be impossible to call kmem_cache_destroy() on it. Both of these operations require slub_lock since refcount of all slab caches and slab_caches are protected by the lock. In the mergeable case, it would be better to restore objsize and offset back to their original values, but this could race with another merge since slub_lock was dropped. Cc: Christoph Lameter Signed-off-by: David Rientjes Signed-off-by: Pekka Enberg commit dfcd3610289132a762b7dc0eaf33998262cd9e20 Author: Pascal Terjan Date: Tue Nov 25 15:08:19 2008 +0100 slab: Fix comment on #endif This #endif in slab.h is described as closing the inner block while it's for the big CONFIG_NUMA one. That makes reading the code a bit harder. This trivial patch fixes the comment. Signed-off-by: Pascal Terjan Signed-off-by: Pekka Enberg commit 8759ec50a6cad7ca5a6d63e657d25b85ab5ba44a Author: Pekka Enberg Date: Wed Nov 26 10:01:31 2008 +0200 slab: remove GFP_THISNODE clearing from alloc_slabmgmt() Commit 6cb062296f73e74768cca2f3eaf90deac54de02d ("Categorize GFP flags") left one call-site in alloc_slabmgmt() to clear GFP_THISNODE instead of GFP_CONSTRAINT_MASK. Unfortunately, that ends up clearing __GFP_NOWARN and __GFP_NORETRY as well which is not what we want. As the only caller of alloc_slabmgmt() already clears GFP_CONSTRAINT_MASK before passing local_flags to it, we can just remove the clearing of GFP_THISNODE. This patch should fix spurious page allocation failure warnings on the mempool_alloc() path. See the following URL for the original discussion of the bug: http://lkml.org/lkml/2008/10/27/100 Acked-by: Christoph Lameter Reported-by: Miklos Szeredi Signed-off-by: Pekka Enberg commit 89124d706db0aa95daacfa4c0df45a43a44d44f4 Author: OGAWA Hirofumi Date: Wed Nov 19 21:23:59 2008 +0900 slub: Add might_sleep_if() to slab_alloc() Currently SLUB doesn't warn about __GFP_WAIT. Add it into slab_alloc(). Acked-by: Christoph Lameter Signed-off-by: OGAWA Hirofumi Signed-off-by: Pekka Enberg commit 773ff60e841461cb1f9374a713ffcda029b8c317 Author: Akinobu Mita Date: Tue Dec 23 19:37:01 2008 +0900 SLUB: failslab support Currently fault-injection capability for SLAB allocator is only available to SLAB. This patch makes it available to SLUB, too. [penberg@cs.helsinki.fi: unify slab and slub implementations] Cc: Christoph Lameter Cc: Matt Mackall Signed-off-by: Akinobu Mita Signed-off-by: Pekka Enberg commit aa5966296675a5092505f68d72563d5939a92353 Author: Dave Airlie Date: Mon Dec 29 16:35:02 2008 +1000 drm/i915: fix modeset devname allocation + agp init return check. devname needs to be allocated before the irq is installed, so the irq routines get the correct name in /proc. Also check the return value from the AGP init function, and fixup the exit points. Signed-off-by: Dave Airlie commit aad87dff5acb232666932e750318ec1fdb716e79 Author: Julia Lawall Date: Sun Dec 21 16:28:47 2008 +0100 drm/i915: Remove redundant test in error path. The error path for object list being null is in the second goto target. Signed-off-by: Julia Lawall Signed-off-by: Eric Anholt Signed-off-by: Dave Airlie commit fede5c91c4a8a7701d205b2b84b9835ddc7d6f02 Author: Eric Anholt Date: Fri Dec 19 17:23:38 2008 -0800 drm: Add a debug node for vblank state. Signed-off-by: Eric Anholt Signed-off-by: Dave Airlie commit f51c5b6e623cc737d47f513cbb893cec914f0bd2 Author: Eric Anholt Date: Fri Dec 19 15:07:11 2008 -0800 drm: Avoid use-before-null-test on dev in drm_cleanup(). Signed-off-by: Eric Anholt Signed-off-by: Dave Airlie commit f1acec933848219c402c165686677b1c307407f8 Author: Eric Anholt Date: Fri Dec 19 14:47:48 2008 -0800 drm/i915: Don't print to dmesg when taking signal during object_pin. This showed up in logs where people had a hung chip, so pinning was blocked on the chip unpinning other buffers, and the X Server took its scheduler signal during that time. Signed-off-by: Eric Anholt Signed-off-by: Dave Airlie commit 3c4fdcfb2941dc36b6a16bc509a2adb97c131716 Author: Kristian Høgsberg Date: Wed Dec 17 22:14:46 2008 -0500 drm: pin new and unpin old buffer when setting a mode. This removes the requirement for user space to pin a buffer before setting a mode that is backed by the pixels from that buffer. Signed-off-by: Kristian Høgsberg Signed-off-by: Eric Anholt Signed-off-by: Dave Airlie commit d1e22c6ed05f3bfb3a7de0947498e7f3c868b296 Author: Hannes Eder Date: Fri Dec 19 12:34:27 2008 +0100 drm/i915: un-EXPORT and make 'intelfb_panic' static Fix this sparse warning: drivers/gpu/drm/i915/intel_fb.c:417:5: warning: symbol 'intelfb_panic' was not declared. Should it be static? Signed-off-by: Hannes Eder Signed-off-by: Eric Anholt Signed-off-by: Dave Airlie commit bae7ec657305def791a946f5d791054c48a5f081 Author: Eric Anholt Date: Fri Dec 19 14:30:31 2008 -0800 drm/i915: Delete unused, pointless i915_driver_firstopen. Thanks to Hannes Eder for pointing out that this code was dead according to sparse. Signed-off-by: Eric Anholt Signed-off-by: Dave Airlie commit d4da3af667d251cc853d1873a1fad4db6daabf5f Author: Hannes Eder Date: Thu Dec 18 21:24:18 2008 +0100 drm/i915: fix sparse warnings: returning void-valued expression Signed-off-by: Hannes Eder Signed-off-by: Eric Anholt Signed-off-by: Dave Airlie commit 606df4e024bc8e921dd516cdb7160250658d9b7a Author: Hannes Eder Date: Thu Dec 18 21:22:24 2008 +0100 drm/i915: fix sparse warnings: move 'extern' decls to header file Move 'extern'-decls from "intel_dvo.c" to "dvo.h", as "dvo.h" is included by and only by files where the symbols are either defined or used. Signed-off-by: Hannes Eder Signed-off-by: Eric Anholt Signed-off-by: Dave Airlie commit b358d0a6252d8ed16afb20caaec35b24c76074bb Author: Hannes Eder Date: Thu Dec 18 21:18:47 2008 +0100 drm/i915: fix sparse warnings: make symbols static Signed-off-by: Hannes Eder Signed-off-by: Eric Anholt Signed-off-by: Dave Airlie commit 95281e352e19b670458563a5ca746195c183a98f Author: Hannes Eder Date: Thu Dec 18 15:09:00 2008 +0100 drm/i915: fix sparse warnings: declare one-bit bitfield as unsigned Signed-off-by: Hannes Eder Signed-off-by: Eric Anholt Acked-by: Jesse Barnes Signed-off-by: Dave Airlie commit b117763627ef4d24086801dd5f74c9eb2f487790 Author: Eric Anholt Date: Wed Dec 10 10:09:41 2008 -0800 drm/i915: Don't double-unpin buffers if we take a signal in evict_everything(). We haven't seen this in practice, but it was visible when looking at a bug report from when i915_gem_evict_everything() was broken and would always return error. Signed-off-by: Eric Anholt Signed-off-by: Dave Airlie commit e7da40f0c89c10ad3cbb63b754abaf6c3e792f79 Author: Eric Anholt Date: Wed Dec 10 17:23:00 2008 -0800 drm/i915: Fix fbcon setup to align display pitch to 64b. This is required by the display plane, and fixes 1400x1050 laptop displays. Signed-off-by: Eric Anholt Signed-off-by: Dave Airlie commit 8d391aa410ecb230fc4c3147b94eec25b9f3c20f Author: Eric Anholt Date: Wed Dec 17 22:32:14 2008 -0800 drm/i915: Add missing userland definitions for gem init/execbuffer. fdo bug #19132. Signed-off-by: Eric Anholt Signed-off-by: Dave Airlie commit dfef24592257805af0bee42dced099459c68a307 Author: Dave Airlie Date: Fri Dec 19 15:07:46 2008 +1000 i915/drm: provide compat defines for userspace for certain struct members. Painfully userspace started using new names that were never actually to be used from the external repo. Also fill out the gaps in the structure for old/new userspace compat Add compat defines for these structs. Signed-off-by: Dave Airlie commit 0c7c26647579e9e647e8b969bb0e7b3f5f1a1492 Author: Kristian H�gsberg Date: Thu Dec 18 13:14:37 2008 +1000 drm: drop DRM_IOCTL_MODE_REPLACEFB, add+remove works just as well. The replace fb ioctl replaces the backing buffer object for a modesetting framebuffer object. This can be acheived by just creating a new framebuffer backed by the new buffer object, setting that for the crtcs in question and then removing the old framebuffer object. Signed-off-by: Kristian Hogsberg Acked-by: Jakob Bornecrantz Signed-off-by: Dave Airlie commit e0c8463a8b00b467611607df0ff369d062528875 Author: Jakob Bornecrantz Date: Fri Dec 19 14:50:50 2008 +1000 drm: sanitise drm modesetting API + remove unused hotplug The initially merged modesetting API has some uglies in it, this cleans up the struct members and ioctl ordering for initial submission. It also removes the unneeded hotplug infrastructure. airlied:- I've pulled this patch in from git modesetting-gem tree. Signed-off-by: Dave Airlie commit df989374a9f5356ee815baa1ba6916671a701da2 Author: Dave Airlie Date: Fri Dec 19 12:00:46 2008 +1100 drm: fix allowing master ioctls on non-master fds. The multi-master patches changed master to a pointer, and this fell out, change to use is_master. Signed-off-by: Dave Airlie commit 4e74f36d08e83390121d088f1f62e3337603df89 Author: Dave Airlie Date: Fri Dec 19 10:23:14 2008 +1100 drm/radeon: use locked rmmap to remove sarea mapping. this exports the locked version of the symbol as struct_mutex locks it all. Signed-off-by: Dave Airlie commit 60f2ee0b4a6b852299d8e30aeb2af517ef5ee19c Author: Dave Airlie Date: Fri Dec 19 10:22:02 2008 +1100 drm/radeon: fix missing hunk from the master changes. Thanks to Bartlomiej Zolnierkiewicz for reporting this. Signed-off-by: Dave Airlie commit f890607b1e93dc6fdc2a42b60656c917adf6257f Author: Dave Airlie Date: Thu Dec 18 16:59:02 2008 +1000 drm: fix useless gcc unused variable warning the calling function doesn't call this function unless one of the two states that sets the value is true. Signed-off-by: Dave Airlie commit bdf539ad61a8d4d0f0b0865c030a8ecb1ec2a398 Author: Dave Airlie Date: Thu Dec 18 16:56:11 2008 +1000 drm/radeon: fix warning due to PAGE_SIZE max Signed-off-by: Dave Airlie commit 57a6297e52b32ff402291a7d8fd802f83e746e52 Author: Dave Airlie Date: Sat Dec 13 18:21:08 2008 +1000 drm: kconfig have drm core select i2c for kms Signed-off-by: Dave Airlie commit ae14dc0505261978ca06075ac39cc5422c6c6b57 Author: Dave Airlie Date: Thu Dec 11 17:06:35 2008 +1000 drm: PAGE_CACHE_WC is x86 only so far The page protections need to be checked whether they need to be more flexible. Signed-off-by: Dave Airlie commit aa91c6665a5e387e488c4a0b5da2536cc9c9f16e Author: Dave Airlie Date: Mon Dec 8 14:55:27 2008 +1000 drm: pick an 800x600@60HZ mode by default for unknown CRT. This is what X picks now, so we should do the same. Signed-off-by: Dave Airlie commit 60fd99e3682c5acc74d58ed61dac93526d6976f7 Author: Eric Anholt Date: Wed Dec 3 22:50:02 2008 -0800 drm/i915: Fix stolen memory detection on G45 and GM45. Signed-off-by: Eric Anholt Signed-off-by: Dave Airlie commit 06d9f33ceb6be29c453915505a2fc88d80c36417 Author: Eric Anholt Date: Wed Dec 3 22:43:14 2008 -0800 drm/i915: Register module dependencies for the modesetting code. Signed-off-by: Eric Anholt Signed-off-by: Dave Airlie commit 79e539453b34e35f39299a899d263b0a1f1670bd Author: Jesse Barnes Date: Fri Nov 7 14:24:08 2008 -0800 DRM: i915: add mode setting support This commit adds i915 driver support for the DRM mode setting APIs. Currently, VGA, LVDS, SDVO DVI & VGA, TV and DVO LVDS outputs are supported. HDMI, DisplayPort and additional SDVO output support will follow. Support for the mode setting code is controlled by the new 'modeset' module option. A new config option, CONFIG_DRM_I915_KMS controls the default behavior, and whether a PCI ID list is built into the module for use by user level module utilities. Note that if mode setting is enabled, user level drivers that access display registers directly or that don't use the kernel graphics memory manager will likely corrupt kernel graphics memory, disrupt output configuration (possibly leading to hangs and/or blank displays), and prevent panic/oops messages from appearing. So use caution when enabling this code; be sure your user level code supports the new interfaces. A new SysRq key, 'g', provides emergency support for switching back to the kernel's framebuffer console; which is useful for testing. Co-authors: Dave Airlie , Hong Liu Signed-off-by: Jesse Barnes Signed-off-by: Eric Anholt Signed-off-by: Dave Airlie commit f453ba0460742ad027ae0c4c7d61e62817b3e7ef Author: Dave Airlie Date: Fri Nov 7 14:05:41 2008 -0800 DRM: add mode setting support Add mode setting support to the DRM layer. This is a fairly big chunk of work that allows DRM drivers to provide full output control and configuration capabilities to userspace. It was motivated by several factors: - the fb layer's APIs aren't suited for anything but simple configurations - coordination between the fb layer, DRM layer, and various userspace drivers is poor to non-existent (radeonfb excepted) - user level mode setting drivers makes displaying panic & oops messages more difficult - suspend/resume of graphics state is possible in many more configurations with kernel level support This commit just adds the core DRM part of the mode setting APIs. Driver specific commits using these new structure and APIs will follow. Co-authors: Jesse Barnes , Jakob Bornecrantz Contributors: Alan Hourihane , Maarten Maathuis Signed-off-by: Jesse Barnes Signed-off-by: Eric Anholt Signed-off-by: Dave Airlie commit de151cf67ce52ed2d88083daa5e60c7858947329 Author: Jesse Barnes Date: Wed Nov 12 10:03:55 2008 -0800 drm/i915: add GEM GTT mapping support Use the new core GEM object mapping code to allow GTT mapping of GEM objects on i915. The fault handler will make sure a fence register is allocated too, if the object in question is tiled. Signed-off-by: Jesse Barnes Signed-off-by: Eric Anholt Signed-off-by: Dave Airlie commit a2c0a97b784f837300f7b0869c82ab712c600952 Author: Jesse Barnes Date: Wed Nov 5 10:31:53 2008 -0800 drm: GEM mmap support Add core support for mapping of GEM objects. Drivers should provide a vm_operations_struct if they want to support page faulting of objects. The code for handling GEM object offsets was taken from TTM, which was written by Thomas Hellström. Signed-off-by: Jesse Barnes Signed-off-by: Eric Anholt Signed-off-by: Dave Airlie commit a9587470f753d670d910293ecbf1c7b66c99de50 Author: Eric Anholt Date: Wed Nov 5 12:37:42 2008 -0800 drm/i915: Add /proc debugging entry for reading out the HWS. Signed-off-by: Eric Anholt Signed-off-by: Dave Airlie commit a9d51a5ad1154b5b20add1e8d30a5564f8aabbe9 Author: Dave Airlie Date: Sun Dec 7 12:02:21 2008 +1000 drm: reorganise start and load. Make sure we have the primary node so the device can add maps. Signed-off-by: Dave Airlie commit 1147c9cdd0f60f09a98702a9f865176af18a989f Author: Vegard Nossum Date: Tue Dec 2 13:38:47 2008 +1000 drm: fix leak of uninitialized data to userspace ...so drm_getunique() is trying to copy some uninitialized data to userspace. The ECX register contains the number of words that are left to copy -- so there are 5 * 4 = 20 bytes left. The offset of the first uninitialized byte (counting from the start of the string) is also 20 (i.e. 0xf65d2294&((1 << 5)-1) == 20). So somebody tried to copy 40 bytes when the string was only 19 long. In drm_set_busid() we have this code: dev->unique_len = 40; dev->unique = drm_alloc(dev->unique_len + 1, DRM_MEM_DRIVER); ... len = snprintf(dev->unique, dev->unique_len, pci:%04x:%02x:%02x.%d", ...so it seems that dev->unique is never updated to reflect the actual length of the string. The remaining bytes (20 in this case) are random uninitialized bytes that are copied into userspace. This patch fixes the problem by setting dev->unique_len after the snprintf(). airlied- I've had to fix this up to store the alloced size so we have it for drm_free later. Reported-by: Sitsofe Wheeler Signed-off-by: Vegard Nossum Signed-off-by: Dave Airlie commit 7c1c2871a6a3a114853ec6836e9035ac1c0c7f7a Author: Dave Airlie Date: Fri Nov 28 14:22:24 2008 +1000 drm: move to kref per-master structures. This is step one towards having multiple masters sharing a drm device in order to get fast-user-switching to work. It splits out the information associated with the drm master into a separate kref counted structure, and allocates this when a master opens the device node. It also allows the current master to abdicate (say while VT switched), and a new master to take over the hardware. It moves the Intel and radeon drivers to using the sarea from within the new master structures. Signed-off-by: Dave Airlie commit e7f7ab45ebcb54fd5f814ea15ea079e079662f67 Author: Dave Airlie Date: Fri Nov 28 13:43:47 2008 +1000 drm: cleanup exit path for module unload The current sub-module unload exit path is a mess, it tries to abuse the idr. Just keep a list of devices per driver struct and free them in-order on rmmod. Signed-off-by: Dave Airlie commit d3f761104b097738932afcc310fbbbbfb007ef92 Author: Jens Axboe Date: Tue Dec 23 12:46:21 2008 +0100 bio: get rid of bio_vec clearing We don't need to clear the memory used for adding bio_vec entries, since nobody should be looking at members unitialized. Any valid use should be below bio->bi_vcnt, and that members up until that count must be valid since they were added through bio_add_page(). Signed-off-by: Jens Axboe commit f735b5eeb9fcbb001e0cf2a5296b19c4bbaec55f Author: Jens Axboe Date: Tue Dec 23 12:44:19 2008 +0100 bounce: don't rely on a zeroed bio_vec list __blk_queue_bounce() relies on a zeroed bio_vec list, since it looks up arbitrary indexes in the allocated bio. The block layer only guarentees that added entries are valid, so clear memory after alloc. Signed-off-by: Jens Axboe commit a0ea8622918019ed76c0b85f5d0247809ba05a7c Author: Stephen M. Cameron Date: Thu Dec 18 14:55:51 2008 +0100 cciss: simplify parameters to deregister_disk function Simplify parameters to deregister_disk function. Signed-off-by: Stephen M. Cameron Signed-off-by: Jens Axboe commit 62c1fe9d9f0a676fce89185b1513f0e5f473c72c Author: Jens Axboe Date: Mon Dec 15 21:19:25 2008 +0100 cfq-iosched: fix race between exiting queue and exiting task Original patch from Nikanth Karthikesan When a queue exits the queue lock is taken and cfq_exit_queue() would free all the cic's associated with the queue. But when a task exits, cfq_exit_io_context() gets cic one by one and then locks the associated queue to call __cfq_exit_single_io_context. It looks like between getting a cic from the ioc and locking the queue, the queue might have exited on another cpu. Fix this by rechecking the cfq_io_context queue key inside the queue lock again, and not calling into __cfq_exit_single_io_context() if somebody beat us to it. Signed-off-by: Jens Axboe commit 8ae30b895805a6e2bb725b1d78b12daabd7eadfe Author: Milan Broz Date: Fri Dec 12 14:50:49 2008 +0100 loop: Do not call loop_unplug for not configured loop device. In loop_unplug() function is expected that mapping is set and lo->lo_backing_file is not NULL. Unfortunately loop_set_fd() set the request queue unplug function, but loop_clr_fd() doesn't clear that. Loop device allows open of non-configured loop in some situations. If the unplug on request queue is called, loop module oopses because of missing lo_backing_file. Simple reproducer: losetup /dev/loop0 /xxx losetup -d /dev/loop0 dmsetup create x --table "0 1 linear /dev/loop0 0" EIP is at loop_unplug+0x1d/0x3b ... Call Trace: blk_unplug+0x57/0x5e dm_table_unplug_all+0x34/0x77 [dm_mod] destroy_inode+0x27/0x38 generic_delete_inode+0xd5/0xd9 iput+0x4b/0x4e dm_resume+0xca/0xfe [dm_mod] dev_suspend+0x143/0x165 [dm_mod] dm_ctl_ioctl+0x18e/0x1cf [dm_mod] dev_suspend+0x0/0x165 [dm_mod] dm_ctl_ioctl+0x0/0x1cf [dm_mod] vfs_ioctl+0x22/0x69 do_vfs_ioctl+0x39d/0x3c7 trace_hardirqs_on+0xb/0xd remove_vma+0x50/0x56 do_munmap+0x21c/0x237 sys_ioctl+0x2c/0x45 sysenter_do_call+0x12/0x31 Several reports here http://www.kerneloops.org/search.php?search=loop_unplug Fix it by simply clear unplug function together with removing of backing file. Signed-off-by: Milan Broz Signed-off-by: Jens Axboe commit 14f2793958bd7878db2dc0309ed4525d6b7f1b72 Author: Milan Broz Date: Fri Dec 12 14:48:27 2008 +0100 loop: Flush possible running bios when loop device is released. When there are still queued bios and reference count drops to zero, loop device must flush all queued bios. Otherwise it can lead to situation that caller closes the device, but some bios are still running and endio() function call later OOpses when uses unallocated mempool. This happens for example when running dm-crypt over loop, here is typical oops backtrace: Oops: 0000 [#1] PREEMPT SMP EIP is at mempool_free+0x12/0x6b ... crypt_dec_pending+0x50/0x54 [dm_crypt] crypt_endio+0x9f/0xa7 [dm_crypt] crypt_endio+0x0/0xa7 [dm_crypt] bio_endio+0x2b/0x2e loop_thread+0x37a/0x3b1 do_lo_send_aops+0x0/0x165 autoremove_wake_function+0x0/0x33 loop_thread+0x0/0x3b1 kthread+0x3b/0x61 kthread+0x0/0x61 kernel_thread_helper+0x7/0x10 (But crash is reproducible with different dm targets running over loop device too.) Patch fixes it by flushing the bios in release call, reusing the flush mechanism for switching backing store. Signed-off-by: Milan Broz Signed-off-by: Jens Axboe commit 10e5b64415ae9a0ba81dd1f1036d14dfdae9308c Author: FUJITA Tomonori Date: Fri Dec 12 09:52:35 2008 +0100 alpha: remove dead BIO_VMERGE_BOUNDARY The block layer dropped the virtual merge feature (b8b3e16cfe6435d961f6aaebcfd52a1ff2a988c5). BIO_VMERGE_BOUNDARY definition is meaningless now. Signed-off-by: FUJITA Tomonori Cc: Richard Henderson Cc: Ivan Kokshaysky Signed-off-by: Jens Axboe commit b3a6ffe16b5cc48abe7db8d04882dc45280eb693 Author: Jens Axboe Date: Fri Dec 12 09:51:16 2008 +0100 Get rid of CONFIG_LSF We have two seperate config entries for large devices/files. One is CONFIG_LBD that guards just the devices, the other is CONFIG_LSF that handles large files. This doesn't make a lot of sense, you typically want both or none. So get rid of CONFIG_LSF and change CONFIG_LBD wording to indicate that it covers both. Acked-by: Jean Delvare Signed-off-by: Jens Axboe commit 3c18ce71af754cefae75103dbae28817e04b2db4 Author: Roel Kluin Date: Wed Dec 10 15:47:33 2008 +0100 block: make blk_softirq_init() static Sparse asked whether these could be static. Signed-off-by: Roel Kluin Signed-off-by: Jens Axboe commit 18af8b2ca34b831c32c6fa01e7ce33143c33bb63 Author: FUJITA Tomonori Date: Thu Dec 4 08:56:35 2008 +0100 block: use min_not_zero in blk_queue_stack_limits zero is invalid for max_phys_segments, max_hw_segments, and max_segment_size. It's better to use use min_not_zero instead of min. min() works though (because the commit 0e435ac makes sure that these values are set to the default values, non zero, if a queue is initialized properly). With this patch, blk_queue_stack_limits does the almost same thing that dm's combine_restrictions_low() does. I think that it's easy to remove dm's combine_restrictions_low. Signed-off-by: FUJITA Tomonori Signed-off-by: Jens Axboe commit a6f23657d3072bde6844055bbc2290e497f33fbc Author: Jens Axboe Date: Fri Oct 24 12:52:42 2008 +0200 block: add one-hit cache for disk partition lookup disk_map_sector_rcu() returns a partition from a sector offset, which we use for IO statistics on a per-partition basis. The lookup itself is an O(N) list lookup, where N is the number of partitions. This actually hurts performance quite a bit, even on the lower end partitions. On higher numbered partitions, it can get pretty bad. Solve this by adding a one-hit cache for partition lookup. This makes the lookup O(1) for the case where we do most IO to one partition. Even for mixed partition workloads, amortized cost is pretty close to O(1) since the natural IO batching makes the one-hit cache last for lots of IOs. Signed-off-by: Jens Axboe commit 30e0dc28bff9dc456cdfc2aae4aca78b8b1a1cec Author: Jens Axboe Date: Mon Oct 20 15:44:28 2008 +0200 cfq-iosched: remove limit of dispatch depth of max 4 times quantum This basically limits the hardware queue depth to 4*quantum at any point in time, which is 16 with the default settings. As CFQ uses other means to shrink the hardware queue when necessary in the first place, there's really no need for this extra heuristic. Additionally, it ends up hurting performance in some cases. Signed-off-by: Jens Axboe commit 31dcfab0ae6eb0340d456931df4d478e17efc65d Author: Jens Axboe Date: Fri Oct 31 10:06:37 2008 +0100 nbd: tell the block layer that it is not a rotational device Then we can get rid of that manual elevator type fiddling. Signed-off-by: Jens Axboe commit b374d18a4bfce705e4a99ae9f501b53e86ecb283 Author: Jens Axboe Date: Fri Oct 31 10:05:07 2008 +0100 block: get rid of elevator_t typedef Just use struct elevator_queue everywhere instead. Signed-off-by: Jens Axboe commit abf137dd7712132ee56d5b3143c2ff61a72a5faa Author: Jens Axboe Date: Tue Dec 9 08:11:22 2008 +0100 aio: make the lookup_ioctx() lockless The mm->ioctx_list is currently protected by a reader-writer lock, so we always grab that lock on the read side for doing ioctx lookups. As the workload is extremely reader biased, turn this into an rcu hlist so we can make lookup_ioctx() lockless. Get rid of the rwlock and use a spinlock for providing update side exclusion. There's usually only 1 entry on this list, so it doesn't make sense to look into fancier data structures. Reviewed-by: Jeff Moyer Signed-off-by: Jens Axboe commit 392ddc32982a5c661dd90dd49a3cb37f1c68b782 Author: Jens Axboe Date: Tue Dec 23 12:42:54 2008 +0100 bio: add support for inlining a number of bio_vecs inside the bio When we go and allocate a bio for IO, we actually do two allocations. One for the bio itself, and one for the bi_io_vec that holds the actual pages we are interested in. This feature inlines a definable amount of io vecs inside the bio itself, so we eliminate the bio_vec array allocation for IO's up to a certain size. It defaults to 4 vecs, which is typically 16k of IO. Signed-off-by: Jens Axboe commit bb799ca0202a360fa74d5f17039b9100caebdde7 Author: Jens Axboe Date: Wed Dec 10 15:35:05 2008 +0100 bio: allow individual slabs in the bio_set Instead of having a global bio slab cache, add a reference to one in each bio_set that is created. This allows for personalized slabs in each bio_set, so that they can have bios of different sizes. This means we can personalize the bios we return. File systems may want to embed the bio inside another structure, to avoid allocation more items (and stuffing them in ->bi_private) after the get a bio. Or we may want to embed a number of bio_vecs directly at the end of a bio, to avoid doing two allocations to return a bio. This is now possible. Signed-off-by: Jens Axboe commit 1b4344986926da324b5cd10b683e5a1a5e1b7db3 Author: Jens Axboe Date: Wed Oct 22 20:32:58 2008 +0200 bio: move the slab pointer inside the bio_set In preparation for adding differently sized bios. Signed-off-by: Jens Axboe commit 7ff9345ffac56743b5001561bc2dc1e041b79149 Author: Jens Axboe Date: Thu Dec 11 11:53:43 2008 +0100 bio: only mempool back the largest bio_vec slab cache We only very rarely need the mempool backing, so it makes sense to get rid of all but one of the mempool in a bio_set. So keep the largest bio_vec count mempool so we can always honor the largest allocation, and "upgrade" callers that fail. Signed-off-by: Jens Axboe commit a31a97381cdf7dceb03b797a8faf9bc8a01c65d1 Author: Jens Axboe Date: Fri Oct 17 13:58:29 2008 +0200 block: don't use plugging on SSD devices We just want to hand the first bits of IO to the device as fast as possible. Gains a few percent on the IOPS rate. Signed-off-by: Jens Axboe commit a185eb4bc84155fff35b602ce99602c010de9634 Author: Tejun Heo Date: Fri Nov 28 13:32:07 2008 +0900 block: fix empty barrier on write-through w/ ordered tag Empty barrier on write-through (or no cache) w/ ordered tag has no command to execute and without any command to execute ordered tag is never issued to the device and the ordering is never achieved. Force draining for such cases. Signed-off-by: Tejun Heo Signed-off-by: Jens Axboe commit 58eea927d2de43dc6f03d1ba2c46e55854b31540 Author: Tejun Heo Date: Fri Nov 28 13:32:06 2008 +0900 block: simplify empty barrier implementation Empty barrier required special handling in __elv_next_request() to complete it without letting the low level driver see it. With previous changes, barrier code is now flexible enough to skip the BAR step using the same barrier sequence selection mechanism. Drop the special handling and mask off q->ordered from start_ordered(). Remove blk_empty_barrier() test which now has no user. Signed-off-by: Tejun Heo Signed-off-by: Jens Axboe commit 8f11b3e99a1136fcbb67316c3260f085299c0bff Author: Tejun Heo Date: Fri Nov 28 13:32:05 2008 +0900 block: make barrier completion more robust Barrier completion had the following assumptions. * start_ordered() couldn't finish the whole sequence properly. If all actions are to be skipped, q->ordseq is set correctly but the actual completion was never triggered thus hanging the barrier request. * Drain completion in elv_complete_request() assumed that there's always at least one request in the queue when drain completes. Both assumptions are true but these assumptions need to be removed to improve empty barrier implementation. This patch makes the following changes. * Make start_ordered() use blk_ordered_complete_seq() to mark skipped steps complete and notify __elv_next_request() that it should fetch the next request if the whole barrier has completed inside start_ordered(). * Make drain completion path in elv_complete_request() check whether the queue is empty. Empty queue also indicates drain completion. * While at it, convert 0/1 return from blk_do_ordered() to false/true. Signed-off-by: Tejun Heo Signed-off-by: Jens Axboe commit f671620e7d895af221bdfeda751d54fa55ed9546 Author: Tejun Heo Date: Fri Nov 28 13:32:04 2008 +0900 block: make every barrier action optional In all barrier sequences, the barrier write itself was always assumed to be issued and thus didn't have corresponding control flag. This patch adds QUEUE_ORDERED_DO_BAR and unify action mask handling in start_ordered() such that any barrier action can be skipped. This patch doesn't introduce any visible behavior changes. Signed-off-by: Tejun Heo Signed-off-by: Jens Axboe commit a7384677b2f4cd40948fd7ce024ba5e1821444ba Author: Tejun Heo Date: Fri Nov 28 13:32:03 2008 +0900 block: remove duplicate or unused barrier/discard error paths * Because barrier mode can be changed dynamically, whether barrier is supported or not can be determined only when actually issuing the barrier and there is no point in checking it earlier. Drop barrier support check in generic_make_request() and __make_request(), and update comment around the support check in blk_do_ordered(). * There is no reason to check discard support in both generic_make_request() and __make_request(). Drop the check in __make_request(). While at it, move error action block to the end of the function and add unlikely() to q existence test. * Barrier request, be it empty or not, is never passed to low level driver and thus it's meaningless to try to copy back req->sector to bio->bi_sector on error. In addition, the notion of failed sector doesn't make any sense for empty barrier to begin with. Drop the code block from __end_that_request_first(). Signed-off-by: Tejun Heo Signed-off-by: Jens Axboe commit 313e42999dbc0f234ca5909a236f78f082cb43b1 Author: Tejun Heo Date: Fri Nov 28 13:32:02 2008 +0900 block: reorganize QUEUE_ORDERED_* constants Separate out ordering type (drain,) and action masks (preflush, postflush, fua) from visible ordering mode selectors (QUEUE_ORDERED_*). Ordering types are now named QUEUE_ORDERED_BY_* while action masks are named QUEUE_ORDERED_DO_*. This change is necessary to add QUEUE_ORDERED_DO_BAR and make it optional to improve empty barrier implementation. Signed-off-by: Tejun Heo Signed-off-by: Jens Axboe commit ba744d5e290055d171c68067259fcc1e2721f542 Author: Richard Kennedy Date: Wed Dec 3 12:41:40 2008 +0100 block: reorder struct bio to remove padding on 64bit Remove 8 bytes of padding from struct bio which also removes 16 bytes from struct bio_pair to make it 248 bytes. bio_pair then fits into one fewer cache lines & into a smaller slab. Signed-off-by: Richard Kennedy Signed-off-by: Jens Axboe commit 64d01dc9e1927e6535627d73f2336c75d1dd3fe2 Author: Cheng Renquan Date: Wed Dec 3 12:41:39 2008 +0100 block: use cancel_work_sync() instead of kblockd_flush_work() After many improvements on kblockd_flush_work, it is now identical to cancel_work_sync, so a direct call to cancel_work_sync is suggested. The only difference is that cancel_work_sync is a GPL symbol, so no non-GPL modules anymore. Signed-off-by: Cheng Renquan Cc: Jens Axboe Signed-off-by: Jens Axboe commit 08bafc0341f2f7920e9045bc32c40299cac8c21b Author: Keith Mannthey Date: Tue Nov 25 10:24:35 2008 +0100 block: Supress Buffer I/O errors when SCSI REQ_QUIET flag set Allow the scsi request REQ_QUIET flag to be propagated to the buffer file system layer. The basic ideas is to pass the flag from the scsi request to the bio (block IO) and then to the buffer layer. The buffer layer can then suppress needless printks. This patch declutters the kernel log by removed the 40-50 (per lun) buffer io error messages seen during a boot in my multipath setup . It is a good chance any real errors will be missed in the "noise" it the logs without this patch. During boot I see blocks of messages like " __ratelimit: 211 callbacks suppressed Buffer I/O error on device sdm, logical block 5242879 Buffer I/O error on device sdm, logical block 5242879 Buffer I/O error on device sdm, logical block 5242847 Buffer I/O error on device sdm, logical block 1 Buffer I/O error on device sdm, logical block 5242878 Buffer I/O error on device sdm, logical block 5242879 Buffer I/O error on device sdm, logical block 5242879 Buffer I/O error on device sdm, logical block 5242879 Buffer I/O error on device sdm, logical block 5242879 Buffer I/O error on device sdm, logical block 5242872 " in my logs. My disk environment is multipath fiber channel using the SCSI_DH_RDAC code and multipathd. This topology includes an "active" and "ghost" path for each lun. IO's to the "ghost" path will never complete and the SCSI layer, via the scsi device handler rdac code, quick returns the IOs to theses paths and sets the REQ_QUIET scsi flag to suppress the scsi layer messages. I am wanting to extend the QUIET behavior to include the buffer file system layer to deal with these errors as well. I have been running this patch for a while now on several boxes without issue. A few runs of bonnie++ show no noticeable difference in performance in my setup. Thanks for John Stultz for the quiet_error finalization. Submitted-by: Keith Mannthey Signed-off-by: Jens Axboe commit 7c239517d9f18427fc2e7ed259fb3b866595f5af Author: Wu Fengguang Date: Tue Nov 25 09:08:39 2008 +0100 block: don't take lock on changing ra_pages There's no need to take queue_lock or kernel_lock when modifying bdi->ra_pages. So remove them. Also remove out of date comment for queue_max_sectors_store(). Signed-off-by: Wu Fengguang Signed-off-by: Jens Axboe commit 42364690992e592c05f85c76fda4055820b48c1b Author: Nikanth Karthikesan Date: Mon Nov 24 10:46:29 2008 +0100 Documentation: remove reference to ll_rw_blk.c and moved drivers/block/elevator.c The drivers/block/ll_rw_block.c has been split and organized in the block/ directory, and also drivers/block/elevator.c has been moved to the block/ directory. Update Documentation/block/biodoc.txt accordingly Signed-off-by: Nikanth Karthikesan Signed-off-by: Jens Axboe commit c6a06f707cc29ea3a47588e4d2cd0bdcfa311a7d Author: Qinghuang Feng Date: Mon Nov 24 10:43:36 2008 +0100 block/blk-tag.c: cleanup kernel-doc There is no argument named @tags in blk_init_tags, remove its' comment. Signed-off-by: Qinghuang Feng Signed-off-by: Jens Axboe commit 8a3173de4ab4cdacc43675dc5c077f9a5bf17f5f Author: Jens Axboe Date: Thu Nov 20 09:46:09 2008 +0100 cciss: switch to using hlist for command list management This both cleans up the code and also helps detect the spurious case of a command attempted being removed from a queue it doesn't belong to. Acked-by: Mike Miller Signed-off-by: Jens Axboe commit 7c0990c7ee988aa193abbb7da3faeb9279146dbf Author: Nikanth Karthikesan Date: Wed Nov 19 10:20:23 2008 +0100 Do not free io context when taking recursive faults in do_exit When taking recursive faults in do_exit, if the io_context is not null, exit_io_context() is being called. But it might decrement the refcount more than once. It is better to leave this task alone. Signed-off-by: Nikanth Karthikesan Signed-off-by: Jens Axboe commit d194139c18edb7dae45e159a24f2aa72091033b8 Author: Marcin Slusarz Date: Sun Nov 16 19:06:37 2008 +0100 cdrom: reduce stack usage of mmc_ioctl_dvd_read_struct 1. kmalloc 192 bytes in dvd_read_bca (which is inlined into dvd_read_struct) 2. Pass struct packet_command to all dvd_read_* functions. Checkstack output: Before: mmc_ioctl_dvd_read_struct: 280 After: mmc_ioctl_dvd_read_struct: 56 Signed-off-by: Marcin Slusarz Cc: Bartlomiej Zolnierkiewicz Cc: Andrew Morton Cc: Jens Axboe Signed-off-by: Jens Axboe commit 3147c531b6b53fbbf8942689c4aa113c519f5e4e Author: Marcin Slusarz Date: Sun Nov 16 19:04:47 2008 +0100 cdrom: split mmc_ioctl to lower stack usage Checkstack output: Before: mmc_ioctl: 584 After: mmc_ioctl_dvd_read_struct: 280 mmc_ioctl_cdrom_subchannel: 152 mmc_ioctl_cdrom_read_data: 120 mmc_ioctl_cdrom_volume: 104 mmc_ioctl_cdrom_read_audio: 104 (mmc_ioctl is inlined into cdrom_ioctl - 104 bytes) Signed-off-by: Marcin Slusarz Cc: Bartlomiej Zolnierkiewicz Cc: Andrew Morton Cc: Jens Axboe Signed-off-by: Jens Axboe commit 2b91bafcc0fc545e489e9537a38f487706960ea5 Author: Milton Miller Date: Mon Nov 17 13:10:34 2008 +0100 scsi-ioctl: use clock_t <> jiffies Convert the timeout ioctl scalling to use the clock_t functions which are much more accurate with some USER_HZ vs HZ combinations. Signed-off-by: Milton Miller Signed-off-by: Jens Axboe commit 70ed28b92a786f44750ab64117b03d126dd14656 Author: Jens Axboe Date: Wed Nov 19 14:38:39 2008 +0100 block: leave the request timeout timer running even on an empty list For sync IO, we'll often do them serialized. This means we'll be touching the queue timer for every IO, as opposed to only occasionally like we do for queued IO. Instead of deleting the timer when the last request is removed, just let continue running. If a new request comes up soon we then don't have to readd the timer again. If no new requests arrive, the timer will expire without side effect later. This improves high iops sync IO by ~1%. Signed-off-by: Jens Axboe commit 65d3618ccfe686e8d7b3f01a838d0578182406df Author: Jens Axboe Date: Thu Oct 30 08:53:02 2008 +0100 block: add comment in blk_rq_timed_out() about why next can not be 0 Signed-off-by: Jens Axboe commit 565e411d764eeda006738dfadbccca79d48381e1 Author: malahal@us.ibm.com Date: Thu Oct 30 08:51:58 2008 +0100 block: optimizations in blk_rq_timed_out_timer() Now the rq->deadline can't be zero if the request is in the timeout_list, so there is no need to have next_set. There is no need to access a request's deadline field if blk_rq_timed_out is called on it. Signed-off-by: Malahal Naineni Signed-off-by: Jens Axboe commit 66d352e1e410dcea22fecb9fa9ec09dd23a62e1c Author: Fernando Luis Vázquez Cao Date: Mon Oct 27 18:45:54 2008 +0900 xen-blkfront: set queue paravirt flag Xen's blkfront sets noop as the default I/O scheduler at initialization time to avoid elevator overheads such as idling, but with the advent of basic disk profiling capabilities this is not necessary anymore. We should just tell the block layer that we are a paravirt front-end driver and the elevator will automatically make the necessary adjustments. Signed-off-by: Fernando Luis Vazquez Cao Signed-off-by: Jens Axboe commit 7d116b626b843c66b17630a62d696e044d049bfc Author: Fernando Luis Vázquez Cao Date: Mon Oct 27 18:45:15 2008 +0900 virtio_blk: set queue paravirt flag As a paravirt front-end driver, virtio_blk is not a rotational device so we want do avoid idling in AS/CFQ. Tell the block layer about this. Signed-off-by: Fernando Luis Vazquez Cao Signed-off-by: Jens Axboe commit 88e740f1654bf28565edd528a060695c1f2b5ad7 Author: Fernando Luis Vázquez Cao Date: Mon Oct 27 18:44:46 2008 +0900 block: add queue flag for paravirt frontend drivers As is the case with SSD devices, we do not want to idle in AS/CFQ when the block device is a paravirt front-end driver. This patch adds a flag (QUEUE_FLAG_VIRT) which should be used by front-end drivers such as virtio_blk and xen-blkfront to indicate a paravirtualized device. Signed-off-by: Fernando Luis Vazquez Cao Signed-off-by: Jens Axboe commit 0a8c5395f90f06d128247844b2515c8bf3f2826b Merge: 2505115 3c92ec8 Author: Lachlan McIlroy Date: Mon Dec 29 16:47:18 2008 +1100 [XFS] Fix merge failures Merge git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux-2.6 Conflicts: fs/xfs/linux-2.6/xfs_cred.h fs/xfs/linux-2.6/xfs_globals.h fs/xfs/linux-2.6/xfs_ioctl.c fs/xfs/xfs_vnodeops.h Signed-off-by: Lachlan McIlroy commit e3c6d4ee545e427b55882d97d3b663c6411645fe Merge: 5bc0530 3c92ec8 Author: David S. Miller Date: Sun Dec 28 20:19:47 2008 -0800 Merge branch 'master' of master.kernel.org:/pub/scm/linux/kernel/git/torvalds/linux-2.6 Conflicts: arch/sparc64/kernel/idprom.c commit 59c5ea6ebdfa11626635f371b8d99ada2fcaf390 Author: David S. Miller Date: Sun Dec 28 20:15:38 2008 -0800 net: Fix unused variable warnings in pasemi_mac.c and spider_net.c As reported by Stephen Rothwell: -------------------- Today's linux-next build (powerpc ppc64_defconfig) produced these new warnings: drivers/net/pasemi_mac.c: In function 'pasemi_mac_rx_intr': drivers/net/pasemi_mac.c:957: warning: unused variable 'dev' drivers/net/pasemi_mac.c: In function 'pasemi_mac_poll': drivers/net/pasemi_mac.c:1637: warning: unused variable 'dev' drivers/net/spider_net.c: In function 'spider_net_poll': drivers/net/spider_net.c:1280: warning: unused variable 'netdev' Probably caused by commit 908a7a16b852ffd618a9127be8d62432182d81b4 ("net: Remove unused netdev arg from some NAPI interfaces"). -------------------- Signed-off-by: David S. Miller commit bd353ffdc9a355c89ef7e45e4833af5995a5015d Author: Qinghuang Feng Date: Tue Nov 25 11:37:19 2008 -0500 [libata] Update kernel-doc comments to match source code Signed-off-by: Qinghuang Feng commit ece180d1cfe5fa751eaa85bf796cf28b2150af15 Author: Tejun Heo Date: Mon Nov 3 20:04:37 2008 +0900 libata: perform port detach in EH ata_port_detach() first made sure EH saw ATA_PFLAG_UNLOADING and then assumed EH context belongs to it and performed detach operation itself. However, UNLOADING doesn't disable all of EH and this could lead to problems including triggering WARN_ON()'s in EH path. This patch makes port detach behave more like other EH actions such that ata_port_detach() requests EH to detach and waits for completion. Signed-off-by: Tejun Heo Signed-off-by: Jeff Garzik commit ad74e4c18d0962397314460d0da312e72c8bd02d Author: Tejun Heo Date: Mon Nov 3 20:03:49 2008 +0900 libata: when restoring SControl during detach do the PMP links first When restoring SControl during detach, PMP links should be handled first as changing SControl of the host link can affect SCR access of PMP links. Signed-off-by: Tejun Heo Signed-off-by: Jeff Garzik commit 1eca4365be25c540650693e941bc06a66cf38f94 Author: Tejun Heo Date: Mon Nov 3 20:03:17 2008 +0900 libata: beef up iterators There currently are the following looping constructs. * __ata_port_for_each_link() for all available links * ata_port_for_each_link() for edge links * ata_link_for_each_dev() for all devices * ata_link_for_each_dev_reverse() for all devices in reverse order Now there's a need for looping construct which is similar to __ata_port_for_each_link() but iterates over PMP links before the host link. Instead of adding another one with long name, do the following cleanup. * Implement and export ata_link_next() and ata_dev_next() which take @mode parameter and can be used to build custom loop. * Implement ata_for_each_link() and ata_for_each_dev() which take looping mode explicitly. The following iteration modes are implemented. * ATA_LITER_EDGE : loop over edge links * ATA_LITER_HOST_FIRST : loop over all links, host link first * ATA_LITER_PMP_FIRST : loop over all links, PMP links first * ATA_DITER_ENABLED : loop over enabled devices * ATA_DITER_ENABLED_REVERSE : loop over enabled devices in reverse order * ATA_DITER_ALL : loop over all devices * ATA_DITER_ALL_REVERSE : loop over all devices in reverse order This change removes exlicit device enabledness checks from many loops and makes it clear which ones are iterated over in which direction. Signed-off-by: Tejun Heo Signed-off-by: Jeff Garzik commit eca1bf5b4fab56d2feb1572d34d59fcd92ea7df3 Author: David Howells Date: Mon Dec 29 00:41:51 2008 +0000 KEYS: Fix variable uninitialisation warnings Fix variable uninitialisation warnings introduced in: commit 8bbf4976b59fc9fc2861e79cab7beb3f6d647640 Author: David Howells Date: Fri Nov 14 10:39:14 2008 +1100 KEYS: Alter use of key instantiation link-to-keyring argument As: security/keys/keyctl.c: In function 'keyctl_negate_key': security/keys/keyctl.c:976: warning: 'dest_keyring' may be used uninitialized in this function security/keys/keyctl.c: In function 'keyctl_instantiate_key': security/keys/keyctl.c:898: warning: 'dest_keyring' may be used uninitialized in this function Some versions of gcc notice that get_instantiation_key() doesn't always set *_dest_keyring, but fail to observe that if this happens then *_dest_keyring will not be read by the caller. Reported-by: Linus Torvalds Signed-off-by: David Howells Signed-off-by: James Morris commit 3c92ec8ae91ecf59d88c798301833d7cf83f2179 Merge: c4c9f01 ca9153a Author: Linus Torvalds Date: Sun Dec 28 16:54:33 2008 -0800 Merge branch 'next' of git://git.kernel.org/pub/scm/linux/kernel/git/paulus/powerpc * 'next' of git://git.kernel.org/pub/scm/linux/kernel/git/paulus/powerpc: (144 commits) powerpc/44x: Support 16K/64K base page sizes on 44x powerpc: Force memory size to be a multiple of PAGE_SIZE powerpc/32: Wire up the trampoline code for kdump powerpc/32: Add the ability for a classic ppc kernel to be loaded at 32M powerpc/32: Allow __ioremap on RAM addresses for kdump kernel powerpc/32: Setup OF properties for kdump powerpc/32/kdump: Implement crash_setup_regs() using ppc_save_regs() powerpc: Prepare xmon_save_regs for use with kdump powerpc: Remove default kexec/crash_kernel ops assignments powerpc: Make default kexec/crash_kernel ops implicit powerpc: Setup OF properties for ppc32 kexec powerpc/pseries: Fix cpu hotplug powerpc: Fix KVM build on ppc440 powerpc/cell: add QPACE as a separate Cell platform powerpc/cell: fix build breakage with CONFIG_SPUFS disabled powerpc/mpc5200: fix error paths in PSC UART probe function powerpc/mpc5200: add rts/cts handling in PSC UART driver powerpc/mpc5200: Make PSC UART driver update serial errors counters powerpc/mpc5200: Remove obsolete code from mpc5200 MDIO driver powerpc/mpc5200: Add MDMA/UDMA support to MPC5200 ATA driver ... Fix trivial conflict in drivers/char/Makefile as per Paul's directions commit c4c9f0183b7c4e97836e8fecbb67898b06c47e78 Author: Stephen Rothwell Date: Mon Dec 29 10:46:13 2008 +1100 net: ehea NAPI interface cleanup fix Commit 908a7a16b852ffd618a9127be8d62432182d81b4 ("net: Remove unused netdev arg from some NAPI interfaces") missed two spots. Signed-off-by: Stephen Rothwell Signed-off-by: Linus Torvalds commit bf66542bef3771a42ad3b1d5dc503c804bc22b33 Author: Stephen Rothwell Date: Wed Dec 3 13:49:23 2008 +1100 cifs: update for new IP4/6 address printing Signed-off-by: Stephen Rothwell Signed-off-by: Linus Torvalds commit b854b2ab959e8175d75e01cf8ed452ed2624d0c8 Author: Eric Anholt Date: Mon Dec 22 18:56:27 2008 -0800 agp/intel: Fix broken ® symbol in device name. Signed-off-by: Eric Anholt Signed-off-by: Dave Airlie commit a50ccc6c6623ab0e64f2109881e07c176b2d876f Author: Zhenyu Wang Date: Mon Nov 17 14:39:00 2008 +0800 agp/intel: add support for G41 chipset Signed-off-by: Zhenyu Wang Signed-off-by: Eric Anholt Signed-off-by: Dave Airlie commit b2e2fe99628c4f944c3075258e536197b5a4f3f8 Author: Ingo Molnar Date: Mon Dec 29 00:16:45 2008 +0100 sparseirq: work around __weak alias bug Impact: fix boot crash if the kernel is built with certain GCC versions GCC has a bug with __weak alias functions: if the functions are in the same compilation unit as their call site, GCC can decide to inline them - and thus rob the linker of the opportunity to override the weak alias with the real thing. This can lead to the boot crash reported by Kamalesh Babulal: ACPI: Core revision 20080926 Setting APIC routing to flat BUG: unable to handle kernel NULL pointer dereference at 0000000000000000 IP: [] add_pin_to_irq_cpu+0x14/0x74 PGD 0 Oops: 0000 [#1] SMP [...] So move the arch_init_chip_data() function from handle.c to manage.c. Reported-by: Kamalesh Babulal Signed-off-by: Ingo Molnar commit d05a788f2279056a518d412c6391322ef11366e0 Merge: 96faec9 54d2f64 Author: Linus Torvalds Date: Sun Dec 28 15:15:08 2008 -0800 Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jmorris/security-testing-2.6 * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jmorris/security-testing-2.6: smackfs: check for allocation failures in smk_set_access() commit 96faec945f39cab38403f60f515bff43660b4dab Merge: 2926328 9bb4824 Author: Linus Torvalds Date: Sun Dec 28 15:13:48 2008 -0800 Merge git://git.kernel.org/pub/scm/linux/kernel/git/sam/kbuild-next * git://git.kernel.org/pub/scm/linux/kernel/git/sam/kbuild-next: (25 commits) allow stripping of generated symbols under CONFIG_KALLSYMS_ALL kbuild: strip generated symbols from *.ko kbuild: simplify use of genksyms kernel-doc: check for extra kernel-doc notations kbuild: add headerdep used to detect inclusion cycles in header files kbuild: fix string equality testing in tags.sh kbuild: fix make tags/cscope kbuild: fix make incompatibility kbuild: remove TAR_IGNORE setlocalversion: add git-svn support setlocalversion: print correct subversion revision scripts: improve the decodecode script scripts/package: allow custom options to rpm genksyms: allow to ignore symbol checksum changes genksyms: track symbol checksum changes tags and cscope support really belongs in a shell script kconfig: fix options to check-lxdialog.sh kbuild: gen_init_cpio expands shell variables in file names remove bashisms from scripts/extract-ikconfig kbuild: teach mkmakfile to be silent ... commit 2926328554fa740518e2a6585b2cefb01e5f65f3 Merge: 541ef5c 8587b33f Author: Linus Torvalds Date: Sun Dec 28 15:12:35 2008 -0800 Merge git://git.kernel.org/pub/scm/linux/kernel/git/wim/linux-2.6-nvram * git://git.kernel.org/pub/scm/linux/kernel/git/wim/linux-2.6-nvram: [PATCH] nvram - convert PRINT_PROC to seq_file [PATCH] nvram - CodingStyle commit 54d2f649a67109d877ca143c09cdeba61fe51bcf Merge: 541ef5c 81ea714 Author: James Morris Date: Mon Dec 29 09:57:38 2008 +1100 Merge branch 'next' into for-linus commit ca9153a3a2a7556d091dfe080e42b0e67881fff6 Author: Ilya Yanok Date: Thu Dec 11 04:55:41 2008 +0300 powerpc/44x: Support 16K/64K base page sizes on 44x This adds support for 16k and 64k page sizes on PowerPC 44x processors. The PGDIR table is much smaller than a page when using 16k or 64k pages (512 and 32 bytes respectively) so we allocate the PGDIR with kzalloc() instead of __get_free_pages(). One PTE table covers rather a large memory area when using 16k or 64k pages (32MB or 512MB respectively), so we can easily put FIXMAP and PKMAP in the area covered by one PTE table. Signed-off-by: Yuri Tikhonov Signed-off-by: Vladimir Panfilov Signed-off-by: Ilya Yanok Acked-by: Josh Boyer Signed-off-by: Paul Mackerras commit 6ca4f7494bde078b2b730e28e4ea1dc36a772f70 Author: Hollis Blanchard Date: Wed Nov 26 10:19:26 2008 -0600 powerpc: Force memory size to be a multiple of PAGE_SIZE Ensure that total memory size is page-aligned, because otherwise mark_bootmem() gets upset. This error case was triggered by using 64 KiB pages in the kernel while arch/powerpc/boot/4xx.c arbitrarily reduced the amount of memory by 4096 (to work around a chip bug that affects the last 256 bytes of physical memory). Signed-off-by: Hollis Blanchard Signed-off-by: Paul Mackerras commit 541ef5cbb8e68189d47272cea52a69abc30259bc Merge: 0191b62 aa6eeee Author: Linus Torvalds Date: Sun Dec 28 12:54:07 2008 -0800 Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/geert/linux-m68k * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/geert/linux-m68k: m68k: use the new byteorder headers fbcon: Protect free_irq() by MACH_IS_ATARI check fbcon: remove broken mac vbl handler m68k: fix trigraph ignored warning in setox.S macfb annotations and compiler warning fix m68k: mac baboon interrupt enable/disable m68k: machw.h cleanup m68k: Mac via cleanup and commentry m68k: Reinstate mac rtc commit 0191b625ca5a46206d2fb862bb08f36f2fcb3b31 Merge: 54a696b eb56092 Author: Linus Torvalds Date: Sun Dec 28 12:49:40 2008 -0800 Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-next-2.6 * git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-next-2.6: (1429 commits) net: Allow dependancies of FDDI & Tokenring to be modular. igb: Fix build warning when DCA is disabled. net: Fix warning fallout from recent NAPI interface changes. gro: Fix potential use after free sfc: If AN is enabled, always read speed/duplex from the AN advertising bits sfc: When disabling the NIC, close the device rather than unregistering it sfc: SFT9001: Add cable diagnostics sfc: Add support for multiple PHY self-tests sfc: Merge top-level functions for self-tests sfc: Clean up PHY mode management in loopback self-test sfc: Fix unreliable link detection in some loopback modes sfc: Generate unique names for per-NIC workqueues 802.3ad: use standard ethhdr instead of ad_header 802.3ad: generalize out mac address initializer 802.3ad: initialize ports LACPDU from const initializer 802.3ad: remove typedef around ad_system 802.3ad: turn ports is_individual into a bool 802.3ad: turn ports is_enabled into a bool 802.3ad: make ntt bool ixgbe: Fix set_ringparam in ixgbe to use the same memory pools. ... Fixed trivial IPv4/6 address printing conflicts in fs/cifs/connect.c due to the conversion to %pI (in this networking merge) and the addition of doing IPv6 addresses (from the earlier merge of CIFS). commit 54a696bd07c14d3b1192d03ce7269bc59b45209a Merge: 1d248b2 359d67d Author: Linus Torvalds Date: Sun Dec 28 12:37:14 2008 -0800 Merge git://git.kernel.org/pub/scm/linux/kernel/git/sfrench/cifs-2.6 * git://git.kernel.org/pub/scm/linux/kernel/git/sfrench/cifs-2.6: (31 commits) [CIFS] Remove redundant test [CIFS] make sure that DFS pathnames are properly formed Remove an already-checked error condition in SendReceiveBlockingLock Streamline SendReceiveBlockingLock: Use "goto out:" in an error condition Streamline SendReceiveBlockingLock: Use "goto out:" in an error condition [CIFS] Streamline SendReceive[2] by using "goto out:" in an error condition Slightly streamline SendReceive[2] Check the return value of cifs_sign_smb[2] [CIFS] Cleanup: Move the check for too large R/W requests [CIFS] Slightly simplify wait_for_free_request(), remove an unnecessary "else" branch Simplify allocate_mid() slightly: Remove some unnecessary "else" branches [CIFS] In SendReceive, move consistency check out of the mutexed region cifs: store password in tcon cifs: have calc_lanman_hash take more granular args cifs: zero out session password before freeing it cifs: fix wait_for_response to time out sleeping processes correctly [CIFS] Can not mount with prefixpath if root directory of share is inaccessible [CIFS] various minor cleanups pointed out by checkpatch script [CIFS] fix typo [CIFS] remove sparse warning ... Fix trivial conflict in fs/cifs/cifs_fs_sb.h due to comment changes for the CIFS_MOUNT_xyz bit definitions between cifs updates and security updates. commit 1d248b2593e92db6c51ca07235985a95c625a93f Merge: 1db2a5c 2a0d836 Author: Linus Torvalds Date: Sun Dec 28 12:33:59 2008 -0800 Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/roland/infiniband * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/roland/infiniband: (26 commits) IB/mlx4: Set ownership bit correctly when copying CQEs during CQ resize RDMA/nes: Remove tx_free_list RDMA/cma: Add IPv6 support RDMA/addr: Add support for translating IPv6 addresses mlx4_core: Delete incorrect comment mlx4_core: Add support for multiple completion event vectors IB/iser: Avoid recv buffer exhaustion caused by unexpected PDUs IB/ehca: Remove redundant test of vpage IB/ehca: Replace modulus operations in flush error completion path IB/ipath: Add locking for interrupt use of ipath_pd contexts vs free IB/ipath: Fix spi_pioindex value IB/ipath: Only do 1X workaround on rev1 chips IB/ipath: Don't count IB symbol and link errors unless link is UP IB/ipath: Check return value of dma_map_single() IB/ipath: Fix PSN of send WQEs after an RDMA read resend RDMA/nes: Cleanup warnings RDMA/nes: Add loopback check to make_cm_node() RDMA/nes: Check cqp_avail_reqs is empty after locking the list RDMA/nes: Fix TCP compliance test failures RDMA/nes: Forward packets for a new connection with stale APBVT entry ... commit 1db2a5c11e495366bff35cf7445d494703f7febe Merge: a39b863 cef7125 Author: Linus Torvalds Date: Sun Dec 28 12:33:21 2008 -0800 Merge branch 'for-linus' of git://git390.osdl.marist.edu/pub/scm/linux-2.6 * 'for-linus' of git://git390.osdl.marist.edu/pub/scm/linux-2.6: (85 commits) [S390] provide documentation for hvc_iucv kernel parameter. [S390] convert ctcm printks to dev_xxx and pr_xxx macros. [S390] convert zfcp printks to pr_xxx macros. [S390] convert vmlogrdr printks to pr_xxx macros. [S390] convert zfcp dumper printks to pr_xxx macros. [S390] convert cpu related printks to pr_xxx macros. [S390] convert qeth printks to dev_xxx and pr_xxx macros. [S390] convert sclp printks to pr_xxx macros. [S390] convert iucv printks to dev_xxx and pr_xxx macros. [S390] convert ap_bus printks to pr_xxx macros. [S390] convert dcssblk and extmem printks messages to pr_xxx macros. [S390] convert monwriter printks to pr_xxx macros. [S390] convert s390 debug feature printks to pr_xxx macros. [S390] convert monreader printks to pr_xxx macros. [S390] convert appldata printks to pr_xxx macros. [S390] convert setup printks to pr_xxx macros. [S390] convert hypfs printks to pr_xxx macros. [S390] convert time printks to pr_xxx macros. [S390] convert cpacf printks to pr_xxx macros. [S390] convert cio printks to pr_xxx macros. ... commit a39b863342b8aba52390092be95db58f6ed56061 Merge: b0f4b28 4e20228 Author: Linus Torvalds Date: Sun Dec 28 12:27:58 2008 -0800 Merge branch 'sched-core-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip * 'sched-core-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip: (31 commits) sched: fix warning in fs/proc/base.c schedstat: consolidate per-task cpu runtime stats sched: use RCU variant of list traversal in for_each_leaf_rt_rq() sched, cpuacct: export percpu cpuacct cgroup stats sched, cpuacct: refactoring cpuusage_read / cpuusage_write sched: optimize update_curr() sched: fix wakeup preemption clock sched: add missing arch_update_cpu_topology() call sched: let arch_update_cpu_topology indicate if topology changed sched: idle_balance() does not call load_balance_newidle() sched: fix sd_parent_degenerate on non-numa smp machine sched: add uid information to sched_debug for CONFIG_USER_SCHED sched: move double_unlock_balance() higher sched: update comment for move_task_off_dead_cpu sched: fix inconsistency when redistribute per-cpu tg->cfs_rq shares sched/rt: removed unneeded defintion sched: add hierarchical accounting to cpu accounting controller sched: include group statistics in /proc/sched_debug sched: rename SCHED_NO_NO_OMIT_FRAME_POINTER => SCHED_OMIT_FRAME_POINTER sched: clean up SCHED_CPUMASK_ALLOC ... commit b0f4b285d7ed174804658539129a834270f4829a Merge: be9c5ae 5250d32 Author: Linus Torvalds Date: Sun Dec 28 12:21:10 2008 -0800 Merge branch 'tracing-core-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip * 'tracing-core-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip: (241 commits) sched, trace: update trace_sched_wakeup() tracing/ftrace: don't trace on early stage of a secondary cpu boot, v3 Revert "x86: disable X86_PTRACE_BTS" ring-buffer: prevent false positive warning ring-buffer: fix dangling commit race ftrace: enable format arguments checking x86, bts: memory accounting x86, bts: add fork and exit handling ftrace: introduce tracing_reset_online_cpus() helper tracing: fix warnings in kernel/trace/trace_sched_switch.c tracing: fix warning in kernel/trace/trace.c tracing/ring-buffer: remove unused ring_buffer size trace: fix task state printout ftrace: add not to regex on filtering functions trace: better use of stack_trace_enabled for boot up code trace: add a way to enable or disable the stack tracer x86: entry_64 - introduce FTRACE_ frame macro v2 tracing/ftrace: add the printk-msg-only option tracing/ftrace: use preempt_enable_no_resched_notrace in ring_buffer_time_stamp() x86, bts: correctly report invalid bts records ... Fixed up trivial conflict in scripts/recordmcount.pl due to SH bits being already partly merged by the SH merge. commit be9c5ae4eeec2e85527e95647348b8ea4eb25128 Merge: bb26c6c 79a66b9 Author: Linus Torvalds Date: Sun Dec 28 12:07:57 2008 -0800 Merge branch 'x86-core-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip * 'x86-core-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip: (246 commits) x86: traps.c replace #if CONFIG_X86_32 with #ifdef CONFIG_X86_32 x86: PAT: fix address types in track_pfn_vma_new() x86: prioritize the FPU traps for the error code x86: PAT: pfnmap documentation update changes x86: PAT: move track untrack pfnmap stubs to asm-generic x86: PAT: remove follow_pfnmap_pte in favor of follow_phys x86: PAT: modify follow_phys to return phys_addr prot and return value x86: PAT: clarify is_linear_pfn_mapping() interface x86: ia32_signal: remove unnecessary declaration x86: common.c boot_cpu_stack and boot_exception_stacks should be static x86: fix intel x86_64 llc_shared_map/cpu_llc_id anomolies x86: fix warning in arch/x86/kernel/microcode_amd.c x86: ia32.h: remove unused struct sigfram32 and rt_sigframe32 x86: asm-offset_64: use rt_sigframe_ia32 x86: sigframe.h: include headers for dependency x86: traps.c declare functions before they get used x86: PAT: update documentation to cover pgprot and remap_pfn related changes - v3 x86: PAT: add pgprot_writecombine() interface for drivers - v3 x86: PAT: change pgprot_noncached to uc_minus instead of strong uc - v3 x86: PAT: implement track/untrack of pfnmap regions for x86 - v3 ... commit bb26c6c29b7cc9f39e491b074b09f3c284738d36 Merge: e14e61e cbacc2c Author: Linus Torvalds Date: Sun Dec 28 11:43:54 2008 -0800 Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jmorris/security-testing-2.6 * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jmorris/security-testing-2.6: (105 commits) SELinux: don't check permissions for kernel mounts security: pass mount flags to security_sb_kern_mount() SELinux: correctly detect proc filesystems of the form "proc/foo" Audit: Log TIOCSTI user namespaces: document CFS behavior user namespaces: require cap_set{ug}id for CLONE_NEWUSER user namespaces: let user_ns be cloned with fairsched CRED: fix sparse warnings User namespaces: use the current_user_ns() macro User namespaces: set of cleanups (v2) nfsctl: add headers for credentials coda: fix creds reference capabilities: define get_vfs_caps_from_disk when file caps are not enabled CRED: Allow kernel services to override LSM settings for task actions CRED: Add a kernel_service object class to SELinux CRED: Differentiate objective and effective subjective credentials on a task CRED: Documentation CRED: Use creds in file structs CRED: Prettify commoncap.c CRED: Make execve() take advantage of copy-on-write credentials ... commit e14e61e967f2b3bdf23f05e4ae5b9aa830151a44 Merge: cb10ea5 0ee4a96 Author: Linus Torvalds Date: Sun Dec 28 11:43:22 2008 -0800 Merge git://git.kernel.org/pub/scm/linux/kernel/git/herbert/crypto-2.6 * git://git.kernel.org/pub/scm/linux/kernel/git/herbert/crypto-2.6: (57 commits) crypto: aes - Precompute tables crypto: talitos - Ack done interrupt in isr instead of tasklet crypto: testmgr - Correct comment about deflate parameters crypto: salsa20 - Remove private wrappers around various operations crypto: des3_ede - permit weak keys unless REQ_WEAK_KEY set crypto: sha512 - Switch to shash crypto: sha512 - Move message schedule W[80] to static percpu area crypto: michael_mic - Switch to shash crypto: wp512 - Switch to shash crypto: tgr192 - Switch to shash crypto: sha256 - Switch to shash crypto: md5 - Switch to shash crypto: md4 - Switch to shash crypto: sha1 - Switch to shash crypto: rmd320 - Switch to shash crypto: rmd256 - Switch to shash crypto: rmd160 - Switch to shash crypto: rmd128 - Switch to shash crypto: null - Switch to shash crypto: hash - Make setkey optional ... commit cb10ea549fdc0ab2dd8988adab5bf40b4fa642f3 Merge: 81d6e59 5ce442f Author: Linus Torvalds Date: Sun Dec 28 11:41:32 2008 -0800 Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tiwai/sound-2.6 * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tiwai/sound-2.6: (367 commits) ALSA: ASoC: fix a typo in omp-pcm.c ASoC: Fix DSP formats in SSM2602 audio codec ASoC: Fix incorrect DSP format in OMAP McBSP DAI and affected drivers ALSA: hda: fix incorrect mixer index values for 92hd83xx ALSA: hda: dinput_mux check ALSA: hda - Add quirk for another HP dv7 ALSA: ASoC - Add missing __devexit annotation to wm8350.c ALSA: ASoc: DaVinci: davinci-evm use dsp_b mode ALSA: ASoC: DaVinci: i2s, evm, pass same value to codec and cpu_dai ALSA: ASoC: tlv320aic3x add dsp_a ALSA: ASoC: DaVinci: document I2S limitations ALSA: ASoC: DaVinci: davinci-i2s clean up ALSA: ASoC: DaVinci: davinci-i2s clean up ALSA: ASoC: DaVinci: davinci-i2s add comments to explain polarity ALSA: ASoC: DaVinci: davinvi-evm, make requests explicit ALSA: ca0106 - disable 44.1kHz capture ALSA: ca0106 - Add missing card->private_data initialization ALSA: ca0106 - Check ac97 availability at PM ALSA: hda - Power up always when no jack detection is available ALSA: hda - Fix unused variable warnings in patch_sigmatel.c ... commit 81d6e59dabb1ae0c782e9eb7e3d88f699d25b314 Merge: 4a6908a 59de580 Author: Linus Torvalds Date: Sun Dec 28 11:39:19 2008 -0800 Merge git://git.kernel.org/pub/scm/linux/kernel/git/lethal/sh-2.6 * git://git.kernel.org/pub/scm/linux/kernel/git/lethal/sh-2.6: (132 commits) sh: oprofile: Fix up the module build. sh: add UIO support for JPU on SH7722. serial: sh-sci: Fix up port pinmux for SH7366. sh: mach-rsk: Use uImage generation by default for rsk7201/7203. sh: mach-sh03: Fix up pata_platform build breakage. sh: enable deferred io LCDC on Migo-R video: sh_mobile_lcdcfb deferred io support video: deferred io with physically contiguous memory video: deferred io cleanup video: fix deferred io fsync() sh: add LCDC interrupt configuration to AP325 and Migo-R sh_mobile_lcdc: use FB_SYS helpers instead of FB_CFB sh: split coherent pages sh: dma: Kill off ISA DMA wrapper. sh: Conditionalize the code dumper on CONFIG_DUMP_CODE. sh: Kill off the unused SH_ALPHANUMERIC debug option. sh: Enable skipping of bss on debug platforms for sh32 also. doc: Update sh cpufreq documentation. sh: mrshpc_setup_windows() needs to be inline. serial: sh-sci: sci_poll_get_char() is only used by CONFIG_CONSOLE_POLL. ... commit aa6eeeef78263e9891185c6cfaaf64808460a54a Author: Harvey Harrison Date: Tue Nov 18 20:45:23 2008 +0100 m68k: use the new byteorder headers Signed-off-by: Harvey Harrison Signed-off-by: Geert Uytterhoeven commit 7f877ebb32ac9a4b0783e825cef84c6ace87fe90 Author: Geert Uytterhoeven Date: Tue Nov 18 20:45:23 2008 +0100 fbcon: Protect free_irq() by MACH_IS_ATARI check Add missing check for Atari in free_irq() call, which could cause problems on multi-platform m68k kernels. Reported-by: Brad Boyer Signed-off-by: Geert Uytterhoeven commit 79f0c9a0479060e3a8607d93bc8d81ff962acc87 Author: Finn Thain Date: Tue Nov 18 20:45:23 2008 +0100 fbcon: remove broken mac vbl handler Remove the Mac VBL interrupt code as it doesn't work properly and doesn't bring any benefit when fixed. Also remove unused DEFAULT_CURSOR_BLINK_RATE macro and irqres variable. Signed-off-by: Finn Thain Signed-off-by: Geert Uytterhoeven commit 646819e86222cc06b85ed2a8dafbbb361a05ea2d Author: Finn Thain Date: Tue Nov 18 20:45:22 2008 +0100 m68k: fix trigraph ignored warning in setox.S Fix the warning: trigraph ??/ ignored, use -trigraphs to enable caused by the recent removal of -traditional option. Signed-off-by: Finn Thain Signed-off-by: Geert Uytterhoeven commit 3839d01d61195d76d53943ac36b603d7e7ca4b6e Author: Finn Thain Date: Tue Nov 18 20:45:22 2008 +0100 macfb annotations and compiler warning fix Add some __iomem annotations. Remove some volatile qualifiers to fix several compiler warnings: "passing arg 1 of `iounmap' discards qualifiers from pointer target type". Signed-off-by: Finn Thain Signed-off-by: Geert Uytterhoeven commit 746e8d3b223281f0e5472ab0ad8f59af2221ea9b Author: Finn Thain Date: Tue Nov 18 20:45:21 2008 +0100 m68k: mac baboon interrupt enable/disable No-one seems to know how to mask individual baboon interrupts, so we just mask the umbrella IRQ. This will work as long as only the IDE driver uses the baboon chip (it can't deadlock). Use mac_enable_irq/mac_disable_irq rather than enable_irq/disable_irq because the latter routines count the depth of nested calls which triggers a warning and call trace because IRQ_NUBUS_C is enabled twice in a row (once when the baboon handler is registered, and once when the IDE IRQ is registered). Signed-off-by: Finn Thain Signed-off-by: Geert Uytterhoeven commit 429dbf53bca49b110f1058f0d9417a59115c41b8 Author: Finn Thain Date: Tue Nov 18 20:45:20 2008 +0100 m68k: machw.h cleanup Remove some more cruft from machw.h and drop the #include where it isn't needed. Signed-off-by: Finn Thain Signed-off-by: Geert Uytterhoeven commit 4a973592d67ccc240bca694e48ce88facd764043 Author: Finn Thain Date: Tue Nov 18 20:45:20 2008 +0100 m68k: Mac via cleanup and commentry No behavioural changes, just cleanups and better documentation. Signed-off-by: Finn Thain Signed-off-by: Geert Uytterhoeven commit 40f7f9c1c22aef049ed7339d9e45624aa980a1a0 Author: Finn Thain Date: Tue Nov 18 20:45:20 2008 +0100 m68k: Reinstate mac rtc Reinstate the Mac hardware clock for CUDA ADB and Mac II ADB models. It doesn't work properly on Mac IIsi ADB and PMU ADB yet, so leave them out. Signed-off-by: Finn Thain Signed-off-by: Geert Uytterhoeven commit f2863c54f30cccb50661697a6e4bdcd0ad0b0a6c Author: Artem Bityutskiy Date: Sun Dec 28 12:20:51 2008 +0200 UBI: fix checkpatch.pl warnings Just minor indentation and "over 80 characters" fixes. Signed-off-by: Artem Bityutskiy commit 874d6a9555516cbac828131d573ce3d16ce47164 Author: FUJITA Tomonori Date: Sun Dec 28 15:02:07 2008 +0900 swiotlb: clean up EXPORT_SYMBOL usage Impact: cleanup swiotlb uses EXPORT_SYMBOL in an inconsistent way. Some functions use EXPORT_SYMBOL at the end of functions. Some use it at the end of swiotlb.c. This cleans up swiotlb to use EXPORT_SYMBOL in a consistent way (at the end of functions). Signed-off-by: FUJITA Tomonori Signed-off-by: Ingo Molnar commit ac86ccc637458dea53077823f98bc3e1b874d478 Author: FUJITA Tomonori Date: Sun Dec 28 15:02:06 2008 +0900 swiotlb: remove unnecessary declaration Impact: cleanup Signed-off-by: FUJITA Tomonori Signed-off-by: Ingo Molnar commit 1da4f9894c243a9c58c505fd8f3e6cc0709a8825 Author: FUJITA Tomonori Date: Sun Dec 28 15:02:05 2008 +0900 swiotlb: replace architecture-specific swiotlb.h with linux/swiotlb.h Impact: cleanup This replaces architecture-specific swiotlb.h (X86 and IA64) with linux/swiotlb.h. Signed-off-by: FUJITA Tomonori Signed-off-by: Ingo Molnar commit fb05a37929e0cd99016b4f5e5a5ef077fb10a947 Author: Becky Bruce Date: Mon Dec 22 10:26:09 2008 -0800 swiotlb: add support for systems with highmem Impact: extend code for highmem - existing users unaffected On highmem systems, the original dma buffer might not have a virtual mapping - we need to kmap it in to perform the bounce. Extract the code that does the actual copy into a function that does the kmap if highmem is enabled, and default to the normal swiotlb memcpy if not. [ ported by Jeremy Fitzhardinge ] Signed-off-by: Becky Bruce Signed-off-by: Jeremy Fitzhardinge Signed-off-by: Ingo Molnar commit bc40ac66988a7721f2a244b6df65f8c13d16479c Author: Becky Bruce Date: Mon Dec 22 10:26:08 2008 -0800 swiotlb: store phys address in io_tlb_orig_addr array Impact: refactor code, cleanup When we enable swiotlb for platforms that support HIGHMEM, we can no longer store the virtual address of the original dma buffer, because that buffer might not have a permament mapping. Change the swiotlb code to instead store the physical address of the original buffer. Signed-off-by: Becky Bruce Signed-off-by: Ingo Molnar commit 70a7d3cc1308a55104fbe505d76f2aca8a4cf53e Author: Jeremy Fitzhardinge Date: Mon Dec 22 10:26:05 2008 -0800 swiotlb: add hwdev to swiotlb_phys_to_bus() / swiotlb_sg_to_bus() Impact: extend functions with a (yet unused) parameter, update callsites Some architectures need it - in preparation for highmem swiotlb. Signed-off-by: Jeremy Fitzhardinge Signed-off-by: Ingo Molnar commit eb56092fc168bf5af199d47af50c0d84a96db898 Author: Dave Jones Date: Sat Dec 27 20:43:48 2008 -0800 net: Allow dependancies of FDDI & Tokenring to be modular. I noticed it isn't possible to build token ring & fddi drivers without causing LLC, and a bunch of other things to be forced built-in. For distro kernels, this means carrying a chunk of code in the vmlinuz, even if the user doesn't use those protocols. Signed-off-by: Dave Jones Signed-off-by: David S. Miller commit 12026ea16a618b289fcf457661aed24f57323a20 Author: Yinghai Lu Date: Fri Dec 26 22:38:15 2008 -0800 sparseirq: fix hang with !SPARSE_IRQ Impact: fix hang Suresh report his two sockets system only works with SPARSE_IRQ enable it turns out we miss the setting desc->irq so provide early_irq_init() even !SPARSE_IRQ to set desc->irq Reported-by: "Siddha, Suresh B" Signed-off-by: Yinghai Lu Signed-off-by: Ingo Molnar commit fa6beb37b0d9bc00f90f11154eeed9502d8b0a37 Author: Yinghai Lu Date: Mon Dec 22 20:24:09 2008 -0800 sparseirq: set lock_class for legacy irq when sparse_irq is selected Impact: add lockdep annotation to legacy IRQ descs Warnings resulting out of this were not seen in practice, but it's prudent to initialize the legacy descriptors to the lock class as well, symmetric to how we do it with other descriptors. Signed-off-by: Yinghai Lu Signed-off-by: Ingo Molnar commit 13a0c3c269b223f60abfac8a9811d77111a8b4ba Author: Yinghai Lu Date: Fri Dec 26 02:05:47 2008 -0800 sparseirq: work around compiler optimizing away __weak functions Impact: fix panic on null pointer with sparseirq Some GCC versions seem to inline the weak global function, when that function is empty. Work it around, by making the functions return a (dummy) integer. Signed-off-by: Yinghai Signed-off-by: Ingo Molnar commit b6b301aa9fba57b114c3a00f5f43abf672bd4ecd Author: Jaswinder Singh Date: Tue Dec 23 21:52:33 2008 +0530 x86: apic.c x2apic_preenabled and disable_x2apic should be static Impact: cleanup, reduce kernel size a bit, avoid sparse warning Fixes sparse warning: arch/x86/kernel/apic.c:103:5: warning: symbol 'disable_x2apic' was not declared. Should it be static? Signed-off-by: Jaswinder Singh Signed-off-by: Ingo Molnar commit 0b936bfdeb85784b7df132b2c64fb34ad9b11ffa Author: Jaswinder Singh Date: Tue Dec 23 21:51:28 2008 +0530 x86: reboot.c declare port_cf9_safe before they get used Impact: cleanup, avoid sparse warning Include "../pci/pci.h" for port_cf9_safe Fixes this sparse warning: arch/x86/kernel/reboot.c:43:6: warning: symbol 'port_cf9_safe' was not declared. Should it be static? Signed-off-by: Jaswinder Singh Signed-off-by: Ingo Molnar commit 34bf5d0ff54d03f0a8ed690d47efb806ee2fffcb Merge: bd8b96d 79a66b9 Author: Ingo Molnar Date: Sat Dec 27 11:30:05 2008 +0100 Merge branch 'x86/core' into x86/cleanups commit 5bc053089376217943187ed5153d0d1e5c5085b6 Author: Sam Ravnborg Date: Sat Dec 27 00:56:29 2008 -0800 sparc: move select of ARCH_SUPPORTS_MSI It is counter intuitive to have the select listed as part of the PCI option. Move the select to the SPARC64 specific part of the config. PCI_MSI has a dependency on PCI so it does not harm to have it always selected. Signed-off-by: Sam Ravnborg Signed-off-by: David S. Miller commit c4a4a21977573141fd6d53b9cf0879782ae3dda2 Author: Sam Ravnborg Date: Sat Dec 27 00:55:45 2008 -0800 sparc: drop SUN_IO SUN_IO is always 'y' so drop it and thus killing an ifdef/endif pair Signed-off-by: Sam Ravnborg Signed-off-by: David S. Miller commit 86ed40bd6fe511d26bb8f3fa65a84cb65c235366 Author: Sam Ravnborg Date: Sat Dec 27 00:35:12 2008 -0800 sparc: unify sections.h While doing this use standard names for start/end so we could use definitions straight from asm-generic for all the typical symbols. This also allowed us to drop the use of PROVIDE in the linker script so sprc is less non-standard on this area. Signed-off-by: Sam Ravnborg Signed-off-by: David S. Miller commit b74e34dbdeb39136e0557930a373392b7d644f43 Author: Sam Ravnborg Date: Sat Dec 27 00:34:41 2008 -0800 sparc: use .data.init_task section for init_thread_union Use a dedicated aligned section for the init_thread_union variable and declare this section in vmlinux.lds. This align sparc with most other architectures. Eventually this allow the init_task bits to be unified across all architectures. Signed-off-by: Sam Ravnborg Signed-off-by: David S. Miller commit 793f7b12a0c95e7bfec1badf9628043fb78fd440 Author: Ingo Molnar Date: Fri Dec 26 19:02:20 2008 +0100 sparseirq: fix desc->lock init Impact: cleanup init_one_irq_desc() does not initialize the desc->lock properly - you cannot init a lock by memcpying some other lock on it. This happens to work right now (because irq_desc_init is never in use), but it's a dangerous construct nevertheless, so fix it. Signed-off-by: Ingo Molnar commit 8b07cd44511f3aa78dd912cca6493275a6787dc5 Author: Ingo Molnar Date: Fri Dec 26 19:10:04 2008 +0100 sparseirq: do not printk when migrating IRQ descriptors Impact: reduce printk noise There were a couple of leftover KERN_DEBUG debugging printks, remove them. Also clarify an error message. Signed-off-by: Ingo Molnar commit 92d9091f305cc32eb64edc1757d925b93acde6da Author: Robert Reif Date: Fri Dec 26 15:39:11 2008 -0800 sparc: fix array overrun check in of_device_64.c Do the array length check and fixup before copying the array. Signed-off-by: Robert Reif Signed-off-by: David S. Miller commit e6b04fe0bae3c0c9204c8190c8988efa6646ef35 Author: Sam Ravnborg Date: Fri Dec 26 15:38:17 2008 -0800 sparc: unify module.c o Copy module_64.c to module.c o Add all sparc specific bits to module.c o delete module_32.c o update Makefile Signed-off-by: Sam Ravnborg Signed-off-by: David S. Miller commit 627bf2f678ba7325461922af137ff5f20b6523eb Author: Sam Ravnborg Date: Fri Dec 26 15:37:24 2008 -0800 sparc64: prepare module_64.c for unification o Introduce a helper function o Combine sparc64 specific case values o add ifdef's around sparc64 code snippets Note: The ifdef around the BUG_ON is highly questionable but for now the safe approach was taken Signed-off-by: Sam Ravnborg Signed-off-by: David S. Miller commit c45d1c209f7420a01afd1f82c08af8d681fd56b8 Author: Sam Ravnborg Date: Fri Dec 26 15:36:29 2008 -0800 sparc64: use bit neutral Elf symbols To prepare for unification use the bit neutral versions of the Elf types defined by asm/module.h Signed-off-by: Sam Ravnborg Signed-off-by: David S. Miller commit e1648a8194117c7afeb432afb0d10896e10cbea4 Author: Sam Ravnborg Date: Fri Dec 26 15:35:41 2008 -0800 sparc: unify module.h Use some preprocessor magic in combination with the newly introduced CONFIG_BITS to unify module.h. A few additional symbols are added as they are needed in a follow-up patch Signed-off-by: Sam Ravnborg Signed-off-by: David S. Miller commit fe6875ec5c3ca7f6bcb399b6649ba2b64744df51 Author: Sam Ravnborg Date: Fri Dec 26 15:35:16 2008 -0800 sparc: introduce CONFIG_BITS CONFIG_BITS is set to 32 for sparc32 and 64 for sparc64. This allow us to use this symbol in for example header files to ease unification of sparc32 and sparc64. Signed-off-by: Sam Ravnborg Signed-off-by: David S. Miller commit 6e6ab2e2f0083314265f90bf0aefefcb7a46c702 Author: Sam Ravnborg Date: Fri Dec 26 15:33:07 2008 -0800 sparc: fix hardirq.h removal fallout When hardirq.h are removed from asm-generic/local.h a few bits fails to build. Fix these upfront. Reported by Alexey Dobriyan. Signed-off-by: Sam Ravnborg Signed-off-by: David S. Miller commit 8d25332081d87491e3b12fa130539fe9e2ba4a94 Author: David S. Miller Date: Fri Dec 26 15:13:55 2008 -0800 igb: Fix build warning when DCA is disabled. Signed-off-by: David S. Miller commit 2d5451d2614583de0c9aaf61cf5f77faf5694105 Author: David S. Miller Date: Fri Dec 26 15:10:00 2008 -0800 net: Fix warning fallout from recent NAPI interface changes. When we removed the network device argument from several NAPI interfaces in 908a7a16b852ffd618a9127be8d62432182d81b4 ("net: Remove unused netdev arg from some NAPI interfaces.") several drivers now started getting unused variable warnings. This fixes those up. Signed-off-by: David S. Miller commit 0da2afd59653d2edf5c8e0f09b23f367ab5bc80f Author: Herbert Xu Date: Fri Dec 26 14:57:42 2008 -0800 gro: Fix potential use after free The initial skb may have been freed after napi_gro_complete in napi_gro_receive if it was merged into an existing packet. Thus we cannot check same_flow (which indicates whether it was merged) after calling napi_gro_complete. This patch fixes this by saving the same_flow status before the call to napi_gro_complete. Signed-off-by: Herbert Xu Signed-off-by: David S. Miller commit 843813453f52e3378fc988c8364063fd4cb9d0e3 Author: Ben Hutchings Date: Fri Dec 26 13:49:25 2008 -0800 sfc: If AN is enabled, always read speed/duplex from the AN advertising bits When AN is enabled and the link is down the speed/duplex control bits will not be meaningful. Use the advertising bits instead, and mask them with the LPA bits if and only if AN is complete (as before). Signed-off-by: Ben Hutchings Signed-off-by: David S. Miller commit f4bd954e7c24063b15fa9abc8b4b1242772928ed Author: Ben Hutchings Date: Fri Dec 26 13:48:51 2008 -0800 sfc: When disabling the NIC, close the device rather than unregistering it This should reduce user confusion and may also aid recovery (ioctls will still be available). Signed-off-by: Ben Hutchings Signed-off-by: David S. Miller commit 307505e9a4ce0b13b2f996385669039806e07390 Author: Ben Hutchings Date: Fri Dec 26 13:48:00 2008 -0800 sfc: SFT9001: Add cable diagnostics The SFT9001 firmware implements cable diagnostics; run those and include their results in a self-test. In case of a cable fault, do not fail the self-test as a whole; only faults in the NIC should cause that. Signed-off-by: Ben Hutchings Signed-off-by: David S. Miller commit 1796721a5a691a5d392abf8070ad40a0b787b667 Author: Ben Hutchings Date: Fri Dec 26 13:47:25 2008 -0800 sfc: Add support for multiple PHY self-tests Signed-off-by: Ben Hutchings Signed-off-by: David S. Miller commit 2ef3068e6c40ec44d27f6f8027616e284d1b0466 Author: Ben Hutchings Date: Fri Dec 26 13:47:04 2008 -0800 sfc: Merge top-level functions for self-tests Pass in ethtool test flags to determine which tests to run. Signed-off-by: Ben Hutchings Signed-off-by: David S. Miller commit a5692e49cd9e6512c48ebf61e52991cbe643c12d Author: Ben Hutchings Date: Fri Dec 26 13:46:38 2008 -0800 sfc: Clean up PHY mode management in loopback self-test Signed-off-by: Ben Hutchings Signed-off-by: David S. Miller commit caa8d8bbddc9157cb8f34465be98fc83faf37155 Author: Ben Hutchings Date: Fri Dec 26 13:46:12 2008 -0800 sfc: Fix unreliable link detection in some loopback modes Signed-off-by: Ben Hutchings Signed-off-by: David S. Miller commit 6977dc6309ea8bbcb24c0a1356c33969e4a07410 Author: Ben Hutchings Date: Fri Dec 26 13:44:39 2008 -0800 sfc: Generate unique names for per-NIC workqueues Signed-off-by: Ben Hutchings Signed-off-by: David S. Miller commit e727149e26b08550269a7786fda977aed65578f6 Author: Holger Eitzenberger Date: Fri Dec 26 13:41:53 2008 -0800 802.3ad: use standard ethhdr instead of ad_header 802.3ad has its own ethhdr-like structure in the form of an ad_header, which is at the start of both the LACPDU and marker PDU. Both are the same from the struct values, both are packed as well. It's therefore perfectly fine to replace the ad_header by the ethhdr and to remove its definition. Signed-off-by: Holger Eitzenberger Signed-off-by: David S. Miller commit e4ac43200fd6b8b8de3b487e74e74d3742f70d79 Author: Holger Eitzenberger Date: Fri Dec 26 13:40:48 2008 -0800 802.3ad: generalize out mac address initializer Generalize out mac address initializer for the LACPDU multicast address and use in two places. Remove the now unused AD_MULTICAST_LACPDU_ADDR. Signed-off-by: Holger Eitzenberger Signed-off-by: David S. Miller commit 7addeef6b15c9b7cffaaf40ec5b5b0940145ec16 Author: Holger Eitzenberger Date: Fri Dec 26 13:28:33 2008 -0800 802.3ad: initialize ports LACPDU from const initializer Save some text by initializing ports LACPDU from const initializer, then get rid of ad_initialize_lacpdu(). Signed-off-by: Holger Eitzenberger Signed-off-by: David S. Miller commit 87f422f8618c541db0f96194cca9465817f76b89 Author: Holger Eitzenberger Date: Fri Dec 26 13:27:57 2008 -0800 802.3ad: remove typedef around ad_system As typedefs are considered a bad thing most of the time remove the typedef around ad_system. Signed-off-by: Holger Eitzenberger Signed-off-by: David S. Miller commit 1624db7be0d9f77f5494efe1b066d1d44b46c96c Author: Holger Eitzenberger Date: Fri Dec 26 13:27:21 2008 -0800 802.3ad: turn ports is_individual into a bool Turn ports is_individual into a bool. There is no functional change. Signed-off-by: Holger Eitzenberger Signed-off-by: David S. Miller commit f48127b6f3270cf7234a7a9f770533332e85e8ae Author: Holger Eitzenberger Date: Fri Dec 26 13:26:54 2008 -0800 802.3ad: turn ports is_enabled into a bool Turn ports is_enabled into a bool. There is no functional change. Signed-off-by: Holger Eitzenberger Signed-off-by: David S. Miller commit d238d458a70ad134cb421c3ffc66242277f30dda Author: Holger Eitzenberger Date: Fri Dec 26 11:18:15 2008 -0800 802.3ad: make ntt bool Turn Need-To-Transmit port variable into a bool. There is no functional change. Signed-off-by: Holger Eitzenberger Signed-off-by: David S. Miller commit be4d638c1597580ed2294d899d9f1a2cd10e462c Author: Rusty Russell Date: Fri Dec 26 22:23:43 2008 +1030 cpumask: Replace cpu_coregroup_map with cpu_coregroup_mask cpu_coregroup_map returned a cpumask_t: it's going away. (Note, the sched part of this patch won't apply meaningfully to the sched tree, but I'm posting it to show the goal). Signed-off-by: Rusty Russell Signed-off-by: Mike Travis Cc: Jens Axboe Cc: Ingo Molnar commit 9be3eec2c83848a1ca57ebad13c63c95d0df01e2 Author: Rusty Russell Date: Fri Dec 26 22:23:42 2008 +1030 cpumask: cpu_coregroup_mask(): s390 Like cpu_coregroup_map, but returns a (const) pointer. Compile-tested on s390 (defconfig). Signed-off-by: Rusty Russell Signed-off-by: Mike Travis commit a0ae09b46a516f05ea76e3419ad43c46f52c1165 Author: Rusty Russell Date: Fri Dec 26 22:23:42 2008 +1030 cpumask: cpu_coregroup_mask(): sparc Like cpu_coregroup_map, but returns a (const) pointer. Compile-tested on sparc64 (defconfig). Signed-off-by: Rusty Russell Signed-off-by: Mike Travis commit 030bb203e01db12e3f2866799f4f03a114d06349 Author: Rusty Russell Date: Fri Dec 26 22:23:41 2008 +1030 cpumask: cpu_coregroup_mask(): x86 Impact: New API Like cpu_coregroup_map, but returns a (const) pointer. Signed-off-by: Rusty Russell Signed-off-by: Mike Travis Cc: Ingo Molnar commit 2258a5bb1064351b552aceaff29393967d694fa3 Author: Rusty Russell Date: Fri Dec 26 22:23:41 2008 +1030 cpumask: alpha: Introduce cpumask_of_{node,pcibus} to replace {node,pcibus}_to_cpumask Impact: New APIs The old node_to_cpumask/node_to_pcibus returned a cpumask_t: these return a pointer to a struct cpumask. Part of removing cpumasks from the stack. I'm not sure the existing code even compiles, but new version is straightforward. Signed-off-by: Rusty Russell Cc: Richard Henderson commit b4a2f916a8326065816a0743dd1b0ca2ffd18f5f Author: Rusty Russell Date: Fri Dec 26 22:23:40 2008 +1030 cpumask: Mips: Introduce cpumask_of_{node,pcibus} to replace {node,pcibus}_to_cpumask Impact: New APIs The old node_to_cpumask/node_to_pcibus returned a cpumask_t: these return a pointer to a struct cpumask. Part of removing cpumasks from the stack. Signed-off-by: Rusty Russell Cc: Ralf Baechle commit fbb776c3ca4501d5a2821bf1e9bceefcaec7ae47 Author: Rusty Russell Date: Fri Dec 26 22:23:40 2008 +1030 cpumask: IA64: Introduce cpumask_of_{node,pcibus} to replace {node,pcibus}_to_cpumask Impact: New APIs The old node_to_cpumask/node_to_pcibus returned a cpumask_t: these return a pointer to a struct cpumask. Part of removing cpumasks from the stack. We can also use the new for_each_cpu_and() to avoid a temporary cpumask, and a gratuitous test in sn_topology_show. (Includes fix from KOSAKI Motohiro ) Signed-off-by: Rusty Russell Cc: Tony Luck Cc: KOSAKI Motohiro commit 86c6f274f52c3e991d429869780945c0790e7b65 Author: Rusty Russell Date: Fri Dec 26 22:23:39 2008 +1030 cpumask: powerpc: Introduce cpumask_of_{node,pcibus} to replace {node,pcibus}_to_cpumask Impact: New APIs The old node_to_cpumask/node_to_pcibus returned a cpumask_t: these return a pointer to a struct cpumask. Part of removing cpumasks from the stack. (Also replaces powerpc internal uses of node_to_cpumask). Signed-off-by: Rusty Russell Cc: Benjamin Herrenschmidt commit 7479a2939df4957ba794cce814379b6d10914bdc Author: Rusty Russell Date: Fri Dec 26 22:23:39 2008 +1030 cpumask: sh: Introduce cpumask_of_{node,pcibus} to replace {node,pcibus}_to_cpumask Impact: New APIs The old node_to_cpumask/node_to_pcibus returned a cpumask_t: these return a pointer to a struct cpumask. Part of removing cpumasks from the stack. Signed-off-by: Rusty Russell Cc: Paul Mundt commit 96d76a74870d5f11ce2abdd09a8dcdc401d714d1 Author: Rusty Russell Date: Fri Dec 26 22:23:38 2008 +1030 cpumask: sparc: Introduce cpumask_of_{node,pcibus} to replace {node,pcibus}_to_cpumask Impact: New APIs The old node_to_cpumask/node_to_pcibus returned a cpumask_t: these return a pointer to a struct cpumask. Part of removing cpumasks from the stack. Signed-off-by: Rusty Russell Acked-by: David S. Miller commit 393d68fb9929817cde7ab31c82d66fcb28ad35fc Author: Rusty Russell Date: Fri Dec 26 22:23:38 2008 +1030 cpumask: x86: Introduce cpumask_of_{node,pcibus} to replace {node,pcibus}_to_cpumask Impact: New APIs The old node_to_cpumask/node_to_pcibus returned a cpumask_t: these return a pointer to a struct cpumask. Part of removing cpumasks from the stack. Also makes __pcibus_to_node take a const pointer. Signed-off-by: Rusty Russell Acked-by: Ingo Molnar commit 00c23634879062d1c38d60128bf150c394a359e8 Author: Yinghai Lu Date: Tue Dec 23 17:29:00 2008 -0800 sparseirq: remove duplicated arch_early_irq_init() Impact: clean up We already have a weak copy of this function in init/main.c Signed-off-by: Yinghai Signed-off-by: Ingo Molnar commit d3fa4721456226d77475181a4bfbe5b3d899d65c Author: Peter P Waskiewicz Jr Date: Fri Dec 26 01:36:33 2008 -0800 ixgbe: Fix set_ringparam in ixgbe to use the same memory pools. The adapter rings are kcalloc()'d, but in set_ringparam() in ixgbe_ethtool, we replace that memory from the vmalloc() pool. This can result in a NULL pointer reference when trying to modify the rings at a later time, or on device removal. Signed-off-by: Peter P Waskiewicz Jr Signed-off-by: Jeff Kirsher Signed-off-by: David S. Miller commit 7adf1525befb5606462431eb1a4ea40ded5baef4 Author: Peter P Waskiewicz Jr Date: Fri Dec 26 01:36:05 2008 -0800 ixgbe: Fix NAPI enable/disable path when using DCB This change allows DCB mode to change the number of queues, and presumably the number of NAPI instances, safely. Signed-off-by: Peter P Waskiewicz Jr Signed-off-by: Jeff Kirsher Signed-off-by: David S. Miller commit d7b06636be162d3f74c9ce5d6d0d9ea4e5d362c8 Author: Peter P Waskiewicz Jr Date: Fri Dec 26 01:35:35 2008 -0800 net: Init NAPI dev_list on napi_del The recent GRO patches introduced the NAPI removal of devices in free_netdev. For drivers that can change the number of queues during driver operation, the NAPI infrastructure doesn't allow the freeing and re-addition of NAPI entities without reloading the driver. This change reinitializes the dev_list in each NAPI struct on delete, instead of just deleting it (and assigning the list pointers to POISON). Drivers that wish to remove/re-add NAPI will need to re-initialize the netdev napi_list after removing all NAPI instances, before re-adding NAPI devices again. Signed-off-by: Peter P Waskiewicz Jr Signed-off-by: Jeff Kirsher Signed-off-by: David S. Miller commit 26bc19ecf6c077c926827c25631340fd2e8fb16e Author: Alexander Duyck Date: Fri Dec 26 01:34:11 2008 -0800 igb: re-order queues to support cleaner use of ivar on 82576 The 82576 adapter orders the queues in pairs when virtualization is in use. The queue ordering previously conflicted with the ordering when sr-iov was enabled. This new ordering allows a PF to allocate 2 queues without using any VF resources. Signed-off-by: Alexander Duyck Signed-off-by: Jeff Kirsher Signed-off-by: David S. Miller commit 0e014cb16234c3797aa518d46fe7e1fe91ebcca9 Author: Alexander Duyck Date: Fri Dec 26 01:33:18 2008 -0800 igb: defeature tx head writeback This patch removes tx head writeback as it was found to not provide a significant improvement in tx performance and on some systems has been seen to cause a performance degredation due to partial cache line writes. Signed-off-by: Alexander Duyck Signed-off-by: Jeff Kirsher Signed-off-by: David S. Miller commit f2712fd0b4097e8385bdb75c0ebd285a057fe299 Author: Herbert Xu Date: Fri Dec 26 01:31:18 2008 -0800 ipsec: Remove useless ret variable This patch removes a useless ret variable from the IPv4 ESP/UDP decapsulation code. Signed-off-by: Herbert Xu Signed-off-by: David S. Miller commit fdb614c28487df41f7bf2c98e85f29f31885561e Author: Anton Vorontsov Date: Tue Dec 23 06:59:25 2008 +0000 ucc_geth: Eliminate the need for forward references This patch simply reorders some functions to eliminate the need for forward references. No other changes than that. Suggested-by: Timur Tabi Signed-off-by: Anton Vorontsov Signed-off-by: David S. Miller commit 9c54004ea717116a10886e254e26502ffb1136e9 Author: David Woodhouse Date: Tue Dec 23 04:09:02 2008 +0000 atm: Driver for Solos PCI ADSL2+ card. This adds basic support for the 'Solos' PCI ADSL2+ cards being developed by Traverse Technologies and Xrio Ltd: http://www.traverse.com.au/productview.php?product_id=116 Signed-off-by: Nathan Williams Signed-off-by: David Woodhouse Signed-off-by: David S. Miller commit 236b87c29953a87a6817e96e311b0efd00e95dc7 Author: Tilman Schmidt Date: Fri Dec 26 01:22:03 2008 -0800 gigaset: ifdef cleanup Remove unnecessary #ifdef-s and #if-0-ed code sections. Signed-off-by: Tilman Schmidt Signed-off-by: David S. Miller commit c8770dcabd6a615b155c25dc4d57251d3e7f151c Author: Tilman Schmidt Date: Fri Dec 26 01:21:29 2008 -0800 gigaset: use pr_err() and pr_info() Switch from private printk wrapper macros to using pr_err() and pr_info() from linux/kernel.h, at the same time unifying a few error messages. Signed-off-by: Tilman Schmidt Signed-off-by: David S. Miller commit 4d8cd002602987ddc9507b5390800343f820ac92 Author: Divy Le Ray Date: Fri Dec 26 01:16:39 2008 -0800 cxgb3: add control to access embedded images Update contol path between cxgb3 and ULP modules (iWARP, iSCSI) to provide access to firware and protocol engine info. Signed-off-by: Divy Le Ray Signed-off-by: David S. Miller commit 18eefedfe8ad33e8fc7614c13359e29a9fab4644 Author: KOSAKI Motohiro Date: Fri Dec 26 12:29:48 2008 +0900 irq: simplify for_each_irq_desc() usage Impact: cleanup all for_each_irq_desc() usage point have !desc check. then its check can move into for_each_irq_desc() macro. Signed-off-by: KOSAKI Motohiro Acked-by: Yinghai Lu Signed-off-by: Ingo Molnar commit 26ddd8d5cac8a563953d5febe8c6e40909f7bce1 Author: KOSAKI Motohiro Date: Fri Dec 26 14:24:10 2008 +0900 proc: remove ifdef CONFIG_SPARSE_IRQ from stat.c Impact: cleanup irq_desc can be NULL when CONFIG_SPARSE_IRQ=y only. therefore, NULL checking can move into kstat_irqs_cpu() of SPARSE_IRQ version. Signed-off-by: KOSAKI Motohiro Acked-by: "Yinghai Lu" Signed-off-by: Ingo Molnar commit f9af0e70911e9d6cc9a68f784dca86415486084d Author: KOSAKI Motohiro Date: Fri Dec 26 12:24:24 2008 +0900 irq: for_each_irq_desc() move to irqnr.h Impact: cleanup before CONFIG_SPARSE_IRQ age, for_each_irq_desc() sat in irqnr.h and could be called from generic code. CONFIG_SPARSE_IRQ breaks this assumption, but SPARSE_IRQ version for_each_irq_desc() also can move into irqnr.h easily. Also, this patch unifies CONFIG_SPARSE_IRQ and !CONFIG_SPARSE_IRQ for_each_irq_desc(). Signed-off-by: KOSAKI Motohiro Signed-off-by: Ingo Molnar commit 51bc39f4ba35bae153b32145077fb1109bcae14c Author: KOSAKI Motohiro Date: Fri Dec 26 12:23:00 2008 +0900 hrtimer: remove #include Impact: cleanup can be removed and should be, because: - hrtimer doesn't use any irq feature. - shouldn't be include from generic code. Signed-off-by: KOSAKI Motohiro Signed-off-by: Ingo Molnar commit bd8b96dfc216eebc72950a6c40da8d3eca8667df Author: Ingo Molnar Date: Fri Dec 26 09:20:22 2008 +0100 x86: clean up comment style in arch/x86/kernel/traps.c Impact: cleanup Signed-off-by: Ingo Molnar commit c656d9ca48d3ef1a11449e892ce488ee0bb5a335 Merge: 71ab6b2 a73ad33 Author: Ingo Molnar Date: Fri Dec 26 09:21:05 2008 +0100 Merge branch 'x86/fpu' into x86/cleanups commit 6dd014808f91ad99d4d794cf7c7c69610c10f904 Author: Hannes Eder Date: Fri Dec 26 00:15:03 2008 -0800 drivers/net/wireless/prism54: fix sparse warnings: make symbols static Fix this sparse warnings: drivers/net/wireless/prism54/islpci_hotplug.c:97:1: warning: symbol 'prism54_probe' was not declared. Should it be static? drivers/net/wireless/prism54/islpci_hotplug.c:220:1: warning: symbol 'prism54_remove' was not declared. Should it be static? drivers/net/wireless/prism54/islpci_hotplug.c:263:1: warning: symbol 'prism54_suspend' was not declared. Should it be static? drivers/net/wireless/prism54/islpci_hotplug.c:286:1: warning: symbol 'prism54_resume' was not declared. Should it be static? Signed-off-by: Hannes Eder Signed-off-by: David S. Miller commit a3d1fd23e1ff2deeda0415805cf9a044dda7f55c Author: Hannes Eder Date: Fri Dec 26 00:14:41 2008 -0800 drivers/net/wireless/ipw2x00: fix sparse warnings: make symbols static Fix this sparse warnings: drivers/net/wireless/ipw2x00/ipw2100.c:5271:6: warning: symbol 'ipw2100_queues_initialize' was not declared. Should it be static? drivers/net/wireless/ipw2x00/ipw2100.c:5278:6: warning: symbol 'ipw2100_queues_free' was not declared. Should it be static? drivers/net/wireless/ipw2x00/ipw2100.c:5285:5: warning: symbol 'ipw2100_queues_allocate' was not declared. Should it be static? Signed-off-by: Hannes Eder Signed-off-by: David S. Miller commit 11ab72a7c94f3ccac05b85928875fdc4f1ed5e9b Author: Hannes Eder Date: Fri Dec 26 00:13:46 2008 -0800 drivers/net/wireless/b43: fix sparse warnings: make symbols static Fix this sparse warnings: drivers/net/wireless/b43/phy_a.c:80:6: warning: symbol 'b43_radio_set_tx_iq' was not declared. Should it be static? drivers/net/wireless/b43/phy_a.c:150:6: warning: symbol 'b43_radio_init2060' was not declared. Should it be static? drivers/net/wireless/b43/phy_g.c:57:10: warning: symbol 'b43_radio_channel_codes_bg' was not declared. Should it be static? drivers/net/wireless/b43/phy_g.c:218:6: warning: symbol 'b43_set_txpower_g' was not declared. Should it be static? drivers/net/wireless/b43/phy_g.c:386:6: warning: symbol 'b43_nrssi_hw_write' was not declared. Should it be static? drivers/net/wireless/b43/phy_g.c:393:5: warning: symbol 'b43_nrssi_hw_read' was not declared. Should it be static? drivers/net/wireless/b43/phy_g.c:404:6: warning: symbol 'b43_nrssi_hw_update' was not declared. Should it be static? drivers/net/wireless/b43/phy_g.c:418:6: warning: symbol 'b43_nrssi_mem_update' was not declared. Should it be static? drivers/net/wireless/b43/phy_g.c:592:6: warning: symbol 'b43_calc_nrssi_slope' was not declared. Should it be static? drivers/net/wireless/b43/phy_g.c:1357:5: warning: symbol 'b43_radio_init2050' was not declared. Should it be static? Signed-off-by: Hannes Eder Signed-off-by: David S. Miller commit bf512bc827c84f77553538834fffe71604079f23 Author: Hannes Eder Date: Fri Dec 26 00:13:29 2008 -0800 drivers/net/wireless/ath9k: fix sparse warnings: make symbols static Fix this sparse warnings: drivers/net/wireless/ath9k/eeprom.c:195:6: warning: symbol 'ath9k_fill_eeprom' was not declared. Should it be static? drivers/net/wireless/ath9k/eeprom.c:463:5: warning: symbol 'ath9k_check_eeprom' was not declared. Should it be static? drivers/net/wireless/ath9k/eeprom.c:1219:6: warning: symbol 'ath9k_hw_set_def_power_per_rate_table' was not declared. Should it be static? drivers/net/wireless/ath9k/eeprom.c:1510:6: warning: symbol 'ath9k_hw_set_4k_power_per_rate_table' was not declared. Should it be static? drivers/net/wireless/ath9k/eeprom.c:2007:5: warning: symbol 'ath9k_set_txpower' was not declared. Should it be static? drivers/net/wireless/ath9k/eeprom.c:2106:6: warning: symbol 'ath9k_set_addac' was not declared. Should it be static? drivers/net/wireless/ath9k/eeprom.c:2543:6: warning: symbol 'ath9k_eeprom_set_board_values' was not declared. Should it be static? drivers/net/wireless/ath9k/eeprom.c:2606:5: warning: symbol 'ath9k_get_eeprom_antenna_cfg' was not declared. Should it be static? drivers/net/wireless/ath9k/eeprom.c:2622:4: warning: symbol 'ath9k_hw_get_4k_num_ant_config' was not declared. Should it be static? drivers/net/wireless/ath9k/eeprom.c:2628:4: warning: symbol 'ath9k_hw_get_def_num_ant_config' was not declared. Should it be static? drivers/net/wireless/ath9k/eeprom.c:2647:4: warning: symbol 'ath9k_get_num_ant_config' was not declared. Should it be static? drivers/net/wireless/ath9k/eeprom.c:2790:5: warning: symbol 'ath9k_get_eeprom' was not declared. Should it be static? Signed-off-by: Hannes Eder Signed-off-by: David S. Miller commit 2ed5ba890e1e8dda89557e4ea233a26ab8bf3d58 Author: Hannes Eder Date: Fri Dec 26 00:12:59 2008 -0800 drivers/net/wireless: fix sparse warnings: make symbols static Fix this sparse warnings: drivers/net/wireless/airo.c:3610:6: warning: symbol 'mpi_receive_802_11' was not declared. Should it be static? drivers/net/wireless/atmel.c:3183:6: warning: symbol 'atmel_join_bss' was not declared. Should it be static? drivers/net/wireless/ray_cs.c:831:5: warning: symbol 'ray_dev_init' was not declared. Should it be static? Signed-off-by: Hannes Eder Signed-off-by: David S. Miller commit 62c5345db704c912b485f6b60dab381c9cebf268 Author: Hannes Eder Date: Fri Dec 26 00:12:08 2008 -0800 drivers/net/wan/z85230.c: fix sparse warnings: un-EXPORT symbols The symbols are only references within the translation unit they are defined in, so un-EXPORT them und make them 'static'. Fix this sparse warnings: drivers/net/wan/z85230.c:604:25: warning: symbol 'z8530_dma_sync' was not declared. Should it be static? drivers/net/wan/z85230.c:613:25: warning: symbol 'z8530_txdma_sync' was not declared. Should it be static? Signed-off-by: Hannes Eder Signed-off-by: David S. Miller commit 7b3dfa11cdef38bda07b99991f2f88c86df67ed2 Author: Hannes Eder Date: Fri Dec 26 00:11:21 2008 -0800 drivers/net/wan: fix sparse warning: make symbol static Fix this sparse warning: drivers/net/wan/x25_asy.c:623:5: warning: symbol 'x25_asy_esc' was not declared. Should it be static? Signed-off-by: Hannes Eder Signed-off-by: David S. Miller commit d157e0230f205f5dd646c4e0985030367de7aa4c Author: Hannes Eder Date: Mon Dec 22 09:17:55 2008 +0000 drivers/net/wan: fix sparse warnings: make do-while a compound statement Fix this sparse warnings: drivers/net/wan/wanxl.c:414:3: warning: do-while statement is not a compound statement drivers/net/wan/wanxl.c:441:3: warning: do-while statement is not a compound statement Signed-off-by: Hannes Eder Signed-off-by: David S. Miller commit ec1d1ebbb3bdc9807474be28c29efa155d15b850 Author: Hannes Eder Date: Fri Dec 26 00:07:45 2008 -0800 drivers/net/tulip: fix sparse warnings: make do-while a compound statement Fix this sparse warnings: drivers/net/tulip/de2104x.c:1695:4: warning: do-while statement is not a compound statement drivers/net/tulip/tulip_core.c:1433:5: warning: do-while statement is not a compound statement Signed-off-by: Hannes Eder Signed-off-by: David S. Miller commit 27cd6ae5619084f363630683e77d70be38075afe Author: Hannes Eder Date: Fri Dec 26 00:07:15 2008 -0800 drivers/net/tokenring: fix sparse warnings: make symbols static Fix this sparse warnings: drivers/net/tokenring/ibmtr.c:1840:6: warning: symbol 'tok_rerun' was not declared. Should it be static? drivers/net/tokenring/madgemc.c:469:16: warning: symbol 'madgemc_setnselout_pins' was not declared. Should it be static? drivers/net/tokenring/proteon.c:286:16: warning: symbol 'proteon_setnselout_pins' was not declared. Should it be static? drivers/net/tokenring/skisa.c:303:16: warning: symbol 'sk_isa_setnselout_pins' was not declared. Should it be static? Signed-off-by: Hannes Eder Signed-off-by: David S. Miller commit 409b204435b85f7e159230c216f334a862cb3b95 Author: Hannes Eder Date: Fri Dec 26 00:06:28 2008 -0800 drivers/net/skfp: fix sparse warnings: make symbols static Fix this sparse warnings: drivers/net/skfp/skfddi.c:620:13: warning: symbol 'skfp_interrupt' was not declared. Should it be static? drivers/net/skfp/skfddi.c:687:25: warning: symbol 'skfp_ctl_get_stats' was not declared. Should it be static? drivers/net/skfp/skfddi.c:1232:6: warning: symbol 'CheckSourceAddress' was not declared. Should it be static? Signed-off-by: Hannes Eder Signed-off-by: David S. Miller commit 2f22d22ea7e95d45353b790ac52975a42e3a8558 Author: Hannes Eder Date: Fri Dec 26 00:04:53 2008 -0800 drivers/net/qlge: fix sparse warnings: make symbols static Fix this sparse warnings: drivers/net/qlge/qlge_ethtool.c:100:6: warning: symbol 'ql_update_stats' was not declared. Should it be static? drivers/net/qlge/qlge_mpi.c:22:5: warning: symbol 'ql_get_mb_sts' was not declared. Should it be static? Signed-off-by: Hannes Eder Signed-off-by: David S. Miller commit f8057b7fefea1daca6928cbb95751d01fc934a41 Author: Hannes Eder Date: Fri Dec 26 00:04:26 2008 -0800 drivers/net/netxen: fix sparse warnings: use NULL pointer instead of plain integer Fix this sparse warnings: drivers/net/netxen/netxen_nic_hw.c:1462:18: warning: Using plain integer as NULL pointer drivers/net/netxen/netxen_nic_hw.c:1536:18: warning: Using plain integer as NULL pointer Signed-off-by: Hannes Eder Signed-off-by: David S. Miller commit e855aac805dd9c68b6fabe395cbc8e05f0eda6e4 Author: Hannes Eder Date: Fri Dec 26 00:03:59 2008 -0800 drivers/net/ixgbe: fix sparse warnings: make symbols static Fix this sparse warnings: drivers/net/ixgbe/ixgbe_82598.c:180:5: warning: symbol 'ixgbe_get_copper_link_capabilities_82598' was not declared. Should it be static? drivers/net/ixgbe/ixgbe_82598.c:245:5: warning: symbol 'ixgbe_setup_fc_82598' was not declared. Should it be static? drivers/net/ixgbe/ixgbe_82598.c:729:5: warning: symbol 'ixgbe_set_vmdq_82598' was not declared. Should it be static? drivers/net/ixgbe/ixgbe_82598.c:773:5: warning: symbol 'ixgbe_set_vfta_82598' was not declared. Should it be static? drivers/net/ixgbe/ixgbe_82598.c:897:5: warning: symbol 'ixgbe_read_analog_reg8_82598' was not declared. Should it be static? drivers/net/ixgbe/ixgbe_82598.c:919:5: warning: symbol 'ixgbe_write_analog_reg8_82598' was not declared. Should it be static? drivers/net/ixgbe/ixgbe_82598.c:940:5: warning: symbol 'ixgbe_read_i2c_eeprom_82598' was not declared. Should it be static? drivers/net/ixgbe/ixgbe_82598.c:1000:5: warning: symbol 'ixgbe_get_supported_physical_layer_82598' was not declared. Should it be static? drivers/net/ixgbe/ixgbe_dcb_82598.c:100:5: warning: symbol 'ixgbe_dcb_config_packet_buffers_82598' was not declared. Should it be static? Signed-off-by: Hannes Eder Signed-off-by: David S. Miller commit 0e49e64526ccd8cb78d7c4b4a732024ff221d4d0 Author: Hannes Eder Date: Fri Dec 26 00:03:19 2008 -0800 drivers/net/irda: fix sparse warnings: make symbols static Fix this sparse warnings: drivers/net/irda/ma600-sir.c:239:5: warning: symbol 'ma600_reset' was not declared. Should it be static? drivers/net/irda/smsc-ircc2.c:875:5: warning: symbol 'smsc_ircc_hard_xmit_sir' was not declared. Should it be static? drivers/net/irda/smsc-ircc2.c:1131:6: warning: symbol 'smsc_ircc_set_sir_speed' was not declared. Should it be static? drivers/net/irda/smsc-ircc2.c:1897:6: warning: symbol 'smsc_ircc_sir_start' was not declared. Should it be static? drivers/net/irda/w83977af_ir.c:150:5: warning: symbol 'w83977af_open' was not declared. Should it be static? drivers/net/irda/w83977af_ir.c:313:5: warning: symbol 'w83977af_probe' was not declared. Should it be static? drivers/net/irda/w83977af_ir.c:412:6: warning: symbol 'w83977af_change_speed' was not declared. Should it be static? drivers/net/irda/w83977af_ir.c:492:5: warning: symbol 'w83977af_hard_xmit' was not declared. Should it be static? drivers/net/irda/w83977af_ir.c:734:5: warning: symbol 'w83977af_dma_receive' was not declared. Should it be static? drivers/net/irda/w83977af_ir.c:806:5: warning: symbol 'w83977af_dma_receive_complete' was not declared. Should it be static? Signed-off-by: Hannes Eder Signed-off-by: David S. Miller commit 678c610b5a069a0a76c3189dd9aa801e5d5cd7e0 Author: Hannes Eder Date: Fri Dec 26 00:02:49 2008 -0800 drivers/net/igb: remove dead code (function 'igb_read_pci_cfg') Fix this warning: drivers/net/igb/e1000_mac.c:54: warning: 'igb_read_pci_cfg' defined but not used Signed-off-by: Hannes Eder Acked-by: Jeff Kirsher Signed-off-by: David S. Miller commit 5e4232ee5d7a1d2b2399e9080bf2f1a28444c80b Author: Hannes Eder Date: Fri Dec 26 00:01:18 2008 -0800 drivers/net/enic: fix sparse warning: make symbol static Fix this sparse warning: drivers/net/enic/vnic_dev.c:288:5: warning: symbol 'vnic_dev_capable' was not declared. Should it be static? Signed-off-by: Hannes Eder Signed-off-by: David S. Miller commit fa4c16da738952882d51b265adbef1d8d329d50f Author: Hannes Eder Date: Mon Dec 22 09:16:13 2008 +0000 drivers/net/e1000e: fix sparse warnings: make symbols static Fix this sparse warnings: drivers/net/e1000e/es2lan.c:1265:5: warning: symbol 'e1000_read_kmrn_reg_80003es2lan' was not declared. Should it be static? drivers/net/e1000e/es2lan.c:1298:5: warning: symbol 'e1000_write_kmrn_reg_80003es2lan' was not declared. Should it be static? Signed-off-by: Hannes Eder Signed-off-by: David S. Miller commit af8eca5cbbc8f991ec14c8d7e3350bbe2ea49655 Author: Hannes Eder Date: Thu Dec 25 23:59:28 2008 -0800 drivers/net/cxgb3: comment out dead code The function 'vsc8211_set_speed_duplex' is not used, so comment it out. For 'vsc8211_set_automdi' the function 'vsc8211_set_speed_duplex' is the only caller, so comment it out as well. Fix this (sparse) warning: drivers/net/cxgb3/vsc8211.c:269: warning: 'vsc8211_set_automdi' defined but not used drivers/net/cxgb3/vsc8211.c:295:5: warning: symbol 'vsc8211_set_speed_duplex' was not declared. Should it be static? Signed-off-by: Hannes Eder Signed-off-by: David S. Miller commit b06715b7a3db551dcf4706f05e8d2285a66fe05f Author: Hannes Eder Date: Thu Dec 25 23:58:57 2008 -0800 drivers/net/bonding: fix sparse warnings: move decls to header file Fix this sparse warnings: drivers/net/bonding/bond_main.c:104:20: warning: symbol 'bonding_defaults' was not declared. Should it be static? drivers/net/bonding/bond_main.c:204:22: warning: symbol 'ad_select_tbl' was not declared. Should it be static? drivers/net/bonding/bond_sysfs.c:60:21: warning: symbol 'bonding_rwsem' was not declared. Should it be static? Signed-off-by: Hannes Eder Signed-off-by: David S. Miller commit 9dc20f553f8cb548feaba9dae0cb4905327ecbac Author: Hannes Eder Date: Thu Dec 25 23:58:35 2008 -0800 drivers/net/atlx: fix sparse warnings: make symbols static Fix this sparse warnings: drivers/net/atlx/atl1.c:198:16: warning: symbol 'atl1_check_options' was not declared. Should it be static? drivers/net/atlx/atl1.c:526:5: warning: symbol 'atl1_read_mac_addr' was not declared. Should it be static? Signed-off-by: Hannes Eder Signed-off-by: David S. Miller commit 888432f6720bec93ddae93c4d1483a18198a1b3b Author: Hannes Eder Date: Thu Dec 25 23:57:21 2008 -0800 drivers/net/arcnet: fix sparse warnings: make symbols static Fix this sparse warnings: drivers/net/arcnet/capmode.c:64:6: warning: symbol 'arcnet_cap_init' was not declared. Should it be static? drivers/net/arcnet/com90xx.c:586:5: warning: symbol 'com90xx_reset' was not declared. Should it be static? Signed-off-by: Hannes Eder Signed-off-by: David S. Miller commit dac499f912abd5838fa3501efdcd0f23d5f4fc29 Author: Hannes Eder Date: Thu Dec 25 23:56:45 2008 -0800 drivers/net: fix sparse warnings: make symbols static Fix this sparse warnings: drivers/net/3c523.c:350:6: warning: symbol 'alloc586' was not declared. Should it be static? drivers/net/cs89x0.c:1029:14: warning: symbol 'reset_chip' was not declared. Should it be static? drivers/net/eepro.c:1399:1: warning: symbol 'read_eeprom' was not declared. Should it be static? drivers/net/plip.c:1020:5: warning: symbol 'plip_hard_header_cache' was not declared. Should it be static? drivers/net/s2io.c:5116:6: warning: symbol 'do_s2io_store_unicast_mc' was not declared. Should it be static? drivers/net/smc9194.c:767:12: warning: symbol 'smc_findirq' was not declared. Should it be static? Signed-off-by: Hannes Eder Signed-off-by: David S. Miller commit a08b32df1417146b1a4c43e641ec1177da51896c Author: Hannes Eder Date: Thu Dec 25 23:56:04 2008 -0800 drivers/net: fix sparse warning: returning void-valued expression Fix this sparse warning: drivers/net/niu.c:8850:2: warning: returning void-valued expression Signed-off-by: Hannes Eder Signed-off-by: David S. Miller commit e4c3c13cb4c4985cb62cf28677fc0ace69a8d69f Author: Hannes Eder Date: Thu Dec 25 23:55:35 2008 -0800 drivers/net: fix sparse warnings: make do-while a compound statement While at it insert some extra curly braces and fix formatting. Fix this sparse warnings: drivers/net/atp.c:811:8: warning: do-while statement is not a compound statement drivers/net/atp.c:813:8: warning: do-while statement is not a compound statement drivers/net/atp.c:815:11: warning: do-while statement is not a compound statement drivers/net/atp.c:817:11: warning: do-while statement is not a compound statement drivers/net/plip.c:642:4: warning: do-while statement is not a compound statement drivers/net/plip.c:647:4: warning: do-while statement is not a compound statement drivers/net/plip.c:820:4: warning: do-while statement is not a compound statement drivers/net/plip.c:825:4: warning: do-while statement is not a compound statement drivers/net/starfire.c:886:3: warning: do-while statement is not a compound statement Signed-off-by: Hannes Eder Signed-off-by: David S. Miller commit 2705d4f87c068552f45e5d6feaa5c468a312f761 Author: Hannes Eder Date: Thu Dec 25 23:52:57 2008 -0800 drivers/net: fix sparse warning: use ANSI-style function declaration Fix this sparse warning: drivers/net/ne.c:932:24: warning: non-ANSI function declaration of function 'init_module' Signed-off-by: Hannes Eder Signed-off-by: David S. Miller commit d76e56b4c620c959fa8346c08d24ee4b2783a564 Author: Nathan Lynch Date: Mon Dec 22 08:42:11 2008 +0000 ehea: use get_zeroed_page for alignment-sensitive allocation With slub debug enabled, I see the following errors and crash with 2.6.28-rc9: IBM eHEA ethernet device driver (Release EHEA_0095) ehea: Error in ehea_h_register_rpage_mr: not on pageboundary ehea: Error in ehea_reg_mr_section: register_rpage_mr failed ehea: Error in ehea_reg_kernel_mr: registering mr failed ehea: Error in ehea_setup_ports: creating MR failed ehea 23c00100.lhea: setup_ports failed Unable to handle kernel paging request for data at address 0x6b6b6b6b6b6bbdcb Faulting instruction address: 0xd000000000064a24 cpu 0x0: Vector: 300 (Data Access) at [c0000000740e7190] pc: d000000000064a24: .ehea_update_firmware_handles+0x84/0x47c [ehea] lr: d00000000006df34: .ehea_probe_adapter+0x35c/0x39c [ehea] sp: c0000000740e7410 msr: 8000000000009032 dar: 6b6b6b6b6b6bbdcb dsisr: 40000000 current = 0xc000000074233780 paca = 0xc0000000008a3300 pid = 2046, comm = modprobe enter ? for help [c0000000740e74f0] d00000000006df34 .ehea_probe_adapter+0x35c/0x39c [ehea] [c0000000740e75a0] c00000000041d5a4 .of_platform_device_probe+0x78/0xb0 [c0000000740e7630] c0000000002d8b38 .driver_probe_device+0x13c/0x200 [c0000000740e76c0] c0000000002d8c90 .__driver_attach+0x94/0xd8 [c0000000740e7750] c0000000002d7d64 .bus_for_each_dev+0x80/0xd8 [c0000000740e7800] c0000000002d889c .driver_attach+0x28/0x40 [c0000000740e7880] c0000000002d8340 .bus_add_driver+0xd4/0x284 [c0000000740e7920] c0000000002d90a0 .driver_register+0xc4/0x198 [c0000000740e79d0] c00000000041d45c .of_register_driver+0x4c/0x60 [c0000000740e7a50] c000000000020ef8 .ibmebus_register_driver+0x30/0x4c [c0000000740e7ae0] d00000000006e108 .ehea_module_init+0x194/0x208c [ehea] [c0000000740e7b90] c000000000009028 .do_one_initcall+0x90/0x1ac [c0000000740e7d90] c00000000008619c .sys_init_module+0xc4/0x200 [c0000000740e7e30] c0000000000084ac syscall_exit+0x0/0x40 (When slub debug is disabled it works fine.) PAGE_SIZE allocations via slab are not guaranteed to be page-aligned; use get_zeroed_page for the 'pt' buffer (I don't really know what this is, only that it is passed to firmware and that the first error message complains about its alignment). This allows the system to boot. Signed-off-by: Nathan Lynch Signed-off-by: David S. Miller commit 359d67d6ad054ae11ad459665fdfb883aca87782 Author: Julia Lawall Date: Mon Dec 22 21:53:40 2008 +0000 [CIFS] Remove redundant test In fs/cifs/cifssmb.c, pLockData is tested for being NULL at the beginning of the function, and not reassigned subsequently. A simplified version of the semantic patch that makes this change is as follows: (http://www.emn.fr/x-info/coccinelle/) Signed-off-by: Julia Lawall Signed-off-by: Steve French commit c6fbba0546d3ead18d4a623e76e28bcbaa66a325 Author: Steve French Date: Thu Dec 18 01:41:20 2008 +0000 [CIFS] make sure that DFS pathnames are properly formed The paths in a DFS request are supposed to only have a single preceding backslash, but we are sending them with a double backslash. This is exposing a bug in Windows where it also sends a path in the response that has a double backslash. The existing code that builds the mount option string however expects a double backslash prefix in a couple of places when it tries to use the path returned by build_path_from_dentry. Fix compose_mount_options to expect properly formed DFS paths (single backslash at front). Also clean up error handling in that function. There was a possible NULL pointer dereference and situations where a partially built option string would be returned. Tested against Samba 3.0.28-ish server and Samba 3.3 and Win2k8. CC: Stable Signed-off-by: Jeff Layton Signed-off-by: Steve French commit ac6a3ef405f314c206906463ca9913a826a577ee Author: Volker Lendecke Date: Sat Dec 6 16:40:40 2008 +0100 Remove an already-checked error condition in SendReceiveBlockingLock Remove an already-checked error condition in SendReceiveBlockingLock Signed-off-by: Volker Lendecke Signed-off-by: Steve French commit 698e96a826939bb24063f6a61801c174e19c32b1 Author: Volker Lendecke Date: Sat Dec 6 16:39:31 2008 +0100 Streamline SendReceiveBlockingLock: Use "goto out:" in an error condition Streamline SendReceiveBlockingLock: Use "goto out:" in an error condition Signed-off-by: Volker Lendecke Signed-off-by: Steve French commit 17c8bfed8abbbed82937a751abfc40d2866e3196 Author: Volker Lendecke Date: Sat Dec 6 16:38:19 2008 +0100 Streamline SendReceiveBlockingLock: Use "goto out:" in an error condition Streamline SendReceiveBlockingLock: Use "goto out:" in an error condition Signed-off-by: Volker Lendecke Signed-off-by: Steve French commit 2b2bdfba7a3679f67b7c3aca4a4b08b24bb675a8 Author: Steve French Date: Thu Dec 11 17:26:54 2008 +0000 [CIFS] Streamline SendReceive[2] by using "goto out:" in an error condition Signed-off-by: Volker Lendecke Signed-off-by: Steve French commit 8e4f2e8a1e5cfa07c5b2731accee0e6eb4c64575 Author: Volker Lendecke Date: Sat Dec 6 16:22:15 2008 +0100 Slightly streamline SendReceive[2] Slightly streamline SendReceive[2] Remove an else branch by naming the error condition what it is Signed-off-by: Volker Lendecke Signed-off-by: Steve French commit 829049cbb1d2ddda2be17ea008b6b3c457808d91 Author: Volker Lendecke Date: Sat Dec 6 16:00:53 2008 +0100 Check the return value of cifs_sign_smb[2] Check the return value of cifs_sign_smb[2] Signed-off-by: Volker Lendecke Signed-off-by: Steve French commit 4c3130efda1ef4f28d5f26819fae2e58c3945f0b Author: Steve French Date: Tue Dec 9 00:28:16 2008 +0000 [CIFS] Cleanup: Move the check for too large R/W requests This avoids an unnecessary else branch Signed-off-by: Volker Lendecke Signed-off-by: Steve French commit 27a97a613b96688e59dd116cae3f0c94107b434c Author: Volker Lendecke Date: Mon Dec 8 20:59:39 2008 +0000 [CIFS] Slightly simplify wait_for_free_request(), remove an unnecessary "else" branch This is no functional change, because in the "if" branch we do an early "return 0;". Signed-off-by: Volker Lendecke Signed-off-by: Steve French commit 8fbbd365cc700e288fb6f9780b092c5afa4946e5 Author: Volker Lendecke Date: Sat Dec 6 13:12:34 2008 +0100 Simplify allocate_mid() slightly: Remove some unnecessary "else" branches Simplify allocate_mid() slightly: Remove some unnecessary "else" branches Signed-off-by: Volker Lendecke Acked-by: Jeff Layton Signed-off-by: Steve French commit 6d9c6d543165d1d492602c1371cb019040093584 Author: Volker Lendecke Date: Mon Dec 8 20:50:24 2008 +0000 [CIFS] In SendReceive, move consistency check out of the mutexed region inbuf->smb_buf_length does not change in in wait_for_free_request() or in allocate_mid(), so we can check it early. Signed-off-by: Volker Lendecke Acked-by: Jeff Layton Signed-off-by: Steve French commit 00e485b0198ea4f509341373f1d9adb0a5977a2f Author: Jeff Layton Date: Fri Dec 5 20:41:21 2008 -0500 cifs: store password in tcon cifs: store password in tcon Each tcon has its own password for share-level security. Store it in the tcon and wipe it clean and free it when freeing the tcon. When doing the tree connect with share-level security, use the tcon password instead of the session password. Signed-off-by: Jeff Layton Signed-off-by: Steve French commit 4e53a3fb98d3d5c2941d2e7199dab317a9d4ead3 Author: Jeff Layton Date: Fri Dec 5 20:41:21 2008 -0500 cifs: have calc_lanman_hash take more granular args cifs: have calc_lanman_hash take more granular args We need to use this routine to encrypt passwords associated with the tcon too. Don't assume that the password will be attached to the smb_session. Also, make some of the values in the lower encryption functions const since they aren't changed. Signed-off-by: Jeff Layton Signed-off-by: Steve French commit 55162dec9371a6f6ac63ff546c182cc6144a649e Author: Jeff Layton Date: Fri Dec 5 20:41:21 2008 -0500 cifs: zero out session password before freeing it cifs: zero out session password before freeing it ...just to be on the safe side. Signed-off-by: Jeff Layton Signed-off-by: Steve French commit 85705524258f93a6086c3247a58f34a661b82b3d Author: Jeff Layton Date: Fri Dec 5 20:41:21 2008 -0500 cifs: fix wait_for_response to time out sleeping processes correctly cifs: fix wait_for_response to time out sleeping processes correctly The current scheme that CIFS uses to sleep and wait for a response is not quite what we want. After sending a request, wait_for_response puts the task to sleep with wait_event(). One of the conditions for wait_event is a timeout (using time_after()). The problem with this is that there is no guarantee that the process will ever be woken back up. If the server stops sending data, then cifs_demultiplex_thread will leave its response queue sleeping. I think the only thing that saves us here is the fact that cifs_dnotify_thread periodically (every 15s) wakes up sleeping processes on all response_q's that have calls in flight. This makes for unnecessary wakeups of some processes. It also means large variability in the timeouts since they're all woken up at once. Instead of this, put the tasks to sleep with wait_event_timeout. This makes them wake up on their own if they time out. With this change, cifs_dnotify_thread should no longer be needed. I've been testing this in conjunction with some other patches that I'm working on. It doesn't seem to affect performance at all with with heavy I/O. Identical iozone -ac runs complete in almost exactly the same time (<1% difference in times). Thanks to Wasrshi Nimara for initially pointing this out. Wasrshi, it would be nice to know whether this patch also helps your testcase. Signed-off-by: Jeff Layton Cc: Wasrshi Nimara Signed-off-by: Steve French commit 8be0ed44c2fa4afcf2c6d2fb3102c926e9f989df Author: Steve French Date: Fri Dec 5 19:14:12 2008 +0000 [CIFS] Can not mount with prefixpath if root directory of share is inaccessible Windows allows you to deny access to the top of a share, but permit access to a directory lower in the path. With the prefixpath feature of cifs (ie mounting \\server\share\directory\subdirectory\etc.) this should have worked if the user specified a prefixpath which put the root of the mount at a directory to which he had access, but we still were doing a lookup on the root of the share (null path) when we should have been doing it on the prefixpath subdirectory. This fixes Samba bug # 5925 Acked-by: Jeff Layton Signed-off-by: Steve French commit 61e748015866e48aff91284e3d300c6e3035a87a Author: Steve French Date: Wed Dec 3 00:57:54 2008 +0000 [CIFS] various minor cleanups pointed out by checkpatch script Signed-off-by: Steve French commit 3de2091ac722e7dbc37d87d9112ab19ec6a871de Author: Steve French Date: Tue Dec 2 20:52:28 2008 +0000 [CIFS] fix typo Signed-off-by: Steve French commit acc18aa1e643519035abdab5e72dc75e534b5198 Author: Steve French Date: Tue Dec 2 18:53:55 2008 +0000 [CIFS] remove sparse warning Signed-off-by: Steve French commit 13a6e42af8d90e2e8eb7fa50adf862a525b70518 Author: Steve French Date: Tue Dec 2 17:24:33 2008 +0000 [CIFS] add mount option to send mandatory rather than advisory locks Some applications/subsystems require mandatory byte range locks (as is used for Windows/DOS/OS2 etc). Sending advisory (posix style) byte range lock requests (instead of mandatory byte range locks) can lead to problems for these applications (which expect that other clients be prevented from writing to portions of the file which they have locked and are updating). This mount option allows mounting cifs with the new mount option "forcemand" (or "forcemandatorylock") in order to have the cifs client use mandatory byte range locks (ie SMB/CIFS/Windows/NTFS style locks) rather than posix byte range lock requests, even if the server would support posix byte range lock requests. This has no effect if the server does not support the CIFS Unix Extensions (since posix style locks require support for the CIFS Unix Extensions), but for mounts to Samba servers this can be helpful for Wine and applications that require mandatory byte range locks. Acked-by: Jeff Layton CC: Alexander Bokovoy Signed-off-by: Steve French commit d5c5605c27c92dac6de1a7a658af5b030847f949 Author: Jeff Layton Date: Mon Dec 1 18:42:33 2008 -0500 cifs: make ipv6_connect take a TCP_Server_Info arg Signed-off-by: Jeff Layton Signed-off-by: Steve French commit bcf4b1063db246a90b9e09e0556f635d632eef36 Author: Jeff Layton Date: Mon Dec 1 18:42:15 2008 -0500 cifs: make ipv4_connect take a TCP_Server_Info arg In order to unify the smb_send routines, we need to reorganize the routines that connect the sockets. Have ipv4_connect take a TCP_Server_Info pointer and get the necessary fields from that. Signed-off-by: Jeff Layton Signed-off-by: Steve French commit 7586b76585d15db767c19255ba0ecfb164df99f7 Author: Jeff Layton Date: Mon Dec 1 18:41:49 2008 -0500 cifs: don't declare smb_vol info on the stack struct smb_vol is fairly large, it's probably best to kzalloc it... Signed-off-by: Jeff Layton Signed-off-by: Steve French commit 63c038c29774476c5dae759e348c269342b4dbef Author: Jeff Layton Date: Mon Dec 1 18:41:46 2008 -0500 cifs: move allocation of new TCP_Server_Info into separate function Clean up cifs_mount a bit by moving the code that creates new TCP sessions into a separate function. Have that function search for an existing socket and then create a new one if one isn't found. Also reorganize the initializion of TCP_Server_Info a bit to prepare for cleanup of the socket connection code. Signed-off-by: Jeff Layton Signed-off-by: Steve French commit 8ecaf67a8ea58c8f131ff045475c74e9538d6b7a Author: Jeff Layton Date: Mon Dec 1 15:23:50 2008 -0500 cifs: account for IPv6 in ses->serverName and clean up netbios name handling The current code for setting the session serverName is IPv4-specific. Allow it to be an IPv6 address as well. Use NIP* macros to set the format. This also entails increasing the length of the serverName field, so declare a new macro for RFC1001 name length and use it in the appropriate places. Finally, drop the unicode_server_Name field from TCP_Server_Info since it's not used. We can add it back later if needed, but for now it just wastes memory. Signed-off-by: Jeff Layton Signed-off-by: Steve French commit 954d7a1cf12158fed23dd8b0f3f563d5a5c97f28 Author: Jeff Layton Date: Mon Dec 1 15:23:50 2008 -0500 cifs: make dnotify thread experimental code Now that tasks sleeping in wait_for_response will time out on their own, we're not reliant on the dnotify thread to do this. Mark it as experimental code for now. Signed-off-by: Jeff Layton Signed-off-by: Steve French commit 72ca545b2d83ac7de671bf66d2dbc214528b4c0c Author: Jeff Layton Date: Mon Dec 1 07:09:36 2008 -0500 cifs: convert tcpSem to a mutex Mutexes are preferred for single-holder semaphores... Signed-off-by: Jeff Layton Signed-off-by: Steve French commit 0468a2cf914e79442b8309ce62e3f861599d8cab Author: Jeff Layton Date: Mon Dec 1 07:09:35 2008 -0500 cifs: take module reference when starting cifsd cifsd can outlive the last cifs mount. We need to hold a module reference until it exits to prevent someone from unplugging the module until we're ready. Signed-off-by: Jeff Layton Signed-off-by: Steve French commit 80909022ce966191e6140fcc15d8aff57a7df32e Author: Jeff Layton Date: Mon Dec 1 07:09:35 2008 -0500 cifs: display addr and prefixpath options in /proc/mounts Have cifs_show_options display the addr and prefixpath options in /proc/mounts. Reduce struct dereferencing by adding some local variables. Signed-off-by: Jeff Layton Signed-off-by: Steve French commit 24b9b06ba7ea53aa0c4d0b1c8c1e93aa1bd9fe72 Author: Jeff Layton Date: Mon Dec 1 07:09:34 2008 -0500 cifs: remove unused SMB session pointer from struct mid_q_entry Signed-off-by: Jeff Layton Signed-off-by: Steve French commit 26c743bed9b0dc83dc736c68d2a3e7494a9790ad Author: Yevgeny Petrilin Date: Thu Dec 25 18:20:13 2008 -0800 mlx4_en: Remove pauses module parameters. They are controlled through Ethtool interface. Signed-off-by: Yevgeny Petrilin Signed-off-by: David S. Miller commit 60b9f9e5588a9e37c35abc2051d57ef12171f916 Author: Yevgeny Petrilin Date: Thu Dec 25 18:19:47 2008 -0800 mlx4_en: Removed Interrupt moderation module parameters They are controlled through Ethtool interface, no need to have two ways to modify them. Signed-off-by: Yevgeny Petrilin Signed-off-by: David S. Miller commit c03ea21fcf549eed42de7aaa965ced8bee17aa76 Author: Yevgeny Petrilin Date: Thu Dec 25 18:14:04 2008 -0800 mlx4_en: Removed redundant cq->armed flag Signed-off-by: Yevgeny Petrilin Signed-off-by: David S. Miller commit 48374ddce72e278e29080e3177e74a13c034d8b4 Author: Yevgeny Petrilin Date: Thu Dec 25 18:13:45 2008 -0800 mlx4_en: Removed TX locking when polling TX cq There is no need to synchronize the polling with the transmit function. The only place to synchronize is when we process the cq from the transmit function. Also removed spin_lock_irq, and using spin_trylock, if somebody else is already processing the cq, no need to wait for it to finish. Signed-off-by: Yevgeny Petrilin Signed-off-by: David S. Miller commit b51968d676db1c4e541b4c84de7ce7af812c9e9f Author: Yevgeny Petrilin Date: Thu Dec 25 18:13:20 2008 -0800 mlx4_en: Memory leak on completion queue free If port is being destroyed without being activated before, CQ resources are not freed. Signed-off-by: Yevgeny Petrilin Signed-off-by: David S. Miller commit e74b3f7d568a62d21a76885438d7351948e7355a Merge: 13e620e 59f8500 Author: David S. Miller Date: Thu Dec 25 18:10:12 2008 -0800 Merge branch 'for-david' of git://git.kernel.org/pub/scm/linux/kernel/git/chris/linux-2.6 commit 13e620e0e6c609ccc9882ea280f4f077500d51a0 Author: Brice Goglin Date: Thu Dec 25 18:09:16 2008 -0800 myri10ge: update driver version to 1.4.4-1.395 Update myri10ge driver version to 1.4.4-1.395. Signed-off-by: Brice Goglin Signed-off-by: David S. Miller commit e92df2820d2d8de4be3dcbad96eb144ce6fd550d Author: Brice Goglin Date: Thu Dec 25 18:08:59 2008 -0800 myri10ge: update firmware headers to 1.4.37 Update myri10ge firmware headers to 1.4.37: * Make each member of the error/cmd enum an initialized one, so there is a convenient numerical reference to look for reverse conversion. * Add new MXGEFW_CMD_RELAX_RXBUFFER_ALIGNMENT command. * Add new "features" field to mcp_header. Signed-off-by: Brice Goglin Signed-off-by: David S. Miller commit 36994a0a7004fd4777cd93a4b658b5f84bf4c93e Author: Johannes Berg Date: Thu Dec 25 18:07:50 2008 -0800 forcedeth: don't poll NV event 36 Polling doesn't seem to be necessary on my hardware, at least I haven't seen any bad effects testing it a while. Remove the polling so the CPU doesn't have to wake up a hundred times per second. Signed-off-by: Johannes Berg Signed-off-by: David S. Miller commit 88a44e51e9a5202f8856f72400fc87a39205186d Author: Julia Lawall Date: Thu Dec 25 18:04:51 2008 -0800 net/appletalk: Remove redundant test atif is tested for being NULL twice, with the same effect in each case. I have kept the second test, as it seems to fit well with the comment above it. A simplified version of the semantic patch that makes this change is as follows: (http://www.emn.fr/x-info/coccinelle/) // @r exists@ local idexpression x; expression E; position p1,p2; @@ if (x@p1 == NULL || ...) { ... when forall return ...; } ... when != \(x=E\|x--\|x++\|--x\|++x\|x-=E\|x+=E\|x|=E\|x&=E\|&x\) ( x@p2 == NULL | x@p2 != NULL ) // another path to the test that is not through p1? @s exists@ local idexpression r.x; position r.p1,r.p2; @@ ... when != x@p1 ( x@p2 == NULL | x@p2 != NULL ) @fix depends on !s@ position r.p1,r.p2; expression x,E; statement S1,S2; @@ ( - if ((x@p2 != NULL) || ...) S1 | - if ((x@p2 == NULL) && ...) S1 | - BUG_ON(x@p2 == NULL); ) // Signed-off-by: Julia Lawall Signed-off-by: David S. Miller commit c14ea0ca659d378dd377e417162ebd908d1da4ce Author: Julia Lawall Date: Thu Dec 25 18:03:44 2008 -0800 drivers/net/wan: Remove redundant test arg is checked not to be NULL a few lines before. A simplified version of the semantic patch that makes this change is as follows: (http://www.emn.fr/x-info/coccinelle/) // @r exists@ local idexpression x; expression E; position p1,p2; @@ if (x@p1 == NULL || ...) { ... when forall return ...; } ... when != \(x=E\|x--\|x++\|--x\|++x\|x-=E\|x+=E\|x|=E\|x&=E\|&x\) ( x@p2 == NULL | x@p2 != NULL ) // another path to the test that is not through p1? @s exists@ local idexpression r.x; position r.p1,r.p2; @@ ... when != x@p1 ( x@p2 == NULL | x@p2 != NULL ) @fix depends on !s@ position r.p1,r.p2; expression x,E; statement S1,S2; @@ ( - if ((x@p2 != NULL) || ...) S1 | - if ((x@p2 == NULL) && ...) S1 | - BUG_ON(x@p2 == NULL); ) // Signed-off-by: Julia Lawall Signed-off-by: David S. Miller commit 90f5dfcc6afafcc3e1c18298143c1213b071990d Author: Julia Lawall Date: Thu Dec 25 18:03:28 2008 -0800 drivers/net: Remove redundant test In each case, ap is checked not to be NULL a few lines before. A simplified version of the semantic patch that makes this change is as follows: (http://www.emn.fr/x-info/coccinelle/) // @r exists@ local idexpression x; expression E; position p1,p2; @@ if (x@p1 == NULL || ...) { ... when forall return ...; } ... when != \(x=E\|x--\|x++\|--x\|++x\|x-=E\|x+=E\|x|=E\|x&=E\|&x\) ( x@p2 == NULL | x@p2 != NULL ) // another path to the test that is not through p1? @s exists@ local idexpression r.x; position r.p1,r.p2; @@ ... when != x@p1 ( x@p2 == NULL | x@p2 != NULL ) @fix depends on !s@ position r.p1,r.p2; expression x,E; statement S1,S2; @@ ( - if ((x@p2 != NULL) || ...) S1 | - if ((x@p2 == NULL) && ...) S1 | - BUG_ON(x@p2 == NULL); ) // Signed-off-by: Julia Lawall Signed-off-by: David S. Miller commit 662f44af635f6bde366d44abacaeec7916d9f168 Author: Julia Lawall Date: Thu Dec 25 18:03:09 2008 -0800 drivers/net/ehea: Remove redundant test In each case, vpage is checked not to be NULL just after it is initialized at the beginning of each loop iteration. A simplified version of the semantic patch that makes this change is as follows: (http://www.emn.fr/x-info/coccinelle/) // @r exists@ local idexpression x; expression E; position p1,p2; @@ if (x@p1 == NULL || ...) { ... when forall return ...; } ... when != \(x=E\|x--\|x++\|--x\|++x\|x-=E\|x+=E\|x|=E\|x&=E\|&x\) ( x@p2 == NULL | x@p2 != NULL ) // another path to the test that is not through p1? @s exists@ local idexpression r.x; position r.p1,r.p2; @@ ... when != x@p1 ( x@p2 == NULL | x@p2 != NULL ) @fix depends on !s@ position r.p1,r.p2; expression x,E; statement S1,S2; @@ ( - if ((x@p2 != NULL) || ...) S1 | - if ((x@p2 == NULL) && ...) S1 | - BUG_ON(x@p2 == NULL); ) // Signed-off-by: Julia Lawall Signed-off-by: David S. Miller commit b0fd0d235df2b3cf8e5e244e301614092a9c317c Author: Julia Lawall Date: Thu Dec 25 18:02:49 2008 -0800 drivers/net/au1000_eth.c: Remove redundant test phydev is checked to be not NULL a few lines above. A simplified version of the semantic patch that makes this change is as follows: (http://www.emn.fr/x-info/coccinelle/) // @r exists@ local idexpression x; expression E; position p1,p2; @@ if (x@p1 == NULL || ...) { ... when forall return ...; } ... when != \(x=E\|x--\|x++\|--x\|++x\|x-=E\|x+=E\|x|=E\|x&=E\|&x\) ( x@p2 == NULL | x@p2 != NULL ) // another path to the test that is not through p1? @s exists@ local idexpression r.x; position r.p1,r.p2; @@ ... when != x@p1 ( x@p2 == NULL | x@p2 != NULL ) @fix depends on !s@ position r.p1,r.p2; expression x,E; statement S1,S2; @@ ( - if ((x@p2 != NULL) || ...) S1 | - if ((x@p2 == NULL) && ...) S1 | - BUG_ON(x@p2 == NULL); ) // Signed-off-by: Julia Lawall Signed-off-by: David S. Miller commit c062076cc999795af19ff61d8c76f33e5ceb9ca0 Author: Roel Kluin Date: Thu Dec 25 17:23:50 2008 -0800 qlge: ql_adapter_down() typo Signed-off-by: Roel Kluin Signed-off-by: Ron Mercer Signed-off-by: David S. Miller commit 619e803d3c1b7bcc17c45e81f309d0b9b3df2d5d Author: Vegard Nossum Date: Thu Dec 25 17:21:17 2008 -0800 netlink: fix (theoretical) overrun in message iteration See commit 1045b03e07d85f3545118510a587035536030c1c ("netlink: fix overrun in attribute iteration") for a detailed explanation of why this patch is necessary. In short, nlmsg_next() can make "remaining" go negative, and the remaining >= sizeof(...) comparison will promote "remaining" to an unsigned type, which means that the expression will evaluate to true for negative numbers, even though it was not intended. I put "theoretical" in the title because I have no evidence that this can actually happen, but I suspect that a crafted netlink packet can trigger some badness. Note that the last test, which seemingly has the exact same problem (also true for nla_ok()), is perfectly OK, since we already know that remaining is positive. Signed-off-by: Vegard Nossum Signed-off-by: David S. Miller commit 64ff3b938ec6782e6585a83d5459b98b0c3f6eb8 Author: Herbert Xu Date: Thu Dec 25 17:12:58 2008 -0800 tcp: Always set urgent pointer if it's beyond snd_nxt Our TCP stack does not set the urgent flag if the urgent pointer does not fit in 16 bits, i.e., if it is more than 64K from the sequence number of a packet. This behaviour is different from the BSDs, and clearly contradicts the purpose of urgent mode, which is to send the notification (though not necessarily the associated data) as soon as possible. Our current behaviour may in fact delay the urgent notification indefinitely if the receiver window does not open up. Simply matching BSD however may break legacy applications which incorrectly rely on the out-of-band delivery of urgent data, and conversely the in-band delivery of non-urgent data. Alexey Kuznetsov suggested a safe solution of following BSD only if the urgent pointer itself has not yet been transmitted. This way we guarantee that when the remote end sees the packet with non-urgent data marked as urgent due to wrap-around we would have advanced the urgent pointer beyond, either to the actual urgent data or to an as-yet untransmitted packet. The only potential downside is that applications on the remote end may see multiple SIGURG notifications. However, this would occur anyway with other TCP stacks. More importantly, the outcome of such a duplicate notification is likely to be harmless since the signal itself does not carry any information other than the fact that we're in urgent mode. Signed-off-by: Herbert Xu Signed-off-by: David S. Miller commit 8510b937ae1e23583abdeb828cad5c518295c61d Author: Wei Yongjun Date: Thu Dec 25 16:59:03 2008 -0800 sctp: Add validity check for SCTP_PARTIAL_DELIVERY_POINT socket option The latest ietf socket extensions API draft said: 8.1.21. Set or Get the SCTP Partial Delivery Point Note also that the call will fail if the user attempts to set this value larger than the socket receive buffer size. This patch add this validity check for SCTP_PARTIAL_DELIVERY_POINT socket option. Signed-off-by: Wei Yongjun Signed-off-by: Vlad Yasevich Signed-off-by: David S. Miller commit 9fcb95a105758b81ef0131cd18e2db5149f13e95 Author: Wei Yongjun Date: Thu Dec 25 16:58:11 2008 -0800 sctp: Avoid memory overflow while FWD-TSN chunk is received with bad stream ID If FWD-TSN chunk is received with bad stream ID, the sctp will not do the validity check, this may cause memory overflow when overwrite the TSN of the stream ID. The FORWARD-TSN chunk is like this: FORWARD-TSN chunk Type = 192 Flags = 0 Length = 172 NewTSN = 99 Stream = 10000 StreamSequence = 0xFFFF This patch fix this problem by discard the chunk if stream ID is not less than MIS. Signed-off-by: Wei Yongjun Signed-off-by: Vlad Yasevich Signed-off-by: David S. Miller commit aea3c5c05d2c409e93bfa80dcedc06af7da6c13b Author: Wei Yongjun Date: Thu Dec 25 16:57:24 2008 -0800 sctp: Implement socket option SCTP_GET_ASSOC_NUMBER Implement socket option SCTP_GET_ASSOC_NUMBER of the latest ietf socket extensions API draft. 8.2.5. Get the Current Number of Associations (SCTP_GET_ASSOC_NUMBER) This option gets the current number of associations that are attached to a one-to-many style socket. The option value is an uint32_t. Signed-off-by: Wei Yongjun Signed-off-by: Vlad Yasevich Signed-off-by: David S. Miller commit ea686a2653c5586b1c7192958b9d521abde66e92 Author: Wei Yongjun Date: Thu Dec 25 16:56:45 2008 -0800 sctp: Fix a typo in socket.c Just fix a typo in socket.c. Signed-off-by: Wei Yongjun Signed-off-by: Vlad Yasevich Signed-off-by: David S. Miller commit e89c2095815d82eaa9fb85eff42f8b65b67a59cf Author: Wei Yongjun Date: Thu Dec 25 16:54:58 2008 -0800 sctp: Bring SCTP_MAXSEG socket option into ietf API extension compliance Brings maxseg socket option set/get into line with the latest ietf socket extensions API draft, while maintaining backwards compatibility. Signed-off-by: Wei Yongjun Signed-off-by: Vlad Yasevich Signed-off-by: David S. Miller commit 161c8d2f50109b44b664eaf23831ea1587979a61 Author: Krzysztof Halasa Date: Thu Dec 25 16:50:41 2008 -0800 net: PHYLIB mdio fixes #2 The PHYLIB mdio code has more problems in error paths: - mdiobus_release can be called before bus->state is set to MDIOBUS_REGISTERED - mdiobus_scan allocates resources which need to be freed - the comment is wrong, the resistors used are actually pull-ups. Signed-off-by: Krzysztof Halasa Signed-off-by: David S. Miller commit f7d1b9f5aafa371d7f51f644aa3c38bc914e9205 Author: Eric Dumazet Date: Thu Dec 25 16:45:19 2008 -0800 vlan: fix convertion to net_device_ops commit 656299f706e52e0409733d704c2761f1b12d6954 (vlan: convert to net_device_ops) added a net_device_ops with a NULL ndo_start_xmit field. This gives a crash in dev_hard_start_xmit() Fix it using two net_device_ops structures, one for hwaccel vlan, one for non hwaccel vlan. Signed-off-by: Eric Dumazet Signed-off-by: David S. Miller commit d45227391c70ea12ec129ebfa97841e9b7ff34fd Author: Steve Glendinning Date: Thu Dec 25 16:44:01 2008 -0800 smsc911x: fix platform resource call during module unload This patch fixes a typo, the platform_get_resource calls in smsc911x_drv_remove are supposed to look the same as those in smsc911x_drv_probe. Reported and fixed by dfoley@telus.net. Signed-off-by: Steve Glendinning Signed-off-by: David S. Miller commit dc26977f77dd3486b59516d2cc03627009c0d4c6 Author: Steve Glendinning Date: Thu Dec 25 16:43:34 2008 -0800 smsc911x: don't clobber driver_data smsc911x uses driver_data to store our net_device, don't overwrite this with the mii_bus. Reported and fixed by dfoley@telus.net. Signed-off-by: Steve Glendinning Signed-off-by: David S. Miller commit 7091e728c570157496e52296d2dbe816a6916836 Author: Alexey Dobriyan Date: Thu Dec 25 16:42:51 2008 -0800 netns: igmp: make /proc/net/{igmp,mcfilter} per netns This patch makes the followinf proc entries per-netns: /proc/net/igmp /proc/net/mcfilter Signed-off-by: Alexey Dobriyan Acked-by: Daniel Lezcano Acked-by: Benjamin Thery Signed-off-by: David S. Miller commit b4ee07df3d8121060200dbe1c6686a4e0682bee2 Author: Alexey Dobriyan Date: Thu Dec 25 16:42:23 2008 -0800 netns: igmp: allow IPPROTO_IGMP sockets in netns Looks like everything is already ready. Required for ebtables(8) for one thing. Also, required for ipmr per-netns (coming soon). (Benjamin) Signed-off-by: Alexey Dobriyan Acked-by: Benjamin Thery Signed-off-by: David S. Miller commit cb5b04fe14394a93eb9a3523f5af9f77480a5a04 Author: Steve Glendinning Date: Thu Dec 25 16:41:09 2008 -0800 smsc911x: make smsc911x_ethtool_ops constant Signed-off-by: Steve Glendinning Signed-off-by: David S. Miller commit 631b7568c7d8f0222773e1beb2460a86541ae394 Author: Steve Glendinning Date: Thu Dec 25 16:40:47 2008 -0800 smsc911x: convert driver to use net_device_ops Signed-off-by: Steve Glendinning Signed-off-by: David S. Miller commit dd0451938815d8b901488b1058f52023892c6cde Author: Steve Glendinning Date: Thu Dec 25 16:40:19 2008 -0800 smsc911x: fix BUG if module is removed while interface is up If the module is removed while its interface is up, smsc911x_stop is not called until after smsc911x_drv_remove has disposed of phy_dev. This patch changes the stop method to handle this situation. This is a different problem to the one reported by dfoley@telus.net. Signed-off-by: Steve Glendinning Signed-off-by: David S. Miller commit 71ab6b245fda6e7597a667a67cce0d26c3c7a14b Author: Rusty Russell Date: Thu Dec 25 17:18:43 2008 +1030 x86: remove impossible test in mtrr/main.c Impact: cleanup enable_mtrr_cleanup is static, and is never set to anything but 0 or 1. Signed-off-by: Rusty Russell Signed-off-by: H. Peter Anvin commit a73ad3331fdbf4191cf99b83ea9ac7082b6757ba Author: H. Peter Anvin Date: Thu Dec 25 10:39:01 2008 -0800 x86: unify the implementation of FPU traps On 32 bits, we may suffer IRQ 13, or supposedly we might have a buggy implementation which gives spurious trap 16. We did not check for this on 64 bits, but there is no reason we can't make the code the same in both cases. Furthermore, this is presumably rare, so do the spurious check last, instead of first. Signed-off-by: H. Peter Anvin commit 32e8d18683adb322c994d1a0fe02d66380991f45 Merge: 4a6908a 0a57b78 39c04b5 b2e3c0a 0014744 c29541b 8187926 a5a6449 Author: Ingo Molnar Date: Thu Dec 25 18:02:25 2008 +0100 Merge branches 'timers/clocksource', 'timers/hpet', 'timers/hrtimers', 'timers/nohz', 'timers/ntp', 'timers/posixtimers' and 'timers/rtc' into timers/core commit 860cf8894b326e4b89720f520540604834337b72 Merge: e262a7b 973656f f2b662d 4a6908a Author: Ingo Molnar Date: Thu Dec 25 16:27:54 2008 +0100 Merge branches 'irq/sparseirq', 'irq/genirq' and 'irq/urgent'; commit 'v2.6.28' into irq/core commit 973656fe1afb4adf95d7b9ab75d4660cd3821ea1 Author: Ingo Molnar Date: Thu Dec 25 16:26:47 2008 +0100 x86, sparseirq: clean up Kconfig entry Impact: improve help text Signed-off-by: Ingo Molnar commit 6638101c1124c19c8a65b1645e4ecd09e0572f3e Merge: cc37d3d 3ae7020 a086366 00ef9f7 26cc271 12d79ba 3ac5266 8b752e3 9212ddb Author: Ingo Molnar Date: Thu Dec 25 14:06:29 2008 +0100 Merge branches 'core/debugobjects', 'core/iommu', 'core/locking', 'core/printk', 'core/rcu', 'core/resources', 'core/softirq' and 'core/stacktrace' into core/core commit cc37d3d20604f3759d269247b022616f710aa52d Merge: b594deb b568636 Author: Ingo Molnar Date: Thu Dec 25 13:54:14 2008 +0100 Merge branch 'core/futexes' into core/core commit b594deb0cc54d857828d2e33b2e9d5a9f02f0e89 Merge: 0b271ef ec5679e Author: Ingo Molnar Date: Thu Dec 25 13:53:11 2008 +0100 Merge branch 'core/debug' into core/core commit 0b271ef4521756010675b1611bef20fd3096790d Merge: b19b3c7 4a6908a Author: Ingo Molnar Date: Thu Dec 25 13:51:46 2008 +0100 Merge commit 'v2.6.28' into core/core commit 4e202284e6ac1695df3eb4a0e549ea78addfb663 Merge: 826e08b 80f40ee 4a6908a Author: Ingo Molnar Date: Thu Dec 25 13:42:23 2008 +0100 Merge branch 'sched/urgent'; commit 'v2.6.28' into sched/core commit cef7125def4dd104769f400c941199614da0aca1 Author: Hendrik Brueckner Date: Thu Dec 25 13:39:55 2008 +0100 [S390] provide documentation for hvc_iucv kernel parameter. Signed-off-by: Hendrik Brueckner Signed-off-by: Martin Schwidefsky commit 2a7c6f2c39d1291e55403676b25fcfbff78fc5fb Author: Peter Tiedemann Date: Thu Dec 25 13:39:54 2008 +0100 [S390] convert ctcm printks to dev_xxx and pr_xxx macros. Signed-off-by: Peter Tiedemann Signed-off-by: Martin Schwidefsky commit ecf39d42129767c0b4b4a6cf4997c1219c860934 Author: Christof Schmitt Date: Thu Dec 25 13:39:53 2008 +0100 [S390] convert zfcp printks to pr_xxx macros. Signed-off-by: Christof Schmitt Signed-off-by: Martin Schwidefsky commit 5466c2e43e78068cfe634b07fe36dd7a6a7af535 Author: Martin Schwidefsky Date: Thu Dec 25 13:39:52 2008 +0100 [S390] convert vmlogrdr printks to pr_xxx macros. Signed-off-by: Martin Schwidefsky commit 17159dc6fb8769e52edb23d138c2b6bc634397a3 Author: Michael Holzheu Date: Thu Dec 25 13:39:51 2008 +0100 [S390] convert zfcp dumper printks to pr_xxx macros. Signed-off-by: Michael Holzheu Signed-off-by: Martin Schwidefsky commit 395d31d40cc38270dd7c024691404e2eddf0678d Author: Martin Schwidefsky Date: Thu Dec 25 13:39:50 2008 +0100 [S390] convert cpu related printks to pr_xxx macros. Signed-off-by: Martin Schwidefsky commit 74eacdb9c2bf9fc6e8c6785013b5dd0e551a9dfa Author: Frank Blaschka Date: Thu Dec 25 13:39:49 2008 +0100 [S390] convert qeth printks to dev_xxx and pr_xxx macros. Signed-off-by: Frank Blaschka Signed-off-by: Martin Schwidefsky commit b3ff088b3025c3583194edd7576215b61333111f Author: Martin Schwidefsky Date: Thu Dec 25 13:39:48 2008 +0100 [S390] convert sclp printks to pr_xxx macros. Signed-off-by: Martin Schwidefsky commit 8f7c502c267c0e5e2dbbbdea9f3e7e85bbc95694 Author: Ursula Braun Date: Thu Dec 25 13:39:47 2008 +0100 [S390] convert iucv printks to dev_xxx and pr_xxx macros. Signed-off-by: Ursula Braun Signed-off-by: Martin Schwidefsky commit 136f7a1c4239be91e3e0f53532944b9aab7b58f8 Author: Martin Schwidefsky Date: Thu Dec 25 13:39:46 2008 +0100 [S390] convert ap_bus printks to pr_xxx macros. Signed-off-by: Martin Schwidefsky commit 93098bf01578763bb84b627fe893f219cc44b995 Author: Hongjie Yang Date: Thu Dec 25 13:39:45 2008 +0100 [S390] convert dcssblk and extmem printks messages to pr_xxx macros. Signed-off-by: Hongjie Yang Signed-off-by: Martin Schwidefsky commit 1519c0c6ebd2bfd29bae762a1741963a1d06bca2 Author: Melissa Howland Date: Thu Dec 25 13:39:44 2008 +0100 [S390] convert monwriter printks to pr_xxx macros. Signed-off-by: Melissa Howland Signed-off-by: Martin Schwidefsky commit c5612c1956597687e4bdf59f2649d20d60f5a2b6 Author: Michael Holzheu Date: Thu Dec 25 13:39:43 2008 +0100 [S390] convert s390 debug feature printks to pr_xxx macros. Signed-off-by: Michael Holzheu Signed-off-by: Martin Schwidefsky commit a4f5a299cf8468619dc17f0711017c6d72d6ab94 Author: Gerald Schaefer Date: Thu Dec 25 13:39:42 2008 +0100 [S390] convert monreader printks to pr_xxx macros. Signed-off-by: Gerald Schaefer Signed-off-by: Martin Schwidefsky commit e7534b0ec9a28c53a7bcc874e818a24d3b49680f Author: Gerald Schaefer Date: Thu Dec 25 13:39:41 2008 +0100 [S390] convert appldata printks to pr_xxx macros. Signed-off-by: Gerald Schaefer Signed-off-by: Martin Schwidefsky commit 3b6ed4ab48be2110aa93d9828783bfe86193331d Author: Martin Schwidefsky Date: Thu Dec 25 13:39:40 2008 +0100 [S390] convert setup printks to pr_xxx macros. Signed-off-by: Martin Schwidefsky commit f55495ba1a56adba57ea7d3164a766d83a631c58 Author: Michael Holzheu Date: Thu Dec 25 13:39:39 2008 +0100 [S390] convert hypfs printks to pr_xxx macros. Signed-off-by: Michael Holzheu Signed-off-by: Martin Schwidefsky commit feab6501d84f7e2f75cf0f5c7d43341431904374 Author: Martin Schwidefsky Date: Thu Dec 25 13:39:38 2008 +0100 [S390] convert time printks to pr_xxx macros. Signed-off-by: Martin Schwidefsky commit 39f09392498d8ee876bea3ad34f26c447924c818 Author: Jan Glauber Date: Thu Dec 25 13:39:37 2008 +0100 [S390] convert cpacf printks to pr_xxx macros. Signed-off-by: Jan Glauber Signed-off-by: Martin Schwidefsky commit e6d5a428e01b1387852f17b3dd7934239a0be0d4 Author: Michael Ernst Date: Thu Dec 25 13:39:36 2008 +0100 [S390] convert cio printks to pr_xxx macros. Signed-off-by: Michael Ernst Signed-off-by: Martin Schwidefsky commit 80a5c36d1dae15520aa0df0eff713c6c41c46035 Author: Frank Munzert Date: Thu Dec 25 13:39:35 2008 +0100 [S390] convert vmur printks to pr_xxx macros. Signed-off-by: Frank Munzert Signed-off-by: Martin Schwidefsky commit 2f526e5acbf1179d30bc9fa1d20b69ec4c0bb689 Author: Christian Borntraeger Date: Thu Dec 25 13:39:34 2008 +0100 [S390] convert cpcmd printks to pr_xxx macros. Signed-off-by: Christian Borntraeger Signed-off-by: Martin Schwidefsky commit c99fc5dadcd87e8b97613f50c48407678b731cfb Author: Klaus-D. Wacker Date: Thu Dec 25 13:39:33 2008 +0100 [S390] convert lcs printks to dev_xxx and pr_xxx macros. Signed-off-by: Klaus-D. Wacker Signed-off-by: Martin Schwidefsky commit 8988e58f8b7d4b5e8b64435bedf84e4b3987a63d Author: Christian Borntraeger Date: Thu Dec 25 13:39:32 2008 +0100 [S390] convert vmcp printks to pr_xxx macros. Signed-off-by: Christian Borntraeger Signed-off-by: Martin Schwidefsky commit d1c2f8928a2feab56a181bb7e9afe8f804fd26cd Author: Martin Schwidefsky Date: Thu Dec 25 13:39:31 2008 +0100 [S390] convert xpram printks to pr_xxx macros. Signed-off-by: Martin Schwidefsky commit acfa922c5a00eca0abac0e2b6d6666c606c27345 Author: Julia Lawall Date: Thu Dec 25 13:39:30 2008 +0100 [S390] s390: Remove redundant test The loop above the modified code only terminates when rc is a valid pointer. A simplified version of the semantic patch that makes this change is as follows: (http://www.emn.fr/x-info/coccinelle/) // @r exists@ local idexpression x; expression E; position p1,p2; @@ if (x@p1 == NULL || ...) { ... when forall return ...; } ... when != \(x=E\|x--\|x++\|--x\|++x\|x-=E\|x+=E\|x|=E\|x&=E\|&x\) ( x@p2 == NULL | x@p2 != NULL ) // another path to the test that is not through p1? @s exists@ local idexpression r.x; position r.p1,r.p2; @@ ... when != x@p1 ( x@p2 == NULL | x@p2 != NULL ) @fix depends on !s@ position r.p1,r.p2; expression x,E; statement S1,S2; @@ ( - if ((x@p2 != NULL) || ...) S1 | - if ((x@p2 == NULL) && ...) S1 | - BUG_ON(x@p2 == NULL); ) // Signed-off-by: Julia Lawall Signed-off-by: Martin Schwidefsky commit 0946100f566d04cc93e86654f3ba588ee94b3f4c Author: Hendrik Brueckner Date: Thu Dec 25 13:39:29 2008 +0100 [S390] s390/setup: set default preferred console device "ttyS" This patch sets the default console device for s390. The console= kernel parameter can be still used to switch the preferred console to some other device. In that case, console messages are also printed on the default console device (ttyS0). Signed-off-by: Hendrik Brueckner Signed-off-by: Martin Schwidefsky commit 21e7b2c4d59e5d6631b25e71e777cb0160997d6a Author: Julia Lawall Date: Thu Dec 25 13:39:28 2008 +0100 [S390] drivers/s390/crypto: Move dereference to after IS_ERR test If reply is ERR_PTR(...), then it should not be dereferenced, so I have moved the dereference from the declaration to after the IS_ERR test. The semantic match that finds the problem is as follows: (http://www.emn.fr/x-info/coccinelle/) // @match exists@ expression x, E; identifier fld; position p1,p2; @@ ( x = E; | x = E | x@p1->fld ... when != x = E IS_ERR(x@p2) ... when any ) @other_match exists@ expression match.x, E1, E2; position match.p1,match.p2; @@ x = E1 ... when != x = E2 when != x@p1 x@p2 @ script:python depends on !other_match@ p1 << match.p1; p2 << match.p2; @@ print "* file %s dereference %s test %s" % (p1[0].file,p1[0].line,p2[0].line) // Signed-off-by: Julia Lawall Signed-off-by: Martin Schwidefsky commit 33b1d09ef317d64c58b135c2e811bb55b3f15b19 Author: Martin Schwidefsky Date: Thu Dec 25 13:39:27 2008 +0100 [S390] panic_stack leak in smp_alloc_lowcore Fix freeing of the panic_stack if the allocation of async_stack failed. Signed-off-by: Martin Schwidefsky commit 4f7e90d6d61fa0e56821787521c12f8a626c4037 Author: Martin Schwidefsky Date: Thu Dec 25 13:39:26 2008 +0100 [S390] clear_table inline assembly contraints Tell the compile that the clear_table inline assembly writes to the memory referenced by *s. Signed-off-by: Martin Schwidefsky commit c185b783b0993c294ca22ad0a55e6cdf8df4f9d3 Author: Martin Schwidefsky Date: Thu Dec 25 13:39:25 2008 +0100 [S390] Remove config options. On s390 we always want to run with precise cputime accounting. Remove the config options VIRT_TIMER and VIRT_CPU_ACCOUNTING. Signed-off-by: Martin Schwidefsky commit 349f1b671a4b2612c1355612bedadc81f86d26f1 Author: Heiko Carstens Date: Thu Dec 25 13:39:24 2008 +0100 [S390] cpu topology: remove dead code Interrupts haven't been implemented. So remove the dead code. Signed-off-by: Heiko Carstens Signed-off-by: Martin Schwidefsky commit 2b1a61f0a8c714c96277bf16a823a84bafa1397d Author: Heiko Carstens Date: Thu Dec 25 13:39:23 2008 +0100 [S390] cpu topology: introduce kernel parameter Introduce a topology=[on|off] kernel parameter which allows to switch cpu topology on/off. Default will be off, since it looks like that for some workloards this doesn't behave very well (on s390). Signed-off-by: Heiko Carstens Signed-off-by: Martin Schwidefsky commit 9fee8db222a344b9ee407fad9c652ed823690788 Author: Martin Schwidefsky Date: Thu Dec 25 13:39:22 2008 +0100 [S390] add new machine types to setup_hwcaps. Add the machine types for z9-bc, z10-ec and z10-bc to the elf_platform detection in setup_hwcaps. Signed-off-by: Martin Schwidefsky commit c58d92b233a41b81fbbea6add4ba1b512784f837 Author: Heiko Carstens Date: Thu Dec 25 13:39:21 2008 +0100 [S390] Remove initial kernel stack backchain initialization. Early init code clears the backchain of the initial kernel stack frame. This is not necessary since it is pre initialized with zeros. Plus it was broken on 64 bit since it cleared only four of eight bytes. Signed-off-by: Heiko Carstens Signed-off-by: Martin Schwidefsky commit 64253acbf189085fb0ceb9a3fbe43b40f4a0a932 Author: Harvey Harrison Date: Thu Dec 25 13:39:20 2008 +0100 [S390] s390: use the new byteorder headers Signed-off-by: Harvey Harrison Signed-off-by: Andrew Morton Signed-off-by: Martin Schwidefsky commit e37f50e1811d68170e4d58a087cf634b2bf1cef9 Author: Martin Schwidefsky Date: Thu Dec 25 13:39:19 2008 +0100 [S390] Add processor type march=z10 and a processor type safety check. This patch adds the code generation option for IBM System z10 and adds a check in head[31,64].S to prevents the execution of a kernel compiled for a new processor type on an old machine. Signed-off-by: Martin Schwidefsky commit b3b59d3339c907b1dec3ce19f62b2a7f120d142d Author: Heiko Carstens Date: Thu Dec 25 13:39:18 2008 +0100 [S390] sclp vt220: fix compile warning get rid of this one: CC drivers/s390/char/sclp_vt220.o drivers/s390/char/sclp_vt220.c:588: warning: '__sclp_vt220_flush_buffer' defined but not used Signed-off-by: Heiko Carstens Signed-off-by: Martin Schwidefsky commit 2d6cd2a5908adecd06c8cee2a73814463ed71493 Author: Martin Schwidefsky Date: Thu Dec 25 13:39:17 2008 +0100 [S390] remove warnings with functions ending in BUG Functions which end in a BUG() statement and skip the return statement cause compile warnings on s390, e.g.: mm/bootmem.c: In function 'mark_bootmem': mm/bootmem.c:321: warning: control reaches end of non-void function To avoid the warning add an endless loop to the BUG() macro. Signed-off-by: Martin Schwidefsky Signed-off-by: Martin Schwidefsky commit edd5378740fe7717b1377ee04e593cfad8d29650 Author: Heiko Carstens Date: Thu Dec 25 13:39:16 2008 +0100 [S390] mark disabled_wait as noreturn function disabled_wait() won't return, so add an __attribute__((noreturn)). This will remove a false positive finding which our internal code checker reports. Signed-off-by: Heiko Carstens Signed-off-by: Martin Schwidefsky commit d36f0c66389eb5e4dbd9b095eea252230ba3273e Author: Sebastian Ott Date: Thu Dec 25 13:39:15 2008 +0100 [S390] cio: use pim to check for multipath. To check if multipath is available we count the bits set in lpm, which could change over time (via configure [on|off] of a path). The following patch uses the pim (which is persistent) for this decision. Signed-off-by: Sebastian Ott Signed-off-by: Martin Schwidefsky commit f444cc0e52523560a8dfc12f5374e5d5ecf5375b Author: Sebastian Ott Date: Thu Dec 25 13:39:14 2008 +0100 [S390] cio: commit all pmcw changes. Sometimes we change the pmcw configuration but don't call msch to transmit these changes to the channel subsystem. The patch fixes this by calling cio_commit_config in such cases. Signed-off-by: Sebastian Ott Signed-off-by: Martin Schwidefsky commit 13952ec12dfeea793ff83c2a96139ed57eb0b897 Author: Sebastian Ott Date: Thu Dec 25 13:39:13 2008 +0100 [S390] cio: introduce cio_commit_config To change the configuration of a subchannel we alter the modifiable bits of the subchannel's schib field and issue a modify subchannel. There can be the case that not all changes were applied -or worse- quietly overwritten by the hardware. With the next store subchannel we obtain the current state of the hardware but lose our target configuration. With this patch we introduce a subchannel_config structure which contains the target subchannel configuration. Additionally the msch wrapper cio_modify is replaced with cio_commit_config which copies the desired changes to a temporary schib. msch is then called with the temporary schib. This schib is only written back to the subchannel if all changes were applied. Signed-off-by: Sebastian Ott Signed-off-by: Martin Schwidefsky commit cdb912a40df8b8507ab60b3d52f9980c0ba1f44d Author: Sebastian Ott Date: Thu Dec 25 13:39:12 2008 +0100 [S390] cio: introduce cio_update_schib There is the chance that we get condition code 0 for a stsch but the resulting schib is not vaild. In the current code there are 2 cases: * we do a check for validity of the schib after stsch, but at this time we have already stored the invaild schib in the subchannel structure. This may lead to problems. * we don't do a check for validity, which is not that good either. The patch addresses both issues by introducing the stsch wrapper cio_update_schib which performs stsch on a local schib. This schib is only written back to the subchannel if it's valid. side note: For some functions (chp_events) the return codes are different now (-ENXIO vs -ENODEV) but this shouldn't do harm since the caller doesn't check for _specific_ errors. Signed-off-by: Sebastian Ott Signed-off-by: Martin Schwidefsky commit d6a30761d8116b8de8a5b5e79e68cce81d36414b Author: Cornelia Huck Date: Thu Dec 25 13:39:11 2008 +0100 [S390] cio: Use device_is_registered(). Check if a ccw device is registered via device_is_registered() and not via the old kludge of checking the membership in driver core internal klists. Signed-off-by: Cornelia Huck Signed-off-by: Martin Schwidefsky commit 283fdd0b8ab102080dbffe4bcaae245f9ceda184 Author: Cornelia Huck Date: Thu Dec 25 13:39:10 2008 +0100 [S390] cio: Dont call ->release directly. Just put the cdev's reference count to give up our reference. Signed-off-by: Cornelia Huck Signed-off-by: Martin Schwidefsky commit 90ed2b692fa75272d7395c4e4c2de4423d52f506 Author: Cornelia Huck Date: Thu Dec 25 13:39:09 2008 +0100 [S390] cio: Dont fail probe for I/O subchannels. If we fail the probe for an I/O subchannel, we won't be able to unregister it again since there are no sch_event() callbacks for unbound subchannels. Just succeed the probe in any case and schedule unregistering the subchannel. Signed-off-by: Cornelia Huck Signed-off-by: Martin Schwidefsky commit 5fb6b8544d9ccd2ed478af777f9e99e342eb8886 Author: Cornelia Huck Date: Thu Dec 25 13:39:08 2008 +0100 [S390] cio: Only register ccw_device for registered subchannel. There is a race between io_subchannel_register() and io_subchannel_sch_event() which may cause a subchannel to be unregistered because it is no longer operational before io_subchannel_register() had run. We need to check whether the subchannel is still registered before the ccw device can be registered and just bail out if it is not. Signed-off-by: Cornelia Huck Signed-off-by: Martin Schwidefsky commit 6eff208f479d6fe99fd92c0e6bf7e930bb45cd30 Author: Cornelia Huck Date: Thu Dec 25 13:39:07 2008 +0100 [S390] cio: Fix I/O subchannel refcounting. Subchannel refcounting was incorrect in some places, especially a refcount was missing when ccw_device_call_sch_unregister() was called and the refcount was not correctly switched after moving devices. Fix this by establishing the following rules: - The ccw_device obtains a reference on its parent subchannel when dev.parent is set and gives it up in its release function. This is needed because we need a parent reference for correct refcounting even before the ccw device is (if at all) registered. - When calling device_move(), obtain a reference on the new subchannel before moving the ccw device and give up the reference on the old parent after moving. This brings the refcount in line with the first rule. Signed-off-by: Cornelia Huck Signed-off-by: Martin Schwidefsky commit 9cd67421977a701272820987ff9e6f197b1b97b7 Author: Cornelia Huck Date: Thu Dec 25 13:39:06 2008 +0100 [S390] cio: Fix reference counting for online/offline. The current code attempts to get an extra reference count for online devices by doing a get_device() in ccw_device_online() and a put_device() in ccw_device_done(). However, this - incorrectly obtains an extra reference for disconnected devices becoming available again (since they are already online) - needs special checks for css_init_done in order to handle the console device - is not obvious and - may incorretly drop a reference count in ccw_device_done() if that function is called after path verification for a device that just became not operational. So let's just get the reference in ccw_device_set_online() and drop it in ccw_device_set_offline(). (Unfortunately, we still need the special case in io_subchannel_probe().) Signed-off-by: Cornelia Huck Signed-off-by: Martin Schwidefsky commit 97166f52fc84c0bc49c7dbba2a26720110acb458 Author: Cornelia Huck Date: Thu Dec 25 13:39:05 2008 +0100 [S390] cio: Put referernce on correct device after moving. Signed-off-by: Cornelia Huck Signed-off-by: Martin Schwidefsky commit c619d4223eaa063dd15ce44235b04487235f8cb7 Author: Peter Oberparleiter Date: Thu Dec 25 13:39:04 2008 +0100 [S390] cio: fix ccwgroup online vs. ungroup race condition Ensure atomicity of ungroup operation to prevent concurrent ungroup and online processing which may lead to use-after-release situations. Signed-off-by: Peter Oberparleiter Signed-off-by: Martin Schwidefsky commit 111e95a4cae01d6dadbbd1d8ab28dcd10fa5619c Author: Sebastian Ott Date: Thu Dec 25 13:39:03 2008 +0100 [S390] cio: move irritating comment. Due to former patches a comment and device id initialization were split from the addressed function call in io_subchannel_probe. Move it back to where it belongs. Signed-off-by: Sebastian Ott Signed-off-by: Martin Schwidefsky commit d7b604891b7ce7de93e3758ec6b3b7b7964e1884 Author: Peter Oberparleiter Date: Thu Dec 25 13:39:02 2008 +0100 [S390] cio: update sac values Values for the sac field have changed - update code accordingly. Signed-off-by: Peter Oberparleiter Signed-off-by: Martin Schwidefsky commit 191fd44c11e10daf9d2cabd16935952e9c735949 Author: Heiko Carstens Date: Thu Dec 25 13:39:01 2008 +0100 [S390] cio: get rid of compile warning Move cio_tpi() to the rest of the CONFIG_CCW_CONSOLE functions to get rid of this one: drivers/s390/cio/cio.c:115: warning: 'cio_tpi' defined but not used Signed-off-by: Heiko Carstens Signed-off-by: Martin Schwidefsky commit 547e3cec4f7a4846707db19cba43aa58eb07f48f Author: Martin Schwidefsky Date: Thu Dec 25 13:39:00 2008 +0100 [S390] remove ptrace warning on 31 bit. A kernel compile on 31 bit gives the following warnings in ptrace.c: arch/s390/kernel/ptrace.c: In function 'peek_user': arch/s390/kernel/ptrace.c:207: warning: unused variable 'dummy' arch/s390/kernel/ptrace.c: In function 'poke_user': arch/s390/kernel/ptrace.c:315: warning: unused variable 'dummy' Getting rid of the dummy variables removes the warnings. Signed-off-by: Martin Schwidefsky commit 32272a26974d2027384fd4010cd1780fca425d94 Author: Martin Schwidefsky Date: Thu Dec 25 13:38:59 2008 +0100 [S390] __page_to_pfn warnings For CONFIG_SPARSEMEM_VMEMMAP=y on s390 I get warnings like init/main.c: In function 'start_kernel': init/main.c:641: warning: format '%08lx' expects type 'long unsigned int', but argument 2 has type 'int' The warning can be suppressed with a cast to unsigned long in the CONFIG_SPARSEMEM_VMEMMAP=y version of __page_to_pfn. Signed-off-by: Martin Schwidefsky commit 91d5d45ee0a8978870fd12e5c3fe394a530ec2ed Author: Hendrik Brueckner Date: Thu Dec 25 13:38:58 2008 +0100 [S390] iucv: Locking free version of iucv_message_(receive|send) Provide a locking free version of iucv_message_receive and iucv_message_send that do not call local_bh_enable in a spin_lock_(bh|irqsave)() context. Signed-off-by: Hendrik Brueckner commit 44a01d5ba8a4d543694461cd3e178cfa6b3f221b Author: Hendrik Brueckner Date: Thu Dec 25 13:38:57 2008 +0100 [S390] s390/hvc_console: z/VM IUCV hypervisor console support This patch introduces a new hypervisor console (HVC) back-end that provides terminal access over the z/VM inter-user communication vehicle (IUCV). The z/VM IUCV communication is independent of the regular tcp/ip network and allows access even if there is no network connection between two z/VM guest virtual machines. The z/VM IUCV hypervisor console back-end helps the user to access a z/VM guest virtual machine that lacks of network connectivity; and thus, provides a "full-screen" terminal alternative to 3215/3270 terminal sessions. Use the hvc_iucv=[0..8] kernel boot parameter to specify the number of HVC terminals using a z/VM IUCV back-end. A recent version of the s390-tools package is required to establish a terminal connection to a z/VM IUCV hypervisor console back-end. Signed-off-by: Hendrik Brueckner Signed-off-by: Martin Schwidefsky commit 5d360a75f87f288e9a25d56cca503a7c7939e490 Author: Heiko Carstens Date: Thu Dec 25 13:38:56 2008 +0100 [S390] ftrace: function tracer backend for s390 This implements just the basic function tracer (_mcount) backend for s390. The dynamic variant will come later. Signed-off-by: Heiko Carstens Signed-off-by: Martin Schwidefsky commit 98df67b324a2a986987ce29986e44ae9156b6698 Author: Kay Sievers Date: Thu Dec 25 13:38:55 2008 +0100 [S390] struct device - replace bus_id with dev_name(), dev_set_name() Acked-by: Cornelia Huck Acked-by: Greg Kroah-Hartman Signed-off-by: Kay Sievers Signed-off-by: Heiko Carstens Signed-off-by: Martin Schwidefsky commit 0cd4bd4754d51bdc8f9cd880c29910d0d52337bb Author: Stefan Haberland Date: Thu Dec 25 13:38:54 2008 +0100 [S390] dasd: call cleanup_cqr with request_queue_lock __dasd_cleanup_cqr should be called with request_queue_lock held and __dasd_block_process_erp with queue_lock Signed-off-by: Stefan Haberland Signed-off-by: Martin Schwidefsky commit 50afd20f8c3ce23994a21c389e7250e54a93bf55 Author: Stefan Haberland Date: Thu Dec 25 13:38:53 2008 +0100 [S390] dasd: correct sense byte condition for SIM SIM sense data are always 32 bit sense data so sense byte 27 bit 0 has not to be set. Signed-off-by: Stefan Haberland Signed-off-by: Martin Schwidefsky commit faf16aa9b368d48a0efbd0920718d68ec7a72542 Author: Cornelia Huck Date: Thu Dec 25 13:38:52 2008 +0100 [S390] dasd: Use accessors instead of using driver_data directly. Signed-off-by: Cornelia Huck Signed-off-by: Martin Schwidefsky commit 2bf373b3e3691d5cb57089a3897316a1b7d5ffa7 Author: Stefan Haberland Date: Thu Dec 25 13:38:51 2008 +0100 [S390] dasd: improve dasd statistics proc interface For a large number of I/O requests the values were shifted binary. The shift was not transparent for the user because the shift value was not displayed. To make this interface more human readable the values are shifted decimal and the scale factor is displayed. Signed-off-by: Stefan Haberland Signed-off-by: Martin Schwidefsky commit bd43a42b7e9880f426ed715f18bb4f963b7352af Author: Christof Schmitt Date: Thu Dec 25 13:38:50 2008 +0100 [S390] zfcp: Report microcode level through service level interface Register zfcp with the new /proc/service_level interface to report the FCP microcode level. When the adapter goes offline or a channel path disappears, zfcp unregisters, since the microcode version might change and zfcp does not know about it. Signed-off-by: Christof Schmitt Signed-off-by: Martin Schwidefsky commit 6bcac508fbebdca52f5a55d69a4316997ecb5391 Author: Martin Schwidefsky Date: Thu Dec 25 13:38:49 2008 +0100 [S390] service level interface. Add a new proc interface /proc/service_levels that allows any code to report a relevant service level, e.g. the microcode level of devices, the service level of the hypervisor, etc. Signed-off-by: Martin Schwidefsky commit 7a0b4cbc7d7d99763511b488b08bbc2607ddd1e3 Author: Jan Glauber Date: Thu Dec 25 13:38:48 2008 +0100 [S390] qdio: fix error reporting for hipersockets Hipersocket connections can encounter temporary busy conditions. In case of the busy bit set we retry the SIGA operation immediatelly. If the busy condition still persists after 100 ms we fail and report the error to the upper layer. The second stage retry logic is removed. In case of ongoing busy conditions the upper layer needs to reset the connection. The reporting of a SIGA error is now done synchronously to allow the network driver to requeue the buffers. Also no error trace is created for the temporary SIGA errors so the error message view is not flooded. Signed-off-by: Jan Glauber Signed-off-by: Martin Schwidefsky commit 50f769df1c4bea766c4eb927eae35728fb93e305 Author: Jan Glauber Date: Thu Dec 25 13:38:47 2008 +0100 [S390] qdio: improve inbound buffer acknowledgement - Use automatic acknowledgement of incoming buffers in QEBSM mode - Move ACK for non-QEBSM mode always to the newest buffer to prevent a race with qdio_stop_polling - Remove the polling spinlock, the upper layer drivers return new buffers in the same code path and could not run in parallel - Don't flood the error log in case of no-target-buffer-empty - In handle_inbound we check if we would overwrite an ACK'ed buffer, if so advance the pointer to the oldest ACK'ed buffer so we don't overwrite an empty buffer in qdio_stop_polling Signed-off-by: Jan Glauber Signed-off-by: Martin Schwidefsky commit 22f9934767f49012ffbae753b28b8055bd28348f Author: Jan Glauber Date: Thu Dec 25 13:38:46 2008 +0100 [S390] qdio: rework debug feature logging - make qdio_trace a per device view - remove s390dbf exceptions - remove CONFIG_QDIO_DEBUG, not needed anymore if we check for the level before calling sprintf - use snprintf for dbf entries - add start markers to see if the dbf view wrapped - add a global error view for all queues Signed-off-by: Jan Glauber Signed-off-by: Martin Schwidefsky commit 9a1ce28aeb7a8b1666eaa9f104c1a2f5a149f9df Author: Jan Glauber Date: Thu Dec 25 13:38:45 2008 +0100 [S390] qdio: fix compile warning under 31 bit The QEBSM instructions are only available for CONFIG_64BIT, they are not used under 31 bit. Make compiler happy about the false positive: drivers/s390/cio/qdio_main.c: In function ?qdio_inbound_q_done?: drivers/s390/cio/qdio_main.c:532: warning: ?state? may be used uninitialized in this function Signed-off-by: Jan Glauber Signed-off-by: Martin Schwidefsky commit 23589d057ac2da81e456d4a9dcdd9135fd96f493 Author: Jan Glauber Date: Thu Dec 25 13:38:44 2008 +0100 [S390] qdio: add eqbs/sqbs instruction counters Add counters for the eqbs and sqbs instructions that indicate how often we issued the instructions and how often the instructions returned with less buffers than specified. Signed-off-by: Jan Glauber Signed-off-by: Martin Schwidefsky commit bbd50e172f75b1d12ef9b1bcf593b51a44199016 Author: Jan Glauber Date: Thu Dec 25 13:38:43 2008 +0100 [S390] qdio: fix qeth port count detection qeth needs to get the port count information before qdio has allocated a page for the chsc operation. Extend qdio_get_ssqd_desc() to store the data in the specified structure. Signed-off-by: Jan Glauber Signed-off-by: Martin Schwidefsky commit 43c207e6e5b7e591b59294ee4fc9860b0e3de3b8 Author: Christian Maaser Date: Thu Dec 25 13:38:42 2008 +0100 [S390] ap: Minor code beautification. Changed some symbol names for a better and clearer code. Signed-off-by: Christian Maaser Signed-off-by: Felix Beck Signed-off-by: Martin Schwidefsky commit cb17a6364a29b4dfe5bbb00696032fb63d780157 Author: Felix Beck Date: Thu Dec 25 13:38:41 2008 +0100 [S390] zcrypt: Use of Thin Interrupts When the machine supports AP adapter interrupts polling will be switched off at module initialization and the driver will work in interrupt mode. Signed-off-by: Felix Beck Signed-off-by: Martin Schwidefsky commit 320c04c068c62b71fe9ea55e06e4968b4edc9e48 Author: Heiko Carstens Date: Thu Dec 25 13:38:40 2008 +0100 [S390] Move stfle to header file. stfle will be needed by the ap_bus module to figure out wether the AP queue adapter interruption facility is installed. Signed-off-by: Heiko Carstens Signed-off-by: Martin Schwidefsky commit ca9fc75a68ee98812bb6d212405fea039421910b Author: Heiko Carstens Date: Thu Dec 25 13:38:39 2008 +0100 [S390] convert s390 to generic IPI infrastructure Since etr/stp don't need the old smp_call_function semantics anymore we can convert s390 to the generic IPI infrastructure. Signed-off-by: Heiko Carstens Signed-off-by: Martin Schwidefsky commit 0b3016b781abeabc502042c942cbc611e31250c7 Author: Martin Schwidefsky Date: Thu Dec 25 13:38:38 2008 +0100 [S390] serialize stp/etr work The work function dispatched with schedule_work() can be run twice on different cpus because run_workqueue clears the WORK_STRUCT_PENDING bit and then executes the function. Another cpu can call schedule_work() again and run the work function a second time before the first call is completed. This patch serialized the etr and stp work function with a mutex. Signed-off-by: Martin Schwidefsky commit 750887dedc088d28198b170bcae83695247797d1 Author: Heiko Carstens Date: Thu Dec 25 13:38:37 2008 +0100 [S390] convert etr/stp to stop_machine interface This converts the etr and stp code to the new stop_machine interface which allows to synchronize all cpus without allocating any memory. This way we get rid of the only reason why we haven't converted s390 to the generic IPI interface yet. Signed-off-by: Heiko Carstens Signed-off-by: Martin Schwidefsky commit b020632e40c3ed5e8c0c066d022672907e8401cf Author: Martin Schwidefsky Date: Thu Dec 25 13:38:36 2008 +0100 [S390] introduce vdso on s390 Add a vdso to speed up gettimeofday and clock_getres/clock_gettime for CLOCK_REALTIME/CLOCK_MONOTONIC. Signed-off-by: Martin Schwidefsky commit fc5243d98ac2575ad14a974b3c097e9ba874c03d Author: Martin Schwidefsky Date: Thu Dec 25 13:38:35 2008 +0100 [S390] arch_setup_additional_pages arguments arch_setup_additional_pages currently gets two arguments, the binary format descripton and an indication if the process uses an executable stack or not. The second argument is not used by anybody, it could be removed without replacement. What actually does make sense is to pass an indication if the process uses the elf interpreter or not. The glibc code will not use anything from the vdso if the process does not use the dynamic linker, so for statically linked binaries the architecture backend can choose not to map the vdso. Acked-by: Ingo Molnar Signed-off-by: Martin Schwidefsky commit a114a9d69d1362546b9dda651028acb311ddb7af Author: Christian Borntraeger Date: Thu Dec 25 13:38:34 2008 +0100 [S390] vmcp: remove BKL The vmcp driver uses the session->mutex for concurrent access of the data structures. Therefore, the BKL in vmcp_open does not protect against any other function in the driver. The BLK in vmcp_open would protect concurrent access to the module init but all necessary steps ave finished before misc_register is called. We can safely remove the lock_kernel from vcmp. Signed-off-by: Christian Borntraeger Signed-off-by: Martin Schwidefsky commit f414f5f15376764d68a31dc568d9e814d3fcb58a Author: Heiko Carstens Date: Thu Dec 25 13:37:59 2008 +0100 [S390] cpu topology: dont destroy cpu sets on topology change Call rebuild_sched_domains instead of arch_reinit_sched_domains if cpu topology changes. This leaves cpu sets alone which otherwise would be destroyed. If and how it makes sense to define cpu sets on a virtualized architecture is another question. Signed-off-by: Heiko Carstens Signed-off-by: Martin Schwidefsky commit 8f2961c39eacd5d450048d8a3e91675486f3a015 Author: Al Viro Date: Thu Dec 25 13:37:58 2008 +0100 [S390] audit: get s390 ret_from_fork in sync with other architectures On s390 we have ret_from_fork jump not to the "do all work we normally do on return from syscall" as on x86, ppc, etc., but to the "do all such work except audit". Historical reasons - the codepath triggered when we have AUDIT process flag set is separated from the normall one and they converge at sysc_return, which is the common part of post-syscall work. And does not include calling audit_syscall_exit() - that's done in the end of sysc_tracesys path, just before that path jumps to sysc_return. IOW, the child returning from fork()/clone()/vfork() doesn't call audit_syscall_exit() at all, so no matter what we do with its audit context, we are not going to see the audit entry. The fix is simple: have ret_from_fork go to the point just past the call of sys_.... in the 'we have AUDIT flag set' path. There we have (64bit variant; for 31bit the situation is the same): sysc_tracenogo: tm __TI_flags+7(%r9),(_TIF_SYSCALL_TRACE|_TIF_SYSCALL_AUDIT) jz sysc_return la %r2,SP_PTREGS(%r15) # load pt_regs larl %r14,sysc_return # return point is sysc_return jg do_syscall_trace_exit which is precisely what we need - check the flag, bugger off to sysc_return if not set, otherwise call do_syscall_trace_exit() and bugger off to sysc_return. r9 has just been properly set by ret_from_fork itself, so we are fine. Tested on s390x, seems to work fine. WARNING: it's been about 16 years since my last contact with 3X0 assembler[1], so additional review would be very welcome. I don't think I've managed to screw it up, but... [1] that *was* in another country and besides, the box is dead... Signed-off-by: Al Viro Signed-off-by: Heiko Carstens Signed-off-by: Martin Schwidefsky commit 5439050f9f1aa92381ab9beccbea6ddf0c687c2b Author: Heiko Carstens Date: Thu Dec 25 13:37:57 2008 +0100 [S390] cpu topology: fix cpu_core_map initialization Common code doesn't call arch_update_cpu_topology() anymore on cpu hotplug. But our architecture backend relied on that in order to update the cpu_core_map. For machines without cpu topology support this leads uninitialized cpu_core_maps for later on added cpus. To solve this just initialize the maps with cpu_possible_map, since that will be always valid for machines without topology support. Signed-off-by: Heiko Carstens Signed-off-by: Martin Schwidefsky commit 5250d329e38cdf7580faeb9c53c17d3588d7d19c Merge: a3eeeef 468a15b 67be403 98db8df 4a6908a Author: Ingo Molnar Date: Thu Dec 25 13:11:00 2008 +0100 Merge branches 'tracing/ftrace', 'tracing/hw-branch-tracing' and 'tracing/ring-buffer'; commit 'v2.6.28' into tracing/core commit 468a15bb4cc61694495cc5ed7ffca29e87c79b69 Author: Peter Zijlstra Date: Tue Dec 16 08:07:03 2008 +0100 sched, trace: update trace_sched_wakeup() Impact: extend the wakeup tracepoint with the info whether the wakeup was real Add the information needed to distinguish 'real' wakeups from 'false' wakeups. Signed-off-by: Peter Zijlstra Signed-off-by: Ingo Molnar commit a3eeeefbf1cd1d142c52238cc19c75d14c3bc8d5 Merge: 30cd324 7e3cbc3 Author: Ingo Molnar Date: Thu Dec 25 12:48:18 2008 +0100 Merge branch 'x86/tsc' into tracing/core Merge it to resolve this incidental conflict between the BTS fixes/cleanups and changes in x86/tsc: Conflicts: arch/x86/kernel/cpu/intel.c commit 4e17fee24a39448f3a20e9cf98887b7665825848 Author: Ingo Molnar Date: Thu Dec 25 12:04:17 2008 +0100 x86: turn CONFIG_SPARSE_IRQ off by default New feature - lets disable it by default first - can flip it around later. Signed-off-by: Ingo Molnar commit 79a66b96c339626a3e4b226fefc0e45244cfe6ff Merge: bed4f13 c1c15b6 1fcccb0 4a6908a Author: Ingo Molnar Date: Thu Dec 25 11:50:41 2008 +0100 Merge branches 'x86/pat2' and 'x86/fpu'; commit 'v2.6.28' into x86/core commit 1fcccb008be12ea823aaa392758e1e41fb82de9a Author: Jaswinder Singh Date: Tue Dec 23 21:50:11 2008 +0530 x86: traps.c replace #if CONFIG_X86_32 with #ifdef CONFIG_X86_32 Impact: cleanup, avoid warning on X86_64 Fixes this warning on X86_64: CC arch/x86/kernel/traps.o arch/x86/kernel/traps.c:695:5: warning: "CONFIG_X86_32" is not defined Signed-off-by: Jaswinder Singh Signed-off-by: Ingo Molnar commit 9212ddb5eada64fec5a08b28207401f3cc3d0876 Author: Ingo Molnar Date: Thu Dec 25 11:21:20 2008 +0100 stacktrace: provide save_stack_trace_tsk() weak alias Impact: build fix Some architectures have not implemented save_stack_trace_tsk() yet: fs/built-in.o: In function `proc_pid_stack': base.c:(.text+0x3f140): undefined reference to `save_stack_trace_tsk' So warn about that if the facility is used. Signed-off-by: Ingo Molnar commit 5ce442fe2c9423ec5451222aee6f9b2127bb8311 Merge: 60cda2b 2af7529 Author: Takashi Iwai Date: Thu Dec 25 11:40:34 2008 +0100 Merge branch 'topic/udev-id-rename' into to-push commit 60cda2b53a7826d273198f668cd124f0eeda0e4a Merge: 9649745 3d1ee37 Author: Takashi Iwai Date: Thu Dec 25 11:40:33 2008 +0100 Merge branch 'topic/sound-core-fix' into to-push commit 9649745c8670eacc671e9cff72c5c1e346e13036 Merge: a9c3c7e 5e03c54 Author: Takashi Iwai Date: Thu Dec 25 11:40:32 2008 +0100 Merge branch 'topic/snd-hrtimer' into to-push commit a9c3c7e04b9a744eafb2e87c770e7300bbffa375 Merge: cc49108 ade9b2f Author: Takashi Iwai Date: Thu Dec 25 11:40:31 2008 +0100 Merge branch 'topic/pcxhr-update' into to-push commit cc4910850f93a8bb1cbafad038fd40f6da68c783 Merge: a802269 de04b10 Author: Takashi Iwai Date: Thu Dec 25 11:40:30 2008 +0100 Merge branch 'topic/oxygen' into to-push commit a8022697811c3f2271df5ec14fa6f518b731b46a Merge: a650562 cdc6936 Author: Takashi Iwai Date: Thu Dec 25 11:40:29 2008 +0100 Merge branch 'topic/jack-mechanical' into to-push commit a65056205cdf7efb96fb2558e4f1ec6bae2582ed Merge: 313769d 7645c4b Author: Takashi Iwai Date: Thu Dec 25 11:40:28 2008 +0100 Merge branch 'topic/hda' into to-push commit 313769d9edb1bbd59d2e94f5069950eecfe6fa44 Merge: 8afabfa f144b7f Author: Takashi Iwai Date: Thu Dec 25 11:40:28 2008 +0100 Merge branch 'topic/cs5535audio' into to-push commit 8afabfa74bbe81ac496e66f7f0ed8943dff5fdb5 Merge: 86b3aa3 1f04128 Author: Takashi Iwai Date: Thu Dec 25 11:40:27 2008 +0100 Merge branch 'topic/convert-tasklet' into to-push commit 86b3aa390b4b9925f16a21b98441fd7abdb9fff2 Merge: e4456e7 ebef7cf Author: Takashi Iwai Date: Thu Dec 25 11:40:26 2008 +0100 Merge branch 'topic/ca0106' into to-push commit e4456e71618ec2c98084c15824d93e997955b60c Merge: 5c8261e 16950e0 Author: Takashi Iwai Date: Thu Dec 25 11:40:26 2008 +0100 Merge branch 'topic/audigy-capture-boost' into to-push commit 5c8261e44eaebbc91f9fc1bbd3f3167e91a50a57 Merge: facef86 472346d Author: Takashi Iwai Date: Thu Dec 25 11:40:25 2008 +0100 Merge branch 'topic/asoc' into to-push commit facef8685b3ff95c01c33d9d836401d0dd26211d Merge: 4a6908a 888dcb7 Author: Takashi Iwai Date: Thu Dec 25 11:40:24 2008 +0100 Merge branch 'topic/aoa' into to-push commit 0ca59dd948a51c95d5a366d35f897bc5ef9df55d Author: Frederic Weisbecker Date: Wed Dec 24 23:30:02 2008 +0100 tracing/ftrace: don't trace on early stage of a secondary cpu boot, v3 Impact: fix a crash/hard-reboot on certain configs while enabling cpu runtime On some archs, the boot of a secondary cpu can have an early fragile state. On x86-64, the pda is not initialized on the first stage of a cpu boot but it is needed to get the cpu number and the current task pointer. This data is needed during tracing. As they were dereferenced at this stage, we got a crash while tracing a cpu being enabled at runtime. Some other archs like ia64 can have such kind of issue too. Changes on v2: We dropped the previous solution of a per-arch called function to guess the current state of a cpu. That could slow down the tracing. This patch removes the -pg flag on arch/x86/kernel/cpu/common.c where the low level cpu boot functions exist, on start_secondary() and a helper function used at this stage. Signed-off-by: Frederic Weisbecker Acked-by: Steven Rostedt Signed-off-by: Ingo Molnar commit 12d79bafb75639f406a9f71aab94808c414c836e Author: Ingo Molnar Date: Thu Dec 25 09:31:28 2008 +0100 rcu: provide RCU options on non-preempt architectures too Impact: build fix Some old architectures still do not use kernel/Kconfig.preempt, so the moving of the RCU options there broke their build: In file included from /home/mingo/tip/include/linux/sem.h:81, from /home/mingo/tip/include/linux/sched.h:69, from /home/mingo/tip/arch/alpha/kernel/asm-offsets.c:9: /home/mingo/tip/include/linux/rcupdate.h:62:2: error: #error "Unknown RCU implementation specified to kernel configuration" Move these options back to init/Kconfig, which every architecture includes. Signed-off-by: Ingo Molnar commit 2a0d8366dde9c66d8f481bee56828b661e5c8bf1 Merge: 1f5175a 139cdab 3d08909 bba7ebb 7798dbf e189062 Author: Roland Dreier Date: Wed Dec 24 20:35:42 2008 -0800 Merge branches 'cma', 'ehca', 'ipath', 'iser', 'mlx4' and 'nes' into for-next commit 7798dbf40ad9d295aa3a02eca700168e4327239a Author: Jack Morgenstein Date: Wed Dec 24 20:32:42 2008 -0800 IB/mlx4: Set ownership bit correctly when copying CQEs during CQ resize When resizing a CQ, when copying over unpolled CQEs from the old CQE buffer to the new buffer, the ownership bit must be set appropriately for the new buffer, or the ownership bit in the new buffer gets corrupted. Signed-off-by: Jack Morgenstein Signed-off-by: Roland Dreier commit e189062a8ca55b0a1843f0346c3fae1a47297c34 Author: Faisal Latif Date: Wed Dec 24 20:30:04 2008 -0800 RDMA/nes: Remove tx_free_list There is no lock protecting tx_free_list thus causing a system crash when skb_dequeue() is called and the list is empty. Since it did not give any performance boost under heavy load, remove it to simplify the code. Replace get_free_pkt() with dev_alloc_skb() to allocate MAX_CM_BUFFER skb for connection establishment/teardown as well as MPA request/response. Signed-off-by: Faisal Latif Signed-off-by: Chien Tung Signed-off-by: Roland Dreier commit 81ea714bf148fce35e931edcbdfd3aedda20d1dc Author: Sergio Luis Date: Mon Dec 22 01:16:15 2008 -0300 smackfs: check for allocation failures in smk_set_access() smackfs: check for allocation failures in smk_set_access() While adding a new subject/object pair to smack_list, smk_set_access() didn't check the return of kzalloc(). This patch changes smk_set_access() to return 0 or -ENOMEM, based on kzalloc()'s return. It also updates its caller, smk_write_load(), to check for smk_set_access()'s return, given it is no longer a void return function. Signed-off-by: Sergio Luis To: Casey Schaufler Cc: Ahmed S. Darwish Cc: LSM Cc: LKLM Acked-by: Casey Schaufler commit cbacc2c7f066a1e01b33b0e27ae5efbf534bc2db Merge: 4a6908a 7419224 Author: James Morris Date: Thu Dec 25 11:40:09 2008 +1100 Merge branch 'next' into for-linus commit 4655a0de36e8e903e99a8d152818e3aae86dae1a Merge: b479f3c a48d196 Author: Russell King Date: Thu Dec 25 00:13:35 2008 +0000 Merge branch 'for_rmk' of git://git.mnementh.co.uk/linux-2.6-im into devel commit a48d196191c2d78d6cbd6f8509285af8ec1edcbc Author: Ian Molton Date: Wed Dec 24 23:59:48 2008 +0000 [ARM] pxa: Update eseries defconfig Signed-off-by: Ian Molton commit 0ee4a96902dd7858e65f378c86f428a0355bd841 Author: Herbert Xu Date: Thu Dec 25 11:05:13 2008 +1100 crypto: aes - Precompute tables The tables used by the various AES algorithms are currently computed at run-time. This has created an init ordering problem because some AES algorithms may be registered before the tables have been initialised. This patch gets around this whole thing by precomputing the tables. Signed-off-by: Herbert Xu commit ca38a814c6f86db0aa58884a31093d4f096e20aa Author: Lee Nipper Date: Sat Dec 20 17:09:25 2008 +1100 crypto: talitos - Ack done interrupt in isr instead of tasklet Previous commit for interrupt mitigation moved the done interrupt acknowlegement from the isr to the talitos_done tasklet. This patch moves the done interrupt acknowledgement back into the isr so that done interrupts will always be acknowledged. This covers the case for acknowledging interrupts for channel done processing that has actually already been completed by the tasklet prior to fielding a pending interrupt. Signed-off-by: Lee Nipper Signed-off-by: Kim Phillips Signed-off-by: Herbert Xu commit bcf84a38f05c55180bc1225901950c7e715c0d55 Author: Geert Uytterhoeven Date: Thu Dec 18 17:17:46 2008 +1100 crypto: testmgr - Correct comment about deflate parameters The comment for the deflate test vectors says the winbits parameter is 11, while the deflate module actually uses -11 (a negative window bits parameter enables the raw deflate format instead of the zlib format). Correct this, to avoid confusion about the format used. Signed-off-by: Geert Uytterhoeven Signed-off-by: Herbert Xu commit f0d1ec3a227e01a27ce20719bf7b58de86d44f0f Author: Harvey Harrison Date: Wed Dec 17 16:53:49 2008 +1100 crypto: salsa20 - Remove private wrappers around various operations ROTATE -> rol32 XOR was always used with the same destination, use ^= PLUS/PLUSONE use ++ or += Signed-off-by: Harvey Harrison Signed-off-by: Herbert Xu commit ad79cdd77fc1466e45cf923890f66bcfe7c43f12 Author: Jarod Wilson Date: Wed Dec 17 16:51:13 2008 +1100 crypto: des3_ede - permit weak keys unless REQ_WEAK_KEY set While its a slightly insane to bypass the key1 == key2 || key2 == key3 check in triple-des, since it reduces it to the same strength as des, some folks do need to do this from time to time for backwards compatibility with des. My own case is FIPS CAVS test vectors. Many triple-des test vectors use a single key, replicated 3x. In order to get the expected results, des3_ede_setkey() needs to only reject weak keys if the CRYPTO_TFM_REQ_WEAK_KEY flag is set. Also sets a more appropriate RES flag when a weak key is found. Signed-off-by: Jarod Wilson Signed-off-by: Herbert Xu commit bd9d20dba182ce4541b16b083eccd30fb252b9f4 Author: Adrian-Ken Rueegsegger Date: Wed Dec 17 16:49:02 2008 +1100 crypto: sha512 - Switch to shash This patch changes sha512 and sha384 to the new shash interface. Signed-off-by: Adrian-Ken Rueegsegger Signed-off-by: Herbert Xu commit f9e2bca6c22d75a289a349f869701214d63b5060 Author: Adrian-Ken Rueegsegger Date: Wed Dec 17 16:47:52 2008 +1100 crypto: sha512 - Move message schedule W[80] to static percpu area The message schedule W (u64[80]) is too big for the stack. In order for this algorithm to be used with shash it is moved to a static percpu area. Signed-off-by: Adrian-Ken Rueegsegger Signed-off-by: Herbert Xu commit 19e2bf146759aea38fd6c2daea08cb7a6367149b Author: Adrian-Ken Rueegsegger Date: Sun Dec 7 19:35:38 2008 +0800 crypto: michael_mic - Switch to shash This patch changes michael_mic to the new shash interface. Signed-off-by: Adrian-Ken Rueegsegger Signed-off-by: Herbert Xu commit 4946510baac6aaa8658528e3deefc7e9ba2951a9 Author: Adrian-Ken Rueegsegger Date: Sun Dec 7 19:34:37 2008 +0800 crypto: wp512 - Switch to shash This patch changes wp512, wp384 and wp256 to the new shash interface. Signed-off-by: Adrian-Ken Rueegsegger Signed-off-by: Herbert Xu commit f63fbd3d501b4283e1551e195cb74434a838064f Author: Adrian-Ken Rueegsegger Date: Wed Dec 3 19:58:32 2008 +0800 crypto: tgr192 - Switch to shash This patch changes tgr192, tgr160 and tgr128 to the new shash interface. Signed-off-by: Adrian-Ken Rueegsegger Signed-off-by: Herbert Xu commit 50e109b5b9c1f734e91a6e9b557bce48c9a88654 Author: Adrian-Ken Rueegsegger Date: Wed Dec 3 19:57:49 2008 +0800 crypto: sha256 - Switch to shash This patch changes sha256 and sha224 to the new shash interface. Signed-off-by: Adrian-Ken Rueegsegger Signed-off-by: Herbert Xu commit 14b75ba70da925a9f040a7575cb46ad7d394b117 Author: Adrian-Ken Rueegsegger Date: Wed Dec 3 19:57:12 2008 +0800 crypto: md5 - Switch to shash This patch changes md5 to the new shash interface. Signed-off-by: Adrian-Ken Rueegsegger Signed-off-by: Herbert Xu commit 808a1763cef93bf0f740d7e10dd9a2dfc4065b1a Author: Adrian-Ken Rueegsegger Date: Wed Dec 3 19:55:27 2008 +0800 crypto: md4 - Switch to shash This patch changes md4 to the new shash interface. Signed-off-by: Adrian-Ken Rueegsegger Signed-off-by: Herbert Xu commit 54ccb36776eb7e03b592bfab60393c7800851a0b Author: Adrian-Ken Rueegsegger Date: Tue Dec 2 21:08:20 2008 +0800 crypto: sha1 - Switch to shash This patch changes sha1 to the new shash interface. Signed-off-by: Adrian-Ken Rueegsegger Signed-off-by: Herbert Xu commit 3b8efb4c4147094652570d7791a516d07b7df8c2 Author: Herbert Xu Date: Sat Nov 8 10:11:09 2008 +0800 crypto: rmd320 - Switch to shash This patch changes rmd320 to the new shash interface. Signed-off-by: Herbert Xu commit d8a5e2e9f4e70ade136c67ce8242f0db4c2cddc7 Author: Herbert Xu Date: Sat Nov 8 09:58:10 2008 +0800 crypto: rmd256 - Switch to shash This patch changes rmd256 to the new shash interface. Signed-off-by: Herbert Xu commit e5835fba0206a331bdefdf5d805d1a384af37c44 Author: Herbert Xu Date: Sat Nov 8 09:18:51 2008 +0800 crypto: rmd160 - Switch to shash This patch changes rmd160 to the new shash interface. Signed-off-by: Herbert Xu commit 7c4468bc011131e77d0a872d6d9942390f8217ea Author: Herbert Xu Date: Sat Nov 8 09:10:40 2008 +0800 crypto: rmd128 - Switch to shash This patch changes rmd128 to the new shash interface. Signed-off-by: Herbert Xu commit d35d2454ce2175be77d2a366c2648597fd33a98f Author: Herbert Xu Date: Sat Nov 8 08:09:56 2008 +0800 crypto: null - Switch to shash This patch changes digest_null to the new shash interface. Signed-off-by: Herbert Xu commit 3751f402e099893c34089ed303dca6f5f92dbfd1 Author: Herbert Xu Date: Sat Nov 8 08:56:57 2008 +0800 crypto: hash - Make setkey optional Since most cryptographic hash algorithms have no keys, this patch makes the setkey function optional for ahash and shash. Signed-off-by: Herbert Xu commit b812eb0076235743872b5c9d18714d2324cc668d Author: Geert Uytterhoeven Date: Fri Nov 28 20:51:28 2008 +0800 crypto: testmgr - Validate output length in (de)compression tests When self-testing (de)compression algorithms, make sure the actual size of the (de)compressed output data matches the expected output size. Otherwise, in case the actual output size would be smaller than the expected output size, the subsequent buffer compare test would still succeed, and no error would be reported. Signed-off-by: Geert Uytterhoeven Signed-off-by: Herbert Xu commit dad3df2044b78ba68a92bf78e38a408bab80ff61 Author: Harvey Harrison Date: Fri Nov 28 20:49:19 2008 +0800 crypto: remove uses of __constant_{endian} helpers Base versions handle constant folding just fine. Signed-off-by: Harvey Harrison Signed-off-by: Herbert Xu commit 664134d2916109be76648977705a2bea3ff76427 Author: Ingo Molnar Date: Tue Nov 25 23:19:24 2008 +0800 crypto: testmgr - Fix error flow of test_comp This warning: crypto/testmgr.c: In function ‘test_comp’: crypto/testmgr.c:829: warning: ‘ret’ may be used uninitialized in this function triggers because GCC correctly notices that in the ctcount == 0 && dtcount != 0 input condition case this function can return an undefined value, if the second loop fails. Remove the shadowed 'ret' variable from the second loop that was probably unintended. Signed-off-by: Ingo Molnar Signed-off-by: Herbert Xu commit 5f459f0adc7581da01cdd9b7f84db14a4559a390 Author: Evgeniy Polyakov Date: Tue Nov 25 23:17:10 2008 +0800 crypto: hifn_795x - Use softirq kernel mapping in bh context Use KM_SOFTIRQ instead of KM_IRQ in tasklet context. Added bug_on on input no-page condition. Signed-off-by: Evgeniy Polyakov Signed-off-by: Herbert Xu commit d6a10c84a2a2b08bdd637852c9cc42c41e109b25 Author: Evgeniy Polyakov Date: Mon Nov 24 22:04:39 2008 +0800 crypto: hifn_795x - Fix queue management Fix queue management. Change ring size and perform its check not one after another descriptor, but using stored pointers to the last checked descriptors. Signed-off-by: Evgeniy Polyakov Signed-off-by: Herbert Xu commit 3ec858de6468e810953e41b8c154a0d605b25d68 Author: Patrick McHardy Date: Mon Nov 24 22:03:37 2008 +0800 crypto: hifn_795x - Remove some unused cruft Signed-off-by: Patrick McHardy Signed-off-by: Evgeniy Polyakov Signed-off-by: Herbert Xu commit ed4f92e3723a7d73bcd179ba09529094752063b2 Author: Patrick McHardy Date: Mon Nov 24 22:02:55 2008 +0800 crypto: hifn_795x - Fix queue processing Signed-off-by: Patrick McHardy Signed-off-by: Evgeniy Polyakov Signed-off-by: Herbert Xu commit 5df4c0c671bbb425e4a77dde5f51869aeebebd67 Author: Patrick McHardy Date: Mon Nov 24 22:01:42 2008 +0800 crypto: hifn_795x - Fix request context corruption HIFN uses the transform context to store per-request data, which breaks when more than one request is outstanding. Move per request members from struct hifn_context to a new struct hifn_request_context and convert the code to use this. Signed-off-by: Patrick McHardy Signed-off-by: Evgeniy Polyakov Signed-off-by: Herbert Xu commit 3416158680d5ba6fdb939e5bb52a8eba1ad5c027 Author: Patrick McHardy Date: Mon Nov 24 22:00:49 2008 +0800 crypto: hifn_795x - Don't copy src sg list Signed-off-by: Patrick McHardy Signed-off-by: Evgeniy Polyakov Signed-off-by: Herbert Xu commit 75741a034024f146ba5431602f3ad33a5df8363c Author: Patrick McHardy Date: Mon Nov 24 21:59:25 2008 +0800 crypto: hifn_795x - Fix DMA setup Signed-off-by: Patrick McHardy Signed-off-by: Evgeniy Polyakov Signed-off-by: Herbert Xu commit 09fbf7c0f24176ef3b450c590f220ed8033dd2c3 Author: Jarod Wilson Date: Mon Nov 24 21:20:13 2008 +0800 crypto: ansi_cprng - fix inverted DT increment routine The ANSI X9.31 PRNG docs aren't particularly clear on how to increment DT, but empirical testing shows we're incrementing from the wrong end. A 10,000 iteration Monte Carlo RNG test currently winds up not getting the expected result. From http://csrc.nist.gov/groups/STM/cavp/documents/rng/RNGVS.pdf : # CAVS 4.3 # ANSI931 MCT [X9.31] [AES 128-Key] COUNT = 0 Key = 9f5b51200bf334b5d82be8c37255c848 DT = 6376bbe52902ba3b67c925fa701f11ac V = 572c8e76872647977e74fbddc49501d1 R = 48e9bd0d06ee18fbe45790d5c3fc9b73 Currently, we get 0dd08496c4f7178bfa70a2161a79459a after 10000 loops. Inverting the DT increment routine results in us obtaining the expected result of 48e9bd0d06ee18fbe45790d5c3fc9b73. Verified on both x86_64 and ppc64. Signed-off-by: Jarod Wilson Acked-by: Neil Horman Signed-off-by: Herbert Xu commit 93027354d6e8a66a12dedb89d59b21cf7c2d35ed Author: Herbert Xu Date: Thu Nov 13 22:05:13 2008 +0800 libcrc32c: Select CRYPTO in Kconfig Selecting CRYPTO_CRC32C is not enough as CRYPTO which CRYPTO_CRC32C depends on may be disabled. This patch adds the select on CRYPTO. Signed-off-by: Herbert Xu commit aa1a85dbd1d3265ca36f684026fe7689b7836bed Author: Jarod Wilson Date: Thu Nov 13 22:03:20 2008 +0800 crypto: ansi_cprng - Avoid incorrect extra call to _get_more_prng_bytes While working with some FIPS RNGVS test vectors yesterday, I discovered a little bug in the way the ansi_cprng code works right now. For example, the following test vector (complete with expected result) from http://csrc.nist.gov/groups/STM/cavp/documents/rng/RNGVS.pdf ... Key = f3b1666d13607242ed061cabb8d46202 DT = e6b3be782a23fa62d71d4afbb0e922fc V = f0000000000000000000000000000000 R = 88dda456302423e5f69da57e7b95c73a ...when run through ansi_cprng, yields an incorrect R value of e2afe0d794120103d6e86a2b503bdfaa. If I load up ansi_cprng w/dbg=1 though, it was fairly obvious what was going wrong: ----8<---- getting 16 random bytes for context ffff810033fb2b10 Calling _get_more_prng_bytes for context ffff810033fb2b10 Input DT: 00000000: e6 b3 be 78 2a 23 fa 62 d7 1d 4a fb b0 e9 22 fc Input I: 00000000: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 Input V: 00000000: f0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 tmp stage 0: 00000000: e6 b3 be 78 2a 23 fa 62 d7 1d 4a fb b0 e9 22 fc tmp stage 1: 00000000: f4 8e cb 25 94 3e 8c 31 d6 14 cd 8a 23 f1 3f 84 tmp stage 2: 00000000: 8c 53 6f 73 a4 1a af d4 20 89 68 f4 58 64 f8 be Returning new block for context ffff810033fb2b10 Output DT: 00000000: e7 b3 be 78 2a 23 fa 62 d7 1d 4a fb b0 e9 22 fc Output I: 00000000: 04 8e cb 25 94 3e 8c 31 d6 14 cd 8a 23 f1 3f 84 Output V: 00000000: 48 89 3b 71 bc e4 00 b6 5e 21 ba 37 8a 0a d5 70 New Random Data: 00000000: 88 dd a4 56 30 24 23 e5 f6 9d a5 7e 7b 95 c7 3a Calling _get_more_prng_bytes for context ffff810033fb2b10 Input DT: 00000000: e7 b3 be 78 2a 23 fa 62 d7 1d 4a fb b0 e9 22 fc Input I: 00000000: 04 8e cb 25 94 3e 8c 31 d6 14 cd 8a 23 f1 3f 84 Input V: 00000000: 48 89 3b 71 bc e4 00 b6 5e 21 ba 37 8a 0a d5 70 tmp stage 0: 00000000: e7 b3 be 78 2a 23 fa 62 d7 1d 4a fb b0 e9 22 fc tmp stage 1: 00000000: 80 6b 3a 8c 23 ae 8f 53 be 71 4c 16 fc 13 b2 ea tmp stage 2: 00000000: 2a 4d e1 2a 0b 58 8e e6 36 b8 9c 0a 26 22 b8 30 Returning new block for context ffff810033fb2b10 Output DT: 00000000: e8 b3 be 78 2a 23 fa 62 d7 1d 4a fb b0 e9 22 fc Output I: 00000000: c8 e2 01 fd 9f 4a 8f e5 e0 50 f6 21 76 19 67 9a Output V: 00000000: ba 98 e3 75 c0 1b 81 8d 03 d6 f8 e2 0c c6 54 4b New Random Data: 00000000: e2 af e0 d7 94 12 01 03 d6 e8 6a 2b 50 3b df aa returning 16 from get_prng_bytes in context ffff810033fb2b10 ----8<---- The expected result is there, in the first "New Random Data", but we're incorrectly making a second call to _get_more_prng_bytes, due to some checks that are slightly off, which resulted in our original bytes never being returned anywhere. One approach to fixing this would be to alter some byte_count checks in get_prng_bytes, but it would mean the last DEFAULT_BLK_SZ bytes would be copied a byte at a time, rather than in a single memcpy, so a slightly more involved, equally functional, and ultimately more efficient way of fixing this was suggested to me by Neil, which I'm submitting here. All of the RNGVS ANSI X9.31 AES128 VST test vectors I've passed through ansi_cprng are now returning the expected results with this change. Signed-off-by: Jarod Wilson Acked-by: Neil Horman Signed-off-by: Herbert Xu commit 31a61bfc6e415fbd871317cbee7b8a4158d8ac5b Author: Julia Lawall Date: Thu Nov 13 21:19:04 2008 +0800 crypto: md4 - Use ARRAY_SIZE ARRAY_SIZE is more concise to use when the size of an array is divided by the size of its type or the size of its first element. The semantic patch that makes this change is as follows: (http://www.emn.fr/x-info/coccinelle/) // @i@ @@ #include @depends on i using "paren.iso"@ type T; T[] E; @@ - (sizeof(E)/sizeof(T)) + ARRAY_SIZE(E) // Signed-off-by: Julia Lawall Signed-off-by: Herbert Xu commit 0426c166424ea6d3d0412f47879c8ba268f874c4 Author: Herbert Xu Date: Tue Nov 11 12:20:06 2008 +0800 libcrc32c: Add crc32c_le macro The bnx2x driver actually uses the crc32c_le name so this patch restores the crc32c_le symbol through a macro. Signed-off-by: Herbert Xu commit 53b146ae598268edbe2bf7ea7dfec721d51adddd Author: Adrian-Ken Rueegsegger Date: Tue Nov 11 12:14:00 2008 +0800 libcrc32c: Fix "crc32c undefined" compilation error The latest shash changes leave crc32c undefined: [...] Building modules, stage 2. MODPOST 1381 modules ERROR: "crc32c" [net/sctp/sctp.ko] undefined! ERROR: "crc32c" [net/ipv4/netfilter/nf_nat_proto_sctp.ko] undefined! Adding EXPORT_SYMBOL(crc32c) to lib/libcrc32c.c fixes the compile error. This patch has been compile-tested only. Signed-off-by: Adrian-Ken Rueegsegger Signed-off-by: Herbert Xu commit 69c35efcf1576ab5f00cba83e8ca740923afb6c9 Author: Herbert Xu Date: Fri Nov 7 15:11:47 2008 +0800 libcrc32c: Move implementation to crypto crc32c This patch swaps the role of libcrc32c and crc32c. Previously the implementation was in libcrc32c and crc32c was a wrapper. Now the code is in crc32c and libcrc32c just calls the crypto layer. The reason for the change is to tap into the algorithm selection capability of the crypto API so that optimised implementations such as the one utilising Intel's CRC32C instruction can be used where available. Signed-off-by: Herbert Xu commit 8e3ee85e68c5d5c95451afd3e8f0997eec6f99e5 Author: Herbert Xu Date: Fri Nov 7 14:58:52 2008 +0800 crypto: crc32c - Test descriptor context format This patch adds a test for the requirement that all crc32c algorithms shall store the partial result in the first four bytes of the descriptor context. Signed-off-by: Herbert Xu commit b7e8bdadce6317eb13c13b9451d7114614aa1450 Author: Herbert Xu Date: Thu Nov 6 16:56:41 2008 +0800 crypto: crc32c-intel - Switch to shash This patch changes crc32c-intel to the new shash interface. Signed-off-by: Herbert Xu commit faccc4bba160784e834b758f23d598e500ac7108 Author: Herbert Xu Date: Tue Sep 9 17:23:07 2008 +1000 crypto: crc32c - Switch to shash This patch changes crc32c to the new shash interface. Signed-off-by: Herbert Xu commit 5f7082ed4f482f05db01d84dbf58190492ebf0ad Author: Herbert Xu Date: Sun Aug 31 22:21:09 2008 +1000 crypto: hash - Export shash through hash This patch allows shash algorithms to be used through the old hash interface. This is a transitional measure so we can convert the underlying algorithms to shash before converting the users across. Signed-off-by: Herbert Xu commit 67cd080c5070b4f17520c1385f7684206f4987b3 Author: Herbert Xu Date: Thu Nov 6 14:39:16 2008 +0800 crypto: api - Call type show function before legacy for proc This patch makes /proc/crypto call the type-specific show function if one is present before calling the legacy show functions for cipher/digest/compress. This allows us to reuse the type values for those legacy types. In particular, hash and digest will share one type value while shash is phased in as the default hash type. Signed-off-by: Herbert Xu commit dec8b78606ebd5f309c38f2fb10196ce996dd18d Author: Herbert Xu Date: Sun Nov 2 21:38:11 2008 +0800 crypto: hash - Add import/export interface It is often useful to save the partial state of a hash function so that it can be used as a base for two or more computations. The most prominent example is HMAC where all hashes start from a base determined by the key. Having an import/export interface means that we only have to compute that base once rather than for each message. Signed-off-by: Herbert Xu commit 3b2f6df08258e2875f42bd630eece7e7241a053b Author: Herbert Xu Date: Sun Aug 31 18:52:18 2008 +1000 crypto: hash - Export shash through ahash This patch allows shash algorithms to be used through the ahash interface. This is required before we can convert digest algorithms over to shash. Signed-off-by: Herbert Xu commit 7b5a080b3c46f0cac71c0d0262634c6517d4ee4f Author: Herbert Xu Date: Sun Aug 31 15:47:27 2008 +1000 crypto: hash - Add shash interface The shash interface replaces the current synchronous hash interface. It improves over hash in two ways. Firstly shash is reentrant, meaning that the same tfm may be used by two threads simultaneously as all hashing state is stored in a local descriptor. The other enhancement is that shash no longer takes scatter list entries. This is because shash is specifically designed for synchronous algorithms and as such scatter lists are unnecessary. All existing hash users will be converted to shash once the algorithms have been completely converted. There is also a new finup function that combines update with final. This will be extended to ahash once the algorithm conversion is done. This is also the first time that an algorithm type has their own registration function. Existing algorithm types will be converted to this way in due course. Signed-off-by: Herbert Xu commit 7b0bac64cd5b74d6f1147524c26216de13a501fd Author: Herbert Xu Date: Sun Sep 21 06:52:53 2008 +0900 crypto: api - Rebirth of crypto_alloc_tfm This patch reintroduces a completely revamped crypto_alloc_tfm. The biggest change is that we now take two crypto_type objects when allocating a tfm, a frontend and a backend. In fact this simply formalises what we've been doing behind the API's back. For example, as it stands crypto_alloc_ahash may use an actual ahash algorithm or a crypto_hash algorithm. Putting this in the API allows us to do this much more cleanly. The existing types will be converted across gradually. Signed-off-by: Herbert Xu commit 4a7794860ba2b56693b1d89fd485fd08cdc763e3 Author: Herbert Xu Date: Sat Sep 13 18:19:03 2008 -0700 crypto: api - Move type exit function into crypto_tfm The type exit function needs to undo any allocations done by the type init function. However, the type init function may differ depending on the upper-level type of the transform (e.g., a crypto_blkcipher instantiated as a crypto_ablkcipher). So we need to move the exit function out of the lower-level structure and into crypto_tfm itself. As it stands this is a no-op since nobody uses exit functions at all. However, all cases where a lower-level type is instantiated as a different upper-level type (such as blkcipher as ablkcipher) will be converted such that they allocate the underlying transform and use that instead of casting (e.g., crypto_ablkcipher casted into crypto_blkcipher). That will need to use a different exit function depending on the upper-level type. This patch also allows the type init/exit functions to call (or not) cra_init/cra_exit instead of always calling them from the top level. Signed-off-by: Herbert Xu commit 2566578a6feb9d9e39da41326afe8ed6022db3c5 Author: Neil Horman Date: Wed Nov 5 12:13:14 2008 +0800 crypto: ansi_cprng - Allow resetting of DT value This is a patch that was sent to me by Jarod Wilson, marking off my outstanding todo to allow the ansi cprng to set/reset the DT counter value in a cprng instance. Currently crytpo_rng_reset accepts a seed byte array which is interpreted by the ansi_cprng as a {V key} tuple. This patch extends that tuple to now be {V key DT}, with DT an optional value during reset. This patch also fixes a bug we noticed in which the offset of the key area of the seed is started at DEFAULT_PRNG_KSZ rather than DEFAULT_BLK_SZ as it should be. Signed-off-by: Neil Horman Signed-off-by: Jarod Wilson Signed-off-by: Herbert Xu commit 420a4b20c504e4674bf253601f793bdb254f99fa Author: Herbert Xu Date: Sun Aug 31 15:58:45 2008 +1000 crypto: padlock - Avoid resetting cword on successive operations Resetting the control word is quite expensive. Fortunately this isn't an issue for the common operations such as CBC and ECB as the whole operation is done through a single call. However, modes such as LRW and XTS have to call padlock over and over again for one operation which really hurts if each call resets the control word. This patch uses an idea by Sebastian Siewior to store the last control word used on a CPU and only reset the control word if that changes. Note that any task switch automatically resets the control word so we only need to be accurate with regard to the stored control word when no task switches occur. Signed-off-by: Herbert Xu commit 1c06da81a5d042d5fba67c4c533b16ae62a174ab Author: Kent Liu Date: Fri Oct 31 16:52:58 2008 +0800 crypto: crc32c-intel - Update copyright head The original copyright head for crc32c-intel.c is incorrect. Please merge the patch to update it. Signed-Off-By: Kent Liu Signed-off-by: Herbert Xu commit 4b24ea971a93f5d0bec34bf7bfd0939f70cfaae6 Author: Vishnu Suresh Date: Mon Oct 20 21:06:18 2008 +0800 crypto: talitos - Preempt overflow interrupts off-by-one fix In commit ec6644d6325b5a38525f1d5b20fd4bf7db05cf2a "crypto: talitos - Preempt overflow interrupts", the test in atomic_inc_not_zero was interpreted by the author to be applied after the increment operation (not before). This off-by-one fix prevents overflow error interrupts from occurring when requests are frequent and large enough to do so. Signed-off-by: Vishnu Suresh Signed-off-by: Kim Phillips Signed-off-by: Herbert Xu commit 32bd78e0a5d34cd8e34046502bddcf31aeb38e64 Author: Harvey Harrison Date: Sun Oct 12 20:40:12 2008 +0800 crypto: camellia - use kernel-provided bitops, unaligned access Remove the private implementation of 32-bit rotation and unaligned access with byteswapping. As a bonus, fixes sparse warnings: crypto/camellia.c:602:2: warning: cast to restricted __be32 crypto/camellia.c:603:2: warning: cast to restricted __be32 crypto/camellia.c:604:2: warning: cast to restricted __be32 crypto/camellia.c:605:2: warning: cast to restricted __be32 crypto/camellia.c:710:2: warning: cast to restricted __be32 crypto/camellia.c:711:2: warning: cast to restricted __be32 crypto/camellia.c:712:2: warning: cast to restricted __be32 crypto/camellia.c:713:2: warning: cast to restricted __be32 crypto/camellia.c:714:2: warning: cast to restricted __be32 crypto/camellia.c:715:2: warning: cast to restricted __be32 crypto/camellia.c:716:2: warning: cast to restricted __be32 crypto/camellia.c:717:2: warning: cast to restricted __be32 [Thanks to Tomoyuki Okazaki for spotting the typo] Tested-by: Carlo E. Prelz Signed-off-by: Harvey Harrison Signed-off-by: Herbert Xu commit d12d6b6d37cad766b390467e770eb0ab81345d78 Author: Neil Horman Date: Sun Oct 12 20:36:51 2008 +0800 crypto: testmgr - Trigger a panic when self test fails in FIPS mode The FIPS specification requires that should self test for any supported crypto algorithm fail during operation in fips mode, we need to prevent the use of any crypto functionality until such time as the system can be re-initialized. Seems like the best way to handle that would be to panic the system if we were in fips mode and failed a self test. This patch implements that functionality. I've built and run it successfully. Signed-off-by: Neil Horman Signed-off-by: Herbert Xu commit fe5720e2b7c1e8ff95d4bf18329517cf64ad1d70 Author: Kim Phillips Date: Sun Oct 12 20:33:14 2008 +0800 crypto: talitos - Perform auth check in h/w if on sec 2.1 and above SEC version 2.1 and above adds the capability to do the IPSec ICV memcmp in h/w. Results of the cmp are written back in the descriptor header, along with the done status. A new callback is added that checks these ICCR bits instead of performing the memcmp on the core, and is enabled by h/w capability. Signed-off-by: Kim Phillips After testing on different parts, another condition was added before using h/w auth check because different SEC revisions require different handling. The SEC 3.0 allows a more flexible link table where the auth data can span separate link table entries. The SEC 2.4/2.1 does not support this case. So a test was added in the decrypt routine for a fragmented case; the h/w auth check is disallowed for revisions not having the extent in the link table; in this case the hw auth check is done by software. A portion of a previous change for SEC 3.0 link table handling was removed since it became dead code with the hw auth check supported. This seems to be the best compromise for using hw auth check on supporting SEC revisions; it keeps the link table logic simpler for the fragmented cases. Signed-off-by: Lee Nipper Signed-off-by: Herbert Xu commit 1c2e8811eea5f0c5da3213ea206c2864fa4614fd Author: Lee Nipper Date: Sun Oct 12 20:29:34 2008 +0800 crypto: talitos - Implement done interrupt mitigation In talitos_interrupt, upon one done interrupt, mask further done interrupts, and ack only any error interrupt. In talitos_done, unmask done interrupts after completing processing. In flush_channel, ack each done channel processed. Keep done overflow interrupts masked because even though each pkt is ack'ed, a few done overflows still occur. Signed-off-by: Lee Nipper Signed-off-by: Kim Phillips Signed-off-by: Herbert Xu commit 40405f10b853ef404b395c6febca71b0de185490 Author: Kim Phillips Date: Sun Oct 12 20:19:35 2008 +0800 crypto: talitos - Pass correct interrupt status to error handler Since we ack early, the re-read interrupt status in talitos_error may be already updated with a new value. Pass the error ISR value directly in order to report and handle the error based on the correct error status. Also remove unused error tasklet. Signed-off-by: Kim Phillips Signed-off-by: Lee Nipper Signed-off-by: Herbert Xu commit a44b56cc69a5b017f396ed1daeaef6a63e086656 Author: Evgeniy Polyakov Date: Sun Oct 12 20:14:15 2008 +0800 crypto: hifn - Disable driver when physical size exceeds 32 bits On Tue, Sep 23, 2008 at 08:06:32PM +0200, Dimitri Puzin (max@psycast.de) wrote: > With this patch applied it still doesn't work as expected. The overflow > messages are gone however syslog shows > [ 120.924266] hifn0: abort: c: 0, s: 1, d: 0, r: 0. > when doing cryptsetup luksFormat as in original e-mail. At this point > cryptsetup hangs and can't be killed with -SIGKILL. I've attached > SysRq-t dump of this condition. Yes, I was wrong with the patch: HIFN does not support 64-bit addresses afaics. Attached patch should not allow HIFN to be registered on 64-bit arch, so crypto layer will fallback to the software algorithms. Signed-off-by: Evgeniy Polyakov Signed-off-by: Herbert Xu commit 67be403d897f818b1a5ecc201967b0ee6a0332f9 Author: Ingo Molnar Date: Wed Dec 24 21:08:37 2008 +0100 Revert "x86: disable X86_PTRACE_BTS" This reverts commit 40f15ad8aadff5ebb621b17a6f303ad2cd3f847d. The CONFIG_X86_PTRACE_BTS bugs have been fixed via: c5dee61: x86, bts: memory accounting bf53de9: x86, bts: add fork and exit handling Signed-off-by: Ingo Molnar commit db8862eafe8a5d030a3b02e81b8bb47447c315e3 Merge: c5dee61 c20137f Author: Ingo Molnar Date: Wed Dec 24 21:08:26 2008 +0100 Merge branch 'linus' into tracing/hw-branch-tracing commit 1f5175adeaa1d161f603ef351785a19814dfe900 Author: Aleksey Senin Date: Wed Dec 24 10:16:45 2008 -0800 RDMA/cma: Add IPv6 support Handle AF_INET6 cases where required, and use struct sockaddr_storage wherever an IPv6 address might be stored. Signed-off-by: Aleksey Senin Signed-off-by: Roland Dreier commit 38617c64bf9a10bf20e41d95b69bb81e8560fe9d Author: Aleksey Senin Date: Wed Dec 24 10:16:37 2008 -0800 RDMA/addr: Add support for translating IPv6 addresses Add support for translating AF_INET6 addresses to the IB address translation service. This requires using struct sockaddr_storage instead of struct sockaddr wherever an IPv6 address might be stored, and adding cases to handle IPv6 in addition to IPv4 to the various translation functions. Signed-off-by: Aleksey Senin Signed-off-by: Roland Dreier commit 7645c4bfbb36f357f03815f5729c46ce8d89f008 Merge: 74b7ff4 574f3c4 Author: Takashi Iwai Date: Wed Dec 24 11:04:08 2008 +0100 Merge branch 'fix/hda' into topic/hda commit c1c15b65ec30275575dac9322aae607075769fbc Author: H. Peter Anvin Date: Tue Dec 23 10:10:40 2008 -0800 x86: PAT: fix address types in track_pfn_vma_new() Impact: cleanup, fix warning This warning: arch/x86/mm/pat.c: In function track_pfn_vma_copy: arch/x86/mm/pat.c:701: warning: passing argument 5 of follow_phys from incompatible pointer type Triggers because physical addresses are resource_size_t, not u64. This really matters when calling an interface like follow_phys() which takes a pointer to a physical address -- although on x86, being littleendian, it would generally work anyway as long as the memory region wasn't completely uninitialized. Signed-off-by: H. Peter Anvin Signed-off-by: Ingo Molnar commit 25051158bbed127e8672b43396c71c5eb610e5f1 Author: Lachlan McIlroy Date: Wed Dec 24 14:07:32 2008 +1100 [XFS] Fix race in xfs_write() between direct and buffered I/O with DMAPI The iolock is dropped and re-acquired around the call to XFS_SEND_NAMESP(). While the iolock is released the file can become cached. We then 'goto retry' and - if we are doing direct I/O - mapping->nrpages may now be non zero but need_i_mutex will be zero and we will hit the WARN_ON(). Since we have dropped the I/O lock then the file size may have also changed so what we need to do here is 'goto start' like we do for the XFS_SEND_DATA() DMAPI event. We also need to update the filesize before releasing the iolock so that needs to be done before the XFS_SEND_NAMESP event. If we drop the iolock before setting the filesize we could race with a truncate. Reviewed-by: Christoph Hellwig Signed-off-by: Lachlan McIlroy commit 6332178d91ca1a9dbd99bd97cabbcf965d178e9f Merge: 908a7a1 739840d Author: David S. Miller Date: Tue Dec 23 17:56:23 2008 -0800 Merge branch 'master' of master.kernel.org:/pub/scm/linux/kernel/git/davem/net-2.6 Conflicts: drivers/net/ppp_generic.c commit c3d80000e3a812fe5a200d6bde755fbd7fa65481 Author: Ingo Molnar Date: Tue Dec 23 15:15:17 2008 +0100 x86: export vector_used_by_percpu_irq Impact: build fix lguest can be built as a module and makes use of this new symbol: ERROR: "vector_used_by_percpu_irq" [drivers/lguest/lg.ko] undefined! export it. Signed-off-by: Ingo Molnar commit 7d87d5365556b1c6e8c00abcc632c3ad1fdc58b8 Author: Suresh Siddha Date: Mon Dec 22 17:33:28 2008 -0800 x86: use logical apicid in x2apic_cluster's x2apic_cpu_mask_to_apicid_and() These commits: commit 95d313cf1c1ecedc8bec5727b09bdacbf67dfc45 Author: Mike Travis Date: Tue Dec 16 17:33:54 2008 -0800 x86: Add cpu_mask_to_apicid_and and commit 6eeb7c5a99434596c5953a95baa17d2f085664e3 Author: Mike Travis Date: Tue Dec 16 17:33:55 2008 -0800 x86: update add-cpu_mask_to_apicid_and to use struct cpumask* broke interrupt delivery on x2apic platforms. As x2apic cluster mode uses logical delivery mode, we need to use logical apicid instead of physical apicid in x2apic_cpu_mask_to_apicid_and() Impact: fixes the broken interrupt delivery issue on generic x2apic platforms. Signed-off-by: Suresh Siddha Acked-by: Mike Travis Signed-off-by: H. Peter Anvin Signed-off-by: Ingo Molnar commit 36dffab679c7eeb91c2507400cf4da6e9e01164e Author: Vaidyanathan Srinivasan Date: Sat Dec 20 10:06:38 2008 +0530 sched: nominate preferred wakeup cpu, fix Andrew Morton reported: > kernel/sched.c: In function 'schedule': > kernel/sched.c:3679: warning: 'active_balance' may be used uninitialized in this function > > This warning is correct - the code is buggy. In sched.c load_balance_newidle, there's real potential use of uninitialised variable - fix it. Signed-off-by: Vaidyanathan Srinivasan Signed-off-by: Ingo Molnar commit b77b881f21b29aa7efa668fde69ee3dc0372ae3f Author: Yinghai Lu Date: Fri Dec 19 15:23:44 2008 -0800 x86: fix lguest used_vectors breakage, -v2 Impact: fix lguest, clean up 32-bit lguest used used_vectors to record vectors, but that model of allocating vectors changed and got broken, after we changed vector allocation to a per_cpu array. Try enable that for 64bit, and the array is used for all vectors that are not managed by vector_irq per_cpu array. Also kill system_vectors[], that is now a duplication of the used_vectors bitmap. [ merged in cpus4096 due to io_apic.c cpumask changes. ] [ -v2, fix build failure ] Signed-off-by: Yinghai Lu Signed-off-by: Ingo Molnar Signed-off-by: Ingo Molnar commit 2efef7080f471d312a9c4feb3dc5ee038039c7ed Author: Olga Kornievskaia Date: Tue Dec 23 16:19:56 2008 -0500 rpc: add service field to new upcall This patch extends the new upcall with a "service" field that currently can have 2 values: "*" or "nfs". These values specify matching rules for principals in the keytab file. The "*" means that gssd is allowed to use "root", "nfs", or "host" keytab entries while the other option requires "nfs". Restricting gssd to use the "nfs" principal is needed for when the server performs a callback to the client. The server in this case has to authenticate itself as an "nfs" principal. We also need "service" field to distiguish between two client-side cases both currently using a uid of 0: the case of regular file access by the root user, and the case of state-management calls (such as setclientid) which should use a keytab for authentication. (And the upcall should fail if an appropriate principal can't be found.) Signed-off: Olga Kornievskaia Signed-off-by: J. Bruce Fields Signed-off-by: Trond Myklebust commit 8b1c7bf5b624c9bc91b41ae577b9fc5c21641705 Author: Olga Kornievskaia Date: Tue Dec 23 16:19:26 2008 -0500 rpc: add target field to new upcall This patch extends the new upcall by adding a "target" field communicating who we want to authenticate to (equivalently, the service principal that we want to acquire a ticket for). Signed-off: Olga Kornievskaia Signed-off-by: J. Bruce Fields Signed-off-by: Trond Myklebust commit 61054b14d545e257b9415d5ca0cd5f43762b4d0c Author: Olga Kornievskaia Date: Tue Dec 23 16:19:00 2008 -0500 nfsd: support callbacks with gss flavors This patch adds server-side support for callbacks other than AUTH_SYS. Signed-off-by: Olga Kornievskaia Signed-off-by: J. Bruce Fields Signed-off-by: Trond Myklebust commit 945b34a7725a5f0741de7775132aafc58bfecfbb Author: Olga Kornievskaia Date: Tue Dec 23 16:18:34 2008 -0500 rpc: allow gss callbacks to client This patch adds client-side support to allow for callbacks other than AUTH_SYS. Signed-off-by: Olga Kornievskaia Signed-off-by: J. Bruce Fields Signed-off-by: Trond Myklebust commit 608207e8884e083ad8b8d33eda868da70f0d63e8 Author: Olga Kornievskaia Date: Tue Dec 23 16:17:40 2008 -0500 rpc: pass target name down to rpc level on callbacks The rpc client needs to know the principal that the setclientid was done as, so it can tell gssd who to authenticate to. Signed-off-by: Olga Kornievskaia Signed-off-by: J. Bruce Fields Signed-off-by: Trond Myklebust commit 68e76ad0baf8f5d5060377c2423ee6eed5c63057 Author: Olga Kornievskaia Date: Tue Dec 23 16:17:15 2008 -0500 nfsd: pass client principal name in rsc downcall Two principals are involved in krb5 authentication: the target, who we authenticate *to* (normally the name of the server, like nfs/server.citi.umich.edu@CITI.UMICH.EDU), and the source, we we authenticate *as* (normally a user, like bfields@UMICH.EDU) In the case of NFSv4 callbacks, the target of the callback should be the source of the client's setclientid call, and the source should be the nfs server's own principal. Therefore we allow svcgssd to pass down the name of the principal that just authenticated, so that on setclientid we can store that principal name with the new client, to be used later on callbacks. Signed-off-by: Olga Kornievskaia Signed-off-by: J. Bruce Fields Signed-off-by: Trond Myklebust commit 34769fc488b463cb753fc632f8f5ba56c918b7cb Author: \"J. Bruce Fields\ Date: Tue Dec 23 16:16:37 2008 -0500 rpc: implement new upcall Implement the new upcall. We decide which version of the upcall gssd will use (new or old), by creating both pipes (the new one named "gssd", the old one named after the mechanism (e.g., "krb5")), and then waiting to see which version gssd actually opens. We don't permit pipes of the two different types to be opened at once. Signed-off-by: J. Bruce Fields Signed-off-by: Trond Myklebust commit 5b7ddd4a7b19f913901140ef7807dbf5e2b301cd Author: \"J. Bruce Fields\ Date: Tue Dec 23 16:15:44 2008 -0500 rpc: store pointer to pipe inode in gss upcall message Keep a pointer to the inode that the message is queued on in the struct gss_upcall_msg. This will be convenient, especially after we have a choice of two pipes that an upcall could be queued on. Signed-off-by: J. Bruce Fields Signed-off-by: Trond Myklebust commit d9447183366ce849d7483bbd369752ac748e0422 Author: Corentin Chary Date: Tue Dec 23 21:08:29 2008 +0100 eeepc-laptop: use select and not depends on As len said: "Kconfig should offer users features, and not make users devine their dependencies. Signed-off-by: Corentin Chary Signed-off-by: Len Brown commit 79a3f20b641f9f93787ada49d1d7cfa98ee5a11e Author: \"J. Bruce Fields\ Date: Tue Dec 23 16:10:52 2008 -0500 rpc: use count of pipe openers to wait for first open Introduce a global variable pipe_version which will eventually be used to keep track of which version of the upcall gssd is using. For now, though, it only keeps track of whether any pipe is open or not; it is negative if not, zero if one is opened. We use this to wait for the first gssd to open a pipe. (Minor digression: note this waits only for the very first open of any pipe, not for the first open of a pipe for a given auth; thus we still need the RPC_PIPE_WAIT_FOR_OPEN behavior to wait for gssd to open new pipes that pop up on subsequent mounts.) Signed-off-by: J. Bruce Fields Signed-off-by: Trond Myklebust commit cf81939d6fcdf381fcb069d780c29eceb516bccd Author: \"J. Bruce Fields\ Date: Tue Dec 23 16:10:19 2008 -0500 rpc: track number of users of the gss upcall pipe Keep a count of the number of pipes open plus the number of messages on a pipe. This count isn't used yet. Signed-off-by: J. Bruce Fields Signed-off-by: Trond Myklebust commit e712804ae4bd858bd89272aa3fc1a577294c0940 Author: \"J. Bruce Fields\ Date: Tue Dec 23 16:09:47 2008 -0500 rpc: call release_pipe only on last close I can't see any reason we need to call this until either the kernel or the last gssd closes the pipe. Also, this allows to guarantee that open_pipe and release_pipe are called strictly in pairs; open_pipe on gssd's first open, release_pipe on gssd's last close (or on the close of the kernel side of the pipe, if that comes first). That will make it very easy for the gss code to keep track of which pipes gssd is using. Signed-off-by: J. Bruce Fields Signed-off-by: Trond Myklebust commit c381060869317b3c84430d4f54965d409cbfe65f Author: \"J. Bruce Fields\ Date: Tue Dec 23 16:08:32 2008 -0500 rpc: add an rpc_pipe_open method We want to transition to a new gssd upcall which is text-based and more easily extensible. To simplify upgrades, as well as testing and debugging, it will help if we can upgrade gssd (to a version which understands the new upcall) without having to choose at boot (or module-load) time whether we want the new or the old upcall. We will do this by providing two different pipes: one named, as currently, after the mechanism (normally "krb5"), and supporting the old upcall. One named "gssd" and supporting the new upcall version. We allow gssd to indicate which version it supports by its choice of which pipe to open. As we have no interest in supporting *simultaneous* use of both versions, we'll forbid opening both pipes at the same time. So, add a new pipe_open callback to the rpc_pipefs api, which the gss code can use to track which pipes have been open, and to refuse opens of incompatible pipes. We only need this to be called on the first open of a given pipe. Signed-off-by: J. Bruce Fields Signed-off-by: Trond Myklebust commit db75b3d6b5b0dad29860370618ea94d2726641b4 Author: \"J. Bruce Fields\ Date: Tue Dec 23 16:07:13 2008 -0500 rpc: minor gss_alloc_msg cleanup I want to add a little more code here, so it'll be convenient to have this flatter. Also, I'll want to add another error condition, so it'll be more convenient to return -ENOMEM than NULL in the error case. The only caller is already converting NULL to -ENOMEM anyway. Signed-off-by: J. Bruce Fields Signed-off-by: Trond Myklebust commit b03568c32226163cb3588ea8993adb268ed497a5 Author: \"J. Bruce Fields\ Date: Tue Dec 23 16:06:55 2008 -0500 rpc: factor out warning code from gss_pipe_destroy_msg We'll want to call this from elsewhere soon. And this is a bit nicer anyway. Signed-off-by: J. Bruce Fields Signed-off-by: Trond Myklebust commit 99db35636842ede13bf3b6bf1a8d8f4f1c4c93bf Author: \"J. Bruce Fields\ Date: Tue Dec 23 16:06:33 2008 -0500 rpc: remove unnecessary assignment We're just about to kfree() gss_auth, so there's no point to setting any of its fields. Signed-off-by: J. Bruce Fields Signed-off-by: Trond Myklebust commit cf8cdbe5bd662eeaece96b017a4d6676ae416537 Author: Andy Adamson Date: Tue Dec 23 16:06:18 2008 -0500 NFS: remove unused status from encode routines Signed-off-by: Andy Adamson Signed-off-by: Benny Halevy Signed-off-by: Trond Myklebust commit d017931cff77f2a1603c9c76e96477743abc9f41 Author: Andy Adamson Date: Tue Dec 23 16:06:17 2008 -0500 NFS: increment number of operations in each encode routine Signed-off-by: Andy Adamson Signed-off-by: Benny Halevy Signed-off-by: Trond Myklebust commit 49c2559e29884fbb13fd273a108b213decd1d8a5 Author: Benny Halevy Date: Tue Dec 23 16:06:16 2008 -0500 NFS: fix comment placement in nfs4xdr.c Signed-off-by: Benny Halevy Signed-off-by: Trond Myklebust commit 05d564fe00c05bf8ff93948057ca1acb5bc68e10 Author: Andy Adamson Date: Tue Dec 23 16:06:15 2008 -0500 NFS: fix tabs in nfs4xdr.c Signed-off-by: Andy Adamson Signed-off-by: Benny Halevy Signed-off-by: Trond Myklebust commit 6c0195a4681c08335a33a483be801aaf0ed7f192 Author: Andy Adamson Date: Tue Dec 23 16:06:15 2008 -0500 NFS: remove white space from nfs4xdr.c Clean-up Signed-off-by: Andy Adamson Signed-off-by: Benny Halevy Signed-off-by: Trond Myklebust commit 374130770efc80418b155b2966ff958495e03948 Author: Benny Halevy Date: Tue Dec 23 16:06:14 2008 -0500 nfs: remove incorrect usage of nfs4 compound response hdr.status 3 call sites look at hdr.status before returning success. hdr.status must be zero in this case so there's no point in this. Currently, hdr.status is correctly processed at decode_op_hdr time if the op status cannot be decoded. Signed-off-by: Benny Halevy Signed-off-by: Trond Myklebust commit aadf61521199e5c0b2976002213819cafa41b897 Author: Benny Halevy Date: Tue Dec 23 16:06:13 2008 -0500 nfs: return compound hdr.status when there are no op replies When there are no op replies encoded in the compound reply hdr.status still contains the overall status of the compound rpc. This can happen, e.g., when the server returns a NFS4ERR_MINOR_VERS_MISMATCH error. Signed-off-by: Benny Halevy Signed-off-by: Trond Myklebust commit c977a2ef40a38c45537ad03823d0a004f06373f0 Author: Benny Halevy Date: Tue Dec 23 16:06:13 2008 -0500 sunrpc: get rid of rpc_rqst.rq_bufsize rq_bufsize is not used. Signed-off-by: Mike Sager Signed-off-by: Benny Halevy Signed-off-by: Trond Myklebust commit 027b6ca02192f381a5a91237ba8a8cf625dc6f6a Author: Trond Myklebust Date: Tue Dec 23 16:04:13 2008 -0500 NFSv4: Fix an infinite loop in the NFS state recovery code Marten Gajda states: I tracked the problem down to the function nfs4_do_open_expired. Within this function _nfs4_open_expired is called and may return -NFS4ERR_DELAY. When a further call to _nfs4_open_expired is executed and does not return -NFS4ERR_DELAY the "exception.retry" variable is not reset to 0, causing the loop to iterate again (and as long as err != -NFS4ERR_DELAY, probably forever) Signed-off-by: Trond Myklebust commit 6dcd3926b214a1fb081df18305921dedae269977 Author: Jeff Layton Date: Tue Dec 23 15:21:57 2008 -0500 sunrpc: fix code that makes auth_gss send destroy_cred message (try #2) There's a bit of a chicken and egg problem when it comes to destroying auth_gss credentials. When we destroy the last instance of a GSSAPI RPC credential, we should send a NULL RPC call with a GSS procedure of RPCSEC_GSS_DESTROY to hint to the server that it can destroy those creds. This isn't happening because we're setting clearing the uptodate bit on the credentials and then setting the operations to the gss_nullops. When we go to do the RPC call, we try to refresh the creds. That fails with -EACCES and the call fails. Fix this by not clearing the UPTODATE bit for the credentials and adding a new crdestroy op for gss_nullops that just tears down the cred without trying to destroy the context. The only difference between this patch and the first one is the removal of some minor formatting deltas. Signed-off-by: Jeff Layton Signed-off-by: Trond Myklebust commit 64672d55d93c26fb4035fd1a84a803cbc09cb058 Author: Peter Staubach Date: Tue Dec 23 15:21:56 2008 -0500 optimize attribute timeouts for "noac" and "actimeo=0" Hi. I've been looking at a bugzilla which describes a problem where a customer was advised to use either the "noac" or "actimeo=0" mount options to solve a consistency problem that they were seeing in the file attributes. It turned out that this solution did not work reliably for them because sometimes, the local attribute cache was believed to be valid and not timed out. (With an attribute cache timeout of 0, the cache should always appear to be timed out.) In looking at this situation, it appears to me that the problem is that the attribute cache timeout code has an off-by-one error in it. It is assuming that the cache is valid in the region, [read_cache_jiffies, read_cache_jiffies + attrtimeo]. The cache should be considered valid only in the region, [read_cache_jiffies, read_cache_jiffies + attrtimeo). With this change, the options, "noac" and "actimeo=0", work as originally expected. This problem was previously addressed by special casing the attrtimeo == 0 case. However, since the problem is only an off- by-one error, the cleaner solution is address the off-by-one error and thus, not require the special case. Thanx... ps Signed-off-by: Peter Staubach Signed-off-by: Trond Myklebust commit dc0b027dfadfcb8a5504f7d8052754bf8d501ab9 Author: Trond Myklebust Date: Tue Dec 23 15:21:56 2008 -0500 NFSv4: Convert the open and close ops to use fmode Signed-off-by: Trond Myklebust commit 7a50c60e461f6ff97428da9448c3dad5b7bef491 Author: Trond Myklebust Date: Tue Dec 23 15:21:55 2008 -0500 NFS: Use delegations to optimise ACCESS calls Signed-off-by: Trond Myklebust commit 15860ab1d7700249ebe3b0b8ca86ce43dfd0d66f Author: Trond Myklebust Date: Tue Dec 23 15:21:54 2008 -0500 NFSv4: Ensure that we set the verifier when revalidating delegated dentries This ensures that we don't have to look up the dentry again after we return the delegation if we know that the directory didn't change. Signed-off-by: Trond Myklebust commit 5584c30630f8a4aac557093b1603e166fe7385be Author: Trond Myklebust Date: Tue Dec 23 15:21:54 2008 -0500 NFSv4: Clean up is_atomic_open() Signed-off-by: Trond Myklebust commit bd7bf9d540c001055fba796ebf146d90e4dd2eb2 Author: Trond Myklebust Date: Tue Dec 23 15:21:53 2008 -0500 NFSv4: Convert delegation->type field to fmode_t Signed-off-by: Trond Myklebust commit 9082a5cc1e33d081f091f54e6ed69a0628a4bdcc Author: Trond Myklebust Date: Tue Dec 23 15:21:53 2008 -0500 NFSv4: Fix up delegation callbacks Currently, the callback server is listening on IPv6 if it is enabled. This means that IPv4 addresses will always be mapped. Signed-off-by: Trond Myklebust commit b7391f44f26b17ad25c7183a3d6ad50f0a9305ff Author: Trond Myklebust Date: Tue Dec 23 15:21:52 2008 -0500 NFSv4: Return unreferenced delegations more promptly If the client is not using a delegation, the right thing to do is to return it as soon as possible. This helps reduce the amount of state the server has to track, as well as reducing the potential for conflicts with other clients. Signed-off-by: Trond Myklebust commit 6411bd4a471893ab2af103d96253ba97c92d4777 Author: Trond Myklebust Date: Tue Dec 23 15:21:51 2008 -0500 NFSv4: Clean up the asynchronous delegation return Reuse the state management thread in order to return delegations when we get a callback. Signed-off-by: Trond Myklebust commit b0d3ded1a21dc3057daff5a488469d9e6aa1b567 Author: Trond Myklebust Date: Tue Dec 23 15:21:50 2008 -0500 NFSv4: Clean up nfs_expire_all_delegations() Let the actual delegreturn stuff be run in the state manager thread rather than allocating a separate kthread. Signed-off-by: Trond Myklebust commit 0d62f85a81216f30a0ba1479b93e84103a5d535b Author: Trond Myklebust Date: Tue Dec 23 15:21:49 2008 -0500 NFSv4: Fix a BAD_SEQUENCEID condition. We really shouldn't be resetting the sequence ids when doing state expiration recovery, since we don't know if the server still remembers our previous state owners. There are servers out there that do attempt to preserve client state even if the lease has expired. Such a server would only release that state if a conflicting OPEN request occurs. Signed-off-by: Trond Myklebust commit f3c76491e7ecacbb7942633f3b2a3514b7476ef9 Author: Trond Myklebust Date: Tue Dec 23 15:21:48 2008 -0500 NFSv4: Don't exit the state management if there are still tasks to do Fix up a potential race... Signed-off-by: Trond Myklebust commit e005e8041c132af9f70862e1387a222198f95e7f Author: Trond Myklebust Date: Tue Dec 23 15:21:48 2008 -0500 NFSv4: Rename the state reclaimer thread It is really a more general purpose state management thread at this point. Signed-off-by: Trond Myklebust commit 707fb4b324371f1b4bea5eb29e39d265c66086ae Author: Trond Myklebust Date: Tue Dec 23 15:21:47 2008 -0500 NFSv4: Clean up NFS4ERR_CB_PATH_DOWN error management... Add a delegation cleanup phase to the state management loop, and do the NFS4ERR_CB_PATH_DOWN recovery there. Signed-off-by: Trond Myklebust commit 515d86117724abe39d7d57d7ccc7cc5c44480529 Author: Trond Myklebust Date: Tue Dec 23 15:21:46 2008 -0500 NFSv4: Clean up the support for returning multiple delegations Add a flag to mark delegations as requiring return, then run a garbage collector. In the future, this will allow for more flexible delegation management, where delegations may be marked for return if it turns out that they are not being referenced. Signed-off-by: Trond Myklebust commit 9e33bed55239bdcee1746c31a11177d239bac1b5 Author: Trond Myklebust Date: Tue Dec 23 15:21:46 2008 -0500 NFSv4: Add recovery for individual stateids NFSv4 defines a number of state errors which the client does not currently handle. Among those we should worry about are: NFS4ERR_ADMIN_REVOKED - the server's administrator revoked our locks and/or delegations. NFS4ERR_BAD_STATEID - the client and server are out of sync, possibly due to a delegation return racing with an OPEN request. NFS4ERR_OPENMODE - the client attempted to do something not sanctioned by the open mode of the stateid. Should normally just occur as a result of a delegation return race. Signed-off-by: Trond Myklebust commit 95d35cb4c473c754824967c0b069bbeb7efa4847 Author: Trond Myklebust Date: Tue Dec 23 15:21:45 2008 -0500 NFSv4: Remove nfs_client->cl_sem Now that we're using the flags to indicate state that needs to be recovered, as well as having implemented proper refcounting and spinlocking on the state and open_owners, we can get rid of nfs_client->cl_sem. The only remaining case that was dubious was the file locking, and that case is now covered by the nfsi->rwsem. Signed-off-by: Trond Myklebust commit 19e03c570e6099ffaf24e5628d4fe1a8acbe820d Author: Trond Myklebust Date: Tue Dec 23 15:21:44 2008 -0500 NFSv4: Ensure that file unlock requests don't conflict with state recovery The unlock path is currently failing to take the nfs_client->cl_sem read lock, and hence the recovery path may see locks disappear from underneath it. Also ensure that it takes the nfs_inode->rwsem read lock so that it there is no conflict with delegation recalls. Signed-off-by: Trond Myklebust commit 65de872ed6501a68e918a49a5c2fa7fca9c6ce21 Author: Trond Myklebust Date: Tue Dec 23 15:21:44 2008 -0500 NFS: Remove the unnecessary argument to nfs4_wait_clnt_recover() ...and move some code around in order to clear out an unnecessary forward declaration. Signed-off-by: Trond Myklebust commit fe1d81952e7f62b9da7dc438caaa07e35ec2b908 Author: Trond Myklebust Date: Tue Dec 23 15:21:43 2008 -0500 NFSv4: Ensure that nfs4_reclaim_open_state() doesn't depend on cl_sem Signed-off-by: Trond Myklebust commit 7eff03aec917e17f733471d7e12c262c0c96409f Author: Trond Myklebust Date: Tue Dec 23 15:21:43 2008 -0500 NFSv4: Add a recovery marking scheme for state owners Signed-off-by: Trond Myklebust commit 0f605b56008c4b6b075217480c36ba395ca4eaa4 Author: Trond Myklebust Date: Tue Dec 23 15:21:42 2008 -0500 NFSv4: Don't tell server we rebooted when not necessary Instead of doing a full setclientid, try doing a RENEW call first. Signed-off-by: Trond Myklebust commit e598d843c08a7ab6bdfa8098de49afb017fc6c6a Author: Trond Myklebust Date: Tue Dec 23 15:21:42 2008 -0500 NFSv4: Remove redundant RENEW calls if we know the lease has expired Signed-off-by: Trond Myklebust commit b79a4a1b45b2543e38026303a1956bdc0aababa0 Author: Trond Myklebust Date: Tue Dec 23 15:21:41 2008 -0500 NFSv4: Fix state recovery when the client runs over the grace period If the client for some reason is not able to recover all its state within the time allotted for the grace period, and the server reboots again, the client is not allowed to recover the state that was 'lost' using reboot recovery. Signed-off-by: Trond Myklebust commit 6dc9d57af9917f5c7faa13c17b770dce17c3972b Author: Trond Myklebust Date: Tue Dec 23 15:21:41 2008 -0500 NFSv4: Callers to nfs4_get_renew_cred() need to hold nfs_client->cl_lock Ditto for nfs4_get_setclientid_cred(). Signed-off-by: Trond Myklebust commit 028600143079c8e8f8366bbc2eb29977743baf3a Author: Trond Myklebust Date: Tue Dec 23 15:21:40 2008 -0500 NFSv4: Clean up for the state loss reclaimer Signed-off-by: Trond Myklebust commit 15c831bf1a3f8cab9812a96228145200726fea33 Author: Trond Myklebust Date: Tue Dec 23 15:21:39 2008 -0500 NFS: Use atomic bitops when changing struct nfs_delegation->flags Signed-off-by: Trond Myklebust commit 86e894899820f2b3094d5557124fc22743ae0fc7 Author: Trond Myklebust Date: Tue Dec 23 15:21:39 2008 -0500 NFSv4: Fix up the dereferencing of delegation->inode Without an extra lock, we cannot just assume that the delegation->inode is valid when we're traversing the rcu-protected nfs_client lists. Use the delegation->lock to ensure that it is truly valid. Signed-off-by: Trond Myklebust commit 343104308a33c4f1e23c8e841ede95e97b870842 Author: Trond Myklebust Date: Tue Dec 23 15:21:38 2008 -0500 NFSv4: Fix up another delegation related race When we can update_open_stateid(), we need to be certain that we don't race with a delegation return. While we could do this by grabbing the nfs_client->cl_lock, a dedicated spin lock in the delegation structure will scale better. Signed-off-by: Trond Myklebust commit 0cb2659b818eca99235e17c04291cfa9985c14f7 Author: Chuck Lever Date: Tue Dec 23 15:21:38 2008 -0500 NLM: allow lockd requests from an unprivileged port If the admin has specified the "noresvport" option for an NFS mount point, the kernel's NFS client uses an unprivileged source port for the main NFS transport. The kernel's lockd client should use an unprivileged port in this case as well. Signed-off-by: Chuck Lever Signed-off-by: Trond Myklebust commit 50a737f86dbf99daf3a8dcbdf778a3be36bb2a39 Author: Chuck Lever Date: Tue Dec 23 15:21:37 2008 -0500 NFS: "[no]resvport" mount option changes mountd client too If the admin has specified the "noresvport" option for an NFS mount point, the kernel's NFS client uses an unprivileged source port for the main NFS transport. The kernel's mountd client should use an unprivileged port in this case as well. Signed-off-by: Chuck Lever Signed-off-by: Trond Myklebust commit d740351bf0960e89ce1aef45cfe00167cb0f9e5b Author: Chuck Lever Date: Tue Dec 23 15:21:37 2008 -0500 NFS: add "[no]resvport" mount option The standard default security setting for NFS is AUTH_SYS. An NFS client connects to NFS servers via a privileged source port and a fixed standard destination port (2049). The client sends raw uid and gid numbers to identify users making NFS requests, and the server assumes an appropriate authority on the client has vetted these values because the source port is privileged. On Linux, by default in-kernel RPC services use a privileged port in the range between 650 and 1023 to avoid using source ports of well- known IP services. Using such a small range limits the number of NFS mount points and the number of unique NFS servers to which a client can connect concurrently. An NFS client can use unprivileged source ports to expand the range of source port numbers, allowing more concurrent server connections and more NFS mount points. Servers must explicitly allow NFS connections from unprivileged ports for this to work. In the past, bumping the value of the sunrpc.max_resvport sysctl on the client would permit the NFS client to use unprivileged ports. Bumping this setting also changes the maximum port number used by other in-kernel RPC services, some of which still required a port number less than 1023. This is exacerbated by the way source port numbers are chosen by the Linux RPC client, which starts at the top of the range and works downwards. It means that bumping the maximum means all RPC services requesting a source port will likely get an unprivileged port instead of a privileged one. Changing this setting effects all NFS mount points on a client. A sysadmin could not selectively choose which mount points would use non-privileged ports and which could not. Lastly, this mechanism of expanding the limit on the number of NFS mount points was entirely undocumented. To address the need for the NFS client to use a large range of source ports without interfering with the activity of other in-kernel RPC services, we introduce a new NFS mount option. This option explicitly tells only the NFS client to use a non-privileged source port when communicating with the NFS server for one specific mount point. This new mount option is called "resvport," like the similar NFS mount option on FreeBSD and Mac OS X. A sister patch for nfs-utils will be submitted that documents this new option in nfs(5). The default setting for this new mount option requires the NFS client to use a privileged port, as before. Explicitly specifying the "noresvport" mount option allows the NFS client to use an unprivileged source port for this mount point when connecting to the NFS server port. This mount option is supported only for text-based NFS mounts. [ Sidebar: it is widely known that security mechanisms based on the use of privileged source ports are ineffective. However, the NFS client can combine the use of unprivileged ports with the use of secure authentication mechanisms, such as Kerberos. This allows a large number of connections and mount points while ensuring a useful level of security. Eventually we may change the default setting for this option depending on the security flavor used for the mount. For example, if the mount is using only AUTH_SYS, then the default setting will be "resvport;" if the mount is using a strong security flavor such as krb5, the default setting will be "noresvport." ] Signed-off-by: Chuck Lever [Trond.Myklebust@netapp.com: Fixed a bug whereby nfs4_init_client() was being called with incorrect arguments.] Signed-off-by: Trond Myklebust commit 542fcc334adfea36d407cbf698d549fcb2bf6b91 Author: Chuck Lever Date: Tue Dec 23 15:21:36 2008 -0500 NFS: move nfs_server flag initialization Make it possible for the NFSv4 mount set up logic to pass mount option flags down the stack to nfs_create_rpc_client(). This is immediately useful if we want NFS mount options to modulate settings of the underlying RPC transport, but it may be useful at some later point if other parts of the NFSv4 mount initialization logic want to know what the mount options are. Signed-off-by: Chuck Lever Signed-off-by: Trond Myklebust commit 4a01b8a4ee7b12becd26a49bae57f019605658cd Author: Chuck Lever Date: Tue Dec 23 15:21:35 2008 -0500 NFS: expand flags passed to nfs_create_rpc_client() The nfs_create_rpc_client() function sets up an RPC client for an NFS mount point. Add an option that allows it to set up an RPC transport from an unprivileged port. Instead of having nfs_create_rpc_client()'s callers retain local knowledge about how to set up an RPC client, create a couple of flag arguments to control the use of RPC_CLNT_CREATE flags. Signed-off-by: Chuck Lever Signed-off-by: Trond Myklebust commit c5d120f8e8b464368a7dcb038dc5c077d234d10a Author: Chuck Lever Date: Tue Dec 23 15:21:35 2008 -0500 NFS: introduce nfs_mount_info struct for calling nfs_mount() Clean up: convert nfs_mount() to take a single data structure argument to make it simpler to add more arguments. Signed-off-by: Chuck Lever Signed-off-by: Trond Myklebust commit 146ec944bbd31d241a44a00518b054fb01921d22 Author: Chuck Lever Date: Tue Dec 23 15:21:34 2008 -0500 NFS: Move declaration of nfs_mount() to fs/nfs/internal.h Clean up: The nfs_mount() function is not to be used outside of the NFS client. Move its public declaration to fs/nfs/internal.h. Signed-off-by: Chuck Lever Signed-off-by: Trond Myklebust commit 7b5d2b98e118716dd1ccc2808fae88f6c4b16d54 Author: Chuck Lever Date: Tue Dec 23 15:21:34 2008 -0500 NFS: rename nfs_path variable Clean up: I'm about to move the declaration of nfs_mount into fs/nfs/internal.h and include it in fs/nfs/nfsroot.c. There's a conflicting definition of nfs_path in fs/nfs/internal.h and fs/nfs/nfsroot.c, so rename the private one. Signed-off-by: Chuck Lever Signed-off-by: Trond Myklebust commit df94f000c46c055cf439f5b92807cd827557ffbc Author: Jeff Layton Date: Tue Dec 23 15:21:33 2008 -0500 lockd: convert reclaimer thread to kthread interface My understanding is that there is a push to turn the kernel_thread interface into a non-exported symbol and move all kernel threads to use the kthread API. This patch changes lockd to use kthread_run to spawn the reclaimer thread. I've made the assumption here that the extra module references taken when we spawn this thread are unnecessary and removed them. I've also added a KERN_ERR printk that pops if the thread can't be spawned to warn the admin that the locks won't be reclaimed. In the future, it would be nice to be able to notify userspace that locks have been lost (probably by implementing SIGLOST), and adding some good policies about how long we should reattempt to reclaim the locks. Finally, I removed a comment about memory leaks that I believe is obsolete and added a new one to clarify the result of sending a SIGKILL to the reclaimer thread. As best I can tell, doing so doesn't actually cause a memory leak. I consider this patch 2.6.29 material. Signed-off-by: Jeff Layton Signed-off-by: Trond Myklebust commit 2de59872a7842143f4507832e7c1f5123c47feb7 Author: Trond Myklebust Date: Tue Dec 23 15:21:33 2008 -0500 LOCKD: Make lockd_up() and lockd_down() exported GPL-only Signed-off-by: Trond Myklebust commit d716f0b8a57f8577bcd869e7dcb5a0add9f6fc5e Author: Trond Myklebust Date: Tue Dec 23 15:21:32 2008 -0500 SUNRPC: nfsacl_encode/nfsacl_decode should be exported as GPL-only Again, this has never been intended as a public abi for out-of-tree modules. Signed-off-by: Trond Myklebust commit 7bd8826915989f1bd6917c11b0a4151b129e68cb Author: Trond Myklebust Date: Tue Dec 23 15:21:32 2008 -0500 SUNRPC: rpcsec_gss modules should not be used by out-of-tree code Signed-off-by: Trond Myklebust commit 468039ee469c5772d3e39f736923c5e0c31017e2 Author: Trond Myklebust Date: Tue Dec 23 15:21:31 2008 -0500 SUNRPC: Convert the xdr helpers and rpc_pipefs to EXPORT_SYMBOL_GPL We've never considered the sunrpc code as part of any ABI to be used by out-of-tree modules. Signed-off-by: Trond Myklebust commit 88a9fe8cae3bb52e82489447f45e8d7ba1409ca8 Author: Trond Myklebust Date: Tue Dec 23 15:21:31 2008 -0500 SUNRPC: Remove the last remnant of the BKL... Somehow, this escaped the previous purge. There should be no need to keep any extra locks in the XDR callbacks. The NFS client XDR code only writes into private objects, whereas all reads of shared objects are confined to fields that do not change, such as filehandles... Ditto for lockd, the NFSv2/v3 client mount code, and rpcbind. The nfsd XDR code may require the BKL, but since it does a synchronous RPC call from a thread that already holds the lock, that issue is moot. Signed-off-by: Trond Myklebust commit 136221fc3219b3805c48db5da065e8e3467175d4 Author: Wu Fengguang Date: Tue Dec 23 15:21:30 2008 -0500 nfs: remove redundant tests on reading new pages aops->readpages() and its NFS helper readpage_async_filler() will only be called to do readahead I/O for newly allocated pages. So it's not necessary to test for the always 0 dirty/uptodate page flags. The removal of nfs_wb_page() call also fixes a readahead bug: the NFS readahead has been synchronous since 2.6.23, because that call will clear PG_readahead, which is the reminder for asynchronous readahead. More background: the PG_readahead page flag is shared with PG_reclaim, one for read path and the other for write path. clear_page_dirty_for_io() unconditionally clears PG_readahead to prevent possible readahead residuals, assuming itself to be always called in the write path. However, NFS is one and the only exception in that it _always_ calls clear_page_dirty_for_io() in the read path, i.e. for readpages()/readpage(). Cc: Trond Myklebust Signed-off-by: Wu Fengguang Signed-off-by: Trond Myklebust commit b479f3c75739b7fb1e7c73d28754bf918155b520 Author: wanzongshun Date: Tue Dec 23 03:23:12 2008 +0100 [ARM] 5352/1: add w90p910-plat config file The patch is for w90p910 platform default config. Signed-off-by: Wan ZongShun Signed-off-by: Russell King commit 40321fd21c1eb1fb1886eea73b5f87c5e41ff2fb Merge: d83a12a 3b24f30 Author: Russell King Date: Tue Dec 23 18:06:37 2008 +0000 Merge branch 'for-rmk' of git://git.kernel.org/pub/scm/linux/kernel/git/ycmiao/pxa-linux-2.6 into devel Conflicts: arch/arm/mach-pxa/am200epd.c arch/arm/mach-pxa/ezx.c commit 98db8df777438e16ad0f44a0fba05ebbdb73db8d Author: Steven Rostedt Date: Tue Dec 23 11:32:25 2008 -0500 ring-buffer: prevent false positive warning Impact: eliminate false WARN_ON message If an interrupt goes off after the setting of the local variable tail_page and before incrementing the write index of that page, the interrupt could push the commit forward to the next page. Later a check is made to see if interrupts pushed the buffer around the entire ring buffer by comparing the next page to the last commited page. This can produce a false positive if the interrupt had pushed the commit page forward as stated above. Thanks to Jiaying Zhang for finding this race. Reported-by: Jiaying Zhang Signed-off-by: Steven Rostedt Cc: Signed-off-by: Ingo Molnar commit a8ccf1d6f60e3e6ae63122e02378cd4d40dd4aac Author: Steven Rostedt Date: Tue Dec 23 11:32:24 2008 -0500 ring-buffer: fix dangling commit race Impact: fix stuck trace-buffers If an interrupt comes in during the rb_set_commit_to_write and pushes the tail page forward just at the right time, the commit updates will miss the adding of the interrupt data. This will cause the commit pointer to cease from moving forward. Thanks to Jiaying Zhang for finding this race. Reported-by: Jiaying Zhang Signed-off-by: Steven Rostedt Cc: Signed-off-by: Ingo Molnar commit 722d74219ea21223c74e5e894b0afcc5e4ca75a7 Author: Andrew Morton Date: Tue Dec 23 10:22:56 2008 -0600 dlm: fs/dlm/ast.c: fix warning fs/dlm/ast.c: In function 'dlm_astd': fs/dlm/ast.c:64: warning: 'bastmode' may be used uninitialized in this function Cleans code up. Signed-off-by: Andrew Morton Signed-off-by: David Teigland commit d022509d1c54be4918e7fc8f1195ee8c392e9a57 Author: David Teigland Date: Tue Dec 16 14:53:23 2008 -0600 dlm: add new debugfs entry The new debugfs entry dumps all rsb and lkb structures, and includes a lot more information than has been available before. This includes the new timestamps added by a previous patch for debugging callback issues. Signed-off-by: David Teigland commit e3a84ad495d1fddb542e0922160f0194a1361950 Author: David Teigland Date: Tue Dec 9 14:47:29 2008 -0600 dlm: add time stamp of blocking callback Record the time the latest blocking callback was queued for a lock. This will be used for debugging in combination with lock queue timestamp changes in the previous patch. Signed-off-by: David Teigland commit eeda418d8c2646f33f24e9ad33d86c239adc6de7 Author: David Teigland Date: Tue Dec 9 14:12:21 2008 -0600 dlm: change lock time stamping Use ktime instead of jiffies for timestamping lkb's. Also stamp the time on every lkb whenever it's added to a resource queue, instead of just stamping locks subject to timeouts. This will allow us to use timestamps more widely for debugging all locks. Signed-off-by: David Teigland commit fd22a51bcc0b7b76fc729b02316214fd979f9fe1 Author: David Teigland Date: Tue Dec 9 11:55:46 2008 -0600 dlm: improve how bast mode handling The lkb bastmode value is set in the context of processing the lock, and read by the dlm_astd thread. Because it's accessed in these two separate contexts, the writing/reading ought to be done under a lock. This is simple to do by setting it and reading it when the lkb is added to and removed from dlm_astd's callback list which is properly locked. Signed-off-by: David Teigland commit 03339696314fffb95dafb349b84243358e945ce6 Author: David Teigland Date: Mon Dec 8 17:14:10 2008 -0600 dlm: remove extra blocking callback check Just before delivering a blocking callback (bast), the dlm_astd thread checks again that the granted mode of the lkb actually blocks the mode requested by the bast. The idea behind this was originally that the granted mode may have changed since the bast was queued, making the callback now unnecessary. Reasons for removing this extra check are: - dlm_astd doesn't lock the rsb before reading the lkb grmode, so it's not technically safe (this removes the long standing FIXME) - after running some tests, it doesn't appear the check ever actually eliminates a bast - delivering an unnecessary blocking callback isn't a bad thing and can happen anyway Signed-off-by: David Teigland commit d61e9aac96317a43c192f1faabfa95d4d675b7ce Author: Steven Whitehouse Date: Wed Dec 10 09:31:02 2008 -0600 dlm: replace schedule with cond_resched This is a one-liner to use cond_resched() rather than schedule() in the ast delivery loop. It should not be necessary to schedule every time, so this will save some cpu time while continuing to allow scheduling when required. Signed-off-by: Steven Whitehouse Signed-off-by: David Teigland commit 1521848cbb42935a52d11305c054b14461ad061c Author: Steven Whitehouse Date: Wed Nov 12 17:00:16 2008 -0600 dlm: remove kmap/kunmap The pages used in lowcomms are not highmem, so kmap is not necessary. Cc: Christine Caulfield Signed-off-by: Steven Whitehouse Signed-off-by: David Teigland commit cd8e4679bdcf9b54564f2cda2389bd0f0457e12d Author: Harvey Harrison Date: Wed Nov 12 16:28:43 2008 -0600 dlm: trivial annotation of be16 value fs/dlm/dir.c:419:14: warning: incorrect type in assignment (different base types) fs/dlm/dir.c:419:14: expected unsigned short [unsigned] [addressable] [assigned] [usertype] be_namelen fs/dlm/dir.c:419:14: got restricted __be16 [usertype] Signed-off-by: Harvey Harrison Signed-off-by: David Teigland commit d6d7b702a3a1ca50f7ca2bebaa79c80425156bac Author: Steven Whitehouse Date: Wed Nov 12 16:49:48 2008 -0600 dlm: fix up memory allocation flags Use ls_allocation for memory allocations, which a cluster fs sets to GFP_NOFS. Use GFP_NOFS for allocations when no lockspace struct is available. Taking dlm locks needs to avoid calling back into the cluster fs because write-out can require taking dlm locks. Cc: Christine Caulfield Signed-off-by: Steven Whitehouse Signed-off-by: David Teigland commit bed4f13065b520e564adffbfcd1c1a764a9c887e Merge: 3e5621e bf8bd66 Author: Ingo Molnar Date: Tue Dec 23 16:30:31 2008 +0100 Merge branch 'x86/irq' into x86/core commit 3e5621edb3392b28efb260ac99b2d26fb8b44e73 Merge: be9a1d3 181de82 Author: Ingo Molnar Date: Tue Dec 23 16:30:27 2008 +0100 Merge branch 'x86/iommu' into x86/core commit be9a1d3c2e559b267983bcf8b003997b83befb49 Merge: fa623d1 7e3cbc3 Author: Ingo Molnar Date: Tue Dec 23 16:30:20 2008 +0100 Merge branch 'x86/tsc' into x86/core commit 7e3cbc3f774f31ecd88a51edae3d9377f60a4c00 Merge: 345077c f4166c5 Author: Ingo Molnar Date: Tue Dec 23 16:29:31 2008 +0100 Merge branch 'x86/ptrace' into x86/tsc Conflicts: arch/x86/kernel/cpu/intel.c commit fa623d1b0222adbe8f822e53c08003b9679a410c Merge: 3d44cc3 1ccedb7 34945ed d437797 c415b3d beeb419 f269b07 4e42ebd e1286f2 878719e fd28a5b adf77ba 8f2466f 93093d0 bb55746 f34a10b b6fd6f2 30604bb 5b9a0e1 67bac79 7a9787e f4166c5 69b88af 8daa190 3e1e900 8403295 4db646b 205516c c8182f0 ecbf29c Author: Ingo Molnar Date: Tue Dec 23 16:27:23 2008 +0100 Merge branches 'x86/apic', 'x86/cleanups', 'x86/cpufeature', 'x86/crashdump', 'x86/debug', 'x86/defconfig', 'x86/detect-hyper', 'x86/doc', 'x86/dumpstack', 'x86/early-printk', 'x86/fpu', 'x86/idle', 'x86/io', 'x86/memory-corruption-check', 'x86/microcode', 'x86/mm', 'x86/mtrr', 'x86/nmi-watchdog', 'x86/pat2', 'x86/pci-ioapic-boot-irq-quirks', 'x86/ptrace', 'x86/quirks', 'x86/reboot', 'x86/setup-memory', 'x86/signal', 'x86/sparse-fixes', 'x86/time', 'x86/uv' and 'x86/xen' into x86/core commit bf8bd66d0580f296f257d371ee41a0a137b541c7 Merge: 8ae9366 1ccedb7 Author: Ingo Molnar Date: Tue Dec 23 16:24:15 2008 +0100 Merge branch 'x86/apic' into x86/irq Conflicts: arch/x86/kernel/apic.c commit 1ccedb7cdba6886939dd8b4c8f965a826f696e56 Merge: a98f8fd 929096f Author: Ingo Molnar Date: Tue Dec 23 16:23:23 2008 +0100 Merge commit 'v2.6.28-rc9' into x86/apic commit 3af373021fa32f8f787bfbdcc1a9277a287bde4e Author: Stefano Panella Date: Tue Dec 23 12:31:09 2008 +0000 uwb: remove beacon cache entry after calling uwb_notify() Removing the beacon cache entry from a uwb_dev can cause an oops if the bce is released before the call to uwb_notify(). Signed-off-by: Stefano Panella Signed-off-by: David Vrabel commit c8f915913afdfe1a796e312e21658b8edcf20868 Author: Artem Bityutskiy Date: Fri Dec 19 16:11:13 2008 +0200 UBIFS: avoid unnecessary calculations Do not calculate min_idx_lebs, because it is available in c->min_idx_lebs Signed-off-by: Artem Bityutskiy commit 650ed50f4298e76007070b7ab9d640dfe7228ab3 Author: Artem Bityutskiy Date: Mon Dec 22 11:09:04 2008 +0200 UBIFS: re-calculate min_idx_size after the commit When we commit, but before we try to write anything to the flash media, @c->min_idx_size is inaccurate, because we do not re-calculate it after the commit. Do not forget to do this. Signed-off-by: Artem Bityutskiy commit 4d61db4f87b527734ac0cc830dda8fcc4e2add2f Author: Artem Bityutskiy Date: Thu Dec 18 14:06:51 2008 +0200 UBIFS: use nicer 64-bit math Instead of using do_div(), use better primitives from linux/math64.h. Signed-off-by: Artem Bityutskiy commit af14a1ad792621942a03e4bd0e5f17b6e177e2e0 Author: Artem Bityutskiy Date: Fri Dec 19 19:26:29 2008 +0200 UBIFS: fix available blocks count Take into account that 2 eraseblocks are never available because they are reserved for the index. This gives more realistic count of FS blocks. To avoid future confusions like this, introduce a constant. Signed-off-by: Artem Bityutskiy commit d3cf502b6ccee1c52890d42cd18cbc98b7526126 Author: Artem Bityutskiy Date: Tue Dec 16 17:52:35 2008 +0200 UBIFS: various comment improvements and fixes Signed-off-by: Artem Bityutskiy commit 21a60258976227daaf7a4c35e96c3d77d4988b15 Author: Artem Bityutskiy Date: Fri Dec 12 11:13:17 2008 -0500 UBIFS: improve budgeting dump Dump available space calculated by budgeting subsystem. Signed-off-by: Artem Bityutskiy commit 24fa9e9438b263600737c839b36543981d87d65b Author: Artem Bityutskiy Date: Wed Dec 17 17:45:14 2008 +0200 UBIFS: fix tnc dumping debugfs tnc dumping was broken because of an obvious typo. Signed-off-by: Artem Bityutskiy commit 7bbe5b5aa6d1e38af6f1fc866efc0aa461d73f19 Author: Artem Bityutskiy Date: Tue Dec 9 11:02:51 2008 -0500 UBIFS: use PAGE_CACHE_MASK correctly It has high bits set, not low bits set as the UBIFS code assumed. Signed-off-by: Artem Bityutskiy commit 160bbab3000dafccbe43688e48208cecf4deb879 Author: Kay Sievers Date: Tue Dec 23 10:00:14 2008 +0000 [MTD] struct device - replace bus_id with dev_name(), dev_set_name() Signed-off-by: Kay Sievers Signed-off-by: Greg Kroah-Hartman Signed-off-by: David Woodhouse commit 9bcc00b96fc14c0cca94252b19a6e05c7d031f4a Author: Eric Miao Date: Tue Dec 23 04:21:04 2008 -0500 Input: add da9034 touchscreen support Add support for the built-in touchscreen controller in DA9034 (aka Micco), usually found on platforms with xscale processors. Signed-off-by: Eric Miao Signed-off-by: Dmitry Torokhov commit 3a0c58ddcd4f0edb37d6008db2a33c9756ec916c Author: Harvey Harrison Date: Tue Dec 23 04:09:28 2008 -0500 Input: ads7846 - strict_strtoul takes unsigned long Fix sparse warning introduced by: commit 160f1fef7e52e974489b3c70fbd4e094c06965c2 Input: convert drivers to use strict_strtoul() Signed-off-by: Harvey Harrison Signed-off-by: Dmitry Torokhov commit 7b37b5fd9ba32c0c5afc3537eed7e7466f2173e2 Author: Len Brown Date: Tue Dec 23 01:47:42 2008 -0500 ACPI: disable MPS when NO APIC-table found When ACPI is asked to find an MADT (APIC table) and fails, then ACPI expects to run in PIC mode. However, if an MP Table is was found, IRQs will be registered as if an IOAPIC is being used, even though ACPI is configuring interrupt links links for PIC mode. In this scenario, disable MPS so that IRQs are registered in PIC mode, consistent with ACPI. http://bugzilla.kernel.org/show_bug.cgi?id=12257 Signed-off-by: Len Brown commit 908a7a16b852ffd618a9127be8d62432182d81b4 Author: Neil Horman Date: Mon Dec 22 20:43:12 2008 -0800 net: Remove unused netdev arg from some NAPI interfaces. When the napi api was changed to separate its 1:1 binding to the net_device struct, the netif_rx_[prep|schedule|complete] api failed to remove the now vestigual net_device structure parameter. This patch cleans up that api by properly removing it.. Signed-off-by: Neil Horman Signed-off-by: David S. Miller commit f8f50b1bddd49eb171398cfc543c957884dc6e35 Author: Dale Farnsworth Date: Wed Dec 17 10:09:26 2008 +0000 powerpc/32: Wire up the trampoline code for kdump Wire up the trampoline code for ppc32 to relay exceptions from the vectors at address 0 to vectors at address 32MB, and modify Kconfig to enable Kdump support for all classic powerpcs. Signed-off-by: Dale Farnsworth Signed-off-by: Anton Vorontsov Signed-off-by: Paul Mackerras commit ccdcef72c249c289898b164eada89a61855b9287 Author: Dale Farnsworth Date: Wed Dec 17 10:09:13 2008 +0000 powerpc/32: Add the ability for a classic ppc kernel to be loaded at 32M Add the ability for a classic ppc kernel to be loaded at an address of 32MB. This done by fixing a few places that assume we are loaded at address 0, and by changing several uses of KERNELBASE to use PAGE_OFFSET, instead. Signed-off-by: Dale Farnsworth Signed-off-by: Anton Vorontsov Signed-off-by: Paul Mackerras commit 01695a9687e5a8d78589605037cc7828a5b67ac9 Author: Anton Vorontsov Date: Wed Dec 17 10:09:10 2008 +0000 powerpc/32: Allow __ioremap on RAM addresses for kdump kernel While for debugging it is good to catch bogus users of ioremap, though for kdump support it is more convenient to use __ioremap for copy_oldmem_page() (exactly as we do for PPC64 currently). Note that copy_oldmem_page() calls __ioremap with flags set to '0', so it should be safe with the regard to the caches. The other option is to use kmap_atomic_pfn()[1], but it will not work for kernels compiled without HIGHMEM. That is, on a board with 256MB RAM and crashkernel=64M@32M case, the !HIGHMEM capturing kernel maps 0-96M range, which does not include all the memory needed to capture the dump. And, obviously, accessing anything upper than 96M will cause faults. [1] http://ozlabs.org/pipermail/linuxppc-dev/2007-November/046747.html Signed-off-by: Anton Vorontsov Signed-off-by: Paul Mackerras commit 6f29c3298b18216198631cbee01c349adecb225d Author: Dale Farnsworth Date: Wed Dec 17 10:09:06 2008 +0000 powerpc/32: Setup OF properties for kdump Refactor the setting of kdump OF properties, moving the common code from machine_kexec_64.c to machine_kexec.c where it can be used on both ppc64 and ppc32. This will be needed for kdump to work on ppc32 platforms. Signed-off-by: Dale Farnsworth Signed-off-by: Anton Vorontsov Signed-off-by: Paul Mackerras commit 73753313884e8d063d9bf9d3e36325743ca006ba Author: Anton Vorontsov Date: Wed Dec 17 10:09:01 2008 +0000 powerpc/32/kdump: Implement crash_setup_regs() using ppc_save_regs() This replaces the dummy crash_setup_regs function with full-fledged crash_setup_regs implementation. On PPC32 we simply use the new ppc_save_regs function to dump the registers. Signed-off-by: Anton Vorontsov Signed-off-by: Paul Mackerras commit 322b439455ea62e6480e300c77b258e872896381 Author: Anton Vorontsov Date: Wed Dec 17 10:08:55 2008 +0000 powerpc: Prepare xmon_save_regs for use with kdump Today the arch/powerpc/xmon/setjmp.S file contains only the xmon_save_regs function. We want to use it for kdump purposes, so let's move the file into arch/powerpc/kernel/ and give the function a more generic name (ppc_save_regs). Signed-off-by: Anton Vorontsov Signed-off-by: Paul Mackerras commit 5be8554875bf3a1a42b7f04d5999b36e7c2fa88b Author: Anton Vorontsov Date: Tue Dec 16 06:23:08 2008 +0000 powerpc: Remove default kexec/crash_kernel ops assignments Default ops are implicit now. Signed-off-by: Anton Vorontsov Signed-off-by: Paul Mackerras commit 77733f8a33488307e7d4b9077d174647ecea92e1 Author: Anton Vorontsov Date: Tue Dec 16 06:23:05 2008 +0000 powerpc: Make default kexec/crash_kernel ops implicit This removes the need for each platform to specify default kexec and crash kernel ops, thus effectively adds a working kexec support for most 6xx/7xx/7xxx-based boards. Platforms that can't cope with default ops will explode in some weird way (a hang or reboot is most likely), which means that the board's kexec support should be fixed or blacklisted via dummy _prepare callback returning -ENOSYS. Signed-off-by: Anton Vorontsov Signed-off-by: Paul Mackerras commit 2e8e4f5b80e101da588af650de0ff6b3c475d6b3 Author: Dale Farnsworth Date: Tue Dec 16 06:22:59 2008 +0000 powerpc: Setup OF properties for ppc32 kexec Refactor the setting of kexec OF properties, moving the common code from machine_kexec_64.c to machine_kexec.c where it can be used on both ppc64 and ppc32. This is needed for kexec to work on ppc32 platforms. Signed-off-by: Dale Farnsworth Signed-off-by: Anton Vorontsov Signed-off-by: Paul Mackerras commit b906cfa397fdef8decbd36467b1f63c830a0bf2b Author: Sebastien Dugue Date: Thu Nov 27 00:59:52 2008 +0000 powerpc/pseries: Fix cpu hotplug Currently, pseries_cpu_die() calls msleep() while polling RTAS for the status of the dying cpu. However, if the cpu that is going down also happens to be the one doing the tick then we're hosed as the tick_do_timer_cpu 'baton' is only passed later on in tick_shutdown() when _cpu_down() does the CPU_DEAD notification. Therefore jiffies won't be updated anymore. This replaces that msleep() with a cpu_relax() to make sure we're not going to schedule at that point. With this patch my test box survives a 100k iterations hotplug stress test on _all_ cpus, whereas without it, it quickly dies after ~50 iterations. Signed-off-by: Sebastien Dugue Cc: Michael Ellerman Signed-off-by: Paul Mackerras commit fad7b9b51e21a97e9e2662f1b51869ed2d209097 Author: Paul Mackerras Date: Tue Dec 23 14:57:26 2008 +1100 powerpc: Fix KVM build on ppc440 Commit 2a4aca1144394653269720ffbb5a325a77abd5fa ("powerpc/mm: Split low level tlb invalidate for nohash processors") changed a call to _tlbia to _tlbil_all but didn't include the header that defines _tlbil_all, leading to a build failure on 440 if KVM is enabled. This fixes it. Signed-off-by: Paul Mackerras commit 889bd9b6dbcd426b8698c4a779dd7dbf247f57b8 Author: Oliver Neukum Date: Thu Dec 18 03:57:35 2008 +0000 net: startup race in hso driver The flag marking a device running must be set before the URBs for recption are submitted or they may complete too early and fail to resubmit. Signed-off-by: Oliver Neukum Signed-off-by: David S. Miller commit 05a8c1cbfe368df8c0d4eff710c370d2aa10245a Author: Jarek Poplawski Date: Mon Dec 22 19:44:13 2008 -0800 pkt_sched: Remove smp_wmb() in qdisc_watchdog() While implementing a TCQ_F_THROTTLED flag there was used an smp_wmb() in qdisc_watchdog(), but since this flag is practically used only in sch_netem(), and since it's not even clear what reordering is avoided here (TCQ_F_THROTTLED vs. __QDISC_STATE_SCHED?) it seems the barrier could be safely removed. Signed-off-by: Jarek Poplawski Signed-off-by: David S. Miller commit 4707470ae7441733822efcd680b0ef3971921c4d Author: Florian Fainelli Date: Mon Dec 22 19:40:38 2008 -0800 r6040: bump release number to 0.19 This patch bumps the release number of the driver. Signed-off-by: Florian Fainelli Signed-off-by: David S. Miller commit 3e7c469f07ff14cbf9a814739e1fc99a863e0943 Author: Joe Chou Date: Mon Dec 22 19:40:02 2008 -0800 r6040: save and restore MIER correctly in the interrupt routine This patch saves the MIER register contents before treating interrupts, then restores them correcty at the end of the interrupt routine. Signed-off-by: Joe Chou Signed-off-by: Florian Fainelli Signed-off-by: David S. Miller commit 11e5e8f5d14a1229706576184d2cf4c4556ed94c Author: Joe Chou Date: Mon Dec 22 19:38:17 2008 -0800 r6040: fix wrong logic in mdio code This patch fixes a reverse logic in the MDIO code. Signed-off-by: Joe Chou Signed-off-by: Florian Fainelli Signed-off-by: David S. Miller commit 5f2f6da76c429c42d54f73807f00b8fd761a7d68 Author: Jarek Poplawski Date: Mon Dec 22 19:35:28 2008 -0800 net: Fix oops in dev_ifsioc() A command like this: "brctl addif br1 eth1" issued as a user gave me an oops when bridge module wasn't loaded. It's caused by using a dev pointer before checking for NULL. Signed-off-by: Jarek Poplawski Signed-off-by: David S. Miller commit adf77bac052bb5bf0722b2ce2af9fefc5b2d2a71 Author: H. Peter Anvin Date: Mon Dec 22 17:56:05 2008 -0800 x86: prioritize the FPU traps for the error code In the case of multiple FPU errors, prioritize the error codes, instead of returning __SI_FAULT, which ends up pushing a 0 as the error code to userspace, a POSIX violation. For i386, we will simply return if there are no errors at all; for x86-64 this is probably a "can't happen" (and the code should be unified), but for this patch, return __SI_FAULT|SI_KERNEL if this ever happens. Signed-off-by: H. Peter Anvin commit ad1ad968f4e7b06c75741575ea077e25a87da49a Author: Christoph Hellwig Date: Mon Dec 22 09:59:06 2008 -0500 [XFS] handle unaligned data in xfs_bmbt_disk_get_all In libxfs xfs_bmbt_disk_get_all needs to handle unaligned data and thus has been updated to use get_unaligned_be64. In kernelspace we don't strictly need it as the routine is only used for tracing and xfsidbg, but let's keep the two implementations in sync. Signed-off-by: Christoph Hellwig Signed-off-by: Lachlan McIlroy commit 50b178512b7d6e7724f87459f6bd06504c9c2da1 Author: Alexey Starikovskiy Date: Tue Dec 23 02:44:54 2008 +0300 Newly inserted battery might differ from one just removed, so update of battery info fields is required. Signed-off-by: Alexey Starikovskiy Acked-by: Andy Neitzke Signed-off-by: Alexey Starikovskiy suse.de> Signed-off-by: Len Brown commit def434c2319c5a336633cd73322e0f28a7091b01 Author: Benjamin Krill Date: Thu Nov 27 16:15:44 2008 +0100 powerpc/cell: add QPACE as a separate Cell platform Since the QPACE (Chromodynamics Parallel Computing on the Cell Broadband Engine) platform doesn't use a iommu, doesn't have PCI devices and a MPIC much lesser setup and configurations are needed. So far all devices are detected as OF device. A notifier function is used to set the dma_ops for the of_platform bus. Further this patch splits the PPC_CELL_NATIVE into PPC_CELL_COMMON which are parts that are shared with the QPACE platform and the rest. Signed-off-by: Benjamin Krill Signed-off-by: Arnd Bergmann commit e68558ddcdbfa8cc2e7811bcada3bcbeef79fd4a Author: Arnd Bergmann Date: Mon Dec 22 22:08:26 2008 +0100 powerpc/cell: fix build breakage with CONFIG_SPUFS disabled CBE_THERM and OPROFILE_CELL both cannot be built without SPU_FS disabled, so make the dependency explicit. Reported-by: Milton Miller Signed-off-by: Arnd Bergmann commit a01777ecf227de735d7e525ecda48fe74b838a17 Author: David Vrabel Date: Mon Dec 22 18:30:29 2008 +0000 uwb: remove unused include/linux/uwb/debug.h Signed-off-by: David Vrabel commit e43ace891229607c43d35597cbba77c2e40f48d4 Author: David Vrabel Date: Mon Dec 22 18:27:17 2008 +0000 uwb: use print_hex_dump() Use print_hex_dump() instead of the home-grown dump_bytes(). Signed-off-by: David Vrabel commit bce83697c5fe84a7a5d38c96fbbe43b4bc028c3e Author: David Vrabel Date: Mon Dec 22 18:22:50 2008 +0000 uwb: use dev_dbg() for debug messages Instead of the home-grown d_fnstart(), d_fnend() and d_printf() macros, use dev_dbg() or remove the message entirely. Signed-off-by: David Vrabel commit 472346da9cc4231bec03ff2032e0d5fd4037232c Author: Roel Kluin Date: Mon Dec 22 17:40:45 2008 +0100 ALSA: ASoC: fix a typo in omp-pcm.c Fix a typo (& and &&) Signed-off-by: Roel Kluin Signed-off-by: Liam Girdwood Signed-off-by: Takashi Iwai commit c69134858722977a82f58cae88e7ffdb28e1e858 Author: Jarkko Nikula Date: Mon Dec 22 10:57:33 2008 +0200 ASoC: Fix DSP formats in SSM2602 audio codec Thanks to Troy Kisky for noticing. - DSP_A format has 1-bit data delay which corresponds to SSM6202 submode 2 - DSP_B has 0-bit data delay which corresponds to submode 1 - Currently driver sets them opposite so swap the submode setting Signed-off-by: Jarkko Nikula Cc: Cliff Cai Signed-off-by: Mark Brown commit bd25867a6cbe7a00ef7dbe8d9ddebc91b00b9b3f Author: Jarkko Nikula Date: Mon Dec 22 10:21:36 2008 +0200 ASoC: Fix incorrect DSP format in OMAP McBSP DAI and affected drivers - OMAP McBSP DAI driver claims to support DSP_A format which has 1-bit data delay but configures link for 0-bit data delay which is in fact DSP_B - Fix this by changing format from DSP_A to DSP_B - Fix also TLV320AIC23 codec and OSK5912 machine drivers since the same error is populated also there Signed-off-by: Jarkko Nikula Acked-by: Arun KS Signed-off-by: Mark Brown commit f5eda57f9bb17b6f09f7888dfc2c47db7aea45d4 Author: Roland Dreier Date: Mon Dec 22 07:15:05 2008 -0800 mlx4_core: Delete incorrect comment The comment about a "Conditional on hca_type" was cut-and-pasted from the mthca driver, and doesn't apply to mlx4 (since only one type of HCA is handled by mlx4). So just delete it. Signed-off-by: Roland Dreier commit b8dd786f9417e5885929bfe33a235c76a9c1c569 Author: Yevgeny Petrilin Date: Mon Dec 22 07:15:03 2008 -0800 mlx4_core: Add support for multiple completion event vectors When using MSI-X mode, create a completion event queue for each CPU. Report the number of completion EQs in a new struct mlx4_caps member, num_comp_vectors, and extend the mlx4_cq_alloc() interface with a vector parameter so that consumers can specify which completion EQ should be used to report events for the CQ being created. Signed-off-by: Yevgeny Petrilin Signed-off-by: Roland Dreier commit 59de580af1c2fd671b0cb27c41ff958859ae5288 Author: Paul Mundt Date: Mon Dec 22 19:32:27 2008 +0900 sh: oprofile: Fix up the module build. Signed-off-by: Paul Mundt commit 7d91fcfcb91dde7bc4586154942862c1724b3519 Author: Takanari Hayama Date: Mon Dec 22 11:05:03 2008 +0900 sh: add UIO support for JPU on SH7722. Add JPU support on Migo-R via UIO. This make use of Magnus's generic UIO platform driver. Chunk of contiguous memory to hold intermediate image and compressed data during encode and decode. Signed-off-by: Takanari Hayama Signed-off-by: Paul Mundt commit b0c50ad71746c4ad148f366135e3c87e32729108 Author: Paul Mundt Date: Mon Dec 22 03:40:10 2008 +0900 serial: sh-sci: Fix up port pinmux for SH7366. Signed-off-by: Paul Mundt commit 6f5cd2bd59c3bbaf073a7a52fcdefded939bd306 Author: Paul Mundt Date: Mon Dec 22 03:26:26 2008 +0900 sh: mach-rsk: Use uImage generation by default for rsk7201/7203. Signed-off-by: Paul Mundt commit 2ea40dec26da89702dface74365cd16cea9ded6c Author: Paul Mundt Date: Mon Dec 22 03:25:04 2008 +0900 sh: mach-sh03: Fix up pata_platform build breakage. Signed-off-by: Paul Mundt commit b5868e8cdeb35cd9ddc3a541f81f318b0f6772b3 Author: Magnus Damm Date: Fri Dec 19 15:34:50 2008 +0900 sh: enable deferred io LCDC on Migo-R Enable LCDC deferred io on Migo-R using 1s delay. As with other deferred io frame buffers user space code should use fsync() on the frame buffer device to trigger an update. Signed-off-by: Magnus Damm Signed-off-by: Paul Mundt commit 8564557a03c12adb9c4b76ae1e86db4113a04d13 Author: Magnus Damm Date: Fri Dec 19 15:34:41 2008 +0900 video: sh_mobile_lcdcfb deferred io support This patch adds sh_mobile_lcdcfb deferred io support for SYS panels. The LCDC hardware block managed by the sh_mobile_lcdcfb driver supports RGB or SYS panel configurations. SYS panels come with an external display controller that is resposible for refreshing the actual LCD panel. RGB panels are controlled directly by the LCDC and they need to be refreshed by the LCDC hardware. In the case of SYS panels we can save some power by configuring the LCDC hardware block in one-shot mode. In this one-shot mode panel refresh is managed by software. This works well together with deferred io since it allows us to stop clocks for most of the time and only enable clocks when we actually want to trigger an update. When there is no fbdev activity the clocks are kept stopped which allows us to deep sleep. The refresh rate in deferred io mode is set using platform data. The same platform data can also be used to disable deferred io mode. As with other deferred io frame buffers user space code should use fsync() on the frame buffer device to trigger an update. Signed-off-by: Magnus Damm Signed-off-by: Paul Mundt commit 37b4837959cb9aa60686ca0d85f73d819251abad Author: Magnus Damm Date: Fri Dec 19 15:34:32 2008 +0900 video: deferred io with physically contiguous memory Extend the deferred io code from only supporting vmalloc()ed frame buffer memory to support both vmalloc()ed and physically contiguous frame buffer memory. The sh_mobile_lcdcfb hardware does not support scatter gather so we need physically contiguous memory to back our frame buffer. Signed-off-by: Magnus Damm Acked-by: Jaya Kumar Signed-off-by: Paul Mundt commit 6e1038a95bebb8a1ad6066c95aa9c3af6963c9ff Author: Magnus Damm Date: Fri Dec 19 15:34:23 2008 +0900 video: deferred io cleanup Make sure the mmap callback is set to NULL in the deferred io cleanup function. This way we can enable and disable deferred io on the fly. Signed-off-by: Magnus Damm Acked-by: Jaya Kumar Signed-off-by: Paul Mundt commit 87884bd8ae42c875adbd62c84f47ed1cbb3e5090 Author: Magnus Damm Date: Fri Dec 19 15:34:09 2008 +0900 video: fix deferred io fsync() If CONFIG_FB_DEFERRED_IO is set, but there are framebuffers registered that does not make use of deferred io, then fsync() on those framebuffers will result in a crash. Fix that. This is needed for sh_mobile_lcdcfb since we always enable deferred io at compile time but we may disable deferred io for some types of hardware configurations. Signed-off-by: Magnus Damm Acked-by: Jaya Kumar Signed-off-by: Paul Mundt commit 0790555437df2b6070af8f021b8d2ef79e70e144 Author: Magnus Damm Date: Fri Dec 19 12:02:16 2008 +0900 sh: add LCDC interrupt configuration to AP325 and Migo-R Add LCDC interrupt resources for AP325 and Migo-R. The LCDC driver does not require interrupts at this point, but changes such as one-shot SYS mode using deferred io, and wait-for-vblank will both need this. Signed-off-by: Magnus Damm Signed-off-by: Paul Mundt commit 2540c111ead82cad605ec2b14a1905ad914cc124 Author: Magnus Damm Date: Wed Dec 17 17:29:49 2008 +0900 sh_mobile_lcdc: use FB_SYS helpers instead of FB_CFB Since the sh_mobile_lcdc hardware has the framebuffer(s) in system RAM, use FB_SYS instead of FB_CFB. Also hook in read and write helpers. Signed-off-by: Magnus Damm Signed-off-by: Paul Mundt commit da9fdc8b44c421f14a68988ae4d1fb414d5edbf0 Author: Magnus Damm Date: Wed Dec 17 17:18:45 2008 +0900 sh: split coherent pages Split pages returned by dma_alloc_coherent() and make sure we free them one by one. Signed-off-by: Magnus Damm Signed-off-by: Paul Mundt commit 78fb40263f34c65ade1693664db1af168d479588 Author: Paul Mundt Date: Wed Dec 17 16:23:32 2008 +0900 sh: dma: Kill off ISA DMA wrapper. There are no more users for this code, and it has been deprecated for some time, so just kill it off. Signed-off-by: Paul Mundt commit 5d2685d0b3edc51ecc92604d5b7f5ca9b29b90bb Author: Paul Mundt Date: Wed Dec 17 15:56:06 2008 +0900 sh: Conditionalize the code dumper on CONFIG_DUMP_CODE. We don't really want this enabled by default, but it is still quite useful for debugging. So, make it conditional and leave it off by default. Signed-off-by: Paul Mundt commit fe58cac35f48a9598c2a1360c2204c73f7bca2d2 Author: Paul Mundt Date: Wed Dec 17 15:36:50 2008 +0900 sh: Kill off the unused SH_ALPHANUMERIC debug option. Signed-off-by: Paul Mundt commit 740a3e677b70181d5e2b1458a27891209e3bf635 Author: Paul Mundt Date: Wed Dec 17 15:33:43 2008 +0900 sh: Enable skipping of bss on debug platforms for sh32 also. This enables the same functionality that sh64 has for sh32. When running on simulated hardware or via remote memory via the debug interface, memory is gauranteed to be zero on boot already, and skipping the zeroing of BSS has measurable boot time benefits. Signed-off-by: Paul Mundt commit 8a655053ca1593dd160dac2a4ee638fdec037d86 Author: Paul Mundt Date: Wed Dec 17 15:06:54 2008 +0900 doc: Update sh cpufreq documentation. The sh cpufreq driver is no longer limited to just the SH-3 and SH-4, update the documentation to reflect this fact accordingly. Signed-off-by: Paul Mundt commit 0146d7875976795fe364b4a3da629975ebd37671 Author: Paul Mundt Date: Wed Dec 17 14:58:04 2008 +0900 sh: mrshpc_setup_windows() needs to be inline. While no one should be including this file multiple times, flag it inline anyways just in case. Signed-off-by: Paul Mundt commit 1f6fd5c916c8416588f5797e7837b9e81b3251a5 Author: Paul Mundt Date: Wed Dec 17 14:53:24 2008 +0900 serial: sh-sci: sci_poll_get_char() is only used by CONFIG_CONSOLE_POLL. sci_poll_put_char() happens to also be used by the serial console, while sci_poll_get_char() is only used by CONFIG_CONSOLE_POLL. Add another gnarly ifdef to shut up the compiler. Signed-off-by: Paul Mundt commit 073da9c0de401e8683b6bc76c008a7e0850045d5 Author: Paul Mundt Date: Wed Dec 17 14:41:54 2008 +0900 sh: Kill off cf-enabler with extreme prejudice. Now that the rest of the boards that were using cf-enabler "generically" have switched to setting up their mappings on their own, only the mach-se boards were left using it. All of the cf-enabler using mach-se boards use a special initialization of the MRSHPC windows rather than going through the special PTE as other SH-4 platforms do. This consolidates the MRSHPC setup logic, hooks it up on the boards that care, and gets rid of any and all remaining references to cf-enabler. This has been long overdue, as cf-enabler has been the bane of arch/sh/kernel for the last 7 years. Good riddance. Signed-off-by: Paul Mundt commit 8c197c3afb4a9026973315cc6a3c189dd8434053 Author: Paul Mundt Date: Wed Dec 17 13:57:45 2008 +0900 sh: Add a simple edosk7705_defconfig for build testing. Signed-off-by: Paul Mundt commit 866ef8f48f2272ce8d84156c91964d730666ab33 Author: Paul Mundt Date: Wed Dec 17 13:57:15 2008 +0900 sh: mach-edosk7705: Fix up edosk7705 so it all builds again. Signed-off-by: Paul Mundt commit 0ef0e6ca426d28561b752e5f576932659295b928 Author: Paul Mundt Date: Wed Dec 17 13:14:22 2008 +0900 sh: mach-microdev: Split out the fdc37c93xapm initialization code. This makes the microdev code a bit more readable, and moves the setup for the SuperIO out on its own. Signed-off-by: Paul Mundt commit 43eeb0fb9f4e2aaefc4ae9dc964308ce8f55998b Author: Paul Mundt Date: Wed Dec 17 12:54:09 2008 +0900 sh: mach-sh03: Use __set_io_port_base(), kill off special ioport_map(). This also fixes up a long-standing bug for this platform where the PIO base was set to a register offset, rather than the actual PIO offset itself. Signed-off-by: Paul Mundt commit 8db806ec80ce80605005d1d558add716152a1134 Author: Paul Mundt Date: Wed Dec 17 12:48:41 2008 +0900 sh: mach-sh03: Move off of cf_enabler to pata_platform, as per landisk. This gets rid of the cf enabler use on mach-sh03 and switches to use pata_platform with the proper address directly. cf_enabler is subsequently disabled for mach-sh03. Signed-off-by: Paul Mundt commit 98a955da8525a4218c8186fba5a6b949f563bbea Author: Paul Mundt Date: Wed Dec 17 12:42:20 2008 +0900 sh: board-shmin: Convert shmin to use __set_io_port_base(). Drop the special mv_ioport_map() implementation, as this can simply use __set_io_port_base() directly. Signed-off-by: Paul Mundt commit 2125a46083dc5a9aa321c243e322638a9338cd11 Author: Paul Mundt Date: Wed Dec 17 12:31:32 2008 +0900 sh: Kill off dead mv_init_pci() from machvec. Signed-off-by: Paul Mundt commit 43f8f9b95b65dc05368cd82268895b9508b17d50 Author: Paul Mundt Date: Wed Dec 17 12:20:15 2008 +0900 sh: Simplify kernel_thread_helper() for sh32. This can use the same implementation as sh64, the generated assembly is the same between the new and old version, so there is not much point in leaving it open coded in inline assembly. This is preparatory work for future consolidation of the _32/_64 variants. Signed-off-by: Paul Mundt commit 7b80fb32b39a51ce3e1afa051f5a616eb8ecbed3 Author: Paul Mundt Date: Wed Dec 17 12:19:30 2008 +0900 sh: Kill off mv_heartbeat() from the machvec. Nothing is using this any more, so get rid of it before anyone gets the bright idea to start using it again. Signed-off-by: Paul Mundt commit b94ea27570e4ae87942e2f2ae386d4007ef7ac58 Author: Paul Mundt Date: Wed Dec 17 12:17:20 2008 +0900 sh: Kill off the cayman and microdev special heartbeat code. These can use the generic code instead. Signed-off-by: Paul Mundt commit ca0c14e447a399eb90a1c9a4357560c2a29ef499 Author: Paul Mundt Date: Wed Dec 17 11:47:59 2008 +0900 sh: Kill off sh_bios_in_gdb_mode(). With the reworked kgdb support, we always detach and reinitialize the stub. This was mostly a feature for handoffs between sh-ipl+g and the kgdb stub, but virtually no sh-ipl+g versions ever had this working right in the first place. Given that the sh-ipl+g stubs in general use today don't even support the GDB stub, and we have already killed off the special casing in the sh-sci serial driver, kill off this now unused symbol too. Signed-off-by: Paul Mundt commit a9df1ed92fc46cb7c9a9c6b74dbd8bbdc41f69ce Author: Paul Mundt Date: Wed Dec 17 11:39:33 2008 +0900 sh: export sh_bios_get_node_addr() symbol for stnic module. Signed-off-by: Paul Mundt commit 8e32018b0428038b492dad5b19e80bf7d6dc002d Author: Paul Mundt Date: Wed Dec 17 11:37:51 2008 +0900 sh: Run sh_bios through a long overdue Lindent. Signed-off-by: Paul Mundt commit d5701647f1aaaea5da20023976d86af79ab84707 Author: Paul Mundt Date: Tue Dec 16 20:07:27 2008 +0900 serial: sh-sci: Generalize port pin initialization. Signed-off-by: Paul Mundt commit d830fa4584a4015989b9b396a80779f28f277baa Author: Paul Mundt Date: Tue Dec 16 19:29:38 2008 +0900 serial: sh-sci: Tidy up fifo overrun error handling. Signed-off-by: Paul Mundt commit 762c69e3cad67a5cc5a01ba74e0b552ae4615258 Author: Paul Mundt Date: Tue Dec 16 18:55:26 2008 +0900 serial: sh-sci: pr_debug() -> dev_dbg() conversion. Signed-off-by: Paul Mundt commit 027e68724935599417faa7dd4123c117d18e2483 Author: Paul Mundt Date: Tue Dec 16 18:36:16 2008 +0900 serial: sh-sci: Fix up the cpufreq notifier to use the proper port clock. Signed-off-by: Paul Mundt commit d9341b51f28a5eb4ce231f4a3bbfa02aaecae626 Author: Paul Mundt Date: Tue Dec 16 09:36:25 2008 +0900 sh: oprofile: Convert op_model_sh7750 to new common interface. Signed-off-by: Paul Mundt commit 40a8b421b6a85f7786bf3007d316cd799efe8ea1 Author: Dave Peverley Date: Tue Dec 16 09:35:40 2008 +0900 sh: oprofile: Backtrace support. This patch improves the oprofile support on sh and adds backtrace support. Signed-off-by: Dave Peverley Signed-off-by: Chris Smith Signed-off-by: Paul Mundt commit 60a51fbe5dd2baef0f35bcf79f25ac1ee239a660 Author: Paul Mundt Date: Tue Dec 16 09:33:53 2008 +0900 sh: oprofile: Refactor common setup code for multiple driver support. This re-implements the old op_model_null code in to something more generic, where multiple drivers, backtrace, etc. can all be interfaced. Based largely on arch/mips/oprofile/common.c. Signed-off-by: Paul Mundt commit 70fe224743c11b57f9b63326313988fdcceb54df Author: Matt Fleming Date: Tue Dec 16 09:13:05 2008 +0900 sh: Enable GENERIC_HARDIRQS_NO__DO_IRQ for all SuperH machines After the recent changes to switch SuperH board support over to irq_chip it is now possible to set GENERIC_HARDIRQS_NO__DO_IRQ for all SuperH boards. Signed-off-by: Matt Fleming Signed-off-by: Paul Mundt commit 1a94757fae2ac2a9971694b55972f65a396a2f31 Author: Matt Fleming Date: Sun Dec 14 12:02:27 2008 +0000 sh: Convert Cayman boards from hw_interrupt_type to irq_chip I've been unable to even compile-test this change because I don't have an sh5 toolchain. All uses of hw_interrupt_type for SuperH boards have now been converted to use irq_chip. Signed-off-by: Matt Fleming Signed-off-by: Paul Mundt commit e85a47744bbdfbcc65c94b2af67499f861c6fa42 Author: Matt Fleming Date: Sun Dec 14 12:02:26 2008 +0000 sh: Convert Dreamcast support from hw_interrupt_type to irq_chip Switch the dreamcast IRQ code over to the irq_chip way of doing things, so that we can set GENERIC_HARDIRQS_NO__DO_IRQ for all SuperH boards. Also, whilst I'm here change some things to make checkpatch.pl happy: - Indent with tabs, not with spaces - Include , not - Fix the multi-line comment style - Fix some typos in the comments Tested-by: Adrian McMenamin Signed-off-by: Matt Fleming Signed-off-by: Paul Mundt commit bd0a22d21f26864792a0e49c20f5bd25d6c335e4 Author: Matt Fleming Date: Sun Dec 14 12:02:25 2008 +0000 sh: Convert SystemH board support from hw_interrupt_type to irq_chip ... as part of the hw_interrupt_type to irq_chip crusade. Signed-off-by: Matt Fleming Signed-off-by: Paul Mundt commit be729fd8900f0026238539de46d867d232d1e913 Author: Matt Fleming Date: Sun Dec 14 12:02:24 2008 +0000 sh: Convert Microdev boards from hw_interrupt_type to irq_chip This is part of the SH move to irq_chip. Signed-off-by: Matt Fleming Signed-off-by: Paul Mundt commit 180ae2037f5bc33b0597ddbb76d36b08a74a238a Author: Paul Mundt Date: Fri Dec 12 16:53:14 2008 +0900 sh: Provide sdivsi3/udivsi3/udivdi3 for sh64, kill off libgcc linking. This moves in the necessary libgcc bits and kills off the libgcc linking for sh64 kernels as well. Signed-off-by: Paul Mundt commit 209aa4fdc39eacc145a7f9c32a4b9ffcc68912c6 Author: Paul Mundt Date: Fri Dec 12 16:35:40 2008 +0900 fb: SH-5 uses __raw I/O accessors now also, drop the special casing. Signed-off-by: Paul Mundt commit 4466b20cfcfa718ff515b9e3886749cc025e2005 Author: Paul Mundt Date: Fri Dec 12 16:34:44 2008 +0900 sh: Add SH-5 optimized memcpy()/memset()/strcpy()/strlen(). Adopted from the uClibc optimized string versions. Signed-off-by: Paul Mundt commit 776d6c298aad42c2b8f191fa9ad826075e4d588c Author: Paul Mundt Date: Thu Dec 11 19:15:14 2008 +0900 sh: Kill off remaining CONFIG_SH_KGDB bits. Now that we use the generic stub, kill off all of the left over references. Signed-off-by: Paul Mundt commit 07d2a1a1cd8d609a4bc320a492670de57ec6bde1 Author: Paul Mundt Date: Thu Dec 11 19:06:43 2008 +0900 serial: sh-sci: Implement CONSOLE_POLL support and kill off old kgdb console. Signed-off-by: Paul Mundt commit ab6e570ba33dbee18c2520d386e0f367a9b573c3 Author: Paul Mundt Date: Thu Dec 11 18:46:46 2008 +0900 sh: Generic kgdb stub support. This migrates from the old bitrotted kgdb stub implementation and moves to the generic stub. In the process support for SH-2/SH-2A is also added, which the old stub never provided. Signed-off-by: Paul Mundt commit d7b01f78a3ae6a3cc21a16a1a3d377adc2227537 Author: Paul Mundt Date: Wed Dec 10 20:17:15 2008 +0900 sh: Enable HAVE_ARCH_TRACEHOOK for all SH, now that SH-5 supports it too. Signed-off-by: Paul Mundt commit dd76279b47dce2c0bd7c54997938ec4cb9f16884 Author: Paul Mundt Date: Wed Dec 10 20:14:15 2008 +0900 sh: Provide linux/regset.h interface for SH-5. Plugs in general and FPU regsets. Signed-off-by: Paul Mundt commit 94e2fb3d3e1f4cb6bad2b13c572c4c99ad734a37 Author: Paul Mundt Date: Wed Dec 10 19:46:18 2008 +0900 sh: Provide asm/syscall.h for SH-5. This provides the asm/syscall.h implementation for sh64 parts. Signed-off-by: Paul Mundt commit 6ac034375fe8b4341137657adf5e6ff0dcb5a99f Author: Paul Mundt Date: Wed Dec 10 19:26:44 2008 +0900 sh: Handle cases where setup{_rt,}_frame() fail on SH-5 signal delivery. Presently these cases are not handled properly due to the return value not being passed back. This needs to be correct to get proper behaviour out of things like the tracehook signal notifier, amongst others. Signed-off-by: Paul Mundt commit f15b2dc02fef0c53aa5ffa3c4617e184f057d402 Author: Paul Mundt Date: Wed Dec 10 19:18:46 2008 +0900 sh: Fix up syscall_get_nr() comment in syscall_32.h. Residual copy-and-paste damage, fix it up. Signed-off-by: Paul Mundt commit 35724a0aed6e62bdad640e8a1b8498329708226f Author: Paul Mundt Date: Wed Dec 10 18:17:19 2008 +0900 sh: Fix up the cpu_asid() return value on nommu. This ought to be unsigned long, rather than defaulting to int. Signed-off-by: Paul Mundt commit a99d6fde69dd9c73ac0b4e42a77ed1ebc714e56a Author: Paul Mundt Date: Wed Dec 10 18:06:36 2008 +0900 sh: Convert sh64 /proc/asids to debugfs and generic sh. This converts the sh64 /proc/asids entry to debugfs and enables it for all SH parts that have debugfs enabled. On MMU systems this can be used to determine which processes are using which ASIDs which in turn can be used for finer grained cache tag analysis. Signed-off-by: Paul Mundt commit 4d1f3bbec49a080cae753aaa44dc1fc7277b3e50 Author: Paul Mundt Date: Wed Dec 10 17:16:09 2008 +0900 sh: Kill off sh64's unused alloc/free_task_struct() definitions. These were left over from some time ago, sh64 never got around to defining __HAVE_ARCH_TASK_STRUCT_ALLOCATOR during the conversion, and it has no need to. Kill these off and use the generic versions instead. Signed-off-by: Paul Mundt commit 4eec8834f085e5eaf70e64849f879068256c07c5 Author: Paul Mundt Date: Wed Dec 10 17:09:36 2008 +0900 sh: mach-migor: Kill off unused Migo-R machvec. This kills off the special Migo-R machvec, as nothing is using it. By default this will switch to using the generic machvec, which provides the same functionality. This saves us a bit of space in the machvec section. Signed-off-by: Paul Mundt commit 4545bfa00a010b619a596b3893be820935c01bb7 Author: Magnus Damm Date: Wed Dec 10 17:02:13 2008 +0900 sh: add ov772x reset delay on Migo-R Add reset delay for the ov772x device on Migo-R. Signed-off-by: Magnus Damm Signed-off-by: Paul Mundt commit a6bc25abc89a72a8533dbb912a4116a8349b9d8c Author: Paul Mundt Date: Wed Dec 10 13:42:14 2008 +0900 sh: Drop the special qemu defconfig. QEMU can now use rts7751r2dplus_defconfig directly, there is no more need for a neutered defconfig. Signed-off-by: Paul Mundt commit bd40e8132336fbc3f2857f24720e11b6c1c9ac26 Author: Aoi Shinkai Date: Wed Dec 10 13:30:28 2008 +0900 sh: Delete unnecessary mov in the interrupt exception entry point. The INTEVT read at interrupt exception entry is uneccessary, as the read is deferred until we are ready to enter do_IRQ(). The kgdb nmi path still requires it, so move it there. Signed-off-by: Aoi Shinkai Signed-off-by: Paul Mundt commit 06be3724548a443a99d703ff79f43d6f1e2975f0 Author: Paul Mundt Date: Mon Dec 8 17:01:40 2008 +0900 sh: Fix an off-by-1 check in __mutex_fastpath_unlock(). Signed-off-by: Paul Mundt commit a47925ffd1b1b22ee004de36e2c8b811910616ba Author: Paul Mundt Date: Mon Dec 8 14:53:28 2008 +0900 sh: Update rsk701_defconfig to reflect mach-rsk changes. Signed-off-by: Paul Mundt commit ff15b9050677b9d63959cbca4c9abe36a05c72c9 Author: Paul Mundt Date: Mon Dec 8 14:46:55 2008 +0900 sh: Enable leds-gpio in rsk7203 defconfig. Signed-off-by: Paul Mundt commit ea0aac1e1327476d2f6a38f08145281237cf1b03 Author: Paul Mundt Date: Mon Dec 8 14:32:03 2008 +0900 sh: Consolidate rsk7203/7201 in to a new mach-rsk. RSK+ platforms have quite a few characteristics in common, so roll them together in to a shiny new RSK mach-type. Signed-off-by: Paul Mundt commit b5cfeac990cc164a3d3422aab88ac5b138fa822d Author: Paul Mundt Date: Mon Dec 8 12:02:28 2008 +0900 sh: Provide ftrace_make_call()/ftrace_make_nop(). Signed-off-by: Paul Mundt commit 4bc3e7192cf9a47d9864c4e8259859be55a480b3 Author: Paul Mundt Date: Mon Dec 8 11:49:19 2008 +0900 sh: Disable -Werror for arch/sh/oprofile/. drivers/oprofile/ objects have proven to be problematic in this regard, so simply disable -Werror for now. Signed-off-by: Paul Mundt commit 3b041227f7ef7c7e97f205c68c6069c0c62e5204 Author: Takashi YOSHII Date: Mon Dec 8 11:33:06 2008 +0900 sh: Add plain udivsi3 (not _i4*) for gcc-4.1 and lower. We chan't share code for udivsi3 and udivsi3_i4, because they have a different clobber list. Copy udivsi3 from gcc-4.1.2. As shown in arch/sh/lib/udivsi3.S (and -Os.S), .global __udivsi3_i4i .global __udivsi3_i4 .global __udivsi3 __udivsi3_i4i: ... Three symbols are sharing one code, which is actually udivsi3_i4i. But, this results unwanted code with gcc 4.1. In gcc, these three are treated as pseudo instructions that have their own clobber list apart from the usual calling convention. According to sh's machine description. The clobber list is as follows: - udivsi3_i4i : t,r1,pr,mach,macl - udivsi3_i4 : t,r0,r1,r4,r5,pr,dr0,dr2,dr4 - udivsi3 : t,r4,pr The caller of udivsi3 will be left with a broken r1 and mac*. gcc-4.1.x and older(at least to 3.4) generate udivsi3. ST's gcc-4.1.1 seems to be OK because it has _i4i. Signed-off-by: Takashi YOSHII Signed-off-by: Paul Mundt commit 1fdae0e59a3fc9e391d2422ddcfbdbdec1e8f724 Author: Nick Andrew Date: Fri Dec 5 14:07:57 2008 +1100 Fix incorrect use of loose in c-checksum.c Fix incorrect use of loose in c-checksum.c It should be 'lose', not 'loose'. Signed-off-by: Nick Andrew Signed-off-by: Paul Mundt commit 77ba93a7ac5fb0d9338bffbf97c787b8efe00806 Author: Paul Mundt Date: Mon Dec 8 11:25:50 2008 +0900 sh: Fix up the SH-4A mutex fastpath semantics. This fixes up the __mutex_fastpath_xxx() routines to match the semantics noted in the comment. Previously these were looping rather than doing a single-pass, which is counter-intuitive, as the slow path takes care of the looping for us in the event of contention. Signed-off-by: Paul Mundt commit c6f17cb2272121475c87592560534b157b17544e Author: Magnus Damm Date: Thu Dec 4 22:45:20 2008 +0900 sh: allow CONFIG_CPU_IDLE Allow users to select CONFIG_CPU_IDLE regardless of processor type or board. Signed-off-by: Magnus Damm Signed-off-by: Paul Mundt commit af998a9a0ae3291e86ddcae8e196a1cbf82c2457 Author: Magnus Damm Date: Thu Dec 4 22:45:12 2008 +0900 sh: allow CONFIG_PM Allow users to select CONFIG_PM regardless of processor type or board. Suspend and hibernation are only allowed on supported platforms. Signed-off-by: Magnus Damm Signed-off-by: Paul Mundt commit 3e51762759db9e26c6c3e4e1010d80a50c62ca03 Author: Magnus Damm Date: Thu Dec 4 22:45:03 2008 +0900 sh: move the hp6xx pm code Move the not-so-generic pm code from arch/sh/kernel/pm.c to the platform directory together with the rest of the hp6xx pm code. This is done to let non-hp6xx platforms enable CONFIG_PM. Signed-off-by: Magnus Damm Signed-off-by: Paul Mundt commit 04645185d06e8b0c92f6f1f9d76ede45637afc09 Author: Magnus Damm Date: Thu Dec 4 18:00:39 2008 +0900 sh: update se7343 defconfig Update the se7343 defconfig with: - use 33MHz PCLK - increase max number of SCIFs - add serial console configuration to compiled-in kernel command line - add 8250 serial port support - add sh-mobile-i2c driver - add uio driver to export VEU and VPU - add usb support and isp1161 host controller - add dm9601 ethernet-over-usb support - remove smc91x support Signed-off-by: Magnus Damm Signed-off-by: Paul Mundt commit 21c601bb2ec79be5c52a99bc6f4b513aff4fa236 Author: Magnus Damm Date: Thu Dec 4 18:00:30 2008 +0900 sh: remove ioport cruft and smc91x from se7343 Remove out-of-date se7343 ioport code including some old support for unknown-ne2000-pcmcia-card, cf-over-pcmcia and a mysterical smc91x that once must have been on a special daughterboard. Signed-off-by: Magnus Damm Signed-off-by: Paul Mundt commit 5e5aacb0de70fa80e8b1a2b803ae9e2ad40b8e52 Author: Magnus Damm Date: Thu Dec 4 18:00:22 2008 +0900 sh: add isp1161 usb host device to se7343 Add isp1161 platform data to get usb host working on se7343. Signed-off-by: Magnus Damm Signed-off-by: Paul Mundt commit 6aacba72dbdadc1445244e366ecf0263a160409e Author: Magnus Damm Date: Thu Dec 4 18:00:11 2008 +0900 sh: add st16c2550 devices to se7343 Add 8250 platform data to setup the ST16C2550C chip on se7343. Signed-off-by: Magnus Damm Signed-off-by: Paul Mundt commit 5727003b5d23eb852c057d25459bba27cbf754c3 Author: Magnus Damm Date: Thu Dec 4 18:00:02 2008 +0900 sh: fix number of interrupts on se7343 Fix to make sure that the on-board interrupt sources are included in the interrupt count on se7343. Signed-off-by: Magnus Damm Signed-off-by: Paul Mundt commit 551ea2b40ecf75e0035406fe75ba995233737e76 Author: Magnus Damm Date: Thu Dec 4 17:59:54 2008 +0900 sh: sh7343 scif configuration update Fix interrupt values for the first sh7343 SCIF port and update the configuration to include the remaining 3 ones. Signed-off-by: Magnus Damm Signed-off-by: Paul Mundt commit 0c0daec7ca4f6a67daeafc4343bb453a4a246dbd Author: Magnus Damm Date: Mon Dec 1 15:40:33 2008 +0900 sh: propagate r_clk Make sure the 32 KHz r_clk rate gets propagated correctly. Without this fix the clocks for RTC, CMT, KEYSC and RWDT are stuck at 0 Hz. Signed-off-by: Magnus Damm Signed-off-by: Paul Mundt commit 6feb348783767e3f38d7612e6551ee8b580ac4e9 Author: Peter Griffin Date: Fri Nov 28 22:56:45 2008 +0900 sh: RSK+ 7201 board support. This patch adds support for the RTE RSK+ 7201 board. Signed-off-by: Peter Griffin Signed-off-by: Paul Mundt commit 2825999e8a9bd7ab7e25a7e7475c7cdd10371a13 Author: Peter Griffin Date: Fri Nov 28 22:48:20 2008 +0900 sh: Add support for SH7201 CPU subtype. This patch adds support for the SH-2A FPU based SH7201 processor subtype. Signed-off-by: Peter Griffin Signed-off-by: Paul Mundt commit 135210b378d26f9a9a0c901d0089522c06b5807a Author: Matt Fleming Date: Fri Nov 28 08:58:30 2008 +0000 sh: Switch HD64461 from hw_interrupt_type to irq_chip Use struct irq_chip for the interrupt handler for the HD64461. Also convert some in{b,w} and out{b,w} calls to the equivalent __raw_* calls. Include and not to stop checkpatch.pl complaining. This change should now allow machines with HD64461 to define GENERIC_HARDIRQS_NO__DO_IRQ. Acked-by: Kristoffer Ericson Signed-off-by: Matt Fleming Signed-off-by: Paul Mundt commit 331ff103c7737294c8ecd7921564dae07b9e4632 Author: Yoshihiro Shimoda Date: Thu Nov 27 18:57:35 2008 +0900 sh: pci-sh7780: fix pci memory address mask Fix the problem that cannot work a PCI device when system memory size is 256Mbyte in 29bit address mode. Signed-off-by: Yoshihiro Shimoda Signed-off-by: Paul Mundt commit 22f131aa8de7a534339bf7051680234462f2e877 Author: Paul Mundt Date: Thu Nov 27 11:04:43 2008 +0900 sh: Provide a dyn_arch_ftrace struct definition. Needed for dynamic ftrace API changes. Signed-off-by: Paul Mundt commit 1da1180c6e28cf21be356e2701978727558fa198 Author: Paul Mundt Date: Wed Nov 26 15:52:44 2008 +0900 sh: Split out the idle loop for reuse between _32/_64 variants. Signed-off-by: Paul Mundt commit eb67cf14ae5c21609c200859d6f3eba71c591569 Author: Paul Mundt Date: Wed Nov 26 15:47:44 2008 +0900 sh: Consolidate cpu_relax()/cpu_sleep() definitions across _32/_64. Signed-off-by: Paul Mundt commit f74c034d52d0f908d5b929423a680962a2586199 Author: Paul Mundt Date: Wed Nov 26 15:22:50 2008 +0900 sh: do not latency trace idle. Description snipped from Steven Rostedt's PPC patch: When idle is called, interrupts are blocked, but the idle function will still wake up on an interrupt. The problem is that the interrupt disabled latency tracer will take this call to idle as a latency. This patch disables the latency tracing when going into idle. Signed-off-by: Paul Mundt commit 75fd24c1073adcd1e8ea43048d946bbfa34dfc64 Author: Paul Mundt Date: Wed Nov 26 15:20:35 2008 +0900 sh: Tidy up backtrace formatting with kallsyms disabled. Signed-off-by: Paul Mundt commit 9cfc9a9b6fff9ea7a19814b4472b3cb18b7bbdcc Author: Paul Mundt Date: Wed Nov 26 14:31:03 2008 +0900 sh: Add a simple code dumper for SUPERH32 show_regs(). This implements a simple show_code() that is in turn plugged in to show_regs() to provide minimal code dumping at the end of the trace. Built on top of a simple instruction disassembler derived from the binutils opcode table. Signed-off-by: Paul Mundt commit edfd6da0405520b147ab1473ad183a5b32be7082 Author: Paul Mundt Date: Wed Nov 26 13:06:04 2008 +0900 sh: Add a few more branch types to the branch emulator. This plugs in some extra encodings for matching more bsr/bsrf/jsr branches. Signed-off-by: Paul Mundt commit 5dd614761f05f56b93c94541aa92e6449920516c Author: Paul Mundt Date: Wed Nov 26 04:21:36 2008 +0900 sh: Re-add support for best fit ISA tuning if none is available. This was removed in the libgcc integration, but there are still some compilers that need this. We also relax the rules on the ISA tuning in the cases where there are no matches for the CPU tuning and adopt the -any default, which matches the intent of the isa-y target list. This compensates for mismatches where binutils supports a wide array of targets whilst the compiler is much more restricted. Signed-off-by: Paul Mundt commit 624c6a6750c502981d92de4579647fe2549451dd Author: Paul Mundt Date: Wed Nov 26 03:44:07 2008 +0900 sh: More movmem alias symbol exports for older compilers. Signed-off-by: Paul Mundt commit 95b781c239f53b4c7ecaf2989404ec6379b2409b Author: Paul Mundt Date: Wed Nov 26 00:29:58 2008 +0900 sh: Provide optimized unaligned loads on SH-4A. This adds support for unaligned loads on SH-4A, using the SH-4A's neutered movua.l instruction. As movua.l is r0-inspired, stores are still handled through the packed struct. Based on asm-generic/unaligned.h by Harvey Harrison. Signed-off-by: Paul Mundt commit 716777db7270255f1f7210fd87a7188b08c9a267 Author: Magnus Damm Date: Tue Nov 25 21:57:29 2008 +0900 sh: P4 ioremap pass-through This patch adds a pass-through case when ioremapping P4 addresses. Addresses passed to ioremap() should be physical addresses, so the best option is usually to convert the virtual address to a physical address before calling ioremap. This will give you a virtual address in P2 which matches the physical address and this works well for most internal hardware blocks on the SuperH architecture. However, some hardware blocks must be accessed through P4. Converting the P4 address to a physical and then back to a P2 does not work. One example of this is the sh7722 TMU block, it must be accessed through P4. Without this patch P4 addresses will be mapped using PTEs which requires the page allocator to be up and running. Signed-off-by: Magnus Damm Signed-off-by: Paul Mundt commit 0c9122323acb0c3410dfbd219cb47f4c2e9305e3 Author: Michael Trimarchi Date: Tue Nov 25 21:37:14 2008 +0900 sh: Add SH-4A optimized fastpath mutex implementation. Add fast mutex path implementation for the SH4A architecture Signed-off-by: Michael Trimarchi Signed-off-by: Paul Mundt commit 5c72f303a2b7862dbba79f4176ddc922a440b567 Author: Nobuhiro Iwamatsu Date: Fri Nov 21 14:35:29 2008 +0900 sh: sh7760fb: Add support SH7720/SH7721 of Renesas SH7720 and 7721 has IP of Frame Buffer same as SH7760. This driver can support these. Signed-off-by: Nobuhiro Iwamatsu Signed-off-by: Paul Mundt commit 679dc3c92ca7894c3df70ee3333ff9878e7d90b9 Author: Nobuhiro Iwamatsu Date: Fri Nov 21 14:34:25 2008 +0900 sh: sh7760fb: Fix color pallette setting The setting of the color palette was wrong, fixed it. And removed fb_setcmap, and added fb_setcolreg function. Signed-off-by: Nobuhiro Iwamatsu Signed-off-by: Paul Mundt commit f617682e9cabd5616dc2fe53c67762790eeb14d3 Author: Steve Glendinning Date: Sun Nov 23 15:00:31 2008 +0000 sh: add SH DMAC burst mode constant The SH7709 datasheet defines bit 5 as set for burst mode, clear for cycle-steal mode. Signed-off-by: Steve Glendinning Signed-off-by: Paul Mundt commit c2c5883b3fce61388eb02ca328072400eb54769c Author: Steve Glendinning Date: Sun Nov 23 14:27:22 2008 +0000 sh: fix DMAOR register access on SH7709 sh7709 hardware manual says DMAOR is 16 bits long on this platform. Tested and working with a modified smsc911x ethernet driver (sh-dma support patch for this driver is coming soon). Signed-off-by: Steve Glendinning Signed-off-by: Paul Mundt commit 8085ac753164f45fd23603e7cad85a4c985cbf75 Author: Steve Glendinning Date: Sun Nov 23 14:27:21 2008 +0000 sh: Add platform-specific constants for SH7709 I'm using these constants in support of an in-house development board, and thought they may be useful to other users of SH7709. Signed-off-by: Steve Glendinning Signed-off-by: Paul Mundt commit 0d5bbe0bc2583c4dc06ea00adccf07c3acd1481d Author: Paul Mundt Date: Tue Nov 25 21:22:02 2008 +0900 sh: Provide optimized non-atomic bitops for SH-2A. This ties in the new SH-2A 32-bit non-atomic bitops. Signed-off-by: Paul Mundt commit 8bcc5c1c332af97ba731f99fda780a47911e476f Author: Paul Mundt Date: Thu Nov 20 15:28:47 2008 +0900 sh: Add -m4al tuning for SH4AL-DSP. Signed-off-by: Paul Mundt commit 9ef100287afa8e134de50258b8382cbc9d20f954 Author: Paul Mundt Date: Thu Nov 20 15:26:35 2008 +0900 sh: Add exports for __udivsi3/__sdivsi3 and the _i4 versions. Needed by older compilers. Signed-off-by: Paul Mundt commit 16b529d1d78060254d5bc735390915ca5ccf13a1 Author: Paul Mundt Date: Thu Nov 20 15:25:22 2008 +0900 sh: Convert to generic bitops for IRQ-toggling implementation. Signed-off-by: Paul Mundt commit 709420dd4e75083ee7920e61c2d0bcc3db9b7405 Author: Paul Mundt Date: Tue Nov 18 17:35:45 2008 +0900 sh: Specify sane default image targets for the SH-2 platforms. Signed-off-by: Paul Mundt commit 1aad54a99b6ce316c851ba99b2efe41998cfd37d Author: Paul Mundt Date: Tue Nov 18 17:33:48 2008 +0900 sh: Migrate necessary libgcc bits in to arch/sh/lib for SUPERH32. This moves in the necessary libgcc bits for SUPERH32 and drops the libgcc linking for the regular targets. This in turn allows us to rip out quite a few hacks both in sh_ksyms_32 and arch/sh/Makefile. Signed-off-by: Paul Mundt commit e9bf51e5ccc7703226c79888603e157066213700 Author: Paul Mundt Date: Tue Nov 18 14:22:39 2008 +0900 sh: __udivdi3 -> do_div() in softfloat lib. Inhibit the generation of __udivdi3 for the softfloat lib, use do_div() outright. Signed-off-by: Paul Mundt commit 00e825c6b99b39f12751ea45d38bb4d900de70f4 Author: Paul Mundt Date: Tue Nov 18 14:21:34 2008 +0900 sh: Fix clock framework compiler warnings. CC arch/sh/kernel/cpu/clock.o arch/sh/kernel/cpu/clock.c: In function 'clk_disable': arch/sh/kernel/cpu/clock.c:156: warning: 'return' with a value, in function returning void Introduced by ("sh: enable and disable clocks recursively"). Signed-off-by: Paul Mundt commit d6435102d4ca3b5655c0105abe924abec17ffeb8 Author: Paul Mundt Date: Tue Nov 18 12:40:39 2008 +0900 usb: Fix up sh_mobile usbf clock framework warnings. drivers/usb/gadget/m66592-udc.c: In function 'm66592_probe': drivers/usb/gadget/m66592-udc.c:1672: warning: label 'clean_up2' defined but not used drivers/usb/host/r8a66597-hcd.c: In function 'r8a66597_probe': drivers/usb/host/r8a66597-hcd.c:2401: warning: label 'clean_up2' defined but not used Added by commit 985fc7c81c7852f2e104c71cbe913ace683c9e6a ("sh: sh_mobile usbf clock framework support"). Reported-by: Stephen Rothwell Signed-off-by: Paul Mundt commit e7c98dc76d5823444059205e0c7aca49743679f3 Author: Michael Trimarchi Date: Thu Nov 13 18:18:35 2008 +0900 serial: sh-sci: Codestyle cleanup patch. Trivial coding style cleanups. Signed-off-by: Michael Trimarchi Signed-off-by: Paul Mundt commit af505b1eab55445e832bebbe5686f5bd22f1b717 Author: Paul Mundt Date: Thu Nov 13 12:20:26 2008 +0900 media: sh_mobile_ceu_camera: Add HAVE_CLK dependency. Signed-off-by: Paul Mundt commit fad57feba77d2e5b183e068cb6b90693e4567b40 Author: Matt Fleming Date: Wed Nov 12 20:11:47 2008 +0900 sh: dynamic ftrace support. First cut at dynamic ftrace support. Signed-off-by: Matt Fleming Signed-off-by: Paul Mundt commit ef6aff6884408db95ceb0f678f583536e0bd48f8 Author: Magnus Damm Date: Fri Oct 31 20:24:01 2008 +0900 sh: remove old sh_mobile mstpc clocks Remove the old sh_mobile mstpcr clocks. Signed-off-by: Magnus Damm Signed-off-by: Paul Mundt commit b51339fff240ff179730f8963a758147fd60f3ec Author: Magnus Damm Date: Fri Oct 31 20:23:26 2008 +0900 sh: sh_mobile lcdc clock framework support Add clock framework support to the lcdc driver and adjust the board specific code accordingly. Signed-off-by: Magnus Damm Signed-off-by: Paul Mundt commit 765786e0aead7faf6c333176d22948c6f155fff1 Author: Magnus Damm Date: Fri Oct 31 20:22:38 2008 +0900 sh: sh_mobile usb clock framework support Add clock framework support to the usb/r8a66597 driver and adjust the cpu specific code accordingly. Signed-off-by: Magnus Damm Signed-off-by: Paul Mundt commit af5be79a7f8d7067588dc2863d37f7cd22e5f2de Author: Magnus Damm Date: Fri Oct 31 20:22:13 2008 +0900 sh: sh_mobile usbf clock framework support Add clock framework support to the usbf/m66592 driver and adjust the cpu specific code accordingly. Signed-off-by: Magnus Damm Signed-off-by: Paul Mundt commit a42b6dd69cb1c61c5f5a24061a227c22071786de Author: Magnus Damm Date: Fri Oct 31 20:21:44 2008 +0900 sh: sh_mobile ceu clock framework support Add clock framework support to the sh_mobile ceu and adjust the board specific code accordingly. Signed-off-by: Magnus Damm Signed-off-by: Paul Mundt commit 090d951b69f29a8d5777c63570d4cd61d7efeb22 Author: Magnus Damm Date: Fri Oct 31 20:21:23 2008 +0900 sh: sh_mobile keysc clock framework support Add clock framework support to the sh_mobile keysc driver and adjust the board specific code accordingly. Signed-off-by: Magnus Damm Signed-off-by: Paul Mundt commit a5616bd0f19730a780c354110454ce37209f1ded Author: Magnus Damm Date: Fri Oct 31 20:20:55 2008 +0900 sh: sh_mobile i2c clock framework support Add clock framework support to the sh_mobile i2c driver and adjust the processor specific code accordingly. Signed-off-by: Magnus Damm Signed-off-by: Paul Mundt commit f2eb0109fb4268505b0737cfe661542eb6151907 Author: Magnus Damm Date: Fri Oct 31 20:20:23 2008 +0900 sh: sh_mobile mstpcr clocks for sh7366 Add sh7366 mstpcr bits and information about their parent clocks. The datasheet is pretty clear about the clocks on this device. Signed-off-by: Magnus Damm Signed-off-by: Paul Mundt commit 6e88d030a1491ec0f130dc4765d06b22f7db6610 Author: Magnus Damm Date: Fri Oct 31 20:19:38 2008 +0900 sh: sh_mobile mstpcr clocks for sh7343 Add sh7343 mstpcr bits and information about their parent clocks. Signed-off-by: Magnus Damm Signed-off-by: Paul Mundt commit f14c017d6b2e9e97b0d5f0b33f573797dde4d4f1 Author: Magnus Damm Date: Fri Oct 31 20:16:08 2008 +0900 sh: sh_mobile mstpcr clocks for sh7723 Add sh7723 mstpcr bits and information about their parent clocks. The datasheet is pretty clear about the clocks on this device. Signed-off-by: Magnus Damm Signed-off-by: Paul Mundt commit ecf399bdafb83b6c0091837dd2a0612470e9c8d2 Author: Magnus Damm Date: Fri Oct 31 20:15:48 2008 +0900 sh: sh_mobile mstpcr clocks for sh7722 Add sh7722 mstpcr bits and information about their parent clocks. Signed-off-by: Magnus Damm Signed-off-by: Paul Mundt commit 7c7e02a28b4e7212dcdcc24bbd2b137790504a84 Author: Magnus Damm Date: Fri Oct 31 20:15:07 2008 +0900 sh: new sh_mobile mstpcr clocks base code Add base code to handle new mstpcr clocks. Make sure clock rates propagate. Signed-off-by: Magnus Damm Signed-off-by: Paul Mundt commit 1dc7b776d91ac9f016982e418e74cb14f63c5b02 Author: Magnus Damm Date: Fri Oct 31 20:14:28 2008 +0900 sh: use arch_flags for sh_mobile mstpcr clock bits Use arch_flags to keep track of register and flag number. Signed-off-by: Magnus Damm Signed-off-by: Paul Mundt commit d902d04f5410176bdec77bfefa032516326eb542 Author: Magnus Damm Date: Fri Oct 31 20:14:03 2008 +0900 sh: sh_mobile clock divider index fix Use divider index value instead of divider value. Signed-off-by: Magnus Damm Signed-off-by: Paul Mundt commit d12cfac146d2b512496bf974b83ee1210032065f Author: Magnus Damm Date: Fri Oct 31 20:13:32 2008 +0900 sh: enable and disable clocks recursively Recurse and make sure parent clocks get enabled/disabled. Signed-off-by: Magnus Damm Signed-off-by: Paul Mundt commit 4a4a9be3ebdbf17957d29e3521f328a1145f9431 Author: Paul Mundt Date: Wed Nov 12 13:17:38 2008 +0900 sh: Move arch_get_unmapped_area() in to arch/sh/mm/mmap.c. Now that arch/sh/mm/mmap.c exists, move arch_get_unmapped_area() there. Follows the ARM change. Signed-off-by: Paul Mundt commit efc557570dc99b46e46a7be51c3c7402b485e829 Author: Christoph Hellwig Date: Wed Dec 17 12:27:36 2008 -0500 [XFS] avoid memory allocations in xfs_fs_vcmn_err xfs_fs_vcmn_err can be called under a spinlock, but does a sleeping memory allocation to create buffer for it's internal sprintf. Fortunately it's the only caller of icmn_err, so we can merge the two and have one single static buffer and spinlock protecting it. While we're at it make sure we proper __attribute__ format annotations so that the compiler can detect mismatched format strings. Reported-by: Alexander Beregalov Signed-off-by: Christoph Hellwig Reviewed-by: Eric Sandeen Signed-off-by: Lachlan McIlroy commit 9f6c92b9cc2fd41d6c7b493be5637cc5b5659880 Author: Lachlan McIlroy Date: Mon Dec 22 17:56:49 2008 +1100 [XFS] Fix speculative allocation beyond eof Speculative allocation beyond eof doesn't work properly. It was broken some time ago after a code cleanup that moved what is now xfs_iomap_eof_align_last_fsb() and xfs_iomap_eof_want_preallocate() out of xfs_iomap_write_delay() into separate functions. The code used to use the current file size in various checks but got changed to be max(file_size, i_new_size). Since i_new_size is the result of 'offset + count' then in xfs_iomap_eof_want_preallocate() the check for '(offset + count) <= isize' will always be true. ie if 'offset + count' is > ip->i_size then isize will be i_new_size and equal to 'offset + count'. This change fixes all the places that used to use the current file size. Reviewed-by: Christoph Hellwig Signed-off-by: Lachlan McIlroy commit 4fdc7781799926dca6c3a3bb6e9533a9718c4dea Author: Lachlan McIlroy Date: Mon Dec 22 17:52:58 2008 +1100 [XFS] Remove XFS_BUF_SHUT() and friends Code does nothing so remove it. Reviewed-by: Christoph Hellwig Signed-off-by: Lachlan McIlroy commit d415867e0abc35e3b2f0d4196e98c339d6fe29a2 Author: Lachlan McIlroy Date: Mon Dec 22 17:50:56 2008 +1100 [XFS] Use the incore inode size in xfs_file_readdir() We should be using the incore inode size here not the linux inode size. The incore inode size is always up to date for directories whereas the linux inode size is not updated for directories. We've hit assertions in xfs_bmap() and traced it back to the linux inode size being zero but the incore size being correct. Reviewed-by: Christoph Hellwig Signed-off-by: Lachlan McIlroy commit 826e08b0157c0ce8a80dfe3c0a6c5a1540dd0b1d Author: Ingo Molnar Date: Mon Dec 22 07:37:41 2008 +0100 sched: fix warning in fs/proc/base.c Stephen Rothwell reported this new (harmless) build warning on platforms that define u64 to long: fs/proc/base.c: In function 'proc_pid_schedstat': fs/proc/base.c:352: warning: format '%llu' expects type 'long long unsigned int', but argument 3 has type 'u64' asm-generic/int-l64.h platforms strike again: that file should be eliminated. Fix it by casting the parameters to long long. Reported-by: Stephen Rothwell Signed-off-by: Ingo Molnar commit 27a0464a6cb837d3a90b6e69365dfc01cb0dff2f Merge: 4d9d4eb 3d44cc3 Author: Lachlan McIlroy Date: Mon Dec 22 17:34:26 2008 +1100 [XFS] Fix merge conflict in fs/xfs/xfs_rename.c Merge git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux-2.6 Conflicts: fs/xfs/xfs_rename.c Signed-off-by: Lachlan McIlroy commit d3d317092b58a6df1d31a4ca90cdb9d2bd4ebffa Author: Matt Carlson Date: Sun Dec 21 20:21:52 2008 -0800 tg3: Update version to 3.97 This patch updates the version number to 3.97. Signed-off-by: Matt Carlson Signed-off-by: Benjamin Li Signed-off-by: Michael Chan Signed-off-by: David S. Miller commit aa10f27d99410cff9145bf91b6efc884c7a4871c Author: Matt Carlson Date: Sun Dec 21 20:21:18 2008 -0800 tg3: tg3.h cleanups This patch cleans up the tg3 header file by removing the preprocessor definitions for standard PCI configuration space registers. The driver should be using the standard definitions when needed. The patch continues by removing redundant PHY related definitions and reorganizes some of the remaining entries. Signed-off-by: Matt Carlson Signed-off-by: Benjamin Li Signed-off-by: Michael Chan Signed-off-by: David S. Miller commit 69fc405318967c7913e5b55cf3906250a26b49d0 Author: Matt Carlson Date: Sun Dec 21 20:19:57 2008 -0800 tg3: Remove unused cfgspc device members This patch removes the pci_bist and pci_hdr_type members from the device structure and removes the code that references them. They are not really used. The patch rounds out the changes by moving the pci_cmd member to plug a structure hole that would have been created. On 32-bit systems, this movement removes a subsequent structure hole later in the structure. On 64-bit systems though, the movement merely consolidates two holes into one larger hole. Signed-off-by: Matt Carlson Signed-off-by: Benjamin Li Signed-off-by: Michael Chan Signed-off-by: David S. Miller commit 027455adacdc142cc018e555ce391014fa227e70 Author: Matt Carlson Date: Sun Dec 21 20:19:30 2008 -0800 tg3: Cleanup IPV6 LSO This patch attempts to make the relationship between IPV6 checksum offload and IPV6 LSO more obvious. The patch also toggles a bit needed for IPV6 LSO on 5785 and 57780 devices. Signed-off-by: Matt Carlson Signed-off-by: Benjamin Li Signed-off-by: Michael Chan Signed-off-by: David S. Miller commit 2023276ebf074a01eb56f38ed4d04deef1deee67 Author: Matt Carlson Date: Sun Dec 21 20:18:56 2008 -0800 tg3: WOL fixes The first hunk of this patch inverts a flag that was accidentally toggled as part of commit 0a459aac9d151c2e36ec65723b9b845b24c5cbc3 ("tg3: Allow WOL for phylib controlled Broadcom phys"). The second hunk of the patch removes the call to device_may_wakeup() in the 5906 config detection path. At the point of the call, the driver shouldn't be querying for WOL capability. It should be detecting and setting it. Signed-off-by: Matt Carlson Signed-off-by: Benjamin Li Signed-off-by: Michael Chan Signed-off-by: David S. Miller commit 7f3ff4f63f76c2702da6041d2da5eb30fac407f6 Author: Jarek Poplawski Date: Sun Dec 21 20:14:48 2008 -0800 pkt_sched: Annotate uninitialized var in sfq_enqueue() Some gcc versions warn that ret may be used uninitialized in sfq_enqueue(). It's a false positive, so let's annotate this. Signed-off-by: Jarek Poplawski Signed-off-by: David S. Miller commit bfb8cc31b11ccaf7cd55fd9e0f4794f82527948f Author: Don Skidmore Date: Sun Dec 21 20:11:04 2008 -0800 ixgbe: fix the display of DCB control stats in ethtool Priority flow contol statistics for Data Center Bridging (DCB) weren't included in ethtool. This patch adds them. Signed-off-by: Don Skidmore Signed-off-by: Eric W Multanen Signed-off-by: Jeff Kirsher Signed-off-by: David S. Miller commit f4314e815e87b4ab1c9b1115dd5853cd20ca999c Author: Don Skidmore Date: Sun Dec 21 20:10:29 2008 -0800 net: add DCNA attribute to the BCN interface for DCB Adds the Backward Congestion Notification Address (BCNA) attribute to the Backward Congestion Notification (BCN) interface for Data Center Bridging (DCB), which was missing. Receive the BCNA attribute in the ixgbe driver. The BCNA attribute is for a switch to inform the endstation about the physical port identification in order to support BCN on aggregated links. Signed-off-by: Don Skidmore Signed-off-by: Eric W Multanen Signed-off-by: Jeff Kirsher commit 1486a61ebcd2711532f8163d30babc40e11e7b40 Author: Don Skidmore Date: Sun Dec 21 20:09:50 2008 -0800 net: fix DCB setstate to return success/failure Data Center Bridging (DCB) had no way to know if setstate had failed in the driver. This patch enables dcb netlink code to handle the status for the DCB setstate interface. Likewise it allows the driver to return a failed status if MSI-X isn't enabled. Signed-off-by: Don Skidmore Signed-off-by: Eric W Multanen Signed-off-by: Jeff Kirsher Signed-off-by: David S. Miller commit c2da953a46b18b7515ad476c1c1686640a12e93a Merge: c94cb31 9cf7f24 Author: David S. Miller Date: Sun Dec 21 19:57:10 2008 -0800 Merge branch 'master' of git://git.kernel.org/pub/scm/linux/kernel/git/linville/wireless-next-2.6 commit 59f8500efb05096484a55263109acab6a6df89d5 Author: Krzysztof Hałasa Date: Mon Dec 22 02:00:17 2008 +0100 Convert ixp4xx_eth driver to use net_device_ops. Signed-off-by: Krzysztof Hałasa commit 4cb56b685617732733d4d9dffbf8c5a81d4a0c71 Author: Julia Lawall Date: Sun Dec 21 16:39:15 2008 +0100 drivers/net/wan: Remove redundant test arg is checked not to be NULL a few lines before. A simplified version of the semantic patch that makes this change is as follows: (http://www.emn.fr/x-info/coccinelle/) // @r exists@ local idexpression x; expression E; position p1,p2; @@ if (x@p1 == NULL || ...) { ... when forall return ...; } ... when != \(x=E\|x--\|x++\|--x\|++x\|x-=E\|x+=E\|x|=E\|x&=E\|&x\) ( x@p2 == NULL | x@p2 != NULL ) // another path to the test that is not through p1? @s exists@ local idexpression r.x; position r.p1,r.p2; @@ ... when != x@p1 ( x@p2 == NULL | x@p2 != NULL ) @fix depends on !s@ position r.p1,r.p2; expression x,E; statement S1,S2; @@ ( - if ((x@p2 != NULL) || ...) S1 | - if ((x@p2 == NULL) && ...) S1 | - BUG_ON(x@p2 == NULL); ) // Signed-off-by: Julia Lawall Signed-off-by: Krzysztof Hałasa commit 93bc933524d05e3b391358e24b3666599f8ec026 Author: Krzysztof Hałasa Date: Wed Nov 26 23:06:57 2008 +0100 HDLC_PPP: Fix Configure-Ack to return original options as required by the standard. Signed-off-by: Krzysztof Hałasa commit e6da96ace859dad966fe85cc9552b89f48bbc930 Author: Krzysztof Hałasa Date: Mon Dec 22 00:26:38 2008 +0100 IXP4xx: move common debugging from network drivers to QMGR module. Signed-off-by: Krzysztof Hałasa commit 9251ce959cab704eb0e4910860b06b18e7083474 Author: Krzysztof Hałasa Date: Sun Dec 21 23:52:36 2008 +0100 Update MAINTAINERS entries for IXP4xx and WAN network drivers. Signed-off-by: Krzysztof Hałasa commit f5b89e41ce7a980aa2fd8ad105626b9ed4e8d347 Author: Krzysztof Hałasa Date: Sun Dec 21 23:52:18 2008 +0100 WAN: Add IXP4xx HSS HDLC driver. Signed-off-by: Krzysztof Hałasa commit 490b77224fe66c77ab7cb48d6b77e62cb55591a0 Author: Krzysztof Hałasa Date: Sun Dec 21 00:02:34 2008 +0100 IXP4xx: Add ethtool support to Ethernet driver. Signed-off-by: Krzysztof Hałasa commit 4954936e25cb8ce99a96cac9dd9417d7b639867a Author: Krzysztof Hałasa Date: Sat Dec 20 18:57:23 2008 +0100 IXP4xx: Add PHYLIB MII ioctl to the Ethernet driver. Signed-off-by: Krzysztof Hałasa commit 2098c18d6cf65358dd1620154bdedbc8c8d36f44 Author: Krzysztof Hałasa Date: Sat Dec 20 01:53:08 2008 +0100 IXP4xx: Add PHYLIB support to Ethernet driver. Signed-off-by: Krzysztof Hałasa commit b4c7d3b07257528d3c0bfd07c5b38b48beb9b6d1 Author: Krzysztof Hałasa Date: Sat Dec 20 01:58:59 2008 +0100 IXP4xx: Make the Ethernet driver use built-in netdev stats. Signed-off-by: Krzysztof Hałasa commit 3c36a837a960ccbff05fa773a495c389fbd42f0e Author: Krzysztof Hałasa Date: Wed Nov 26 22:59:18 2008 +0100 IXP4xx: Silence section mismatch warning in Ethernet driver. Signed-off-by: Krzysztof Hałasa commit ae2754a975694a3865788e303b741d0f616bc43a Author: Krzysztof Hałasa Date: Fri May 9 02:14:09 2008 +0200 IXP4xx: clear IRQ stat in qmgr_disable_irq(). Signed-off-by: Krzysztof Hałasa commit 3edcfb2937054fb546ecf3a8883675751db16c6f Author: Krzysztof Hałasa Date: Thu May 8 23:18:31 2008 +0200 IXP4xx: check for queue being empty in qmgr_release_queue(). Signed-off-by: Krzysztof Hałasa commit bba7ebba3b17f4fe8c5907a32e16d9bd3fcf5192 Author: David Disseldorp Date: Sun Dec 21 13:56:50 2008 -0800 IB/iser: Avoid recv buffer exhaustion caused by unexpected PDUs iSCSI/iSER targets may send PDUs without a prior request from the initiator. RFC 5046 refers to these PDUs as "unexpected". NOP-In PDUs with itt=RESERVED and Asynchronous Message PDUs occupy this category. The amount of active "unexpected" PDU's an iSER target may have at any time is governed by the MaxOutstandingUnexpectedPDUs key, which is not yet supported. Currently when an iSER target sends an "unexpected" PDU, the initiators recv buffer consumed by the PDU is not replaced. If over initial_post_recv_bufs_num "unexpected" PDUs are received then the receive queue will run out of receive work requests entirely. This patch ensures recv buffers consumed by "unexpected" PDUs are replaced in the next iser_post_receive_control() call. Signed-off-by: David Disseldorp Signed-off-by: Ken Sandars Acked-by: Or Gerlitz Signed-off-by: Roland Dreier commit 139cdab0a2af6f5eaee47cc0144608e53b65279d Author: Julia Lawall Date: Sun Dec 21 13:29:13 2008 -0800 IB/ehca: Remove redundant test of vpage vpage is checked not to be NULL just after it is initialized at the beginning of each loop iteration. A simplified version of the semantic patch that makes this change is as follows: (http://www.emn.fr/x-info/coccinelle/) // @r exists@ local idexpression x; expression E; position p1,p2; @@ if (x@p1 == NULL || ...) { ... when forall return ...; } ... when != \(x=E\|x--\|x++\|--x\|++x\|x-=E\|x+=E\|x|=E\|x&=E\|&x\) ( x@p2 == NULL | x@p2 != NULL ) // another path to the test that is not through p1? @s exists@ local idexpression r.x; position r.p1,r.p2; @@ ... when != x@p1 ( x@p2 == NULL | x@p2 != NULL ) @fix depends on !s@ position r.p1,r.p2; expression x,E; statement S1,S2; @@ ( - if ((x@p2 != NULL) || ...) S1 | - if ((x@p2 == NULL) && ...) S1 | - BUG_ON(x@p2 == NULL); ) // Signed-off-by: Julia Lawall Signed-off-by: Roland Dreier commit d83a12a40915774332cec625856c2e7ba9033e15 Author: Russell King Date: Sun Dec 21 15:02:07 2008 +0000 [ARM] s3c: S3C options should depend on PLAT_S3C This avoids non-Samsung builds being asked about Samsung specific configuration options. Signed-off-by: Russell King commit 418441d9ebe84b205cb23eb0ab214c1f991621fe Author: Wolfram Sang Date: Sun Dec 21 02:54:32 2008 -0700 powerpc/mpc5200: fix error paths in PSC UART probe function - error cases for mapbase and irq were unbundled - mapped irq now gets disposed on error Signed-off-by: Wolfram Sang Signed-off-by: Grant Likely commit aec739e010f8163eac225f4e331ac7fbd59ac5c8 Author: Wolfram Sang Date: Sun Dec 21 02:54:32 2008 -0700 powerpc/mpc5200: add rts/cts handling in PSC UART driver Add RTS/CTS-support for the PSC of the MPC5200B. Tested with a Phytec MPC5200B-IO. Signed-off-by: Wolfram Sang Signed-off-by: Grant Likely commit b65149880d0467287fa4c7b4f19953392323f4ac Author: René Bürgel Date: Sun Dec 21 02:54:31 2008 -0700 powerpc/mpc5200: Make PSC UART driver update serial errors counters This patch adds the capability to the mpc52xx-uart to report framing errors, parity errors, breaks and overruns to userspace. These values may be requested in userspace by using the ioctl TIOCGICOUNT. Signed-off-by: René Bürgel Signed-off-by: Grant Likely commit e51f47a5c695b76905aadc2be47c7dc774f3e5af Author: Wolfram Sang Date: Sun Dec 21 02:54:30 2008 -0700 powerpc/mpc5200: Remove obsolete code from mpc5200 MDIO driver As this driver polls for a complete MDIO transaction, there is no need to enable interrupts for it. Furthermore, make both checks for freeing MDIO-bus irqs consistent. Signed-off-by: Wolfram Sang Signed-off-by: Grant Likely commit 6b61e69e7bc1cfe80ab54c6321f19061f9487ed3 Author: Tim Yamin Date: Sun Dec 21 02:54:29 2008 -0700 powerpc/mpc5200: Add MDMA/UDMA support to MPC5200 ATA driver This patch adds MDMA/UDMA support using BestComm for DMA on the MPC5200 platform. Based heavily on previous work by Freescale (Bernard Kuhn, John Rigby) and Domen Puncer. With this patch, a SanDisk Extreme IV CF card gets read speeds of approximately 26.70 MB/sec. Signed-off-by: Tim Yamin Signed-off-by: Grant Likely commit aaab5e83c2c25d94f7409bdc947a5cc383514e15 Author: Grant Likely Date: Sun Dec 21 02:54:28 2008 -0700 powerpc/mpc5200: Disable bestcomm prefetching when ATA DMA enabled When ATA DMA is enabled, bestcomm prefetching does not work. This patch adds a function to disable bestcomm prefetch when the ATA Bestcomm task is initialized. Signed-off-by: Grant Likely commit e4efe3c271c5498ffe7e167eaff01514be2b9a77 Author: Tim Yamin Date: Sun Dec 21 02:54:28 2008 -0700 powerpc/mpc5200: Bestcomm fixes to ATA support 1) ata.h has dst_pa in the wrong place (needs to match what the BestComm task microcode in bcom_ata_task.c expects); fix it. 2) The BestComm ATA task priority was changed to maximum in bestcomm_priv.h; this fixes a deadlock issue experienced with heavy DMA occurring on both the ATA and Ethernet BestComm tasks, e.g. when downloading a large file over a LAN to disk. Signed-off-by: Tim Yamin Signed-off-by: Grant Likely commit 622882455aa718cfbd6785cc5fbc479f1d976095 Author: Grant Likely Date: Sun Dec 21 02:54:27 2008 -0700 powerpc/mpc5200: Bugfix on handling variable sized buffer descriptors The buffer descriptors for the ATA BestComm task are larger than the current definition for bcom_bd. This causes problems because the various bcom_... functions dereference the buffer descriptor pointer by using the array operator which doesn't work when the buffer descriptors are a different size. This patch adds the bcom_get_bd() function which uses the value in bcom_task.bd_size to calculate the offset into the BD table. This patch also changes the definition of bcom_bd to specify a data size of 0 instead of 1 so that it will never work if anyone attempts to dereference the bd list as an array (as opposed to something that might work even though it is wrong). Finally, this patch moves the definition of bcom_bd up in the file to eliminate a forward declaration. Based on patch originally written by Tim Yamin. Signed-off-by: Tim Yamin Signed-off-by: Grant Likely commit dd952cbb3dae9ea2dc47cc902b796e1e2bf806f0 Author: Grant Likely Date: Sun Dec 21 02:54:27 2008 -0700 powerpc/mpc5200: Make internal 5200 PIC the default interrupt controller The MPC5200 internal interrupt controller setup function needs to set the default interrupt controller when it is called. Without this irq_create_of_mapping() cannot be called without first determining the pointer to the irq controller (ie. call with controller = NULL). Reported-by: Steven Cavanagh Signed-off-by: Grant Likely commit bcb73f5611c1946db768a1c219d205b3bf90f4a5 Author: Grant Likely Date: Sun Dec 21 02:54:26 2008 -0700 powerpc/mpc5200: Document and tidy irq driver This patch adds documentation to the mpc5200 interrupt controller driver and cleans up some minor coding conventions. It also moves the contents of mpc52xx_pic.h into the driver proper (except for a small common bit that is moved to the common mpc52xx.h) because the information encoded there is not required by any other part of kernel code. Finally for code readability sake, the L2_OFFSET shift value is removed because the code using it resolves to a noop. Signed-off-by: Grant Likely commit a14953597b771f793ce32529d7b8b04fdedca3ef Author: Benjamin Herrenschmidt Date: Sun Dec 21 02:54:25 2008 -0700 powerpc: Fix missing 'blr' in _tlbia() Rework to MMU code dropped a much missed 'blr' instruction. Brown-Paper-Bag-Worn-By: Benjamin Herrenschmidt Signed-off-by: Grant Likely commit 3ddeb912f41801fd1968c7880d031702a396e4d0 Author: Lai Jiangshan Date: Sat Dec 20 17:15:14 2008 +0800 ftrace: enable format arguments checking Impact: broaden gcc printf format checks for ftrace_printk() format arguments checking for ftrace_printk() is __printf(1, 2), not __printf(1, 0). Signed-off-by: Lai Jiangshan Signed-off-by: Ingo Molnar commit 49e6e3f1aec2d46f5865d3ada38fe9a5d660ef5d Author: Scott Wood Date: Fri Dec 19 10:13:09 2008 +0000 powerpc/bootwrapper: Use the child-bus #address-cells to decide which range entry to use The correct #address-cells was still used for the actual translation, so the impact is only a possibility of choosing the wrong range entry or failing to find any match. Most common cases were not affected. Signed-off-by: Scott Wood Signed-off-by: Paul Mackerras commit e14d77490d3e1da833cff4fee52674c52684ce77 Author: Grant Erickson Date: Fri Dec 19 08:17:54 2008 +0000 powerpc: Const-qualify Device Node Argument to DCR Resource Extent API Add const qualifier to device_node argument for dcr_resource_{start,len} as of_get_property also const-qualifies this argument. Signed-off-by: Grant Erickson Signed-off-by: Paul Mackerras commit 9dce3ce5c55c848f00429005a46fd6246cfabfbe Author: Benjamin Herrenschmidt Date: Thu Dec 18 19:13:54 2008 +0000 powerpc/44x: 44x TLB doesn't need "Guarded" set for all pages After discussing with chip designers, it appears that it's not necessary to set G everywhere on 440 cores. The various core errata related to prefetch should be sorted out by firmware by disabling icache prefetching in CCR0. We add the workaround to the kernel however just in case oooold firmwares don't do it. This is valid for -all- 4xx core variants. Later ones hard wire the absence of prefetch but it doesn't harm to clear the bits in CCR0 (they should already be cleared anyway). We still leave G=1 on the linear mapping for now, we need to stop over-mapping RAM to be able to remove it. Signed-off-by: Benjamin Herrenschmidt Acked-by: Kumar Gala Acked-by: Josh Boyer Signed-off-by: Paul Mackerras commit 64b3d0e8122b422e879b23d42f9e0e8efbbf9744 Author: Benjamin Herrenschmidt Date: Thu Dec 18 19:13:51 2008 +0000 powerpc/mm: Rework usage of _PAGE_COHERENT/NO_CACHE/GUARDED Currently, we never set _PAGE_COHERENT in the PTEs, we just OR it in in the hash code based on some CPU feature bit. We also manipulate _PAGE_NO_CACHE and _PAGE_GUARDED by hand in all sorts of places. This changes the logic so that instead, the PTE now contains _PAGE_COHERENT for all normal RAM pages thay have I = 0 on platforms that need it. The hash code clears it if the feature bit is not set. It also adds some clean accessors to setup various valid combinations of access flags and change various bits of code to use them instead. This should help having the PTE actually containing the bit combinations that we really want. I also removed _PAGE_GUARDED from _PAGE_BASE on 44x and instead set it explicitely from the TLB miss. I will ultimately remove it completely as it appears that it might not be needed after all but in the meantime, having it in the TLB miss makes things a lot easier. Signed-off-by: Benjamin Herrenschmidt Acked-by: Kumar Gala Signed-off-by: Paul Mackerras commit 77520351805cc19ba37394ae33f862ef6d3c2a23 Author: Benjamin Herrenschmidt Date: Thu Dec 18 19:13:48 2008 +0000 powerpc/mm: Runtime allocation of mmu context maps for nohash CPUs This makes the MMU context code used for CPUs with no hash table (except 603) dynamically allocate the various maps used to track the state of contexts. Only the main free map and CPU 0 stale map are allocated at boot time. Other CPU maps are allocated when those CPUs are brought up and freed if they are unplugged. This also moves the initialization of the MMU context management slightly later during the boot process, which should be fine as it's really only needed when userland if first started anyways. Signed-off-by: Benjamin Herrenschmidt Acked-by: Kumar Gala Signed-off-by: Paul Mackerras commit 760ec0e02d8a13d0ed60d99f47879d4aa8ef1910 Author: Benjamin Herrenschmidt Date: Thu Dec 18 19:13:46 2008 +0000 powerpc/44x: No need to mask MSR:CE, ME or DE in _tlbil_va on 440 The handlers for Critical, Machine Check or Debug interrupts will save and restore MMUCR nowadays, thus we only need to disable normal interrupts when invalidating TLB entries. Signed-off-by: Benjamin Herrenschmidt Acked-by: Kumar Gala Acked-by: Josh Boyer Signed-off-by: Paul Mackerras commit 2a4aca1144394653269720ffbb5a325a77abd5fa Author: Benjamin Herrenschmidt Date: Thu Dec 18 19:13:42 2008 +0000 powerpc/mm: Split low level tlb invalidate for nohash processors Currently, the various forms of low level TLB invalidations are all implemented in misc_32.S for 32-bit processors, in a fairly scary mess of #ifdef's and with interesting duplication such as a whole bunch of code for FSL _tlbie and _tlbia which are no longer used. This moves things around such that _tlbie is now defined in hash_low_32.S and is only used by the 32-bit hash code, and all nohash CPUs use the various _tlbil_* forms that are now moved to a new file, tlb_nohash_low.S. I moved all the definitions for that stuff out of include/asm/tlbflush.h as they are really internal mm stuff, into mm/mmu_decl.h The code should have no functional changes. I kept some variants inline for trivial forms on things like 40x and 8xx. Signed-off-by: Benjamin Herrenschmidt Acked-by: Kumar Gala Signed-off-by: Paul Mackerras commit f048aace29e007f2b642097e2da8231e0e9cce2d Author: Benjamin Herrenschmidt Date: Thu Dec 18 19:13:38 2008 +0000 powerpc/mm: Add SMP support to no-hash TLB handling This commit moves the whole no-hash TLB handling out of line into a new tlb_nohash.c file, and implements some basic SMP support using IPIs and/or broadcast tlbivax instructions. Note that I'm using local invalidations for D->I cache coherency. At worst, if another processor is trying to execute the same and has the old entry in its TLB, it will just take a fault and re-do the TLB flush locally (it won't re-do the cache flush in any case). Signed-off-by: Benjamin Herrenschmidt Acked-by: Kumar Gala Signed-off-by: Paul Mackerras commit 7c03d653cd257793dc40520c94e229b5fd0578e7 Author: Benjamin Herrenschmidt Date: Thu Dec 18 19:13:32 2008 +0000 powerpc/mm: Introduce MMU features We're soon running out of CPU features and I need to add some new ones for various MMU related bits, so this patch separates the MMU features from the CPU features. I moved over the 32-bit MMU related ones, added base features for MMU type families, but didn't move over any 64-bit only feature yet. Signed-off-by: Benjamin Herrenschmidt Acked-by: Kumar Gala Signed-off-by: Paul Mackerras commit 2ca8cf738907180e7fbda90f25f32b86feda609f Author: Benjamin Herrenschmidt Date: Thu Dec 18 19:13:29 2008 +0000 powerpc/mm: Rework context management for CPUs with no hash table This reworks the context management code used by 4xx,8xx and freescale BookE. It adds support for SMP by implementing a concept of stale context map to lazily flush the TLB on processors where a context may have been invalidated. This also contains the ground work for generalizing such lazy TLB flushing by just picking up a new PID and marking the old one stale. This will be implemented later. This is a first implementation that uses a global spinlock. Ideally, we should try to get at least the fast path (context ID already assigned) lockless or limited to a per context lock, but for now this will do. I tried to keep the UP case reasonably simple to avoid adding too much overhead to 8xx which does a lot of context stealing since it effectively has only 16 PIDs available. Signed-off-by: Benjamin Herrenschmidt Acked-by: Kumar Gala Signed-off-by: Paul Mackerras commit 5e696617c425eb97bd943d781f3941fb1e8f0e5b Author: Benjamin Herrenschmidt Date: Thu Dec 18 19:13:24 2008 +0000 powerpc/mm: Split mmu_context handling This splits the mmu_context handling between 32-bit hash based processors, 64-bit hash based processors and everybody else. This is preliminary work for adding SMP support for BookE processors. Signed-off-by: Benjamin Herrenschmidt Acked-by: Kumar Gala Signed-off-by: Paul Mackerras commit 6d2170be4561293a6aa821c773687bd3f18e8206 Author: Benjamin Herrenschmidt Date: Thu Dec 18 19:13:22 2008 +0000 powerpc/4xx: Extended DCR support v2 This adds supports to the "extended" DCR addressing via the indirect mfdcrx/mtdcrx instructions supported by some 4xx cores (440H6 and later). I enabled the feature for now only on AMCC 460 chips. Signed-off-by: Benjamin Herrenschmidt Acked-by: Josh Boyer Acked-by: Kumar Gala Signed-off-by: Paul Mackerras commit fecba96268fc48ab9b4a016356a8f2371df25e64 Author: Brian King Date: Thu Dec 18 11:13:49 2008 +0000 powerpc: Add reboot notifier to Collaborative Memory Manager When running Active Memory Sharing, pages can get marked as "loaned" with the hypervisor by the CMM driver. This state gets cleared by the system firmware when rebooting the partition. When using kexec to boot a new kernel, this state never gets cleared and the hypervisor and CMM driver can get out of sync with respect to the number of pages currently marked "loaned". Fix this by adding a reboot notifier to the CMM driver to deflate the balloon and mark all pages as active. Signed-off-by: Brian King Signed-off-by: Paul Mackerras commit 2218108e182fd8a6d9106077833ed7ad05fc8e75 Author: Brian King Date: Thu Dec 18 11:13:46 2008 +0000 powerpc: Disable Collaborative Memory Manager for kdump When running Active Memory Sharing, the Collaborative Memory Manager (CMM) may mark some pages as "loaned" with the hypervisor. Periodically, the CMM will query the hypervisor for a loan request, which is a single signed value. When kexec'ing into a kdump kernel, the CMM driver in the kdump kernel is not aware of the pages the previous kernel had marked as "loaned", so the hypervisor and the CMM driver are out of sync. This results in the CMM driver getting a negative loan request, which can then get treated as a large unsigned value and can cause kdump to hang due to the CMM driver inflating too large. Since there really is no clean way for the CMM driver in the kdump kernel to clean this up, simply disable CMM in the kdump kernel. This fixes hangs we were seeing doing kdump with AMS. Signed-off-by: Brian King Signed-off-by: Paul Mackerras commit 5d84e4bee044a740729ac172e684e743f5ad50fb Author: Stephen Rothwell Date: Tue Dec 16 20:16:49 2008 +0000 powerpc/iseries: viodasd needs to depend on CONFIG_BLOCK Otherwise you get lot of errors like these: drivers/block/viodasd.c:72: error: dereferencing pointer to incomplete type drivers/block/viodasd.c: In function 'viodasd_open': drivers/block/viodasd.c:135: error: dereferencing pointer to incomplete type drivers/block/viodasd.c: In function 'viodasd_release': drivers/block/viodasd.c:184: error: dereferencing pointer to incomplete type drivers/block/viodasd.c: In function 'viodasd_getgeo': drivers/block/viodasd.c:209: error: dereferencing pointer to incomplete type drivers/block/viodasd.c:214: error: implicit declaration of function 'get_capacity' drivers/block/viodasd.c: At top level: drivers/block/viodasd.c:222: error: variable 'viodasd_fops' has initializer but incomplete type drivers/block/viodasd.c:223: error: unknown field 'owner' specified in initializer Discovered by a randconfig build. Signed-off-by: Stephen Rothwell Acked-by: Jens Axboe Signed-off-by: Paul Mackerras commit 368c1e3249afe0e59097e7df664435ae55fb9f8d Author: Hendrik Brueckner Date: Tue Dec 16 00:09:38 2008 +0000 hvc_console: Escape magic sysrq key The ctrl-o (^O) is a common control key used by several applications, such as vim, but hvc_console uses ^O as the magic-sysrq key. This commit allows users to send ^O to applications by pressing ^O twice in succession. To implement this, this commit introduces a check if ^O is pressed again if the sysrq_pressed variable is already set. In this case, clear sysrq_pressed state and flip the ^O character to the tty. (The old behavior has always set "sysrq_pressed" if ^O has been entered, and it has not flipped the ^O character to the tty.) Signed-off-by: Hendrik Brueckner Signed-off-by: Paul Mackerras commit 532774ec7fa396da20ca724c0cf83d93ee76622f Author: Tony Breeds Date: Mon Dec 15 18:34:43 2008 +0000 powerpc: Pass a valid token to rtas_call() in phyp-dump code ibm_configure_kernel_dump is passed as the token to rtas_call() is never initialised. This sets it to something sane. Signed-off-by: Tony Breeds Acked-by: Nathan Lynch Acked-by: Manish Ahuja Signed-off-by: Paul Mackerras commit 7a2eab0d4e656341cc0f6481d722d410f0414f0b Author: Tony Breeds Date: Mon Dec 15 18:17:48 2008 +0000 powerpc: Protect against NULL pointer deref in phyp-dump code print_dump_header() will be called at least once with a NULL pointer in a normal boot sequence. If DEBUG is defined then we will dereference the pointer and crash. Add a quick fix to exit early in the NULL pointer case. Signed-off-by: Tony Breeds Acked-by: Manish Ahuja Signed-off-by: Paul Mackerras commit 8168b5400b06353293f9844976435886eb2a8ff2 Author: David Howells Date: Thu Dec 11 02:53:54 2008 +0000 powerpc: Rename struct vm_region to avoid conflict with NOMMU Rename PowerPC's struct vm_region so that I can introduce my own global version for NOMMU. It's feasible that the PowerPC version may wish to use my global one instead. The NOMMU vm_region struct defines areas of the physical memory map that are under mmap. This may include chunks of RAM or regions of memory mapped devices, such as flash. It is also used to retain copies of file content so that shareable private memory mappings of files can be made. As such, it may be compatible with what is described in the banner comment for PowerPC's vm_region struct. Signed-off-by: David Howells Signed-off-by: Paul Mackerras commit 13ba3c0092b4db272d1f643206c1b55f4fe415a6 Author: Nathan Lynch Date: Wed Dec 10 14:46:06 2008 +0000 powerpc: Convert sysfs cache code to of_find_next_cache_node() Using the common code means that more complete cache information will provided in sysfs on platforms that don't use the l2-cache property convention. Signed-off-by: Nathan Lynch Signed-off-by: Paul Mackerras commit b2ea25b958968c152c6fac0594f2c9aa8b59eb8d Author: Nathan Lynch Date: Wed Dec 10 20:16:07 2008 +0000 powerpc: Convert cpu_to_l2cache() to of_find_next_cache_node() The smp code uses cache information to populate cpu_core_map; change it to use common code for cache lookup. Signed-off-by: Nathan Lynch Signed-off-by: Paul Mackerras commit e523f723d69cde44e10116d7f49b277da0c6702c Author: Nathan Lynch Date: Wed Dec 10 14:46:04 2008 +0000 powerpc: Add of_find_next_cache_node() We have more than one piece of code that looks up cache nodes manually using the "l2-cache" property. Add a common helper routine which does this and handles ePAPR's "next-level-cache" property as well as powermac. Signed-off-by: Nathan Lynch Signed-off-by: Paul Mackerras commit 749820928a2fd47ff536773d869d2c3f8038b7d1 Author: Anton Vorontsov Date: Fri Dec 5 08:15:54 2008 +0000 of/gpio: Implement of_gpio_count() This function is used to count how many GPIOs are specified for a device node. Signed-off-by: Anton Vorontsov Signed-off-by: Paul Mackerras commit 7736a3db98bed028d0e5235f8958a730acfd822e Author: Anton Vorontsov Date: Fri Dec 5 08:15:46 2008 +0000 of: of_parse_phandles_with_args() learns to differentiate 'hole' cells Given this list (contains three gpio specifiers, one of which is a hole): gpios = <&phandle1 1 2 3 0 /* a hole */ &phandle2 4 5 6>; of_parse_phandles_with_args() would report -ENOENT for the `hole' specifier item, the same error value is used to report the end of the list, for example. Sometimes we want to differentiate holes from real errors -- for example when we want to count all the [syntax correct] specifiers. With this patch of_parse_phandles_with_args() will report -EEXITS when somebody requested to parse a hole. Also, make the out_{node,args} arguments optional, when counting we don't really need the out values. Signed-off-by: Anton Vorontsov Signed-off-by: Paul Mackerras commit c1bb7c6d04ebdf48998649100c5267a9139debf5 Author: Anton Vorontsov Date: Fri Dec 5 08:15:39 2008 +0000 of: Minor simplification for the of_parse_phandles_with_args() By using 'list++' in the beginning we can simplify the code a little bit. Suggested-by: Benjamin Herrenschmidt Signed-off-by: Anton Vorontsov Signed-off-by: Paul Mackerras commit 74b7ff48a93f44198ac03cc4e628d713f53d4668 Author: Matthew Ranostay Date: Sat Dec 20 17:47:24 2008 -0500 ALSA: hda: fix incorrect mixer index values for 92hd83xx Fixed incorrect mixer index values for 92hd83xx codec's audio input mixer. Signed-off-by: Matthew Ranostay Signed-off-by: Takashi Iwai commit f8ccbf65afde5df81a6238b9dc92868fbbd397f7 Author: Matthew Ranostay Date: Sat Dec 20 17:36:28 2008 -0500 ALSA: hda: dinput_mux check Add check to determine if dinput_mux is set by any of patch_stac*() functions, otherwise a invalid pointer my be referenced causing gibberish to mixer values. Signed-off-by: Matthew Ranostay Signed-off-by: Takashi Iwai commit ebef7cfc81942686a994ca6239b195040f5d1e4d Merge: 6bcdbd5 3d47582 Author: Takashi Iwai Date: Sat Dec 20 23:43:06 2008 +0100 Merge branch 'topic/ca0106-spdif-stream' into topic/ca0106 commit 6bcdbd55b4c603d9741398d081133fcc50a10b6c Merge: 6a84364 72077aa Author: Takashi Iwai Date: Sat Dec 20 23:43:00 2008 +0100 Merge branch 'topic/ca0106-resume' into topic/ca0106 commit 6a8436419d1b77b24d82bd90354adc4baa393566 Merge: 55fa518 ff75427 Author: Takashi Iwai Date: Sat Dec 20 23:42:55 2008 +0100 Merge branch 'topic/ca0106-capture-no-44khz' into topic/ca0106 commit 8326e32c1e148820d50dc460e1cb4a6cb6884ff2 Merge: 69dfaef 32e176c Author: Takashi Iwai Date: Sat Dec 20 23:41:18 2008 +0100 Merge branch 'topic/hda-resume-fix' into topic/hda commit 55fa518867978e1f5fd8353098f80d125ac734d7 Merge: bb1f24b eea0579 Author: Takashi Iwai Date: Sat Dec 20 23:39:47 2008 +0100 Merge branch 'topic/pcsp-fix' into topic/misc commit 0de048aba1b751ee19a747dc4c82636579e47b85 Author: Roel Kluin Date: Sat Dec 20 05:19:43 2008 -0500 Input: make some variables and functions static Signed-off-by: Roel Kluin Signed-off-by: Dmitry Torokhov commit a663a71e429d7d06a7773edc4092995c5fe1171f Merge: 828aac2 b95a13d Author: Russell King Date: Sat Dec 20 17:40:03 2008 +0000 Merge git://git.marvell.com/orion into devel commit b95a13d79c0e92c9c844fa8aa089c9bd2ed10705 Author: Lennert Buytenhek Date: Mon Oct 20 01:51:04 2008 +0200 [ARM] mv78xx0: implement GPIO and GPIO interrupt support Signed-off-by: Lennert Buytenhek Signed-off-by: Nicolas Pitre commit 4c21343005b6b0d6ef24ab6e6a8f3883ff0cb569 Author: Lennert Buytenhek Date: Mon Oct 20 01:51:04 2008 +0200 [ARM] Kirkwood: implement GPIO and GPIO interrupt support Signed-off-by: Lennert Buytenhek Signed-off-by: Nicolas Pitre commit 07332318f33da6acd88abb762a8b6febdfc560a3 Author: Lennert Buytenhek Date: Mon Oct 20 01:51:03 2008 +0200 [ARM] Orion: share GPIO IRQ handling code Split off Orion GPIO IRQ handling code into plat-orion/. Signed-off-by: Lennert Buytenhek Signed-off-by: Nicolas Pitre commit 9569dae75f6f6987e79fa26cf6da3fc24006c996 Author: Lennert Buytenhek Date: Mon Oct 20 01:51:03 2008 +0200 [ARM] Orion: share GPIO handling code Split off Orion GPIO handling code into plat-orion/, and add support for multiple sets of (32) GPIO pins. Signed-off-by: Lennert Buytenhek Signed-off-by: Nicolas Pitre commit 69dfaefee4a2dfdfee3488a306403fe1e51f0be5 Author: Takashi Iwai Date: Sat Dec 20 16:57:50 2008 +0100 ALSA: hda - Add quirk for another HP dv7 Added the model=hp-m4 quirk for another HP dv7 (103c:30fc) with IDT 92HD71b* codec. Reference: Novell bnc#461108 https://bugzilla.novell.com/show_bug.cgi?id=461108 Cc: stable@kernel.org Signed-off-by: Takashi Iwai commit a31501d1041c9d0a6c3f520736ae2b2fa081493a Author: Takashi Iwai Date: Sat Dec 20 16:50:53 2008 +0100 ALSA: ASoC - Add missing __devexit annotation to wm8350.c Added the missing __devexit annotation to wm8350_codec_remove(): sound/soc/codecs/wm8350.c:1546: warning: 'wm8350_codec_remove' defined but not used Signed-off-by: Takashi Iwai commit d6f833965e594015ee05341e43ff4a86f11596b3 Author: Troy Kisky Date: Fri Dec 19 13:05:25 2008 -0700 ALSA: ASoc: DaVinci: davinci-evm use dsp_b mode Sense DaVinci does not support true I2S mode and we don't have to use the hack, use dsp_b mode instead Signed-off-by: Troy Kisky Signed-off-by: Mark Brown commit 9e031624d50c82a47671e09cc996eebb9e36f698 Author: Troy Kisky Date: Fri Dec 19 13:05:23 2008 -0700 ALSA: ASoC: DaVinci: i2s, evm, pass same value to codec and cpu_dai Fix the meaning of SND_SOC_DAIFMT_NB_NF to match that used in the codec. Signed-off-by: Troy Kisky Signed-off-by: Mark Brown commit a24f4f682661b8069d374a9197bc491525a7c799 Author: Troy Kisky Date: Fri Dec 19 13:05:22 2008 -0700 ALSA: ASoC: tlv320aic3x add dsp_a Add SND_SOC_DAIFMT_DSP_A mode option. Signed-off-by: Troy Kisky Signed-off-by: Mark Brown commit 07d8d9dca4615821d928f4b5087fdc61e292e1dc Author: Troy Kisky Date: Fri Dec 19 13:05:24 2008 -0700 ALSA: ASoC: DaVinci: document I2S limitations DaVinci does not support true I2S or right justified mode so not all I2S codecs will work with it when the codec is master. Document this limitation. Add dsp_a, dsp_b mode options Signed-off-by: Troy Kisky Signed-off-by: Mark Brown commit 69ab820c862250d460dfaaf82164972a4a69418a Author: Troy Kisky Date: Thu Dec 18 12:36:44 2008 -0700 ALSA: ASoC: DaVinci: davinci-i2s clean up Minor, just move a block of code to make next patch clearer. Signed-off-by: Troy Kisky Signed-off-by: Mark Brown commit 21903c1c9ecb7a210eb985aa8d82ad68c78283cc Author: Troy Kisky Date: Thu Dec 18 12:36:43 2008 -0700 ALSA: ASoC: DaVinci: davinci-i2s clean up Just at little cleanup of davinci_i2s_set_dai_fmt Signed-off-by: Troy Kisky Signed-off-by: Mark Brown commit 664b4af859d43714fd2a90aa434e454355659d0e Author: Troy Kisky Date: Thu Dec 18 12:36:41 2008 -0700 ALSA: ASoC: DaVinci: davinci-i2s add comments to explain polarity Document the current polarity choices. Signed-off-by: Troy Kisky Signed-off-by: Mark Brown commit 1152a1959f8440db9536f6df758274443f9b5b37 Author: Troy Kisky Date: Thu Dec 18 12:36:40 2008 -0700 ALSA: ASoC: DaVinci: davinvi-evm, make requests explicit Add constants with a value of 0 to show more explicitly what is being requested. Signed-off-by: Troy Kisky Signed-off-by: Mark Brown commit ff75427a7f641c4468610fbda2ccb69218174cd1 Author: Takashi Iwai Date: Sat Dec 20 11:20:55 2008 +0100 ALSA: ca0106 - disable 44.1kHz capture The capture with 44.1kHz on ca0106 seems to cause loud noises on later playbacks, which doesn't support 44.1kHz. A simple fix is to disable 44.1kHz, as the "default" PCM with dsnoop is anyway only with 48kHz. Reference: Novell bnc#447624 https://bugzilla.novell.com/show_bug.cgi?id=447624 Signed-off-by: Takashi Iwai commit 72077aa336d0f4c5e3c7014d7471c79bc69873bb Author: Takashi Iwai Date: Sat Dec 20 11:12:51 2008 +0100 ALSA: ca0106 - Add missing card->private_data initialization Added the missing card->private_data initialization that caused obvious problems at PM. Signed-off-by: Takashi Iwai commit 50b6f1f4a430608f7345f66ecd68a129bff11649 Author: Kwangwoo Lee Date: Sat Dec 20 04:26:01 2008 -0500 Input: add tsc2007 based touchscreen driver This drive has been tested on ARM9 based SoC - MV86XX. Signed-off-by: Kwangwoo Lee Acked-by: Jean Delvare Signed-off-by: Dmitry Torokhov commit 8bbf2703c4f676e6e5414672dd460f7d2f979ed5 Author: Paul Fox Date: Sat Dec 20 03:58:11 2008 -0500 Input: psmouse - add module parameters to control OLPC touchpad delays The HPGK touchpad that is found on the XO driver has historically exhibitted eratic behaviour in various environments (very dry, very humid, etc) that can be worked around via some delays. This patch turns those delays into module parameters to make testing simpler. Signed-off-by: Paul Fox Signed-off-by: Deepak Saxena Acked-By: Andres Salomon Signed-off-by: Dmitry Torokhov commit a6f66ddf7a8b34bb28e4d1c47531b61c671eac9b Author: Ozan Çağlayan Date: Sat Dec 20 04:04:51 2008 -0500 Input: i8042 - add Gigabyte M912 netbook to noloop exception table Gigabyte M912's touchpad needs i8042.noloop for working. Signed-off-by: Ozan Çağlayan Signed-off-by: Dmitry Torokhov commit 4200844bd9dc511088258437d564a187f0ffc94e Author: Stuart Hopkins Date: Sat Dec 20 04:12:33 2008 -0500 Input: atkbd - Samsung NC10 key repeat fix This patch fixes the key repeat issue with the Fn+F? keys on the new Samsung NC10 Netbook, so that the keys can be defined and used within ACPID correctly, otherwise the keys repeat indefinately. This solves part of http://bugzilla.kernel.org/show_bug.cgi?id=12021 Signed-off-by: Stuart Hopkins Signed-off-by: Dmitry Torokhov commit 181f63827a7655e84781fe0494189c1fea52816f Author: Rikard Ljungstrand Date: Fri Dec 19 21:59:20 2008 -0500 Input: atkbd - add keyboard quirk for HP Pavilion ZV6100 laptop Add quirk for misbehaving volume buttons on HP Pavilion ZV6100 laptop which are not sending keyrelease events, as reported by Aaron Pickett. Signed-off-by: Rikard Ljungstrand Signed-off-by: Dmitry Torokhov commit 93b8eef1c098efbea2f1fc0be7e3c681f259a7e7 Merge: a2d781f 929096f Author: Dmitry Torokhov Date: Sat Dec 20 04:54:54 2008 -0500 Merge commit 'v2.6.28-rc9' into next commit 50232d62cace101e03f8f40ca151b978c0db5a0d Author: Takashi Iwai Date: Sat Dec 20 09:42:09 2008 +0100 ALSA: ca0106 - Check ac97 availability at PM Check the availability of ac97 at PM suspend/resume callbacks. Signed-off-by: Takashi Iwai commit c5dee6177f4bd2095aab7d9be9f6ebdddd6deee9 Author: Markus Metzger Date: Fri Dec 19 15:17:02 2008 +0100 x86, bts: memory accounting Impact: move the BTS buffer accounting to the mlock bucket Add alloc_locked_buffer() and free_locked_buffer() functions to mm/mlock.c to kalloc a buffer and account the locked memory to current. Account the memory for the BTS buffer to the tracer. Signed-off-by: Markus Metzger Signed-off-by: Ingo Molnar commit bf53de907dfdaac178c92d774aae7370d7b97d20 Author: Markus Metzger Date: Fri Dec 19 15:10:24 2008 +0100 x86, bts: add fork and exit handling Impact: introduce new ptrace facility Add arch_ptrace_untrace() function that is called when the tracer detaches (either voluntarily or when the tracing task dies); ptrace_disable() is only called on a voluntary detach. Add ptrace_fork() and arch_ptrace_fork(). They are called when a traced task is forked. Clear DS and BTS related fields on fork. Release DS resources and reclaim memory in ptrace_untrace(). This releases resources already when the tracing task dies. We used to do that when the traced task dies. Signed-off-by: Markus Metzger Signed-off-by: Ingo Molnar commit 67bac792cd0c05b4b6e0393c32605b028b8dd533 Author: venkatesh.pallipadi@intel.com Date: Fri Dec 19 13:47:30 2008 -0800 x86: PAT: pfnmap documentation update changes Impact: Documentation only. Documentation updates as per Randy Dunlap's comments. Signed-off-by: Venkatesh Pallipadi Signed-off-by: Suresh Siddha Signed-off-by: H. Peter Anvin commit 34801ba9bf0381fcf0e2b08179d2c07f2c6ede74 Author: venkatesh.pallipadi@intel.com Date: Fri Dec 19 13:47:29 2008 -0800 x86: PAT: move track untrack pfnmap stubs to asm-generic Impact: Cleanup and branch hints only. Move the track and untrack pfn stub routines from memory.c to asm-generic. Also add unlikely to pfnmap related calls in fork and exit path. Signed-off-by: Venkatesh Pallipadi Signed-off-by: Suresh Siddha Signed-off-by: H. Peter Anvin commit 982d789ab76c8a11426852fec2fdf2f412e21c0c Author: venkatesh.pallipadi@intel.com Date: Fri Dec 19 13:47:28 2008 -0800 x86: PAT: remove follow_pfnmap_pte in favor of follow_phys Impact: Cleanup - removes a new function in favor of a recently modified older one. Replace follow_pfnmap_pte in pat code with follow_phys. follow_phys lso returns protection eliminating the need of pte_pgprot call. Using follow_phys also eliminates the need for pte_pa. Signed-off-by: Venkatesh Pallipadi Signed-off-by: Suresh Siddha Signed-off-by: H. Peter Anvin commit d87fe6607c31944f7572f965c1507ae77026c133 Author: venkatesh.pallipadi@intel.com Date: Fri Dec 19 13:47:27 2008 -0800 x86: PAT: modify follow_phys to return phys_addr prot and return value Impact: Changes and globalizes an existing static interface. Follow_phys does similar things as follow_pfnmap_pte. Make a minor change to follow_phys so that it can be used in place of follow_pfnmap_pte. Physical address return value with 0 as error return does not work in follow_phys as the actual physical address 0 mapping may exist in pte. Signed-off-by: Venkatesh Pallipadi Signed-off-by: Suresh Siddha Signed-off-by: H. Peter Anvin commit 6bd9cd50c830eb88d571c492ec370a30bf999e15 Author: venkatesh.pallipadi@intel.com Date: Fri Dec 19 13:47:26 2008 -0800 x86: PAT: clarify is_linear_pfn_mapping() interface Impact: Documentation only Incremental patches to address the review comments from Nick Piggin for v3 version of x86 PAT pfnmap changes patchset here http://lkml.indiana.edu/hypermail/linux/kernel/0812.2/01330.html This patch: Clarify is_linear_pfn_mapping() and its usage. It is used by x86 PAT code for performance reasons. Identifying pfnmap as linear over entire vma helps speedup reserve and free of memtype for the region. Signed-off-by: Venkatesh Pallipadi Signed-off-by: Suresh Siddha Signed-off-by: H. Peter Anvin commit 8403295e0fa460f6240e2d781e25dc29189f33c7 Author: Hiroshi Shimamoto Date: Fri Dec 19 14:25:50 2008 -0800 x86: ia32_signal: remove unnecessary declaration Impact: cleanup No need to declare do_signal(). Signed-off-by: Hiroshi Shimamoto Signed-off-by: Ingo Molnar commit 34945ede31071ac7d72270cc6c1893323f392b3f Author: Jaswinder Singh Date: Fri Dec 19 22:33:52 2008 +0530 x86: common.c boot_cpu_stack and boot_exception_stacks should be static Impact: cleanup, avoid sparse warnings, reduce kernel size a bit Fixes these sparse warnings: arch/x86/kernel/cpu/common.c:869:6: warning: symbol 'boot_cpu_stack' was not declared. Should it be static? arch/x86/kernel/cpu/common.c:910:6: warning: symbol 'boot_exception_stacks' was not declared. Should it be static? Signed-off-by: Jaswinder Singh Signed-off-by: Ingo Molnar commit 74192246910ff4fb95309ba1a683215644beeb62 Author: James Morris Date: Fri Dec 19 11:41:10 2008 +1100 SELinux: don't check permissions for kernel mounts Don't bother checking permissions when the kernel performs an internal mount, as this should always be allowed. Signed-off-by: James Morris Acked-by: Stephen Smalley commit 12204e24b1330428c3062faee10a0d80b8a5cb61 Author: James Morris Date: Fri Dec 19 10:44:42 2008 +1100 security: pass mount flags to security_sb_kern_mount() Pass mount flags to security_sb_kern_mount(), so security modules can determine if a mount operation is being performed by the kernel. Signed-off-by: James Morris Acked-by: Stephen Smalley commit 459c19f524a9d89c65717a7d061d5f11ecf6bcb8 Author: Stephen Smalley Date: Fri Dec 5 09:12:19 2008 -0500 SELinux: correctly detect proc filesystems of the form "proc/foo" Map all of these proc/ filesystem types to "proc" for the policy lookup at filesystem mount time. Signed-off-by: James Morris commit b909895739427874c089bc0e03dc119f99cab2dd Author: Yinghai Lu Date: Fri Dec 19 13:48:34 2008 -0800 sparseirq: fix numa_migrate_irq_desc dependency and comments Impact: reduce kconfig variable scope and clean up Bartlomiej pointed out that the config dependencies and comments are not right. update it depend to NUMA, and fix some comments Reported-by: Bartlomiej Zolnierkiewicz Signed-off-by: Yinghai Lu Signed-off-by: Ingo Molnar commit 26cc271db798cf211d35967cbfbb53e997126b84 Author: Hiroshi Shimamoto Date: Fri Dec 19 10:23:03 2008 -0800 printk: fix discarding message when recursion_bug Impact: fix truncated recursion bug message printout When recursion_bug is true, kernel discards original message because printk_buf contains recursion_bug_msg with NULL terminator. The sizeof(recursion_bug_msg) makes this, use strlen() to get correct length without NULL terminator. Reported-by: Toshikazu Nakayama Signed-off-by: Hiroshi Shimamoto Signed-off-by: Ingo Molnar commit 9bb482476c6c9d1ae033306440c51ceac93ea80c Author: Jan Beulich Date: Tue Dec 16 11:30:08 2008 +0000 allow stripping of generated symbols under CONFIG_KALLSYMS_ALL Building upon parts of the module stripping patch, this patch introduces similar stripping for vmlinux when CONFIG_KALLSYMS_ALL=y. Using CONFIG_KALLSYMS_STRIP_GENERATED reduces the overhead of CONFIG_KALLSYMS_ALL from 245k/310k to 65k/80k for the (i386/x86-64) kernels I tested with. The patch also does away with the need to special case the kallsyms- internal symbols by making them available even in the first linking stage. While it is a generated file, the patch includes the changes to scripts/genksyms/keywords.c_shipped, as I'm unsure what the procedure here is. Signed-off-by: Jan Beulich Signed-off-by: Sam Ravnborg commit ad7a953c522ceb496611d127e51e278bfe0ff483 Author: Jan Beulich Date: Tue Dec 16 11:28:14 2008 +0000 kbuild: strip generated symbols from *.ko This patch changes the way __crc_ symbols are being resolved from using ld to do so to using the assembler, thus allowing these symbols to be marked local (the linker creates then as global ones) and hence allow stripping (for modules) or ignoring (for vmlinux) them. While at this, also strip other generated symbols during module installation. One potentially debatable point is the handling of the flags passeed to gcc when translating the intermediate assembly file into an object: passing $(c_flags) unchanged doesn't work as gcc passes --gdwarf2 to gas whenever is sees any -g* option, even for -g0, and despite the fact that the compiler would have already produced all necessary debug info in the C->assembly translation phase. I took the approach of just filtering out all -g* options, but an alternative to such negative filtering might be to have a positive filter which might, in the ideal case allow just all the -Wa,* options to pass through. Signed-off-by: Jan Beulich Signed-off-by: Sam Ravnborg commit 37a8d9f67f18de1e2cbc7387311ce22d4dbff518 Author: Sam Ravnborg Date: Fri Dec 19 21:38:09 2008 +0100 kbuild: simplify use of genksyms Avoid duplicating long list of options in two places Signed-off-by: Sam Ravnborg commit ada9cfdd158abb8169873dc8e5ae39b1ec6ffa8c Author: Randy Dunlap Date: Fri Dec 19 10:57:32 2008 -0800 doc: fix kernel-parameters.txt formatting Spell out "wrt". I suspect plenty of people won't know what that means. Fix a '}' that should be a ']'. Reformat long lines into shorter lines. Signed-off-by: Randy Dunlap Signed-off-by: Len Brown commit b34b086c1c1d934c5314d46ba25ccfa9acc471ae Author: Chris Mason Date: Fri Dec 19 15:43:22 2008 -0500 Btrfs: Fix compile warning around num_online_cpus() in a min statement Signed-off-by: Chris Mason commit 9cf7f247bd0cd21e475c71a4e018bb612ef02aab Author: Michael Buesch Date: Fri Dec 19 20:24:30 2008 +0100 b43: Add key memory dumping This adds an option to dump all crypto related memory to the kernel log. Obviously, it should not be enabled on productive systems. ;) Signed-off-by: Michael Buesch Signed-off-by: John W. Linville commit b929ecf7965c2dab7e373f390ac5fc563011484d Author: Michael Buesch Date: Fri Dec 19 18:40:00 2008 +0100 b43: Suspend MAC while killing the radio We should suspend the MAC, before we kill the radio. This gives the MAC a chance to leave any TX/RX state and it avoids races on the PHY/RADIO registers. Signed-off-by: Michael Buesch Signed-off-by: John W. Linville commit fd6effcaf8a894c0a0f602b943dbc54a170d4418 Author: Bob Copeland Date: Thu Dec 18 23:23:05 2008 -0500 ath5k: correct packet length in tx descriptors Packet length calculation (which includes frame check sequence) should take into account whether we add a pad field or not. Extract the calculation into a helper and use it in both places. Changes to desc.c Changes-licensed-under: ISC Changes to ath5k.h, base.c Changes-licensed-under: 3-Clause-BSD Signed-off-by: Bob Copeland Signed-off-by: John W. Linville commit 520eb82076993b7f55ef9b80771d264272e5127b Author: Kalle Valo Date: Thu Dec 18 23:35:27 2008 +0200 mac80211: implement dynamic power save This patch implements dynamic power save for mac80211. Basically it means enabling power save mode after an idle period. Implementing it dynamically gives a good compromise of low power consumption and low latency. Some hardware have support for this in firmware, but some require the host to do it. The dynamic power save is implemented by adding an timeout to ieee80211_subif_start_xmit(). The timeout can be enabled from userspace with Wireless Extensions. For example, the command below enables the dynamic power save and sets the time timeout to 500 ms: iwconfig wlan0 power timeout 500m Power save now only works with devices which handle power save in firmware. It's also disabled by default and the heuristics when and how to enable is considered as a policy decision and will be left for the userspace to handle. In case the firmware has support for this, drivers can disable this feature with IEEE80211_HW_NO_STACK_DYNAMIC_PS. Big thanks to Johannes Berg for the help with the design and code. Signed-off-by: Kalle Valo Acked-by: Johannes Berg Signed-off-by: John W. Linville commit ce7c9111a97492d04c504f40736a669c235d664a Author: Kalle Valo Date: Thu Dec 18 23:35:20 2008 +0200 mac80211: track master queue status This is a preparation for the dynamic power save support. In future there are two paths to stop the master queues and we need to track this properly to avoid starting queues incorrectly. Implement this by adding a status array for each queue. The original idea and design is from Johannes Berg, I just did the implementation based on his notes. All the bugs are mine, of course. Signed-off-by: Kalle Valo Acked-by: Johannes Berg Signed-off-by: John W. Linville commit e0cb686ff879dc9ac045ad7258ec687088d4e450 Author: Kalle Valo Date: Thu Dec 18 23:35:13 2008 +0200 mac80211: enable IEEE80211_CONF_PS only when associated Also disable power save when disassociated. It makes no sense to have power save enabled while disassociated. iwlwifi seems to have this check in the driver, but it's better to do this in mac80211 instead. Signed-off-by: Kalle Valo Acked-by: Johannes Berg Signed-off-by: John W. Linville commit d10d0e5707fb7b8afa7e68a14d69e752604ee294 Author: Michael Buesch Date: Thu Dec 18 22:13:39 2008 +0100 b43: Fix some MAC locking This fixes some locking w.r.t. the lower MAC (firmware). It also removes a lot of ancient IRQ-locking that's not needed anymore. We simply suspend the MAC. That's easier and causes less trouble. Signed-off-by: Michael Buesch Signed-off-by: John W. Linville commit 0e7690f1e9ee1e762f27678d2ea10e4c1fde3236 Author: Rami Rosen Date: Thu Dec 18 18:04:51 2008 +0200 iwlwifi: iwl-tx.c cleanup (remove unused parameter and unused local variable). This patch removes unused parameter and unused local variable in methods in iwl-tx.c: - Remove a parameter (is_unicast) from iwl_tx_cmd_build_basic(). - Remove an unused variable name unicast from iwl_tx_skb(). Signed-off-by: Rami Rosen Signed-off-by: John W. Linville commit be2864cfff2fe4b599b46f03cce1e7689e05c60c Author: Jouni Malinen Date: Thu Dec 18 14:33:00 2008 +0200 ath9k: Fixed RX decryption status reporting The RX code in ath9k uses sc_keymap to figure out whether a default key was used. However, the default key entries in sc_keymap were always set and as such, frames could have been claimed to be decrypted by hardware when they were not. This can cause problems especially with TKIP since mac80211 is validating the Michael MIC in the frame and this will result in MIC failure and potentially TKIP countermeasures if the frame was not decrypted correctly. Change key cache slot allocation to mark only the keys that really have been used in sc_keymap to avoid the issue. The key cache slot selection routines are now internally avoiding the slots that may be needed for TKIP group keys. Signed-off-by: Jouni Malinen Signed-off-by: John W. Linville commit ea6121328885640c137b0a8830f67ca6c386a24a Author: Jouni Malinen Date: Thu Dec 18 14:31:10 2008 +0200 ath9k: Fix key cache slot selection for splitmic ath_reserve_key_cache_slot() was obviously supposed to return an index to a free slot, not reserved one. This could have caused problems with hardware revisions that use splitmic. Signed-off-by: Jouni Malinen Signed-off-by: John W. Linville commit aa33de09a849bd65b1201e1aec42e3e412c14cf6 Author: Sujith Date: Thu Dec 18 11:40:16 2008 +0530 ath9k: Protect config() callback with a mutex This should fix the timeout issues seen when using wpa_supplicant. Signed-off-by: Sujith Signed-off-by: John W. Linville commit 5e3f308997f53d00e8cbebdb89d4f6e347aa963a Author: Larry Finger Date: Wed Dec 17 14:26:59 2008 -0600 mac80211: Print unknown packet type in tasklet_handler In stress testing p54usb, the WARN_ON() in ieee80211_tasklet_handler() was triggered; however, there is no logging of the received value for packet type. Adding that feature will improve the warning. Signed-off-by: Larry Finger Signed-off-by: John W. Linville commit 6110781af080c007b2202187a8518920e03d5748 Author: Christian Lamparter Date: Wed Dec 17 12:04:43 2008 +0100 p54usb: bring first generation devices back to life This patch fixes a serious regression (introduced by: "p54: fix memory management") that affected isl3886+net2280 usb devices operation. Signed-off-by: Christian Lamparter Tested-by: Artur Skawina Signed-off-by: John W. Linville commit 6ace2891a1d632303283816ae050849da48df142 Author: Jouni Malinen Date: Wed Dec 17 13:32:17 2008 +0200 ath9k: Key cache allocation for AP mode Enhance allocation of key cache entries to support multiple pairwise keys to fix AP mode with more than one associated STA. Signed-off-by: Jouni Malinen Signed-off-by: John W. Linville commit f66000f7a39769b0ce2355fca13c40ac2f1c39db Author: Jouni Malinen Date: Wed Dec 17 13:30:31 2008 +0200 ath9k: Fix a NULL pointer dereference in ath_rate_get It looks like mac80211 may try to send unicast frames to a STA that does not have a STA entry. We need to make sure that that is caught in the rate control code before dereferencing STA data. Signed-off-by: Jouni Malinen Signed-off-by: John W. Linville commit 91f39e8eea725347b6a82d1e35e512ec8b298b0b Author: Jay Sternberg Date: Wed Dec 17 16:52:34 2008 +0800 iwlwifi: indicate txpower is off in sysfs The patch checks if the radio is disabled before displaying the tx power level. Previously when the txpower was set off show_tx_power still returned the prior power level. Now it will indicate the power has been turned off. Signed-off-by: Jay Sternberg Signed-off-by: Zhu Yi Signed-off-by: John W. Linville commit f1bc4ac61f2c08515afd80c6dc3962aa6d0b138b Author: Zhu Yi Date: Wed Dec 17 16:52:33 2008 +0800 iwlwifi: use GFP_KERNEL to allocate Rx SKB memory Previously we allocate Rx SKB with GFP_ATOMIC flag. This is because we need to hold a spinlock to protect the two rx_used and rx_free lists operation in the rxq. spin_lock(); ... element = rxq->rx_used.next; element->skb = alloc_skb(..., GFP_ATOMIC); list_del(element); list_add_tail(&element->list, &rxq->rx_free); ... spin_unlock(); After spliting the rx_used delete and rx_free insert into two operations, we don't require the skb allocation in an atomic context any more (the function itself is scheduled in a workqueue). spin_lock(); ... element = rxq->rx_used.next; list_del(element); ... spin_unlock(); ... element->skb = alloc_skb(..., GFP_KERNEL); ... spin_lock() ... list_add_tail(&element->list, &rxq->rx_free); ... spin_unlock(); This patch should fix the "iwlagn: Can not allocate SKB buffers" warning we see recently. Signed-off-by: Zhu Yi Acked-by: Tomas Winkler Cc: stable@kernel.org Signed-off-by: John W. Linville commit 4087f6f68cdbd2845c7e54236bae1b058a7b827b Author: Wu, Fengguang Date: Wed Dec 17 16:52:32 2008 +0800 iwlwifi: use meaningful vars in _iwl_poll_bit() Rename vars in _iwl_poll_bit() to better reflect the truth. Signed-off-by: Wu Fengguang Signed-off-by: Zhu Yi Signed-off-by: John W. Linville commit febf3370c63b4ea7fc1cedb9a73ac37e3cb21079 Author: Wu Fengguang Date: Wed Dec 17 16:52:31 2008 +0800 iwlwifi: remove useless goto The patch removes some useless goto in code cleanup. Signed-off-by: Wu Fengguang Signed-off-by: Zhu Yi Signed-off-by: John W. Linville commit 95aa194ac4a8fee0aea64c9609e70211cd057ad2 Author: Wu, Fengguang Date: Wed Dec 17 16:52:30 2008 +0800 iwlwifi: use type uint for module param debug This enables one to change the debug level at bit 31. Signed-off-by: Wu Fengguang Signed-off-by: Zhu Yi Signed-off-by: John W. Linville commit c3a739fa3507d1d5b3d2cb6cc491edeef8fa54c0 Author: Wu, Fengguang Date: Wed Dec 17 16:52:29 2008 +0800 iwlwifi: update comments on the debug interface Bring up-to-date some comments on the location of debug files. Signed-off-by: Wu Fengguang Acked-by: Tomas Winkler Signed-off-by: Zhu Yi Signed-off-by: John W. Linville commit 5c11ec60ef2eb8fb409b2c0a427e5a8ab6ee05f8 Author: Wu, Fengguang Date: Wed Dec 17 16:52:28 2008 +0800 iwlwifi: add line feed to printk This adds line feed to printk. Signed-off-by: Wu Fengguang Signed-off-by: Zhu Yi Signed-off-by: John W. Linville commit 34c22cf93d1446791c966c878cc691e07c39d8d3 Author: Winkler, Tomas Date: Wed Dec 17 16:52:27 2008 +0800 iwlwifi: cleanup iwl-dev.h The patch removes unused definition and moves code to proper places. Signed-off-by: Tomas Winkler Signed-off-by: Zhu Yi Signed-off-by: John W. Linville commit 135541215ca87ff00c269e65bcaef0bdcb99aab9 Author: Rami Rosen Date: Tue Dec 16 22:38:29 2008 +0200 mac80211: fix a typo in ieee80211_send_assoc() method. This patch fixes a typo in ieee80211_send_assoc(), net/mac80211/mlme.c. The error is usage of a wrong member when building the ie80211 management frame (it should be assoc_req, and not reassoc_req). Signed-off-by: Rami Rosen Signed-off-by: John W. Linville commit 73ec1cc28ebc7854a376cde53f62d487e127fbca Author: Rami Rosen Date: Tue Dec 16 09:37:07 2008 +0200 iwlwifi: remove a parameter (dest) from *_fill_beacon_frame() methods. This patch removes a parameter (dest) from iwl_fill_beacon_frame() (iwl-agn.c) and from iwl3945_fill_beacon_frame(). (iwl-3945.c,iwl-3945.h) Signed-off-by: Rami Rosen Signed-off-by: John W. Linville commit ca8a8560569c5eb954cb18c3a91087797ffa81a4 Author: Vasanthakumar Thiagarajan Date: Tue Dec 16 12:37:38 2008 +0530 ath9k: Move rate control alg register/unregister to appropriate place This patch makes sure the rate control alg is registered/unregistered only once for this module. Signed-off-by: Vasanthakumar Thiagarajan Signed-off-by: John W. Linville commit 9bf9fca8dea70116016d32c2bf3f83170c8fba76 Author: Vasanthakumar Thiagarajan Date: Mon Dec 15 20:40:46 2008 +0530 ath9k: Synchronize DMA transfer with CPU at right place This patch does pci_dma_sync_single_for_cpu() before accessing the header of the frame and queueing the same buffer into h/w. Signed-off-by: Vasanthakumar Thiagarajan Signed-off-by: John W. Linville commit f7a276a625e0b980185d2eb8e8e3e9425a708bee Author: Jouni Malinen Date: Mon Dec 15 16:02:04 2008 +0200 ath9k: Remove MAC header pad before reporting TX status Remove the possible MAC header pad before reporting TX status to mac80211. This pad is hardware specific operation and should not be exposed outside the driver. This fixes the frame body in monitor interfaces that could be used to check on TX status for transmitted frames. Signed-off-by: Jouni Malinen Signed-off-by: John W. Linville commit da027ca00a48715364da9a94d4b663029add528d Author: Jouni Malinen Date: Mon Dec 15 15:44:53 2008 +0200 ath9k: Fix TX status reporting for retries and MCS index The count field in struct ieee80211_tx_rate does not include the final successful attempt, so only report retries here. Fix the struct ieee80211_tx_rate::idx field when MCS was used. It is supposed to be the MCS index, not an internal index to the rate control algorithm table. Signed-off-by: Jouni Malinen Signed-off-by: John W. Linville commit 8d6f658e211a3c6ff808f7fc6ebb30239457eabc Author: Jouni Malinen Date: Mon Dec 15 10:37:50 2008 +0200 mac80211: Remove radiotap rate-present flag for HT Since we do not currently report HT rates (MCS index) in radiotap header for HT rates, we should not claim the rate is present. The rate octet itself is used as padding in this case, so only the it_present flag needs to be removed in case of HT rates. Signed-off-by: Jouni Malinen Signed-off-by: John W. Linville commit d85882273367e98aecb9ff11a9d76515a6d37131 Author: Herton Ronaldo Krzesinski Date: Sun Dec 14 12:18:09 2008 -0600 rtl8187: Fix crash on unload when using SLUB debug Reported-by: Hin-Tak Leung After the code was modified to use urb anchors ("rtl8187: Use usb anchor facilities to manage urbs"), rtl8187 began generating an intermittent GPF on shutdown when using SLUB with debugging enabled. Furthermore, rebooting the system with a ping running caused a GPF every time. There are two problems: (1) incorrect locking in the rtl8187_rx_cb() routine, a pre-existing bug that apparently had not been triggered before, and (2) duplicate freeing of receive skbs that was probably introduced with the change to anchors. Signed-off-by: Herton Ronaldo Krzesinski Signed-off-by: Larry Finger Tested-by: Hin-Tak Leung Signed-off-by: John W. Linville commit 0a5ec96ad68516582023a877aceff9db7636d141 Author: Christian Lamparter Date: Sun Dec 14 15:05:42 2008 +0100 p54: remove free_on_tx parameter This patch simplifies the tx code a bit and will be necessary for the upcoming stlc45xx<->p54 port. In detail: we no longer have to tell all back-end drivers directly, if we want to free a frame right after it was send to the firmware, or if we do it in the library callback later. Signed-off-by: Christian Lamparter Signed-off-by: John W. Linville commit 69ba3e5d74a467a64248cd90ccafb524b1fddcb5 Author: Christian Lamparter Date: Sun Dec 14 14:45:30 2008 +0100 p54: more accurate rssi to dBm conversion This patch replaces the static rssi auto calibration data with more precise values out of the device's eeprom. Signed-off-by: Christian Lamparter Signed-off-by: John W. Linville commit da9f57eade0a743450a201645db7fc5ac0809900 Author: Larry Finger Date: Sat Dec 13 18:09:56 2008 -0600 rtl8187: Fix error returns There are two places in the rtl8187 code where a routine was returning zero (OK) when it should have been returning an error. Signed-off-by: Larry Finger Acked-by: Hin-Tak Leung Signed-off-by: John W. Linville commit 23827926eb5ce5cb944ebbd96d22297a2582d45d Author: Ilpo Järvinen Date: Sat Dec 13 21:33:13 2008 +0200 libertas: use roundup instead of opencoding Signed-off-by: Ilpo Järvinen Signed-off-by: John W. Linville commit ee370ceda823435fe75be7dd4ed7b0e3dc3108b9 Author: Christian Lamparter Date: Sat Dec 13 16:45:38 2008 +0100 p54: update ACK failure statistic counter in real-time Signed-off-by: Christian Lamparter Signed-off-by: John W. Linville commit 54fdb040b4760d5b2994d15c1371e297679420e9 Author: Christian Lamparter Date: Sat Dec 13 14:14:20 2008 +0100 p54: move statistic timer update routine into a workqueue This patch moves a good chunk of code from the former statistic update timer routine into a workqueue, which is kindly provided by mac80211. Also as a nice side-effect we can lay the foundation for other essential housekeeping features we want to do in the future. e.g: - drain the (clogged) tx_queue. - initiate bursts. Signed-off-by: Christian Lamparter Signed-off-by: John W. Linville commit d5e490362feb648048ef20db9b0b2531d5425775 Author: Mohamed Abbas Date: Fri Dec 12 08:22:15 2008 -0800 iwlagn: fix agn rate scaling Rate scaling in agn can be broken because of these two problems 1- the LQ command could not sent, we try to call LQ command before post association will be rejected, this will cause the driver to break in rs_tx_status reporting initial rate does not match. 2- In rs_rate_init we can get a value of 12, rate 60, for last_txrate_idx, this rate only valid in SISO/MIMO mode only Signed-off-by: Mohamed Abbas Signed-off-by: Reinette Chatre Signed-off-by: John W. Linville commit b8d476c8cb64a1640d8762aa442b8a73fa74b7d5 Author: Jouni Malinen Date: Fri Dec 12 17:08:31 2008 +0200 mac80211: Send Layer 2 Update frame on reassociation When a STA roams back to the same AP before the previous STA entry has expired, a new STA entry is not added in mac80211. However, a Layer 2 Update frame still needs to be transmitted to update layer 2 devices about the new location for the STA. Without this, switches may continue to forward frames to the previous (now incorrect) port when STA roams between APs. Signed-off-by: Jouni Malinen Signed-off-by: John W. Linville commit 0fe45b1debba7302155b62f3829119a1185a4f5a Author: Benoit PAPILLAULT Date: Fri Dec 12 15:29:58 2008 +0100 ath5k: fix 802.11 header padding on RX, unpadding on TX Padding the 802.11 header to a multiple of 4 bytes needs to be done only for frames with a body. This fixes a bug where 2 bytes were missing in monitor mode for ACK frames. Inspired by a patch from Jouni Malinen on ath9k. Ref: http://bugzilla.kernel.org/show_bug.cgi?id=12101 : Signed-off-by: Benoit Papillault Signed-off-by: John W. Linville commit baad1d921b1565b6f08f60c035531d13ad8afa82 Author: Jouni Malinen Date: Fri Dec 12 14:38:34 2008 +0200 ath9k: Report HT rates in RX status Fix and clean up the RX status reporting by getting rid of code that used internal rate tables and ratekbps calculation. The correct value is now reported with MCS index instead of the old mechanism that defaulted to using the highest legacy rate. Signed-off-by: Jouni Malinen Signed-off-by: John W. Linville commit 0fb8ca45eb164c405eef8978f26829f9348b4d4d Author: Jouni Malinen Date: Fri Dec 12 14:38:33 2008 +0200 mac80211: Add HT rates into RX status reporting This patch adds option for HT-enabled drivers to report HT rates (HT20/HT40, short GI, MCS index) to mac80211. These rates are currently not in the rate table, so the rate_idx is used to indicate MCS index. Signed-off-by: Jouni Malinen Signed-off-by: John W. Linville commit 9d8eed12dbc04f8ed70090da14211c808b5a8d81 Author: Sujith Date: Fri Dec 12 11:59:07 2008 +0530 ath9k: Do not use association state to update rate table Now that HT information is made available to the driver through config() callback, the channel type can be calculated whenever setting the channel. Update the rate table accordingly with the new channel type. Signed-off-by: Sujith Signed-off-by: John W. Linville commit 094d05dc32fc2930e381189a942016e5561775d9 Author: Sujith Date: Fri Dec 12 11:57:43 2008 +0530 mac80211: Fix HT channel selection HT management is done differently for AP and STA modes, unify to just the ->config() callback since HT is fundamentally a PHY property and cannot be per-BSS. Rename enum nl80211_sec_chan_offset as nl80211_channel_type to denote the channel type ( NO_HT, HT20, HT40+, HT40- ). Signed-off-by: Johannes Berg Signed-off-by: Sujith Signed-off-by: John W. Linville commit 420e7fabd9c6d907280ed6b3e40eef425c5d8d8d Author: Henning Rogge Date: Thu Dec 11 22:04:19 2008 +0100 nl80211: Add signal strength and bandwith to nl80211station info This patch adds signal strength and transmission bitrate to the station_info of nl80211. Signed-off-by: Henning Rogge Acked-by: Johannes Berg Signed-off-by: John W. Linville commit 828aac2ee239dca9c1856c4856a57912e6a487c4 Merge: 6fd7c7f 7971db5 Author: Russell King Date: Fri Dec 19 19:46:52 2008 +0000 Merge branch 'for-rmk' of git://git.pengutronix.de/git/ukl/linux-2.6 into devel commit a1d94aa5560dc6b06baf30ae477115b51dc25461 Author: Randy Dunlap Date: Fri Dec 19 08:49:30 2008 -0800 kernel-doc: check for extra kernel-doc notations Add functionality to check for function parameters or structure (or union/typedef/enum) field members that are described in kernel-doc but are not part of the expected (declared) parameters or structure. These generate warnings that are called "Excess" descriptions. Signed-off-by: Randy Dunlap Signed-off-by: Sam Ravnborg commit d85316ac459f1cdd14ea1828eebeac1f1028e167 Author: Artem Bityutskiy Date: Thu Dec 18 14:10:05 2008 +0200 [MTD] fix m25p80 64-bit divisions MTD has recently been upgraded for 64-bit support, see commit number 69423d99fc182a81f3c5db3eb5c140acc6fc64be in the mtd-2.6.git tree (git://git.infradead.org/mtd-2.6.git) or see this URL: http://git.infradead.org/mtd-2.6.git?a=commit;h=69423d99fc182a81f3c5db3eb5c140acc6fc64be Some variables in MTD data structures which were 32-bit became 64-bit. Namely, the 'size' field in 'struct mtd_info' and the 'addr'/'len' fields in 'struct erase_info'. This means we have to use 'do_div' to divide them. This patch fixes the following linking error: ERROR: "__umoddi3" [drivers/mtd/devices/m25p80.ko] undefined! This patch changes divisions of 64-bit variable so that they use 'do_div'. This patch also change some print placeholders to get rid of gcc warnings. Signed-off-by: Artem Bityutskiy Signed-off-by: David Woodhouse commit 5b7f3a500cd097d673a6283fbb748c1e4f87bac6 Author: Artem Bityutskiy Date: Thu Dec 18 14:09:56 2008 +0200 [MTD] fix dataflash 64-bit divisions MTD has recently been upgraded for 64-bit support, see commit number 69423d99fc182a81f3c5db3eb5c140acc6fc64be in the mtd-2.6.git tree (git://git.infradead.org/mtd-2.6.git) or see this URL: http://git.infradead.org/mtd-2.6.git?a=commit;h=69423d99fc182a81f3c5db3eb5c140acc6fc64be Some variables in MTD data structures which were 32-bit became 64-bit. Namely, the 'size' field in 'struct mtd_info' and the 'addr'/'len' fields in 'struct erase_info'. This means we have to use 'do_div' to divide them. This patch fixes the following linking error: ERROR: "__udivdi3" [drivers/mtd/devices/mtd_dataflash.ko] undefined! ERROR: "__umoddi3" [drivers/mtd/devices/mtd_dataflash.ko] undefined! This patch changes divisions of 64-bit variable so that they use 'do_div'. This patch also change some print placeholders to get rid of gcc warnings. Signed-off-by: Artem Bityutskiy Cc: David Brownell Cc: Nicolas Pitre Signed-off-by: David Woodhouse commit 1f80e4db0fcb3bdc2be51389baf558a9519682f0 Author: Yan Zheng Date: Fri Dec 19 10:59:04 2008 -0500 Btrfs: set EXTENT_BOUNDARY bit before marking extent delalloc. There is a race in relocate_inode_pages, it happens when find_delalloc_range finds the delalloc extent before the boundary bit is set. Thank you, Signed-off-by: Yan Zheng commit 34bf63c4ddddd92bfba3387d134c37bf4426b2ce Author: Yan Zheng Date: Fri Dec 19 10:58:46 2008 -0500 Btrfs: properly update block accounting for metadata This adds the missing block accounting code to finish_current_insert and makes block accounting for root item properly protected by the delalloc spin lock. Signed-off-by: Yan Zheng commit ab67b7c1f780a8a321fe7ee49117775009350fb3 Author: Yan Zheng Date: Fri Dec 19 10:58:39 2008 -0500 Btrfs: Add missing mnt_drop_write in ioctl.c This patch adds the missing mnt_drop_write to match mnt_want_write in btrfs_ioctl_defrag and btrfs_ioctl_clone Signed-off-by: Yan Zheng commit eb63212868c348cc6d3ec6929d7d98f7d29493e9 Author: Takashi Iwai Date: Fri Dec 19 16:39:48 2008 +0100 ALSA: hda - Power up always when no jack detection is available When no jack detection is available, the pins should be always turned on since it can't be turned on/off dynamically via unsol events. Signed-off-by: Takashi Iwai commit 213cc060797378059a28ebc5c539f3e9a80160bd Author: Pekka J Enberg Date: Fri Dec 19 12:08:39 2008 +0200 ftrace: introduce tracing_reset_online_cpus() helper Impact: cleanup This patch factors out common code from multiple tracers into a tracing_reset_online_cpus() function and converts the tracers to use it. Signed-off-by: Pekka Enberg Signed-off-by: Ingo Molnar commit 9158923228822c08ed3116bfe21472261a05a725 Author: Takashi Iwai Date: Fri Dec 19 15:59:40 2008 +0100 ALSA: hda - Fix unused variable warnings in patch_sigmatel.c Fixed "unused varible" warnings in patch_sigmatel.c that have been introduced by the last changes. Signed-off-by: Takashi Iwai commit 6030634ac3dc818d2eafa3ddf00abba88918b3bd Merge: d4d9cd03 7662453 Author: Takashi Iwai Date: Fri Dec 19 15:43:24 2008 +0100 Merge branch 'topic/hda-stac-fix' into topic/hda commit 70043058a6968917c00c8d4cff5bfc0e095831ec Merge: 40aa4a3 19b3f31 Author: Takashi Iwai Date: Fri Dec 19 15:36:58 2008 +0100 Merge branch 'fix/asoc' into topic/asoc commit d4d9cd0338892e7f0d65f8a110473d175535cd5d Author: Takashi Iwai Date: Fri Dec 19 15:19:11 2008 +0100 ALSA: hda - Add probe_only option Added probe_only module option to hd-audio driver. This option specifies whether the driver creates and initializes the codec-parser after probing. When this option is set, the driver skips the codec parsing and initialization but gives you proc and other accesses. It's useful to see the initial codec state for debugging. The default of this value is off, so the default behavior is as same as before. Signed-off-by: Takashi Iwai commit 766245348db4b047a9b53548b5b893cd5115decc Author: Takashi Iwai Date: Fri Dec 19 10:09:47 2008 +0100 ALSA: hda - Use more distinct name for a unique volume in STAC/IDT When the line_out has only one DAC and it's unique (i.e. not shared by other outputs), assign a more reasonable and distinct mixer name such as "Headphone" or "Speaker". Signed-off-by: Takashi Iwai commit c21ca4a872697aeda4fe91bf9b6cc8380c62827c Author: Takashi Iwai Date: Fri Dec 19 09:26:08 2008 +0100 ALSA: hda - Rework on STAC/IDT auto-configuration code The current auto-configuration code has several problems especially for the new IDT codecs, e.g. wrong assignment of pins and DACs or coupled volume for speaker and headphone. This patch is a fairly large rewrite of the auto-configuration code. Some remaks - mic_switch and line_switch contain NIDs instead of bool - dac_list isn't fixed for IDT 92HD* codecs now, they are all probed - extra HP and speakers are stored in extra_dacs[]. Signed-off-by: Takashi Iwai commit 03c6901ea22bbb532586334d5b79941ccf56d5b0 Merge: 692f904 8f55c1e Author: Takashi Iwai Date: Fri Dec 19 14:24:13 2008 +0100 Merge branch 'fix/hda' into topic/hda commit 8df0f70751dc0e51d0550caee3416339183c5767 Author: Takashi Iwai Date: Fri Dec 19 13:55:17 2008 +0100 ALSA: ca0106 - Fix typo in resume code The register and channel_id pair were twisted in the pm code... Oh my. Signed-off-by: Takashi Iwai commit 692f90421d3716ef0d0f120d9d2c9684009a4a01 Author: Takashi Iwai Date: Fri Dec 19 12:44:46 2008 +0100 ALSA: hda - Fix HD-Audio.txt reference of model list The model list is now in HD-Audio-Models.txt. Signed-off-by: Takashi Iwai commit 3d4758299fa6180ff9304634c67ffdd44272c8e8 Author: Takashi Iwai Date: Fri Dec 19 12:13:18 2008 +0100 ALSA: ca0106 - Add IEC958 PCM Stream controls Added "IEC958 PCM Stream" controls for the per-stream IEC958 status bits. Using this instead of "IEC958 Default" is safer since the status bits will be recovered to the default states after closing the PCM stream. Signed-off-by: Takashi Iwai commit 86effd7e12ca63cecfd218717473d606e138e5e1 Author: Takashi Iwai Date: Fri Dec 19 12:04:06 2008 +0100 ALSA: ca0106 - Don't override the values at resume Don't override some values in ca0106_init_chip() at resume. Signed-off-by: Takashi Iwai commit b4f9fe12157a33351d0df78e925dcacd13252783 Author: Len Brown Date: Thu Dec 11 14:37:26 2008 -0500 ACPI: move wmi, asus_acpi, toshiba_acpi to drivers/platform/x86 These are platform specific drivers that happen to use ACPI, while drivers/acpi/ is for code that implements ACPI itself. Signed-off-by: Len Brown commit 41b16dce390510f550a4d2b12b98e0258bbed6e2 Author: Len Brown Date: Mon Dec 1 00:09:47 2008 -0500 create drivers/platform/x86/ from drivers/misc/ Move x86 platform specific drivers from drivers/misc/ to a new home under drivers/platform/x86/. The community has been maintaining x86 vendor-specific platform specific drivers under /drivers/misc/ for a few years. The oldest ones started life under drivers/acpi. They moved out of drivers/acpi/ because they don't actually implement the ACPI specification, but either simply use ACPI, or implement vendor-specific ACPI extensions. In the future we anticipate... drivers/misc/ will go away. other architectures will create drivers/platform/ Signed-off-by: Len Brown commit 8c36790a21eec6c39c372e92c76e81865005a6ce Author: Len Brown Date: Sun Nov 30 23:59:07 2008 -0500 drivers/misc/Makefile, Kconfig: cleanup tabs->space and delete unnecessary dummy build-in.o rule. Suggested-by: Sam Ravnborg Signed-off-by: Len Brown commit baa5835df10254762aedb6cb23a9c1508f969736 Author: Rafael J. Wysocki Date: Mon Dec 8 00:52:49 2008 +0100 Hibernate: Replace unnecessary evaluation of pfn_to_page() Replace one evaluation of pfn_to_page() in copy_data_pages() with the value of a local variable containing the right number already. Signed-off-by: Rafael J. Wysocki Acked-by: Pavel Machek Signed-off-by: Len Brown commit 846705deb059c352cc0e5806d5964f815b8c6d98 Author: Rafael J. Wysocki Date: Wed Nov 26 18:00:24 2008 -0500 Hibernate: Take overlapping zones into account (rev. 2) It has been requested to make hibernation work with memory hotplugging enabled and for this purpose the hibernation code has to be reworked to take the possible overlapping of zones into account. Thus, rework the hibernation memory bitmaps code to prevent duplication of PFNs from occuring and add checks to make sure that one page frame will not be marked as saveable many times. Additionally, use list.h lists instead of open-coded lists to implement the memory bitmaps. Signed-off-by: Rafael J. Wysocki Signed-off-by: Len Brown commit 69643279a88dea000ac2f858091d0e365f778245 Author: Rafael J. Wysocki Date: Tue Nov 11 21:32:44 2008 +0100 Hibernate: Do not oops on resume if image data are incorrect During resume from hibernation using the userland interface image data are being passed from the used space process to the kernel. These data need not be valid, but currently the kernel sometimes oopses if it gets invalid image data, which is wrong. Make the kernel return error codes to the user space in such cases. Signed-off-by: Rafael J. Wysocki Acked-by: Pavel Machek Signed-off-by: Len Brown commit ba84ed9546e91348fdf3ff2bff859b0ee53b407a Author: Rafael J. Wysocki Date: Sun Oct 26 20:56:30 2008 +0100 ACPI hibernate: Introduce new kernel parameter acpi_sleep=s4_nonvs On some machines it may be necessary to disable the saving/restoring of the ACPI NVS memory region during hibernation/resume. For this purpose, introduce new ACPI kernel command line option acpi_sleep=s4_nonvs. Based on a patch by Zhang Rui. Signed-off-by: Rafael J. Wysocki Acked-by: Nigel Cunningham Acked-by: Pavel Machek Signed-off-by: Len Brown commit b69edc76539be6a4aa39a22f85365fd4a3b3b9d2 Author: Rafael J. Wysocki Date: Fri Oct 31 01:02:41 2008 +0100 x86 hibernate: Mark ACPI NVS memory region at startup Introduce new initcall for marking the ACPI NVS memory at startup, so that it can be saved/restored during hibernation/resume. Based on a patch by Zhang Rui. Signed-off-by: Rafael J. Wysocki Signed-off-by: Len Brown commit 3f4b0ef7f2899c91b1d6958779f084b44dd59d32 Author: Rafael J. Wysocki Date: Sun Oct 26 20:52:15 2008 +0100 ACPI hibernate: Add a mechanism to save/restore ACPI NVS memory According to the ACPI Specification 3.0b, Section 15.3.2, "OSPM will call the _PTS control method some time before entering a sleeping state, to allow the platform's AML code to update this memory image before entering the sleeping state. After the system awakes from an S4 state, OSPM will restore this memory area and call the _WAK control method to enable the BIOS to reclaim its memory image." For this reason, implement a mechanism allowing us to save the NVS memory during hibernation and to restore it during the subsequent resume. Based on a patch by Zhang Rui. Signed-off-by: Rafael J. Wysocki Acked-by: Nigel Cunningham Cc: Zhang Rui Signed-off-by: Len Brown commit 3fe0313e6ec572e6bb3f9d247316a834336db4be Author: Zhang Rui Date: Sun Oct 26 20:50:26 2008 +0100 Hibernate: Call platform_begin before swsusp_shrink_memory Call platform_begin() before swsusp_shrink_memory() so that we can always allocate enough memory to save the ACPI NVS region from platform_begin(). Signed-off-by: Zhang Rui Acked-by: Nigel Cunningham Acked-by: Pavel Machek Signed-off-by: Rafael J. Wysocki Signed-off-by: Len Brown commit 4f2d23e1c3fe0abaf87fead3033c6cc3671b4d1c Author: Takashi Iwai Date: Fri Dec 19 10:14:13 2008 +0100 ALSA: hda - Use snd_hda_ctl_add() in patch_sigmatel.c Fixed the call of snd_ctl_add() by replacing with snd_hda_ctl_add() so that this mixer element can be tracked for re-configuration. Signed-off-by: Takashi Iwai commit 827057f5c12f5e10dc0279596db940aa6ddf8d9b Author: Takashi Iwai Date: Fri Dec 19 10:12:02 2008 +0100 ALSA: hda - Add missing initializations of amp and verb caches The re-initializations of codec amp and verb caches are missing at reconfig, which may cause Oops occasionally. Signed-off-by: Takashi Iwai commit 30cd324e9787ccc9a5ede59742d5409857550692 Merge: c71dd42 6d102bc 3d9101e Author: Ingo Molnar Date: Fri Dec 19 09:42:40 2008 +0100 Merge branches 'tracing/ftrace', 'tracing/ring-buffer' and 'tracing/urgent' into tracing/core Conflicts: include/linux/ftrace.h commit a7883dece6ef82097e6bdf19c1d0a20351e06056 Author: Ingo Molnar Date: Fri Dec 19 00:59:09 2008 +0100 x86: fix warning in arch/x86/kernel/io_apic.c this warning: arch/x86/kernel/io_apic.c: In function ‘ir_set_msi_irq_affinity’: arch/x86/kernel/io_apic.c:3373: warning: ‘cfg’ may be used uninitialized in this function triggers because the variable was truly uninitialized. We'd crash on entering this code. Signed-off-by: Ingo Molnar commit 9924da434a13668fceb208d56dbdf86d166862cc Author: Ingo Molnar Date: Fri Dec 19 00:53:40 2008 +0100 sched: fix warning in kernel/sched.c Impact: fix cpumask conversion bug this warning: kernel/sched.c: In function ‘find_busiest_group’: kernel/sched.c:3429: warning: passing argument 1 of ‘__first_cpu’ from incompatible pointer type shows that we forgot to convert a new patch to the new cpumask APIs. Signed-off-by: Ingo Molnar commit 06aaf76a7e2e4cc57eabcb8f43ec99c961fe55fe Author: Ingo Molnar Date: Thu Dec 18 21:30:23 2008 +0100 sched: move test_sd_parent() to an SMP section of sched.h Impact: build fix Signed-off-by: Ingo Molnar commit 100fdaee70ebf5f31b9451fbc01300c627091328 Author: Vaidyanathan Srinivasan Date: Thu Dec 18 23:26:47 2008 +0530 sched: add SD_BALANCE_NEWIDLE at MC and CPU level for sched_mc>0 Impact: change task balancing to save power more agressively Add SD_BALANCE_NEWIDLE flag at MC level and CPU level if sched_mc is set. This helps power savings and will not affect performance when sched_mc=0 Ingo and Mike Galbraith have optimised the SD flags by removing SD_BALANCE_NEWIDLE at MC and CPU level. This helps performance but hurts power savings since this slows down task consolidation by reducing the number of times load_balance is run. sched: fine-tune SD_MC_INIT commit 14800984706bf6936bbec5187f736e928be5c218 Author: Mike Galbraith Date: Fri Nov 7 15:26:50 2008 +0100 sched: re-tune balancing -- revert commit 9fcd18c9e63e325dbd2b4c726623f760788d5aa8 Author: Ingo Molnar Date: Wed Nov 5 16:52:08 2008 +0100 This patch selectively enables SD_BALANCE_NEWIDLE flag only when sched_mc is set to 1 or 2. This helps power savings by task consolidation and also does not hurt performance at sched_mc=0 where all power saving optimisations are turned off. Signed-off-by: Vaidyanathan Srinivasan Acked-by: Balbir Singh Acked-by: Peter Zijlstra Signed-off-by: Ingo Molnar commit ad273b32e482cdef306eac32b28d97f513a022f4 Author: Vaidyanathan Srinivasan Date: Thu Dec 18 23:26:36 2008 +0530 sched: activate active load balancing in new idle cpus Impact: tweak task balancing to save power more agressively Active load balancing is a process by which migration thread is woken up on the target CPU in order to pull current running task on another package into this newly idle package. This method is already in use with normal load_balance(), this patch introduces this method to new idle cpus when sched_mc is set to POWERSAVINGS_BALANCE_WAKEUP. This logic provides effective consolidation of short running daemon jobs in a almost idle system The side effect of this patch may be ping-ponging of tasks if the system is moderately utilised. May need to adjust the iterations before triggering. Signed-off-by: Vaidyanathan Srinivasan Acked-by: Balbir Singh Acked-by: Peter Zijlstra Signed-off-by: Ingo Molnar commit 7eb52dfa70dbf5232b5b83ec4357e6bebaa8fde8 Author: Vaidyanathan Srinivasan Date: Thu Dec 18 23:26:29 2008 +0530 sched: bias task wakeups to preferred semi-idle packages Impact: tweak task wakeup to save power more agressively Preferred wakeup cpu (from a semi idle package) has been nominated in find_busiest_group() in the previous patch. Use this information in sched_mc_preferred_wakeup_cpu in function wake_idle() to bias task wakeups if the following conditions are satisfied: - The present cpu that is trying to wakeup the process is idle and waking the target process on this cpu will potentially wakeup a completely idle package - The previous cpu on which the target process ran is also idle and hence selecting the previous cpu may wakeup a semi idle cpu package - The task being woken up is allowed to run in the nominated cpu (cpu affinity and restrictions) Basically if both the current cpu and the previous cpu on which the task ran is idle, select the nominated cpu from semi idle cpu package for running the new task that is waking up. Cache hotness is considered since the actual biasing happens in wake_idle() only if the application is cache cold. This technique will effectively move short running bursty jobs in a mostly idle system. Wakeup biasing for power savings gets automatically disabled if system utilisation increases due to the fact that the probability of finding both this_cpu and prev_cpu idle decreases. Signed-off-by: Vaidyanathan Srinivasan Acked-by: Balbir Singh Acked-by: Peter Zijlstra Signed-off-by: Ingo Molnar commit 7a09b1a27b1e5a4957e4af9951420fea02c44fba Author: Vaidyanathan Srinivasan Date: Thu Dec 18 23:26:22 2008 +0530 sched: nominate preferred wakeup cpu Impact: extend load-balancing code (no change in behavior yet) When the system utilisation is low and more cpus are idle, then the process waking up from sleep should prefer to wakeup an idle cpu from semi-idle cpu package (multi core package) rather than a completely idle cpu package which would waste power. Use the sched_mc balance logic in find_busiest_group() to nominate a preferred wakeup cpu. This info can be stored in appropriate sched_domain, but updating this info in all copies of sched_domain is not practical. Hence this information is stored in root_domain struct which is one copy per partitioned sched domain. The root_domain can be accessed from each cpu's runqueue and there is one copy per partitioned sched domain. Signed-off-by: Vaidyanathan Srinivasan Acked-by: Balbir Singh Acked-by: Peter Zijlstra Signed-off-by: Ingo Molnar commit d5679bd11916eba5c8ee9033003e1a5ce56ece9a Author: Vaidyanathan Srinivasan Date: Thu Dec 18 23:26:16 2008 +0530 sched: favour lower logical cpu number for sched_mc balance Impact: change load-balancing direction to match that of irqbalanced Just in case two groups have identical load, prefer to move load to lower logical cpu number rather than the present logic of moving to higher logical number. find_busiest_group() tries to look for a group_leader that has spare capacity to take more tasks and freeup an appropriate least loaded group. Just in case there is a tie and the load is equal, then the group with higher logical number is favoured. This conflicts with user space irqbalance daemon that will move interrupts to lower logical number if the system utilisation is very low. Signed-off-by: Vaidyanathan Srinivasan Acked-by: Balbir Singh Acked-by: Peter Zijlstra Signed-off-by: Ingo Molnar commit afb8a9b70b86866a60e08b2956ae4e1406390336 Author: Gautham R Shenoy Date: Thu Dec 18 23:26:09 2008 +0530 sched: framework for sched_mc/smt_power_savings=N Impact: extend range of /sys/devices/system/cpu/sched_mc_power_savings Currently the sched_mc/smt_power_savings variable is a boolean, which either enables or disables topology based power savings. This patch extends the behaviour of the variable from boolean to multivalued, such that based on the value, we decide how aggressively do we want to perform powersavings balance at appropriate sched domain based on topology. Variable levels of power saving tunable would benefit end user to match the required level of power savings vs performance trade-off depending on the system configuration and workloads. This version makes the sched_mc_power_savings global variable to take more values (0,1,2). Later versions can have a single tunable called sched_power_savings instead of sched_{mc,smt}_power_savings. Signed-off-by: Gautham R Shenoy Signed-off-by: Vaidyanathan Srinivasan Acked-by: Balbir Singh Acked-by: Peter Zijlstra Signed-off-by: Ingo Molnar commit 716707b29906e1d8d190defe3d646610b097a861 Author: Vaidyanathan Srinivasan Date: Thu Dec 18 23:26:02 2008 +0530 sched: convert BALANCE_FOR_xx_POWER to inline functions Impact: cleanup BALANCE_FOR_MC_POWER and similar macros defined in sched.h are not constants and have various condition checks and significant amount of code that is not suitable to be contain in a macro. Also there could be side effects on the expressions passed to some of them like test_sd_parent(). This patch converts all complex macros related to power savings balance to inline functions. Signed-off-by: Vaidyanathan Srinivasan Acked-by: Balbir Singh Acked-by: Peter Zijlstra Signed-off-by: Ingo Molnar commit b56863630ddbdea6e22df8835f78f0b1da037103 Author: Darren Hart Date: Thu Dec 18 15:06:34 2008 -0800 futex: clean up futex_(un)lock_pi fault handling Impact: cleanup Some apparently left over cruft code was complicating the fault logic: Testing if uval != -EFAULT doesn't have any meaning, get_user() sets ret to either 0 or -EFAULT, there's no need to compare uval, especially not against EFAULT which it will never be. This patch removes the superfluous test and clarifies the comment blocks. Build and boot tested on an 8way x86_64 system. Signed-off-by: Darren Hart Signed-off-by: Ingo Molnar commit 345077cd98ff5532b2d1158013c3fec7b1ae85ec Author: Suresh Siddha Date: Thu Dec 18 18:09:21 2008 -0800 x86: fix intel x86_64 llc_shared_map/cpu_llc_id anomolies Impact: fix wrong cache sharing detection on platforms supporting > 8 bit apicid's In the presence of extended topology eumeration leaf 0xb provided by cpuid, 32bit extended initial_apicid in cpuinfo_x86 struct will be updated by detect_extended_topology(). At this instance, we should also reinit the apicid (which could also potentially be extended to 32bit). With out this there will potentially be duplicate apicid's populated in the per cpu's cpuinfo_x86 struct, resulting in wrong cache sharing topology etc detected by init_intel_cacheinfo(). Reported-by: Dimitri Sivanich Signed-off-by: Suresh Siddha Acked-by: Dimitri Sivanich Signed-off-by: Ingo Molnar Cc: commit cae51176c1082ecb59706056910f8a217d433981 Author: Takashi Iwai Date: Fri Dec 19 08:36:53 2008 +0100 ALSA: split HD-audio model list to HD-Audio-Models.txt Split the list of model option values to a separate file, HD-Audio-Models.txt, from ALSA-Configuration.txt. Signed-off-by: Takashi Iwai commit 335b986be79122b7323e09727e14c6a02bcf7746 Merge: 0ff5551 132bb7c Author: Takashi Iwai Date: Fri Dec 19 08:25:46 2008 +0100 Merge branch 'topic/hda-doc' into topic/hda commit 0ff555192a8d20385d49d1c420e2e8d409b3c0da Merge: 3218c17 9e43f0d Author: Takashi Iwai Date: Fri Dec 19 08:22:57 2008 +0100 Merge branch 'fix/hda' into topic/hda commit d62720ade82c5e5b8f9585e5ed02c89573ebf111 Author: Mike Travis Date: Wed Dec 17 14:14:30 2008 -0800 sysfs: add documentation to cputopology.txt for system cpumasks Add information to cputopology.txt explaining the output of various system cpumask's. Signed-off-by: Mike Travis Signed-off-by: Rusty Russell Acked-by: Greg Kroah-Hartman commit e057d7aea9d8f2a46cd440d8bfb72245d4e72d79 Author: Mike Travis Date: Mon Dec 15 20:26:48 2008 -0800 cpumask: add sysfs displays for configured and disabled cpu maps Impact: add new sysfs files. Add sysfs files "kernel_max" and "offline" to display the max CPU index allowed (NR_CPUS-1), and the map of cpus that are offline. Cpus can be offlined via HOTPLUG, disabled by the BIOS ACPI tables, or if they exceed the number of cpus allowed by the NR_CPUS config option, or the "maxcpus=NUM" kernel start parameter. The "possible_cpus=NUM" parameter can also extend the number of possible cpus allowed, in which case the cpus not present at startup will be in the offline state. (These cpus can be HOTPLUGGED ON after system startup [pending a follow-on patch to provide the capability via the /sys/devices/sys/cpu/cpuN/online mechanism to bring them online.]) By design, the "offlined cpus > possible cpus" display will always use the following formats: * all possible cpus online: "x$" or "x-y$" * some possible cpus offline: ".*,x$" or ".*,x-y$" where: x == number of possible cpus (nr_cpu_ids); and y == number of cpus >= NR_CPUS or maxcpus (if y > x). One use of this feature is for distros to select (or configure) the appropriate kernel to install for the resident system. Notes: * cpus offlined <= possible cpus will be printed for all architectures. * cpus offlined > possible cpus will only be printed for arches that set 'total_cpus' [X86 only in this patch]. Based on tip/cpus4096 + .../rusty/linux-2.6-for-ingo.git/master + x86-only-patches sent 12/15. Signed-off-by: Mike Travis Signed-off-by: Rusty Russell commit c94cb314503a69492bf4455dce4f6d300cff0851 Author: Oliver Neukum Date: Thu Dec 18 23:00:59 2008 -0800 net: prepare usb net drivers for addition of status as a parameter USB is going to switch the signature of the callbacks to void callback(struct urb *urb, int status) This patch will ease the transition. Signed-off-by: Oliver Neukum Signed-off-by: David S. Miller commit ab5024ab23b78c86a0a1425defcdde48710fe449 Author: Cyrill Gorcunov Date: Thu Dec 18 22:59:32 2008 -0800 net: ppp_generic - use DEFINE_IDR for static initialization We could use DEFINE_IDR for statically allocated idr that allow us to save a few lines of code. And spell fix. Signed-off-by: Cyrill Gorcunov Signed-off-by: David S. Miller commit a109a5b916bc180e14fad0d1e9c37a08c85652c0 Author: Karen Xie Date: Thu Dec 18 22:56:20 2008 -0800 cxgb3: manage private iSCSI IP address The accelerated iSCSI traffic could use a private IP address unknown to the OS: - The IP address is required in both drivers to manage ARP requests and connection set up. - Added an control call to retrieve the ip address. - Reply to ARP requests dedicated to the private IP address. Signed-off-by: Divy Le Ray Signed-off-by: Karen Xie Signed-off-by: David S. Miller commit 221b3d60cbb2740ec7d46a4f1ea6d3318a112e51 Author: Anton Vorontsov Date: Thu Dec 18 08:23:35 2008 +0000 ucc_geth: Remove UGETH_FILTERING dead code The code appears to be dead: nobody call these functions, plus build breaks when UGETH_FILTERING is enabled: ucc_geth.c:1848: warning: 'struct enet_addr' declared inside parameter list ucc_geth.c:1848: warning: its scope is only this definition or declaration, which is probably not what you want ucc_geth.c: In function 'ugeth_82xx_filtering_get_match_addr_in_hash': ucc_geth.c:1856: error: dereferencing pointer to incomplete type ucc_geth.c:1874: error: dereferencing pointer to incomplete type ucc_geth.c:1877: warning: return from incompatible pointer type ucc_geth.c: At top level: ucc_geth.c:1885: warning: 'struct enet_addr' declared inside parameter list ucc_geth.c: In function 'ugeth_82xx_filtering_add_addr_in_hash': ucc_geth.c:1894: error: dereferencing pointer to incomplete type ucc_geth.c:1909: warning: passing argument 2 of 'ugeth_82xx_filtering_get_match_addr_in_hash' from incompatible pointer type ucc_geth.c:1909: warning: assignment from incompatible pointer type ucc_geth.c:1918: error: dereferencing pointer to incomplete type ucc_geth.c: At top level: ucc_geth.c:1928: warning: 'struct enet_addr' declared inside parameter list ucc_geth.c: In function 'ugeth_82xx_filtering_clear_addr_in_hash': ucc_geth.c:1947: warning: passing argument 2 of 'ugeth_82xx_filtering_get_match_addr_in_hash' from incompatible pointer type ucc_geth.c:1947: warning: assignment from incompatible pointer type ucc_geth.c:1954: error: dereferencing pointer to incomplete type ucc_geth.c: At top level: ucc_geth.c:2060: warning: 'struct enet_addr' declared inside parameter list ucc_geth.c: In function 'ugeth_82xx_filtering_add_addr_in_paddr': ucc_geth.c:2064: error: dereferencing pointer to incomplete type ucc_geth.c:2073: error: dereferencing pointer to incomplete type ucc_geth.c:2075: warning: passing argument 2 of 'hw_add_addr_in_paddr' from incompatible pointer type make[2]: *** [ucc_geth.o] Error 1 The code is there since the driver was merged, and nobody seem to be interested in fixing or actually using it. If we ever want the filtering support, we can always revert the patch and fix it, but so far it just draws reader's attention. Signed-off-by: Anton Vorontsov Signed-off-by: David S. Miller commit 3e73fc9a12679a546284d597c1f19165792d0b83 Author: Anton Vorontsov Date: Thu Dec 18 08:23:33 2008 +0000 ucc_geth: Fix IO memory (un)mapping code The driver doesn't check ioremap() return value, and doesn't free the remapped memory. This patch fixes it. Signed-off-by: Anton Vorontsov Signed-off-by: David S. Miller commit ba574696a34eb518979e742b35ccd30dec284583 Author: Anton Vorontsov Date: Thu Dec 18 08:23:31 2008 +0000 ucc_geth: Cleanup repetitive ucc_geth_memclean() calls No need to call ucc_geth_memclean() so many times, just check for errors in ucc_geth_open(), and call ucc_geth_stop() in case of errors. The ucc_geth_stop() may be called anytime and will do the right thing. Signed-off-by: Anton Vorontsov Signed-off-by: David S. Miller commit 67c2fb8ff0eda3cee95954a1dd245c3ce1a10486 Author: Anton Vorontsov Date: Thu Dec 18 08:23:29 2008 +0000 ucc_geth: Fix IRQ freeing code in ucc_geth_open() open() routine calls stop() in case of errors, the function will try to free the requested IRQ. But we don't know if it was actually requested, so the code might issue bogus free_irq(0, dev) call. Fix this by rearranging the code so that now request_irq() is the last call in the open() routine, and move free_irq() into the close(). Signed-off-by: Anton Vorontsov Signed-off-by: David S. Miller commit 1762a29ae5ebdd974eb2ba0c36b56ab6f7a9c16d Author: Anton Vorontsov Date: Thu Dec 18 08:23:26 2008 +0000 ucc_geth: Fix TX watchdog timeout handling The timeout handling code is currently broken in several ways: - It calls stop() (which frees all the memory and IRQ), and then calls startup() (which won't re-request IRQ, neither it will re-init the Fast UCC structure). - It calls these routines from the softirq context, which is wrong, since stop() calls free_irq() (which might sleep) and startup() allocates things with GFP_KERNEL. - It won't soft-reset the PHY. We need the PHY reset for at least MPC8360E-MDS boards with Marvell 88E1111 PHY, the PHY won't recover from timeouts w/o the reset. So the patch fixes these problems by implementing the workqueue for the timeout handling, and there we fully re-open the device via close() and open() calls. The close/open paths do the right things, and I can see that the driver actually survive the timeouts. Signed-off-by: Anton Vorontsov Signed-off-by: David S. Miller commit b3431c647662a3647f3500a12ec85d65e3622759 Author: Anton Vorontsov Date: Thu Dec 18 08:23:22 2008 +0000 ucc_geth: Fix endless loop in stop_{tx,rx} routines Currently the routines wait for the various bits w/o an assumption that bits may never get set. When timeouts happen I see that these bits never get set and so the routines hang the kernel. With this patch we'll wait the graceful stop for 100 ms, and then will simply exit. There is nothing* we can do about that, but it's OK since we'll do full reset later. * Well, actually, there is also not-graceful variant for the TX stop, but specs says that we never should use it. Signed-off-by: Anton Vorontsov Signed-off-by: David S. Miller commit 6086ebca13ddc9cfaaa25248ba8ebef35103fb74 Author: Matt Mackall Date: Thu Dec 18 19:54:22 2008 -0800 tcp: Stop scaring users with "treason uncloaked!" The original message was unhelpful and extremely alarming to our poor users, despite its charm. Make it less frightening. Signed-off-by: Matt Mackall Signed-off-by: David S. Miller commit e98def1f71fa0a6a37e12a56eb52ce5ed9e2e800 Author: Jesper Dangaard Brouer Date: Thu Dec 18 19:51:56 2008 -0800 NIU: Implement discard counters, optimize Optimize the lightly loaded case, by only synchronizing discards stats when qlen > 10 indicate potential for drops. Notice Robert Olsson might disagree with this patch. Signed-off-by: Jesper Dangaard Brouer Signed-off-by: David S. Miller commit d231776fda4a1ed754298720c5fbc29eb34f130c Author: Jesper Dangaard Brouer Date: Thu Dec 18 19:51:26 2008 -0800 NIU: Implement discard counters, info/debug statements. Discard packet counter debug statements that can be turned on at runtime by users to assist debugging of the driver code. Signed-off-by: Jesper Dangaard Brouer Signed-off-by: David S. Miller commit b8a606b871d37e03b92be1bd3deedeee97ea4f13 Author: Jesper Dangaard Brouer Date: Thu Dec 18 19:50:49 2008 -0800 NIU: Implement discard counters Implementing discard counters for the NIU driver turned out to be more complicated than first assumed. The discard counters for the NIU neptune chip are only 16-bit (even though this is a 64-bit chip). These 16-bit counters can overflow quickly, especially considering this is a 10Gbit/s ethernet card. The overflow indication bit is, unfortunatly, not usable as the counter value does not wrap, but remains at max value 0xFFFF. Resulting in lost counts until the counter is reset. The read and reset scheme also poses a problem. Both in theory and in practice counters can be lost in between reading nr64() and clearing the counter nw64(). For this reason, the number of counter clearings nw64() is limited/reduced. On the fast-path the counters are only syncronized once it exceeds 0x7FFF. When read by userspace, its syncronized fully. Signed-off-by: Jesper Dangaard Brouer Signed-off-by: David S. Miller commit 5664dd5561850df580414783cf3c8e0aa834c62e Author: Baruch Siach Date: Thu Dec 18 19:39:14 2008 -0800 enc28j60: reduce the number of spi transfers in enc28j60_set_bank() A major source of overhead in the enc28j60 driver is the SPI transfers. Each SPI transfer entails two kernel thread context switches. One major source of SPI transfers is the enc28j60_set_bank() functions which runs before every register access. This patch reduces the number of SPI transfers that enc28j60_set_bank() performs in two ways: 1. removes unnecessary bank switch for the registers that are present in all banks 2. when switching from banks 0 or 3 to banks 1 or 2 (i.e. only one bit changes) enc28j60_set_bank() does only one SPI transfer instead of two According to my tests these changes reduce the number of SPI transfers in about 25%. Signed-off-by: Baruch Siach Signed-off-by: David S. Miller commit b88a2a22c6670c31586d1a716255eae4c320b363 Author: Wang Chen Date: Thu Dec 18 19:36:46 2008 -0800 netdevice zd1201: Use after free | commit 3d29b0c33d431ecc69ec778f8c236d382f59a85f | Author: John W. Linville | Date: Fri Oct 31 14:13:12 2008 -0400 | | netdevice zd1201: Convert directly reference of netdev->priv to netdev_priv() | | We have some reasons to kill netdev->priv: | 1. netdev->priv is equal to netdev_priv(). | 2. netdev_priv() wraps the calculation of netdev->priv's offset, obviously | netdev_priv() is more flexible than netdev->priv. | But we cann't kill netdev->priv, because so many drivers reference to it | directly. | | OK, becasue Dave S. Miller said, "every direct netdev->priv usage is a bug", | and I want to kill netdev->priv later, I decided to convert all the direct | reference of netdev->priv first. | | (Original patch posted by Wang Chen w/ above | changelog but using dev->ml_priv. That doesn't seem appropriate | to me for this driver, so I've revamped it to use netdev_priv() | instead. -- JWL) This commit changed the allocation of netdev, but didn't change the free method of it. This causes "zd" be used after the memory, which is pointed by "zd", being freed by free_netdev(). Signed-off-by: Wang Chen Signed-off-by: David S. Miller commit 3de77cf23e9a19b9fc28e3b29371308325428c39 Author: David S. Miller Date: Thu Dec 18 19:23:56 2008 -0800 Revert "xfrm: Accept ESP packets regardless of UDP encapsulation mode" This reverts commit e061b165c7f4ec5e2e160d990b49011b5b6e5c6a. Signed-off-by: David S. Miller commit ec26b805879c7e77865b39ee91b737985e80006d Author: Mike Travis Date: Fri Dec 19 16:56:52 2008 +1030 cpumask: documentation for cpumask_var_t Impact: New kerneldoc comments Additional documentation added to all the alloc_cpumask and free_cpumask functions. Signed-off-by: Mike Travis Signed-off-by: Rusty Russell (minor additions) commit 7b4967c532045a1983d6d4af5c69cc7c5109f62b Author: Mike Travis Date: Fri Dec 19 16:56:37 2008 +1030 cpumask: Add alloc_cpumask_var_node() Impact: New API This will be needed in x86 code to allocate the domain and old_domain cpumasks on the same node as where the containing irq_cfg struct is allocated. (Also fixes double-dump_stack on rare CONFIG_DEBUG_PER_CPU_MAPS case) Signed-off-by: Mike Travis Signed-off-by: Rusty Russell (re-impl alloc_cpumask_var) commit 078a55db075bf4dcc03115dc94875b3dd83f69d4 Author: Yinghai Lu Date: Thu Dec 18 16:57:52 2008 -0800 sparseirq: add kernel-doc notation for new member in irq_desc, -v2 Signed-off-by: Yinghai Lu Acked-by: Randy Dunlap Signed-off-by: Ingo Molnar commit f34a10bd9f8cc95ebdc69a079db195636b2e22e0 Author: Ingo Molnar Date: Fri Dec 19 01:36:14 2008 +0100 x86: fix warning in arch/x86/kernel/microcode_amd.c this warning: arch/x86/kernel/microcode_amd.c: In function ‘apply_microcode_amd’: arch/x86/kernel/microcode_amd.c:163: warning: cast from pointer to integer of different size arch/x86/kernel/microcode_amd.c:163: warning: cast from pointer to integer of different size triggers because we want to pass the address to the microcode MSR, which is 64-bit even on 32-bit. Cast it explicitly to express this. Signed-off-by: Ingo Molnar commit c71dd42db2c6f1637b92502a214587431c1a6ad2 Author: Ingo Molnar Date: Fri Dec 19 01:09:51 2008 +0100 tracing: fix warnings in kernel/trace/trace_sched_switch.c these warnings: kernel/trace/trace_sched_switch.c: In function ‘tracing_sched_register’: kernel/trace/trace_sched_switch.c:96: warning: passing argument 1 of ‘register_trace_sched_wakeup_new’ from incompatible pointer type kernel/trace/trace_sched_switch.c:112: warning: passing argument 1 of ‘unregister_trace_sched_wakeup_new’ from incompatible pointer type kernel/trace/trace_sched_switch.c: In function ‘tracing_sched_unregister’: kernel/trace/trace_sched_switch.c:121: warning: passing argument 1 of ‘unregister_trace_sched_wakeup_new’ from incompatible pointer type Trigger because sched_wakeup_new tracepoints need the same trace signature as sched_wakeup - which was changed recently. Fix it. Signed-off-by: Ingo Molnar commit 3bddb9a3246f6df5cf3b7655cb541ac10203bb71 Author: Ingo Molnar Date: Fri Dec 19 01:03:29 2008 +0100 tracing: fix warning in kernel/trace/trace.c this warning: kernel/trace/trace.c: In function ‘print_lat_fmt’: kernel/trace/trace.c:1826: warning: unused variable ‘state’ Triggers because 'state' has become unused - remove it. Signed-off-by: Ingo Molnar commit b2e3c0adec918ea22b6c9d7c76193dd3aaba9bd4 Author: Ingo Molnar Date: Fri Dec 19 00:48:27 2008 +0100 hrtimers: fix warning in kernel/hrtimer.c this warning: kernel/hrtimer.c: In function ‘hrtimer_cpu_notify’: kernel/hrtimer.c:1574: warning: unused variable ‘dcpu’ is caused because 'dcpu' is only used in the CONFIG_HOTPLUG_CPU case. Signed-off-by: Ingo Molnar commit 6fd7c7fe72a46dfd227fe8db0c7b6863af90a982 Author: Russell King Date: Thu Dec 18 23:29:15 2008 +0000 [ARM] s3c: define __io using the typesafe version as per 0560cf5aa51216b06874333a2fa26ca034d97bdb Signed-off-by: Russell King commit 9f221495997d180df51ce4d8296669445dd3e7b3 Author: Hiroshi Shimamoto Date: Thu Dec 18 14:47:37 2008 -0800 x86: ia32.h: remove unused struct sigfram32 and rt_sigframe32 Impact: cleanup Remove struct sigfram32 and rt_sigframe32 because there is no user. Signed-off-by: Hiroshi Shimamoto Signed-off-by: H. Peter Anvin commit 8869a2e5d3a66d5b63b948052d60cd13ede8b735 Author: Hiroshi Shimamoto Date: Thu Dec 18 14:46:52 2008 -0800 x86: asm-offset_64: use rt_sigframe_ia32 Impact: cleanup Use rt_sigframe_ia32 instead of rt_sigframe32. Signed-off-by: Hiroshi Shimamoto Signed-off-by: H. Peter Anvin commit b2fa739c06931d167b6d2aa7b514ab7f30d04dc0 Author: Hiroshi Shimamoto Date: Thu Dec 18 14:43:34 2008 -0800 x86: sigframe.h: include headers for dependency Impact: cleanup Include following headers for dependency. asm/sigcontext.h asm/siginfo.h asm/ucontext.h Signed-off-by: Hiroshi Shimamoto Signed-off-by: H. Peter Anvin commit 0bd5292f5883d24b9416ba32a2a137482d7f380b Merge: fdb0a1a a244909 Author: Russell King Date: Thu Dec 18 22:15:48 2008 +0000 Merge branch 'for-rmk' of git://git.pengutronix.de/git/imx/linux-2.6 into devel commit fdb0a1a67e131f07a308730c80d07e330211d2e0 Merge: fc0b7a2 7bb56d0 Author: Russell King Date: Thu Dec 18 22:15:30 2008 +0000 Merge branch 'next-merged' of git://aeryn.fluff.org.uk/bjdooks/linux into devel commit 7bb56d01f111890414fbe35412698485b68ed468 Author: Ben Dooks Date: Thu Dec 18 22:06:42 2008 +0000 [ARM] S3C64XX: Ensure CPU_V6 is selected Select CPU_V6 with the S3C64XX series. Signed-off-by: Ben Dooks commit d1769d5475176124af04fa69848b022c98c4bc37 Author: Jaswinder Singh Date: Fri Dec 19 00:03:56 2008 +0530 x86: traps.c declare functions before they get used Impact: cleanup In asm/traps.h :- do_double_fault : added under X86_64 sync_regs : added under X86_64 math_error : moved out from X86_32 as it is common for both 32 and 64 bit math_emulate : moved from X86_32 as it is common for both 32 and 64 bit smp_thermal_interrupt : added under X86_64 mce_threshold_interrupt : added under X86_64 Signed-off-by: Jaswinder Singh Signed-off-by: Ingo Molnar commit a2ced6e173e0c93870f79856e97825f4e180891e Author: venkatesh.pallipadi@intel.com Date: Thu Dec 18 11:41:33 2008 -0800 x86: PAT: update documentation to cover pgprot and remap_pfn related changes - v3 Impact: Documentation only. Add documentation related to pgprot_* change. Signed-off-by: Venkatesh Pallipadi Signed-off-by: Suresh Siddha Signed-off-by: H. Peter Anvin commit 2520bd3123c00272f818a176c92d03c7d0a113d6 Author: venkatesh.pallipadi@intel.com Date: Thu Dec 18 11:41:32 2008 -0800 x86: PAT: add pgprot_writecombine() interface for drivers - v3 Impact: New mm functionality. Add pgprot_writecombine. pgprot_writecombine will be aliased to pgprot_noncached when not supported by the architecture. Signed-off-by: Venkatesh Pallipadi Signed-off-by: Suresh Siddha Signed-off-by: H. Peter Anvin commit 8a7b12f70fb135a1b1d865687de3edcdc780f6d1 Author: venkatesh.pallipadi@intel.com Date: Thu Dec 18 11:41:31 2008 -0800 x86: PAT: change pgprot_noncached to uc_minus instead of strong uc - v3 Impact: mm behavior change. Make pgprot_noncached uc_minus instead of strong UC. This will make pgprot_noncached to be in line with ioremap_nocache() and all the other APIs that map page uc_minus on uc request. Signed-off-by: Venkatesh Pallipadi Signed-off-by: Suresh Siddha Signed-off-by: H. Peter Anvin commit 5899329b19100c0b82dc78e9b21ed8b920c9ffb3 Author: venkatesh.pallipadi@intel.com Date: Thu Dec 18 11:41:30 2008 -0800 x86: PAT: implement track/untrack of pfnmap regions for x86 - v3 Impact: New mm functionality. Hookup remap_pfn_range and vm_insert_pfn and corresponding copy and free routines with reserve and free tracking. reserve and free here only takes care of non RAM region mapping. For RAM region, driver should use set_memory_[uc|wc|wb] to set the cache type and then setup the mapping for user pte. We can bypass below reserve/free in that case. Signed-off-by: Venkatesh Pallipadi Signed-off-by: Suresh Siddha Signed-off-by: H. Peter Anvin commit 2ab640379a0ab4cef746ced1d7e04a0941774bcb Author: venkatesh.pallipadi@intel.com Date: Thu Dec 18 11:41:29 2008 -0800 x86: PAT: hooks in generic vm code to help archs to track pfnmap regions - v3 Impact: Introduces new hooks, which are currently null. Introduce generic hooks in remap_pfn_range and vm_insert_pfn and corresponding copy and free routines with reserve and free tracking. Signed-off-by: Venkatesh Pallipadi Signed-off-by: Suresh Siddha Signed-off-by: H. Peter Anvin commit e121e418441525b5636321fe03d16f0193ad218e Author: venkatesh.pallipadi@intel.com Date: Thu Dec 18 11:41:28 2008 -0800 x86: PAT: add follow_pfnmp_pte routine to help tracking pfnmap pages - v3 Impact: New currently unused interface. Add a generic interface to follow pfn in a pfnmap vma range. This is used by one of the subsequent x86 PAT related patch to keep track of memory types for vma regions across vma copy and free. Signed-off-by: Venkatesh Pallipadi Signed-off-by: Suresh Siddha Signed-off-by: H. Peter Anvin commit 3c8bb73ace6249bd089b70c941440441940e3365 Author: venkatesh.pallipadi@intel.com Date: Thu Dec 18 11:41:27 2008 -0800 x86: PAT: store vm_pgoff for all linear_over_vma_region mappings - v3 Impact: Code transformation, new functions added should have no effect. Drivers use mmap followed by pgprot_* and remap_pfn_range or vm_insert_pfn, in order to export reserved memory to userspace. Currently, such mappings are not tracked and hence not kept consistent with other mappings (/dev/mem, pci resource, ioremap) for the sme memory, that may exist in the system. The following patchset adds x86 PAT attribute tracking and untracking for pfnmap related APIs. First three patches in the patchset are changing the generic mm code to fit in this tracking. Last four patches are x86 specific to make things work with x86 PAT code. The patchset aso introduces pgprot_writecombine interface, which gives writecombine mapping when enabled, falling back to pgprot_noncached otherwise. This patch: While working on x86 PAT, we faced some hurdles with trackking remap_pfn_range() regions, as we do not have any information to say whether that PFNMAP mapping is linear for the entire vma range or it is smaller granularity regions within the vma. A simple solution to this is to use vm_pgoff as an indicator for linear mapping over the vma region. Currently, remap_pfn_range only sets vm_pgoff for COW mappings. Below patch changes the logic and sets the vm_pgoff irrespective of COW. This will still not be enough for the case where pfn is zero (vma region mapped to physical address zero). But, for all the other cases, we can look at pfnmap VMAs and say whether the mappng is for the entire vma region or not. Signed-off-by: Venkatesh Pallipadi Signed-off-by: Suresh Siddha Signed-off-by: H. Peter Anvin commit fc0b7a20368193e1f7cf1376624eed419b9c33e6 Author: Ben Dooks Date: Thu Dec 18 12:26:54 2008 +0100 [ARM] 5349/1: VFP: Add PM code to save and restore current VFP state When CONFIG_PM is selected, the VFP code does not have any handler installed to deal with either saving the VFP state of the current task, nor does it do anything to try and restore the VFP after a resume. On resume, the VFP will have been reset and the co-processor access control registers are in an indeterminate state (very probably the CP10 and CP11 the VFP uses will have been disabled by the ARM core reset). When this happens, resume will break as soon as it tries to unfreeze the tasks and restart scheduling. Add a sys device to allow us to hook the suspend call to save the current thread state if the thread is using VFP and a resume hook which restores the CP10/CP11 access and ensures the VFP is disabled so that the lazy swapping will take place on next access. Signed-off-by: Ben Dooks Signed-off-by: Russell King commit f0bc2202e0373eb8e9b1ddbec930e2e681357db8 Author: Jaswinder Singh Date: Wed Dec 17 23:20:05 2008 +0530 x86: process.c declare c1e_remove_cpu before they get used Impact: cleanup, avoid sparse warning Included asm/idle.h for c1e_remove_cpu() declaration. Fixes this sparse warning: CHECK arch/x86/kernel/process.c arch/x86/kernel/process.c:284:6: warning: symbol 'c1e_remove_cpu' was not declared. Should it be static? Signed-off-by: Jaswinder Singh Signed-off-by: Ingo Molnar commit 5c2628e8b4f670d0954053444289e2b018be957a Author: Hiroshi Shimamoto Date: Thu Dec 18 09:18:35 2008 -0800 x86: sigframe.h: add guard macro Impact: cleanup Add missing guard macro _ASM_X86_SIGFRAME_H. Signed-off-by: Hiroshi Shimamoto Signed-off-by: Ingo Molnar commit 64db4cfff99c04cd5f550357edcc8780f96b54a2 Author: Paul E. McKenney Date: Thu Dec 18 21:55:32 2008 +0100 "Tree RCU": scalable classic RCU implementation This patch fixes a long-standing performance bug in classic RCU that results in massive internal-to-RCU lock contention on systems with more than a few hundred CPUs. Although this patch creates a separate flavor of RCU for ease of review and patch maintenance, it is intended to replace classic RCU. This patch still handles stress better than does mainline, so I am still calling it ready for inclusion. This patch is against the -tip tree. Nevertheless, experience on an actual 1000+ CPU machine would still be most welcome. Most of the changes noted below were found while creating an rcutiny (which should permit ejecting the current rcuclassic) and while doing detailed line-by-line documentation. Updates from v9 (http://lkml.org/lkml/2008/12/2/334): o Fixes from remainder of line-by-line code walkthrough, including comment spelling, initialization, undesirable narrowing due to type conversion, removing redundant memory barriers, removing redundant local-variable initialization, and removing redundant local variables. I do not believe that any of these fixes address the CPU-hotplug issues that Andi Kleen was seeing, but please do give it a whirl in case the machine is smarter than I am. A writeup from the walkthrough may be found at the following URL, in case you are suffering from terminal insomnia or masochism: http://www.kernel.org/pub/linux/kernel/people/paulmck/tmp/rcutree-walkthrough.2008.12.16a.pdf o Made rcutree tracing use seq_file, as suggested some time ago by Lai Jiangshan. o Added a .csv variant of the rcudata debugfs trace file, to allow people having thousands of CPUs to drop the data into a spreadsheet. Tested with oocalc and gnumeric. Updated documentation to suit. Updates from v8 (http://lkml.org/lkml/2008/11/15/139): o Fix a theoretical race between grace-period initialization and force_quiescent_state() that could occur if more than three jiffies were required to carry out the grace-period initialization. Which it might, if you had enough CPUs. o Apply Ingo's printk-standardization patch. o Substitute local variables for repeated accesses to global variables. o Fix comment misspellings and redundant (but harmless) increments of ->n_rcu_pending (this latter after having explicitly added it). o Apply checkpatch fixes. Updates from v7 (http://lkml.org/lkml/2008/10/10/291): o Fixed a number of problems noted by Gautham Shenoy, including the cpu-stall-detection bug that he was having difficulty convincing me was real. ;-) o Changed cpu-stall detection to wait for ten seconds rather than three in order to reduce false positive, as suggested by Ingo Molnar. o Produced a design document (http://lwn.net/Articles/305782/). The act of writing this document uncovered a number of both theoretical and "here and now" bugs as noted below. o Fix dynticks_nesting accounting confusion, simplify WARN_ON() condition, fix kerneldoc comments, and add memory barriers in dynticks interface functions. o Add more data to tracing. o Remove unused "rcu_barrier" field from rcu_data structure. o Count calls to rcu_pending() from scheduling-clock interrupt to use as a surrogate timebase should jiffies stop counting. o Fix a theoretical race between force_quiescent_state() and grace-period initialization. Yes, initialization does have to go on for some jiffies for this race to occur, but given enough CPUs... Updates from v6 (http://lkml.org/lkml/2008/9/23/448): o Fix a number of checkpatch.pl complaints. o Apply review comments from Ingo Molnar and Lai Jiangshan on the stall-detection code. o Fix several bugs in !CONFIG_SMP builds. o Fix a misspelled config-parameter name so that RCU now announces at boot time if stall detection is configured. o Run tests on numerous combinations of configurations parameters, which after the fixes above, now build and run correctly. Updates from v5 (http://lkml.org/lkml/2008/9/15/92, bad subject line): o Fix a compiler error in the !CONFIG_FANOUT_EXACT case (blew a changeset some time ago, and finally got around to retesting this option). o Fix some tracing bugs in rcupreempt that caused incorrect totals to be printed. o I now test with a more brutal random-selection online/offline script (attached). Probably more brutal than it needs to be on the people reading it as well, but so it goes. o A number of optimizations and usability improvements: o Make rcu_pending() ignore the grace-period timeout when there is no grace period in progress. o Make force_quiescent_state() avoid going for a global lock in the case where there is no grace period in progress. o Rearrange struct fields to improve struct layout. o Make call_rcu() initiate a grace period if RCU was idle, rather than waiting for the next scheduling clock interrupt. o Invoke rcu_irq_enter() and rcu_irq_exit() only when idle, as suggested by Andi Kleen. I still don't completely trust this change, and might back it out. o Make CONFIG_RCU_TRACE be the single config variable manipulated for all forms of RCU, instead of the prior confusion. o Document tracing files and formats for both rcupreempt and rcutree. Updates from v4 for those missing v5 given its bad subject line: o Separated dynticks interface so that NMIs and irqs call separate functions, greatly simplifying it. In particular, this code no longer requires a proof of correctness. ;-) o Separated dynticks state out into its own per-CPU structure, avoiding the duplicated accounting. o The case where a dynticks-idle CPU runs an irq handler that invokes call_rcu() is now correctly handled, forcing that CPU out of dynticks-idle mode. o Review comments have been applied (thank you all!!!). For but one example, fixed the dynticks-ordering issue that Manfred pointed out, saving me much debugging. ;-) o Adjusted rcuclassic and rcupreempt to handle dynticks changes. Attached is an updated patch to Classic RCU that applies a hierarchy, greatly reducing the contention on the top-level lock for large machines. This passes 10-hour concurrent rcutorture and online-offline testing on 128-CPU ppc64 without dynticks enabled, and exposes some timekeeping bugs in presence of dynticks (exciting working on a system where "sleep 1" hangs until interrupted...), which were fixed in the 2.6.27 kernel. It is getting more reliable than mainline by some measures, so the next version will be against -tip for inclusion. See also Manfred Spraul's recent patches (or his earlier work from 2004 at http://marc.info/?l=linux-kernel&m=108546384711797&w=2). We will converge onto a common patch in the fullness of time, but are currently exploring different regions of the design space. That said, I have already gratefully stolen quite a few of Manfred's ideas. This patch provides CONFIG_RCU_FANOUT, which controls the bushiness of the RCU hierarchy. Defaults to 32 on 32-bit machines and 64 on 64-bit machines. If CONFIG_NR_CPUS is less than CONFIG_RCU_FANOUT, there is no hierarchy. By default, the RCU initialization code will adjust CONFIG_RCU_FANOUT to balance the hierarchy, so strongly NUMA architectures may choose to set CONFIG_RCU_FANOUT_EXACT to disable this balancing, allowing the hierarchy to be exactly aligned to the underlying hardware. Up to two levels of hierarchy are permitted (in addition to the root node), allowing up to 16,384 CPUs on 32-bit systems and up to 262,144 CPUs on 64-bit systems. I just know that I am going to regret saying this, but this seems more than sufficient for the foreseeable future. (Some architectures might wish to set CONFIG_RCU_FANOUT=4, which would limit such architectures to 64 CPUs. If this becomes a real problem, additional levels can be added, but I doubt that it will make a significant difference on real hardware.) In the common case, a given CPU will manipulate its private rcu_data structure and the rcu_node structure that it shares with its immediate neighbors. This can reduce both lock and memory contention by multiple orders of magnitude, which should eliminate the need for the strange manipulations that are reported to be required when running Linux on very large systems. Some shortcomings: o More bugs will probably surface as a result of an ongoing line-by-line code inspection. Patches will be provided as required. o There are probably hangs, rcutorture failures, &c. Seems quite stable on a 128-CPU machine, but that is kind of small compared to 4096 CPUs. However, seems to do better than mainline. Patches will be provided as required. o The memory footprint of this version is several KB larger than rcuclassic. A separate UP-only rcutiny patch will be provided, which will reduce the memory footprint significantly, even compared to the old rcuclassic. One such patch passes light testing, and has a memory footprint smaller even than rcuclassic. Initial reaction from various embedded guys was "it is not worth it", so am putting it aside. Credits: o Manfred Spraul for ideas, review comments, and bugs spotted, as well as some good friendly competition. ;-) o Josh Triplett, Ingo Molnar, Peter Zijlstra, Mathieu Desnoyers, Lai Jiangshan, Andi Kleen, Andy Whitcroft, and Andrew Morton for reviews and comments. o Thomas Gleixner for much-needed help with some timer issues (see patches below). o Jon M. Tollefson, Tim Pepper, Andrew Theurer, Jose R. Santos, Andy Whitcroft, Darrick Wong, Nishanth Aravamudan, Anton Blanchard, Dave Kleikamp, and Nathan Lynch for keeping machines alive despite my heavy abuse^Wtesting. Signed-off-by: Paul E. McKenney Signed-off-by: Ingo Molnar commit d110ec3a1e1f522e2e9dfceb9c36d6590c26d2d4 Merge: 343e909 55dac3a Author: Ingo Molnar Date: Thu Dec 18 21:54:49 2008 +0100 Merge branch 'linus' into core/rcu commit f269b07e862c395d6981ab2c05d6bc34b0249e90 Author: Vegard Nossum Date: Thu Dec 18 18:35:06 2008 +0100 x86: revert CONFIG_RELOCATABLE=y defconfig change This commit: commit 5cb04df8d3f03e37a19f2502591a84156be71772 Author: Ingo Molnar Date: Sun May 4 19:49:04 2008 +0200 x86: defconfig updates changed CONFIG_RELOCATABLE from n to y, which may lead to a mismatch between the vmlinux debug information and the runtime location of the kernel, even when the bootloader does not relocate the kernel. Revert the specific change. Works for me with GRUB and qemu. Reference: http://lkml.org/lkml/2008/11/25/243 Signed-off-by: Vegard Nossum Signed-off-by: Ingo Molnar commit 179efcb47d5a5dd34a45be3f0eca4bffa717c6b4 Author: Vegard Nossum Date: Tue Dec 16 12:33:43 2008 +0100 kbuild: add headerdep used to detect inclusion cycles in header files Signed-off-by: Vegard Nossum Signed-off-by: Sam Ravnborg commit 40aa4a30d0fd075fb934de4ee8163056827052ab Author: Mark Brown Date: Tue Dec 16 10:15:12 2008 +0000 ASoC: Add WM8350 AudioPlus codec driver The WM8350 is an integrated audio and power management subsystem which provides a single-chip solution for portable audio and multimedia systems. The integrated audio CODEC provides all the necessary functions for high-quality stereo recording and playback. Programmable on-chip amplifiers allow for the direct connection of headphones and microphones with a minimum of external components. A programmable low-noise bias voltage is available to feed one or more electret microphones. Additional audio features include programmable high-pass filter in the ADC input path. This driver was originally written by Liam Girdwood with further updates from me. Signed-off-by: Mark Brown commit b8b33cb5608a3bb1b072548dc89159ef614096ab Author: Mark Brown Date: Thu Dec 18 11:19:30 2008 +0000 ASoC: Complain if we fail to create DAPM controls This should never happen and it's helpful to identify the specific control that failed when it does happen. Signed-off-by: Mark Brown commit 0b34a3d03e2fa615a786027b1ef4cbbd8c807f2c Author: Mark Brown Date: Tue Dec 16 14:44:48 2008 +0000 ASoC: Ease merge difficulties from new architectures Rather than listing lots of architectures per line in Kconfig and Makefile, causing merge conflicts all the time, have one per line in alphabetical order. Signed-off-by: Mark Brown commit 6a148eaa20e660064261864e6a54742247ace9fe Author: Ben Dooks Date: Sun Dec 14 22:33:02 2008 +0000 [ARM] S3C: Remove unnecessary includes As per Russell King's last review comment, find and remove all unnecessary includes of in the files that do not need them. Signed-off-by: Ben Dooks commit 549d0460bcbbf69791149725027b0036e6dc4d88 Author: Ben Dooks Date: Sun Dec 14 22:50:26 2008 +0000 [ARM] S3C24A0: Remove duplicate file The commit 39263db7986bf15c753f6847699107bdf5a2e318 added a default implementation which is shared if needed between all the s3c implementations. Remove the s3c24a0 version which is the same as this. Signed-off-by: Ben Dooks commit 7de40c216c15c02c453f17b6c9ecee83f93790f1 Author: Ben Dooks Date: Sun Dec 14 23:11:02 2008 +0000 [ARM] S3C: Remove cpufreq warnings for unset serial information As noted by Russell King, do not print any warnings if the uinfo or tty fields are not set when a CPU frequency change is sent. Signed-off-by: Ben Dooks commit 5bdf67312e1ddc03cb29dad9bfe5b24988ee1c97 Author: Ben Dooks Date: Sun Dec 14 23:14:07 2008 +0000 [ARM] S3C64XX: Remove __virt_to_bus/__bus_to_virt macros The changes for ARM highmem support have removed the need for the __virt_to_bus and __bus_to_virt macros, so remove them from this build. Signed-off-by: Ben Dooks commit dbf35992e17334f9ae8b2ea35e795d0c264e57ef Author: Ben Dooks Date: Tue Nov 4 15:29:09 2008 +0000 [ARM] S3C24XX: Add fourth UART definition for S3C2443 Add the fourth UART definition for the S3C2443, and at the same time fixup the problems caused by the enlarging of the UART array in the previous commits. Signed-off-by: Ben Dooks commit bdd4915a9f05ef6b41b51910b199f2668f20d2ef Author: Ben Dooks Date: Mon Nov 3 19:51:42 2008 +0000 [ARM] S3C: Update CONFIG_SERIAL_SAMSUNG_UARTS handling Fix the usage of CONFIG_SERIAL_SAMSUNG_UARTS in several places in the kernel where it had been missed. This finishes fixing a long standing issue where S3C2443 and S3C64XX could not use the 4th UART Signed-off-by: Ben Dooks commit 03d5e77bb6538d3f253e04ddf0dda9b848552589 Author: Ben Dooks Date: Mon Nov 3 09:21:23 2008 +0000 [ARM] S3C: Update number of serial ports Update the serial driver to handle the 4 ports of the S3C2443 and S364XX series. Signed-off-by: Ben Dooks commit 56c035c9ce1f1850969778af6a4cc0b99089b6c8 Merge: 7f27543 438a5d4 Author: Ben Dooks Date: Thu Dec 18 16:17:37 2008 +0000 Merge branch 'next-s3c64xx-device' into next-merged Conflicts: arch/arm/mach-s3c2440/mach-at2440evb.c commit a2449091522990e9746a3f1420b9041d9669590c Author: Sascha Hauer Date: Thu Dec 18 11:51:57 2008 +0100 [ARM] MXC: do not include mach/hardware.h from mach/memory.h Instead of including other header files, define PHYS_OFFSET directly Signed-off-by: Sascha Hauer commit 44421e42587125acf70771436bcd6af06e1261a3 Author: Sascha Hauer Date: Thu Dec 18 11:24:03 2008 +0100 [ARM] MXC: do not include mach/hardware.h from mach/timex.h Instead of including other header files, define CLOCK_TICK_RATE directly Signed-off-by: Sascha Hauer commit 9d631b835f518848b7f3ce803bfd00dc1bb8a5b1 Author: Sascha Hauer Date: Thu Dec 18 11:08:55 2008 +0100 [ARM] MXC: remove dependency to other include files from irqs.h This patch removes the inclusion of mach/hardware.h from mach/irqs.h and switches to more meaningful names for the irq related macros. Signed-off-by: Sascha Hauer commit 7c99502383713f1a59c35fbe14db8364e4052286 Author: Sascha Hauer Date: Thu Dec 18 10:01:49 2008 +0100 [ARM] MX1/MX2 DMA: add missing local_irq_restore() This patch adds a missing call to local_irq_restore() and fixes some compiler warnings about unused variables for MX1. Signed-off-by: Sascha Hauer commit 7f2754378f3522a42daafdbb9d2385f341008454 Merge: c6ad115 a9c5d23 Author: Ben Dooks Date: Thu Dec 18 14:52:04 2008 +0000 Merge branch 'next-s3c64xx' into next-merged commit c6ad115876763e4f15055982ecb9579cb7abab5f Merge: 1d19fdb 28ab44c5b Author: Ben Dooks Date: Thu Dec 18 14:52:00 2008 +0000 Merge branch 'next-s3c24xx' into next-merged commit 1d19fdba149f4db055902c30b27adfb7d1ead058 Author: Ben Dooks Date: Mon Nov 10 10:59:29 2008 +0000 [ARM] AT2440EVB: LCD frame buffer support. Add LCD frame buffer support for AT2440EVB board. Signed-off-by: Ramax Lo Signed-off-by: Ben Dooks commit 4a045cb306a349250cf50fc8ef1dddea0e8f395a Author: Ben Dooks Date: Mon Nov 10 10:59:28 2008 +0000 [ARM] S3C24XX: AT2440EVB MMC Add SD/MMC support for AT2440EVB board. Signed-off-by: Ramax Lo Signed-off-by: Ben Dooks commit 6290ce30583017bf7916471f15ff4084137e5ce4 Author: Ben Dooks Date: Mon Nov 10 10:59:31 2008 +0000 [ARM] ANUBIS: Add SM501 GPIO and update I2C setup Add GPIO support to the SM501 on the Simtec Anubis, and then add the necessary updates for allowing the two gpio I2C busses to be used. Signed-off-by: Ben Dooks commit e2178d437460dafaaae89926088523432eb4de53 Author: Ben Dooks Date: Mon Nov 10 10:59:32 2008 +0000 [ARM] S3C24XX: Add extra GPIOs via Kconfig Add Kconfig entries to allow more GPIO space to be specified depending on the machine(s) selected. Signed-off-by: Ben Dooks commit 8783b3446ba33a1cdd43f7eaa4ad6a1b73502a1a Author: Ben Dooks Date: Mon Nov 10 10:59:33 2008 +0000 [ARM] JIVE: fix spi gpio implementation Fix the name of the driver, as well as the fact we are not passing the number of chipselects to the driver. Signed-off-by: Ben Dooks commit 28ab44c5be60a9b91021a7cc7b4e202775c04764 Author: Ben Dooks Date: Thu Dec 18 14:20:04 2008 +0000 [ARM] S3C24XX: ADC driver core A common core driver for the S3C24XX ADC block so that the touchscreen, hwmon and any other drivers can share the resource. Signed-off-by: Ben Dooks commit 74c8a6130486bed224e960790f4aa72dd09c061e Author: KOSAKI Motohiro Date: Wed Dec 17 19:40:33 2008 +0900 locking, irq: enclose irq_desc_lock_class in CONFIG_LOCKDEP Impact: simplify code commit "08678b0: generic: sparse irqs: use irq_desc() [...]" introduced the irq_desc_lock_class variable. But it is used only if CONFIG_SPARSE_IRQ=Y or CONFIG_TRACE_IRQFLAGS=Y. Otherwise, following warnings happen: CC kernel/irq/handle.o kernel/irq/handle.c:26: warning: 'irq_desc_lock_class' defined but not used Actually, current early_init_irq_lock_class has a bit strange and messy ifdef. In addition, it is not valueable. 1. this function is protected by !CONFIG_SPARSE_IRQ, but that is not necessary. if CONFIG_SPARSE_IRQ=Y, desc of all irq number are initialized by NULL at first - then this function calling is safe. 2. this function protected by CONFIG_TRACE_IRQFLAGS too. but it is not necessary either, because lockdep_set_class() doesn't have bad side effect even if CONFIG_TRACE_IRQFLAGS=n. This patch bloat kernel size a bit on CONFIG_TRACE_IRQFLAGS=n and CONFIG_SPARSE_IRQ=Y - but that's ok. early_init_irq_lock_class() is not a fastpatch at all. To avoid messy ifdefs is more important than a few bytes diet. Signed-off-by: KOSAKI Motohiro Signed-off-by: Ingo Molnar commit 9c2c48020ec0dd6ecd27e5a1298f73b40d85a595 Author: Ken Chen Date: Tue Dec 16 23:41:22 2008 -0800 schedstat: consolidate per-task cpu runtime stats Impact: simplify code When we turn on CONFIG_SCHEDSTATS, per-task cpu runtime is accumulated twice. Once in task->se.sum_exec_runtime and once in sched_info.cpu_time. These two stats are exactly the same. Given that task->se.sum_exec_runtime is always accumulated by the core scheduler, sched_info can reuse that data instead of duplicate the accounting. Signed-off-by: Ken Chen Acked-by: Peter Zijlstra Signed-off-by: Ingo Molnar commit 6d102bc68f3dd2ae0e305b09170b1751aa67baeb Author: Lai Jiangshan Date: Wed Dec 17 17:48:23 2008 +0800 tracing/ring-buffer: remove unused ring_buffer size Impact: remove dead code struct ring_buffer.size is not set after ring_buffer is initialized or resized. it is always 0. we can use "buffer->pages * PAGE_SIZE" to get ring_buffer's size Signed-off-by: Lai Jiangshan Signed-off-by: Ingo Molnar commit 7c9c160c54fc545efc23881344593868e5f717bd Author: Jaswinder Singh Date: Wed Dec 17 23:18:52 2008 +0530 x86: tls.c declare sys_set_thread_area and sys_get_thread_area before they get used Impact: cleanup In asm/syscalls.h move out sys_set_thread_area() and sys_get_thread_area() as they are common for both 32 and 64 bit. Signed-off-by: Jaswinder Singh Signed-off-by: Ingo Molnar commit 57a37505d19f4dfeee26f0fd7ea38ed6f1d10cbe Author: Jaswinder Singh Date: Wed Dec 17 23:17:21 2008 +0530 x86: time_64.c timer_interrupt() should be static Impact: cleanup, reduce kernel size a bit Signed-off-by: Jaswinder Singh Signed-off-by: Ingo Molnar commit 3d9101e92529e1ff6014f95a69afc82f37b9b13a Author: Thomas Gleixner Date: Wed Dec 17 22:34:13 2008 +0100 trace: fix task state printout Impact: fix occasionally incorrect trace output The tracing code has interesting varieties of printing out task state. Unfortunalely only one of the instances is correct as it copies the code from sched.c:sched_show_task(). The others are plain wrong as they treatthe bitfield as an integer offset into the character array. Also the size check of the character array is wrong as it includes the trailing \0. Use a common state decoder inline which does the Right Thing. Signed-off-by: Thomas Gleixner Acked-by: Steven Rostedt Signed-off-by: Ingo Molnar commit ea3a6d6d60b2504c573fe3415f6617e8310c0236 Author: Steven Rostedt Date: Wed Dec 17 15:05:36 2008 -0500 ftrace: add not to regex on filtering functions Impact: enhancement Ingo Molnar has asked about a way to remove items from the filter lists. Currently, you can only add or replace items. The way items are added to the list is through opening one of the list files (set_ftrace_filter or set_ftrace_notrace) via append. If the file is opened for truncate, the list is cleared. echo spin_lock > /debug/tracing/set_ftrace_filter The above will replace the list with only spin_lock echo spin_lock >> /debug/tracing/set_ftrace_filter The above will add spin_lock to the list. Now this patch adds: echo '!spin_lock' >> /debug/tracing/set_ftrace_filter This will remove spin_lock from the list. The limited glob features of these lists also can be notted. echo '!spin_*' >> /debug/tracing/set_ftrace_filter This will remove all functions that start with 'spin_' Note: echo '!spin_*' > /debug/tracing/set_ftrace_filter will simply clear out the list (notice the '>' instead of '>>') Signed-off-by: Steven Rostedt Signed-off-by: Ingo Molnar commit e05a43b744fb9518cbf8539a7ef33164ac60a70f Author: Steven Rostedt Date: Wed Dec 17 09:43:00 2008 -0500 trace: better use of stack_trace_enabled for boot up code Impact: clean up Andrew Morton suggested to use the stack_tracer_enabled variable to decide whether or not to start stack tracing on bootup. This lets us remove the start_stack_trace variable. Reported-by: Andrew Morton Signed-off-by: Steven Rostedt Signed-off-by: Ingo Molnar commit f38f1d2aa5a3520cf05da7cd6bd12fe2b0c509b7 Author: Steven Rostedt Date: Tue Dec 16 23:06:40 2008 -0500 trace: add a way to enable or disable the stack tracer Impact: enhancement to stack tracer The stack tracer currently is either on when configured in or off when it is not. It can not be disabled when it is configured on. (besides disabling the function tracer that it uses) This patch adds a way to enable or disable the stack tracer at run time. It defaults off on bootup, but a kernel parameter 'stacktrace' has been added to enable it on bootup. A new sysctl has been added "kernel.stack_tracer_enabled" to let the user enable or disable the stack tracer at run time. Signed-off-by: Steven Rostedt Signed-off-by: Ingo Molnar commit 40874491f9e9a4cb08eaf663dbe018bf5671975a Merge: d680fe4 d072c25 Author: Ingo Molnar Date: Thu Dec 18 12:51:05 2008 +0100 Merge branches 'tracing/ftrace' and 'tracing/hw-branch-tracing' into tracing/core commit 6f8a0ed4e5d86c01db5e7e3f95d9003b7cf9cb87 Author: Jeremy Fitzhardinge Date: Wed Dec 17 13:42:29 2008 -0800 sparseirq, xen: make sure irq_desc is allocated for interrupts Impact: fix crash Make sure all Xen irqs have an irq_desc. Signed-off-by: Jeremy Fitzhardinge Signed-off-by: Ingo Molnar commit b71edbe9a0adcf174833d371b000c5e97317fec5 Author: Sascha Hauer Date: Thu Dec 18 11:12:39 2008 +0100 [ARM] MX27ads: fix function name Signed-off-by: Sascha Hauer commit 1f04128a3db7c0f0e8b5d25323eba70ac342f47f Author: Takashi Iwai Date: Thu Dec 18 12:17:55 2008 +0100 ALSA: hda - Convert from takslet_hi_schedule() to tasklet_schedule() Replace all tasklet_hi_schedule() callers with the normal tasklet_schedule(). The former often causes troubles with RT-kernels, and has actually no merit. Signed-off-by: Takashi Iwai commit 3b11ce7f542e415c90267b4482d4611410b468e6 Author: Mike Travis Date: Wed Dec 17 15:21:39 2008 -0800 x86: use possible_cpus=NUM to extend the possible cpus allowed Impact: add new boot parameter Use possible_cpus=NUM kernel parameter to extend the number of possible cpus. The ability to HOTPLUG ON cpus that are "possible" but not "present" is dealt with in a later patch. Signed-off-by: Mike Travis commit a775a38b1353161a6d7af86b667d6523c12c1a37 Author: Mike Travis Date: Wed Dec 17 15:21:39 2008 -0800 x86: fix cpu_mask_to_apicid_and to include cpu_online_mask Impact: fix potential APIC crash In determining the destination apicid, there are usually three cpumasks that are considered: the incoming cpumask arg, cfg->domain and the cpu_online_mask. Since we are just introducing the cpu_mask_to_apicid_and function, make sure it includes the cpu_online_mask in it's evaluation. [Added with this patch.] There are two io_apic.c functions that did not previously use the cpu_online_mask: setup_IO_APIC_irq and msi_compose_msg. Both of these simply used cpu_mask_to_apicid(cfg->domain & TARGET_CPUS), and all but one arch (NUMAQ[*]) returns only online cpus in the TARGET_CPUS mask, so the behavior is identical for all cases. [*: NUMAQ bug?] Note that alloc_cpumask_var is only used for the 32-bit cases where it's highly likely that the cpumask set size will be small and therefore CPUMASK_OFFSTACK=n. But if that's not the case, failing the allocate will cause the same return value as the default. Signed-off-by: Mike Travis Signed-off-by: Ingo Molnar commit 9a3d8f735eee90bb5b1351983e946bc637041c01 Merge: b9974dc a98f8fd Author: Ingo Molnar Date: Thu Dec 18 11:55:06 2008 +0100 Merge branch 'x86/apic' into cpus4096 This done for conflict prevention: we merge it into the cpus4096 tree because upcoming cpumask changes will touch apic.c that would collide with x86/apic otherwise. commit b9974dc6bddd41fbdc2583f196a34fbcebd8b089 Merge: d733e00 55dac3a Author: Ingo Molnar Date: Thu Dec 18 11:48:30 2008 +0100 Merge branch 'linus' into cpus4096 commit 73500ac545d24610eb2cf8579ffc88957e9c5847 Author: Darren Hart Date: Wed Dec 17 17:29:56 2008 -0800 futex: rename field in futex_q to clarify single waiter semantics Impact: simplify code I've tripped over the naming of this field a couple times. The futex_q uses a "waiters" list to represent a single blocked task and then calles wake_up_all(). This can lead to confusion in trying to understand the intent of the code, which is to have a single futex_q for every task waiting on a futex. This patch corrects the problem, using a single pointer to the waiting task, and an appropriate call to wake_up, rather than wake_up_all. Compile and boot tested on an 8way x86_64 machine. Signed-off-by: Darren Hart Acked-by: Thomas Gleixner Signed-off-by: Ingo Molnar commit d98f9d84422c393103dc7569dc8444bac628f7ac Author: Hiroshi Shimamoto Date: Wed Dec 17 18:52:45 2008 -0800 x86: ia32_signal: use sigframe.h Impact: cleanup Use arch/x86/include/asm/sigframe.h instead of defining redundant structures. Signed-off-by: Hiroshi Shimamoto Signed-off-by: Ingo Molnar commit 3b0d29ee1c73b6b90bfddd10f7b8e86632b6b694 Author: Hiroshi Shimamoto Date: Wed Dec 17 18:51:46 2008 -0800 x86: ia32_signal: rename struct sigframe and rt_sigframe Impact: cleanup, prepare to include sigframe.h Rename struct sigframe to struct sigframe_ia32 and struct rt_sigframe to struct rt_sigframe_ia32. Signed-off-by: Hiroshi Shimamoto Signed-off-by: Ingo Molnar commit c85c2ff877c9305f801f7d5b9e6382cb05a03d45 Author: Hiroshi Shimamoto Date: Wed Dec 17 18:51:08 2008 -0800 x86: signal: prepare to include from ia32_signal.c Impact: cleanup, prepare to use from ia32_signal.c Make struct sigframe_ia32 and rt_sigframe_ia32 visible to ia32_signal.c. Signed-off-by: Hiroshi Shimamoto Signed-off-by: Ingo Molnar commit 41af86fad3c40646b9748279e3862781e937a5d2 Author: Hiroshi Shimamoto Date: Wed Dec 17 18:50:32 2008 -0800 x86: signal: move sigframe.h to arch/x86/include/asm Impact: cleanup, move header file Move arch/x86/kernel/sigframe.h to arch/x86/include/asm/sigframe.h. It will be used in arch/x86/ia32/ia32_signal.c. Signed-off-by: Hiroshi Shimamoto Signed-off-by: Ingo Molnar commit a5c56eb36f999ae0ecac278e51fd1cf8feb16c2f Author: Hiroshi Shimamoto Date: Wed Dec 17 18:49:55 2008 -0800 x86: signal: rename sigframe and rt_sigframe on 32-bit Impact: cleanup, prepare to move sigframe.h On 32-bit, rename struct sigrame to struct sigframe_ia32, struct rt_sigframe to struct rt_sigframe_ia32 and several structures. And add helper macros to access the above data in arch/x86/kernel/signal.c. Signed-off-by: Hiroshi Shimamoto Signed-off-by: Ingo Molnar commit f5223763a664da16771211f9d293e18cb242b246 Author: Hiroshi Shimamoto Date: Wed Dec 17 18:47:17 2008 -0800 x86: signal: move ia32 func declarations into arch/x86/kernel/signal.c Impact: cleanup Move declarations of ia32_setup_rt_frame() and ia32_setup_frame() into arch/x86/kernel/signal.c. This is for future use of sigframe.h. Signed-off-by: Hiroshi Shimamoto Signed-off-by: Ingo Molnar commit 2955de5fad7fa301c09f2ae695158309164d8673 Author: Sascha Hauer Date: Thu Dec 18 09:32:23 2008 +0100 [ARM] MX1: Add missing selection of ARM920T The MX1 only has one possible CPU type, ARM920T. Select it in Kconfig. Signed-off-by: Sascha Hauer commit 3218c178b41b420cb7e0d120c7a137a3969242e5 Author: Takashi Iwai Date: Thu Dec 18 09:17:56 2008 +0100 ALSA: hda - Remove duplicated strings from codec name Remove codec vendor names from the codec name strings. The vendor name is already given from the vendor name table, so displayed doubly. Signed-off-by: Takashi Iwai commit 74c611334ff131f2b87c7634314bde9e7fd98653 Author: Takashi Iwai Date: Thu Dec 18 09:11:33 2008 +0100 ALSA: hda - Add Intel vendor id string Added Intel codec vendor id string (0x8086). Also fixed Intel-HDMI codec name strings, too. Signed-off-by: Takashi Iwai commit 49ad9599d42da4787d5b3a19263440e0fcd4d1fc Author: David S. Miller Date: Wed Dec 17 22:11:38 2008 -0800 Revert "net: release skb->dst in sock_queue_rcv_skb()" This reverts commit 70355602879229c6f8bd694ec9c0814222bc4936. As pointed out by Mark McLoughlin IP_PKTINFO cmsg data is one post-queueing user, so this optimization is not valid right now. Signed-off-by: David S. Miller commit 3b5b35d02264580950d1e1565431b99d97c20ded Author: Holger Eitzenberger Date: Wed Dec 17 19:13:53 2008 -0800 bonding: use port_params in __update_lacpdu_from_port Signed-off-by: Holger Eitzenberger Signed-off-by: David S. Miller commit 3c52065fbbf3bd11776d63d43e18d0fd285b02e2 Author: Holger Eitzenberger Date: Wed Dec 17 19:13:27 2008 -0800 bonding: use port_params in __update_default_selected() I also removed some of the unneeded braces in the if condition to improve readability and a little bit of reformatting. Signed-off-by: Holger Eitzenberger Signed-off-by: David S. Miller commit ce6a49ad401d78ff1f66e2a55cf445d0f45d8146 Author: Holger Eitzenberger Date: Wed Dec 17 19:13:07 2008 -0800 bonding: use port_params in __update_selected() Signed-off-by: Holger Eitzenberger Signed-off-by: David S. Miller commit a6ae186b9a950f4d0467cb9c3661965f442176de Author: Holger Eitzenberger Date: Wed Dec 17 19:12:40 2008 -0800 bonding: remove various function declarations They are all defined before used, it's therefore ok to remove them. Signed-off-by: Holger Eitzenberger Signed-off-by: David S. Miller commit c7e703d01ecfb8db1557090938f0eabb51ebe3a1 Author: Holger Eitzenberger Date: Wed Dec 17 19:12:07 2008 -0800 bonding: init port_params from template Signed-off-by: Holger Eitzenberger Signed-off-by: David S. Miller commit 5eefd1adceb49cada224a383f4a36c2f27fe4968 Author: Holger Eitzenberger Date: Wed Dec 17 19:08:46 2008 -0800 bonding: use plain memcpy in __record_default() Also remove the pointless comment at the top. Signed-off-by: Holger Eitzenberger Signed-off-by: David S. Miller commit b99d6ba96d814dab06671029948f22995d603d7b Author: Holger Eitzenberger Date: Wed Dec 17 19:08:14 2008 -0800 bonding: use port_params in __record_pdu() It helps in maintaining the various partner information values from the LACPDU. It also removes the pointless comment at the top. Signed-off-by: Holger Eitzenberger Signed-off-by: David S. Miller commit 1055c9aba3b6850245fe3bbb533d4747e7f904bf Author: Holger Eitzenberger Date: Wed Dec 17 19:07:38 2008 -0800 bonding: introduce and use port_params structure It generally helps to handle those values in various places, using it might make the code more readable and gives room for other improvements. The IEEE standard talks about them as "parameter values". Signed-off-by: Holger Eitzenberger Signed-off-by: David S. Miller commit aa3128199dbe07b5be3382de590c59216f91d3e3 Author: Holger Eitzenberger Date: Wed Dec 17 19:07:16 2008 -0800 bonding: improve elaborate port_state assignment The previous code was just a funny way of assigning both values (they are both of type u8). Signed-off-by: Holger Eitzenberger Signed-off-by: David S. Miller commit 42199884594bc336c9185441cbed99a9324dab34 Author: Andy Fleming Date: Wed Dec 17 16:52:30 2008 -0800 gianfar: Continue polling until both tx and rx are empty gfar_poll would declare polling done once the rx queue was empty, but the tx queue could still have packets left. Stolen mostly from the e1000 driver. Signed-off-by: Andy Fleming Signed-off-by: David S. Miller commit 8c7396aebb68994c0519e438eecdf4d5fa9c7844 Author: Dai Haruki Date: Wed Dec 17 16:52:00 2008 -0800 gianfar: Merge Tx and Rx interrupt for scheduling clean up ring No clean up function is executed in the interrupt context by this patch. Signed-off-by: Dai Haruki Acked-by: Andy Fleming Signed-off-by: David S. Miller commit c50a5d9aedef5b0b289d07f6d73934d394e50b3f Author: Dai Haruki Date: Wed Dec 17 16:51:32 2008 -0800 gianfar: Use interface name in interrupt name to distinguish the source. Interface name (ex. eth0) is used as the prefix for the interrupt name, with _rx, _tx, and _er appended to distinguish multiple interrupts on the same interface. Signed-off-by: Dai Haruki Signed-off-by: Andy Fleming Signed-off-by: David S. Miller commit 4669bc907488f5a3ee399ced132deb6165e489a3 Author: Dai Haruki Date: Wed Dec 17 16:51:04 2008 -0800 gianfar: Add Scatter Gather support Scatter Gather support in gianfar driver to handle fragmented frames on the transmit side. Signed-off-by: Poonam Aggrwal Signed-off-by: Dai Haruki Signed-off-by: Andy Fleming Signed-off-by: David S. Miller commit 8882d9a60028a9937e9c5652cfb80d4399ce5242 Author: Andy Fleming Date: Wed Dec 17 16:50:22 2008 -0800 gianfar: Fix packet drop when out of memory The patch which fixed gianfar so it drops packets when it runs out of memory left in the code which frees the skb when it drops packets. Change the code so that we only free the skb if the new skb was successfully created. Signed-off-by: Andy Fleming Signed-off-by: David S. Miller commit a693722aec4ce26fb46c21cf4bf4422484a397a7 Author: Arnaldo Carvalho de Melo Date: Wed Dec 17 16:08:01 2008 -0800 dccp_diag: LISTEN sockets don't have CCIDs And thus when we try to use 'ss -danemi' on these sockets that have no ccid blocks (data collected using systemtap after I fixed the problem): dccp_diag_get_info sk=0xffff8801220a3100, dp->dccps_hc_rx_ccid=0x0000000000000000, dp->dccps_hc_tx_ccid=0x0000000000000000 We get an OOPS: mica.ghostprotocols.net login: BUG: unable to handle kernel NULL pointer dereferenc0 IP: [] dccp_diag_get_info+0x82/0xc0 [dccp_diag] PGD 12106f067 PUD 122488067 PMD 0 Oops: 0000 [#1] PREEMPT Fix is trivial, and 'ss -d' is working again: [root@mica ~]# ss -danemi State Recv-Q Send-Q Local Address:Port Peer Address:Port LISTEN 0 0 *:5001 *:* ino:7288 sk:220a3100ffff8801 mem:(r0,w0,f0,t0) cwnd:0 ssthresh:0 [root@mica ~]# Signed-off-by: Arnaldo Carvalho de Melo Signed-off-by: David S. Miller commit c280266a326ccabeb64b6d69fa4fd21faf5bf354 Merge: eddce36 55dac3a Author: Paul Mackerras Date: Thu Dec 18 11:06:12 2008 +1100 Merge branch 'linux-2.6' into next commit 9732d523212060c44a4723332bdc5ee429eeabc3 Author: Rémi Denis-Courmont Date: Wed Dec 17 15:49:09 2008 -0800 Phonet: USB CDC Phonet function for gadget framework This implements the Nokia vendor-specific communication device class function to exchange Phonet messages over USB. This function is already found in the "PC suite" USB profile of (non-Linux) Nokia handsets. Signed-off-by: Rémi Denis-Courmont Signed-off-by: David S. Miller commit 893873f3965ae0173a9315534bec7628162d2243 Author: Rémi Denis-Courmont Date: Wed Dec 17 15:48:50 2008 -0800 Phonet: get rid of deferred work on the transmission path Signed-off-by: Rémi Denis-Courmont Signed-off-by: David S. Miller commit be677730a0ccb6bedced6f65f2ba8f57a3c607ba Author: Rémi Denis-Courmont Date: Wed Dec 17 15:48:31 2008 -0800 Phonet: use atomic for packet TX window GPRS TX flow control won't need to lock the underlying socket anymore. Signed-off-by: Rémi Denis-Courmont Signed-off-by: David S. Miller commit 57c81fffc863fb4c1804bc963bcbfb82d736c6df Author: Rémi Denis-Courmont Date: Wed Dec 17 15:47:48 2008 -0800 Phonet: allocate separate ARP type for GPRS over a Phonet pipe A separate xmit lock class supports GPRS over a Phonet pipe over a TUN device (type ARPHRD_NONE). Signed-off-by: Rémi Denis-Courmont Signed-off-by: David S. Miller commit 2d91d78b68606ff7ce52ea70e187dee7831aa2f6 Author: Rémi Denis-Courmont Date: Wed Dec 17 15:47:29 2008 -0800 Phonet: allocate a non-Ethernet ARP type Also leave some room for more 802.11 types. Signed-off-by: Rémi Denis-Courmont Signed-off-by: David S. Miller commit fc10af8e658936f7b2bddd077f7ddcbe1eddc066 Author: Oliver Hartkopp Date: Wed Dec 17 15:37:55 2008 -0800 vcan: whitespace fixes Signed-off-by: Oliver Hartkopp Signed-off-by: David S. Miller commit c95a44329e816d2f9da21b27e74615d5ee0d2333 Merge: c613bbb 47fee6f Author: Russell King Date: Wed Dec 17 20:05:39 2008 +0000 Merge branch 'rmk-devel-mxc-pu-v2' of git://pasiphae.extern.pengutronix.de/git/imx/linux-2.6 into devel commit c613bbba6f39c8804f1f26e96fb68a117cc9e282 Merge: cd43483 80eee6b Author: Russell King Date: Wed Dec 17 20:04:45 2008 +0000 Merge branch 'mxc-pu-imxfb' of git://pasiphae.extern.pengutronix.de/git/imx/linux-2.6 into devel commit cd4348339c21f4a15c01f3f120e92b3224a0a7da Merge: 7e1548a 917fa28 Author: Russell King Date: Wed Dec 17 20:03:39 2008 +0000 Merge branch 'hsmmc-init' of git://git.kernel.org/pub/scm/linux/kernel/git/tmlind/linux-omap-2.6 into devel commit a08636690d06b2e36cfb4c2b3ee133a81c47e1e0 Author: Ian Campbell Date: Tue Dec 16 12:17:38 2008 -0800 x86/swiotlb: add default swiotlb_arch_range_needs_mapping Xen will override these later on. Signed-off-by: Ian Campbell Signed-off-by: Jeremy Fitzhardinge Signed-off-by: Ingo Molnar commit 1d32251e846ccbcf9d2da041dffd1199f94b2a3b Author: Ian Campbell Date: Tue Dec 16 12:17:37 2008 -0800 x86/swiotlb: add default phys<->bus conversion Xen will override these later on. Signed-off-by: Ian Campbell Signed-off-by: Jeremy Fitzhardinge Signed-off-by: Ingo Molnar commit cfb80c9eae8c7ed8f2ee81090062d15ead51cbe8 Author: Jeremy Fitzhardinge Date: Tue Dec 16 12:17:36 2008 -0800 x86: unify pci iommu setup and allow swiotlb to compile for 32 bit swiotlb on 32 bit will be used by Xen domain 0 support. Signed-off-by: Ian Campbell Signed-off-by: Jeremy Fitzhardinge Signed-off-by: Ingo Molnar commit 8ce7996009bab7b2d23e7af7ad831fed7eb6faa1 Author: Jeremy Fitzhardinge Date: Tue Dec 16 12:17:35 2008 -0800 x86: add swiotlb allocation functions Add x86-specific swiotlb allocation functions. These are purely default for the moment. Signed-off-by: Jeremy Fitzhardinge Signed-off-by: Ingo Molnar commit 2e5b2b86b65fe36bb8401e5608eb0b7603aa1cab Author: Ian Campbell Date: Tue Dec 16 12:17:34 2008 -0800 swiotlb: consolidate swiotlb info message printing Impact: clean up swiotlb printks Remove duplicated swiotlb info printing, and make it more detailed. Signed-off-by: Ian Campbell Signed-off-by: Jeremy Fitzhardinge Signed-off-by: Ingo Molnar commit ef9b189352f2eb78f14e52996f4780a523b04a49 Author: Jeremy Fitzhardinge Date: Tue Dec 16 12:17:33 2008 -0800 swiotlb: support bouncing of HighMem pages Impact: prepare the swiotlb code for HighMem struct pages This requires us to treat DMA regions in terms of page+offset rather than virtual addressing since a HighMem page may not have a mapping. Signed-off-by: Ian Campbell Signed-off-by: Jeremy Fitzhardinge Signed-off-by: Ingo Molnar commit 1b548f667c1487d92e794a9f7a67788f49b952d8 Author: Jeremy Fitzhardinge Date: Tue Dec 16 12:17:32 2008 -0800 swiotlb: factor out copy to/from device Impact: generalize IO bounce memcpys Signed-off-by: Ian Campbell Signed-off-by: Jeremy Fitzhardinge Signed-off-by: Ingo Molnar commit b81ea27b2329bf44b30c427800954f845896d476 Author: Ian Campbell Date: Tue Dec 16 12:17:31 2008 -0800 swiotlb: add arch hook to force mapping Impact: generalize the sw-IOTLB range checks Some architectures require special rules to determine whether a range needs mapping or not. This adds a weak function for architectures to override. Signed-off-by: Ian Campbell Signed-off-by: Jeremy Fitzhardinge Signed-off-by: Ingo Molnar commit e08e1f7adba522378e8d2ae941bf25443866136d Author: Ian Campbell Date: Tue Dec 16 12:17:30 2008 -0800 swiotlb: allow architectures to override phys<->bus<->phys conversions Impact: generalize phys<->bus<->phys conversions in the swiotlb code Architectures may need to override these conversions. Implement a __weak hook point containing the default implementation. Signed-off-by: Ian Campbell Signed-off-by: Jeremy Fitzhardinge Signed-off-by: Ingo Molnar commit a5ddde4a558b3bd1e3dc50e274a0db2ea7a8fd06 Author: Ian Campbell Date: Tue Dec 16 12:17:29 2008 -0800 swiotlb: add comment where we handle the overflow of a dma mask on 32 bit Impact: cleanup Signed-off-by: Ian Campbell Signed-off-by: Jeremy Fitzhardinge Signed-off-by: Ingo Molnar commit b16281c30c841c6d999ff36c8d903f42a69315f2 Author: Yehuda Sadeh Weinraub Date: Wed Dec 17 10:21:26 2008 -0500 Btrfs: fix return value from btrfs_listxattr when buffer size is too small The return value was being overwritten. Signed-off-by: Yehuda Sadeh commit cad321ad529400c6ab24c501a67c3be720a0744c Author: Chris Mason Date: Wed Dec 17 14:51:42 2008 -0500 Btrfs: shift all end_io work to thread pools bio_end_io for reads without checksumming on and btree writes were happening without using async thread pools. This means the extent_io.c code had to use spin_lock_irq and friends on the rb tree locks for extent state. There were some irq safe vs unsafe lock inversions between the delallock lock and the extent state locks. This patch gets rid of them by moving all end_io code into the thread pools. To avoid contention and deadlocks between the data end_io processing and the metadata end_io processing yet another thread pool is added to finish off metadata writes. Signed-off-by: Chris Mason commit 87b29b208c6c38f3446d2de6ece946e2459052cf Author: Yan Zheng Date: Wed Dec 17 10:21:48 2008 -0500 Btrfs: properly check free space for tree balancing btrfs_insert_empty_items takes the space needed by the btrfs_item structure into account when calculating the required free space. So the tree balancing code shouldn't add sizeof(struct btrfs_item) to the size when checking the free space. This patch removes these superfluous additions. Signed-off-by: Yan Zheng commit d7f735d0bc68c411abda0a612e1421bdade649cc Author: Yehuda Sadeh Weinraub Date: Wed Dec 17 10:21:03 2008 -0500 Btrfs: fix return value from btrfs_listxattr when buffer size is too small The return value was being overwritten. Signed-off-by: Yehuda Sadeh commit 3b24f30c4f678cfab5c6d090af9559fefa37cc41 Author: Eric Miao Date: Wed Dec 10 17:04:38 2008 +0800 [ARM] pxa/littleton: add preliminary I2C board info (da9034 + max7320) Signed-off-by: Eric Miao commit 111059e7f434f05499995aba6b25347bbd6313f2 Author: Eric Miao Date: Mon Dec 8 21:33:49 2008 +0800 [ARM] pxa/saar: add support for the on-board smart panel LCD Signed-off-by: Eric Miao commit b6795fa9fd70bc4cd94724c32fe1945e5c75c29f Author: Jonathan Cameron Date: Fri Dec 12 20:43:09 2008 +0000 [ARM] pxa: initial support for the Imote2 platform Changes made as suggested by Eric Miao (including fix to map_io silly mistake!). Originally designed by Intel, now sold by Crossbow (www.xbow.com). Very little actually on board. The patch includes sensors and similar as found on commonly occurring daughter boards. Some of the drivers are not in mainline as yet as they are either part of the IIO subsystem or need a lot of work before submission. What is the position wrt to putting them in i2c board configs etc? Support for these boards has been maintained outside the kernel for a long time, but now that there is a good da9030 pmic driver available the last major hurdle no longer exists. All comments welcomed. The Imote2's big brother (stargate2) will follow once any problems with this one have been cleaned up and a few bits and bobs have been added to the da903x driver. Hopefully the cc2420 driver will get cleaned up and submitted in the not too distant future as well. Signed-off-by: Jonathan Cameron Acked-by: Mark Brown Signed-off-by: Eric Miao commit bc09cf6de2bf9c0240aed7d9a82308c27aad13c4 Author: Stefan Schmidt Date: Mon Dec 8 15:58:10 2008 +0100 [ARM] pxa/ezx: I2C configuration I2C platform data setups. Signed-off-by: Daniel Ribeiro Signed-off-by: Stefan Schmidt Signed-off-by: Eric Miao commit fe9490c67ad26bdf5e0c32019e7da591c253bee2 Author: Stefan Schmidt Date: Mon Dec 8 15:58:09 2008 +0100 [ARM] pxa/ezx: Keypad configuration Matrix and single key setups for all phones. Signed-off-by: Daniel Ribeiro Signed-off-by: Stefan Schmidt Signed-off-by: Antonio Ospite Signed-off-by: Eric Miao commit 9078ac21530ce15705c59ebaee0b33508385936d Author: Stefan Schmidt Date: Mon Dec 8 15:58:08 2008 +0100 [ARM] pxa/ezx: GPIO configuration Pin configs for different generations and phones. Signed-off-by: Daniel Ribeiro Signed-off-by: Stefan Schmidt Signed-off-by: Eric Miao commit bab16dfc9b527bbf7b06cb7d1e8e4011649b0f50 Author: Stefan Schmidt Date: Mon Dec 8 15:58:07 2008 +0100 [ARM] pxa/ezx: Remove two memory banks fixup Our bootloader now supports ATAGS_MEM Signed-off-by: Daniel Ribeiro Signed-off-by: Stefan Schmidt Signed-off-by: Eric Miao commit 3332b0c17969d91d8868d2d003e685c420d84262 Author: Jaya Kumar Date: Tue Dec 9 22:14:29 2008 +0800 [ARM] pxa/gumstix: fix incorrect init done by am200 Signed-off-by: Jaya Kumar Cc: Andre Puschmann Signed-off-by: Eric Miao commit 07f651c72ac0530033883c113939d9b9c7fa75e5 Author: Eric Miao Date: Mon Dec 8 18:51:01 2008 +0800 [ARM] pxafb: avoid the racing condition in pxafb_smart_thread fbi->state change shall really be protected by fbi->ctrlr_lock, where the change is sheltered. There is a possibility that pxafb_smart_thread will start update the LCD panel when fbi->state == C_ENABLE, while all other initialization isn't done. Signed-off-by: Eric Miao commit 69bdea7047fbac88beb8b7ba9e428c4f0e53f563 Author: Eric Miao Date: Mon Dec 8 18:46:00 2008 +0800 [ARM] pxafb: allow insertion of delay to the smart panel command sequence Some smart panel requires a delay between command sequences, while PXA LCD controller didn't provide such one, let's emulate this by software. A software delay marker can be inserted into the command sequence, once pxafb_smart_queue() detects this, it flushes the previous commands and delay for a specified number of milliseconds. Signed-off-by: Eric Miao commit c1f99c215c58111629984a49ba87b2b145dd1f5b Author: Eric Miao Date: Mon Dec 8 18:35:03 2008 +0800 [ARM] pxafb: allow better platform configurable smart panel timing For smart panels (LCD panel with internal framebuffer), the following LCCR3 register bits have different meanings than the parallel one: LCCR3_PCP - controls the L_PCLK_WR polarity LCCR3_HSP - controls the L_LCLK_A0 polarity LCCR3_VSP - controls the L_FCLK_RD polarity To keep minimum change to the original parallel timing, the .lcd_conn flags and 'pxafb_mode_info.sync' are re-used to reflect this: LCD_PCLK_EDGE_{RISE,FALL} - configures LCCR3_PCP sync & FB_SYNC_{HOR,VERT}_HIGH_ACT - configures LCCR3_{HSP,VSP} Signed-off-by: Eric Miao commit 07df1c4fea1474ae6db2c8554d2915cf5cf81369 Author: Eric Miao Date: Thu Dec 4 11:14:11 2008 +0800 [ARM] pxafb: small cleanup of the smart panel code Group smart panel related code in a more compact fasion, avoid abused usage of #ifdef .. #endif. Also fix the incorrect condition in pxafb_smart_init() to decide if it is a smart panel or not. (should be '&' instead of '|') Signed-off-by: Eric Miao commit 09e647d30d0d8feff0aee77bd17342fbc79a3bf8 Author: Eric Miao Date: Thu Dec 11 14:06:43 2008 +0800 [ARM] pxafb: remove now unused pxafb_setup_gpio() and related stuffs platform should now initialize the pin usage for the LCD controller to correctly work. Signed-off-by: Eric Miao commit 9587319bfe53c1ba128c6d226a655c45c36a13df Author: Eric Miao Date: Sun Dec 7 17:49:01 2008 +0800 [ARM] pxa: convert legacy LCD setup of other boards to new one Signed-off-by: Eric Miao Cc: Richard Purdie Cc: Ian Molton Cc: pHilipp Zabel Cc: Marek Vasut Cc: Guennadi Liakhovetski Cc: Juergen Schindele Acked-by: Stefan Schmidt Acked-by: Marc Zyngier Acked-by: Mike Rapoport Acked-by: Jaya Kumar commit 51633048890ca755bce2411e13a2f84ec661a068 Author: Eric Miao Date: Sun Dec 7 17:48:00 2008 +0800 [ARM] pxafb: add color TFT 8BPP LCD panel type Signed-off-by: Eric Miao commit d733e00d7c10cc68333fbb88108bb15bb044f61b Author: Ingo Molnar Date: Wed Dec 17 13:35:51 2008 +0100 x86: update io_apic.c to the new cpumask code Impact: build fix The sparseirq tree crossed with the cpumask changes, fix the fallout. Signed-off-by: Ingo Molnar commit c80ce2d52b1d11ccb29eddb3fc1345cd49ccfc5a Author: Jaswinder Singh Date: Fri Jul 25 13:48:38 2008 +0530 avr32: Introducing asm/syscalls.h Declaring arch-dependent syscalls for avr32 architecture Signed-off-by: Jaswinder Singh Signed-off-by: Haavard Skinnemoen commit 855caa37b9b61c1ccfeb91a2bc04d90bfc5e4525 Merge: 948a7b2 c415b3d Author: Ingo Molnar Date: Wed Dec 17 13:24:52 2008 +0100 Merge branch 'x86/crashdump' into cpus4096 Conflicts: arch/x86/kernel/crash.c Merged for semantic conflict: arch/x86/kernel/reboot.c commit 948a7b2b5e2bf126fb697aeb11ff379b2c85dd2e Merge: 9466d60 17483a1 Author: Ingo Molnar Date: Wed Dec 17 13:16:08 2008 +0100 Merge branch 'irq/sparseirq' into cpus4096 Conflicts: arch/x86/kernel/io_apic.c Merge irq/sparseirq here, to resolve conflicts. commit 9466d6036f73481104039fbe99338baed11c8fea Merge: 1f3f424 83b1959 Author: Ingo Molnar Date: Wed Dec 17 13:08:34 2008 +0100 Merge branch 'master' of git://git.kernel.org/pub/scm/linux/kernel/git/travis/linux-2.6-cpus4096-for-ingo into cpus4096 commit 1f3f424a6bee9de4d839be9951f4296333fac014 Merge: c8cae54 1bda712 Author: Ingo Molnar Date: Wed Dec 17 13:07:48 2008 +0100 Merge branch 'linus' into cpus4096 commit 7a95d267fb62cd6b80ef73be0592bbbe1dbd5df7 Author: Cyrill Gorcunov Date: Wed Dec 17 00:34:06 2008 -0800 net: ppp_generic - use idr technique instead of cardmaps Use idr technique instead of own implemented cardmaps. It saves us a number of lines and gives an ability to use library functions. Signed-off-by: Cyrill Gorcunov Signed-off-by: David S. Miller commit c0700f90e5300c63d01c70e157e75e4510dd2981 Author: David S. Miller Date: Tue Dec 16 23:53:20 2008 -0800 bnx2x: Fix namespace collision with FLOW_CTRL_{TX,RX} These are now defined in linux/mii.h and the bnx2x driver defines different values which are shared with hardware data structures. So add a "BNX2X_" prefix to these macro names. Based upon a report from Stephen Rothwell. Signed-off-by: David S. Miller commit f6d52432a4bc6da5de2a0bbb350f735db3206aa5 Author: David S. Miller Date: Tue Dec 16 23:45:02 2008 -0800 bnx2: Don't redefine FLOW_CTRL_{RX,TX}. They are provided generically by linux/mii.h now. Signed-off-by: David S. Miller commit 1f2435e532bd64742c3f766b7d5c17cc9d0b8558 Author: Michael Chan Date: Tue Dec 16 20:28:13 2008 -0800 bnx2: Update version to 1.9.0. And fix the 5716S pci_device_id entry to point to the proper string. Signed-off-by: Michael Chan Signed-off-by: David S. Miller commit 4e1d0de95c55383f598516ebf82969260c18e4bd Author: Michael Chan Date: Tue Dec 16 20:27:45 2008 -0800 bnx2: Rename MSI-X vectors. Change MSI-X vector names to "ethx-%d". Signed-off-by: Michael Chan Signed-off-by: Benjamin Li Signed-off-by: David S. Miller commit 83b19597f793fd5f91533bda0dc2eb3d21936798 Author: Mike Travis Date: Tue Dec 16 17:34:06 2008 -0800 x86: Introduce topology_core_cpumask()/topology_thread_cpumask() Impact: new API The old topology_core_siblings() and topology_thread_siblings() return a cpumask_t; these new ones return a (const) struct cpumask *. Signed-off-by: Rusty Russell Signed-off-by: Mike Travis commit e4d98207ea3f3d15eb664282df16d18c4ac86f80 Author: Mike Travis Date: Tue Dec 16 17:34:05 2008 -0800 x86: xen: use smp_call_function_many() Impact: use new API, remove cpumask from stack. Change smp_call_function_mask() callers to smp_call_function_many(). This removes a cpumask from the stack, and falls back should allocating the cpumask var fail (only possible with CONFIG_CPUMASKS_OFFSTACK). Signed-off-by: Rusty Russell Signed-off-by: Mike Travis Cc: jeremy@xensource.com commit 4cd4601d592d07b26e4b7d2bb8fcd55bbfd6cf6e Author: Mike Travis Date: Tue Dec 16 17:34:04 2008 -0800 x86: use work_on_cpu in x86/kernel/cpu/mcheck/mce_amd_64.c Impact: Remove cpumask_t's from stack. Simple transition to work_on_cpu(), rather than cpumask games. Signed-off-by: Rusty Russell Signed-off-by: Mike Travis Cc: Ingo Molnar Cc: Robert Richter Cc: jacob.shin@amd.com commit b2bb85549134c005e997e5a7ed303bda6a1ae738 Author: Mike Travis Date: Tue Dec 16 17:34:03 2008 -0800 x86: Remove cpumask games in x86/kernel/cpu/intel_cacheinfo.c Impact: remove cpumask_t from stack. We should not try to save and restore cpus_allowed on current. We can't use work_on_cpu() here, since it's in the hotplug cpu path (if anyone else tries to get the hotplug lock from a workqueue we could deadlock against them). Fortunately, we can just use smp_call_function_single() since the function can run from an interrupt. Signed-off-by: Rusty Russell Signed-off-by: Mike Travis Cc: Ingo Molnar Cc: Oleg Nesterov commit 1de88cd4a33fcc2fcf70cbce01688723f728675d Author: Mike Travis Date: Tue Dec 16 17:34:02 2008 -0800 x86: Use cpumask accessors code for possible/present maps. Impact: use new API Use the accessors rather than frobbing bits directly. Most of this is in arch code I haven't even compiled, but is straightforward. Signed-off-by: Rusty Russell Signed-off-by: Mike Travis commit 168ef543a43678146e06b3911e987ac021d575b8 Author: Mike Travis Date: Tue Dec 16 17:34:01 2008 -0800 x86: prepare for cpumask iterators to only go to nr_cpu_ids Impact: cleanup, futureproof In fact, all cpumask ops will only be valid (in general) for bit numbers < nr_cpu_ids. So use that instead of NR_CPUS in various places. This is always safe: no cpu number can be >= nr_cpu_ids, and nr_cpu_ids is initialized to NR_CPUS at boot. Signed-off-by: Rusty Russell Signed-off-by: Mike Travis Acked-by: Ingo Molnar commit 78637a97b7fe1df51f40a460448df0b93d511176 Author: Mike Travis Date: Tue Dec 16 17:34:00 2008 -0800 x86: Set CONFIG_NR_CPUS even on UP Impact: cleanup Signed-off-by: Rusty Russell Signed-off-by: Mike Travis commit bcda016eddd7a8b374bb371473c821a91ff1d8cc Author: Mike Travis Date: Tue Dec 16 17:33:59 2008 -0800 x86: cosmetic changes apic-related files. This patch simply changes cpumask_t to struct cpumask and similar trivial modernizations. Signed-off-by: Rusty Russell Signed-off-by: Mike Travis commit d7b381bb7b1ad69ff008ea063d26e988b686c8de Author: Mike Travis Date: Tue Dec 16 17:33:58 2008 -0800 x86: fixup_irqs() doesnt need an argument. Impact: cleanup, remove on-stack cpumask. The "map" arg is always cpu_online_mask. Importantly, set_affinity always ands the argument with cpu_online_mask anyway, so we don't need to do it in fixup_irqs(), avoiding a temporary. Signed-off-by: Rusty Russell Signed-off-by: Mike Travis commit b78936e14ee47b6b2d628501a0eab5270db80132 Author: Mike Travis Date: Tue Dec 16 17:33:57 2008 -0800 xen: convert to cpumask_var_t and new cpumask primitives. Simple change, and eventual space saving when NR_CPUS >> nr_cpu_ids. Signed-off-by: Rusty Russell Signed-off-by: Mike Travis Cc: Jeremy Fitzhardinge commit 22f65d31b25a320a5246592160bcb102d2791c45 Author: Mike Travis Date: Tue Dec 16 17:33:56 2008 -0800 x86: Update io_apic.c to use new cpumask API Impact: cleanup, consolidate patches, use new API Consolidate the following into a single patch to adapt to new sparseirq code in arch/x86/kernel/io_apic.c, add allocation of cpumask_var_t's in domain and old_domain, and reduce further merge conflicts. Only one file (arch/x86/kernel/io_apic.c) is changed in all of these patches. 0006-x86-io_apic-change-irq_cfg-domain-old_domain-to.patch 0007-x86-io_apic-set_desc_affinity.patch 0008-x86-io_apic-send_cleanup_vector.patch 0009-x86-io_apic-eliminate-remaining-cpumask_ts-from-st.patch 0021-x86-final-cleanups-in-io_apic-to-use-new-cpumask-AP.patch Signed-off-by: Rusty Russell Signed-off-by: Mike Travis commit 6eeb7c5a99434596c5953a95baa17d2f085664e3 Author: Mike Travis Date: Tue Dec 16 17:33:55 2008 -0800 x86: update add-cpu_mask_to_apicid_and to use struct cpumask* Impact: use updated APIs Various API updates for x86:add-cpu_mask_to_apicid_and (Note: separate because previous patch has been "backported" to 2.6.27.) Signed-off-by: Rusty Russell Signed-off-by: Mike Travis commit 95d313cf1c1ecedc8bec5727b09bdacbf67dfc45 Author: Mike Travis Date: Tue Dec 16 17:33:54 2008 -0800 x86: Add cpu_mask_to_apicid_and Impact: new API Add a helper function that takes two cpumask's, and's them and then returns the apicid of the result. This removes a need in io_apic.c that uses a temporary cpumask to hold (mask & cfg->domain). Signed-off-by: Mike Travis Signed-off-by: Rusty Russell commit a1681965011916c2f1f0f1f87e70784f5d5d5be5 Author: Mike Travis Date: Tue Dec 16 17:33:53 2008 -0800 x86: move and enhance debug printk for nr_cpu_ids etc. Impact: cleanup, better debugging This has proven useful in debugging, *before* we try to use for_each_possible_cpu(). It also now shows nr_cpumask_bits. Signed-off-by: Mike Travis Signed-off-by: Rusty Russell commit e7986739a76cde5079da08809d8bbc6878387ae0 Author: Mike Travis Date: Tue Dec 16 17:33:52 2008 -0800 x86 smp: modify send_IPI_mask interface to accept cpumask_t pointers Impact: cleanup, change parameter passing * Change genapic interfaces to accept cpumask_t pointers where possible. * Modify external callers to use cpumask_t pointers in function calls. * Create new send_IPI_mask_allbutself which is the same as the send_IPI_mask functions but removes smp_processor_id() from list. This removes another common need for a temporary cpumask_t variable. * Functions that used a temp cpumask_t variable for: cpumask_t allbutme = cpu_online_map; cpu_clear(smp_processor_id(), allbutme); if (!cpus_empty(allbutme)) ... become: if (!cpus_equal(cpu_online_map, cpumask_of_cpu(cpu))) ... * Other minor code optimizations (like using cpus_clear instead of CPU_MASK_NONE, etc.) Applies to linux-2.6.tip/master. Signed-off-by: Mike Travis Signed-off-by: Rusty Russell Acked-by: Ingo Molnar commit 36f5101a60de8f79c0d1ca06e50660bf5129e02c Author: Mike Travis Date: Tue Dec 16 17:33:51 2008 -0800 x86: enable MAXSMP Impact: activates new off-stack cpumask code on MAXSMP (non-default) x86 configs Set MAXSMP to enable CONFIG_CPUMASK_OFFSTACK which moves cpumask's off the stack (and in structs) when using cpumask_var_t. Signed-off-by: Mike Travis Signed-off-by: Rusty Russell Acked-by: Ingo Molnar commit eddce368f99b682683e09cf206eaa25131d40abe Merge: b53c758 cd85400 Author: Paul Mackerras Date: Wed Dec 17 11:01:43 2008 +1100 Merge branch 'next' of master.kernel.org:/pub/scm/linux/kernel/git/jwboyer/powerpc-4xx into next commit f40e0638237a2d3e2ce8bedf3af4b3c02cf6fff7 Author: Julia Lawall Date: Tue Dec 16 15:43:29 2008 -0800 drivers/net/hamradio: Move a dereference below a NULL test In each case, if the NULL test is necessary, then the dereference should be moved below the NULL test. The semantic patch that makes this change is as follows: (http://www.emn.fr/x-info/coccinelle/) // @@ type T; expression E; identifier i,fld; statement S; @@ - T i = E->fld; + T i; ... when != E when != i if (E == NULL) S + i = E->fld; // Signed-off-by: Julia Lawall Signed-off-by: David S. Miller commit f162e97d778ec29492be8eb9bbecb65be976b7c8 Author: Andy Fleming Date: Tue Dec 16 15:39:48 2008 -0800 phylib: Remove unnecessary "reset" fixups in genphy_setup_forced genphy_setup_forced hasn't actually reset the PHY for a long time, but a comment to that effect remained in the code, so code continued to act as if it *had* reset the PHY, and called the necessary fixup functions to respond to a PHY reset. With no reset, those functions are no longer needed, so we remove them. Signed-off-by: Andy Fleming Signed-off-by: David S. Miller commit 5a5efed4817ef931f648b118aeb9222e53122d2b Author: Dai Haruki Date: Tue Dec 16 15:34:50 2008 -0800 gianfar: Make all BD status writes 32-bit Whenever we want to update the status field in a BD, we usually want to update the length field, too. By combining them into one 32-bit field, we reduce the number of stores to memory shared with the controller, and we eliminate the need for order-enforcement, as the length and "READY" bit are now updated atomically at the same time. Signed-off-by: Dai Haruki Signed-off-by: Andy Fleming Signed-off-by: David S. Miller commit 31de198b4d2732028f4c5bff04b0103b1d8c1d8c Author: Andy Fleming Date: Tue Dec 16 15:33:40 2008 -0800 gianfar: Add macros for stepping through BDs This code is based strongly on code from Dai Haruki . The gianfar Buffer Descriptors are arranged in a circular array, the end of which is denoted by setting the "WRAP" bit in the descriptor. However, the software knows the end of the ring because it knows how many descriptors are there. Rather than check each descriptor for whether the WRAP bit is set, use pointer math to determine where the next BD is. This is also useful for when we want to look at BDs other than the very next one (for Scatter-Gather). Signed-off-by: Andy Fleming Signed-off-by: David S. Miller commit a22823e72a4821ce1d4a248fbd8f5a81795af339 Author: Dai Haruki Date: Tue Dec 16 15:32:11 2008 -0800 gianfar: Remove unused gfar_add_fcb() function parameter - Also, use cacheable_memzero instead of memset for performance reasons. Signed-off-by: Dai Haruki Acked-by: Andy Fleming Signed-off-by: David S. Miller commit 2c2db48acb34735d8ef257f130c0c330c46c8f6a Author: Dai Haruki Date: Tue Dec 16 15:31:15 2008 -0800 gianfar: Enable padding and Optimize the frame prepended bytes handling The eTSEC can prepend up to 32 bytes to a received frame, usually for the purpose of aligning the IP address to a word boundary, so this turns it on. While we're in there, make the handling of the pre-frame bytes (padding and Frame Control Block) cleaner. Signed-off-by: Dai Haruki Signed-off-by: Andy Fleming Signed-off-by: David S. Miller commit 77ecaf2d5a8bfd548eed3f05c1c2e6573d5de4ba Author: Dai Haruki Date: Tue Dec 16 15:30:48 2008 -0800 gianfar: Fix VLAN HW feature related frame/buffer size calculation. Optimize the VLAN checking logic as well. Signed-off-by: Dai Haruki Acked-by: Andy Fleming Signed-off-by: David S. Miller commit 12dea57be552a291e93827baeffbb91e33f587a6 Author: Dai Haruki Date: Tue Dec 16 15:30:20 2008 -0800 gianfar: Fix eTSEC configuration procedure Fix some bugs in the ethtool configuration functions: * gfar_clean_rx_ring should not be called with interrupts disabled. * Update last transmission time to avoid tx timeout. * Delete redundant NETIF_F_IP_CSUM check in gfar_start_xmit * Use netif_tx_lock_bh when reconfiguring the tx csum Signed-off-by: Dai Haruki Signed-off-by: Andy Fleming Signed-off-by: David S. Miller commit b46a8454cd304b5376ba00d3457a612720e47269 Author: Dai Haruki Date: Tue Dec 16 15:29:52 2008 -0800 gianfar: Optimize interrupt coalescing configuration Store the interrupt coalescing values in the form in which they will be written to the interrupt coalescing registers. This puts a little overhead into the ethtool configuration, and takes it out of the interrupt handler Signed-off-by: Dai Haruki Acked-by: Andy Fleming Signed-off-by: David S. Miller commit b31a1d8b41513b96e9c7ec2f68c5734cef0b26a4 Author: Andy Fleming Date: Tue Dec 16 15:29:15 2008 -0800 gianfar: Convert gianfar to an of_platform_driver Does the same for the accompanying MDIO driver, and then modifies the TBI configuration method. The old way used fields in einfo, which no longer exists. The new way is to create an MDIO device-tree node for each instance of gianfar, and create a tbi-handle property to associate ethernet controllers with the TBI PHYs they are connected to. Signed-off-by: Andy Fleming Signed-off-by: David S. Miller commit d680fe44775ed17a80035462d9898f5e77bfd7dd Author: Cyrill Gorcunov Date: Sat Dec 13 00:09:08 2008 +0300 x86: entry_64 - introduce FTRACE_ frame macro v2 Impact: clean up Itroduce MCOUNT_SAVE/RESTORE_FRAME which allow us to save a number of lines on source level. Also fix a comment in ftrace.h. Signed-off-by: Ingo Molnar commit 66896a85cf2890b6bbbc4c9ccdcd296600ffbf89 Author: Frederic Weisbecker Date: Sat Dec 13 20:18:13 2008 +0100 tracing/ftrace: add the printk-msg-only option Impact: display ftrace_printk messages "as is" By default, ftrace_printk() messages find their output with some other informations like pid, caller, ... Sometimes a developer just want to have the ftrace_printk left "as is", without other information. This is done by providing a default-off option called printk-msg-only. To enable it, just do `echo printk-msg-only > /debugfs/tracing/trace_options` Before the patch: <...>-2739 [000] 145.692153: __might_sleep: I'm an ftrace_printk msg in __might_sleep <...>-2739 [000] 145.692155: __might_sleep: I'm another ftrace_printk msg in __might_sleep After the patch and the printk-msg-only option enabled: I'm an ftrace_printk msg in __might_sleep I'm another ftrace_printk msg in __might_sleep Signed-off-by: Frederic Weisbecker Cc: Steven Rostedt Signed-off-by: Ingo Molnar commit 2c2d7329d8afa9efa3ec24e19a53e7be9d14f242 Author: Frederic Weisbecker Date: Tue Dec 16 22:08:58 2008 +0100 tracing/ftrace: use preempt_enable_no_resched_notrace in ring_buffer_time_stamp() Impact: prevent a trace recursion After some tests with function graph tracer under x86-32, I saw some recursions caused by ring_buffer_time_stamp() that calls preempt_enable_no_notrace() which calls preempt_schedule() which is traced itself. This patch re-enables preemption without rescheduling. Signed-off-by: Frederic Weisbecker Signed-off-by: Ingo Molnar commit 257d938a0c17838c740eb68f0005b041444ac2c2 Author: Andy Fleming Date: Tue Dec 16 15:25:45 2008 -0800 gianfar: Use gfar_halt to stop DMA in gfar_probe gfar_halt does everything we want to do there, including disabling TX/RX. It also doesn't unnecessarily enable DMA if it's already stopped. Signed-off-by: Andy Fleming Signed-off-by: David S. Miller commit 5eeabf5150878018d7c7092042f3b681f5b554b5 Author: Sakari Ailus Date: Tue Dec 16 15:24:05 2008 -0800 tlan: Remove broken support for big buffers The big rx/tx buffer support is broken and unlikely to be very useful as such. Remove it. Signed-off-by: Sakari Ailus Signed-off-by: David S. Miller commit 354ade9058687fdef8a612c7b298d4c51dae3da7 Merge: 9f690db bb5f133 Author: David S. Miller Date: Tue Dec 16 15:23:54 2008 -0800 Merge branch 'master' of master.kernel.org:/pub/scm/linux/kernel/git/davem/net-2.6 Conflicts: drivers/net/enc28j60.c commit 17483a1f34c970e6c2cb8c082d4441bfabbe88a9 Author: Yinghai Lu Date: Fri Dec 12 13:14:18 2008 -0800 sparseirq: fix !SMP building, #2 Impact: build fix make intr_remapping.c to include smp.h, so could use boot_cpu_id there also remove old change that disabling sparseirq with !SMP Signed-off-by: Yinghai Lu Signed-off-by: Ingo Molnar commit 48a1b10aff588833b73994704c47bbd0deb73e9c Author: Yinghai Lu Date: Thu Dec 11 00:15:01 2008 -0800 x86, sparseirq: move irq_desc according to smp_affinity, v7 Impact: improve NUMA handling by migrating irq_desc on smp_affinity changes if CONFIG_NUMA_MIGRATE_IRQ_DESC is set: - make irq_desc to go with affinity aka irq_desc moving etc - call move_irq_desc in irq_complete_move() - legacy irq_desc is not moved, because they are allocated via static array for logical apic mode, need to add move_desc_in_progress_in_same_domain, otherwise it will not be moved ==> also could need two phases to get irq_desc moved. Signed-off-by: Yinghai Lu Signed-off-by: Ingo Molnar commit 343e9099c8152daff20e10d6269edec21da44fc0 Author: Paul E. McKenney Date: Mon Dec 15 16:13:07 2008 -0800 rcu: fix rcutorture behavior during reboot Impact: fix very rare reboot hang Because rcutorture ignored all signals, it does not terminate in response to the signals sent at shutdown time. This can cause strange failures due to its continuing to make use of kernel function too late in the shutdown sequence. This patch therefore adds a shutdown notifier to rcutorture, causing it to shut down in response to a reboot or an orderly shutdown. Signed-off-by: Paul E. McKenney Signed-off-by: Ingo Molnar commit 3ac52669c7a24b93663acfcab606d1065ed1accd Author: Arjan van de Ven Date: Sat Dec 13 09:15:27 2008 -0800 resources: skip sanity check of busy resources Impact: reduce false positives in iomem_map_sanity_check() Some drivers (vesafb) only map/reserve a portion of a resource. If then some other driver comes in and maps the whole resource, the current code WARN_ON's. This is not the intent of the checks in iomem_map_sanity_check(); rather these checks want to warn when crossing *hardware* resources only. This patch skips BUSY resources as suggested by Linus. Note: having two drivers talk to the same hardware at the same time is obviously not optimal behavior, but that's a separate story. Signed-off-by: Arjan van de Ven Signed-off-by: Ingo Molnar commit c8cae544bba6aee0f5cb0756dbab1a71d2c68737 Author: Mike Travis Date: Tue Dec 16 09:13:11 2008 -0800 x86: fix build error with post-merge of tip/cpus4096 and rr-for-ingo/master. Ingo Molnar wrote: > allyes64 build failure: > > arch/x86/kernel/io_apic.c: In function ‘set_ir_ioapic_affinity_irq_desc’: > arch/x86/kernel/io_apic.c:2295: error: incompatible type for argument 2 of > ‘migrate_ioapic_irq_desc’ > arch/x86/kernel/io_apic.c: In function ‘ir_set_msi_irq_affinity’: > arch/x86/kernel/io_apic.c:3205: error: incompatible type for argument 2 of > ‘set_extra_move_desc’ > make[1]: *** wait: No child processes. Stop. Here's a small patch to correct the build error with the post-merge tree. Built and boot-tested. I'll will reset the follow on patches in my brand new git tree to accommodate this change. Fix two references in io_apic.c that were incorrect. Signed-off-by: Mike Travis Signed-off-by: Ingo Molnar commit e355204ef70181d28544ebb65a64969340ef4822 Author: Ben Dooks Date: Tue Dec 16 22:08:08 2008 +0000 i2c-omap: fix type of irq handler function The probe function used a pointer to the interrupt handler to register as a 'void *', change it to the proper type of irq_handler_t. Signed-off-by: Ben Dooks commit 5a93f42017a3d1dc7869939d46d4158732227dd7 Merge: 1bda712 5043e9e Author: Ben Dooks Date: Tue Dec 16 22:06:30 2008 +0000 Merge branch 'i2c-for-ben' of git://git.kernel.org/pub/scm/linux/kernel/git/tmlind/linux-omap-2.6 into i2c-next commit 8bee3f0a662ad9c3d6bb705b0530a3b90f089c55 Author: Hiroshi Shimamoto Date: Tue Dec 16 14:04:43 2008 -0800 x86: ia32_signal: use proper macro __USER32_DS Impact: cleanup Use __USER32_DS instead of __USER_DS in ia32_signal.c. No impact, because __USER32_DS is defined __USER_DS. Signed-off-by: Hiroshi Shimamoto Signed-off-by: Ingo Molnar commit d0b48ca189523b638d8674fa41e94d1950a17038 Author: Hiroshi Shimamoto Date: Tue Dec 16 14:03:36 2008 -0800 x86: ia32_signal: use __put_user() instead of __copy_to_user() Impact: cleanup __put_user() can be used for constant size 8, like arch/x86/kernel/signal.c. Signed-off-by: Hiroshi Shimamoto Signed-off-by: Ingo Molnar commit ae417bb487e3bb88dc862b83b4bf00d87ba67ec8 Author: Hiroshi Shimamoto Date: Tue Dec 16 14:02:16 2008 -0800 x86: signal: use signal_fault() in sys_sigreturn() Impact: cleanup Call signal_fault() in error route of sys_sigreturn(). Change log level to KERN_EMERG if current is init. Signed-off-by: Hiroshi Shimamoto Signed-off-by: Ingo Molnar commit c8182f0016fb65a721c4fbe487909a2d56178135 Author: Russ Anderson Date: Fri Dec 12 11:07:00 2008 -0600 sgi-xp: xpc needs to pass the physical address, not virtual Impact: fix crash xpc needs to pass the physical address, not virtual. Testing uncovered this problem. The virtual address happens to work most of the time due to the way bios was masking off the node bits. Passing the physical address makes it work all of the time. Signed-off-by: Russ Anderson Acked-by: Dean Nelson Signed-off-by: Ingo Molnar commit 189f67c4408806563a1f061f5c8bf184a6658477 Author: Jack Steiner Date: Fri Dec 12 14:50:40 2008 -0600 x86: UV fix for global physical addresses Impact: fix UV boot crash This fixes a UV bug related to generating global memory addresses on partitioned systems. Partition systems do not have physical memory at address 0. Instead, a chunk of high memory is remapped by the chipset so that it appears to be at address 0. This remapping is INVISIBLE to most of the OS. The only OS functions that need to be aware of the remaping are functions that directly interface to the chipset. The GRU is one example. Also, delete a couple of unused macros related to global memory addresses. Signed-off-by: Jack Steiner Signed-off-by: Ingo Molnar commit c15cb37cc4e9809624411333b96109ddf770e29c Merge: 77be80e 8b1fae4 Author: Ingo Molnar Date: Tue Dec 16 22:53:53 2008 +0100 Merge commit 'v2.6.28-rc8' into x86/uv commit fde9071167c4624281553b23232aa8b81e71c790 Author: Zachary Amsden Date: Fri Dec 12 11:26:35 2008 -0800 x86: clean up dead code in vmi_32.c Impact: cleanup, remove dead debug code I ran across some old debugging code in vmi paravirt-ops code that was already dead, but still potentially useful. After reviewing recent changes to the way kernel page tables are allocated and initialized, and the lack of bugs caught by this debugging code, I've concluded it is now totally useless to have around, and it's already been #if 0'd for quite some time. There's no rush to get this in mainline, but it's also totally harmless, so I'll let the x86 maintainers decide where it should be tucked. I've been out of the mainstream dev loop for a couple months, so apologies if I haven't got any protocol changes in order. Remove mummified remains found in vmi_32.c Signed-off-by: Zachary Amsden Signed-off-by: Ingo Molnar commit 8ae936690972dfcad73d0dde1095b9f32af5ee95 Author: Hiroshi Shimamoto Date: Fri Dec 12 15:52:26 2008 -0800 x86: hardirq: use inc_irq_stat() in non-unified functions Impact: cleanup Replace incrementing irq stat with inc_irq_stat() in non-unified functions. Signed-off-by: Hiroshi Shimamoto Signed-off-by: Ingo Molnar commit e1286f2c686f5976e0424bb6195ece25e7a17607 Author: Philipp Kohlbecher Date: Sun Dec 14 18:50:01 2008 +0100 x86: documentation fix regarding boot protocol Impact: clarify documentation Documentation/x86/boot.txt describes payload_offset as the offset from the end of the real-mode code. In fact, it is more accurately described as the offset from the beginning of the protected-mode code, as (a) this is how it is actually calculated and (b) the padding after the real-mode code is not included in the offset. Signed-off-by: Philipp Kohlbecher Acked-by: Ian Campbell Acked-by: H. Peter Anvin Signed-off-by: Ingo Molnar commit 78f902ccc597d6ce3e8d1477d70f2d79e960ba7a Merge: 9ee670f 8b1fae4 Author: Ingo Molnar Date: Tue Dec 16 22:04:48 2008 +0100 Merge commit 'v2.6.28-rc8' into x86/doc commit 39c04b55240342d0742ac48538d3d8c71bfc0a94 Author: Jeremy Fitzhardinge Date: Tue Dec 16 12:32:23 2008 -0800 x86: make sure we really have an hpet mapping before using it Impact: prepare the hpet code for Xen dom0 booting When booting in Xen dom0, the hpet isn't really accessible, so make sure the mapping is non-NULL before use. Signed-off-by: Jeremy Fitzhardinge Signed-off-by: Ingo Molnar commit ecbf29cdb3990c83d90d0c4187c89fb2ce423367 Author: Jeremy Fitzhardinge Date: Tue Dec 16 12:37:07 2008 -0800 xen: clean up asm/xen/hypervisor.h Impact: cleanup hypervisor.h had accumulated a lot of crud, including lots of spurious #includes. Clean it all up, and go around fixing up everything else accordingly. Signed-off-by: Jeremy Fitzhardinge Signed-off-by: Ingo Molnar commit 80f40ee4a07530cc3acbc239a9299ec47025825b Author: Bharata B Rao Date: Mon Dec 15 11:56:48 2008 +0530 sched: use RCU variant of list traversal in for_each_leaf_rt_rq() Impact: fix potential of rare crash for_each_leaf_rt_rq() walks an RCU protected list (rq->leaf_rt_rq_list), but doesn't use list_for_each_entry_rcu(). Fix this. Signed-off-by: Bharata B Rao Cc: Peter Zijlstra Signed-off-by: Ingo Molnar commit 0016fdee927f7aa0f428494bcf11ae60c7470a02 Author: Ian Campbell Date: Tue Dec 16 12:17:27 2008 -0800 swiotlb: move some definitions to header Impact: cleanup Signed-off-by: Ian Campbell Signed-off-by: Jeremy Fitzhardinge Signed-off-by: Ingo Molnar commit 8c5df16bec8a60bb8589fc232b9e26cac0ed4b2c Author: Jeremy Fitzhardinge Date: Tue Dec 16 12:17:26 2008 -0800 swiotlb: allow architectures to override swiotlb pool allocation Impact: generalize swiotlb allocation code Architectures may need to allocate memory specially for use with the swiotlb. Create the weak function swiotlb_alloc_boot() and swiotlb_alloc() defaulting to the current behaviour. Signed-off-by: Jeremy Fitzhardinge Signed-off-by: Ian Campbell Signed-off-by: Ingo Molnar commit a79b7a2a758c39315344f0d86b5adb21d90d786e Author: Jeremy Fitzhardinge Date: Tue Dec 16 12:17:25 2008 -0800 x86: remove unused iommu_nr_pages Impact: cleanup, remove dead code The last usage was removed by the patch set culminating in | commit e3c449f526cebb8d287241c7e82faafd9709668b | Author: Joerg Roedel | Date: Wed Oct 15 22:02:11 2008 -0700 | | x86, AMD IOMMU: convert driver to generic iommu_num_pages function Signed-off-by: Ian Campbell Signed-off-by: Jeremy Fitzhardinge Signed-off-by: Ingo Molnar commit e0d1ec97853fa09cf676dc6b51dafd35db12759e Author: Ben Dooks Date: Fri Oct 31 16:10:30 2008 +0000 i2c-s3c2410: Change IRQ to be plain integer. Change the code to use a plain integer as the holder for the IRQ for the device and use platform_get_irq() to find it. This makes the code slightly neater, and easier to get the IRQ number. Signed-off-by: Ben Dooks commit 692acbd3a866a9f84e18a5980b3a97ca52e501b2 Author: Ben Dooks Date: Fri Oct 31 16:10:28 2008 +0000 i2c-s3c2410: Allow more than one i2c-s3c2410 adapter Newer SoCs such as the S3C6410 have 2 instances of this i2c controller block in and thus require the ability to create two seperate busses from this. Signed-off-by: Ben Dooks commit 6a039cabba3ddd556643156ce0a7cd07da456b20 Author: Ben Dooks Date: Fri Oct 31 16:10:27 2008 +0000 i2c-s3c2410: Remove default platform data. The platform data should now always be present when the device is initialised, so we can remove the default platform data in the driver. All the device initialisation points in the board specific code should already have been changed to initialise this as necessary. Signed-off-by: Ben Dooks commit 8be310a6dea491b28f81672752d9d2c7fc25cdd3 Author: Ben Dooks Date: Fri Oct 31 16:10:25 2008 +0000 i2c-s3c2410: Use platform data for gpio configuration Add a callback to set the gpio configuration for the i2c device instead of a set include. This also allows the remvoal of the machine gpio and hardware files. Signed-off-by: Ben Dooks commit 3d0911bfe03b5f077cef32ca644b5756d48affc3 Author: Ben Dooks Date: Fri Oct 31 16:10:24 2008 +0000 i2c-s3c2410: Fixup style problems from checkpatch.pl Fixup the 36 warnings and errors generated from running checkpatch.pl on the driver. The warnings are too numerous to be listed here. Signed-off-by: Ben Dooks commit a9b43c7d9890066709609df849959009645c1a19 Author: Jaswinder Singh Date: Mon Dec 15 23:11:10 2008 +0530 x86: setup.c find_and_reserve_crashkernel should be static Impact: cleanup, reduce kernel size a bit Signed-off-by: Jaswinder Singh Signed-off-by: Ingo Molnar commit c0195b6da08c4ddd8c8ea830f6c3c40bc7f82071 Author: Jaswinder Singh Date: Mon Dec 15 22:26:30 2008 +0530 x86: ldt.c declare sys_modify_ldt before they get used Impact: cleanup In asm/syscalls.h moved out sys_modify_ldt from CONFIG_X86_32 as it is common for both 32 and 64 bit. Signed-off-by: Jaswinder Singh Signed-off-by: Ingo Molnar commit 7b5b50f1be9e07714cfaa620d102c8daf3cdd814 Author: Jaswinder Singh Date: Mon Dec 15 22:24:48 2008 +0530 x86: signal.c declare do_notify_resume before they get used Impact: cleanup In asm/signal.h moved out do_notify_resume from __i386__ as it is common for both 32 and 64 bit. Signed-off-by: Jaswinder Singh Signed-off-by: Ingo Molnar arch/x86/include/asm/signal.h | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) commit aab02f0ae20b8fe0fe891e9f107c6e392256ca01 Author: Jaswinder Singh Date: Mon Dec 15 22:23:54 2008 +0530 x86: process_64.c declare __switch_to() and sys_arch_prctl before they get used Impact: cleanup In asm/system.h moved out __switch_to from CONFIG_X86_32 as it is common for both 32 and 64 bit. In asm/pctl.h defined sys_arch_prctl Signed-off-by: Jaswinder Singh Signed-off-by: Ingo Molnar commit f63c2f248959366cd11bfa476f866737047cf663 Author: Tej Date: Tue Dec 16 11:56:06 2008 -0800 xen: whitespace/checkpatch cleanup Impact: cleanup Signed-off-by: Tej Signed-off-by: Jeremy Fitzhardinge Signed-off-by: Ingo Molnar commit 40fb17152c50a69dc304dd632131c2f41281ce44 Author: Venki Pallipadi Date: Mon Nov 17 16:11:37 2008 -0800 x86: support always running TSC on Intel CPUs Impact: reward non-stop TSCs with good TSC-based clocksources, etc. Add support for CPUID_0x80000007_Bit8 on Intel CPUs as well. This bit means that the TSC is invariant with C/P/T states and always runs at constant frequency. With Intel CPUs, we have 3 classes * CPUs where TSC runs at constant rate and does not stop n C-states * CPUs where TSC runs at constant rate, but will stop in deep C-states * CPUs where TSC rate will vary based on P/T-states and TSC will stop in deep C-states. To cover these 3, one feature bit (CONSTANT_TSC) is not enough. So, add a second bit (NONSTOP_TSC). CONSTANT_TSC indicates that the TSC runs at constant frequency irrespective of P/T-states, and NONSTOP_TSC indicates that TSC does not stop in deep C-states. CPUID_0x8000000_Bit8 indicates both these feature bit can be set. We still have CONSTANT_TSC _set_ and NONSTOP_TSC _not_set_ on some older Intel CPUs, based on model checks. We can use TSC on such CPUs for time, as long as those CPUs do not support/enter deep C-states. Signed-off-by: Venkatesh Pallipadi Signed-off-by: Ingo Molnar commit 7e91a122b11bb250d08ab125afd2c232c87502e1 Merge: 1bda712 d437797 Author: Ingo Molnar Date: Tue Dec 16 21:02:10 2008 +0100 Merge branch 'x86/cpufeature' into x86/tsc Merge itto in x86/tsc because an upcoming patch relies on a new cpuid bit defined in the x86/cpufeature branch. commit d4377974062122d6d9be0bbd8a910a0954714194 Author: Ingo Molnar Date: Tue Dec 16 20:59:24 2008 +0100 x86: support always running TSC on Intel CPUs, add cpufeature definition Impact: add new synthetic-cpuid bit definition add X86_FEATURE_NONSTOP_TSC to the cpufeature bits - this is in preparation of Venki's always-running-TSC patch. Signed-off-by: Ingo Molnar commit dd7a5230cd651bfb119d222561c4032f30dd5659 Merge: 050dc69 8b1fae4 Author: Ingo Molnar Date: Tue Dec 16 20:57:41 2008 +0100 Merge commit 'v2.6.28-rc8' into x86/cpufeature commit bacbe9994541c70aa3abd1a013ac738e58d4bfb2 Author: Janne Kulmala Date: Tue Dec 16 13:39:57 2008 +0200 x86: enable HPET on Fujitsu u9200 Impact: auto-enable HPET on Fujitsu u9200 HPET timer is listed in the ACPI table, but needs a quirk entry in order to work. Unfortunately, the quirk code runs after first HPET hpet_enable() which has already determined that the timer doesn't work (reads 0xFFFFFFFF). This patch allows hpet_enable() to be called again after running the quirk code. Signed-off-by: Janne Kulmala Signed-off-by: Ingo Molnar commit df23cab563912ba43f7e9bc8ac517e5a2ddc9cd2 Author: Andreas Herrmann Date: Tue Dec 16 19:22:36 2008 +0100 x86: microcode_amd: modify log messages Impact: change microcode printk content Change log level and provide (at least I tried to;-) consistent, short, meaningful content. Signed-off-by: Andreas Herrmann Cc: Dmitry Adamushko Signed-off-by: Ingo Molnar commit 5549b94bc74c3e7edd44e0aeb7d9f773e82d2d20 Author: Andreas Herrmann Date: Tue Dec 16 19:21:30 2008 +0100 x86: microcode_amd: use 'packed' attribute for structs Impact: cleanup Signed-off-by: Andreas Herrmann Signed-off-by: Ingo Molnar commit 98415301ea2dd389539ab429bcfa9da07219eabc Author: Andreas Herrmann Date: Tue Dec 16 19:20:21 2008 +0100 x86: microcode_amd: remove (wrong) chipset deivce ID checks Impact: remove dead/incorrect code Currently there is no chipset specific ucode. The checks are incorrect anyway (e.g. pci device IDs are 16 bit and not 8 bit). Thus I remove the stuff for the time being and will reintroduce it if it's foreseeable that it is really needed. Signed-off-by: Andreas Herrmann Signed-off-by: Ingo Molnar commit 6cc9b6d94b6fee23b0671970f67d297fa76b68b3 Author: Andreas Herrmann Date: Tue Dec 16 19:17:45 2008 +0100 x86: microcode_amd: consolidate macro definitions Impact: cleanup Signed-off-by: Andreas Herrmann Signed-off-by: Ingo Molnar commit 29d0887ffd084cde9d6a1286cb82b71701a974dd Author: Andreas Herrmann Date: Tue Dec 16 19:16:34 2008 +0100 x86: microcode_amd: replace inline asm by common rdmsr/wrmsr functions Impact: cleanup Signed-off-by: Andreas Herrmann Signed-off-by: Ingo Molnar commit 0657d9ebff186dcdb17e582dcb909028775a7707 Author: Andreas Herrmann Date: Tue Dec 16 19:14:05 2008 +0100 x86: microcode_amd: don't pass superfluous function pointer for get_ucode_data Impact: cleanup Signed-off-by: Andreas Herrmann Signed-off-by: Ingo Molnar commit 8c135206c826095c852c16d94a0a74eeaf05c90d Author: Andreas Herrmann Date: Tue Dec 16 19:13:00 2008 +0100 x86: microcode_amd: fix compile warning Impact: fix build warning CC arch/x86/kernel/microcode_amd.o arch/x86/kernel/microcode_amd.c: In function ‘request_microcode_fw’: arch/x86/kernel/microcode_amd.c:393: warning: passing argument 2 of ‘generic_load_microcode’ discards qualifiers from pointer target type (Respect "const" qualifier of firmware->data.) Signed-off-by: Andreas Herrmann Signed-off-by: Ingo Molnar commit be957763b01905d33b53cdd25c8df110f94f499a Author: Andreas Herrmann Date: Tue Dec 16 19:11:23 2008 +0100 x86: microcode_amd: fix checkpatch warnings/errors Impact: cleanup Signed-off-by: Andreas Herrmann Signed-off-by: Ingo Molnar commit 2a3282a77b02fb47576ffbdb4867c8c6eeb83ed5 Author: Andreas Herrmann Date: Tue Dec 16 19:08:53 2008 +0100 x86: microcode_amd: fix typos and trailing whitespaces in log messages Impact: fix printk typos Signed-off-by: Andreas Herrmann Signed-off-by: Ingo Molnar commit 3c763fd77e66e55d029052da31df0abd9920cb1e Author: Andreas Herrmann Date: Tue Dec 16 19:07:47 2008 +0100 x86: microcode_amd: fix wrong handling of equivalent CPU id Impact: fix bug resulting in non-loaded AMD microcode mc_header->processor_rev_id is a 2 byte value. Similar is true for equiv_cpu in an equiv_cpu_entry -- only 2 bytes are of interest. Signed-off-by: Andreas Herrmann Signed-off-by: Ingo Molnar commit dcbdd4dcb9793b00b46ab023e9330922c8c7c54c Author: Chris Mason Date: Tue Dec 16 13:51:01 2008 -0500 Btrfs: delete checksum items before marking blocks free Btrfs maintains a cache of blocks available for allocation in ram. The code that frees extents was marking the extents free and then deleting the checksum items. This meant it was possible the extent would be reallocated before the checksum item was actually deleted, leading to races and other problems as the checksums were updated for the newly allocated extent. The fix is to delete the checksum before marking the extent free. Signed-off-by: Chris Mason commit b6fd6f26733e864fba2ea3eb1d716e23d2e66f3a Author: Ingo Molnar Date: Tue Dec 16 19:23:36 2008 +0100 x86, mm: limit MAXMEM on 64-bit on 64-bit x86 the physical memory limit is controlled by the sparsemem bits - which are 44 bits right now. But MAXMEM (the max pfn number e820 parsing will allow to enter our sizing routines) is set to 0x00003fffffffffff, i.e. 46 bits - that's too large because it overlaps into the vmalloc range. So couple MAXMEM to MAX_PHYSMEM_BITS, and add a comment that the maximum of MAX_PHYSMEM_BITS is 45 bits. Signed-off-by: Ingo Molnar commit cfc319833b5b359bf3bce99564dbac00af7925ac Author: Jan Beulich Date: Tue Dec 16 11:46:58 2008 +0000 x86, 32-bit: improve lazy TLB handling code Impact: micro-optimize the 32-bit TLB flush code Use the faster x86_{read,write}_percpu() accessors here. Signed-off-by: Jan Beulich Signed-off-by: Ingo Molnar commit beeb4195cbc80b7489631361b7ed38b7518af433 Author: Jan Beulich Date: Tue Dec 16 11:45:56 2008 +0000 x86, 32-bit: add some compile time checks to mem_init() Some of the inconsistencies checked for at run time can be detected at build time already, so duplicate the checks done at run time to also be done at build time. Signed-off-by: Jan Beulich Signed-off-by: Ingo Molnar commit d6be89ad660c5d03edef91715093d447025df59b Author: Jan Beulich Date: Tue Dec 16 11:42:45 2008 +0000 x86, 32-bit: simplify alloc_low_page() Impact: cleanup Neither of the callers really needs the physical address this function returns, so eliminate the pointless argument. Signed-off-by: Jan Beulich Signed-off-by: Ingo Molnar commit b93a531e315e97ef00367099e6b5f19651936e20 Author: Jan Beulich Date: Tue Dec 16 11:40:27 2008 +0000 allow bug table entries to use relative pointers (and use it on x86-64) Impact: reduce bug table size This allows reducing the bug table size by half. Perhaps there are other 64-bit architectures that could also make use of this. Signed-off-by: Jan Beulich Signed-off-by: Ingo Molnar commit 1796316a8b028a148be48ba5d4e7be493a39d173 Author: Jan Beulich Date: Tue Dec 16 11:35:24 2008 +0000 x86: consolidate __swp_XXX() macros Impact: cleanup, code robustization The __swp_...() macros silently relied upon which bits are used for _PAGE_FILE and _PAGE_PROTNONE. After having changed _PAGE_PROTNONE in our Xen kernel to no longer overlap _PAGE_PAT, live locks and crashes were reported that could have been avoided if these macros properly used the symbolic constants. Since, as pointed out earlier, for Xen Dom0 support mainline likewise will need to eliminate the conflict between _PAGE_PAT and _PAGE_PROTNONE, this patch does all the necessary adjustments, plus it introduces a mechanism to check consistency between MAX_SWAPFILES_SHIFT and the actual encoding macros. This also fixes a latent bug in that x86-64 used a 6-bit mask in __swp_type(), and if MAX_SWAPFILES_SHIFT was increased beyond 5 in (the seemingly unrelated) linux/swap.h, this would have resulted in a collision with _PAGE_FILE. Non-PAE 32-bit code gets similarly adjusted for its pte_to_pgoff() and pgoff_to_pte() calculations. Signed-off-by: Jan Beulich Signed-off-by: Ingo Molnar commit d072c25f531c6513994960401d2c7f059434c0d2 Author: Markus Metzger Date: Tue Dec 16 15:53:11 2008 +0100 x86, bts: correctly report invalid bts records Impact: change the reporting of empty BTS records Correctly report a cleared BTS record as invalid. Used to be reported as branch from 0 to 0. Signed-off-by: Markus Metzger Signed-off-by: Ingo Molnar commit cc1dc6d039ced64c2f8b8457bf1cccf4ecfc5942 Author: Markus Metzger Date: Tue Dec 16 15:51:03 2008 +0100 x86, bts: remove recursion from get_context Impact: cleanup Optimistically allocate a DS context. It is extremely unlikely that one already existed. This simplifies the code a lot. Signed-off-by: Markus Metzger Signed-off-by: Ingo Molnar commit bd2172f58094b3f8afa017e68f3f0b57577824e1 Author: Robert Richter Date: Tue Dec 16 16:19:54 2008 +0100 oprofile: rename kernel-wide identifiers This patch renames kernel-wide identifiers to something more oprofile specific names. Cc: Andrew Morton Signed-off-by: Robert Richter commit d69e83d99cf87e3328c47bb54684360e32aef17d Author: Dave Kleikamp Date: Tue Dec 16 10:21:34 2008 -0600 jfs: ensure symlinks are NUL-terminated This is an alternate fix for a bug reported and fixed by Duane Griffin. Signed-off-by: Dave Kleikamp Reported-by: Duane Griffin commit 80eee6bca4069c48247005aa07cb5e8e86042aa3 Author: Sascha Hauer Date: Tue Dec 16 11:44:09 2008 +0100 i.MX Framebuffer: add TFT support With TFTs we can do 5/6/5 instead of 4/4/4. Add a bitfield for this and use it with TFTs. Acked-by: Krzysztof Helt Signed-off-by: Sascha Hauer commit 278892736e99330195c8ae5861bcd9d791bbf19e Author: Sascha Hauer Date: Tue Dec 16 11:44:09 2008 +0100 i.MX Framebuffer: rename imxfb_mach_info to imx_fb_platform_data rename imxfb_mach_info to a name more common to kernel hackers Signed-off-by: Sascha Hauer commit 66c8719b2edaa08f23f3106c697891e6c765bd7a Author: Sascha Hauer Date: Tue Dec 16 11:44:08 2008 +0100 i.MX Framebuffer: Cleanup Coding style Signed-off-by: Sascha Hauer commit 24b9baf7a5678b95edb2a358594abd54dc69f8a0 Author: Sascha Hauer Date: Tue Dec 16 11:44:08 2008 +0100 i.MX Framebuffer: remove header file Move contents of imxfb.h to imxfb.c since it is used only in this file Signed-off-by: Sascha Hauer commit d6ed5755ac26044473bcc9c9d2659624003652c8 Author: Sascha Hauer Date: Tue Dec 16 11:44:08 2008 +0100 i.MX Framebuffer: fix margins The upper/lower and left/right margins are mixed up in the driver. Fix it Acked-by: Krzysztof Helt Signed-off-by: Sascha Hauer commit 72330b0eeefc7abda35b5af55d0e2a9a3d05f04c Author: Juergen Beisert Date: Tue Dec 16 11:44:07 2008 +0100 i.MX Framebuffer: Use readl/writel instead of direct pointer deref This patch prepares the current i.MX1 framebuffer driver for usage in the whole i.MX family. It switches to readl/writel for register accesses. Also it moves the register definitions to the driver where they belong. Acked-by: Krzysztof Helt Signed-off-by: Juergen Beisert Signed-off-by: Sascha Hauer commit 74b114fe2cfff9986b2469b3eb0035ca3d325d00 Author: Sascha Hauer Date: Tue Dec 16 11:44:07 2008 +0100 i.MX Framebuffer: remove gpio setup function Remove the gpio mux setup function from i.MX framebuffer driver. This function is platform specific and thus should be done by the board setup. As there are currently no in-kernel users of this driver we do not break anything. Acked-by: Krzysztof Helt Signed-off-by: Sascha Hauer commit 60e8c5ab0b09e85de62008f508d8ddfa72c15c1b Author: Sascha Hauer Date: Tue Dec 16 11:44:06 2008 +0100 MAINTAINERS: Add myself as i.MX Framebuffer driver maintainer Signed-off-by: Sascha Hauer commit bb1f24bf00a85f666b56a09b7cdbfd221af16c2c Author: Ben Stanley Date: Mon Dec 15 23:38:12 2008 +1100 ALSA: ca0106 MSI K8N Diamond MB spi_dac 2->1 This patch removes an inconsistency that became apparent when I documented the fields of snd_ca0106_details. spi_dac is always used in a 'boolean' sense, so this cleanup should make no difference. [Actually, there is one place checking explicitly spi_dac == 1, so this will change the behavior. But, supposing it's rather a typo, I apply this clean-up patch -- tiwai] Signed-off-by: Ben Stanley Signed-off-by: Takashi Iwai commit f649a7145b8b67121e8be0b50f7861755f21aa3b Author: Ben Stanley Date: Fri Dec 12 09:47:13 2008 +1100 ALSA: ca0106 Add comments to snd_ca0106_details struct Takashi wrote an email [1] explaining the fields of snd_ca0106_details, so I captured the information into the ca0106.h header file. [1] http://article.gmane.org/gmane.linux.alsa.devel/56783/match=takashi+gpio_type Signed-off-by: Ben Stanley Signed-off-by: Takashi Iwai commit 47fee6fedd3ea08e9b0f1172bc74e59ee7a6b3d9 Author: Claudio Scordino Date: Tue Nov 11 10:56:36 2008 +0100 Unused variable 'reg' removed. Signed-off-by: Claudio Scordino Signed-off-by: Sascha Hauer commit d7927e19167680053f282fb4007e81c244ebf465 Author: Paulius Zaleckas Date: Fri Nov 14 11:01:39 2008 +0100 patch-mxc-fiq Drivers which are going to use it will have to select it and use mxc_set_irq_fiq() to set FIQ mode for this interrupt. Signed-off-by: Paulius Zaleckas Signed-off-by: Sascha Hauer commit bd006a9bfedadf1ed1af0393852d1e0101c39901 Author: Paulius Zaleckas Date: Fri Nov 14 11:01:39 2008 +0100 patch-mx1-UART-support Adds support for MX1 architecture to UART driver. Signed-off-by: Paulius Zaleckas Signed-off-by: Sascha Hauer commit 5032630f398a4e30371dd39fce28778eedcbb5b5 Author: Darius Augulis Date: Fri Nov 14 11:01:39 2008 +0100 patch-mx1-mtd-xip Adds MTD XIP support for ARCH_MX1. Signed-off-by: Darius Augulis Signed-off-by: Sascha Hauer commit 219fed7558346225bae3cfd8fdbf44876e5bf79f Author: Darius Augulis Date: Fri Nov 14 11:01:38 2008 +0100 patch-mx1-add-devices Adds common devices to ARCH_MX1. Signed-off-by: Darius Augulis Signed-off-by: Sascha Hauer commit cfca8b539f53114fb6a6de091987a984c8013d96 Author: Paulius Zaleckas Date: Fri Nov 14 11:01:38 2008 +0100 patch-mxc-add-ARCH_MX1 Adds MX1 architecture to platform MXC. It will supersede mach-imx and let it die. Signed-off-by: Paulius Zaleckas Signed-off-by: Darius Augulis Signed-off-by: Sascha Hauer commit d133d6a89340b7438038ed0407221c5277cb8a0e Author: Darius Augulis Date: Fri Nov 14 11:01:38 2008 +0100 patch-iomux-mx1-mx2-cleanup Fix GIUS register setup in the mxc_gpio_mode(). Signed-off-by: Darius Augulis Signed-off-by: Sascha Hauer commit 376a960ee6fc3107077e3b3987e10688ea01c207 Author: Valentin Longchamp Date: Fri Oct 24 15:22:52 2008 +0200 [ARM] MX31: defconfig for mx31moboard platform Signed-off-by: Valentin Longchamp Signed-off-by: Sascha Hauer commit 988d2d49f767c2e9c5a082257ec4ca2ff30c2b68 Author: Valentin Longchamp Date: Sun Nov 23 17:35:08 2008 +0100 [ARM] MX31: basic support for mx31moboard platform Initial support for mx31moboard platfor with 3 serial ports and NOR Flash Signed-off-by: Valentin Longchamp Signed-off-by: Sascha Hauer commit a3cce2a8e2e7b09911ea97dbdd5236c60f202a16 Author: Valentin Longchamp Date: Fri Oct 24 15:10:32 2008 +0200 MX31: UART5 pins definition pins definition for UART5 when used in alternate mode 2 Signed-off-by: Valentin Longchamp Signed-off-by: Sascha Hauer commit d1b3cc6de8a145beabe62bde7999c61f63864eeb Author: Valentin Longchamp Date: Fri Oct 24 15:09:06 2008 +0200 MX31: definitions for UART2 pins UART2 pins when used in functionnal mode Signed-off-by: Valentin Longchamp Signed-off-by: Sascha Hauer commit df25f9da9fcc12193208e8da135c930924cd56c5 Author: Marc Kleine-Budde Date: Fri Oct 10 12:05:03 2008 +0200 imxmmc: use readl/writel Use readl/writel instead of direct pointer deref. Signed-off-by: Marc Kleine-Budde Signed-off-by: Sascha Hauer commit 2507b0a33343552d2177b75dc35fe7073349b773 Author: Marc Kleine-Budde Date: Fri Oct 10 12:05:03 2008 +0200 imxmmc: Remove unused variables This removes clkrt and cmdat from struct imxmci_host, they are unused. Signed-off-by: Marc Kleine-Budde Signed-off-by: Sascha Hauer commit 4b7c0e4cae35b49380ad69e668324d4d70b7fd4c Author: Marc Kleine-Budde Date: Fri Oct 10 12:05:03 2008 +0200 imxmmc: Checkpatch cleanup This cleans up the warnings issued by the checkpatch script and remove the file history from the header Signed-off-by: Marc Kleine-Budde Signed-off-by: Sascha Hauer commit 3287abbd71fded81469adce21628e838c566b86b Author: Sascha Hauer Date: Sun Nov 23 17:34:04 2008 +0100 [ARM] pcm037: add NAND support Signed-off-by: Sascha Hauer commit cb96cf1ad641334ca605cdf25841ac020d6ae01c Author: Sascha Hauer Date: Tue Nov 11 15:15:39 2008 +0100 [ARM] MX3: add NAND support Signed-off-by: Sascha Hauer commit 01f71a371969c753add171991d8f5ecce3b368d4 Author: Sascha Hauer Date: Tue Sep 9 11:30:58 2008 +0200 [ARM] pcm038: Add NAND support Signed-off-by: Sascha Hauer commit 02870978ea4b0a1bcae201f1b5f3a07344070398 Author: Sascha Hauer Date: Tue Sep 9 11:30:58 2008 +0200 [ARM] MX27: Add NAND resources This patch adds the platform device and resources for NAND on mx27 boards. Signed-off-by: Sascha Hauer commit 46c3d567af21cba107fef37b88a0d6ec6c35842f Author: Fabio Estevam Date: Wed Nov 12 15:38:40 2008 +0100 Add default configuration for MX31PDK board. Signed-off-by: Fabio Estevam Signed-off-by: sascha Hauer commit 1553a1ec833ddda51d57f66f8e00904b64b954c8 Author: Fabio Estevam Date: Wed Nov 12 15:38:39 2008 +0100 Add basic support for MX31PDK board. Add basic support to the MX31PDK development board, also known as MX31 3DS or MX31 3-stack board (http://www.freescale.com/imx31pdk). Signed-off-by: Fabio Estevam Signed-off-by: sascha Hauer commit 3dad21a95ba7a4159383dd170c3b0b5fedd0f5e2 Author: Sascha Hauer Date: Sun Nov 23 17:32:49 2008 +0100 [ARM] pcm037: Add support for SRAM device Signed-off-by: Sascha Hauer commit ba54b95899838610c8c23fb7ab88831016b81fb3 Author: Guennadi Liakhovetski Date: Tue Nov 11 15:12:00 2008 +0100 [ARM] pcm037: add support for the on-board LAN9217 network controller smc911x now also supports LAN921{5,7,8} network controllers. Signed-off-by: Guennadi Liakhovetski Signed-off-by: Sascha Hauer commit 3620c0dccfd35cd39324508d8c962d10f9a44ead Author: Sascha Hauer Date: Sun Nov 23 17:31:46 2008 +0100 pcm038: add driver for static ram The pcm038 module (phyCORE-i.MX27) comes with a 512 KiB static RAM which can be battery buffered. Add mtd_ram support and configure the chip select line, to which the sram is attached. Signed-off-by: Luotao Fu Signed-off-by: Sascha Hauer commit 4a7b98d7e7f1c05331bfa82e2427f896e57de35b Author: Guennadi Liakhovetski Date: Thu Nov 13 12:20:49 2008 +0100 i.MX31: fix mxc_iomux_set_pad() mxc_iomux_set_pad() is buggy on i.MX31 - it calculates the register and the offset therein wrongly. Fix it. Signed-off-by: Guennadi Liakhovetski Signed-off-by: Sascha Hauer commit 1d5aa17be13bafa6b104f4b46c958be3470b28ec Author: Sascha Hauer Date: Thu Nov 13 13:37:12 2008 +0100 [ARM] MX3 iomux: add more pin definitions Signed-off-by: Sascha Hauer commit 7bd1822135175354e1662cc890a156f1d89dc211 Author: Sascha Hauer Date: Tue Nov 4 16:48:46 2008 +0100 [ARM] MX1/MX2: simplify mxc_gpio_setup_multiple_pins mxc_gpio_setup_multiple_pins used to take several ALLOC_MODE flags. Most of them are unused, so simplify the function by removing the flags. Also, instead of using a confusing MXC_GPIO_ALLOC_MODE_RELEASE flag in a function having alloc in its name, add a mxc_gpio_release_multiple_pins function. Signed-off-by: Sascha Hauer commit d1900d3a18b114eabc15f6369f64439c248d55f3 Author: Julien Boibessot Date: Thu Oct 23 14:45:10 2008 +0200 [ARM] MX27: add i.MX27 SDHC1 and SDHC2 GPIO declarations Signed-off-by: Julien Boibessot Signed-off-by: Sascha Hauer commit 1e7f3f48b31c42b4fbb306fd1099f9d23f2407d9 Author: Sascha Hauer Date: Mon Sep 29 15:02:17 2008 +0200 MX27: Add USB pin function defines Signed-off-by: Sascha Hauer commit 8c8409539b1c2e0f803893ee9b8128ff855ec19b Author: Sascha Hauer Date: Wed Nov 5 18:27:14 2008 +0100 [ARM] MX27ads: remove unused define Signed-off-by: Sascha Hauer commit 7cb3f6d268d9a016554435bf93a818cbde342980 Author: Sascha Hauer Date: Tue Oct 14 14:51:25 2008 +0200 [ARM] MX2: Add IRQ_GPIOE definition The MX2 has 5 gpio ports, IRQ_GPIOE was missing so far. Signed-off-by: Sascha Hauer commit 619e15508b9926951d239f28ed77420aa9d00a62 Author: Sascha Hauer Date: Tue Oct 7 10:31:07 2008 +0200 MX27: Fix EMMA Base addresses The EMMA (Enhanced Multimedia Engine) is divided into two parts, the postprocessor and the preprocessor. Fix the base addresses. Signed-off-by: Sascha Hauer commit 31117b78ee843622cbc4c7c17c97be417c766385 Author: Takashi Iwai Date: Tue Dec 16 14:43:21 2008 +0100 ALSA: hda - Add Nvidia vendor id string Added Nvidia (0x10de) to the vendor id list. Cleaned up the codec name strings accordingly. Signed-off-by: Takashi Iwai commit c3895b01e80d120e8d19435f7cb1fa4c60c4e269 Merge: 3c68b4a 968ea6d Author: Ingo Molnar Date: Tue Dec 16 12:24:38 2008 +0100 Merge branch 'master' of git://git.kernel.org/pub/scm/linux/kernel/git/rusty/linux-2.6-for-ingo into cpus4096 commit 3c68b4a8071fb11d905570d9b0e23034adc6c2bb Merge: 8299608 5279585 Author: Ingo Molnar Date: Tue Dec 16 12:24:26 2008 +0100 Merge branch 'linus' into cpus4096 commit 33ebc19d5448aadb2ce4a865d7118f1c2f23fafe Author: Sascha Hauer Date: Tue Dec 16 12:17:47 2008 +0100 [ARM] MX2: DMA updates This one updates DMA support on MX2 which got broken in: [ARM] Hide ISA DMA API when ISA_DMA_API is unset Signed-off-by: Sascha Hauer commit e9515c3c9feecd74174c2998add0db51e02abb8d Author: Ken Chen Date: Mon Dec 15 22:04:15 2008 -0800 sched, cpuacct: export percpu cpuacct cgroup stats This patch export per-cpu CPU cycle usage for a given cpuacct cgroup. There is a need for a user space monitor daemon to track group CPU usage on per-cpu base. It is also useful for monitoring CFS load balancer behavior by tracking per CPU group usage. Signed-off-by: Ken Chen Reviewed-by: Li Zefan Reviewed-by: Andrew Morton Signed-off-by: Ingo Molnar commit 720f54988e17b33f3f477010b3a68ee872d20d5a Author: Ken Chen Date: Mon Dec 15 22:02:01 2008 -0800 sched, cpuacct: refactoring cpuusage_read / cpuusage_write Impact: micro-optimize the code on 64-bit architectures In the thread regarding to 'export percpu cpuacct cgroup stats' http://lkml.org/lkml/2008/12/7/13 akpm pointed out that current cpuacct code is inefficient. This patch refactoring the following: * make cpu_rq locking only on 32-bit * change iterator to each_present_cpu instead of each_possible_cpu to make it hotplug friendly. It's a bit of code churn, but I was rewarded with 160 byte code size saving on x86-64 arch and zero code size change on i386. Signed-off-by: Ken Chen Cc: Paul Menage Cc: Li Zefan Signed-off-by: Ingo Molnar commit 9dfc3bc7d21864d47797d64b8d531d4dbbc0b618 Merge: da485e0 cbc34ed 2bed844 ffc2238 Author: Ingo Molnar Date: Tue Dec 16 12:03:38 2008 +0100 Merge branches 'tracing/fastboot', 'tracing/ftrace', 'tracing/function-graph-tracer' and 'tracing/hw-branch-tracing' into tracing/core commit e7aa6f46f6e4644d466e04f54b5750a91d188abf Author: Ben Dooks Date: Tue Dec 2 19:34:52 2008 +0000 [ARM] S3C: Add UART FIFO selection during arch decompression Add a configuration option to start the UART FIFOs during the decompressions sequence to improve boot time when the bootloader fails to enable the UART FIFOs. For example, the SMDK6410 UBoot 1.1.6 leaves the FIFOs off. Signed-off-by: Ben Dooks commit 13bd41bc227a48d6cf8992a3286bf6eba3c71a0c Author: KOSAKI Motohiro Date: Tue Dec 16 00:23:34 2008 -0800 proc: enclose desc variable of show_stat() in CONFIG_SPARSE_IRQ Impact: restructure code to fix compiler warning commit 240d367b4e6c6e3c5075e034db14dba60a6f5fa7 moved desc usage point into #ifdef CONFIG_SPARSE_IRQ. Eliminate the desc variable, otherwise following warning happens: fs/proc/stat.c: In function 'show_stat': fs/proc/stat.c:31: warning: unused variable 'desc' [ akpm: cleaned up the patch to remove #ifdef ] Signed-off-by: KOSAKI Motohiro Signed-off-by: Andrew Morton Signed-off-by: Ingo Molnar commit a9c5d23ac724a3b908833cafbbbd49abe4741b86 Author: Matt Hsu Date: Tue Dec 2 19:03:28 2008 +0000 [ARM] S3C64XX: Correct the EINT IRQ type configuration Select the correct EINT configuration register when configuring the external interrupt level/edge type. Signed-off-by: Matt Hsu [ben-linux@fluff.org: description improvement] Signed-off-by: Ben Dooks commit 11e3bd09231bbc0188e0b7a2f3da3920fc74af83 Author: Kyungmin Park Date: Tue Nov 25 17:05:22 2008 +0900 [ARM] S3C64XX: Mask the pll values correctly Correct the PLL field masks to ensure the PLL functions return the right value. Signed-off-by: Kyungmin Park [ben-linux@fluff.org: improve the description text] Signed-off-by: Ben Dooks commit e4ea803ab0fcf985c2a2d24bc905a3cf9138e251 Author: Kyungmin Park Date: Tue Nov 25 16:59:54 2008 +0900 [ARM] S3C64XX: Show uncompress messages Fix the initialisation of the fifo data in the uncompression serial routines to ensure that if the FIFO is enabled, that the serial output is not corrupted. Signed-off-by: Kyungmin Park [ben-linux@fluff.org: edit description to add more detail] Signed-off-by: Ben Dooks commit 9d325f23416d1525401d43442bafca2bb254ab74 Author: Ben Dooks Date: Fri Nov 21 10:36:05 2008 +0000 [ARM] S3C: Update time initialisation to fix S3C64XX time problems The S3C64XX timer is running at the wrong rate due to the assumptions made in the timer initialisation about the way the pwm dividers work. This means that time on the S3C64XX runs twice as fast as it should. Fix the problem by moving to using the clk framework to setup the pwm timer clock muxes, as the pwm-clock code has all the necessary knowledge of how the timer clock inputs are routed. Signed-off-by: Ben Dooks commit 9f690db7ff4cb32493c0b0b13334cc4f5fd49a6b Author: Yang Hongyang Date: Tue Dec 16 02:08:29 2008 -0800 ipv6: fix the outgoing interface selection order in udpv6_sendmsg() 1.When no interface is specified in an IPV6_PKTINFO ancillary data item, the interface specified in an IPV6_PKTINFO sticky optionis is used. RFC3542: 6.7. Summary of Outgoing Interface Selection This document and [RFC-3493] specify various methods that affect the selection of the packet's outgoing interface. This subsection summarizes the ordering among those in order to ensure deterministic behavior. For a given outgoing packet on a given socket, the outgoing interface is determined in the following order: 1. if an interface is specified in an IPV6_PKTINFO ancillary data item, the interface is used. 2. otherwise, if an interface is specified in an IPV6_PKTINFO sticky option, the interface is used. Signed-off-by: Yang Hongyang Signed-off-by: David S. Miller commit f250dcdac111a8369220b8e192eae6c56dc1098a Author: Yang Hongyang Date: Tue Dec 16 02:07:45 2008 -0800 ipv6: fix the return interface index when get it while no message is received When get receiving interface index while no message is received, the the value seted with setsockopt() should be returned. RFC 3542: Issuing getsockopt() for the above options will return the sticky option value i.e., the value set with setsockopt(). If no sticky option value has been set getsockopt() will return the following values: - For the IPV6_PKTINFO option, it will return an in6_pktinfo structure with ipi6_addr being in6addr_any and ipi6_ifindex being zero. Signed-off-by: Yang Hongyang Signed-off-by: David S. Miller commit b24a2516d10751d7ed5afb58420df25370c9dffb Author: Yang Hongyang Date: Tue Dec 16 02:06:23 2008 -0800 ipv6: Add IPV6_PKTINFO sticky option support to setsockopt() There are three reasons for me to add this support: 1.When no interface is specified in an IPV6_PKTINFO ancillary data item, the interface specified in an IPV6_PKTINFO sticky optionis is used. RFC3542: 6.7. Summary of Outgoing Interface Selection This document and [RFC-3493] specify various methods that affect the selection of the packet's outgoing interface. This subsection summarizes the ordering among those in order to ensure deterministic behavior. For a given outgoing packet on a given socket, the outgoing interface is determined in the following order: 1. if an interface is specified in an IPV6_PKTINFO ancillary data item, the interface is used. 2. otherwise, if an interface is specified in an IPV6_PKTINFO sticky option, the interface is used. 2.When no IPV6_PKTINFO ancillary data is received,getsockopt() should return the sticky option value which set with setsockopt(). RFC 3542: Issuing getsockopt() for the above options will return the sticky option value i.e., the value set with setsockopt(). If no sticky option value has been set getsockopt() will return the following values: 3.Make the setsockopt implementation POSIX compliant. Signed-off-by: Yang Hongyang Signed-off-by: David S. Miller commit b09bcdd4c2f52b54115895c4d62ad82918f71431 Author: Ben Dooks Date: Fri Nov 21 10:36:03 2008 +0000 [ARM] S3C64XX: Update TCFG for new timer divider settings. The S3C64XX series has a new TCFG divider setting to allow the clock directly through, which means that we need to update the pwm-clock code to cope with this. Add containing the specific code to deal with the TCFG divider settings and provide any other per-arch data that the pwm-clock driver needs to function. Signed-off-by: Ben Dooks commit bc02ff95fe4ebd3e5ee7455c0aa6f76ebe39ebca Author: Steve Glendinning Date: Tue Dec 16 02:00:48 2008 -0800 net: Refactor full duplex flow control resolution These 4 drivers have identical full duplex flow control resolution functions. This patch changes them all to use one common function. The function in question decides whether a device should enable TX and RX flow control in a standard way (IEEE 802.3-2005 table 28B-3), so this should also be useful for other drivers. Signed-off-by: Steve Glendinning Signed-off-by: David S. Miller commit e18ce3465477502108187c6c08b6423fb784a313 Author: Steve Glendinning Date: Tue Dec 16 02:00:00 2008 -0800 net: Move flow control definitions to mii.h flags used within drivers for indicating tx and rx flow control are defined in 4 drivers (and probably more), move these constants to mii.h. The 3 SMSC drivers use the same constants (FLOW_CTRL_TX), but TG3 uses TG3_FLOW_CTRL_TX, so this patch also renames the constants within TG3. Signed-off-by: Steve Glendinning Signed-off-by: David S. Miller commit f9867328f9e1c3fceb8593f84b980aa1d648ce9c Author: Alexey Dobriyan Date: Tue Dec 16 01:55:38 2008 -0800 simeth: convert to net_device_ops Signed-off-by: Alexey Dobriyan Signed-off-by: David S. Miller commit 8207befa199c9ade670d1cf9a5bcdc76310751bd Author: Divy Le Ray Date: Tue Dec 16 01:51:47 2008 -0800 cxgb3: untie strict FW matching The NIC driver can work with mutliple versions of the FW. Let the driver load when the embedded FW does not match, and the FW update mechanism failed. The iWARP module will make its own loading decision. Signed-off-by: Divy Le Ray Signed-off-by: David S. Miller commit 5ad258c0a85a7cc03c46874e8a26c7e9b4dfb90d Author: Oliver Hartkopp Date: Tue Dec 16 01:42:50 2008 -0800 vcan: convert to net_device_ops Signed-off-by: Oliver Hartkopp Signed-off-by: David S. Miller commit ffcebb163c6ddba11abd2e8aabc7a8a88982e4f4 Author: James Chapman Date: Tue Dec 16 01:23:49 2008 -0800 l2tp: fix UDP checksum support The pppol2tp driver has had broken UDP checksum code for a long time. This patch fixes it. If UDP checksums are enabled in the tunnel's UDP socket, the L2TP driver now properly validates the checksum on receive and fills in the checksum on transmit. If the network device has hardware checksum support and is enabled, it is used instead of generating/checking the checksum in software. Signed-off-by: James Chapman Signed-off-by: David S. Miller commit 09a2c3c0d3d3550675b766aa5edc28ffee79d7ab Author: Rémi Denis-Courmont Date: Tue Dec 16 01:18:31 2008 -0800 Phonet: improve GPRS variable names Signed-off-by: Rémi Denis-Courmont Signed-off-by: David S. Miller commit 4ee59d54c3f91f1f3ad7f2856b27981414430f9e Author: Hannes Eder Date: Tue Dec 16 01:17:33 2008 -0800 isdn: eicon: fix sparse warning: make global functions static Fix this sparse warnings by making the functions static: drivers/isdn/hardware/eicon/di.c:356:6: warning: symbol 'isdn_rc' was not declared. Should it be static? drivers/isdn/hardware/eicon/di.c:558:6: warning: symbol 'isdn_ind' was not declared. Should it be static? drivers/isdn/hardware/eicon/message.c:595:6: warning: symbol 'api_parse' was not declared. Should it be static? drivers/isdn/hardware/eicon/message.c:634:6: warning: symbol 'api_save_msg' was not declared. Should it be static? drivers/isdn/hardware/eicon/message.c:666:6: warning: symbol 'api_load_msg' was not declared. Should it be static? drivers/isdn/hardware/eicon/message.c:3417:6: warning: symbol 'manufacturer_req' was not declared. Should it be static? drivers/isdn/hardware/eicon/message.c:3745:6: warning: symbol 'manufacturer_res' was not declared. Should it be static? drivers/isdn/hardware/eicon/message.c:4077:6: warning: symbol 'control_rc' was not declared. Should it be static? drivers/isdn/hardware/eicon/message.c:4743:6: warning: symbol 'data_rc' was not declared. Should it be static? drivers/isdn/hardware/eicon/message.c:4779:6: warning: symbol 'data_ack' was not declared. Should it be static? drivers/isdn/hardware/eicon/message.c:4805:6: warning: symbol 'sig_ind' was not declared. Should it be static? drivers/isdn/hardware/eicon/message.c:6173:6: warning: symbol 'SendInfo' was not declared. Should it be static? drivers/isdn/hardware/eicon/message.c:6349:6: warning: symbol 'SendMultiIE' was not declared. Should it be static? drivers/isdn/hardware/eicon/message.c:6468:6: warning: symbol 'nl_ind' was not declared. Should it be static? drivers/isdn/hardware/eicon/message.c:7250:6: warning: symbol 'get_plci' was not declared. Should it be static? drivers/isdn/hardware/eicon/message.c:7409:6: warning: symbol 'add_d' was not declared. Should it be static? drivers/isdn/hardware/eicon/message.c:7427:6: warning: symbol 'add_ai' was not declared. Should it be static? drivers/isdn/hardware/eicon/message.c:7448:6: warning: symbol 'add_b1' was not declared. Should it be static? drivers/isdn/hardware/eicon/message.c:7912:6: warning: symbol 'add_b23' was not declared. Should it be static? drivers/isdn/hardware/eicon/message.c:8709:6: warning: symbol 'nl_req_ncci' was not declared. Should it be static? drivers/isdn/hardware/eicon/message.c:8731:6: warning: symbol 'send_req' was not declared. Should it be static? drivers/isdn/hardware/eicon/message.c:8866:6: warning: symbol 'listen_check' was not declared. Should it be static? drivers/isdn/hardware/eicon/message.c:8909:6: warning: symbol 'IndParse' was not declared. Should it be static? drivers/isdn/hardware/eicon/message.c:8994:6: warning: symbol 'ie_compare' was not declared. Should it be static? drivers/isdn/hardware/eicon/message.c:9003:6: warning: symbol 'find_cip' was not declared. Should it be static? drivers/isdn/hardware/eicon/message.c:9071:6: warning: symbol 'SetVoiceChannel' was not declared. Should it be static? drivers/isdn/hardware/eicon/message.c:9089:6: warning: symbol 'VoiceChannelOff' was not declared. Should it be static? drivers/isdn/hardware/eicon/message.c:9102:6: warning: symbol 'AdvCodecSupport' was not declared. Should it be static? drivers/isdn/hardware/eicon/message.c:9198:6: warning: symbol 'CodecIdCheck' was not declared. Should it be static? Signed-off-by: Hannes Eder Signed-off-by: David S. Miller commit 205516c12dbba003c26b42cfb41e598631300106 Author: Ken Chen Date: Tue Dec 16 00:32:21 2008 -0800 x86: convert rdtscll() to use __native_read_tsc Impact: micro-optimization Is there any reason why x86 rdtscll have to use the out of line function instead of inline __native_read_tsc()? native_read_tsc and __native_read_tsc is essentially the same functions. Patch to let x86 rdtscll() to use the inline version of read_tsc. Signed-off-by: Ken Chen Signed-off-by: Ingo Molnar commit b1879204dda06a92a4ff55b681c99ee185180003 Author: Ilpo Järvinen Date: Tue Dec 16 01:15:11 2008 -0800 ipmr: merge common code Also removes redundant skb->len < x check which can't be true once pskb_may_pull(skb, x) succeeded. $ diff-funcs pim_rcv ipmr.c ipmr.c pim_rcv_v1 --- ipmr.c:pim_rcv() +++ ipmr.c:pim_rcv_v1() @@ -1,22 +1,27 @@ -static int pim_rcv(struct sk_buff * skb) +int pim_rcv_v1(struct sk_buff * skb) { - struct pimreghdr *pim; + struct igmphdr *pim; struct iphdr *encap; struct net_device *reg_dev = NULL; if (!pskb_may_pull(skb, sizeof(*pim) + sizeof(*encap))) goto drop; - pim = (struct pimreghdr *)skb_transport_header(skb); - if (pim->type != ((PIM_VERSION<<4)|(PIM_REGISTER)) || - (pim->flags&PIM_NULL_REGISTER) || - (ip_compute_csum((void *)pim, sizeof(*pim)) != 0 && - csum_fold(skb_checksum(skb, 0, skb->len, 0)))) + pim = igmp_hdr(skb); + + if (!mroute_do_pim || + skb->len < sizeof(*pim) + sizeof(*encap) || + pim->group != PIM_V1_VERSION || pim->code != PIM_V1_REGISTER) goto drop; - /* check if the inner packet is destined to mcast group */ encap = (struct iphdr *)(skb_transport_header(skb) + - sizeof(struct pimreghdr)); + sizeof(struct igmphdr)); + /* + Check that: + a. packet is really destinted to a multicast group + b. packet is not a NULL-REGISTER + c. packet is not truncated + */ if (!ipv4_is_multicast(encap->daddr) || encap->tot_len == 0 || ntohs(encap->tot_len) + sizeof(*pim) > skb->len) @@ -40,9 +45,9 @@ skb->ip_summed = 0; skb->pkt_type = PACKET_HOST; dst_release(skb->dst); + skb->dst = NULL; reg_dev->stats.rx_bytes += skb->len; reg_dev->stats.rx_packets++; - skb->dst = NULL; nf_reset(skb); netif_rx(skb); dev_put(reg_dev); $ codiff net/ipv4/ipmr.o.old net/ipv4/ipmr.o.new net/ipv4/ipmr.c: pim_rcv_v1 | -283 pim_rcv | -284 2 functions changed, 567 bytes removed net/ipv4/ipmr.c: __pim_rcv | +307 1 function changed, 307 bytes added net/ipv4/ipmr.o.new: 3 functions changed, 307 bytes added, 567 bytes removed, diff: -260 (Tested on x86_64). It seems that pimlen arg could be left out as well and eq-sizedness of structs trapped with BUILD_BUG_ON but I don't think that's more than a cosmetic flaw since there aren't that many args anyway. Compile tested. Signed-off-by: Ilpo Järvinen Signed-off-by: David S. Miller commit c40cf519f0c0f0cb0579d853949ef517a8bb494d Author: Ilpo Järvinen Date: Tue Dec 16 01:14:21 2008 -0800 hp100: use roundup instead of open coding Signed-off-by: Ilpo Järvinen Signed-off-by: David S. Miller commit 82ad33297410c1af8e993210da76e114a4c1670d Author: Divy Le Ray Date: Tue Dec 16 01:09:39 2008 -0800 cxgb3: Add multiple Tx queue support. Implement NIC Tx multiqueue. Bump up driver version. Signed-off-by: Divy Le Ray Signed-off-by: David S. Miller commit 34f28ecd0f4bdc733c681294d02d9fab5880591b Author: Peter Zijlstra Date: Tue Dec 16 08:45:31 2008 +0100 sched: optimize update_curr() Impact: micro-optimization Skip the hard work when there is none. Signed-off-by: Peter Zijlstra Acked-by: Mike Galbraith Signed-off-by: Ingo Molnar commit 03e89e4574a680af15f59329b061f35d9813aff4 Author: Mike Galbraith Date: Tue Dec 16 08:45:30 2008 +0100 sched: fix wakeup preemption clock Impact: sharpen the wakeup-granularity to always be against current scheduler time It was possible to do the preemption check against an old time stamp. Signed-off-by: Mike Galbraith Signed-off-by: Peter Zijlstra Signed-off-by: Ingo Molnar commit 7b6c32daec3bff380ced6822002bc352bdf2c982 Author: Xiaochuan-Xu Date: Mon Dec 15 21:07:41 2008 +0800 UBI: simplify PEB protection code UBI has 2 RB-trees to implement PEB protection, which is too much for simply prevent PEB from being moved for some time. This patch implements this using lists. The benefits: 1. No need to allocate protection entry on each PEB get. 2. No need to maintain balanced trees and walk them. Signed-off-by: Xiaochuan-Xu Signed-off-by: Artem Bityutskiy commit 89c88b16f12e9df9ac39418638f267ec3b36a6c6 Author: Herbert Xu Date: Mon Dec 15 23:46:15 2008 -0800 e1000e: Add GRO support This patch adds GRO support to e1000e by making it invoke napi_gro_receive instead of netif_receive_skb. Signed-off-by: Herbert Xu Signed-off-by: David S. Miller commit b240a0e5644eb817c4a397098a40e1ad42a615bc Author: Herbert Xu Date: Mon Dec 15 23:44:31 2008 -0800 ethtool: Add GGRO and SGRO ops This patch adds the ethtool ops to enable and disable GRO. It also makes GRO depend on RX checksum offload much the same as how TSO depends on SG support. Signed-off-by: Herbert Xu Signed-off-by: David S. Miller commit bf296b125b21b8d558ceb6ec30bb4eba2730cd6b Author: Herbert Xu Date: Mon Dec 15 23:43:36 2008 -0800 tcp: Add GRO support This patch adds the TCP-specific portion of GRO. The criterion for merging is extremely strict (the TCP header must match exactly apart from the checksum) so as to allow refragmentation. Otherwise this is pretty much identical to LRO, except that we support the merging of ECN packets. Signed-off-by: Herbert Xu Signed-off-by: David S. Miller commit 71d93b39e52e92aea35f1058d957cf12250d0b75 Author: Herbert Xu Date: Mon Dec 15 23:42:33 2008 -0800 net: Add skb_gro_receive This patch adds the helper skb_gro_receive to merge packets for GRO. The current method is to allocate a new header skb and then chain the original packets to its frag_list. This is done to make it easier to integrate into the existing GSO framework. In future as GSO is moved into the drivers, we can undo this and simply chain the original packets together. Signed-off-by: Herbert Xu Signed-off-by: David S. Miller commit 73cc19f1556b95976934de236fd9043f7208844f Author: Herbert Xu Date: Mon Dec 15 23:41:09 2008 -0800 ipv4: Add GRO infrastructure This patch adds GRO support for IPv4. The criteria for merging is more stringent than LRO, in particular, we require all fields in the IP header to be identical except for the length, ID and checksum. In addition, the ID must form an arithmetic sequence with a difference of one. The ID requirement might seem overly strict, however, most hardware TSO solutions already obey this rule. Linux itself also obeys this whether GSO is in use or not. In future we could relax this rule by storing the IDs (or rather making sure that we don't drop them when pulling the aggregate skb's tail). Signed-off-by: Herbert Xu Signed-off-by: David S. Miller commit d565b0a1a9b6ee7dff46e1f68b26b526ac11ae50 Author: Herbert Xu Date: Mon Dec 15 23:38:52 2008 -0800 net: Add Generic Receive Offload infrastructure This patch adds the top-level GRO (Generic Receive Offload) infrastructure. This is pretty similar to LRO except that this is protocol-independent. Instead of holding packets in an lro_mgr structure, they're now held in napi_struct. For drivers that intend to use this, they can set the NETIF_F_GRO bit and call napi_gro_receive instead of netif_receive_skb or just call netif_rx. The latter will call napi_receive_skb automatically. When napi_gro_receive is used, the driver must either call napi_complete/napi_rx_complete, or call napi_gro_flush in softirq context if the driver uses the primitives __napi_complete/__napi_rx_complete. Protocols will set the gro_receive and gro_complete function pointers in order to participate in this scheme. In addition to the packet, gro_receive will get a list of currently held packets. Each packet in the list has a same_flow field which is non-zero if it is a potential match for the new packet. For each packet that may match, they also have a flush field which is non-zero if the held packet must not be merged with the new packet. Once gro_receive has determined that the new skb matches a held packet, the held packet may be processed immediately if the new skb cannot be merged with it. In this case gro_receive should return the pointer to the existing skb in gro_list. Otherwise the new skb should be merged into the existing packet and NULL should be returned, unless the new skb makes it impossible for any further merges to be made (e.g., FIN packet) where the merged skb should be returned. Whenever the skb is merged into an existing entry, the gro_receive function should set NAPI_GRO_CB(skb)->same_flow. Note that if an skb merely matches an existing entry but can't be merged with it, then this shouldn't be set. If gro_receive finds it pointless to hold the new skb for future merging, it should set NAPI_GRO_CB(skb)->flush. Held packets will be flushed by napi_gro_flush which is called by napi_complete and napi_rx_complete. Currently held packets are stored in a singly liked list just like LRO. The list is limited to a maximum of 8 entries. In future, this may be expanded to use a hash table to allow more flows to be held for merging. Signed-off-by: Herbert Xu Signed-off-by: David S. Miller commit 1a881f27c50b4fbd6858a8696a189263621136b0 Author: Herbert Xu Date: Mon Dec 15 23:27:47 2008 -0800 net: Add frag_list support to GSO This patch allows GSO to handle frag_list in a limited way for the purposes of allowing packets merged by GRO to be refragmented on output. Most hardware won't (and aren't expected to) support handling GRO frag_list packets directly. Therefore we will perform GSO in software for those cases. However, for drivers that can support it (such as virtual NICs) we may not have to segment the packets at all. Whether the added overhead of GRO/GSO is worthwhile for bridges and routers when weighed against the benefit of potentially increasing the MTU within the host is still an open question. However, for the case of host nodes this is undoubtedly a win. Signed-off-by: Herbert Xu Signed-off-by: David S. Miller commit 89319d3801d1d3ac29c7df1f067038986f267d29 Author: Herbert Xu Date: Mon Dec 15 23:26:06 2008 -0800 net: Add frag_list support to skb_segment This patch adds limited support for handling frag_list packets in skb_segment. The intention is to support GRO (Generic Receive Offload) packets which will be constructed by chaining normal packets using frag_list. As such we require all frag_list members terminate on exact MSS boundaries. This is checked using BUG_ON. As there should only be one producer in the kernel of such packets, namely GRO, this requirement should not be difficult to maintain. Signed-off-by: Herbert Xu Signed-off-by: David S. Miller commit b53c7583e26746ef6f66c866841e10450150ed8e Author: Kay Sievers Date: Thu Dec 4 10:01:52 2008 -0800 rapidio: struct device - replace bus_id with dev_name(), dev_set_name() Cc: Matt Porter Signed-off-by: Kay Sievers Signed-off-by: Greg Kroah-Hartman Signed-off-by: Paul Mackerras commit aab0d375e01d8c16e7e5b9bd915dfaa0a815418f Author: Kay Sievers Date: Thu Dec 4 10:02:56 2008 -0800 powerpc: struct device - replace bus_id with dev_name(), dev_set_name() Acked-by: Geoff Levand Signed-off-by: Kay Sievers Signed-off-by: Greg Kroah-Hartman Signed-off-by: Paul Mackerras commit f63837f0581fe580168ae1a7d178ded935411747 Author: Benjamin Herrenschmidt Date: Sun Dec 14 19:44:51 2008 +0000 powerpc/mm: Remove flush_HPTE() The function flush_HPTE() is used in only one place, the implementation of DEBUG_PAGEALLOC on ppc32. It's actually a dup of flush_tlb_page() though it's -slightly- more efficient on hash based processors. We remove it and replace it by a direct call to the hash flush code on those processors and to flush_tlb_page() for everybody else. Signed-off-by: Benjamin Herrenschmidt Signed-off-by: Paul Mackerras commit e41e811a79a4e328005be2744c3076ebde455088 Author: Benjamin Herrenschmidt Date: Sun Dec 14 19:44:39 2008 +0000 powerpc/mm: Rename tlb_32.c and tlb_64.c to tlb_hash32.c and tlb_hash64.c This renames the files to clarify the fact that they are used by the hash based family of CPUs (the 603 being an exception in that family but is still handled by that code). This paves the way for the new tlb_nohash.c coming via a subsequent commit. Signed-off-by: Benjamin Herrenschmidt Acked-by: Kumar Gala Signed-off-by: Paul Mackerras commit 1a37a3fd7f12d8f9f720cceec84e23152e116668 Author: Benjamin Herrenschmidt Date: Sun Dec 14 19:44:24 2008 +0000 powerpc/mm: Add local_flush_tlb_mm() to SW loaded TLB implementations This adds a local_flush_tlb_mm() call as a pre-requisite for some SMP work for BookE processors. Signed-off-by: Benjamin Herrenschmidt Acked-by: Kumar Gala Signed-off-by: Paul Mackerras commit a58f053b93e15b68e7b5f442316329f68269c8d5 Author: Benjamin Herrenschmidt Date: Sun Dec 14 19:44:13 2008 +0000 powerpc: Fix asm EMIT_BUG_ENTRY with !CONFIG_BUG Instead of not defining it at all, this defines the macro as being empty, thus avoiding ifdef's in call sites when CONFIG_BUG is not set. Also removes an extra whitespace in the existing definition. Signed-off-by: Benjamin Herrenschmidt Signed-off-by: Paul Mackerras commit 3045b3cb0b068c9f7601786841cda1e0b4647bd9 Author: FUJITA Tomonori Date: Sat Dec 13 17:44:59 2008 +0000 powerpc: Remove dead BIO_VMERGE_BOUNDARY definition The block layer dropped the virtual merge feature (b8b3e16cfe6435d961f6aaebcfd52a1ff2a988c5). BIO_VMERGE_BOUNDARY definition is meaningless now (For POWER, BIO_VMERGE_BOUNDARY has been meaningless for a long time since POWER disables the virtual merge feature). Signed-off-by: FUJITA Tomonori Acked-by: Jens Axboe Signed-off-by: Paul Mackerras commit 7fe519c207e3400dea6d67e1d483a16b11608423 Author: Josh Boyer Date: Thu Dec 11 09:46:44 2008 +0000 powerpc: Introduce ppc_pci_flags accessors Currently there are a number of platforms that open code access to the ppc_pci_flags global variable. However, that variable is not present if CONFIG_PCI is not set, which can lead to a build break. This introduces a number of accessor functions that are defined to be empty in the case of CONFIG_PCI being disabled. The various platform files in the kernel are updated to use these. Signed-off-by: Josh Boyer Signed-off-by: Paul Mackerras commit edc72ac4a0894247a6d3f1157a8ec8d603fff52d Author: Nathan Lynch Date: Thu Dec 11 09:14:25 2008 +0000 powerpc/pseries: Check for GIQ indicator before calling set-indicator Since "Factor out cpu joining/unjoining the GIQ" (b4963255ad5a426f04a0bb15c4315fa4bb40cde9) the WARN_ON in xics_set_cpu_giq() is being triggered during boot on JS20 because the GIQ indicator is not available on that platform. While the warning is harmless and the system runs normally, it's nicer to check for the existence of the indicator before trying to manipulate it. Implement rtas_indicator_present(), which searches the /rtas/rtas-indicators property for the given indicator token, and use this function in xics_set_cpu_giq(). Also use a WARN statement in xics_set_cpu_giq to get better information on failure. Signed-off-by: Nathan Lynch Acked-by: Milton Miller Signed-off-by: Paul Mackerras commit 6ff04c53db97c896ecca9374c0be4f681cf5fe50 Author: Nathan Lynch Date: Wed Dec 10 14:28:42 2008 +0000 powerpc/powermac: Use set_hard_smp_processor_id() instead of smp_hw_index The hard_smp_processor_id functions are the appropriate interfaces for managing physical CPU ids. Signed-off-by: Nathan Lynch Acked-by: Benjamin Herrenschmidt Signed-off-by: Paul Mackerras commit 13a9801eb669d567ab2c8f8db5e50557fef5f636 Author: Nathan Lynch Date: Wed Dec 10 14:28:41 2008 +0000 powerpc: Move smp_hw_index to 32-bit code smp_hw_index isn't used on 64-bit, so move it from smp.c to setup_32.c. Signed-off-by: Nathan Lynch Signed-off-by: Paul Mackerras commit 6b82b3e4b54b2fce2ca11976c535012b836b2016 Author: Anton Vorontsov Date: Tue Dec 9 09:47:29 2008 +0000 powerpc: Remove `have_of' global variable The `have_of' variable is a relic from the arch/ppc time, it isn't useful nowadays. Signed-off-by: Anton Vorontsov Acked-by: Benjamin Herrenschmidt Signed-off-by: Paul Mackerras commit eb14f019597cd86c21a6c601d7e900f40030c2e7 Merge: 9a4a842 a3dd154 Author: David S. Miller Date: Mon Dec 15 20:03:50 2008 -0800 Merge branch 'master' of master.kernel.org:/pub/scm/linux/kernel/git/davem/net-2.6 Conflicts: drivers/net/e1000e/ich8lan.c commit 0efbb57e06d881a39a7f261e5c33558aedec0f79 Author: Becky Bruce Date: Thu Dec 4 08:12:40 2008 +0000 powerpc: Fix !CONFIG_PPC_NEED_DMA_SYNC_OPS build warning Change #define stubs of dma_sync ops to be empty static inlines to avoid build warning. Signed-off-by: Becky Bruce Acked-by: Stephen Rothwell Signed-off-by: Paul Mackerras commit 46d01492b2c50791b9b66f9b9154ac8d25acaeb9 Author: Geert Uytterhoeven Date: Wed Dec 3 13:52:21 2008 +0000 powerpc/ps3: Add sub-match id modalias support commit 059e4938f8b060b10c4352e6c45739473bc73267 ("powerpc/ps3: Add a sub-match id to ps3_system_bus") forgot to update the module alias support: - Add the sub-match ids to the module aliases, so udev can distinguish between different types of sub-devices. - Rename PS3_MODULE_ALIAS_GRAPHICS to PS3_MODULE_ALIAS_GPU_FB, as ps3fb binds to the "FB" sub-device. Signed-off-by: Geert Uytterhoeven Signed-off-by: Geoff Levand Signed-off-by: Paul Mackerras commit 62d80749addc969803a173573889f9b01d2459e1 Author: Geoff Levand Date: Wed Dec 3 13:52:15 2008 +0000 powerpc/ps3: Quiet dmesg output Change the debug message in dma_sb_region_create() from pr_info() to DBG() to quiet the dmesg output. Signed-off-by: Geoff Levand Signed-off-by: Paul Mackerras commit 15cb1cc981183861e4e653b67a0ea451f720af85 Author: Geoff Levand Date: Wed Dec 3 13:52:05 2008 +0000 powerpc: Fix typo in pgtable-ppc64.h Fix a minor comment typo in pgtable-ppc64.h. Signed-off-by: Geoff Levand Signed-off-by: Paul Mackerras commit 29e931c02b0e54f3d36b930c118e69b507b4b6ff Author: Nicolas Palix Date: Tue Dec 2 03:34:46 2008 +0000 powerpc/chrp: Add missing of_node_put in pci.c of_node_put is needed before discarding a value received from of_find_node_by_name, eg in error handling code or when the device node is no longer used. The semantic match that catches the bug is as follows: (http://www.emn.fr/x-info/coccinelle/) // @r exists@ local idexpression struct device_node *n; position p1, p2; statement S1,S2; expression E,E1; expression *ptr != NULL; @@ ( if (!(n@p1 = of_find_node_by_name(...))) S1 | n@p1 = of_find_node_by_name(...) ) <... when != of_node_put(n) when != if (...) { <+... of_node_put(n) ...+> } when != true !n || ... when != n = E when != E = n if (!n || ...) S2 ...> ( return \(0\|<+...n...+>\|ptr\); | return@p2 ...; | n = E1 | E1 = n ) @script:python@ p1 << r.p1; p2 << r.p2; @@ print "* file: %s of_find_node_by_name %s return %s" % (p1[0].file,p1[0].line,p2[0].line) // Signed-off-by: Nicolas Palix Signed-off-by: Julia Lawall Acked-by: Stephen Rothwell Signed-off-by: Paul Mackerras commit 1e1c568d6c66d1e2e345fd15e2a1ceafc5d7e33a Merge: 91cac62 23e0e8a Author: Paul Mackerras Date: Tue Dec 16 14:38:58 2008 +1100 Merge branch 'merge' into next commit 438a5d42e052ec6126c5f1e24763b711210db33e Author: Ben Dooks Date: Wed Nov 19 15:41:34 2008 +0000 [ARM] SMDK6410: Add LCD (LCD48WVGA) definitions Add support for the LCD 48WVGA module attached to the SMDK6410. Signed-off-by: Ben Dooks commit c7a0401e61447ebc2b7a8923c78875a2c300e548 Author: Ben Dooks Date: Wed Nov 19 15:41:33 2008 +0000 [ARM] S3C64XX: Add standard S3C64XX 24BPP LCD GPIO setup Add a standard helper to configure the LCD output pins for a 24BPP display with VSYNC/HSYNC/VDEN. Signed-off-by: Ben Dooks commit 58435f7b2d1aa1ca1b08a2eecc36e13291342cfc Author: Ben Dooks Date: Wed Nov 19 15:41:31 2008 +0000 [ARM] S3C: Add new FB device definition Add a device definition for the new S3C framebuffer driver. Signed-off-by: Ben Dooks commit 1aba834da12989bb769d1dcbf6b0ea29f730c92c Author: Ben Dooks Date: Fri Oct 31 16:14:55 2008 +0000 [ARM] S3C: Add i2c1 device definition Add device definition and support functions for the second i2c device (i2c1). If this is selected, the first i2c bus will become index 0 instead of index -1. Signed-off-by: Ben Dooks commit 8f995cc3ac94b114fe84782b023d8706d1adf960 Author: Ben Dooks Date: Wed Nov 19 15:41:30 2008 +0000 [ARM] S3C: Add register defines for new style framebuffer Provide the initial register definitions for the newer style of framebuffer cores found in the Samsung SoCs such as S3C2450, S3C64XX. Signed-off-by: Ben Dooks commit 713e9dede63c775cb42c63178a6447f2c28ec2cd Author: Ben Dooks Date: Fri Oct 31 16:29:19 2008 +0000 [ARM] S3C: Fix SDHCI setup compilation Fix the compilation of the SDHCI configuration/setup functions to depend on their respective configuration variables. Signed-off-by: Ben Dooks commit d6bc5f70e04168a3240f3ad7948415798128b949 Author: Ben Dooks Date: Mon Nov 3 20:14:57 2008 +0000 [ARM] S3C6410: Fix gpio configuration for channel 1. Select the correct GPIO configuration function for channel 1 Signed-off-by: Ben Dooks commit c33e14c724406d987111ee73f1c5335a1f450473 Author: Ben Dooks Date: Mon Nov 3 20:14:56 2008 +0000 [ARM] s3c6400_defconfig: Add SDHCI driver Add the Samsung SDHCI driver to the build. Signed-off-by: Ben Dooks commit 6c874d6fa851191bd8b9c0fce39a2d3c1ee06f96 Author: Ben Dooks Date: Mon Nov 3 20:14:55 2008 +0000 [ARM] s3c6400_defconfig: Add I2C driver and devices Add the new I2C driver and the EEPROM devices to the system, as well as update to the latest kernel. Signed-off-by: Ben Dooks commit b24636cff11fc7953e3a7f1a9b905349c0b838bf Author: Ben Dooks Date: Mon Nov 3 20:14:53 2008 +0000 [ARM] SMDK6410: Add availability of second hsmmc channel Add SDHCI channel 1. Signed-off-by: Ben Dooks commit 44539a711217898358ae456fc0f81f5f4652abd5 Author: Ben Dooks Date: Mon Nov 3 14:56:25 2008 +0000 [ARM] S3C64XX: Fix MMC0 clock source register mask Fix the definition of the MMC0 register shift and mask in the CLKSRC register. Signed-off-by: Ben Dooks commit 6a5f4b8535868ada539ea2479d4f0a6c694b3908 Author: Ben Dooks Date: Fri Oct 31 16:15:01 2008 +0000 [ARM] S3C64XX: Fix missing definition of s3c64xx_init_io() The function s3c64xx_init_io was missing from and was masked by the SMDK6410 having an local definition. Fix by removing the SMDK6410 variant and adding it to the relevant file. Signed-off-by: Ben Dooks commit 4f507d19ca9e2d703527072f7d8eeb0f0241d6b9 Author: Ben Dooks Date: Fri Oct 31 16:15:00 2008 +0000 [ARM] S3C: Add header for initial i2c device core setup. Add a header to define setup functions for the i2c devices. Signed-off-by: Ben Dooks commit 096941ed1e4b3ded5eded1b3f4208b8e35d5d3c3 Author: Ben Dooks Date: Fri Oct 31 16:14:59 2008 +0000 [ARM] SMDK6410: Add I2C device board information Add the I2C devices on the SMDK6410. Signed-off-by: Ben Dooks commit d7ea3743ca9939eb71931dedb613d14ff7201d02 Author: Ben Dooks Date: Fri Oct 31 16:14:57 2008 +0000 [ARM] SMDK6410: Add second I2C channel. Add the second I2C channel on the SMDK6410. Signed-off-by: Ben Dooks commit f9e2f3453c2357b56870b483fbc4bfd950456625 Author: Ben Dooks Date: Fri Oct 31 16:14:56 2008 +0000 [ARM] S3C64XX: Setup functions for i2c bus 1. Add common gpio setup for i2c bus 1 on all current S3C64XX architectures. Signed-off-by: Ben Dooks commit d85fa24c517b5f67646ed42bffa870bcf8bdda63 Author: Ben Dooks Date: Fri Oct 31 16:14:52 2008 +0000 [ARM] SMDK6410: Add i2c device Add i2c bus 0 to the configuration Signed-off-by: Ben Dooks commit 55132b8b4630a4b03d5c5556808c8d3866381536 Author: Ben Dooks Date: Fri Oct 31 16:14:51 2008 +0000 [ARM] S3C64XX: Add i2c device setup for I2C device 0 Add the necessary device initialisation information for I2C device 0. Signed-off-by: Ben Dooks commit 26da1bfc567e10ca20cf2ffa97dcdcbd5112275b Author: Ben Dooks Date: Fri Oct 31 16:14:50 2008 +0000 [ARM] S3C64XX: GPIO definitions for BANKS N,O,P,Q GPIO register and configuration definitions for GPIO banks N, O, P and Q. Signed-off-by: Ben Dooks commit 4162d7e36334541e9cf5262cb6e1ba4f827eb700 Author: Ben Dooks Date: Fri Oct 31 16:14:49 2008 +0000 [ARM] S3C64XX: GPIO definitions for BANKS G,H,I,J GPIO register and configuration definitions for GPIO banks G, H, I and J. Signed-off-by: Ben Dooks commit b9f2d172f224181b1053a48cec122f3c4284cbc3 Author: Ben Dooks Date: Fri Oct 31 16:14:48 2008 +0000 [ARM] S3C64XX: GPIO definitions for BANKS D,E,F GPIO register and configuration definitions for GPIO banks D, E and F. Signed-off-by: Ben Dooks commit 995deb638debc93d6c9c49cdc118d68cb31e93d9 Author: Ben Dooks Date: Fri Oct 31 16:14:47 2008 +0000 [ARM] S3C64XX: GPIO definitions for BANKS A,B,C GPIO register and configuration definitions for GPIO banks A, B and C. Signed-off-by: Ben Dooks commit 3e1b776c2b9807d3af5945d5ece86dce9dfb0279 Author: Ben Dooks Date: Fri Oct 31 16:14:40 2008 +0000 [ARM] S3C: Make i2c device definition common to plat-s3c Make the device i2c0 common to plat-s3c and move the definitions from arch/arm/plat-s3c24xx/devs.c Signed-off-by: Ben Dooks commit a2205cd2cbfb8fb217e6036f08773a09d1b6d75e Author: Ben Dooks Date: Fri Oct 31 16:14:39 2008 +0000 [ARM] S3C: Add SDHCI (HSMMC) channel 1 device definition Add device definition and support code for the Samsung HSMMC channel 1 device. Signed-off-by: Ben Dooks commit 5cc7fd88fc96072c333184ff359c818665ce2506 Author: Ben Dooks Date: Fri Oct 31 16:14:38 2008 +0000 [ARM] S3C6410: Add helper for setting SDHCI device information Add the necessary helper functions for setting up the SDHCI device information. Signed-off-by: Ben Dooks commit ea522c7a54a1422b3ce8a1b9888f2108541ba047 Author: Ben Dooks Date: Fri Oct 31 16:14:37 2008 +0000 [ARM] S3C: Add Samsung SDHCI register definitions Add the specific register definitions for the Samsung SDHCI (HSMMC) block for the S3C2443 and S3C64XX series. Signed-off-by: Ben Dooks commit 3627379fc6b3e2b531b371af97d8ce0040fc3646 Author: Ben Dooks Date: Fri Oct 31 16:14:36 2008 +0000 [ARM] S3C6XX: Add enable for clk_48 Add apropriate enable call for clk_48m. Signed-off-by: Ben Dooks commit 1451325ced5f9b1a3e5da07521deb049e32cb15a Author: Ben Dooks Date: Fri Oct 31 16:14:35 2008 +0000 [ARM] S3C6400: Register clk_fout_epll The clk_fout_epll clock wasn't registered as part of the initial clock work, which can cause problems if it is used by one of the hardware blocks. Signed-off-by: Ben Dooks commit 21b23664b9354c5449841e401efb9ad523fb898b Author: Ben Dooks Date: Fri Oct 31 16:14:34 2008 +0000 [ARM] S3C: Add new GPIO configuration calls Add new GPIO configuration calls that mesh with the new gpiolib support. Signed-off-by: Ben Dooks commit 89d043c3db22c37523165905708d2fa8062fda86 Author: Ben Dooks Date: Fri Oct 31 16:14:33 2008 +0000 [ARM] S3C64XX: GPIO library support Add gpiolib registration for the GPIOs available on the S3C64XX platform Signed-off-by: Ben Dooks commit 8a53bdb907cb924ed30f79bcfe7f4f15ff7de15e Author: Ben Dooks Date: Fri Oct 31 16:14:32 2008 +0000 [ARM] S3C: Add GPIO chip tracking The gpiolib driver keeps its chip array to itself and having a separate array for s3c-only gpios stops any non-s3c gpio being used in one of the s3c specific configuration calls. Signed-off-by: Ben Dooks commit 7db6c82a37beabef7b76d232e3d20efacd74bd3a Author: Ben Dooks Date: Fri Oct 31 16:14:31 2008 +0000 [ARM] S3C: Move common GPIO code from plat-s3c24xx Move the common parts of the GPIO code into plat-s3c for use with both the s3c24xx and s3c64xx systems. Signed-off-by: Ben Dooks commit efd3a8eb150e383305c36eedc78c29cab910158e Author: Ben Dooks Date: Fri Oct 31 16:14:30 2008 +0000 [ARM] S3C64XX: Add gpio bank numbering Define the gpio numbers for the S3C64XX GPIO banks available on the S3C6400 and S3C6410. Signed-off-by: Ben Dooks commit 39057f237dc9aff2a5ea41995029eeef7b677fae Author: Ben Dooks Date: Fri Oct 31 16:14:29 2008 +0000 [ARM] SMDK6410: Add HSMMC0 device Add HSMMC0 device to SMDK6410. Signed-off-by: Ben Dooks commit 5b323c7beb1b10b137f9e21981050319d89d55dd Author: Ben Dooks Date: Fri Oct 31 16:14:28 2008 +0000 [ARM] S3C: Move HSMMC device definition to plat-s3ec Move the definition for the hsmmc device to plat-s3c to be shared between the s3c24xx and s3c64xx platforms. Signed-off-by: Ben Dooks commit 8cdf47cb4bb10172732df0506d397aab4149e45e Author: Ben Dooks Date: Tue Oct 21 14:07:14 2008 +0100 [ARM] S3C64XX: Add external interrupt group definitions Add definitions for the external interrupt groups which accompany the original IRQ_EINT from the s3c24xx series. Signed-off-by: Ben Dooks commit f945ee13cffbee48066e2ac24dbdd1b29a102b51 Author: Ben Dooks Date: Tue Oct 21 14:07:13 2008 +0100 [ARM] S3C64XX: Fix warnings from map_io initilaisers Discard the 'void *' from the pointers used for the virtual addresses when setting up the .virtual fields of the io map to avoid implicit cast warnings Signed-off-by: Ben Dooks Index: linux.git/arch/arm/plat-s3c64xx/cpu.c =================================================================== commit 39669f594e75997db6a893c1e4a1c05312661fe2 Author: Ben Dooks Date: Tue Oct 21 14:07:12 2008 +0100 [ARM] S3C64XX: Reduce some output from INFO to DEBUG Some of the startup output can be reduced to KERN_DEBUG from KERN_INFO as it is only really useful when trying to debug kernel initialisation problems. Signed-off-by: Ben Dooks commit 92117a1fd3b7916e8882c6050a2f51f812209fcc Author: Ben Dooks Date: Tue Oct 21 14:07:11 2008 +0100 [ARM] S3C64XX: Add s3c6400_defconfig Add a basic defconfig for s3c6400 series machines. Signed-off-by: Ben Dooks commit 5718df9dd01b4c30d21eaef08b80a3893b0fa7f3 Author: Ben Dooks Date: Tue Oct 21 14:07:09 2008 +0100 [ARM] SMDK6410: Initial machine support Initial machine support for the Samsung SMDK6410. Signed-off-by: Ben Dooks commit 80789e79150b34e45a630e2f4f1b04d82c449c19 Author: Ben Dooks Date: Tue Oct 21 14:07:08 2008 +0100 [ARM] S3C64XX: Add IRQ_EINT support Add the necessary code to support IRQ_EINT(x) on the S3C64XX series of CPUs. Note, since there is no GPIO configuration support in the kernel, the irq set_type method does not configure the relevant pin to interrupt. Signed-off-by: Ben Dooks commit 9a4a84294b0d60b8c287131478f743ba2bc68949 Author: David S. Miller Date: Mon Dec 15 15:14:59 2008 -0800 8390/8390p: Fix compat netdev ops handling. Based upon a report from Randy Dunlap. The compat netdev ops assignments need to happen in 8390.c and 8390p.c, not lib8390.c, as only the type specific code can assign the correct function pointers. Signed-off-by: David S. Miller commit 94df868b884d673c294e39a11acdfebf2bfcd67b Author: Ben Dooks Date: Tue Oct 21 14:07:07 2008 +0100 [ARM] S3C64XX: Map GPIO block Add mapping for GPIO block in the static mappings. Signed-off-by: Ben Dooks commit a801cd619215a9e8c4968352cf8698ea5235f0f4 Author: Ben Dooks Date: Tue Oct 21 14:07:06 2008 +0100 [ARM] VIC: Update asm/hardware/vic.h with PL192 information The original arch/arm/include/asm/hardware/vic.h was written for the PL190 ARM VIC implementation, and as such does not have any information about the PL192 version. Add details about the PL192 and PL190 specific registers and any changes between the two units. Signed-off-by: Ben Dooks commit 3e694d4bc633a5e6192e63a644a628e7bbab3e64 Author: Ben Dooks Date: Tue Oct 21 14:07:05 2008 +0100 [ARM] S3C64XX: Demux UART interrupts Add demux handling for the UART interrupts generated by the VIC into their seperate IRQs that the serial driver can register. Signed-off-by: Ben Dooks commit b73c289cc90138e9f78d487434df0f8eeb2daf9b Author: Ben Dooks Date: Tue Oct 21 14:07:04 2008 +0100 [ARM] S3C: Update serial driver IRQ handling The S3C64XX code changes the order of the serial interrupts, so change the registration process to pickup the extra IRQ resources. Signed-off-by: Ben Dooks commit 7e1548a597ef7e26d5d62f8be3be6da9e101b26c Merge: 1f7f569 2619bc3 Author: Russell King Date: Mon Dec 15 22:13:26 2008 +0000 Merge branch 'omap3-upstream' of git://git.kernel.org/pub/scm/linux/kernel/git/tmlind/linux-omap-2.6 into devel commit b690ace50be7d10d77cb7a6d5ef1bd9de649852f Author: Ben Dooks Date: Tue Oct 21 14:07:03 2008 +0100 [ARM] S3C6400: serial support for S3C6400 and S3C6410 SoCs Add support to the Samsung serial driver for the S3C6400 and S3C6410 serial ports. Signed-off-by: Ben Dooks commit cf18acf0e04260ff8ffa46dc245d3d2324ed41b0 Author: Ben Dooks Date: Tue Oct 21 14:07:02 2008 +0100 [ARM] S3C64XX: Clock support for S3C6400/S3C6410 Add the PLL clock initialisation and clock registration and include the clocks sourced via CLKDIVx for most of the on-chip peripherals. Signed-off-by: Ben Dooks commit c652d2ddb97ccdc4774e149ef998928263fd8886 Author: Ben Dooks Date: Tue Oct 21 14:07:01 2008 +0100 [ARM] S3C: Add TICK_MAX for timer code Add TICK_MAX definition for the timer code as the S3C64XX series have 32bit capable PWM timers. Signed-off-by: Ben Dooks commit 4b31d8b2256db3ed825a63603f223f84d927ca39 Author: Ben Dooks Date: Tue Oct 21 14:07:00 2008 +0100 [ARM] S3C64XX: Add initial clock framework Add the initial clocks definitions for the s3c6400 and s3c6410. Move the epll and ext clock from the s3c2443 support into the common code. Signed-off-by: Ben Dooks commit 952b564b4d26964e3114d02368741e192e30ae28 Author: Ben Dooks Date: Tue Oct 21 14:06:59 2008 +0100 [ARM] S3C64XX: Add PLL definitions Add definitions for the s3c6400 epll and main pll as well as functions to decode the rate. Add Signed-off-by: Ben Dooks commit aa64ea3f78496bcd7d72d5caffa3d0bf43e84e54 Author: Ben Dooks Date: Tue Oct 21 14:06:58 2008 +0100 [ARM] S3C64XX: Common init code for S3C6400 and S3C6410 Add the common initialisation code for both the S3C6400 and S3C6410, the UART registration. Signed-off-by: Ben Dooks commit f982dc5321848ca6150a7a2c2bb3e28bddcf5ebe Author: Ben Dooks Date: Tue Oct 21 14:06:57 2008 +0100 [ARM] S3C64XX: Map timer memory and interrupts Add the physical to virtual memory mapping and the necessary interrupt demuxing for the PWM timer blocks. Signed-off-by: Ben Dooks commit e550ae741663e4708dcdad3fc392db156189c77c Author: Ben Dooks Date: Tue Oct 21 14:06:56 2008 +0100 [ARM] S3C: Fix PWM build on S3C6400 The pwm-clock.c needs which is included via other means on S3C24XX systems, so ensure it is explicitly included. Remove the includes of regs-clock.h and regs-gpio.h as these are not needed by the build. Signed-off-by: Ben Dooks commit 59ff6f2c0e02c23df8c94a52ab51963ae22e0463 Author: Ben Dooks Date: Tue Oct 21 14:06:52 2008 +0100 [ARM] S3C6400: Add Add the necessary support for the timer on the S3C6400 and S3C6410 by adding Signed-off-by: Ben Dooks commit d9b79fb56829de34eaddb01b405216eddd0d3b10 Author: Ben Dooks Date: Tue Oct 21 14:06:51 2008 +0100 [ARM] S3C64XX: Add VIC0 and VIC1 sourced interripts Add and initialise the two VIC (PL192) found on the S3C64XX series CPUs. Signed-off-by: Ben Dooks commit d626aeedc96e21a048f1a300cd6360f3a7be10f2 Author: Ben Dooks Date: Tue Oct 21 14:06:50 2008 +0100 [ARM] S3C6410: Initial CPU support code Initial support for the Samsung S3C6410 SoC. Signed-off-by: Ben Dooks commit beda30f6a9c5f8e1eebd195019a537057cc556fd Author: Ben Dooks Date: Tue Oct 21 14:06:49 2008 +0100 [ARM] S3C64XX: Basic CPU detection and map initialisation Initialise the basic physical to virtual mappings and then detect the CPU that the system is being run on so that the cpu code code can call the correct initialisation code. Signed-off-by: Ben Dooks commit c142f173cd5e5e16877016673f482009ffafaef6 Author: Ben Dooks Date: Tue Oct 21 14:06:48 2008 +0100 [ARM] S3C64XX: Add IRQ definitions for VIC0 and VIC1 Add IRQ definitions for the VIC0 and VIC1 interrupts on the S3C6400 and S3C6410 SoCs. Signed-off-by: Ben Dooks commit 0241cbb9d62613f6952d023a04d565901a3ca1ad Author: Ben Dooks Date: Tue Oct 21 14:06:46 2008 +0100 [ARM] S3C64XX: Add UARTdevice definitions Add resources and information for the UART deviecs on the S3C64XX CPUs. Signed-off-by: Ben Dooks commit e1a2bd1d2f368faaf377fdf8404a685280a3d0a3 Author: Ben Dooks Date: Tue Oct 21 14:06:45 2008 +0100 [ARM] S3C64XX: Add system boot-time support Add the necessary defines for to function and build an working header code block. Signed-off-by: Ben Doioks commit 0660fed465849160531f4179664922e3b0d8ba96 Author: Ben Dooks Date: Tue Oct 21 14:06:44 2008 +0100 [ARM] S3C64XX: Add Initial clock register defines. Signed-off-by: Ben Dooks commit dcb0902b470deb5500e7e459152859dc4358ca5b Author: Ben Dooks Date: Tue Oct 21 14:06:42 2008 +0100 [ARM] S3C64XX: Add Add the necessary support for the kernel low-level debug macros via Signed-off-by: Ben Dooks commit a5209797450a7c95a9b546d83dae163833f16437 Author: Ben Dooks Date: Tue Oct 21 14:06:41 2008 +0100 [ARM] S3C64XX: Add Add the include for the interrupt entry macros needed to be included by for the kernel interrupt handler. Signed-off-by: Ben Dooks commit d521f87e9c642dbc820cb839039e25a05cb02151 Author: Ben Dooks Date: Tue Oct 21 14:06:40 2008 +0100 [ARM] S3C64XX: Initial arch header files Add the initial header files for the S3C64XX support to satisfy the minimal requirements to build a kernel. Some definitions will therefore be placeholders or empty functions that will ensure that the system can build and have base functionality. These will be filled in at a later date. Signed-off-by: Ben Dooks commit a08ab63761730634bbbf8f361d1a058c1f4af9c5 Author: Ben Dooks Date: Tue Oct 21 14:06:39 2008 +0100 [ARM] S3C64XX: Initial arch directory Add the initial PLAT_S3C64XX support files and directory structure. Signed-off-by: Ben Dooks commit 9bc1aaeac0118611c30edf84995ebad5adfd6822 Author: Ben Dooks Date: Tue Oct 21 14:06:35 2008 +0100 [ARM] S3C24XX: Split timer pending code out Split the timer pending code out to a seperate per-machine header so that when compiling for mach-s3c2410 or mach-s3c24a0 we can use the right timer code without having to #ifdef the timer driver. Signed-off-by: Ben Dooks commit bcae8aeb320dfe8dde4b3512237a5b76737b0120 Author: Ben Dooks Date: Tue Oct 21 14:06:32 2008 +0100 [ARM] S3C24A0: Initial architecture support files Initial architecture support for the S3C24A0 ARCH_S3C24A0. We don't yet add an kconfig entry in the main arch/arm/Kconfig file as the series is not complete, so that is left until enough support is in to be useful. Signed-off-by: Ben Dooks commit ce46a9c497ed788146449c230765ee5d6dd3cb53 Author: Ben Dooks Date: Tue Oct 21 14:06:26 2008 +0100 [ARM] S3C24XX: Split map.h into plat-s3c24xx and mach-s3c2410 Split the map.h definitions into common S3C24XX code by adding arch/arm/plat-s3c24xx/include/plat/map.h and altering the machine specific header for the S3C24A0. As we add a new we move the original one in arch/arm/plat-s3c include directory to be called map-base.h to distinguish the two files. Signed-off-by: Ben Dooks commit 1d4bab082474d539f900e896880aa2135e0f5393 Author: Sandeep Patil Date: Tue Oct 21 14:06:30 2008 +0100 [ARM] S3C24A0: Serial port definitions and driver support. Add serial support for S3C24A0, based on current S3C2410 UART driver. It adds necessary new defines in regs-serial.h for S3C24A0 and the code to support this device in drivers/serial/s3c24a0.c Signed-off-by: Sandeep Patil Signed-off-by: Ben Dooks commit f0c9eb4ec2d3c9f4ddd74b75da6dfc137e0f6b0d Author: Ben Dooks Date: Tue Oct 21 14:06:25 2008 +0100 [ARM] S3C24A0: Debug macro definitions Add the necessary debug macros for the S3C24A0 to enable kernel debugging, and fix a bug with selecting the wrong default debug implementation from the base include. Signed-off-by: Ben Dooks commit f1cb9eba5b0ae36b2065b27cff1a5330f5a08da4 Author: Sandeep Patil Date: Tue Oct 21 14:06:24 2008 +0100 [ARM] S3C24A0: Correct S3C2410_PA_GPIO in S3C24XX_VA_GPIO The definition of S3C24XX_VA_GPIO used S3C2410_PA_GPIO where it should have read S3C24XX_PA_GPIO. Signed-off-by: Sandeep Patil Signed-off-by: Ben Dooks commit ddbf5654b494bfd9831ad7024c04f4ba53583a94 Author: Sandeep Patil Date: Tue Oct 21 14:06:23 2008 +0100 [ARM] S3C24A0: arch/arm/mach-s3c24a0/include/mach header files Add initial arch/arm/mach-s3c24a0/include/mach header files for supporting Samsung S3C24A0 SoC. Signed-off-by: Sandeep Patil Signed-off-by: Ben Dooks commit 7d2dbcf9faad074c52a941d01fc21eea3c95ca33 Author: Ben Dooks Date: Fri Nov 21 10:36:06 2008 +0000 [ARM] S3C: Fix scaler1 clock rate information The pwm-scaler0 and pwm-scaler1 clocks have their .id field set to -1 as they are not referenced to any specific device. However, parts of the pwm-clock code used the .id field to identify which scaler clock was being used. Fix the problem by comparing against the pointer to the clock to identify the scalers. Signed-off-by: Ben Dooks commit 82fd8e681d60a195ce6e9fc783d0ebe7a81b1ead Author: Ben Dooks Date: Fri Nov 21 10:36:04 2008 +0000 [ARM] S3C: Add set_rate/round_rate methods for pwm-scaler clock Add the set_rate and round_rate methods for the pwm-scaler clock for use with the time code. Signed-off-by: Ben Dooks commit f2edc7565a14aa82231c847abf33d02314cac9f9 Author: Ben Dooks Date: Fri Oct 31 16:14:27 2008 +0000 [ARM] S3C24XX: Reduce code lineage of gpiolib.c All the s3c24xx gpiolib chips share the same get/set calls and all but one bank shares the same calls for .direction_input and .direction_output methods. Change the initialisation process to use an new call to register the chips that fills in any blank calls with the default values to avoid having to fill them in the structure initialisers. Signed-off-by: Ben Dooks commit cec444b79073e7d6ef35ced5ef63c3fd83d9b9a7 Author: Ben Dooks Date: Tue Oct 21 14:07:10 2008 +0100 [ARM] S3C: BUG_ON() if clock has already been registered Add a simple check when registering a clock on whether the clock has already been added to the list. Any attempt to re-register a clock will cause the clock list to be come looped and thus produces silent failures when looking up clocks. Signed-off-by: Ben Dooks commit 93b458858f6d40650513f63feef0b350eff4845f Author: Ben Dooks Date: Tue Oct 21 14:06:55 2008 +0100 [ARM] S3C: Move pwm-clock.c to arch/arm/plat-s3c Move pwm-clock.c to arch/arm/plat-s3c to be shared with the S3C64XX implementations. Signed-off-by: Ben Dooks commit adbefaa5fdc6673bf389c00c3448b12d6125990b Author: Ben Dooks Date: Tue Oct 21 14:06:54 2008 +0100 [ARM] S3C: Move core clock support to plat-s3c Move the core clock registration and definitions in arch/arm/plat-s3c24xx/clock.c to arch/arm/plat-s3c to be shared with the S3C64XX implementations. Signed-off-by: Ben Dooks commit b915a125112b2500d5c6fd752948afc170a49cef Author: Ben Dooks Date: Tue Oct 21 14:06:53 2008 +0100 [ARM] S3C: Move time.c to arch/arm/plat-s3c Move time.c to arch/arm/plat-s3c to be shared with the S3C64XX implementations. Signed-off-by: Ben Dooks commit 6af0e929e9fb60a8e2609555129713f310188f33 Author: Ben Dooks Date: Tue Oct 21 14:06:47 2008 +0100 [ARM] S3C: Move S3C2410_EXTINT to common regs-irqtype.h header Add a common include file (regs-irqtype.h) for the IRQ trigger control register values S3C2410_EXTINT*. Signed-off-by: Ben Dooks commit a503059c14215ac4325e25d9061cad992a373e17 Author: Ben Dooks Date: Tue Oct 21 14:06:43 2008 +0100 [ARM] S3C24XX: Move headers from plat-s3c24xx to plat-s3c Move clock.h, cpu.h and devs.h to plat-s3c for use with the s3c64xx support. Signed-off-by: Ben Dooks commit e425382ed90d221ef9031a1b2d97d9bfedcf90c3 Author: Ben Dooks Date: Tue Oct 21 14:06:38 2008 +0100 [ARM] S3C24XX: Update clock data on resume Update the clock settings on resume for suspend/resume support so that if the boot loader changes anything or the system's PLL is reset then we return with the correct settings. Signed-off-by: Ben Dooks commit c3391e36d697c997b6afeb045071e0be95219a3e Author: Ben Dooks Date: Tue Oct 21 14:06:37 2008 +0100 [ARM] S3C24XX: Change clock locking to use spinlocks. We cannot sleep if we have cpufreq pm enabled during some of the clock operations, so change to use a spinlock to protect the clock system. Signed-off-by: Ben Dooks commit 305554768011707f33f437b96f999f812ba2a7e4 Author: Ben Dooks Date: Tue Oct 21 14:06:36 2008 +0100 [ARM] CPUFREQ: S3C24XX serial CPU frequency scaling support. Add support for CPU frequency scalling to the S3C24XX serial driver. Signed-off-by: Ben Dooks commit e24b864ab3e1a5916c87e13cfdc94c1d02f0578b Author: Ben Dooks Date: Tue Oct 21 14:06:34 2008 +0100 [ARM] S3C24XX: Split pll code out of regs-clock.h Move the PLL calculation code into it's own header file for re-use with the other plat-s3c24xx based systems such as the S3C24A0. Note, we change the name of s3c2410_get_pll to the more generically named s3c24xx_get_pll as well as the related defintions. Signed-off-by: Ben Dooks commit 93bc6b6371b6b7303ffdae0d69dcdc443b8b0d8a Author: Ben Dooks Date: Tue Oct 21 14:06:33 2008 +0100 [ARM] S3C24XX: Split DCLK/CLKOUT definitions out of clock.c Only certain boards need these clocks, and they are not available on some CPUs (such as the S3C24A0) so remove them from arch/arm/plat-s3c24xx/clock.c and into their own file with appropriate Kconfig entries. Signed-off-by: Ben Dooks commit 74b265d4e0555b9fc9cc75eb8876140ecf8c6b8a Author: Ben Dooks Date: Tue Oct 21 14:06:31 2008 +0100 [ARM] S3C24XX: Move initialisation code to arch/arm/plat-s3c We need to add plat-s3c to the build to get the headers that will go in here once moved from include/asm-arm so we may as well put some useful common s3c code in here to stop the errors generated form having nothing built. The cpu setup is now passed the cpu idcode and the table of supported cpus to s3c_init_cpu() to abstract the cpu identification out of the initial io setup. As well as moving the cpu initialisation code, we move the map of the board specific items up to the calling code as none of the map_io() functions actually do anything other than pass this to iotable_init(). This patch does not rename any of the init functions that will be common to s3c24xx and any other s3c architectures as this can be done at a later date as it will touch all the board support files which use functions such as s3c24xx_init_clocks() and s3c24xx_init_uarts(). Note, the header arch/arm/plat-s3c24xx/include/plat/cpu.h still has functions that are used by both the cpu and board initialisation functions. This means that each board has definitions specific to the cpu support included and the vice-versa. Signed-off-by: Ben Dooks commit 2cd493fc10a5ad628dce8471ae72cf0882506735 Author: Ben Dooks Date: Tue Oct 21 14:06:29 2008 +0100 [ARM] S3C24XX: Add default header Add a default header for for systems such as the S3C24A0 which do not need any of the complex code that the S3C2410 uses. Signed-off-by: Ben Dooks commit 112f4a708d7bb84298d1b34c734f90d027e7ec01 Author: Ben Dooks Date: Tue Oct 21 14:06:28 2008 +0100 [ARM] S3C24XX: Move vmalloc.h to plat-s3c vmalloc.h is common across all the current s3c platforms, so move it to arch/arm/plat-s3c/include/mach to be used for all the targets. Signed-off-by: Ben Dooks commit 95f42b3911fc3af2a4d4d8af966583122a94e42c Author: Ben Dooks Date: Tue Oct 21 14:06:27 2008 +0100 [ARM] S3C: Make common Move to arch/arm/plat-s3c/include/mach/timex.h so it can be the default for all S3C based architectures. Signed-off-by: Ben Dooks commit 1b3ba68884d192f42fcf4352e1ac7174facc96af Author: Ben Dooks Date: Tue Oct 21 14:06:22 2008 +0100 [ARM] S3C2410: Move base clock code to plat-s3c24xx Move the S3C2410 base clock list to arch/arm/plat-s3c24xx as this code is common to the S3C2410, S3C2440 and S3C2442 cpus. Signed-off-by: Ben Dooks commit 7f565ecc33c5536a76cd73847874df5f804a49aa Author: Ben Dooks Date: Tue Oct 21 14:06:21 2008 +0100 [ARM] S3C: Add for initial cpufreq definitions This is the header file that defines the basic cpu frequency scalling support for the Samsung S3C series of SoC. Signed-off-by: Ben Dooks commit b2a6cf3b1e099a724504ba16a4c9aea1eb0122a6 Author: Ben Dooks Date: Tue Oct 21 14:06:20 2008 +0100 [ARM] S3C24XX: Default SPI pin configuration for SPI Add a set of default pin configuration routines for setting up the SPI gpio configuration when using the hardware SPI driver. Signed-off-by: Ben Dooks commit 75eff68ea6959efd999b125fc3dcf73931a3b30b Author: Chris Mason Date: Mon Dec 15 15:54:40 2008 -0500 Btrfs: Don't use spin*lock_irq for the delalloc lock The delalloc lock doesn't need to have irqs disabled, nobody that changes the number of delalloc bytes in the FS is running with irqs off. Signed-off-by: Chris Mason commit 91cac623262c1c0cd298c5c648a8bd2b647c264d Author: Kumar Gala Date: Sat Dec 13 17:41:41 2008 -0600 powerpc/85xx: Fix compile issues with mpc8572ds.dts Fix the localbus reg & range properties to respect that the top level #address-cells and #size-cells = 2. The original commit (c64ef80b517680f1e228b2ee55e3ce7cd94c7fe0) did not do that. Signed-off-by: Kumar Gala commit 8309ce7280536b07716026ff588acbcc0ee1a546 Author: Benjamin Herrenschmidt Date: Fri Dec 12 17:33:25 2008 +1100 powerpc: Fix bogus cache flushing on all 40x and BookE processors v2 We were missing the CPU_FTR_NOEXECUTE bit in our cputable for all these processors. The result is that update_mmu_cache() would flush the cache for all pages mapped to userspace which is totally unnecessary on those processors since we already handle flushing on execute in the page fault path. This should provide a nice speed up ;-) Signed-off-by: Benjamin Herrenschmidt Acked-by: Josh Boyer Signed-off-by: Kumar Gala commit 23553b2c08c9b6e96be98c44feb9c5e640d3e789 Author: Xiaochuan-Xu Date: Tue Dec 9 19:44:12 2008 +0800 UBI: prepare for protection tree improvements This patch modifies @struct ubi_wl_entry and adds union which contains only one element so far. This is just a preparation for further changes which will kill the protection tree and make UBI use a list instead. Signed-off-by: Xiaochuan-Xu Signed-off-by: Artem Bityutskiy commit 42dc7babdcc99feadb04d461592ce5898a362550 Author: Chris Mason Date: Mon Dec 15 11:44:56 2008 -0500 Btrfs: Fix compressed writes on truncated pages The compression code was using isize to limit the amount of data it sent through zlib. But, it wasn't properly limiting the looping to just the pages inside i_size. The end result was trying to compress too many pages, including those that had not been setup and properly locked down. This made the compression code oops while trying find_get_page on a page that didn't exist. Signed-off-by: Chris Mason commit 3d1ee379bd576c0830050c2d313e77b9f98a8013 Author: Mark Brown Date: Mon Dec 15 15:43:43 2008 +0000 ALSA: Fix declaration of sound_class Include sound/core.h in sound_core.c so that sound_class is declared before it is defined, avoiding it looking like it should be static. Signed-off-by: Mark Brown Signed-off-by: Takashi Iwai commit 1f7f569c0ae6e619504095eabf796edd712d943d Merge: a02f45c e38a970 Author: Russell King Date: Mon Dec 15 10:36:25 2008 +0000 Merge branch 'for_rmk' of git://git.mnementh.co.uk/linux-2.6-im into devel commit 8b124a8e14c04378466ddfe63e41fc5035f957eb Author: Don Skidmore Date: Mon Dec 15 01:06:23 2008 -0800 net: fix dcbnl_setnumtcs operation check dcbml_setnumtcs wasn't checking for the presence of the setnumtcs function. Instead, it was checking for setstate which was a bug. Signed-off-by: Don Skidmore Signed-off-by: Eric W Multanen Signed-off-by: Peter P Waskiewicz Jr Signed-off-by: Jeff Kirsher Signed-off-by: David S. Miller commit 5ecc361444a0c641a73cce05fb652d0e3c944451 Author: Jesse Brandeburg Date: Mon Dec 15 01:00:57 2008 -0800 ixgbe: fix dma mapping unbalance This issue was initially reported by Joerg Roedel It appears that ixgbe has had a long standing bug where it was unmapping a different size than it had mapped. ixgbe 0000:02:00.0: PCI-DMA: device driver frees DMA memory with different sizes than it mapped. ixgbe 0000:02:00.0: PCI-DMA: device driver frees DMA memory with different size [device address=0x0000000003fed812] [map size=258 bytes] [unmap size=256 bytes] Pid: 6178, comm: rmmod Not tainted 2.6.28-rc5 #4 Call Trace: [] iommu_queue_inv_iommu_pages+0x5e/0x70 [] check_unmap+0x1c6/0x240 [] debug_unmap_single+0xb5/0x110 [] ixgbe_clean_rx_ring+0x147/0x220 [] ixgbe_down+0x2fd/0x3d0 [ixgbe] [] ixgbe_close+0x13/0xc0 [ixgbe] [] dev_close+0x56/0xa0 [] rollback_registered+0x43/0x220 [] unregister_netdevice+0x15/0x60 [] unregister_netdev+0x11/0x20 [] ixgbe_remove+0x48/0x16e [ixgbe] [] pci_device_remove+0x2c/0x60 [] __device_release_driver+0x99/0x100 [] driver_detach+0xb8/0xc0 [] bus_remove_driver+0x8e/0xd0 [] pci_unregister_driver+0x34/0x90 [] sys_delete_module+0x1c7/0x2a0 [] do_munmap+0x349/0x390 [] __up_write+0x21/0x150 [] system_call_fastpath+0x16/0x1b Signed-off-by: Jesse Brandeburg Signed-off-by: Jeff Kirsher Signed-off-by: David S. Miller commit a7276db6adfded660eec1e1629710b8b82d83455 Author: Steve Glendinning Date: Mon Dec 15 00:59:47 2008 -0800 smsc9420: add ethtool register dump support This patch adds support for SMSC's LAN9420 PCI ethernet controller to ethtool's dump registers (-d) command. This patch is for use with an accompanying ethtool patch, which decodes the register dump. Signed-off-by: Steve Glendinning Signed-off-by: David S. Miller commit b1721d2bb9d015d7e49079414671569a2fc0ac9b Author: Ilpo Järvinen Date: Sun Dec 14 23:19:48 2008 -0800 rpc/rdma: goto instead of copypaste Signed-off-by: Ilpo Järvinen Signed-off-by: David S. Miller commit 79f55f11a090d9f369448dcb58242c7924873920 Author: Ilpo Järvinen Date: Sun Dec 14 23:19:02 2008 -0800 nf/dccp: merge errorpaths Signed-off-by: Ilpo Järvinen Signed-off-by: David S. Miller commit e780f1c33d76ebb81607a6b5d6b669edb9065a7f Author: Ilpo Järvinen Date: Sun Dec 14 23:18:30 2008 -0800 irda: merge exit paths Signed-off-by: Ilpo Järvinen Signed-off-by: David S. Miller commit 037322abe6141e32e1b1dea86a9405d52c99be5d Author: Ilpo Järvinen Date: Sun Dec 14 23:18:00 2008 -0800 bt/rfcomm/tty: join error paths Signed-off-by: Ilpo Järvinen Signed-off-by: David S. Miller commit 0eae1b98cf3022715b5a6ea5f1ac6b0bd7ac4edd Author: Ilpo Järvinen Date: Sun Dec 14 23:17:26 2008 -0800 ax25: join the return paths that free skb Signed-off-by: Ilpo Järvinen Signed-off-by: David S. Miller commit ebad5c0984e06f4036d2eb2741b9afce736b8a06 Author: Ilpo Järvinen Date: Sun Dec 14 23:16:58 2008 -0800 can: merge error paths Signed-off-by: Ilpo Järvinen Signed-off-by: David S. Miller commit d8eb93078cedbbf4b7e18e1d7054171c7b70b442 Author: Ilpo Järvinen Date: Sun Dec 14 23:16:22 2008 -0800 xfrm: join error paths Signed-off-by: Ilpo Järvinen Signed-off-by: David S. Miller commit 8da73b73ef29d537ba09f29393cd68707833e746 Author: Ilpo Järvinen Date: Sun Dec 14 23:15:49 2008 -0800 ip6mr: use goto to common label instead of opencoding Signed-off-by: Ilpo Järvinen Signed-off-by: David S. Miller commit 448eb71f40120a8fd11ebd58153c271c63e6f862 Author: Ilpo Järvinen Date: Sun Dec 14 23:15:21 2008 -0800 ipv6/mcast: join error paths using goto Signed-off-by: Ilpo Järvinen Signed-off-by: David S. Miller commit 5ce1bbb97bf1e6707102d30499e7feaa1e6a2134 Author: Ilpo Järvinen Date: Sun Dec 14 23:13:48 2008 -0800 xfrm6_tunnel: join error paths using goto Signed-off-by: Ilpo Järvinen Signed-off-by: David S. Miller commit 857a6e0a4d8db0bbee685ccc97c6bd7987e7aede Author: Ilpo Järvinen Date: Sun Dec 14 23:13:08 2008 -0800 icsk: join error paths using goto Signed-off-by: Ilpo Järvinen Signed-off-by: David S. Miller commit e38a9707d8d94de86fe84109fa6823ddc969721a Author: Ian Molton Date: Tue Oct 7 22:01:59 2008 +0100 [PCMCIA] e740 PCMCIA socket driver. This patch adds the platform specific support needed to control the PCMCIA hardware on the Toshiba e740. Signed-off-by: Ian Molton commit b1ae1b7b274f67c149bee4731e38a7516c723de4 Author: Ian Molton Date: Fri Sep 26 13:38:59 2008 +0100 [ARM] pxa: Add multi-io support for e-series This patchset provides support for the TMIO based IO controller used in the Toshiba e-series PDAs. Signed-off-by: Ian Molton Acked-by: Samuel Ortiz Acked-by: Eric Miao commit a02f45cfca97dcf97c03b32603ec2399bf006605 Author: Russell King Date: Sun Dec 14 13:22:51 2008 +0000 [ARM] move asm/xip.h's mach/hardware.h include to mach/xip.h Signed-off-by: Russell King commit 6ce1b871db6a3ca69ed1e35956d89d3cacd7ba08 Author: Julia Lawall Date: Mon Dec 1 14:15:41 2008 -0800 [ARM] eliminate NULL test and memset after alloc_bootmem As noted by Akinobu Mita in patch b1fceac2b9e04d278316b2faddf276015fc06e3b, alloc_bootmem and related functions never return NULL and always return a zeroed region of memory. Thus a NULL test or memset after calls to these functions is unnecessary. This was fixed using the following semantic patch. (http://www.emn.fr/x-info/coccinelle/) // @@ expression E; statement S; @@ E = \(alloc_bootmem\|alloc_bootmem_low\|alloc_bootmem_pages\|alloc_bootmem_low_pages\|alloc_bootmem_node\|alloc_bootmem_low_pages_node\|alloc_bootmem_pages_node\)(...) ... when != E ( - BUG_ON (E == NULL); | - if (E == NULL) S ) @@ expression E,E1; @@ E = \(alloc_bootmem\|alloc_bootmem_low\|alloc_bootmem_pages\|alloc_bootmem_low_pages\|alloc_bootmem_node\|alloc_bootmem_low_pages_node\|alloc_bootmem_pages_node\)(...) ... when != E - memset(E,0,E1); // Signed-off-by: Julia Lawall Cc: Russell King Signed-off-by: Andrew Morton Signed-off-by: Russell King commit d517cab1c7fc92178e11c7ded2548b06b273d293 Author: Sascha Hauer Date: Mon Dec 1 14:15:40 2008 -0800 [ARM] pcm037: add 1wire support Signed-off-by: Sascha Hauer Signed-off-by: Evgeniy Polyakov Signed-off-by: Andrew Morton Signed-off-by: Russell King commit d40a09920be4d64414c3e5396c6399ac96ad0e00 Author: Sascha Hauer Date: Mon Dec 1 14:15:40 2008 -0800 [ARM] MX2 pcm038: add 1-wire master support Signed-off-by: Sascha Hauer Signed-off-by: Evgeniy Polyakov Signed-off-by: Andrew Morton Signed-off-by: Russell King commit a8405929338063f0fe263d18ca24a6005d39b508 Author: Sascha Hauer Date: Mon Dec 1 14:15:39 2008 -0800 [ARM] MX31: add w1 platform_device and resources Signed-off-by: Sascha Hauer Signed-off-by: Evgeniy Polyakov Signed-off-by: Andrew Morton Signed-off-by: Russell King commit 3d89baa73a392e242b5eb7b0e749a08af3bf014f Author: Sascha Hauer Date: Mon Dec 1 14:15:38 2008 -0800 [ARM] MX2: Add W1 device/resources Signed-off-by: Sascha Hauer Signed-off-by: Evgeniy Polyakov Signed-off-by: Andrew Morton Signed-off-by: Russell King commit 7180d868e3ff0741e9483c7a056445854e5af876 Author: Daniel Silverstone Date: Sat Dec 13 20:44:16 2008 +0000 [ARM] DSM320: Update KS8695 defconfig to include DSM320 Update the KS8695 defconfig to bring it up to modern config standards and include the DSM320 and appropriate drivers for the DSM320 (E.g. prism54). Signed-off-by: Daniel Silverstone Signed-off-by: Ben Dooks commit 6174dee5146dc2c7eca8f103b85be168dc564ffb Author: Daniel Silverstone Date: Sat Dec 13 20:44:15 2008 +0000 [ARM] DSM320: Add support for the DSM320 Add support for the D-Link DSM-320 Wireless Media Player which is based on the Micrel KS8695 SoC. Signed-off-by: Daniel Silverstone Signed-off-by: Ben Dooks commit 7ef71320eba8933275be10bfa44e083bec95b3f1 Author: Ben Dooks Date: Sat Dec 13 20:44:13 2008 +0000 [ARM] KS8695: Add GPIO to IRQ mapping function Use the GPIOlib .to_irq call to map KS8695 GPIOs to the relevant IRQ line. Signed-off-by: Ben Dooks commit 72880ad866c21badace4d8026c1e58f2fde087fb Author: Daniel Silverstone Date: Sat Dec 13 20:44:12 2008 +0000 [ARM] KS8695: Fixup the KS8695 GPIO to be GPIOLIB This patch is as small a change as possible to the KS8695 GPIO layer to use GPIOLIB to allow the generic GPIO expanders and the like to be compiled. As a side-effect, we also remove __init_or_module from several functions which could be called by drivers such as i2c-gpio which could plausibly be compiled into a non-modular kernel. Signed-off-by: Daniel Silverstone Signed-off-by: Vincent Sanders Signed-off-by: Ben Dooks commit fbd627100bc4a9ebce8c7617df499ee5db763780 Author: Daniel Silverstone Date: Sat Dec 13 20:44:11 2008 +0000 [ARM] KS8695: Fix up device registration. The KS8695 device.c provides registration functionality for the KS8695's various devices such as watchdog timers and ethernet devices. Rather than predicating those on the config options for the drivers, always register the platform devices so that a later built module can hook on. Also, the ethernet used to register virtual addresses in the platform data. This is wrong and so this patch changes them to physical addresses and also passes in the appropriate physical region for the PHY or Switch as appropriate. Signed-off-by: Daniel Silverstone Signed-off-by: Ben Dooks commit 9cd28ab0051cc5232e3dffea6b318233445a3d5f Author: Alexander Beregalov Date: Sat Dec 13 16:25:27 2008 +0300 ASoC: switch davinci DPRINTK to pr_debug() Signed-off-by: Alexander Beregalov Signed-off-by: Mark Brown commit a6ba0cb35da64d658b7a01ea4597416f8522d5e1 Author: Jiri Slaby Date: Wed Dec 10 13:48:38 2008 +0100 kbuild: fix string equality testing in tags.sh Test of string equality in shells is =, not C-like ==. Signed-off-by: Jiri Slaby Signed-off-by: Sam Ravnborg commit 709cc372cad628846d73447edfd95ac39c8e2319 Author: Jiri Slaby Date: Wed Dec 10 13:10:13 2008 +0100 kbuild: fix make tags/cscope - fix combining O=... and tags - don't allow * expansion during sh function calls Signed-off-by: Jiri Slaby [sam: use KBUILD_SRC to check if we use O=...] Signed-off-by: Sam Ravnborg commit 31110ebbec8688c6e9597b641101afc94e1c762a Author: Sam Ravnborg Date: Sat Dec 13 23:00:45 2008 +0100 kbuild: fix make incompatibility "Paul Smith" reported that we would fail to build with a new check that may be enabled in an upcoming version of make. The error was: Makefile:442: *** mixed implicit and normal rules. Stop. The problem is that we did stuff like this: config %config: ... The solution was simple - the above was split into two with identical prerequisites and commands. With only three lines it was not worth to try to avoid the duplication. Cc: "Paul Smith" Signed-off-by: Sam Ravnborg commit 968ea6d80e395cf11a51143cfa1b9a14ada676df Merge: 7be7585 8299608 Author: Rusty Russell Date: Sat Dec 13 21:55:51 2008 +1030 Merge ../linux-2.6-x86 Conflicts: arch/x86/kernel/io_apic.c kernel/sched.c kernel/sched_stats.h commit 7be7585393d311866653564fbcd10a3232773c0b Author: Rusty Russell Date: Sat Dec 13 21:20:28 2008 +1030 cpumask: Use all NR_CPUS bits unless CONFIG_CPUMASK_OFFSTACK Impact: futureproof as we convert more code to new APIs The old cpumask operators treat all NR_CPUS bits as relevent, the new ones use nr_cpumask_bits. For large NR_CPUS and small nr_cpu_ids, this makes a difference. However, mixing the two can cause problems with undefined bits. An arch which sets CONFIG_CPUMASK_OFFSTACK should have converted across to the new operators, so it's safe in that case. (Thanks to Stephen Rothwell for bisecting the initial unused-bits bug, and Mike Travis for this solution). Signed-off-by: Rusty Russell Cc: Mike Travis commit f0b848ce6fe9062d504d997e9e97fe0f87d57217 Author: Rusty Russell Date: Sat Dec 13 21:20:27 2008 +1030 cpumask: Introduce cpumask_of_{node,pcibus} to replace {node,pcibus}_to_cpumask Impact: New APIs The old node_to_cpumask/node_to_pcibus returned a cpumask_t: these return a pointer to a struct cpumask. Part of removing cpumasks from the stack. This defines them in the generic non-NUMA case. Signed-off-by: Rusty Russell Cc: Benjamin Herrenschmidt Cc: Ingo Molnar Cc: Tony Luck Cc: Ralf Baechle Cc: Richard Henderson commit aab46da0520af9c99b7802cebe4f14a81ff39415 Author: Rusty Russell Date: Sat Dec 13 21:20:27 2008 +1030 cpumask: Add CONFIG_CPUMASK_OFFSTACK Impact: Add config option to enable code in cpumask.h Currently it can be set if DEBUG_PER_CPU_MAPS, or set specifically by an arch. Signed-off-by: Rusty Russell commit 320ab2b0b1e08e3805a3e1084a2f0eb1938d5d67 Author: Rusty Russell Date: Sat Dec 13 21:20:26 2008 +1030 cpumask: convert struct clock_event_device to cpumask pointers. Impact: change calling convention of existing clock_event APIs struct clock_event_timer's cpumask field gets changed to take pointer, as does the ->broadcast function. Another single-patch change. For safety, we BUG_ON() in clockevents_register_device() if it's not set. Signed-off-by: Rusty Russell Cc: Ingo Molnar commit 0de26520c7cabf36e1de090ea8092f011a6106ce Author: Rusty Russell Date: Sat Dec 13 21:20:26 2008 +1030 cpumask: make irq_set_affinity() take a const struct cpumask Impact: change existing irq_chip API Not much point with gentle transition here: the struct irq_chip's setaffinity method signature needs to change. Fortunately, not widely used code, but hits a few architectures. Note: In irq_select_affinity() I save a temporary in by mangling irq_desc[irq].affinity directly. Ingo, does this break anything? (Folded in fix from KOSAKI Motohiro) Signed-off-by: Rusty Russell Signed-off-by: Mike Travis Reviewed-by: Grant Grundler Acked-by: Ingo Molnar Cc: ralf@linux-mips.org Cc: grundler@parisc-linux.org Cc: jeremy@xensource.com Cc: KOSAKI Motohiro commit 29c0177e6a4ac094302bed54a1d4bbb6b740a9ef Author: Rusty Russell Date: Sat Dec 13 21:20:25 2008 +1030 cpumask: change cpumask_scnprintf, cpumask_parse_user, cpulist_parse, and cpulist_scnprintf to take pointers. Impact: change calling convention of existing cpumask APIs Most cpumask functions started with cpus_: these have been replaced by cpumask_ ones which take struct cpumask pointers as expected. These four functions don't have good replacement names; fortunately they're rarely used, so we just change them over. Signed-off-by: Rusty Russell Signed-off-by: Mike Travis Acked-by: Ingo Molnar Cc: paulus@samba.org Cc: mingo@redhat.com Cc: tony.luck@intel.com Cc: ralf@linux-mips.org Cc: Greg Kroah-Hartman Cc: cl@linux-foundation.org Cc: srostedt@redhat.com commit 98a79d6a50181ca1ecf7400eda01d5dc1bc0dbf0 Author: Rusty Russell Date: Sat Dec 13 21:19:41 2008 +1030 cpumask: centralize cpu_online_map and cpu_possible_map Impact: cleanup Each SMP arch defines these themselves. Move them to a central location. Twists: 1) Some archs (m32, parisc, s390) set possible_map to all 1, so we add a CONFIG_INIT_ALL_POSSIBLE for this rather than break them. 2) mips and sparc32 '#define cpu_possible_map phys_cpu_present_map'. Those archs simply have phys_cpu_present_map replaced everywhere. 3) Alpha defined cpu_possible_map to cpu_present_map; this is tricky so I just manipulate them both in sync. 4) IA64, cris and m32r have gratuitous 'extern cpumask_t cpu_possible_map' declarations. Signed-off-by: Rusty Russell Reviewed-by: Grant Grundler Tested-by: Tony Luck Acked-by: Ingo Molnar Cc: Mike Travis Cc: ink@jurassic.park.msu.ru Cc: rmk@arm.linux.org.uk Cc: starvik@axis.com Cc: tony.luck@intel.com Cc: takata@linux-m32r.org Cc: ralf@linux-mips.org Cc: grundler@parisc-linux.org Cc: paulus@samba.org Cc: schwidefsky@de.ibm.com Cc: lethal@linux-sh.org Cc: wli@holomorphy.com Cc: davem@davemloft.net Cc: jdike@addtoit.com Cc: mingo@redhat.com commit 72aaf09fda49f5919d98d65d35e5179f3acb0497 Merge: 67fbc23 58c2467 Author: Russell King Date: Sat Dec 13 09:12:51 2008 +0000 Merge git://git.marvell.com/orion into devel commit 67fbc2312312095acc2f19a0b601bac10f84cf9d Author: Russell King Date: Thu Dec 11 17:20:44 2008 +0000 [ARM] fix xm_x2xx_defconfig build errors drivers/built-in.o: In function `pci_set_consistent_dma_mask': hid-quirks.c:(.text+0x2664): multiple definition of `pci_set_consistent_dma_mask' drivers/built-in.o: In function `pci_set_dma_mask': hid-quirks.c:(.text+0x42c4): multiple definition of `pci_set_dma_mask' because drivers/pci/pci.c was not seeing the definition disabling these functions. Signed-off-by: Russell King commit 3e7a728117e4611b5e91fc567166f6e3606d996e Author: Hartley Sweeten Date: Wed Dec 10 23:39:54 2008 +0100 [ARM] 5343/1: ep93xx: include linux/i2c.h Include in all ep93xx platforms. Patch "5311/1: add core support for built in i2c bus" will cause build errors due to the following in arch/arm/mach-ep93xx/include/mach/platform.h: +void ep93xx_register_i2c(struct i2c_board_info *devices, int num); The i2c.h header needs to be included in order to define struct i2c_board_info. Signed-off-by: H Hartley Sweeten Signed-off-by: Russell King commit e48f3fa373d9270a0499cd1dde9e6cdad538a35e Author: Hartley Sweeten Date: Mon Dec 8 17:57:22 2008 +0100 [ARM] 5342/1: ep93xx: platform init cleanup Use EP93XX_*_PHYS_BASE and SZ_* defines in ep93xx platform inits. The following patch changes the flash memory hard-coded resource addresses and MACHINE_START boot_params to EP93XX_*_PHYS_BASE and SZ_* defines to improve readability. Also some minor whitespace cleanup resulting from previous patches. Signed-off-by: H Hartley Sweeten Signed-off-by: Russell King commit 854feaede51c155897335f1f0ca7acda96b04a64 Author: Jaya Kumar Date: Sat Nov 29 22:23:13 2008 +0100 [ARM] 5337/1: gumstix: move am200 specific gpio pins into am200epd. The gpio setup for AM200 specific GPIO pins should be done in the AM200 code rather than in generic gumstix code. Signed-off-by: Jaya Kumar Signed-off-by: Russell King commit 1124d6d21f80ec10cc962e2961c21a8dd1e0ca6a Author: Russell King Date: Mon Oct 20 11:18:40 2008 +0100 [ARM] dma: correct dma_supported() implementation dma_supported() is supposed to indicate whether the system can support the DMA mask it was passed, which depends on the maximal address which can be returned for DMA allocations. If the mask is smaller than that, we are unable to guarantee that the driver can reliably obtain suitable memory. Signed-off-by: Russell King commit 70d13e083c8589dd3edc2313777655da39cb3568 Author: Russell King Date: Sat Dec 6 08:25:16 2008 +0000 [ARM] netwinder: clean up GPIO naming Netwinder was using gpio_xxx names which could clash with the GPIO layer. Add a 'nw_' prefix to ensure that these remain separate. Signed-off-by: Russell King commit 012b215ceb55aa38826f091cecfd373cc9bbb05b Author: Steve Glendinning Date: Fri Dec 12 22:32:22 2008 -0800 smsc9420: add ethtool eeprom support Signed-off-by: Steve Glendinning Signed-off-by: David S. Miller commit e312674ffb5281a46a3ad06604edea6426c4eb24 Author: Steve Glendinning Date: Fri Dec 12 22:31:50 2008 -0800 smsc9420: add netpoll support Signed-off-by: Steve Glendinning Signed-off-by: David S. Miller commit 1757ab2f0411110c0261dfb66d26faf63037c531 Author: Steve Glendinning Date: Fri Dec 12 22:31:16 2008 -0800 smsc911x: make smsc911x_poll_controller static Signed-off-by: Steve Glendinning Signed-off-by: David S. Miller commit 56bde885903bdb9d9531fd569096ec8c7a2d60ee Merge: a7a81fc a7b7520 Author: David S. Miller Date: Fri Dec 12 22:20:51 2008 -0800 Merge branch 'master' of git://git.kernel.org/pub/scm/linux/kernel/git/linville/wireless-next-2.6 commit a7a81fc060f050ad4ba7f6ef5cdc583dad2f7b21 Author: Ben Hutchings Date: Fri Dec 12 22:10:23 2008 -0800 sfc: Version 2.3 Signed-off-by: Ben Hutchings Signed-off-by: David S. Miller commit 7dde596ef79982327d8992a579a137b4035ad599 Author: Ben Hutchings Date: Fri Dec 12 22:09:38 2008 -0800 sfc: Fix synchronisation of efx_mtd_{probe,rename,remove} Currently efx_mtd_rename() can race with the probe() and remove() functions. Move probe() before device registration and remove() after unregistration. Move initialisation/update of all names based on the netdev name into a new function and call it under the RTNL immediately after registration. Signed-off-by: Ben Hutchings Signed-off-by: David S. Miller commit 0c53d8c84047d86169bd4147bb8f5adf2772d2bb Author: Ben Hutchings Date: Fri Dec 12 22:08:50 2008 -0800 sfc: Use kzalloc() to ensure struct efx_spi_device is fully initialised Currently the mtd field is not initialised early enough. Signed-off-by: Ben Hutchings Signed-off-by: David S. Miller commit fa402b2ea9cacd1ec94fa77e3efb506a5d034da6 Author: Steve Hodgson Date: Fri Dec 12 22:08:16 2008 -0800 sfc: Treat probe as unsuccessful if it scheduled a reset From: Steve Hodgson efx_pci_probe_main() can return success despite a reset being scheduled. Catch this and retry or abort probe depending on the reset type. Signed-off-by: Ben Hutchings Signed-off-by: David S. Miller commit ab377358701a981e7fae1332e76b1e5d3b3b313d Author: Ben Hutchings Date: Fri Dec 12 22:06:54 2008 -0800 sfc: Use model numbers for PHY type names Some of the PHY type names are overly generic. Change them to include the model numbers of the PHYs they represent. Correct the model number reference at the top of xfp_phy.c. Signed-off-by: Ben Hutchings Signed-off-by: David S. Miller commit ca54a9f525236c389f464d0952c8a7d6a4035906 Author: Ben Hutchings Date: Fri Dec 12 22:06:24 2008 -0800 sfc: Use mutex_lock_interruptible() for ethtool EEPROM access ethtool must contend with the MTD driver for the SPI bus lock, which may carry out long operations such as flash erase. Allow it to be interrupted while waiting. Signed-off-by: Ben Hutchings Signed-off-by: David S. Miller commit 11e66966277ea8a3353ad2c2773257973553e73a Author: Ben Hutchings Date: Fri Dec 12 22:05:48 2008 -0800 sfc: Specify a meaningful component for loopback RX-side and PHY tests Our ethtool self-test result names each begin with a component name. For some results this is "port0", which is not very meaningful. Change that to "rx" or "phy" as appropriate. Signed-off-by: Ben Hutchings Signed-off-by: David S. Miller commit b45319382150008ed7cd31b7965392d55fe68967 Author: Ben Hutchings Date: Fri Dec 12 22:05:01 2008 -0800 sfc: Remove leading spaces Signed-off-by: Ben Hutchings Signed-off-by: David S. Miller commit 6f158d5f29b420438e907d72cb111ddb9973f00a Author: Ben Hutchings Date: Fri Dec 12 22:00:49 2008 -0800 sfc: Add support for SFN4111T Add support code for the SFN4111T 100/1000/10GBASE-T reference design, based in part on the existing code for the SFE4001. Signed-off-by: Ben Hutchings Signed-off-by: David S. Miller commit e6fa2eb789f49dc51a20d3db0d410bc8158abb43 Author: Ben Hutchings Date: Fri Dec 12 22:00:17 2008 -0800 sfc: Add support for Solarflare 10Xpress SFT9001 Add type codes for the new PHY and rename the SFX7101 type code. Add definition of clause 22 extension MMD. Adapt the 10Xpress SFX7101 code to support the SFT9001 as well. Clean up register definitions. Signed-off-by: Ben Hutchings Signed-off-by: David S. Miller commit 766ca0fa6bf1600bdf4bc7726c74f14c8455c6b8 Author: Ben Hutchings Date: Fri Dec 12 21:59:24 2008 -0800 sfc: Rework MAC, PHY and board event handling From: Steve Hodgson MAC, PHY and board events may be separately enabled and signalled. Our current arrangement of chaining the polling functions can result in events being missed. Change them to be more independent. Signed-off-by: Ben Hutchings Signed-off-by: David S. Miller commit 04cc8cacb01c09fba2297faf1477cd570ba43f0b Author: Ben Hutchings Date: Fri Dec 12 21:50:46 2008 -0800 sfc: Implement auto-negotiation Add infrastructure for auto-negotiation of speed, duplex and flow control. When using 10Xpress, auto-negotiate flow control. While we're at it, clean up the code to warn when partner is not 10GBASE-T capable. Signed-off-by: Ben Hutchings Signed-off-by: David S. Miller commit 177dfcd80f28f8fbc3e22c2d8b24d21cb86f1d97 Author: Ben Hutchings Date: Fri Dec 12 21:50:08 2008 -0800 sfc: Add support for sub-10G speeds The SFC4000 has a separate MAC for use at sub-10G speeds. Introduce an efx_mac_operations structure with implementations for the two MACs. Switch between the MACs as necessary. PHY settings are independent of the MAC, so add get_settings() and set_settings() to efx_phy_operations. Also add macs field to indicate which MACs the PHY is connected to. Signed-off-by: Ben Hutchings Signed-off-by: David S. Miller commit 356eebb2b3af24cc701823f1e025f04eef333239 Author: Ben Hutchings Date: Fri Dec 12 21:48:57 2008 -0800 sfc: Clean up MDIO flag setting We often want to set or clear a flag in an MDIO register, but avoid writing if no change is required since this can have side-effects. Encapsulate this in a function, mdio_clause45_set_flag(). Signed-off-by: Ben Hutchings Signed-off-by: David S. Miller commit 04300d248bd5166c00a59fa18efc1f7d041e9b32 Author: Ben Hutchings Date: Fri Dec 12 21:48:09 2008 -0800 sfc: Clean up board identification Remove kluge for development boards with unspecified board type. Remove assumption of contiguous board type code assignments. Signed-off-by: Ben Hutchings Signed-off-by: David S. Miller commit 06d5e19318e59f6f139b5171f4dfc5f3eb4dd897 Author: Ben Hutchings Date: Fri Dec 12 21:47:23 2008 -0800 sfc: Add phy_type device attribute Signed-off-by: Ben Hutchings Signed-off-by: David S. Miller commit 27dd2caca4eabe7c13a052b7456495ba75535e6a Author: Ben Hutchings Date: Fri Dec 12 21:44:14 2008 -0800 sfc: Add support for MMDs numbered >15 Combine DEVS0 and DEVS1 registers into a 32-bit mask instead of reading just DEVS0. Signed-off-by: Ben Hutchings Signed-off-by: David S. Miller commit f31a45d2f45a7667acd6e85ab6613b0910c55ea9 Author: Ben Hutchings Date: Fri Dec 12 21:43:33 2008 -0800 sfc: Remove MII extension cruft Replace efx_nic::link_options bitfield with link_speed (speed in Mbit/s) and link_fd (full duplex flag). Remove broken auto-negotiation functions. Signed-off-by: Ben Hutchings Signed-off-by: David S. Miller commit 5005087728e37db133fee05bb0923c50e673ae99 Author: Ben Hutchings Date: Fri Dec 12 21:42:42 2008 -0800 sfc: Don't count RX checksum errors during loopback self-test The loopback self-test checks that IP packets with incorrect checksums are not altered when sent on a queue with checksum generation off. These should not contribute to RX error statistics. Signed-off-by: Ben Hutchings Signed-off-by: David S. Miller commit 740ced9927cabe0f776265ea24fc399a71bcdef5 Author: Ben Hutchings Date: Fri Dec 12 21:41:55 2008 -0800 sfc: Abbreviate self-test names so they are not truncated Change "channel" to "chan". Shorten PHY loopback names. Signed-off-by: Ben Hutchings Signed-off-by: David S. Miller commit 56536e9ce7c23bbc8519b8f99837493dea8da57d Author: Ben Hutchings Date: Fri Dec 12 21:37:02 2008 -0800 sfc: Provide hints to irqbalance daemon Allocate IRQs with the name format [-]- so that future versions of irqbalanced understand what we're doing. Signed-off-by: Ben Hutchings Signed-off-by: David S. Miller commit 28b581ab0a0aa7bc8b22935779ca3e8d6f651ac7 Author: Neil Turton Date: Fri Dec 12 21:41:06 2008 -0800 sfc: Add option to use a separate channel for TX completions In a bidirectional forwarding test, we find that the best performance is achieved by sending the TX completion interrupts from one NIC to a CPU which shares an L2 cache with RX completion interrupts from the other NIC. To facilitate this, add an option (through a module parameter) to create separate channels for RX and TX completion with separate IRQs when MSI-X is available. Signed-off-by: Ben Hutchings Signed-off-by: David S. Miller commit 84ae48fe4c1fe8b79fac015df6ad0b0937a7ae37 Author: Ben Hutchings Date: Fri Dec 12 21:34:54 2008 -0800 sfc: Restore phy_flash_cfg module parameter This is needed for recovery in case a PHY firmware upgrade is aborted. Signed-off-by: Ben Hutchings Signed-off-by: David S. Miller commit 2f7f573095132240916a8780cd5ef648c0ad7281 Author: Ben Hutchings Date: Fri Dec 12 21:34:25 2008 -0800 sfc: Work around unreliable strap pins The SFC4000 has strap pins indicating the presence of SPI flash and/or EEPROM. These pins are also used for GPIO, and in some cases they may be read wrongly at reset. However, on production boards it must boot from one or the other device, so we can assume the boot device is present and read the board config from there. Signed-off-by: Ben Hutchings Signed-off-by: David S. Miller commit be4ea89c8df06f48d0d64cf1d9d20009e83c77c8 Author: Ben Hutchings Date: Fri Dec 12 21:33:50 2008 -0800 sfc: Clean up waits for flash/EEPROM operations Make falcon_spi_wait() ignore the write timer - it is only relevant to write commands, it only works for the device that contains VPD, and it might not be initialised properly at all. Rename falcon_spi_fast_wait() to falcon_spi_wait_write(), reflecting its use, and make it wait up to 10 ms (not 1 ms) since buffered writes to EEPROM may take this long to complete. Make both wait functions sleep instead of busy-waiting. Replace wait for command completion at top of falcon_spi_cmd() with a single poll; no command should be running when the function starts. Correct some comments. Signed-off-by: Ben Hutchings Signed-off-by: David S. Miller commit 1ab00629f06fb3c47de6373cd92d086f33775444 Author: Steve Hodgson Date: Fri Dec 12 21:33:02 2008 -0800 sfc: Make reset_workqueue driver-global rather than per-NIC Each reset is serialised by the rtnl_lock anyway, so there's no win per-NIC. Signed-off-by: Ben Hutchings Signed-off-by: David S. Miller commit 65f667fb472d28c1594d862b213a564e292a466c Author: Ben Hutchings Date: Fri Dec 12 21:32:10 2008 -0800 sfc: Correct interpretation of second param to ethtool phys_id() A value of 0 means indefinite repetition (until interrupted). Signed-off-by: Ben Hutchings Signed-off-by: David S. Miller commit 2b2734dcbfd2dc6b6e4b00bc6971504d7657a4eb Author: Ben Hutchings Date: Fri Dec 12 21:31:36 2008 -0800 sfc: Remove unneeded register write This was only ever needed for an FPGA version of Falcon. Signed-off-by: Ben Hutchings Signed-off-by: David S. Miller commit 23d30f027d1e8ad3bcd6192613122ce925947563 Author: Ben Hutchings Date: Fri Dec 12 21:56:11 2008 -0800 sfc: Change SPI lengths to type size_t Based on a patch by Andrew Morton. Signed-off-by: Ben Hutchings Signed-off-by: David S. Miller commit a17102b1ba847ca31d9151b877fbf9a38a39a8bb Author: Ben Hutchings Date: Fri Dec 12 21:28:20 2008 -0800 sfc: Board support fixes Set dummy monitor method for unrecognised boards. Clean up board resources if efx_pci_probe_main() fails after board has been initialised. Signed-off-by: Ben Hutchings Signed-off-by: David S. Miller commit 702c7904a29629e4e6b18d5497abe84bd20c0449 Author: Karsten Keil Date: Fri Dec 12 21:21:57 2008 -0800 misdn: Fix lockdep warning use correct dynamic spinlock init function. Signed-off-by: Karsten Keil Signed-off-by: David S. Miller commit c31655fcf2c61f209aab8f4169b0e4afe49b581d Author: Hannes Eder Date: Fri Dec 12 21:20:03 2008 -0800 mISDN: hfcmulti: use __iomem address space modifier Impact: make use of the __iomem address space modifier, and change u_char *, u_short * and u_int * to void * Fix more than 30 sparse warnings of this or similar type: drivers/isdn/hardware/mISDN/hfcmulti.c:261:31: warning: incorrect type in argument 2 (different address spaces) drivers/isdn/hardware/mISDN/hfcmulti.c:261:31: got unsigned char [usertype] * drivers/isdn/hardware/mISDN/hfcmulti.c:261:31: expected void volatile [noderef] *addr Signed-off-by: Hannes Eder Acked-by: Karsten Keil Signed-off-by: David S. Miller commit c46f0a2d40f7ceb5fb696309bcd088ac75d0fe20 Author: Hannes Eder Date: Fri Dec 12 21:19:18 2008 -0800 mISDN: timerdev: use __user for mISDN_read's buffer argument Fix this warning: drivers/isdn/mISDN/timerdev.c:264:11: warning: incorrect type in initializer (incompatible argument 2 (different address spaces)) drivers/isdn/mISDN/timerdev.c:264:11: expected int ( *read )( ... ) drivers/isdn/mISDN/timerdev.c:264:11: got int ( static [toplevel] * )( ... ) Signed-off-by: Hannes Eder Acked-by: Karsten Keil Signed-off-by: David S. Miller commit 047ce8f207b144eb9be094ce7427d6e11a687010 Author: Hannes Eder Date: Fri Dec 12 21:18:32 2008 -0800 mISDN: comment out unused symbols Fix this sparse warnings: drivers/isdn/hardware/mISDN/hfcmulti.c:794: warning: 'vpm_check' defined but not used drivers/isdn/mISDN/dsp_cmx.c:1546: warning: 'dsp_start_jiffies' defined but not used Signed-off-by: Hannes Eder Acked-by: Karsten Keil Signed-off-by: David S. Miller commit 863a76e5881abe276a55c4490607a960790c5b0b Author: Hannes Eder Date: Fri Dec 12 21:17:38 2008 -0800 mISDN: fix sparse warning: symbol 'id' shadows an earlier one Impact: rename function scope variable Fix this warning: drivers/isdn/mISDN/l1oip_core.c:472:8: warning: symbol 'id' shadows an earlier one drivers/isdn/mISDN/l1oip_core.c:254:14: originally declared here Signed-off-by: Hannes Eder Acked-by: Karsten Keil Signed-off-by: David S. Miller commit bb68b1d964f89b19dc13d4f685a7d29616e2a4cb Author: Hannes Eder Date: Fri Dec 12 21:16:58 2008 -0800 mISDN: fix sparse warning: symbol 'nskb' shadows an earlier one Impact: define first occurence of variable 'nskb' in inner most possible scope Fix this sparse warning: drivers/isdn/mISDN/dsp_core.c:746:20: warning: symbol 'nskb' shadows an earlier one drivers/isdn/mISDN/dsp_core.c:634:19: originally declared here Signed-off-by: Hannes Eder Acked-by: Karsten Keil Signed-off-by: David S. Miller commit 65a40516b231f693f3afee4df77fc63c08ba8fa9 Author: Hannes Eder Date: Fri Dec 12 21:16:06 2008 -0800 mISDN: un-export symbol 'plx_lock' 'plx_lock' is only used within hfcmulti.c. Fix this warning: drivers/isdn/hardware/mISDN/hfcmulti.c:176:1: warning: symbol 'plx_lock' shadows an earlier one drivers/isdn/hardware/mISDN/hfcmulti.c:175:19: originally declared here Signed-off-by: Hannes Eder Acked-by: Karsten Keil Signed-off-by: David S. Miller commit 5b8343540a3d27f87a4d9d72bb39b7d4cc3dd95e Author: Hannes Eder Date: Fri Dec 12 21:15:17 2008 -0800 mISDN: make global symbols static or include header files The warnings fixed by including an header file for the appropriate prototype are marked with "*", for all others the corresonponding symbol has been made static. This patch fixes all such issues in mISDN. Fix this sparse warnings: drivers/isdn/hardware/mISDN/hfcmulti.c:174:5: warning: symbol 'plxsd_master' was not declared. Should it be static? drivers/isdn/hardware/mISDN/hfcmulti.c:426:1: warning: symbol 'write_fifo_regio' was not declared. Should it be static? drivers/isdn/hardware/mISDN/hfcmulti.c:447:1: warning: symbol 'write_fifo_pcimem' was not declared. Should it be static? drivers/isdn/hardware/mISDN/hfcmulti.c:469:1: warning: symbol 'read_fifo_regio' was not declared. Should it be static? drivers/isdn/hardware/mISDN/hfcmulti.c:491:1: warning: symbol 'read_fifo_pcimem' was not declared. Should it be static? drivers/isdn/hardware/mISDN/hfcmulti.c:710:1: warning: symbol 'vpm_init' was not declared. Should it be static? drivers/isdn/hardware/mISDN/hfcmulti.c:793:1: warning: symbol 'vpm_check' was not declared. Should it be static? drivers/isdn/hardware/mISDN/hfcmulti.c:816:1: warning: symbol 'vpm_echocan_on' was not declared. Should it be static? drivers/isdn/hardware/mISDN/hfcmulti.c:848:1: warning: symbol 'vpm_echocan_off' was not declared. Should it be static? * drivers/isdn/mISDN/l1oip_codec.c:224:1: warning: symbol 'l1oip_law_to_4bit' was not declared. Should it be static? * drivers/isdn/mISDN/l1oip_codec.c:261:1: warning: symbol 'l1oip_4bit_to_law' was not declared. Should it be static? * drivers/isdn/mISDN/l1oip_codec.c:281:1: warning: symbol 'l1oip_alaw_to_ulaw' was not declared. Should it be static? * drivers/isdn/mISDN/l1oip_codec.c:294:1: warning: symbol 'l1oip_ulaw_to_alaw' was not declared. Should it be static? * drivers/isdn/mISDN/l1oip_codec.c:311:1: warning: symbol 'l1oip_4bit_free' was not declared. Should it be static? * drivers/isdn/mISDN/l1oip_codec.c:322:1: warning: symbol 'l1oip_4bit_alloc' was not declared. Should it be static? drivers/isdn/mISDN/core.c:29:1: warning: symbol 'device_lock' was not declared. Should it be static? drivers/isdn/mISDN/core.c:34:1: warning: symbol 'bp_lock' was not declared. Should it be static? drivers/isdn/mISDN/core.c:196:1: warning: symbol 'mISDNInit' was not declared. Should it be static? drivers/isdn/mISDN/core.c:227:6: warning: symbol 'mISDN_cleanup' was not declared. Should it be static? drivers/isdn/mISDN/stack.c:40:1: warning: symbol 'mISDN_queue_message' was not declared. Should it be static? * drivers/isdn/mISDN/layer1.c:388:1: warning: symbol 'l1_init' was not declared. Should it be static? * drivers/isdn/mISDN/layer1.c:400:1: warning: symbol 'l1_cleanup' was not declared. Should it be static? drivers/isdn/mISDN/layer2.c:469:1: warning: symbol 'iframe_error' was not declared. Should it be static? drivers/isdn/mISDN/layer2.c:487:1: warning: symbol 'super_error' was not declared. Should it be static? drivers/isdn/mISDN/layer2.c:496:1: warning: symbol 'unnum_error' was not declared. Should it be static? drivers/isdn/mISDN/layer2.c:509:1: warning: symbol 'UI_error' was not declared. Should it be static? drivers/isdn/mISDN/layer2.c:522:1: warning: symbol 'FRMR_error' was not declared. Should it be static? drivers/isdn/mISDN/layer2.c:1069:1: warning: symbol 'enquiry_cr' was not declared. Should it be static? * drivers/isdn/mISDN/layer2.c:2196:1: warning: symbol 'Isdnl2_Init' was not declared. Should it be static? * drivers/isdn/mISDN/layer2.c:2210:1: warning: symbol 'Isdnl2_cleanup' was not declared. Should it be static? drivers/isdn/mISDN/tei.c:397:1: warning: symbol 'random_ri' was not declared. Should it be static? * drivers/isdn/mISDN/timerdev.c:277:1: warning: symbol 'mISDN_inittimer' was not declared. Should it be static? * drivers/isdn/mISDN/timerdev.c:288:6: warning: symbol 'mISDN_timer_cleanup' was not declared. Should it be static? drivers/isdn/mISDN/dsp_core.c:164:12: warning: symbol 'mISDN_dsp_revision' was not declared. Should it be static? drivers/isdn/mISDN/dsp_cmx.c:1543:5: warning: symbol 'samplecount' was not declared. Should it be static? drivers/isdn/mISDN/dsp_cmx.c:1546:5: warning: symbol 'dsp_start_jiffies' was not declared. Should it be static? drivers/isdn/mISDN/dsp_cmx.c:1547:16: warning: symbol 'dsp_start_tv' was not declared. Should it be static? drivers/isdn/mISDN/dsp_tones.c:239:3: warning: symbol 'pattern' was not declared. Should it be static? drivers/isdn/mISDN/dsp_audio.c:33:4: warning: symbol 'dsp_audio_ulaw_to_alaw' was not declared. Should it be static? Signed-off-by: Hannes Eder Acked-by: Karsten Keil Signed-off-by: David S. Miller commit dfa96ec1bb83641242c48883c2bae8f1f30483b2 Author: Hannes Eder Date: Fri Dec 12 21:13:45 2008 -0800 mISDN: consistently define 'debug' as '*u_int' Impact: change data type for variable 'debug' from *int to *u_int, same for the argument type of mISDN_inittimer In "core.h" mISDN_inittimer is declared with the argument type "*u_int", make the definition in "timerdev.c" match this. This fixes also this warnings: drivers/isdn/mISDN/layer1.c:391:8: warning: incorrect type in assignment (different signedness) drivers/isdn/mISDN/layer1.c:391:8: expected int *static [toplevel] debug drivers/isdn/mISDN/layer1.c:391:8: got unsigned int [usertype] *deb drivers/isdn/mISDN/layer2.c:2200:8: warning: incorrect type in assignment (different signedness) drivers/isdn/mISDN/layer2.c:2200:8: expected int *static [toplevel] debug drivers/isdn/mISDN/layer2.c:2200:8: got unsigned int [usertype] *deb drivers/isdn/mISDN/socket.c:769:8: warning: incorrect type in assignment (different signedness) drivers/isdn/mISDN/socket.c:769:8: expected int *static [toplevel] debug drivers/isdn/mISDN/socket.c:769:8: got unsigned int [usertype] *deb Signed-off-by: Hannes Eder Acked-by: Karsten Keil Signed-off-by: David S. Miller commit bcf91745091ba3b0813fa79afb5d10b090ea745d Author: Hannes Eder Date: Fri Dec 12 21:11:28 2008 -0800 mISDN: use NULL pointer instead of plain integer Fix more than 100 (all remaining in mISDN) sparse warnings: drivers/isdn/hardware/mISDN/hfcmulti.c:***:**: warning: Using plain integer as NULL pointer drivers/isdn/mISDN/dsp_tones.c:***:**: warning: Using plain integer as NULL pointer drivers/isdn/mISDN/dsp_pipeline.c:***:**: warning: Using plain integer as NULL pointer Signed-off-by: Hannes Eder Acked-by: Karsten Keil Signed-off-by: David S. Miller commit a7b75207bd37cbbfa0b4ee7dbaf0dc6bafec8fea Author: Tomas Winkler Date: Thu Dec 11 10:33:41 2008 -0800 iwlwifi: add contact email to MODULE_AUTHOR Signed-off-by: Tomas Winkler Signed-off-by: Reinette Chatre Signed-off-by: John W. Linville commit 2aa6ab86bc475a115f56645591d2413981846509 Author: Tomas Winkler Date: Thu Dec 11 10:33:40 2008 -0800 iwlwifi: remove 4965 from common uCode API structures This patch removes 4965 from common uCode API structures. Also updates iwlagn commands with 3945 specific RX command in preparation for 3945 port. Signed-off-by: Tomas Winkler Acked-by: Samuel Ortiz Signed-off-by: Reinette Chatre Signed-off-by: John W. Linville commit b5047f78664fbcc18d67dafbb45bf62b310f9b0a Author: Tomas Winkler Date: Thu Dec 11 10:33:39 2008 -0800 iwlwifi: remove includes of iwl-helpers.h where not needed This patch removes includes of iwl-helpers.h where not needed Signed-off-by: Tomas Winkler Acked-by: Samuel Ortiz Signed-off-by: Reinette Chatre Signed-off-by: John W. Linville commit 29d51d9df53a4b383e2062b2ea0d575c9f3fca47 Author: Tomas Winkler Date: Thu Dec 11 10:33:38 2008 -0800 iwlwifi: remove unused clip_groups priv member Remove clip_groups from priv and related structure. This code is for 3945 only and was renamed to 4965 in when code was split. Also remove unused RATE definitions Signed-off-by: Tomas Winkler Acked-by: Samuel Ortiz Signed-off-by: Reinette Chatre Signed-off-by: John W. Linville commit edb342286e18c5bec6d3ac325851a9cba28061b9 Author: Mohamed Abbas Date: Thu Dec 11 10:33:37 2008 -0800 iwlwifi: fix resume while txpower off This patch take care of coming out rfkill when the driver is up while rfkill is on by restarting interface. Signed-off-by: Mohamed Abbas Signed-off-by: Reinette Chatre Signed-off-by: John W. Linville commit 3d5717ade01ce22511f2992f150bf6644b21c377 Author: Zhu, Yi Date: Thu Dec 11 10:33:36 2008 -0800 iwlwifi: use iwl_poll_direct_bit in EEPROM reading The patch replaces the current reading EEPROM loop iterations with iwl_poll_direct_bit(). It also fixes some comment error. Signed-off-by: Zhu Yi Signed-off-by: Reinette Chatre Signed-off-by: John W. Linville commit 9c5f89b3f6580cca21dca4ede940900c5b3c3a81 Author: Jouni Malinen Date: Thu Dec 11 18:22:13 2008 +0200 ath9k: Do not remove header padding on RX from short frames The 802.11 header is only padded to 32-bit boundary when the frame has a non-zero length payload. In other words, control frames (e.g., ACK) do not have a padding and we should not try to remove it. This fixes monitor mode for short control frames. In addition, the hdrlen&3 use is described in more detail to make it easier to understand how the padding length is calculated. Signed-off-by: Jouni Malinen Signed-off-by: John W. Linville commit f2f1ba253d970479343f97c4620e16842c695d03 Author: Rami Rosen Date: Thu Dec 11 14:29:06 2008 +0200 iwlwifi: fix build warning (iwl-rx.c) This patch fixes the following build warning when CONFIG_IWLWIFI_DEBUG is not set. /work/src/wireless-testing/drivers/net/wireless/iwlwifi/iwl-rx.c:758: warning: 'iwl_dbg_report_frame' defined but not used Signed-off-by: Rami Rosen Acked-by: Reinette Chatre Signed-off-by: John W. Linville commit ab1f5c0bb8edbaee81c1672733f8dc4d0a5f5ea5 Author: Rami Rosen Date: Thu Dec 11 14:00:25 2008 +0200 mac80211: misc cleanups This patch removes unneeded member (skbuff) from ieee80211_ibss_add_sta() method in its declaration (in ieee80211_i.h) and its callers (in rx.c and mlme.c) This patch removes unneeded member from struct ieee80211_rx_data in ieee80211_i.h. (Originally posted as two patches. -- JWL) Signed-off-by: Rami Rosen Signed-off-by: John W. Linville commit 4dec9b807be757780ca3611a959ac22c28d292a7 Author: Johannes Berg Date: Wed Dec 10 17:48:48 2008 +0100 rfkill: strip pointless notifier chain No users, so no reason to have it. Signed-off-by: Johannes Berg Acked-by: Ivo van Doorn Signed-off-by: John W. Linville commit 6fb532527e2592f82ec07508df2e44f6c7ceff12 Author: Anna Neal Date: Tue Dec 9 13:23:45 2008 -0800 libertas: Create sysfs entry for changing the mesh probe response limit This patch adds the ability to change the number of probe response retries sent by the mesh interface. In dense networks it is recommended to change this value to zero to reduce traffic congestion. Signed-off-by: Anna Neal Signed-off-by: Andrey Yurovsky Signed-off-by: John W. Linville commit b77f483fcf0579de28873828897f53371a33a0ea Author: Sujith Date: Sun Dec 7 21:44:03 2008 +0530 ath9k: Refactor struct ath_softc Split ath_softc into smaller structures for rx, tx and beacon handling. Signed-off-by: Sujith Signed-off-by: John W. Linville commit 59651e89187293e88863891b821c7379391ef75c Author: Christian Lamparter Date: Tue Dec 9 21:07:50 2008 +0100 p54: fix oops on faulty devices This patch fixes an oops when the devices suddenly starts to receive martian data frames. bug reference: http://marc.info/?l=linux-wireless&m=122872280317635&w=2 Signed-off-by: Christian Lamparter Signed-off-by: John W. Linville commit b7a530d82cb36bb43901c196039b0fccee3ffcc3 Author: Jouni Malinen Date: Wed Dec 10 14:51:47 2008 +0200 mac80211: Disable requests for new scans in AP mode AP mode operations are seriously affected if mac80211 runs through a multi-second scan while the AP is trying to send Beacon frames on the operation channel. While this could be implemented in a way that does not cause too many problems, it is not very simple and will require synchronization with Beacon frame scheduling in the drivers (scan one channel at a time between Beacon frames). Furthermore, such scanning takes quite a bit longer time and existing userspace applications would be likely to timeout while waiting for the results. For now, just refuse requests for new scans (SIOCSIWSCAN) when in AP mode. In practice, this moves the rejection from iwl* drivers into mac80211 to make it apply to every mac80211-based driver. This issue shows up in associated stations getting disconnected when something (e.g., Network Manager) requests a scan while the interface is in AP mode. When doing this continuously (e.g., NM does it every 120 seconds), the network gets close to useless. Signed-off-by: Jouni Malinen Acked-by: Johannes Berg Signed-off-by: John W. Linville commit 14a4dfe2ff8c353f59ae8324059ded1cfe22c7d9 Author: Helmut Schaa Date: Wed Dec 10 13:17:26 2008 +0100 ipw2200: fix scanning while associated This patch fixes sporadic firmware restarts when scanning while associated. The firmware will quietly cancel a scan (while associated) if the dwell time for a channel to be scanned is larger than the time it may stay away from the operating channel (because of DTIM catching). Unfortunately the driver is not notified about the canceled scan and therefore the scan watchdog timeout will be hit and the driver causes a firmware restart which results in disassociation. This mainly happens on passive channels which use a dwell time of 120 whereas a typical beacon interval is around 100. The patch changes the dwell time for passive channels to be slightly smaller than the actual beacon interval to work around the firmware issue. Furthermore the number of allowed beacon misses is increased from one to three as otherwise most scans (while associated) won't complete successfully. However scanning while associated will still fail in corner cases such as a beacon intervals below 30. Signed-off-by: Helmut Schaa Signed-off-by: John W. Linville commit d8004cb9267b15cd902eef01a75bb1ffa3995af8 Author: Larry Finger Date: Tue Dec 9 23:35:41 2008 -0600 b43legacy: Fix sparse warnings Sparse yields the following warnings for b43legacy: CHECK drivers/net/wireless/b43legacy/phy.c drivers/net/wireless/b43legacy/phy.c:1304:31: warning: potentially expensive pointer subtraction drivers/net/wireless/b43legacy/phy.c:1304:31: warning: potentially expensive pointer subtraction drivers/net/wireless/b43legacy/phy.c:1304:31: warning: potentially expensive pointer subtraction CHECK drivers/net/wireless/b43legacy/debugfs.c drivers/net/wireless/b43legacy/debugfs.c:243:9: warning: memset with byte count of 131072 Signed-off-by: Larry Finger Signed-off-by: John W. Linville commit c1db52b9d27ee6e15a7136e67e4a21dc916cd07f Author: Larry Finger Date: Tue Dec 9 23:34:27 2008 -0600 rtl8187: Use usb anchor facilities to manage urbs When SLUB debugging is enabled in the kernel, and the boot command includes the option "slub_debug=P", rtl8187 encounters a GPF due to a read-after-free of a urb. Following the example of changes in p54usb to fix the same problem, the code has been modified to use the usb_anchor_urb() method. With this change, the USB core handles the freeing of urb's. This patch fixes the problem reported in Kernel Bugzilla #12185 (http://bugzilla.kernel.org/show_bug.cgi?id=12185). Signed-off-by: Larry Finger Tested-by: Hin-Tak Leung Signed-off-by: John W. Linville commit 388cdf31db6dfc3d175786a76989266380e12c26 Author: Bob Copeland Date: Tue Dec 9 23:05:38 2008 -0500 ath5k: fix endianness of bitwise ops when installing mic Fix these bugs found by sparse: ath5k/pcu.c:1102:21: warning: restricted __le32 degrades to integer ath5k/pcu.c:1102:13: warning: incorrect type in assignment (different base types) ath5k/pcu.c:1102:13: expected restricted __le32 ath5k/pcu.c:1102:13: got unsigned int ath5k/pcu.c:1104:20: warning: restricted __le32 degrades to integer ath5k/pcu.c:1104:13: warning: incorrect type in assignment (different base types) ath5k/pcu.c:1104:13: expected restricted __le32 ath5k/pcu.c:1104:13: got unsigned int Changes-licensed-under: ISC Reported-by: Johannes Berg Signed-off-by: Bob Copeland Signed-off-by: John W. Linville commit 62d714e5ebec9ad4d63bb9a6da19dfd83d3db860 Author: David Kilroy Date: Tue Dec 9 23:05:38 2008 +0000 spectrum_cs: Fix function names used in debug strings Signed-off-by: David Kilroy Signed-off-by: John W. Linville commit 499b702a8d848aaa15d6255e9302d9186827691e Author: David Kilroy Date: Tue Dec 9 21:46:29 2008 +0000 orinoco: Fix inappropriate use of IRQ_BAP This hardware buffer should only be used from an interrupt. The wireless event generation functions are called from a workqueue, so use USER_BAP instead. Signed-off-by: David Kilroy Signed-off-by: Pavel Roskin Signed-off-by: John W. Linville commit 0c06dd8a237c673eedd295fbef7a8c0e52f5c045 Author: David Kilroy Date: Tue Dec 9 21:46:28 2008 +0000 orinoco: Fix function names used in debug strings Signed-off-by: David Kilroy Signed-off-by: Pavel Roskin Signed-off-by: John W. Linville commit 39ca5bb76f3382b1cb0062d75ec45abd1c46e6d2 Author: Christian Lamparter Date: Tue Dec 9 21:09:00 2008 +0100 p54: enforce strict tx_queue limits The patch fixes an old FIXME in p54pci.c by moving the "queue full" check into the common library, where we can deal with it properly. Signed-off-by: Christian Lamparter Signed-off-by: John W. Linville commit 30dab79ed40f6c0f8a24e25fd9be7bd873eeeb8b Author: Winkler, Tomas Date: Tue Dec 9 11:29:01 2008 -0800 iwlwifi: remove qos module parameter The ability of disabling qos from module params is not required anymore. Signed-off-by: Tomas Winkler Signed-off-by: Reinette Chatre Signed-off-by: John W. Linville commit 6d1ef1a3e6b4915d4cde897971ce283bdf0d9fbc Author: Winkler, Tomas Date: Tue Dec 9 11:29:00 2008 -0800 iwlwifi: 3945 remove qos module parameter The ability of disabling qos from module params is not required anymore. Signed-off-by: Tomas Winkler Signed-off-by: Reinette Chatre Signed-off-by: John W. Linville commit 9f925938680b7d1adeb030befb6a4b5f86026b6a Author: Winkler, Tomas Date: Tue Dec 9 11:28:59 2008 -0800 iwlifi: remove twice defined SINGLE_FRAME RX FH MASK This patch removes second definition of FH_RCSR_CHNL0_RX_CONFIG_SINGLE_FRAME in iwl-fh.h Signed-off-by: Tomas Winkler Reported-by: Emmanuel Grumbach Acked-by: Zhu Yi Signed-off-by: Reinette Chatre Signed-off-by: John W. Linville commit 759ef89fb096c4a6ef078d3cfd5682ac037bd789 Author: Winkler, Tomas Date: Tue Dec 9 11:28:58 2008 -0800 iwlwifi: change email contact information This patch replaces personal emails with hopefully always valid Intel Linux Wireless, which will be routed to a current maintainer Signed-off-by: Tomas Winkler Signed-off-by: Reinette Chatre Signed-off-by: John W. Linville commit d070d8555fbb3b9114c6f861e5cf017ea1720b67 Author: Pavel Roskin Date: Tue Dec 9 12:32:15 2008 -0500 airport: remove useless return in a function returning void Signed-off-by: Pavel Roskin Signed-off-by: John W. Linville commit 89fad578a61810b7fdf8edd294890f3c0cde4390 Author: Christian Lamparter Date: Tue Dec 9 16:28:06 2008 +0100 mac80211: integrate sta_notify_ps cmds into sta_notify This patch replaces the newly introduced sta_notify_ps function, which can be used to notify the driver about every power state transition for all associated stations, by integrating its functionality back into the original sta_notify callback. Signed-off-by: Christian Lamparter Acked-by: Johannes Berg Signed-off-by: John W. Linville commit dd397dc9dddfa2149a1bbc9e52ac7d5630737cec Author: Christian Lamparter Date: Tue Dec 9 15:14:37 2008 +0100 p54usb: rewriting rx/tx routines to make use of usb_anchor's facilities Alan Stern found several flaws in p54usb's implementation and annotated: "usb_kill_urb() and similar routines do not expect an URB's completion routine to deallocate it.  This is almost obvious -- if the URB is deallocated before the completion routine returns then there's no way for usb_kill_urb to detect when the URB actually is complete." This patch addresses all known limitations in the old implementation and fixes khub's "use-after-freed" hang, when SLUB debug's poisoning option is enabled. Signed-off-by: Christian Lamparter Cc: stable@kernel.org Tested-by: Larry Finger Signed-off-by: John W. Linville commit a07d3619faeea3f540dd55f86685136f8928b4ad Author: Senthil Balasubramanian Date: Tue Dec 9 17:23:33 2008 +0530 ath9k: BH shouldn't be enabled when hardirqs are disabled. ath_tx_complete_buf uses a BH version of spinlock and so releasing the lock enables BH which is incorrect when called from sta_notify callback as MAC80211 disables hardirqs before the driver callback is called. As ath_tx_complete_buf is shared between user and softirq context using normal spinlock may not be appropriate. Though the proper fix would be to cleanup the context properly in the driver code, this would be an interim fix to avoid kernel warning. Signed-off-by: Senthil Balasubramanian Signed-off-by: John W. Linville commit b143923689fdcc8e56688f2506a11ff16e4cd20b Author: Johannes Berg Date: Tue Dec 9 12:39:52 2008 +0100 mac80211/cfg80211: check endianness in sparse runs Make sure sparse checks endianness when run on mac80211/cfg80211. Signed-off-by: Johannes Berg Cc: Sam Ravnborg Signed-off-by: John W. Linville commit f546638c3f809fdacddc03fe765669c3042e0d9d Author: Johannes Berg Date: Tue Dec 9 12:30:03 2008 +0100 mac80211: remove fragmentation offload functionality There's no driver that actually does fragmentation on the device, and the callback is buggy (when it returns an error, mac80211's fragmentation status is changed so reading the frag threshold from userspace reads the new value despite the error). Let's just remove it, if we really find some hardware supporting it we can add it back later. Signed-off-by: Johannes Berg Signed-off-by: John W. Linville commit e4f2a3458f451d5fb6aa55aac6aaadcf220d0da1 Author: Johannes Berg Date: Tue Dec 9 12:26:14 2008 +0100 ath9k: remove fragmentation workaround again Looking at the RC algorithm this is no longer necessary. Signed-off-by: Johannes Berg Signed-off-by: John W. Linville commit 21a49fc674afd00db6de2f729f8c8e4fab2f1bdf Author: Rami Rosen Date: Tue Dec 9 08:37:28 2008 +0200 iwlwifi: fix build error (iwl-rx.c). This patch adds #ifdef CONFIG_IWLWIFI_DEBUG in iwl_rx_reply_rx() method in iwlwifi/iwl-rx.c) to avoid build error caused by "iwlwifi: implement iwl_debug_report_frame for iwlagn". Signed-off-by: Rami Rosen Acked-by: Reinette Chatre Signed-off-by: John W. Linville commit 8dffff216fcac4f79078478085e86d68db64922e Author: Johannes Berg Date: Tue Dec 9 00:10:30 2008 +0100 mac80211: only create default STA interface if supported Drivers will support this, obviously, but this forces them to set it up properly. (This includes the fix posted as "mac80211: fix ifmodes check" and tested in wireless-testing by Hin-Tak and others. -- JWL) Signed-off-by: Johannes Berg Reported-by: Larry Finger Tested-by: Hin-Tak Leung Signed-off-by: John W. Linville commit 0f202aa2e1e1db1d20da9bcc3f5ad43c5a22d2d5 Author: John W. Linville Date: Mon Dec 8 14:51:41 2008 -0500 ieee80211_security: correct warning about width of auth_mode Also remove auth_algo which is unused. Signed-off-by: John W. Linville commit 8aa15e1506bb0b6b643be12baf1f2d4d2f115931 Author: Senthil Balasubramanian Date: Mon Dec 8 19:43:50 2008 +0530 ath9k: avoid rx frames with corrupted descriptor. Setting RX_ABORT/RX_DIS after MAC reset and clearing RX_ABORT/RX_DIS after enbling RXE/RXDP to avoid rx frames with corrupted descriptor status. Signed-off-by: Senthil Balasubramanian Signed-off-by: John W. Linville commit 2df1bff4c5cd0b28e06e4defc3f5d90618db8d53 Author: Senthil Balasubramanian Date: Mon Dec 8 19:43:49 2008 +0530 ath9k: Incorrect band enum causes invalid antenna configuration. It's a regression from the patch titled "ath9k: Use mac80211's band macros and remove enum hal_freq_band". MAC80211 band macros can't be mapped directly with our hal band enum. Signed-off-by: Senthil Balasubramanian Signed-off-by: John W. Linville commit e7594072a5b918510c937c1ab0acad4e8a931bc7 Author: Senthil Balasubramanian Date: Mon Dec 8 19:43:48 2008 +0530 ath9k: Adding support for Atheros AR9285 chipset. Signed-off-by: Senthil Balasubramanian Signed-off-by: John W. Linville commit e8fbc99edfe0efa0b42f04587a79a6b3371f961a Author: Senthil Balasubramanian Date: Mon Dec 8 19:43:47 2008 +0530 ath9k: Adding initvalues for Atheros AR9285 chipset. This patch adds the initvalues required for AR9285 chipset. Signed-off-by: Senthil Balasubramanian Signed-off-by: John W. Linville commit 02e90d627c80127933ee56ae0e9bf727fde66105 Author: Senthil Balasubramanian Date: Mon Dec 8 19:43:46 2008 +0530 ath9k: Adding AR9285 chipset register information. Adding AR9285 register information. Signed-off-by: Senthil Balasubramanian Signed-off-by: John W. Linville commit 306d6112f9b396ed237305036f8e889f8aa964b5 Author: Johannes Berg Date: Mon Dec 8 12:39:04 2008 +0100 cfg80211: fix nl80211 frequency handling Fix two small bugs with HT frequency setting: * HT is accepted even when the driver is incapable * HT40 is accepted when the driver cannot do 40 MHz (both on the selected band) Also simplify the code a little. Signed-off-by: Johannes Berg Signed-off-by: John W. Linville commit 7ba1c04ed727a70df2dc63464232c0ec906ad67d Author: Johannes Berg Date: Mon Dec 8 11:18:32 2008 +0100 mac80211: improve sta_notify documentation Mention more possible STA entries and document the atomic requirement. Signed-off-by: Johannes Berg Signed-off-by: John W. Linville commit 8ee5afbc9d2162f0919dd089023fb690f7cf8134 Author: Sujith Date: Sun Dec 7 21:43:36 2008 +0530 ath9k: Merge structures ath_atx, ath_node_aggr with ath_node Signed-off-by: Sujith Signed-off-by: John W. Linville commit f6688cd8af6260ad4717ce45d2a614633fcf5540 Author: Sujith Date: Sun Dec 7 21:43:10 2008 +0530 ath9k: Remove remaining occurrences of CONFIG_SLOW_ANT_DIV Slow Antenna Diversity has been removed, these are remnants of the old code. Signed-off-by: Sujith Signed-off-by: John W. Linville commit 817e11de2d3392041a70c80a6d5b353ad210f276 Author: Sujith Date: Sun Dec 7 21:42:44 2008 +0530 ath9k: Add a debugfs file to show interrupt statistics Location: ath9k//interrupt Signed-off-by: Sujith Signed-off-by: John W. Linville commit 3706de6f58962ba74c18eb4cb1ebe034ff723037 Author: Sujith Date: Sun Dec 7 21:42:10 2008 +0530 ath9k: Maintain rate table choice after association A scan run after association would change sc_curmode which is used to get the current rate table. This patch fixes it by removing sc_curmode and setting the rate table in usage in cur_rate_table on association. Signed-off-by: Sujith Signed-off-by: John W. Linville commit 40990ec01fcca0b86a19c13a5d3deb77da1913a7 Author: Sujith Date: Sun Dec 7 21:41:37 2008 +0530 ath9k: Fix bug in rate table management The proper rate table wouldn't be used if a disassoc happens and a new attempt is made to associate using wpa_supplicant. This patch fixes it by storing the rate table to be used on association. Signed-off-by: Sujith Signed-off-by: John W. Linville commit 6b3aa6ab787fe545c58554b7ce5c94de53526b83 Author: Jouni Malinen Date: Fri Dec 5 20:43:27 2008 +0200 ath9k: Disable staggered Beacon frame scheduling It looks like there are some issues in the current ath9k version as far as staggered Beacon frame scheduling is concerned. This results in Beacon frame timestamp being off by 25 milliseconds or so which can cause issues with multicast power save buffering in AP mode. Some client stations fail to receive multicast frames when there is this large an offset between TBTT and actual Beacon transmission time. Since ath9k does not yet support multiple BSSes anyway, the staggered Beacon frame scheduling is just increasing the number of interrupts at this point. The easiest fix for the timestamp offset is to disable staggered Beacon frames for now. We need to redesign beacon.c anyway when adding multi-BSS support with mac80211 since the existing code depends on different mechanism for Beacon frame transmission. Signed-off-by: Jouni Malinen Signed-off-by: John W. Linville commit 3fbb9d95a96c6a03f2e484bb1665d089412640dc Author: Jouni Malinen Date: Fri Dec 5 20:42:45 2008 +0200 ath9k: Free Beacon skbs in AP mode Fix a memory leak where AP mode did not free transmitted Beacon frame skbs. Signed-off-by: Jouni Malinen Acked-by: Pat Erley Signed-off-by: John W. Linville commit 61ff84a4ce6451c9a0b675d355e0580e53628801 Author: Rami Rosen Date: Fri Dec 5 18:16:21 2008 +0200 iwlwifi: cleanup (remove pm_state) This patches removes unused variable (pm_state) from iwl-dev.h and from iwl-3945.h. (wireless-testing tree) Signed-off-by: Rami Rosen Signed-off-by: John W. Linville commit a8ec42c1431e8a43f910fb27af4882416cf5d6b1 Author: Zhu, Yi Date: Fri Dec 5 07:58:41 2008 -0800 iwlwifi: use rmb/wmb to protect indirect mmio operation This patch protects iwlwifi indirect mmio operations with rmb() and wmb(). It makes sure CPU reordering won't affect our indirect mmio access. Signed-off-by: Zhu Yi Signed-off-by: Reinette Chatre Signed-off-by: John W. Linville commit 73d7b5acc461bdc99e0135779d15e1874c6e00a6 Author: Zhu, Yi Date: Fri Dec 5 07:58:40 2008 -0800 iwlwifi: iwl_poll_{direct_}bit cleanup The patch merges implementation of iwl_poll_bit() and iwl_poll_direct_bit() by letting the latter be a special case of the former. Signed-off-by: Zhu Yi Signed-off-by: Reinette Chatre Signed-off-by: John W. Linville commit 42802d71dd14dd0e435a8da59d817d0c6f8a2866 Author: Zhu, Yi Date: Fri Dec 5 07:58:39 2008 -0800 iwlwifi: fix "MAC in deep sleep" error This patch fixes the misue of CSR_GP_CNTRL with CSR_RESET address in polling the CSR_GP_CNTRL_REG_FLAG_MAC_CLOCK_READY bit in iwl4965_apm_reset(). This causes "MAC in deep sleep" error sometimes. The patch also fixes the timeout value and the iwl_poll_bit() return value check. Signed-off-by: Zhu Yi Acked-by: Tomas Winkler Signed-off-by: Reinette Chatre Signed-off-by: John W. Linville commit f056658bb9c3085d5ec52fbdd45b38d55b899cc9 Author: Zhu, Yi Date: Fri Dec 5 07:58:38 2008 -0800 iwlwifi: fix time interval misuse in iwl_poll_{direct_}bit The patch fixes the misuse of microsecond with millisecond in the polling mechanism of the iwlwifi driver. The impact of this problem is the unacceptable latency for the whole system (especially during bringing down the wlan interface). Signed-off-by: Zhu Yi Acked-by: Tomas Winkler Signed-off-by: Reinette Chatre Signed-off-by: John W. Linville commit 7262796ab726fcefad9b588a44d1d5a9f221051f Author: Abbas, Mohamed Date: Fri Dec 5 07:58:37 2008 -0800 iwl3945: Fix rate scale for B-mode connection This patch make sure we use only CCK rate for B only network. For 3945 driver, it sets REPLY_RATE_SCALE command every time we connect to a new network. In this command we set for every rate the number of try and next rate. The problem mac80211 reports same mode for both B and G mode as IEEE80211_BAND_2GHZ which will cause using invalid rate other than CCK in B only network. THis patch on association will examine sta valid rate on association, if no OFDM rate in valid available rates it considers it as B only mode so we can set REPLY_RATE_SCALE command with valid B only network and only choose CCK rate in rate scaling. Signed-off-by: Mohamed Abbas Signed-off-by: Reinette Chatre Signed-off-by: John W. Linville commit 00e540b3768c96a5e2a9d5d39524fef98b2cd981 Author: Halperin, Daniel C Date: Fri Dec 5 07:58:36 2008 -0800 iwlwifi: implement iwl_debug_report_frame for iwlagn The old version of this code was copied from 3945 and never updated. This patch cleans up structs that do not apply and accounts for other changes from 3945->iwlagn (e.g., PHY info can come in a separate cmd response from the ucode.) Signed-off-by: Daniel Halperin Signed-off-by: Reinette Chatre Signed-off-by: John W. Linville commit 447107fb32d75425c95a33f58e6b4b760b470092 Author: Reinette Chatre Date: Thu Dec 4 14:49:08 2008 -0800 mac80211: remove WARN_ON() from ieee80211_hw_config ieee80211_hw_config can return an error when the hardware has rfkill enabled. A WARN_ON() is too harsh for this failure as it is a valid scenario. Only comment this warning as we would like to have it back when rfkill is integrated into mac80211. Also reintroduce propagation of error if ieee80211_hw_config fails in ieee80211_config_beacon. This patch partially reverts patch: 5f0387fc3337ca26f0745f945f550f0c3734960f "mac80211: clean up ieee80211_hw_config errors" Signed-off-by: Reinette Chatre Signed-off-by: John W. Linville commit bb608e9db7d29616fb6e0d856c23434610d4a1bd Author: Senthil Balasubramanian Date: Thu Dec 4 20:38:13 2008 +0530 wireless: Incorrect LEAP authentication algorithm identifier. This patch fixes a regression introduced by "wireless: avoid some net/ieee80211.h vs. linux/ieee80211.h conflicts" LEAP authentication algorithm identifier should be 128. Signed-off-by: Senthil Balasubramanian Signed-off-by: John W. Linville commit a7db74f4be3835fd16c6c582d320f692ccccc622 Author: Larry Finger Date: Wed Dec 3 22:21:20 2008 -0600 rtl8187: Improve wireless statistics for RTL8187 The current wireless statistics for the RTL8187 poorly indicate the signal strength and quality. With testing, I found that the AGC value is inversely correlated with the strength as in the RTL8187B. By implementing a similar calculation, much more code becomes common to the two devices. Signed-off-by: Larry Finger Tested by: Martín Ernesto Barreyro Acked-by: Hin-Tak Leung Signed-off-by: John W. Linville commit fd28a5b58dddf5cb5df162ae5c8797a63171c31d Author: Andi Kleen Date: Tue Oct 21 14:05:00 2008 +0200 x86: remove simnow earlyprintk support Impact: remove obsolete code The later versions of SimNow! actually all have serial console emulation, so the direct interface isn't needed anymore. So remove the undocumented simnow earlyprintk console. Signed-off-by: Andi Kleen Signed-off-by: Thomas Gleixner commit c29541b24fb2c6301021637229ae5347c877330a Author: Mike Frysinger Date: Mon Dec 1 14:18:11 2008 -0800 linux/timex.h: cleanup for userspace Impact: fix user-space exported use Move all the kernel-specific defines and includes into the __KERNEL__ section so that they don't get leaked into userspace. [akpm@linux-foundation.org: coding-style fixes] Signed-off-by: Mike Frysinger Signed-off-by: Andrew Morton Signed-off-by: Thomas Gleixner commit 8187926bdae98648db24db3391c4efd21ec669b1 Author: Oleg Nesterov Date: Mon Dec 1 14:18:16 2008 -0800 posix-timers: simplify de_thread()->exit_itimers() path Impact: simplify code de_thread() postpones release_task(leader) until after exit_itimers(). This was needed because !SIGEV_THREAD_ID timers could use ->group_leader without get_task_struct(). With the recent changes we can release the leader earlier and simplify the code. Signed-off-by: Oleg Nesterov Signed-off-by: Andrew Morton Signed-off-by: Thomas Gleixner commit 899921025b406a71a8aeb2d7855658ea0cf0ed23 Author: Oleg Nesterov Date: Mon Dec 1 14:18:15 2008 -0800 posix-timers: check ->it_signal instead of ->it_pid to validate the timer Impact: clean up, speed up ->it_pid (was ->it_process) has also a special meaning: if it is NULL, the timer is under deletion or it wasn't initialized yet. We can check ->it_signal != NULL instead, this way we can - simplify sys_timer_create() a bit - remove yet another check from lock_timer() - move put_pid(->it_pid) into release_posix_timer() which runs outside of ->it_lock Signed-off-by: Oleg Nesterov Signed-off-by: Andrew Morton Signed-off-by: Thomas Gleixner commit 27af4245b6ce99e08c6a7c38825383bf51119cc9 Author: Oleg Nesterov Date: Mon Dec 1 14:18:13 2008 -0800 posix-timers: use "struct pid*" instead of "struct task_struct*" Impact: restructure, clean up code k_itimer holds the ref to the ->it_process until sys_timer_delete(). This allows to pin up to RLIMIT_SIGPENDING dead task_struct's. Change the code to use "struct pid *" instead. The patch doesn't kill ->it_process, it places ->it_pid into the union. ->it_process is still used by do_cpu_nanosleep() as before. It would be trivial to change the nanosleep code as well, but since it uses it_process in a special way I think it is better to keep this field for grep. The patch bloats the kernel by 104 bytes and it also adds the new pointer, ->it_signal, to k_itimer. It is used by lock_timer() to verify that the found timer was not created by another process. It is not clear why do we use the global database (and thus the global idr_lock) for posix timers. We still need the signal_struct->posix_timers which contains all useable timers, perhaps it is better to use some form of per-process array instead. Signed-off-by: Oleg Nesterov Signed-off-by: Andrew Morton Signed-off-by: Thomas Gleixner commit 9470565579f29486f4ed0ffa50774268b64994b0 Author: Dave Jones Date: Mon Dec 1 14:13:50 2008 -0800 x86: remove init_mm export as planned for 2.6.26 Impact: remove deprecated export Signed-off-by: Dave Jones Signed-off-by: Andrew Morton Signed-off-by: Thomas Gleixner commit 001474491fabeca233168a8598f721c808040f90 Author: Woodruff, Richard Date: Mon Dec 1 14:18:11 2008 -0800 nohz: suppress needless timer reprogramming In my device I get many interrupts from a high speed USB device in a very short period of time. The system spends a lot of time reprogramming the hardware timer which is in a slower timing domain as compared to the CPU. This results in the CPU spending a huge amount of time waiting for the timer posting to be done. All of this reprogramming is useless as the wake up time has not changed. As measured using ETM trace this drops my reprogramming penalty from almost 60% CPU load down to 15% during high interrupt rate. I can send traces to show this. Suppress setting of duplicate timer event when timer already stopped. Timer programming can be very costly and can result in long cpu stall/wait times. [akpm@linux-foundation.org: coding-style fixes] [tglx@linutronix.de: move the check to the right place and avoid raising the softirq for nothing] Signed-off-by: Richard Woodruff Cc: johnstul@us.ibm.com Signed-off-by: Andrew Morton Signed-off-by: Thomas Gleixner commit 17d217fe970d34720f4f1633dca73a6aa2f3d9d1 Author: Yan Zheng Date: Fri Dec 12 10:03:38 2008 -0500 Btrfs: fix nodatasum handling in balancing code Checksums on data can be disabled by mount option, so it's possible some data extents don't have checksums or have invalid checksums. This causes trouble for data relocation. This patch contains following things to make data relocation work. 1) make nodatasum/nodatacow mount option only affects new files. Checksums and COW on data are only controlled by the inode flags. 2) check the existence of checksum in the nodatacow checker. If checksums exist, force COW the data extent. This ensure that checksum for a given block is either valid or does not exist. 3) update data relocation code to properly handle the case of checksum missing. Signed-off-by: Yan Zheng commit e4404d6e8da678d852b7f767f665f8edf76c9e9f Author: Yan Zheng Date: Fri Dec 12 10:03:26 2008 -0500 Btrfs: shared seed device This patch makes seed device possible to be shared by multiple mounted file systems. The sharing is achieved by cloning seed device's btrfs_fs_devices structure. Thanks you, Signed-off-by: Yan Zheng commit 0a57b783018a77ca16097198844438bdff4d012e Author: Bjorn Helgaas Date: Mon Dec 1 14:18:12 2008 -0800 clocksource, acpi_pm.c: put acpi_pm_read_slow() under CONFIG_PCI acpi_pm_read_slow() is only used when CONFIG_PCI=y, so move the definition inside the ifdef. Otherwise this causes a "defined but not used" warning when building with CONFIG_ACPI=y and CONFIG_PCI=n (that's not supported yet, but it could be). Signed-off-by: Bjorn Helgaas Cc: mingo@elte.hu Cc: johnstul@us.ibm.com Cc: akpm@linux-foundation.org Cc: bjorn.helgaas@hp.com Cc: lenb@kernel.org Cc: linux@dominikbrodowski.net Cc: tglx@linutronix.de Signed-off-by: Thomas Gleixner Cc: Dominik Brodowski Cc: Thomas Gleixner Cc: Len Brown Signed-off-by: Andrew Morton commit 02f11ee181baa562df23e105ba930902f0d0b1bf Author: David Vrabel Date: Fri Dec 12 13:28:48 2008 +0000 uwb: fix memory leak in uwb_rc_notif() Don't leak memory in uwb_rc_notif() if certain non-standard events are received. Signed-off-by: David Vrabel commit fe6e87a4b570d2e435709746ba550a7197016bd0 Author: David Vrabel Date: Fri Dec 12 13:25:21 2008 +0000 wusb: fix oops when terminating a non-existant reservation If a reservation was not established, do not try terminating it. Signed-off-by: David Vrabel commit 671e470ed04865ca148b83f46319d14547481340 Author: David Vrabel Date: Fri Dec 12 13:23:24 2008 +0000 uwb: fix oops when terminating an already terminated reservation Calling uwb_rsv_terminate() on a reservation already in UWB_RSV_STATE_NONE should do nothing. Signed-off-by: David Vrabel commit 5b37717a23b8e40f6cf7ad85a26ddcf41c171e2c Author: Stefano Panella Date: Fri Dec 12 13:00:06 2008 +0000 uwb: improved MAS allocator and reservation conflict handling Greatly enhance the MAS allocator: - Handle row and column reservations. - Permit all the available MAS to be allocated. - Follows the WiMedia rules on MAS selection. Take appropriate action when reservation conflicts are detected. - Correctly identify which reservation wins the conflict. - Protect alien BP reservations. - If an owned reservation loses, resize/move it. - Follow the backoff procedure before requesting additional MAS. When reservations are terminated, move the remaining reservations (if necessary) so they keep following the MAS allocation rules. Signed-off-by: Stefano Panella Signed-off-by: David Vrabel commit 8299608f140ae321e4eb5d1306184265d2b9511e Merge: 45ab6b0 30cb367 69b88af 8daa190 Author: Ingo Molnar Date: Fri Dec 12 13:49:17 2008 +0100 Merge branches 'irq/sparseirq', 'x86/quirks' and 'x86/reboot' into cpus4096 We merge the irq/sparseirq, x86/quirks and x86/reboot trees into the cpus4096 tree because the io-apic changes in the sparseirq change conflict with the cpumask changes in the cpumask tree, and we want to resolve those. commit 45ab6b0c76d0e4cce5bd608ccf97b0f6b20f18df Merge: 81444a7 d65bd5e Author: Ingo Molnar Date: Fri Dec 12 13:48:57 2008 +0100 Merge branch 'sched/core' into cpus4096 Conflicts: include/linux/ftrace.h kernel/sched.c commit d65bd5ecb2bd166cea4952a59b7e16cc3ad6ef6c Author: Heiko Carstens Date: Tue Dec 9 18:49:51 2008 +0100 sched: add missing arch_update_cpu_topology() call arch_reinit_sched_domains() used to call arch_update_cpu_topology() via arch_init_sched_domains(). This call got lost with e761b7725234276a802322549cee5255305a0930 ("cpu hotplug, sched: Introduce cpu_active_map and redo sched domain managment (take 2)". So we might end up with outdated and missing cpus in the cpu core maps (architecture used to call arch_reinit_sched_domains if cpu topology changed). This adds a call to arch_update_cpu_topology in partition_sched_domains which gets called whenever scheduling domains get updated. Which is what is supposed to happen when cpu topology changes. Signed-off-by: Heiko Carstens Signed-off-by: Ingo Molnar commit ee79d1bdb6a10499e53f80b1e8d14110215178ba Author: Heiko Carstens Date: Tue Dec 9 18:49:50 2008 +0100 sched: let arch_update_cpu_topology indicate if topology changed Change arch_update_cpu_topology so it returns 1 if the cpu topology changed and 0 if it didn't change. This will be useful for the next patch which adds a call to this function in partition_sched_domains. Signed-off-by: Heiko Carstens Signed-off-by: Ingo Molnar commit 81444a799550214f549caf579cf65a0ca55e70b7 Merge: a64d31b da485e0 Author: Ingo Molnar Date: Fri Dec 12 12:43:05 2008 +0100 Merge branch 'tracing/fastboot' into cpus4096 commit 30cb367ea2be76bf71dbd275f38d0fd3b6f4142b Author: Ingo Molnar Date: Fri Dec 12 12:19:57 2008 +0100 sparse irqs: add irqnr.h to the user headers list Impact: fix build error /home/mingo/tip/usr/include/linux/random.h:11: included file 'linux/irqnr.h' is not exported Signed-off-by: Ingo Molnar commit 0ebb26e7a4e2c5337502e98b2221e037fda911b9 Author: Ingo Molnar Date: Fri Dec 12 11:26:39 2008 +0100 sparse irqs: handle !GENIRQ platforms Impact: build fix fix: In file included from /home/mingo/tip/arch/m68k/amiga/amiints.c:39: /home/mingo/tip/include/linux/interrupt.h:21: error: expected identifier or '(' /home/mingo/tip/arch/m68k/amiga/amiints.c: In function 'amiga_init_IRQ': Signed-off-by: Ingo Molnar commit 2bed8446819a7c5033aa1da138d9f230ae212edc Author: Ingo Molnar Date: Fri Dec 12 12:13:36 2008 +0100 tracing/function-graph-tracer: add a new .irqentry.text section, fix Impact: build fix 32-bit x86 needs this section too. Signed-off-by: Ingo Molnar commit cbc34ed1ac36690f75fd272e19e7b4fc29aae5a2 Author: Peter Zijlstra Date: Wed Dec 10 08:08:22 2008 +0100 sched: fix tracepoints in scheduler The trace point only caught one of many places where a task changes cpu, put it in the right place to we get all of them. Change the signature while we're at it. Signed-off-by: Peter Zijlstra Signed-off-by: Ingo Molnar commit 915b0d0104b72fd36af088ba4b11b5690bc96a6c Author: Hiroshi Shimamoto Date: Mon Dec 8 19:19:26 2008 -0800 x86: hardirq: introduce inc_irq_stat() Impact: cleanup Introduce inc_irq_stat() macro and unify irq_stat accounting code. Signed-off-by: Hiroshi Shimamoto Signed-off-by: Ingo Molnar commit fd10902797fc9d6abaf55d9c2e3c6698c90b10c7 Merge: 5b3eec0 8b1fae4 Author: Ingo Molnar Date: Fri Dec 12 11:59:39 2008 +0100 Merge commit 'v2.6.28-rc8' into x86/irq commit 8f2466f45f75e3cbe3aa2b69d33fd9d6e343b9cc Author: Hiroshi Shimamoto Date: Mon Dec 8 19:19:07 2008 -0800 x86: kill #ifdef for exit_idle() Impact: cleanup Introduce helper inline function in arch/x86/include/asm/idle.h to remove #ifdefs around exit_idle(). Signed-off-by: Hiroshi Shimamoto Signed-off-by: Ingo Molnar commit 16855f878d7127a8bb3925753463485f3071ad76 Author: Hiroshi Shimamoto Date: Mon Dec 8 19:18:38 2008 -0800 x86: uaccess: return value of __{get|put}_user() can be int Impact: cleanup The type of return value of __{get|put}_user() can be int. There is no user to refer the return value of __{get|put}_user() as long. This reduces code size a bit on 64-bit. $ size vmlinux.* text data bss dec hex filename 4509265 479988 673588 5662841 566879 vmlinux.new 4511462 479988 673588 5665038 56710e vmlinux.old Signed-off-by: Hiroshi Shimamoto Signed-off-by: Ingo Molnar commit e18d7af85296cb6999aae171e8a9f8612bea5ae0 Merge: 3555105 8b1fae4 Author: Ingo Molnar Date: Fri Dec 12 11:53:43 2008 +0100 Merge commit 'v2.6.28-rc8' into x86/mm commit 7971db5a4b4176ad5df590fce07a962c643a2740 Merge: d403700 c4edfce Author: Uwe Kleine-Koenig Date: Fri Dec 12 11:18:54 2008 +0100 Merge branch 'for-rmk-misc' into for-rmk commit c4edfced662fa64deeed89c7d8c9f96d86130c19 Author: Uwe Kleine-König Date: Thu Nov 20 11:58:36 2008 +0100 at91: warn if irqs are enabled in set_next_event Thomas claims that irqs are disabled when set_next_event is called. But David and Remy claim they saw irqs being enabled here. As both sides don't seem to have time to investigate here, start with a warning that might trigger if the problem still exists. Signed-off-by: Uwe Kleine-König Acked-By: David Brownell Cc: Bill Gatliff Acked-By: Remy Bohmer Cc: Thomas Gleixner commit 72cca72a6cefe90810366cd2b244a33069b21f86 Author: Uwe Kleine-König Date: Thu Aug 7 20:11:04 2008 +0200 remove a superfluous kconfig type definition It's either bool default y or def_bool y but not a mixture of both. Signed-off-by: Uwe Kleine-König commit 94fa873ff80cbbfb91f1c1a81cb428f6869a7845 Author: Uwe Kleine-König Date: Mon Nov 3 07:53:38 2008 +0100 Fix configure warnings in defconfigs for netX and Picotux 200 Since May 8 2007 the symbols RTC_INTF_PROC, RTC_INTF_SYSFS and RTC_INTF_DEV are not tristate anymore. This fixes the following warnings: arch/arm/configs/picotux200_defconfig:1072:warning: symbol value 'm' invalid for RTC_INTF_SYSFS arch/arm/configs/picotux200_defconfig:1073:warning: symbol value 'm' invalid for RTC_INTF_PROC arch/arm/configs/picotux200_defconfig:1074:warning: symbol value 'm' invalid for RTC_INTF_DEV Signed-off-by: Uwe Kleine-König Cc: Robert Schwebel Cc: Sascha Hauer Cc: Simon Richter Cc: Andrew Victor commit 6ed70a792af1f7961d8c74c2ded78aebd42c658e Author: Uwe Kleine-König Date: Fri Dec 12 11:15:45 2008 +0100 small doc fix: ftrace_dyn_arch_init is called by ftrace_init ... not kstop_machine. Add a note that irqs are disabled. Signed-off-by: Uwe Kleine-König commit f8b755ac8e0cc3f330269e4c4504514f987167a2 Author: Frederic Weisbecker Date: Tue Dec 9 23:55:25 2008 +0100 tracing/function-graph-tracer: Output arrows signal on hardirq call/return Impact: make more obvious the hardirq calls in the output When a hardirq is triggered inside the codeflow on output, we have now two arrows that indicate the entry and return of the hardirq. 0) | bit_waitqueue() { 0) 0.880 us | __phys_addr(); 0) 2.699 us | } 0) | __wake_up_bit() { 0) ==========> | smp_apic_timer_interrupt() { 0) 0.797 us | native_apic_mem_write(); 0) 0.715 us | exit_idle(); 0) | irq_enter() { 0) 0.722 us | idle_cpu(); 0) 5.519 us | } 0) | hrtimer_interrupt() { 0) | ktime_get() { 0) | ktime_get_ts() { 0) 0.805 us | getnstimeofday(); [...] 0) ! 108.528 us | } 0) | irq_exit() { 0) | do_softirq() { 0) | __do_softirq() { 0) 0.895 us | __local_bh_disable(); 0) | run_timer_softirq() { 0) 0.827 us | hrtimer_run_pending(); 0) 1.226 us | _spin_lock_irq(); 0) | _spin_unlock_irq() { 0) 6.550 us | } 0) 0.924 us | _local_bh_enable(); 0) + 12.129 us | } 0) + 13.911 us | } 0) 0.707 us | idle_cpu(); 0) + 17.009 us | } 0) ! 137.419 us | } 0) <========== | 0) 1.045 us | } 0) ! 148.908 us | } 0) ! 151.022 us | } 0) ! 153.022 us | } 0) 0.963 us | journal_mark_dirty(); 0) 0.925 us | __brelse(); Signed-off-by: Frederic Weisbecker Signed-off-by: Ingo Molnar commit bcbc4f20b52c2c40c43a4d2337707dcdfe81bc3a Author: Frederic Weisbecker Date: Tue Dec 9 23:54:20 2008 +0100 tracing/function-graph-tracer: annotate do_IRQ and smp_apic_timer_interrupt Impact: move most important x86 irq entry-points to a separate subsection Annotate do_IRQ and smp_apic_timer_interrupt to put them into the .irqentry.text subsection. These function will so be recognized as hardirq entrypoints for the function-graph-tracer. We could also annotate other irq entries but the others are far less important but they can be added on request. Signed-off-by: Frederic Weisbecker Signed-off-by: Ingo Molnar commit a0343e823184070f55364d8359f832dcb33c57c7 Author: Frederic Weisbecker Date: Tue Dec 9 23:53:16 2008 +0100 tracing/function-graph-tracer: add a new .irqentry.text section Impact: let the function-graph-tracer be aware of the irq entrypoints Add a new .irqentry.text section to store the irq entrypoints functions inside the same section. This way, the tracer will be able to signal an interrupts triggering on output by recognizing these entrypoints. Also, make this section recordable for dynamic tracing. Signed-off-by: Frederic Weisbecker Signed-off-by: Ingo Molnar commit 85072bd55219231b8ca5d9d3fa3492eb4fa6635f Author: Ingo Molnar Date: Fri Dec 12 11:08:42 2008 +0100 x86, debug: remove EBDA debug printk Remove leftover EBDA debug message. Reported-by: Andrew Morton Signed-off-by: Ingo Molnar commit c1dfdc7597d051b09555d4ae2acb90403e238746 Merge: efbe027 8b1fae4 Author: Ingo Molnar Date: Fri Dec 12 10:29:35 2008 +0100 Merge commit 'v2.6.28-rc8' into sched/core commit d69d59f49763e6bd047c591c6c1f84c8e13da931 Author: Ingo Molnar Date: Fri Dec 12 09:38:57 2008 +0100 oprofile: select RING_BUFFER Impact: build fix OProfile now depends on the ring buffer infrastructure: arch/x86/oprofile/built-in.o: In function `oprofile_add_ibs_sample': : undefined reference to `ring_buffer_unlock_commit' Select TRACING and RING_BUFFER when oprofile is enabled. Signed-off-by: Ingo Molnar commit da485e0cb16726797e99a595a399b9fc721b91bc Author: Frederic Weisbecker Date: Thu Dec 11 16:14:23 2008 +0100 tracing/fastboot: include missing headers For now include/trace/boot.h doesn't need to include necessary headers for its functions and structures because the files that include it already do it. But boot.h could be needed as well for further uses on other files. So, this patch adds the necessary headers for future purposes... Signed-off-by: Frederic Weisbecker Signed-off-by: Ingo Molnar commit 8001530d5af707eb9a158839c8f651eb6c1cb3c2 Author: Stephen Rothwell Date: Thu Dec 11 16:10:08 2008 +0100 tracing/fastboot: fix len of func buffer Impact: fix possible stack overrun This is a port of a patch included in the mainline (KSYM_SYMBOL_LEN fixes). The current func len is not large enough to contain the max symbol len, the right size must be KSYM_SYMBOL_LEN. Signed-off-by: Stephen Rothwell Signed-off-by: Frederic Weisbecker Signed-off-by: Ingo Molnar commit 8808500f26a61757cb414da76b271bbd09d5958c Author: Ingo Molnar Date: Fri Dec 12 09:20:12 2008 +0100 x86: soften multi-BAR mapping sanity check warning message Impact: make debug warning less scary The ioremap() time multi-BAR map warning has been causing false positives: http://lkml.org/lkml/2008/12/10/432 http://lkml.org/lkml/2008/12/11/136 So make it less scary by making it once-per-boot, by making it KERN_INFO and by adding this text: "Info: mapping multiple BARs. Your kernel is fine." Signed-off-by: Ingo Molnar commit ffc2238af8431d930d2c15f16feecf1fd6d75642 Author: Ingo Molnar Date: Fri Dec 12 08:21:19 2008 +0100 x86, bts: fix build error Impact: build fix arch/x86/kernel/ds.c: In function 'ds_request': arch/x86/kernel/ds.c:236: sorry, unimplemented: inlining failed in call to 'ds_get_context': recursive inlining but the recursion here is scary ... Signed-off-by: Ingo Molnar commit a93751cab71d63126687551823ed3e70cd85854a Author: Markus Metzger Date: Thu Dec 11 13:53:26 2008 +0100 x86, bts, ftrace: adapt the hw-branch-tracer to the ds.c interface Impact: restructure code, cleanup Remove BTS bits from the hw-branch-tracer (renamed from bts-tracer) and use the ds interface. Signed-off-by: Markus Metzger Signed-off-by: Ingo Molnar commit c2724775ce57c98b8af9694857b941dc61056516 Author: Markus Metzger Date: Thu Dec 11 13:49:59 2008 +0100 x86, bts: provide in-kernel branch-trace interface Impact: cleanup Move the BTS bits from ptrace.c into ds.c. Signed-off-by: Markus Metzger Signed-off-by: Ingo Molnar commit b0884e25fe361f2ca228808fb5fd1b74cb04e711 Author: Markus Metzger Date: Thu Dec 11 13:45:23 2008 +0100 x86, bts: turn BUG_ON into WARN_ON_ONCE Impact: make the ds code more debuggable Turn BUG_ON's into WARN_ON_ONCE. Signed-off-by: Markus Metzger Signed-off-by: Ingo Molnar commit f3134de60624829a57741c1f3796847d4de165f6 Merge: e726f5f 361b73d Author: Ingo Molnar Date: Fri Dec 12 07:40:08 2008 +0100 Merge branches 'tracing/function-graph-tracer' and 'tracing/ring-buffer' into tracing/core commit fa116ea35ec7f40e890972324409e99eed008d56 Author: Heiko Carstens Date: Thu Dec 11 17:04:11 2008 +0100 nohz: no softirq pending warnings for offline cpus Impact: remove false positive warning After a cpu was taken down during cpu hotplug (read: disabled for interrupts) it still might have pending softirqs. However take_cpu_down makes sure that the idle task will run next instead of ksoftirqd on the taken down cpu. The idle task will call tick_nohz_stop_sched_tick which might warn about pending softirqs just before the cpu kills itself completely. However the pending softirqs on the dead cpu aren't a problem because they will be moved to an online cpu during CPU_DEAD handling. So make sure we warn only for online cpus. Signed-off-by: Heiko Carstens Signed-off-by: Ingo Molnar commit c4f50183f90fb1fd99aa5941f01b90cd1b882d2e Author: Robert Richter Date: Thu Dec 11 16:49:22 2008 +0100 ring_buffer: adding EXPORT_SYMBOLs I added EXPORT_SYMBOL_GPLs for all functions part of the API (ring_buffer.h). This is required since oprofile is using the ring buffer and the compilation as modules would fail otherwise. Signed-off-by: Robert Richter Signed-off-by: Ingo Molnar commit 7a3c66e2d322c638e9306e739d96b2192dacde88 Author: Daniel Silverstone Date: Thu Dec 11 21:00:29 2008 -0800 net: Add support for the KS8695 ethernet devices. Implements the KS8695 ethernet device (ks8695net). This driver is only of use on the KS8695 which is an ARM9 based SoC. The documentation on this SoC is sparse and poor, with barely a register description and a rough outline of how the ethernet works, this driver was therefore written with strong reference to the Micrel supplied Linux 2.6.9 port, and to Andrew Victor's ks8695eth driver. Signed-off-by: Daniel Silverstone Signed-off-by: Vincent Sanders Acked-by: Ben Dooks Signed-off-by: David S. Miller commit 82a9928db560c429807f02467d22394f944a8916 Author: Atsushi Nemoto Date: Thu Dec 11 20:58:04 2008 -0800 tc35815: Enable StripCRC feature The chip can strip CRC automatically on receiving. Enable it. Also fix potential RX_BUF_SIZE calculation bug which was obscured by alignment. And use proper symbols (NET_IP_ALIGN, ETH_FCS_LEN, etc.) instead of magic numbers. Signed-off-by: Atsushi Nemoto Signed-off-by: David S. Miller commit 2cb377283f3469d66f0ea7358015abfe8366e5d0 Author: Steve Glendinning Date: Thu Dec 11 20:54:30 2008 -0800 smsc9420: SMSC LAN9420 10/100 PCI ethernet adapter This patch adds a driver for the LAN9240 PCI ethernet adapter. Changes since initial submission: - debug msg_level has been changed to use standard definitions - convert to use net_device_ops Signed-off-by: Steve Glendinning Signed-off-by: David S. Miller commit ea943d41a8770857d50029fdc8fd111635c21a1f Author: Jeff Kirsher Date: Thu Dec 11 20:34:19 2008 -0800 igb: fixup AER with proper error handling Based on Peter Waskiewicz patch for ixgbe. Add error handling based on Hemminger's recommendation. Signed-off-by: Jeff Kirsher Acked-by: Peter P Waskiewicz Jr Signed-off-by: David S. Miller commit 968196a9506f9d26d9b840a3f189de93cfa76ff7 Author: Sam Ravnborg Date: Thu Dec 11 20:28:59 2008 -0800 sparc64: do not export pus_fs_struct Al asked: BTW, why does sparc64 export put_fs_struct? Grepping the kernel tree did not show any users of an exported put_fs_struct - so drop the export. Signed-off-by: Sam Ravnborg Signed-off-by: David S. Miller commit 4d9d4ebf5de848e3450e23e4db9ac74e23e5daa6 Merge: cfbe526 c4cd747 Author: Lachlan McIlroy Date: Fri Dec 12 15:28:02 2008 +1100 Merge branch 'master' of git+ssh://git.melbourne.sgi.com/git/xfs commit cfbe52672fbc6f333892e8dde82c35e0a76aa5f5 Author: Lachlan McIlroy Date: Fri Dec 12 15:27:25 2008 +1100 [XFS] set b_error from bio error in xfs_buf_bio_end_io Preserve any error returned by the bio layer. Reviewed-by: Eric Sandeen Reviewed-by: Tim Shimmin Signed-off-by: Lachlan McIlroy commit aa83a26a193bf06ac6c822ccd881c62898a351c6 Author: Robert Reif Date: Thu Dec 11 20:24:58 2008 -0800 sparc: use sparc64 version of scatterlist.h Use sparc64 version of scatterlist.h. There are three main differences: dma_addr_t replaces __u32 dma_address replaces dvma_address dma_length replaces dvma_length dma_addr_t is a u32 on sparc32. Boot tested on sparc32. Signed-off-by: Robert Reif Signed-off-by: David S. Miller commit 58c2467355ed3154a12ee49d8f8236547145c9d3 Author: Nicolas Pitre Date: Thu Dec 4 00:22:11 2008 -0500 [ARM] Kirkwood: update defconfig Signed-off-by: Nicolas Pitre commit b71b9effb5c6aad49682f963291b06018b44ed38 Author: Nicolas Pitre Date: Thu Dec 4 01:03:57 2008 -0500 [ARM] Feroceon: pass proper -mtune argument to gcc Compilation for the Feroceon core should use -mtune=marvell-f. This is available in Code Sourcery's 2008Q3 release at the moment. Otherwise fall back to -mtune-=xscale. Signed-off-by: Nicolas Pitre commit 37787e449b39202afae13b6c47505ae9e977cae3 Author: Ronen Shitrit Date: Sun Oct 19 23:19:07 2008 +0200 [ARM] Kirkwood: properly handle the WAN port on newer RD88F6281 boards On newer versions of the RD88F6281 board, the WAN port is connected to its own ethernet port on the CPU, via a separate PHY, whereas on older versions of the board, it is connected to one of the PHYs in the ethernet switch. In the RD8F6281 setup code, detect which version of the board we are running on, and instantiate the ethernet ports and switch driver accordingly. Signed-off-by: Ronen Shitrit Signed-off-by: Lennert Buytenhek Signed-off-by: Nicolas Pitre commit d15fb9efe91b7198f2234783ab1d496ab1ee7b58 Author: Ronen Shitrit Date: Sun Oct 19 23:10:14 2008 +0200 [ARM] Kirkwood: allow instantiating the second ethernet port The 88f6192 and 88f6281 Kirkwood SoCs support two ethernet ports. Add the platform glue that will allow board support files to instantiate the second ethernet port. Signed-off-by: Ronen Shitrit Signed-off-by: Lennert Buytenhek Signed-off-by: Nicolas Pitre commit f93e4159b14c5edbaae9916d42ad685aa2f927d1 Author: Matt Palmer Date: Wed Oct 22 10:16:36 2008 +0200 [ARM] DNS323: Initialise 88F5182 correctly The 88F5182 found in the DNS-323 rev B1 (and some other devices, such as the CH3SNAS) require different initialisation of the SATA controller and MPP registers. Tested on a DNS-323 rev B1. Signed-off-by: Matt Palmer commit a93f44c1751ef1afddd4b76058fb3a2f55fe774c Author: Matt Palmer Date: Sun Oct 19 08:15:09 2008 +1100 [ARM] DNS323: Read MAC address from flash Based on similar code from the tsx09 series of machines, just rips the MAC address out of flash and stuffs it into the NIC. Tested on a DNS323 rev B1. It's possible (though unlikely) that an A1 will have the MAC in a different location in flash. Signed-off-by: Matt Palmer commit d2fb3437e4d8d12c73c587615ad187d5288547ec Author: Yan Zheng Date: Thu Dec 11 16:30:39 2008 -0500 Btrfs: fix leaking block group on balance The block group structs are referenced in many different places, and it's not safe to free while balancing. So, those block group structs were simply leaked instead. This patch replaces the block group pointer in the inode with the starting byte offset of the block group and adds reference counting to the block group struct. Signed-off-by: Yan Zheng commit cfc8ea87201dc9bb6aeb3fc80c61abee83e7cc06 Author: Sage Weil Date: Thu Dec 11 16:30:06 2008 -0500 Btrfs: mnt_drop_write in ioctl_trans_end Add missing mnt_drop_write to match the mnt_want_write in btrfs_ioctl_trans_start. Signed-off-by: Sage Weil commit 935e5f290ec1eb0f1c15004421f5fd3154380fd5 Author: Zhang Rui Date: Thu Dec 11 16:24:52 2008 -0500 ACPI: video: Fix reversed brightness behavior on ThinkPad SL series Section B.6.2 of ACPI 3.0b specification that defines _BCL method doesn't require the brightness levels returned to be sorted. At least ThinkPad SL300 (and probably all IdeaPads) returns the array reversed (i.e. bightest levels have lowest indexes), which causes the brightness management behave in completely reversed manner on these machines (brightness increases when the laptop is idle, while the display dims when used). Sorting the array by brightness level values after reading the list fixes the issue. http://bugzilla.kernel.org/show_bug.cgi?id=12037 Signed-off-by: Zhang Rui Tested-by: Lubomir Rintel Signed-off-by: Len Brown commit 49d92c7d5bbd158734bc34ed578a68b214a48583 Author: Stanley.Miao Date: Thu Dec 11 23:28:10 2008 +0800 ASoC: TWL4030: hands-free start-up sequence. A special start-up sequence is required to reduce the pop-noise of Class D amplifier when enable hands-free on TWL4030. Signed-off-by: Stanley.Miao Signed-off-by: Mark Brown commit 4544f8a22f38ba4560320fcfbe8c7e81562ddc6f Author: Mark Brown Date: Thu Dec 11 16:11:38 2008 +0000 ASoC: Fix variable name for Blackfin I2S DAI Signed-off-by: Mark Brown commit cd85400a022335a92fa3c25827179a7ad5e02225 Author: Stefan Roese Date: Fri Dec 5 01:58:49 2008 +0000 powerpc/4xx: Add L2 cache node to AMCC Canyonlands dts file With this patch the L2 cache is enabled on Canyonlands to increase the overall performance. There is a known cache coherency issue with the L2 cache, but this is related to the high bandwidth (HB) PLB segment where the memory address is 0x8.xxxx.xxxx (low bandwidth PLB segment is mapped to 0x0.xxxx.xxxx). Since this HB address is currently unused it is safe to enable the L2 cache. Signed-off-by: Stefan Roese Signed-off-by: Josh Boyer commit 132bb7c0efe82fc976b06d557f5d63536cb9fdaa Author: Takashi Iwai Date: Thu Dec 11 15:39:52 2008 +0100 ALSA: hda - Add development tree URLs in HD-audio.txt Signed-off-by: Takashi Iwai commit f8bbd06b17f16984328398cdecdf9302ef9bb0bf Author: Takashi Iwai Date: Thu Dec 11 13:12:59 2008 +0100 ALSA: hda - Fix another typo in HD-Audio.txt commit 42a73df435a23e60d97d9d860f4e55dc9833e950 Author: Takashi Iwai Date: Thu Dec 11 12:12:06 2008 +0100 ALSA: sb8 - Fix a return code in the error path Fixed a compile warning below: sound/isa/sb/sb8.c: In function ‘snd_sb8_probe’: sound/isa/sb/sb8.c:104: warning: ‘err’ may be used uninitialized in this function by setting the return value correctly. Signed-off-by: Takashi Iwai commit 5c0b9bec460c348d2ee5a800c288e5d0e8fcda66 Author: Takashi Iwai Date: Thu Dec 11 11:47:17 2008 +0100 ALSA: hda - Fix a compile warning when CONFIG_PM=n Fixed the compile warning regarding the unused function when built with CONFIG_PM=n: sound/pci/hda/hda_intel.c:1905: warning: ‘snd_hda_codecs_inuse’ defined but not used snd_hda_codecs_inuse() is used only in the resume callback. Signed-off-by: Takashi Iwai commit 6de45d5d776d2a7e7a9adc8ea49d37fe1bd45fb2 Author: Takashi Iwai Date: Thu Dec 11 10:28:18 2008 +0100 ALSA: ASoC - Fix DAI registration in s3c2443-ac97.c Fixed the registration of dais in s3c2443-ac97.c. sound/soc/s3c24xx/s3c2443-ac97.c: In function 's3c2443_ac97_init': sound/soc/s3c24xx/s3c2443-ac97.c:401: warning: passing argument 1 of 'snd_soc_register_dai' from incompatible pointer type sound/soc/s3c24xx/s3c2443-ac97.c: In function 's3c2443_ac97_exit': sound/soc/s3c24xx/s3c2443-ac97.c:407: warning: passing argument 1 of 'snd_soc_unregister_dai' from incompatible pointer type Signed-off-by: Takashi Iwai commit 623b9f6738dee0394398564a74fdabbff00f506f Author: Takashi Iwai Date: Thu Dec 11 07:44:18 2008 +0100 ALSA: hda - Update HD-Audio.txt Fixed typos and added a section about codecgraph. Thanks to Vedran Miletić and Daniel T Chen for suggestions. Signed-off-by: Takashi Iwai commit c4cd747ee6c3ba1e7727878e3fce482d0d8c0136 Author: Christoph Hellwig Date: Tue Dec 9 04:47:34 2008 -0500 [XFS] use inode_change_ok for setattr permission checking Instead of implementing our own checks use inode_change_ok to check for necessary permission in setattr. There is a slight change in behaviour as inode_change_ok doesn't allow i_mode updates to add the suid or sgid without superuser privilegues while the old XFS code just stripped away those bits from the file mode. (First sent on Semptember 29th) Signed-off-by: Christoph Hellwig Signed-off-by: Lachlan McIlroy commit 4d4be482a4d78ca906f45e99fd9fdb91e907f5ad Author: Christoph Hellwig Date: Tue Dec 9 04:47:33 2008 -0500 [XFS] add a FMODE flag to make XFS invisible I/O less hacky XFS has a mode called invisble I/O that doesn't update any of the timestamps. It's used for HSM-style applications and exposed through the nasty open by handle ioctl. Instead of doing directly assignment of file operations that set an internal flag for it add a new FMODE_NOCMTIME flag that we can check in the normal file operations. (addition of the generic VFS flag has been ACKed by Al as an interims solution) Signed-off-by: Christoph Hellwig Signed-off-by: Lachlan McIlroy commit 6d73cf133c5477f7038577bfeda603ce9946f8cb Author: Christoph Hellwig Date: Tue Dec 9 04:47:32 2008 -0500 [XFS] resync headers with libxfs - xfs_sb.h add the XFS_SB_VERSION2_PARENTBIT features2 that has been around in userspace for some time - xfs_inode.h: move a few things out of __KERNEL__ that are needed by userspace - xfs_mount.h: only include xfs_sync.h under __KERNEL__ - xfs_inode.c: minor whitespace fixup. I accidentaly changes this when importing this file for use by userspace. Signed-off-by: Christoph Hellwig Signed-off-by: Lachlan McIlroy commit 2175dd95741bda5f438e4efe388a8c1bb5abf1cc Author: Christoph Hellwig Date: Tue Dec 9 04:47:31 2008 -0500 [XFS] simplify projid check in xfs_rename Check for the project ID after attaching all inodes to the transaction. That way the unlock in the error case is done by the transaction subsystem, which guaratees that is uses the right flags (which was wrong from day one of this check), and avoids having special code unlocking an array of inodes with potential duplicates. Attaching the inode first is the method used by xfs_rename and the other namespace methods all other error that require multiple locked inodes. Signed-off-by: Christoph Hellwig Reviewed-by: Dave Chinner Signed-off-by: Lachlan McIlroy commit 15ac08a8b2c129abccf1be47b6ab09491e013db2 Author: Christoph Hellwig Date: Tue Dec 9 04:47:30 2008 -0500 [XFS] replace b_fspriv with b_mount Replace the b_fspriv pointer and it's ugly accessors with a properly types xfs_mount pointer. Also switch log reocvery over to it instead of using b_fspriv for the mount pointer. Signed-off-by: Christoph Hellwig Reviewed-by: Dave Chinner Signed-off-by: Lachlan McIlroy commit 917fa280e5e99edcae44a34feab295a59922d16c Author: Kevin Hilman Date: Wed Dec 10 17:37:17 2008 -0800 omap mmc: force MMC module reset on boot The bootloader may leave the MMC in a state which prevents hitting retention. Even when MMC is not compiled in, each MMC module needs to be forced into reset. Signed-off-by: Kevin Hilman commit 90c62bf08f5823faa097271f3346a9142769b9ac Author: Tony Lindgren Date: Wed Dec 10 17:37:17 2008 -0800 omap mmc: Add low-level initialization for hsmmc controller Add low-level initialization for hsmmc controller. Merged into this patch patch are various improvments and board support by Grazvydas Ignotas and David Brownell. Also change wire4 to be wires, as some newer controllers support 8 data lines. Cc: Pierre Ossman Signed-off-by: Grazvydas Ignotas Signed-off-by: David Brownell Signed-off-by: Tony Lindgren commit d88746652b4d133284d1fdd05b5e999e8f44c998 Author: Tony Lindgren Date: Wed Dec 10 17:37:16 2008 -0800 omap mmc: Add better MMC low-level init This will simplify the MMC low-level init, and make it more flexible to add support for a newer MMC controller in the following patches. The patch rearranges platform data and gets rid of slot vs controller confusion in the old data structures. Also fix device id numbering in the clock code. Some code snippets are based on an earlier patch by Russell King . Cc: Pierre Ossman Signed-off-by: Tony Lindgren commit 652bcd8f72cc0cdf4499ce7d73990514e5e3e4b9 Author: Tony Lindgren Date: Wed Dec 10 17:37:16 2008 -0800 omap mmc: Remove broken MMC init code Most of the omap1 MMC boards got broken by an earlier patch 138ab9f8321f67c71984ca43222efa71b0a0a0a9. If you look closely, the MMC init funtions are pretty much just stubs. Remove broken init code to make room for cleaner MMC init code. Cc: Pierre Ossman Signed-off-by: Tony Lindgren commit 2619bc327417f549f1c89d5ef9b4a4aa768f41a2 Author: Arun KS Date: Wed Dec 10 17:36:54 2008 -0800 ARM: OMAP3: Pin multiplexing updates for 24xx and 34xx This patch adds some new pin multiplexing options for McBSP and McSPI from Arun KS. Also add two more GPIOs from David Brownell. Also mark omap24xx_cfg_reg() static. Signed-off-by: Arun KS Signed-off-by: David Brownell Signed-off-by: Tony Lindgren commit da177247e89c672fc910cbbc4e24d7d578e2e0b2 Author: Grazvydas Ignotas Date: Wed Dec 10 17:36:54 2008 -0800 ARM: OMAP3: Add basic support for Pandora handheld console This patch adds support for basic features: uarts, i2c, and rtc. Also includes defconfig. Signed-off-by: Grazvydas Ignotas Signed-off-by: Tony Lindgren commit a50f18c70049a73bd663ff889ef10d1097fd53f9 Author: Santosh Shilimkar Date: Wed Dec 10 17:36:53 2008 -0800 ARM: OMAP3: DMA: Fix for sDMA Errata 1.113 SDMA channel is not disabled after transaction error. So explicitly disable it. Signed-off-by: Santosh Shilimkar Acked By : Nishant kamat Signed-off-by: Tony Lindgren commit b1c056d20caa6fdd3481b348567f1f91e98aaa4b Author: Stanley.Miao Date: Wed Dec 10 17:36:53 2008 -0800 ARM: OMAP3: LDP: Add Ethernet device support to make ldp boot succeess Add Ethernet device support in board-ldp.c to make ldp can boot and mount nfs successfully. Signed-off-by: Stanley.Miao commit ad636ad84e059e714013e009f76878b888de1f09 Author: Jarkko Nikula Date: Wed Dec 10 17:36:52 2008 -0800 ARM: OMAP3: Add OMAP34xx pin multiplexing into I2C bus registration helper - Simplify function omap_i2c_mux_pins - Add OMAP34xx pin multiplexing for busses 1 - 3 Signed-off-by: Jarkko Nikula Signed-off-by: Tony Lindgren commit 6ccc4c0dedf8cc63bf4f7c0cfa1b72c4a5fae148 Author: Tony Lindgren Date: Wed Dec 10 17:36:52 2008 -0800 ARM: OMAP3: Warn about spurious interrupts In the case of spurious interrupt, the handler for previous interrupt handler needs to flush posted writes with a read back of the interrupt ack register. Warn about handlers that need to flush posted writes. Signed-off-by: Tony Lindgren commit 64ce2907b1966593d3b4ce5396adb17d7348637d Author: Paul Walmsley Date: Wed Dec 10 17:36:34 2008 -0800 ARM: OMAP2: skip unnecessary TLDR write during non-autoreload for gptimer The GPTIMER TLDR register does not need to be written if the GPTIMER is not in autoreload mode. This is the usual case for dynamic tick-enabled kernels. Simulation data indicate that skipping the read that occurs as part of the write should save at least 300-320 ns for each GPTIMER1 timer reprogram. (This assumes L4-Wakeup is at 19MHz and GPTIMER write posting is enabled.) Skipping the write itself probably won't have much impact since it should be posted on the OCP interconnect. Tested on 2430SDP and 3430SDP. Signed-off-by: Paul Walmsley Cc: Richard Woodruff Acked-by: Kevin Hilman Signed-off-by: Tony Lindgren commit a94b9e5a81d7f69297bb1681c5130a185e047f57 Author: Paul Walmsley Date: Wed Dec 10 17:36:33 2008 -0800 ARM: OMAP2: drop redundant pending write check for gptimer omap_dm_timer_write_reg() already waits for pending writes to complete, so the extra wait in omap_dm_timer_set_load() is superfluous. Signed-off-by: Paul Walmsley Cc: Richard Woodruff Acked-by: Kevin Hilman Signed-off-by: Tony Lindgren commit 6a769ed40aab1c93ed211287bcdcebfccc9972f5 Author: David Brownell Date: Wed Dec 10 17:36:33 2008 -0800 ARM: OMAP2: bard-h4: list those eeproms Declare the two 1Kbit EEPROMs included in the H4 board stack. One is on the CPU card; the other is on the mainboard. Signed-off-by: David Brownell Signed-off-by: Tony Lindgren commit 84a34344ea1f2f313d84a9fb4cb685b65a6ec26d Author: Lauri Leukkunen Date: Wed Dec 10 17:36:31 2008 -0800 ARM: OMAP2: Use omap_rev() instead of system_rev system_rev is meant for board revision, this patch changes all relevant instances to use the new omap_rev() function liberating system_rev to be used with ATAG_REVISION as it has been designed. Signed-off-by: Lauri Leukkunen Signed-off-by: Tony Lindgren commit a88231430384f49bebf8a6ec607a9eb4f2254e34 Author: Tony Lindgren Date: Wed Dec 10 17:36:30 2008 -0800 ARM: OMAP2: Fix cpu detection At some point omap2 changed the bits for GET_OMAP_CLASS, which broke 15xx detection on 730 as noticed by Russell King. This patch fixes omap2 cpu detection to respect the original GET_OMAP_CLASS, and simplifies the detection for 34xx. Signed-off-by: Tony Lindgren commit 5ba02dcab945dc0bcde7df0c5958329f34bd04ae Author: Tony Lindgren Date: Wed Dec 10 17:36:30 2008 -0800 ARM: OMAP2: Prepare cpu detection for further improvements Rename omap2_check_revision to omap24xx_check_revision. Then next patch will split if further and add omap34xx_check_revision. Signed-off-by: Tony Lindgren commit 5dd81e2578d75779d1ce8ee0732db3a0e1b35678 Author: David Brownell Date: Wed Dec 10 17:35:54 2008 -0800 ARM: OMAP1: osk5912: LED trigger update for CF Help OSK work better with root-on-CF, by having one of the LEDs use the "ide-disk" trigger (to kick in during CF I/O). Signed-off-by: David Brownell Signed-off-by: Tony Lindgren commit 2430c62e4b2e7604d749351393aaeefc478e4e36 Author: David Brownell Date: Wed Dec 10 17:35:53 2008 -0800 ARM: OMAP1: osk5912: Mistral eeprom support List the 4 Kbit I2C EEPROM included on the Mistral board. Also add a comment about the hardware workaround needed to properly support the WAKE button. More info at http://elinux.org/OSK_Mistral_wakeup_button_mod Still no support for the (optional) camera sensor. Signed-off-by: David Brownell Signed-off-by: Tony Lindgren commit 944e1bffb6517590be48dd428d9b73da9fea801c Author: Jarkko Nikula Date: Wed Dec 10 17:35:31 2008 -0800 ARM: OMAP: Switch ohci-omap to gpio_request/free calls Switch to gpio_request/free calls Cc: linux-usb@vger.kernel.org Acked-by: David Brownell Signed-off-by: Jarkko Nikula Signed-off-by: Tony Lindgren commit f2d18fea8b87d09bdda22cc67c36f5f463452a33 Author: Jarkko Nikula Date: Wed Dec 10 17:35:30 2008 -0800 ARM: OMAP: Switch to gpio_request/free calls Switch to gpio_request/free calls Signed-off-by: Jarkko Nikula Signed-off-by: Tony Lindgren commit e031ab23deb5a5d9ac5744e69a0627823e81b074 Author: David Brownell Date: Wed Dec 10 17:35:27 2008 -0800 ARM: OMAP: minor gpio bugfixes Minor GPIO fixes: - If get_gpio_bank() fails, then BUG() out. - In omap_set_gpio_debounce(): * protect the read/modify/write with the relevant spinlock * make the omap3 clock ops pass "sparse" checking Except for the spinlock problem, these were reported through "make". Signed-off-by: David Brownell Signed-off-by: Tony Lindgren commit 3ff164e15574191c69e8406794b0578c8d2a4e23 Author: Jarkko Nikula Date: Wed Dec 10 17:35:27 2008 -0800 ARM: OMAP: make legacy gpio request/free calls superfluous Clean up OMAP GPIO request/free functions - Rename and declare static OMAP specific GPIO request/free functions - Register them into gpiolib as chip-specific hooks - Add omap_request_gpio/omap_free_gpio wrappers for existing code not converted yet to use gpiolib Signed-off-by: Jarkko Nikula [ dbrownell@users.sourceforge.net: remove needless check_gpio() calls ] Signed-off-by: David Brownell Signed-off-by: Tony Lindgren commit 15f74b0335962e8554c91e52d588dc9f8ee7098d Author: David Brownell Date: Wed Dec 10 17:35:26 2008 -0800 ARM: OMAP: use gpio_to_irq Have most uses of OMAP_GPIO_IRQ() use gpio_to_irq() instead. Calls used for table initialization are left alone, at least this time around. (This patch is for code in both the OMAP tree and mainline.) Signed-off-by: David Brownell Signed-off-by: Tony Lindgren commit e918edf7c2f2270dcf18cdcbdf86174a013a124e Author: David Brownell Date: Wed Dec 10 17:35:26 2008 -0800 ARM: OMAP: switch to gpio_direction_output More conversion to the standard GPIO interfaces: stop using omap_set_gpio_direction() entirely, and switch over to the gpio_direction_output() call. Note that because gpio_direction_output() includes the initial value, this change isn't quite transparent. - For the call sites which defined an initial value either before or after setting the direction, that value was used. When that value was previously assigned afterwards, this could eliminate a brief output glitch ... and possibly change behavior. In a few cases (LCDs) several values were assigned together ... those were re-arranged to match the explicit sequence provided. - Some call sites didn't define such a value; so I chose an initial "off/reset" value that seemed to default to "off". In short, files touched by this patch might notice some small changes in startup behavior (with trivial fixes). Signed-off-by: David Brownell Signed-off-by: Tony Lindgren commit 40e3925ba15b604c9ff87154d77a914221d11cdc Author: David Brownell Date: Wed Dec 10 17:35:26 2008 -0800 ARM: OMAP: switch to gpio_direction_input More switchover to the cross-platform GPIO interface: use gpio_direction_input(), not an OMAP-specific call. Signed-off-by: David Brownell Signed-off-by: Tony Lindgren commit 0b84b5ca43a9c86cfad848c135fdbf7c72af68fa Author: David Brownell Date: Wed Dec 10 17:35:25 2008 -0800 ARM: OMAP: switch to standard gpio get/set calls This patch replaces some legacy OMAP GPIO calls with the "new" (not really, any more!) calls that work on most platforms. The calls addressed by this patch are the simple ones to get and set values ... for code that's in mainline, including the implementations of those calls. Except for the declarations and definitions of those calls, all of these changes were performed by a simple SED script. Plus, a few "if() set() else set()" branches were merged by hand. Signed-off-by: David Brownell Signed-off-by: Tony Lindgren commit a007b7096feea2d865ad3e7177eb8be34041bef9 Author: David Brownell Date: Wed Dec 10 17:35:25 2008 -0800 ARM: OMAP: gpios implement new to_irq() Make OMAP use the new __gpio_to_irq() hook, to make it easier to support IRQs coming in from off-chip gpio controllers like the TWL4030/TPS65930 chip used on OMAP3 boads like Beagleboard.org and the Gumstix Overo. Signed-off-by: David Brownell Signed-off-by: Tony Lindgren commit 21c867f1dedc21fb6e5244b7b27cfcfd09b83188 Author: Jarkko Nikula Date: Wed Dec 10 17:35:24 2008 -0800 ARM: OMAP: Extend gpio label column width in omap_gpio debugfs file There are already various drivers having bigger label than 10 bytes. Most of them fit well under 20 bytes but make column width exact so that oversized labels don't mess up output alignment. Signed-off-by: Jarkko Nikula Acked-by: David Brownell Signed-off-by: Tony Lindgren commit 89db94825447a03f17e03c0a6c8840a0a22cf155 Author: Jouni Hogander Date: Wed Dec 10 17:35:24 2008 -0800 ARM: OMAP: Enable GPIO debounce clock only when debounce is enabled v3 This patch changes gpio "driver" to enable debounce clock for gpio-bank only when debounce is enabled for some gpio in that bank. Gpio functional clocks are also renamed in clock tree, gpioX_fck -> gpioX_dbck. This patch triggers problem with gpio wake-up and Omap3. Gpios in PER domain aren't capable to generate wake-up if PER domain is in sleep state. For this iopad wake-up should be used and needed pad configuration should be done. Enabling iopad wake-up for gpio pads is left for bootloader or omap mux configuration in kernel. Signed-off-by: Jouni Hogander Acked-by: Paul Walmsley Signed-off-by: Tony Lindgren commit 0403e47ee26f26e960ee9038552bc89df4a1fb3d Author: Yan Zheng Date: Wed Dec 10 20:32:51 2008 -0500 Btrfs: Add checking of csum tree in balancing code This updates the space balancing code for the new checksum format. Signed-off-by: Yan Zheng commit 293a4f28333a38aa75254bfb01a5102afc981809 Author: Eric Leblond Date: Wed Dec 10 17:24:33 2008 -0800 netfilter: xt_NFLOG is dependant of nfnetlink_log The patch "don't call nf_log_packet in NFLOG module" make xt_NFLOG dependant of nfnetlink_log. This patch forces the dependencies to fix compilation in case only xt_NFLOG compilation was asked and modifies the help message accordingly to the change. Signed-off-by: Eric Leblond Signed-off-by: David S. Miller commit 8229efdaef1e7913ae1712c0ba752f267e5fcd5e Author: Benjamin Thery Date: Wed Dec 10 16:30:15 2008 -0800 netns: ip6mr: enable namespace support in ipv6 multicast forwarding code This last patch makes the appropriate changes to use and propagate the network namespace where needed in IPv6 multicast forwarding code. This consists mainly in replacing all the remaining init_net occurences with current netns pointer retrieved from sockets, net devices or mfc6_caches depending on the routines' contexts. Some routines receive a new 'struct net' parameter to propagate the current netns: * ip6mr_get_route * ip6mr_cache_report * ip6mr_cache_find * ip6mr_cache_unresolved * mif6_add/mif6_delete * ip6mr_mfc_add/ip6mr_mfc_delete * ip6mr_reg_vif All the IPv6 multicast forwarding variables moved to struct netns_ipv6 by the previous patches are now referenced in the correct namespace. Changelog: ========== * Take into account the net associated to mfc6_cache when matching entries in mfc_unres_queue list. * Call mroute_clean_tables() in ip6mr_net_exit() to free memory allocated per-namespace. * Call dev_net_set() in ip6mr_reg_vif() to initialize dev->nd_net correctly. Signed-off-by: Benjamin Thery Signed-off-by: David S. Miller commit 8b90fc7e5b43aaef941044a4785a42439015b539 Author: Benjamin Thery Date: Wed Dec 10 16:29:48 2008 -0800 netns: ip6mr: declare ip6mr /proc/net entries per-namespace Declare IPv6 multicast forwarding /proc/net entries per-namespace: /proc/net/ip6_mr_vif /proc/net/ip6_mr_cache Changelog ========= V2: * In routine ipmr_mfc_seq_idx(), only match entries belonging to current netns in mfc_unres_queue list. Signed-off-by: Benjamin Thery Signed-off-by: David S. Miller commit 950d5704e5daa1f90bcd75b99163491e7b249169 Author: Benjamin Thery Date: Wed Dec 10 16:29:24 2008 -0800 netns: ip6mr: declare reg_vif_num per-namespace Preliminary work to make IPv6 multicast forwarding netns-aware. Declare variable 'reg_vif_num' per-namespace, moves into struct netns_ipv6. At the moment, this variable is only referenced in init_net. Signed-off-by: Benjamin Thery Signed-off-by: David S. Miller commit a21f3f997c73ced682129aedd372bb6b53041510 Author: Benjamin Thery Date: Wed Dec 10 16:28:44 2008 -0800 netns: ip6mr: declare mroute_do_assert and mroute_do_pim per-namespace Preliminary work to make IPv6 multicast forwarding netns-aware. Declare IPv6 multicast forwarding variables 'mroute_do_assert' and 'mroute_do_pim' per-namespace in struct netns_ipv6. At the moment, these variables are only referenced in init_net. Signed-off-by: Benjamin Thery Signed-off-by: David S. Miller commit 4045e57c19bee150370390545ee8a933b3f7a18d Author: Benjamin Thery Date: Wed Dec 10 16:27:21 2008 -0800 netns: ip6mr: declare counter cache_resolve_queue_len per-namespace Preliminary work to make IPv6 multicast forwarding netns-aware. Declare variable cache_resolve_queue_len per-namespace: moves it into struct netns_ipv6. This variable counts the number of unresolved cache entries queued in the list mfc_unres_queue. This list is kept global to all netns as the number of entries per namespace is limited to 10 (hardcoded in routine ip6mr_cache_unresolved). Entries belonging to different namespaces in mfc_unres_queue will be identified by matching the mfc_net member introduced previously in struct mfc6_cache. Keeping this list global to all netns, also allows us to keep a single timer (ipmr_expire_timer) to handle their expiration. In some places cache_resolve_queue_len value was tested for arming or deleting the timer. These tests were equivalent to testing mfc_unres_queue value instead and are replaced in this patch. At the moment, cache_resolve_queue_len is only referenced in init_net. Signed-off-by: Benjamin Thery Signed-off-by: David S. Miller commit 4a6258a0e33d042e4c84d9dec25d45ddb40a70b3 Author: Benjamin Thery Date: Wed Dec 10 16:24:07 2008 -0800 netns: ip6mr: dynamically allocate mfc6_cache_array Preliminary work to make IPv6 multicast forwarding netns-aware. Dynamically allocates IPv6 multicast forwarding cache, mfc6_cache_array, and moves it to struct netns_ipv6. At the moment, mfc6_cache_array is only referenced in init_net. Replace 'ARRAY_SIZE(mfc6_cache_array)' with mfc6_cache_array size: MFC6_LINES. Signed-off-by: Benjamin Thery Signed-off-by: David S. Miller commit 58701ad41105638baa0b38ffe9ac5b10469c1fd3 Author: Benjamin Thery Date: Wed Dec 10 16:22:34 2008 -0800 netns: ip6mr: store netns in struct mfc6_cache This patch stores into struct mfc6_cache the network namespace each mfc6_cache belongs to. The new member is mfc6_net. mfc6_net is assigned at cache allocation and doesn't change during the rest of the cache entry life. This will help to retrieve the current netns around the IPv6 multicast forwarding code. At the moment, all mfc6_cache are allocated in init_net. Changelog: ========== * Use write_pnet()/read_pnet() to set and get mfc6_net. Signed-off-by: Benjamin Thery Signed-off-by: David S. Miller commit 4e16880cb4225bfa68878ad5b2a9ded53657d054 Author: Benjamin Thery Date: Wed Dec 10 16:15:08 2008 -0800 netns: ip6mr: dynamically allocates vif6_table Preliminary work to make IPv6 multicast forwarding netns-aware. Dynamically allocates interface table vif6_table and moves it to struct netns_ipv6, and updates MIF_EXISTS() macro. At the moment, vif6_table is only referenced in init_net. Signed-off-by: Benjamin Thery Signed-off-by: David S. Miller commit bd91b8bf372911c1e4d66d6bb44fe409349a6791 Author: Benjamin Thery Date: Wed Dec 10 16:07:08 2008 -0800 netns: ip6mr: allocate mroute6_socket per-namespace. Preliminary work to make IPv6 multicast forwarding netns-aware. Make IPv6 multicast forwarding mroute6_socket per-namespace, moves it into struct netns_ipv6. At the moment, mroute6_socket is only referenced in init_net. Signed-off-by: Benjamin Thery Signed-off-by: David S. Miller commit 5eaa65b240c5eb7bf2235eb9dd177c83e6e3832c Author: Roel Kluin Date: Wed Dec 10 15:18:31 2008 -0800 net: Make static Sparse asked whether these could be static. Signed-off-by: Roel Kluin Signed-off-by: David S. Miller commit 2107fb8b5bf018be691afdd4c6ffaecf0c3307be Author: Steve Glendinning Date: Wed Nov 5 00:35:38 2008 +0000 smsc911x: add dynamic bus configuration Convert the driver to select 16-bit or 32-bit bus access at runtime, at a small performance cost. Signed-off-by: Steve Glendinning Acked-by: Catalin Marinas Signed-off-by: David S. Miller commit 3b1228abc93f7ab0aa28c46341d6a0f7e2cade70 Author: Mark Brown Date: Wed Dec 10 19:27:10 2008 +0000 ASoC: Stop WM8903 SYSCLK when suspending This will save some additional power. Signed-off-by: Mark Brown commit d58d5d5567ea9483346f57c83a94ce05992cd47c Author: Mark Brown Date: Wed Dec 10 18:36:42 2008 +0000 ASoC: Convert WM8903 driver to register at I2C probe time The driver now registers the codec and DAI when probed as an I2C device. Also convert the driver to use a single dynamic allocation to simplify error handling. Signed-off-by: Mark Brown commit 78e19a39d3985e2a06354493a70a200c0d432de5 Author: Mark Brown Date: Wed Dec 10 15:38:36 2008 +0000 ASoC: Convert WM8900 to do more work at I2C probe time Redo the instantiation of the WM8900 to do most of the initialisation work when the I2C driver probes rather than when the ASoC device is instantiated, registering the codec with the ASoC core when done. Also move all dynamic allocations into a single kmalloc() to simplify error handling and rename the I2C driver to make output more sensible. Signed-off-by: Mark Brown commit 211117ff09b7d81d91b7857651587128ed8b13d9 Author: Robert Richter Date: Tue Dec 9 02:13:25 2008 +0100 oprofile: fix lost sample counter The number of lost samples could be greater than the number of received samples. This patches fixes this. The implementation introduces return values for add_sample() and add_code(). Signed-off-by: Robert Richter commit 1d7503b5dccf2b95babca050e4960e10d2633f2b Author: Robert Richter Date: Mon Dec 8 11:59:52 2008 +0100 oprofile: remove nr_available_slots() This function is no longer available after the port to the new ring buffer. Its removal can lead to incomplete sampling sequences since IBS samples and backtraces are transfered in multiple samples. Due to a full buffer, samples could be lost any time. The userspace daemon has to live with such incomplete sampling sequences as long as the data within one sample is consistent. This will be fixed by changing the internal buffer data there all data of one IBS sample or a backtrace is packed in a single ring buffer entry. This is possible since the new ring buffer supports variable data size. Signed-off-by: Robert Richter commit 03ed107805aff09ae13e50a86ea929f12ff74eb7 Author: Jason Jin Date: Tue Dec 9 14:32:31 2008 +0800 [MTD] [NAND] Set the fsl elbc ECCM according the settings in bootloader. The ECCM maybe set in bootloader, Get ECCM settings from the bootloader, can avoid the image written by bootloader cannot read out by kernel. But the limitation of doing it this way is that, it could break large page NAND if it is written with NAND disabled in u-boot and read with NAND enabled, or vice versa. Signed-off-by: Jason Jin Acked-by: Scott Wood Signed-off-by: David Woodhouse commit f144b7f6679d9833bd3b94b91e452592b6d0e502 Author: Takashi Iwai Date: Wed Dec 10 17:23:24 2008 +0100 ALSA: cs5535 - Make OLPC-stuff depending on MGEODE_LX The GPIO stuff for OLPC in cs5535audio_olpc.c is implemented only for Geode-LX, and enabled only when CONFIG_MGEODE_LX=y. Without this config option, the driver gets build errors. This patch adds a workaround to make it dependent on CONFIG_MGEODE_LX. Ideally, the OLPC-GPIO stuff should be implemented in a way independent from CPU type selection... Signed-off-by: Takashi Iwai commit 0fb497f5b6ff8da1e9e60afb39835f40d7f043ec Author: Andres Salomon Date: Thu Nov 6 16:53:34 2008 -0500 ALSA: cs5535audio: ensure MIC Bias/Analog Input bail if not on an OLPC machine Signed-off-by: Andres Salomon Signed-off-by: Takashi Iwai commit b5ccc57b06b54058879ab3ea548625d9bf88c7fc Author: Andres Salomon Date: Thu Nov 6 16:53:26 2008 -0500 ALSA: cs5535audio: clean up OLPC code - add copyright info to _olpc.c - minor layout fixes - make Makefile more concise - silence a warning Signed-off-by: Andres Salomon Signed-off-by: Takashi Iwai commit c8f0eeebc119c401202bc2794bec026d6cfd062e Author: Andres Salomon Date: Thu Nov 6 16:53:19 2008 -0500 ALSA: cs5535audio: turn off mic bias on OLPCs by default Always turn off mic bias; the MIC LED should never come on when the driver is first loaded. Signed-off-by: Andres Salomon Signed-off-by: Takashi Iwai commit 01da02419da827742acd5235467f493206e83574 Author: Andres Salomon Date: Thu Nov 6 16:53:11 2008 -0500 ALSA: cs5535audio: for OLPC, default to Analog Input being off Signed-off-by: Andres Salomon Signed-off-by: Takashi Iwai commit bf1e5278354856ac0260d338961560e720147681 Author: Andres Salomon Date: Thu Nov 6 16:53:03 2008 -0500 ALSA: cs5535audio: rename V_REFOUT control to MIC Bias This drops the AD1888 V_REFOUT control, and replaces it with a MIC Bias Enable control. It also moves the MIC bias enabling into a separate function. Signed-off-by: Andres Salomon commit e463ae1d13ffe4943bb31f47cc6f24415e55a59a Author: Chris Ball Date: Thu Nov 6 16:50:09 2008 -0500 ALSA: cs5535audio: enable OLPC's V_REFOUT bias when recording The OLPC has a privacy light hooked up in series with the microphone's V_Ref bias. We want to activate the bias while we are capturing audio. Signed-off-by: Chris Ball Signed-off-by: Andres Salomon Signed-off-by: Takashi Iwai commit 189d34e747e9540b70227f6682bd680868d90b10 Author: Andres Salomon Date: Thu Nov 6 16:49:55 2008 -0500 ALSA: cs5535audio: check OLPC's Analog Input status vis GPIO Checking the HPF register is irrelevant; HPF is secondary to the AI mode. Instead, check for Analog Input mode via GPIO. Signed-off-by: Andres Salomon Signed-off-by: Takashi Iwai commit 466ae3055be8665525a5613456fcb387ffef4cb7 Author: Andres Salomon Date: Thu Nov 6 16:49:46 2008 -0500 ALSA: cs5535audio: rename OLPC's analog input control && drop AD1888's HPF Previously, we had two separate controls; there's no need to have AD1888's HPF control, so drop it if we're on an OLPC machine. Also, as per Arjun's request, rename OLPC's Analog Input Switch control to "DC Mode Enable". Signed-off-by: Andres Salomon Signed-off-by: Takashi Iwai commit d6276b78028dfab944dd4a58124aefcc9aa580da Author: Andres Salomon Date: Thu Nov 6 16:49:38 2008 -0500 ALSA: cs5535audio: create function for setting OLPC's Analog Input mode Clean this stuff up a bit.. Signed-off-by: Andres Salomon Signed-off-by: Takashi Iwai commit 1e2232bc70b32f90109d678d1faccf6f50ebba80 Author: Andres Salomon Date: Thu Nov 6 16:47:05 2008 -0500 ALSA: cs5535audio: decouple HPF from V_REFOUT in OLPC code We shouldn't be touching V_REFOUT when we toggle HPF/analog input, so just drop that code. Signed-off-by: Andres Salomon Signed-off-by: Takashi Iwai commit b91254e75c3ec4f371ce1849672a95a929d99861 Author: Andres Salomon Date: Thu Nov 6 16:46:31 2008 -0500 ALSA: cs5535audio: drop ec_analog_input flag for OLPC stuff This is no longer necessary, as we're no longer doing indexed i/o commands. Signed-off-by: Andres Salomon commit 3556d18465c6e67c7a8f436428b95671add02f57 Author: Andres Salomon Date: Thu Nov 6 16:44:08 2008 -0500 ALSA: cs5535audio: invert EAPD for OLPC (newer than B3) Fix an audible pop described in . Originally based upon fixes by Mitch Bradley and Chris Ball. Signed-off-by: Andres Salomon commit c8974be5465b87414fa542cf9cca1a1ba21b8d60 Author: Jordan Crouse Date: Thu Nov 6 16:43:53 2008 -0500 ALSA: cs5535audio: Use OLPC/Geode basic infrastructure Use basic infrastructure code; geode_gpio* (rather than indexed i/o EC access), and do an OLPC machine check in olpc_quirk. [dilinger@debian.org: don't return failure in olpc_quirks if !OLPC] [dilinger@debian.org: drop the Signed-off-by: Andres Salomon commit 57d4bf6d8e965404b82b105ae44ddf137bb7b8e6 Author: Jaya Kumar Date: Thu Nov 6 16:43:34 2008 -0500 ALSA: cs5535audio: OLPC analog input support This is a 2nd cut at adding support for OLPC analog input. Signed-off-by: Jaya Kumar Signed-off-by: Andres Salomon commit b6c52a2cdb58fca918eef9ada5ef3a6cd17a9240 Author: Andres Salomon Date: Wed Nov 5 17:30:30 2008 -0500 ALSA: cs5535audio: suspend/resume callbacks are only defined with CONFIG_PM snd_cs5535audio_suspend and snd_cs5535audio_resume are only defined when CONFIG_PM is set; make that clear in the header file. Signed-off-by: Andres Salomon Signed-off-by: Takashi Iwai commit b035ce0f26812292d067fbe2fc9e9d88d5dfcdb4 Author: Jaya Kumar Date: Wed Nov 5 17:30:08 2008 -0500 ALSA: cs5535audio: turn off PCM properly if closing the audio device As per , we need to properly turn off the PCM if we're closing the device in order to save power. This also causes the MIC led to turn off properly. Signed-off-by: Jaya Kumar Signed-off-by: Andres Salomon Signed-off-by: Takashi Iwai commit 0bed7b292d68f82316bfb8cd521e16c867689efe Author: Andres Salomon Date: Wed Nov 5 17:29:53 2008 -0500 ALSA: cs5535audio: stick AD1888 bitshift values into a header file We'd like to use the High Pass Filter and V_REFOUT bitshift values elsewhere, so stick them into a ac97_codec.h. Signed-off-by: Andres Salomon Signed-off-by: Takashi Iwai commit d3af0f048c114dd53713d5920c54f6d5b6b12139 Author: Randy Dunlap Date: Mon Dec 1 14:23:38 2008 -0800 [MTD] [NAND] remove excess kernel-doc notation Delete extra kernel-doc notation for struct fields and function parameters that don't exist: Warning(include/linux/mtd/nand.h:428): Excess struct/union/enum/typedef member 'wq' description in 'nand_chip' Warning(include/linux/mtd/nand.h:428): Excess struct/union/enum/typedef member 'datbuf' description in 'nand_chip' Warning(include/linux/mtd/nand.h:428): Excess struct/union/enum/typedef member 'oobbuf' description in 'nand_chip' Warning(include/linux/mtd/nand.h:428): Excess struct/union/enum/typedef member 'oobdirty' description in 'nand_chip' Warning(include/linux/mtd/nand.h:428): Excess struct/union/enum/typedef member 'data_poi' description in 'nand_chip' Warning(drivers/mtd/nand/nand_base.c:2527): Excess function parameter 'maxchips' description in 'nand_scan_tail' Signed-off-by: Randy Dunlap Signed-off-by: Andrew Morton Signed-off-by: David Woodhouse commit 176bf2e0f10ecf1d20a97db3bd5bb2e6ba0b5668 Author: Atsushi Nemoto Date: Mon Dec 1 14:23:39 2008 -0800 [MTD] physmap: fix leak of memory returned by parse_mtd_partitions The mtd partition parser returns an allocated pointer array of mtd_partition. The caller must free it. The array is used only for add_mtd_partitions(), so free it just after the call. Signed-off-by: Atsushi Nemoto Cc: Mike Frysinger Signed-off-by: Andrew Morton Signed-off-by: David Woodhouse commit 002f6aab43c0e556ee5f588d138587de6a3ed63d Author: Julia Lawall Date: Mon Dec 1 14:23:38 2008 -0800 [MTD] drivers/mtd/maps/nettel.c: use ARRAY_SIZE ARRAY_SIZE is more concise to use when the size of an array is divided by the size of its type or the size of its first element. The semantic patch that makes this change is as follows: (http://www.emn.fr/x-info/coccinelle/) // @i@ @@ #include @depends on i using "paren.iso"@ type T; T[] E; @@ - (sizeof(E)/sizeof(E[...])) + ARRAY_SIZE(E) // Signed-off-by: Julia Lawall Signed-off-by: Andrew Morton Signed-off-by: David Woodhouse commit dcb3e137ce9be1dfc86e306182b23e3ae5e239c4 Author: Mike Frysinger Date: Mon Dec 1 14:23:40 2008 -0800 [MTD] physmap: make physmap compat explicit The current method for always showing physmap compat address, size, and width is a bit confusing. If length is set to 0, then the address and width are still shown but silently unused. The physmap code itself already has logic which sets compat based on length, so just pull that out and into the Kconfig to make everything clear. Signed-off-by: Mike Frysinger Cc: Bryan Wu Signed-off-by: Andrew Morton Signed-off-by: David Woodhouse commit c4956ed6fab26347ab1a712727da84b2501ab2dd Merge: c80a7b2 6af7a8e Author: David Woodhouse Date: Wed Dec 10 15:49:12 2008 +0000 Merge branch 'misc/mtd/sharpsl-nand' of git://git.kernel.org/pub/scm/linux/kernel/git/lumag/tosa-2.6 commit 0d0cf00a7fc63cee9a4c4a3b8612879b4f7f42ba Author: Mark Brown Date: Wed Dec 10 14:32:45 2008 +0000 ASoC: Add codec registration API Another part of the backporting of Liam's ASoC v2 work. Using this is more complicated than the other registration types since currently the codec is instantiated during the probe of the ASoC device so we can't currently readily wait for the codec to register. Signed-off-by: Mark Brown commit c80a7b265fedef584a1bb8baf92a5b289a66e039 Author: Harvey Harrison Date: Wed Nov 26 13:12:50 2008 -0800 [MTD] remove private wrapper of endian helpers in rfd_ftl.c Base versions handle constant folding just fine. Signed-off-by: Harvey Harrison Signed-off-by: David Woodhouse commit 0bc4382ae901311fe53be5735026cbe3ea6f235f Author: David Woodhouse Date: Wed Dec 10 15:34:49 2008 +0000 [JFFS2] Clean up fs/jffs2/compr_rubin.c Triggered by a smaller cleanup from Jianjun Kong Signed-off-by: David Woodhouse commit 9faa8153bef4d82395e6ff7f87cb7c457055007c Author: Artem Bityutskiy Date: Mon Dec 8 13:39:25 2008 +0200 MTD: add MTD tests to compilation Add MTD tests to Kconfig and Makefiles. Signed-off-by: Artem Bityutskiy commit 4db451a7649decfdcb29d21016d7e031accc5cda Author: Artem Bityutskiy Date: Mon Dec 8 13:38:34 2008 +0200 MTD: tests: add mtd_torturetest This test is designed to work for very long time and it tries to wear few eraseblocks. Signed-off-by: Artem Bityutskiy commit 459931eca5f4b8c9ad259d07cc1ca49afed54804 Author: Chris Mason Date: Wed Dec 10 09:10:46 2008 -0500 Btrfs: Delete csum items when freeing extents This finishes off the new checksumming code by removing csum items for extents that are no longer in use. The trick is doing it without racing because a single csum item may hold csums for more than one extent. Extra checks are added to btrfs_csum_file_blocks to make sure that we are using the correct csum item after dropping locks. A new btrfs_split_item is added to split a single csum item so it can be split without dropping the leaf lock. This is used to remove csum bytes from the middle of an item. Signed-off-by: Chris Mason commit cdc693643271b2e6a693cf8f6afb258cce01f058 Author: Mark Brown Date: Wed Dec 10 13:55:49 2008 +0000 ALSA: Add support for mechanical jack insertion Some systems support both mechanical and electrical jack detection, allowing them to report that a jack is physically present but does not have any functioning connections. Add a new jack type for these, allowing user space to report faulty connections. Thanks to Guillem Jover for the suggestion. Signed-off-by: Mark Brown Signed-off-by: Takashi Iwai commit 26cdb67c74aedc22367e6d0271f7f955220cca65 Author: David Woodhouse Date: Wed Dec 10 14:08:12 2008 +0000 [MTD] Remove more strange u_intxx_t types Signed-off-by: David Woodhouse commit 3854be7712f7b4bdcaed14664fc7c7124b3fef0d Author: David Woodhouse Date: Wed Dec 10 14:06:42 2008 +0000 [MTD] Remove strange u_int32_t types from FTL Signed-off-by: David Woodhouse commit 0f07a0be39735651091418c09b257785d12fbc59 Author: David Woodhouse Date: Wed Dec 10 14:01:46 2008 +0000 [MTD] [NAND] Remove strange u_int64_t types from nandsim Signed-off-by: David Woodhouse commit 69423d99fc182a81f3c5db3eb5c140acc6fc64be Author: Adrian Hunter Date: Wed Dec 10 13:37:21 2008 +0000 [MTD] update internal API to support 64-bit device size MTD internal API presently uses 32-bit values to represent device size. This patch updates them to 64-bits but leaves the external API unchanged. Extending the external API is a separate issue for several reasons. First, no one needs it at the moment. Secondly, whether the implementation is done with IOCTLs, sysfs or both is still debated. Thirdly external API changes require the internal API to be accepted first. Note that although the MTD API will be able to support 64-bit device sizes, existing drivers do not and are not required to do so, although NAND base has been updated. In general, changing from 32-bit to 64-bit values cause little or no changes to the majority of the code with the following exceptions: - printk message formats - division and modulus of 64-bit values - NAND base support - 32-bit local variables used by mtdpart and mtdconcat - naughtily assuming one structure maps to another in MEMERASE ioctl Signed-off-by: Adrian Hunter Signed-off-by: Artem Bityutskiy Signed-off-by: David Woodhouse commit 8a4c2495b142fe612b291a810d9e695f269c26db Author: Alexey Korolev Date: Thu Nov 13 13:40:38 2008 +0000 MTD: nandsim: use less RAM Nandsim consumes ~2x more RAM than the density of simulated device. It becomes critical if we need to simulate 256MB NAND and run stress tests on it. We investigated the reasons. nandsim allocates space for pages using kmalloc function. The size of LP nand page is 2112 bytes. kmalloc gets space from slab pools by chunks 2^n. So if we need to kmalloc 2112 bytes, 4096 bytes will be consumed by system. The best way to avoid this issue would be using kmem_cache allocations. AFAIK this mechanism specially designed to handle cases when arrays of allocations are used. Signed-off-by: Alexey Korolev Tested-by: Artem Bityutskiy Acked-by: Artem Bityutskiy Signed-off-by: Artem Bityutskiy Signed-off-by: David Woodhouse commit a9fc8991883cdf029bd373a82cbc2d12a10799dd Author: Adrian Hunter Date: Wed Nov 12 16:06:07 2008 +0200 MTD: nandsim: add option to use a file to cache pages Add a new module parameter 'cache_file' which causes nandsim to use that file instead of memory to cache nand data. Using a file allows the simulation of NAND that is bigger than the available memory. Signed-off-by: Adrian Hunter Signed-off-by: Artem Bityutskiy Signed-off-by: David Woodhouse commit 9359ea461b382de3249469d2165da45f4762b910 Author: Adrian Hunter Date: Wed Nov 12 16:06:40 2008 +0200 MTD: nandsim: suppress unnecessary warning nand_base sometimes reads only 2 bytes of a 4 byte id. It is OK. Do not print a warning in that case. Signed-off-by: Adrian Hunter Signed-off-by: Artem Bityutskiy Signed-off-by: David Woodhouse commit 6dad828b76c7224a22ddc9ce7aa495d994f03b31 Author: Robert Richter Date: Tue Dec 9 01:21:32 2008 +0100 oprofile: port to the new ring_buffer This patch replaces the current oprofile cpu buffer implementation with the ring buffer provided by the tracing framework. The motivation here is to leave the pain of implementing ring buffers to others. Oh, no, there are more advantages. Main reason is the support of different sample sizes that could be stored in the buffer. Use cases for this are IBS and Cell spu profiling. Using the new ring buffer ensures valid and complete samples and allows copying the cpu buffer stateless without knowing its content. Second it will use generic kernel API and also reduce code size. And hopefully, there are less bugs. Since the new tracing ring buffer implementation uses spin locks to protect the buffer during read/write access, it is difficult to use the buffer in an NMI handler. In this case, writing to the buffer by the NMI handler (x86) could occur also during critical sections when reading the buffer. To avoid this, there are 2 buffers for independent read and write access. Read access is in process context only, write access only in the NMI handler. If the read buffer runs empty, both buffers are swapped atomically. There is potentially a small window during swapping where the buffers are disabled and samples could be lost. Using 2 buffers is a little bit overhead, but the solution is clear and does not require changes in the ring buffer implementation. It can be changed to a single buffer solution when the ring buffer access is implemented as non-locking atomic code. The new buffer requires more size to store the same amount of samples because each sample includes an u32 header. Also, there is more code to execute for buffer access. Nonetheless, the buffer implementation is proven in the ftrace environment and worth to use also in oprofile. Patches that changes the internal IBS buffer usage will follow. Cc: Steven Rostedt Signed-off-by: Robert Richter commit e09373f22e76cc048ca5fe10a9ff9012f5d64309 Author: Robert Richter Date: Wed Nov 26 14:04:19 2008 +0100 ring_buffer: add remaining cpu functions to ring_buffer.h These functions are not yet in ring_buffer.h though they seems to be part of the API. Cc: Steven Rostedt Signed-off-by: Robert Richter commit fbc9bf9f0ed4f0fbc47dcb5b1c26c28c93b60e33 Author: Robert Richter Date: Thu Dec 4 16:27:00 2008 +0100 oprofile: moving cpu_buffer_reset() to cpu_buffer.h This is in preparation for changes in the cpu buffer implementation. Signed-off-by: Robert Richter commit bf589e32960181fa8cbca7bfdd92265e49dc2dfa Author: Robert Richter Date: Thu Nov 27 22:33:37 2008 +0100 oprofile: adding cpu_buffer_entries() This is in preparation for changes in the cpu buffer implementation. Signed-off-by: Robert Richter commit 229234ae4a5ed9376b2e0524da04b0e5edadbf76 Author: Robert Richter Date: Thu Nov 27 18:36:08 2008 +0100 oprofile: adding cpu_buffer_write_commit() This is in preparation for changes in the cpu buffer implementation. Signed-off-by: Robert Richter commit 7d468abee0f1a7e918b5e2f23120436a54ba9f33 Author: Robert Richter Date: Thu Nov 27 10:57:09 2008 +0100 oprofile: adding cpu buffer r/w access functions This is in preparation for changes in the cpu buffer implementation. Signed-off-by: Robert Richter commit e2ac8ef576e45d9db7264abc51383e68d26067bb Author: Robert Richter Date: Wed Nov 12 12:59:32 2008 +0100 ftrace: remove unused function arg in trace_iterator_increment() This removes the unused cpu function parameter. Cc: Steven Rostedt Signed-off-by: Robert Richter commit 68814b58c52077da9561b544089fe532a0842f71 Author: Robert Richter Date: Mon Nov 24 12:24:12 2008 +0100 ring_buffer: update description for ring_buffer_alloc() Trivial patch. Cc: Steven Rostedt Signed-off-by: Robert Richter commit 37ca5eb341711d7aeb9f296873b9d46eb6af33ec Author: Robert Richter Date: Tue Dec 9 16:56:01 2008 +0100 oprofile: set values to default when creating oprofilefs This patch restores default values for: /dev/oprofile/cpu_buffer_size /dev/oprofile/buffer_watershed /dev/oprofile/buffer_size when creating the oprofilefs: # opcontrol --deinit # opcontrol --init # cat /dev/oprofile/cpu_buffer_size 8192 # echo 5123 > /dev/oprofile/cpu_buffer_size # cat /dev/oprofile/cpu_buffer_size 5123 # opcontrol --deinit # opcontrol --init # cat /dev/oprofile/cpu_buffer_size 8192 # opcontrol --deinit This sets the values in a defined state. Before, there was no way to restore the defaults without rebooting the system or reloading the module. Signed-off-by: Robert Richter commit fd7826d56bde11ab142d2431093773ad2b3f0a59 Author: Robert Richter Date: Fri Sep 26 17:50:31 2008 -0400 oprofile: implement switch/case in buffer_sync.c Signed-off-by: Robert Richter commit fe615cbf34fc6a1c53c359417da4696328a488ed Author: Robert Richter Date: Mon Nov 24 14:58:03 2008 +0100 x86/oprofile: cleanup IBS init/exit functions in op_model_amd.c Implementation of pairwise init/exit funcions for IBS and IBS NMI setup. There are also some function renames and the removal of forward function declarations. Signed-off-by: Robert Richter commit 9fa6812dbab9207f7af52c3d0417f1f9eb89c386 Author: Robert Richter Date: Mon Nov 24 14:21:03 2008 +0100 x86/oprofile: reordering IBS code in op_model_amd.c This is part of the cpu buffer rework. Signed-off-by: Robert Richter commit 8dbc50c322619eb821907e8dba75252f5378c712 Author: Robert Richter Date: Wed Nov 26 15:00:52 2008 +0100 oprofile: fix typo Signed-off-by: Robert Richter commit cdc1834d1aa2e5b574a25e66f82625b44cdd0d8f Author: Robert Richter Date: Fri Sep 26 22:18:44 2008 -0400 oprofile: whitspace changes only Signed-off-by: Robert Richter commit 58494487581cb143a0d763e3056a894d5009d60a Author: Robert Richter Date: Wed Nov 26 12:02:53 2008 +0100 oprofile: update comment for oprofile_add_sample() The cpu argument is no longer part of the parameter list. Signed-off-by: Robert Richter commit fd13f6c85144bb2026c534a35be1d7cb7628a64a Author: Robert Richter Date: Sun Oct 19 21:00:09 2008 +0200 oprofile: comment cleanup This fixes the coding style of some comments. Signed-off-by: Robert Richter commit 4f8f3af20ac5a1e58b419a98dfe76522885b5355 Author: Dmitri Vorobiev Date: Tue Nov 25 02:54:59 2008 +0200 [MTD] Make init_impa7 static The function init_impa7 does not need to be global, and this patch makes it static by adding the needed keyword to drivers/mtd/maps/impa7.c. Signed-off-by: Dmitri Vorobiev Signed-off-by: David Woodhouse commit 9a2b3974ef3aff7994e802f07fcebe3d8e7a936d Author: Dmitri Vorobiev Date: Tue Nov 25 02:55:04 2008 +0200 [MTD] Make init_redwood_flash function static The function init_redwood_flash is needlessly defined global, make it static by this patch. Signed-off-by: Dmitri Vorobiev Signed-off-by: David Woodhouse commit 6127cfcd3d134ec63d0d154bb24823bd33774c10 Author: Dmitri Vorobiev Date: Tue Nov 25 02:55:03 2008 +0200 [MTD] Make init_msp_flash function static The function init_msp_flash, which is not used outside of drivers/mtd/maps/pmcmsp-flash.c, can become static. This patch adds the needed keyword. Signed-off-by: Dmitri Vorobiev Signed-off-by: David Woodhouse commit 2257594f9c2043f347c6d3961f804008da7982d1 Author: Dmitri Vorobiev Date: Tue Nov 25 02:54:58 2008 +0200 [MTD] Make h720x_mtd_init function static The function h720x_mtd_init is not used outside of the file drivers/mtd/maps/h720x-flash.c and can therefore become static. This patch adds the necessary keyword. Signed-off-by: Dmitri Vorobiev Signed-off-by: David Woodhouse commit 9cdd52fa973a9021c4c2670ac69a301ae31c8784 Author: Dmitri Vorobiev Date: Tue Nov 25 02:55:01 2008 +0200 [MTD] Make init_mbx function static The function init_mbx can become static, because it is not used outside the file drivers/mtd/maps/mbx860.c. This patch adds the needed keyword. Signed-off-by: Dmitri Vorobiev Signed-off-by: David Woodhouse commit 1aed165a602b80428bbdf17478c629169d96eda1 Author: Dmitri Vorobiev Date: Tue Nov 25 02:55:10 2008 +0200 [MTD] Make the function init_vmax301 static The function init_vmax301 is needlessly defined global in drivers/mtd/maps/vmax301.c, and this patch makes it static. Signed-off-by: Dmitri Vorobiev Signed-off-by: David Woodhouse commit e63b3f94b026e34773cfe5621ae5a8bf69d4cd74 Author: Dmitri Vorobiev Date: Tue Nov 25 02:54:57 2008 +0200 [MTD] Make init_fortunet function static The symbol init_fortunet is needlessly defined global in drivers/mtd/maps/fortunet.c. Make it static and clean up the kernel global namespace. Signed-off-by: Dmitri Vorobiev Signed-off-by: David Woodhouse commit b93dc2e9fcb66b2e6d7fc99455c791dc584fe6ea Author: Dmitri Vorobiev Date: Tue Nov 25 02:54:53 2008 +0200 [MTD] Make alchemy_mtd_init function static The symbol alchemy_mtd_init does not need to be global, so make it static in drivers/mtd/maps/alchemy-flash.c. Signed-off-by: Dmitri Vorobiev Signed-off-by: David Woodhouse commit 9bd1c9dac880c85f5f142fbe3680964cdeac188a Author: Dmitri Vorobiev Date: Tue Nov 25 02:55:00 2008 +0200 [MTD] Make ipaq_mtd_init function static The symbol ipaq_mtd_init is not used anywhere outside of drivers/mtd/maps/ipaq-flash.c, so make it static. Signed-off-by: Dmitri Vorobiev Signed-off-by: David Woodhouse commit baa0f0fc5f0960937433bf3a17e5c78b88e3add5 Author: Dmitri Vorobiev Date: Tue Nov 25 02:54:55 2008 +0200 [MTD] Make init_dbox2_flash static The symbol init_dbox2_flash is not used outside of the file drivers/mtd/maps/dbox2-flash.c, so make it static. Signed-off-by: Dmitri Vorobiev Signed-off-by: David Woodhouse commit 2e257a2d6d5400e9ec135da406737c0cb2a02a2a Author: Dmitri Vorobiev Date: Tue Nov 25 02:54:54 2008 +0200 [MTD] Make init_flagadm function static The module init function init_flagadm does not need to be global, so add the needed keyword to drivers/mtd/maps/cfi_flagadm.c. Signed-off-by: Dmitri Vorobiev Signed-off-by: David Woodhouse commit d849257c428bf9f06f25fa3dea14cd1e7650948d Author: Dmitri Vorobiev Date: Tue Nov 25 02:55:02 2008 +0200 [MTD] Make init_oct5066 function static The function init_oct5066 is needlessly defined global in drivers/mtd/maps/octagon-5066.c. Make it static. Signed-off-by: Dmitri Vorobiev Signed-off-by: David Woodhouse commit d8156adb7a2b820b49c8fbb106c2e53160ea88ac Author: Dmitri Vorobiev Date: Tue Nov 25 02:54:56 2008 +0200 [MTD] Make the init_edb7312nor function static The init_edb7312nor function is needlessly defined global in drivers/mtd/maps/edb7312.c, and this patch makes it static. Signed-off-by: Dmitri Vorobiev Signed-off-by: David Woodhouse commit 8d240325b3f7310c5ffc7c5d15e3093462b4cada Author: Dmitri Vorobiev Date: Tue Nov 25 02:55:11 2008 +0200 [MTD] Make init_sbc82xx_flash function static The function init_sbc82xx_flash is needlessly defined global in drivers/mtd/maps/wr_sbc82xx_flash.c, and this patch makes it static. Signed-off-by: Dmitri Vorobiev Signed-off-by: David Woodhouse commit bc185405c84327098b33c11353ca579169f0728f Author: Dmitri Vorobiev Date: Tue Nov 25 02:55:05 2008 +0200 [MTD] Make init_rpxlite function static The function init_rpxlite, which is not used outside of drivers/mtd/maps/rpxlite.c, can become static. Add the needed keyword. Signed-off-by: Dmitri Vorobiev Signed-off-by: David Woodhouse commit e30bb9cf5fba1ddf2b89dc72159d6fbb2c49ef2f Author: Dmitri Vorobiev Date: Tue Nov 25 02:55:08 2008 +0200 [MTD] Make init_tqm_mtd function static The init_tqm_mtd function does not need to be defined globally in drivers/mtd/maps/tqm8xxl.c. Make it static. Signed-off-by: Dmitri Vorobiev Signed-off-by: David Woodhouse commit 769455e224fbec3a27acc7644d11581314ddcb98 Author: Dmitri Vorobiev Date: Tue Nov 25 02:55:09 2008 +0200 [MTD] Make uclinux_mtd_cleanup and uclinux_mtd_init static The functions uclinux_mtd_cleanup and uclinux_mtd_init do not heed to be global. Add the needed keyword to the file drivers/mtd/maps/uclinux.c to make these functions static. Signed-off-by: Dmitri Vorobiev Signed-off-by: David Woodhouse commit e4582ea71cb651e02924fb39c9373a9e737088ce Author: Dmitri Vorobiev Date: Tue Nov 25 02:54:52 2008 +0200 [MTD] Make lart_flash_init, lart_flash_exit static The symbols lart_flash_init, lart_flash_exit are needlessly defined global in drivers/mtd/devices/lart.c, so make them static. Signed-off-by: Dmitri Vorobiev Signed-off-by: David Woodhouse commit 9ee49fa5c1b58453cb97969a8282fd7bbf0ad0d4 Author: Dmitri Vorobiev Date: Tue Nov 25 02:55:06 2008 +0200 [MTD] Make init_sbc8240_mtd function static The function init_sbc8240_mtd is not called from outside the module drivers/mtd/maps/sbc8240.c where it is defined, so it can become static. Add the needed keyword. Signed-off-by: Dmitri Vorobiev Signed-off-by: David Woodhouse commit 26eb10857003e1a738e87aa71f0c91ceb7fc0de4 Author: Dmitri Vorobiev Date: Tue Nov 25 02:55:07 2008 +0200 [MTD] Make init_sharpsl symbol static The function init_sharpsl is needlessly defined global. Make it static by adding the needed keyword to the file drivers/mtd/maps/sharpsl-flash.c, where the function is defined. Signed-off-by: Dmitri Vorobiev Signed-off-by: David Woodhouse commit ad5942bad6addcf9697a74413b517d9724d803a4 Author: Stefan Roese Date: Wed Dec 10 10:42:54 2008 +0100 UBI: return -ENOMEM upon failing vmalloc Return with correct error code (-ENOMEM) from ubi_attach_mtd_dev() upon failing vmalloc(). Signed-off-by: Stefan Roese Signed-off-by: Artem Bityutskiy commit 1e5fa31f96d558e53fe80e943305104bf4339711 Author: Peter Ujfalusi Date: Wed Dec 10 12:51:48 2008 +0200 ASoC: TWL4030: Change the name for the DACs To avoid confusion the names for the DACs changed: DACL1 -> DAC Left1 ... Signed-off-by: Peter Ujfalusi Signed-off-by: Mark Brown commit d4a73131a56e906b8f65e20934516adcad68b524 Author: Peter Ujfalusi Date: Wed Dec 10 12:51:47 2008 +0200 ASoC: TWL4030: Small cleanup The mux switch related texts fits to on line, no need to wrap them. Signed-off-by: Peter Ujfalusi Signed-off-by: Mark Brown commit 6a1bee4a9cae13aa73abd8f724bada213a38eb63 Author: Peter Ujfalusi Date: Wed Dec 10 12:51:46 2008 +0200 ASoC: TWL4030: Add missing Carkit output SND_SOC_DAPM_OUTPUT definition for carkitL/R was missing. Signed-off-by: Peter Ujfalusi Signed-off-by: Mark Brown commit 1e297a19252a6792c4479b300020f7f63eeb56ef Author: Mark Brown Date: Wed Dec 10 11:08:33 2008 +0000 ASoC: Work around warnings from some build environments BUG() should be marked as not returning but for at least some configurations (including some widely deployed compilers) that's either not happening or being forgotten by the compiler. Add some extra return statements to the affected paths. Signed-off-by: Mark Brown commit 11d518e07d700eeb5bcec36bfd5f501e405230dd Author: Takashi Iwai Date: Wed Dec 10 10:37:33 2008 +0100 ALSA: hda - Add quirk for HP6730B laptop Added model=laptop for HP 6730B laptop with AD1984A codec. Reference: Novell bnc#457909 https://bugzilla.novell.com/show_bug.cgi?id=457909 Signed-off-by: Takashi Iwai Cc: stable@kernel.org commit 6fabd715e6d8e1b37c0c66d9bfda2c19643e3f77 Author: Peter P Waskiewicz Jr Date: Wed Dec 10 01:13:08 2008 -0800 ixgbe: Implement PCIe AER support This patch implements the PCIe Advanced Error Reporting callbacks in ixgbe. The 82598 hardware supports AER, so we enable it. Signed-off-by: Peter P Waskiewicz Jr Signed-off-by: Jeff Kirsher Signed-off-by: David S. Miller commit 5e8427e5e25e3f844113cf67d07e7806bbe8c0e2 Author: Alexander Duyck Date: Wed Dec 10 01:09:53 2008 -0800 igb: Correctly determine pci-e function number in virtual environment When running in a virtual environment the ports of an 82575/6 can appear to be single function devices which is not correct. To resolve this we rely on the function number stored in the status register. Signed-off-by: Alexander Duyck Signed-off-by: Jeff Kirsher Signed-off-by: David S. Miller commit b4557be23dc959f38eed21d359ec7164e42bcbd6 Author: Alexander Duyck Date: Wed Dec 10 01:08:59 2008 -0800 igb: update handling of RCTL for smaller buffer sizes As we begin to move into virtualization the use of a global value for buffer sizes becomes undesirable. This change makes it so only 256 and 512 byte buffers require use of the RCTL register. Signed-off-by: Alexander Duyck Signed-off-by: Jeff Kirsher Signed-off-by: David S. Miller commit d2afbe78a2922929ad44882d3583d938b9949a30 Author: Takashi Iwai Date: Wed Dec 10 09:28:15 2008 +0100 ALSA: hda - Update documentation Minor typo-fixes and improvements on HD-Audio.txt. Signed-off-by: Takashi Iwai commit 44411e07c2ce1a755a756e10b592cd3ba02f99b3 Author: Takashi Iwai Date: Wed Dec 10 08:27:19 2008 +0100 ALSA: ca0106 - Check return value of pci_enable_device() in resume The return value of pci_enable_device() must be checked even in resume callback: sound/pci/ca0106/ca0106_main.c:1779: warning: ignoring return value of ‘pci_enable_device’, declared with attribute warn_unused_result Signed-off-by: Takashi Iwai commit e97fd7c6d51d8bf32ce981b853d987cfc6bdfb7f Author: Holger Eitzenberger Date: Tue Dec 9 23:10:38 2008 -0800 bonding: turn all bond_parm_tbls const Turn all bond_parm_tbls const. Signed-off-by: Holger Eitzenberger Signed-off-by: David S. Miller commit 325dcf7a907a43f8832b92ae1c672798b4e60ce2 Author: Holger Eitzenberger Date: Tue Dec 9 23:10:17 2008 -0800 bonding: make tbl argument to bond_parse_parm() const bond_parse_parm() parses a parameter table for a particular value and is therefore not modifying the table at all. Therefore make the 2nd argument const, thus allowing to make the tables const later. Signed-off-by: Holger Eitzenberger Signed-off-by: David S. Miller commit d78755237f0892c8d313a7f7b1774443a7308b11 Author: Holger Eitzenberger Date: Tue Dec 9 23:09:49 2008 -0800 bonding: remove duplicate declarations Remove some declarations from bonding.c as they are declared in bonding.h already. Signed-off-by: Holger Eitzenberger Signed-off-by: David S. Miller commit 5a03cdb7f2d7ff88e50153d8c3b90a1d52dca435 Author: Holger Eitzenberger Date: Tue Dec 9 23:09:22 2008 -0800 bonding: use pr_debug instead of own macros Use pr_debug() instead of own macros. Signed-off-by: Holger Eitzenberger Signed-off-by: David S. Miller commit ef65583d01f4060c758dba72f08edc09d8faa719 Author: Holger Eitzenberger Date: Tue Dec 9 23:08:55 2008 -0800 bonding: fix compile error if debug enabled This is what I get if debug is enabled: drivers/net/bonding/bond_ipv6.c: In function 'bond_na_send': drivers/net/bonding/bond_ipv6.c:75: error: 'slave' undeclared (first use in this function) drivers/net/bonding/bond_ipv6.c:75: error: (Each undeclared identifier is reported only once drivers/net/bonding/bond_ipv6.c:75: error: for each function it appears in.) This patch fixes that. Signed-off-by: Holger Eitzenberger Signed-off-by: David S. Miller commit 77afc92b7915b6bb21584474a429a04603ac8963 Author: Holger Eitzenberger Date: Tue Dec 9 23:08:09 2008 -0800 bonding: use table for mode names Use a small array in bond_mode_name() for the names, thus saving some space: before text data bss dec hex filename 57736 9372 344 67452 1077c drivers/net/bonding/bonding.ko after text data bss dec hex filename 57441 9372 344 67157 10655 drivers/net/bonding/bonding.ko Signed-off-by: Holger Eitzenberger Signed-off-by: David S. Miller commit 58402054264fa33b405d1abcbcd8e528507aac1a Author: Holger Eitzenberger Date: Tue Dec 9 23:07:13 2008 -0800 bonding: add and use bond_is_lb() Introduce and use bond_is_lb(), it is usefull to shorten the repetitive check for either ALB or TLB mode. Signed-off-by: Holger Eitzenberger Signed-off-by: David S. Miller commit f73f2a6a23e34de9cca9672f727694e5af00e6c7 Author: Takashi Iwai Date: Wed Dec 10 07:59:33 2008 +0100 ALSA: ASoC - Fix symbol conflicts in omac-mcbsp.c Add snd_ prefix to avoid the conflict of symbols in omac-mcbsp.c: sound/soc/omap/omap-mcbsp.c:503: error: static declaration of 'omap_mcbsp_init' follows non-static declaration arch/arm/plat-omap/include/mach/mcbsp.h:373: error: previous declaration of 'omap_mcbsp_init' was here Signed-off-by: Takashi Iwai commit acc421656b97f09b55acb0938ad5378eefa5aacc Author: Roel Kluin Date: Tue Dec 9 23:26:05 2008 +0100 ALSA: sound: Make static Sparse asked whether these could be static. Signed-off-by: Roel Kluin Signed-off-by: Takashi Iwai commit c9b3a40ff2b3dea9914e36965a17c802650bb603 Author: Takashi Iwai Date: Wed Dec 10 07:47:22 2008 +0100 ALSA: ASoC - Fix wrong section types The module init entries should be __init instead of __devinit. Signed-off-by: Takashi Iwai commit 24e07db8cceb7dfe2d4005e4450a27f4bcda6499 Author: Takashi Iwai Date: Wed Dec 10 07:40:24 2008 +0100 ALSA: ASoC - Fix module init entry for twl4030.c Fixed the function name of module init entry for twl4030.c, which conflicted with the existing hardware init function: sound/soc/codecs/twl4030.c:1278: error: conflicting types for 'twl4030_init' sound/soc/codecs/twl4030.c:1187: error: previous definition of 'twl4030_init' was here Also fixed the section type of init function. Signed-off-by: Takashi Iwai commit 512bb43eb5422ee69a1be05ea0d89dc074fac9a2 Author: Jarek Poplawski Date: Tue Dec 9 22:35:02 2008 -0800 pkt_sched: sch_htb: Optimize WARN_ONs in htb_dequeue_tree() etc. We can skip WARN_ON() in htb_dequeue_tree() because there should be always a similar warning from htb_lookup_leaf() earlier. The first WARN_ON() in in htb_lookup_leaf() is changed to BUG_ON() because most likly this should end with oops anyway. Signed-off-by: Jarek Poplawski Signed-off-by: David S. Miller commit 1b5c0077e1615bb16e777a10ec1fc1195ba059ac Author: Jarek Poplawski Date: Tue Dec 9 22:34:40 2008 -0800 pkt_sched: sch_htb: Optimize htb_find_next_upper() htb_id_find_next_upper() is usually called to find a class with next id after some previously removed class, so let's move a check for equality to the end: it's the least likely here. Signed-off-by: Jarek Poplawski Signed-off-by: David S. Miller commit dbb7a95d810ab76aac42e1a5cefdf069dcd014a1 Author: Chaithrika U S Date: Tue Dec 9 22:21:25 2008 -0800 phy: Add LSI ET1011C PHY driver Adds LSI ET1011C PHY driver. This driver is used by TI DM646x EVM. Signed-off-by: Chaithrika U S Signed-off-by: David S. Miller commit 48452e5f99ab35d643df0463b6ad11aea8ea7bdc Author: Mark Lord Date: Tue Dec 9 10:46:30 2008 -0500 /proc/acpi/alarm: handle day-of-month wraparound on readback Fix month wrap issue with readback from /proc/acpi/alarm This bug has been around *forever*. $ echo '2008-12-01 10:36:20' > /proc/acpi/alarm $ cat /proc/acpi/alarm 2008-11-01 10:36:20 Note how the readback above shows the month incorrectly when the alarm is set in the *next* calendar month. But with this patch applied, it shows the correct month (12). Signed-off-by: Mark Lord Signed-off-by: Len Brown commit e055f13a6d8448d4f23121b7b11340c3fb55cce6 Author: Lachlan McIlroy Date: Wed Dec 10 11:51:54 2008 +1100 [XFS] Remove unused tracing code None of this code appears to be used anywhere so remove it. Reviewed-by: Christoph Hellwig Signed-off-by: Lachlan McIlroy commit d403700bf8fc903584e830967f5d64075770848c Author: Uwe Kleine-König Date: Tue Dec 9 21:57:27 2008 +0100 netx: define register MEMCR Signed-off-by: Uwe Kleine-König Acked-by: Sascha Hauer commit e0a84ebd4808e032d2ac5acb256f2f93fac1da32 Author: Uwe Kleine-König Date: Tue Dec 9 21:57:25 2008 +0100 netx/xc: add a few "const"s to fix compiler warnings the fixed warnings are: arch/arm/mach-netx/xc.c: In function ‘xc_request_firmware’: arch/arm/mach-netx/xc.c:152: warning: assignment discards qualifiers from pointer target type arch/arm/mach-netx/xc.c:162: warning: assignment discards qualifiers from pointer target type Signed-off-by: Uwe Kleine-König Acked-by: Sascha Hauer commit 2fcfe6b872b21639dcffbaf3ca2a84ec01d104e0 Author: Uwe Kleine-König Date: Tue Dec 9 21:57:24 2008 +0100 netx: add support for clockevents This is based on a patch by Luotao Fu Signed-off-by: Uwe Kleine-König Acked-by: Luotao Fu Acked-by: Sascha Hauer commit 21edecd35580faebbd31be284df662fcc6088c50 Author: Uwe Kleine-König Date: Tue Dec 9 21:57:23 2008 +0100 netx: enable GENERIC_TIME the needed infrastructure is already in place, only selecting GENERIC_TIME was missing. Signed-off-by: Uwe Kleine-König Acked-by: Sascha Hauer commit 24e7857677fe3cb87f1dd7fa1418a73795e9f4c5 Author: Uwe Kleine-König Date: Tue Dec 9 21:57:22 2008 +0100 netx: Use a cpp symbol for the clocksource timer number instead of hardcoding the same value each time. Signed-off-by: Uwe Kleine-König Acked-by: Sascha Hauer commit 9853848860d7ece7d84ac43cfde5390b2638eb89 Author: Uwe Kleine-König Date: Tue Dec 9 21:57:21 2008 +0100 mach-netx/time.c: codingstyle cleanup To prevent cluttering the next patches with noop noise, do the cleanup in this separate patch: - use tab to indent - break comments before column 80 Signed-off-by: Uwe Kleine-König Acked-by: Sascha Hauer commit 8a4830f8891be6b4e04809693a24771a4694e0b0 Author: Yinghai Lu Date: Tue Dec 9 11:56:20 2008 -0800 sparseirq: fix !SMP && !PCI_MSI && !HT_IRQ build Ingo Molnar wrote: >>> drivers/pci/intr_remapping.c: In function 'irq_2_iommu_alloc': >>> drivers/pci/intr_remapping.c:72: error: 'boot_cpu_id' undeclared (first use in this function) >>> drivers/pci/intr_remapping.c:72: error: (Each undeclared identifier is reported only once >>> drivers/pci/intr_remapping.c:72: error: for each function it appears in.) sparseirq should only be used with SMP for now. commit 471716f7ea646487b7b5c7b3efc68a023b05a933 Author: Mark Brown Date: Tue Dec 9 14:47:07 2008 +0000 ASoC: Fix typos in Atmel module registration I wish I had boards which work with unmodified kernels :/ Signed-off-by: Mark Brown commit 8e26e1d7bce73acf6f995a4d252610e46ee831a5 Author: Artem Bityutskiy Date: Tue Dec 9 14:41:44 2008 +0200 UBI: document UBI ioctls Update the ioctl-numbers.txt file, add UBI and DVB there (because they use the same ioctl numbers). Signed-off-by: Artem Bityutskiy commit f0752331b89ce79063f765545dd7dd5f49d9a713 Author: Mark Brown Date: Tue Dec 9 12:51:56 2008 +0000 ASoC: Convert WM8900 to allow registration by machine code This makes use of the support for delayed DAI registration to allow the WM8900 I2C device to be registered by general platform/architecture code rather than as part of the ASoC device probe. Signed-off-by: Mark Brown commit 6b05eda6383d89bffc21da654d148733e7839540 Author: Mark Brown Date: Mon Dec 8 19:26:48 2008 +0000 ASoC: Wait for non-AC97 codec DAIs before instantiating This will allow codec drivers to be refactored to allow them to be registered out of line with the ASoC device registration. Signed-off-by: Mark Brown commit 435c5e2588893e3f7aba0bd4de67991bf00b3c9d Author: Mark Brown Date: Thu Dec 4 15:32:53 2008 +0000 ASoC: Initial framework for dynamic card instantiation Use the lists of platforms, platform DAIs and cards to check to see that everything has registered. Since relationships are still specified by direct references to the structures in the drivers and the drivers all register everything at modprobe there should be no practical effect yet. Signed-off-by: Mark Brown commit 18cdae68e7bb24f33883e58f366cde38ea89ba17 Author: David S. Miller Date: Tue Dec 9 04:09:07 2008 -0800 sparc: Commonize memcmp assembler. Signed-off-by: David S. Miller commit 64089b84abfe2f26a864ebd968429302dcb071de Author: Mark Brown Date: Mon Dec 8 19:17:58 2008 +0000 ASoC: Register non-AC97 codec DAIs Currently this is done at module probe time since ASoC ties in codec device probe to the instantiation of the entire ASoC device. Subsequent patches will refactor the codec drivers to handle probing separately. Note that the core does not yet use this information. AC97 is special since the codec is controlled over the AC97 link but we want to give the machine driver a chance to set up the system before trying to instantiate since it may need to do configuration before the AC97 link will operate Signed-off-by: Mark Brown commit 958e792c7c8f06a9e666adb0ed94fff2cf90156f Author: Mark Brown Date: Wed Dec 3 19:58:17 2008 +0000 ASoC: Register platform drivers This is done at modprobe time, mirroring current behaviour, except for mpc5200_psc_i2s where we do registration at the same time as we register with soc-of-simple. Since the core currently ignores registration this has no practical impact. Signed-off-by: Mark Brown commit 12a48a8c0087ba39d926cf1d63938ccbdb9752c3 Author: Mark Brown Date: Wed Dec 3 19:40:30 2008 +0000 ASoC: Add platform registration API ASoC v2 allows platform drivers to instantiate independantly of the overall ASoC card. This API allows drivers to notify the core when they are registered. Signed-off-by: Mark Brown commit 3f4b783cfdebb559814690572041a17bc9744cf3 Author: Mark Brown Date: Wed Dec 3 19:26:35 2008 +0000 ASoC: Register platform DAIs Register all platform DAIs with the core. In line with current behaviour this is done at module probe time rather than when the devices are probed (since currently that only happens as the entire ASoC card is registered except for those drivers that currently implement some kind of hotplug). Since the core currently ignores DAI registration this has no practical effect. Signed-off-by: Mark Brown commit 9115171a6b79b6b4d5c6697f123556b6efc37f1f Author: Mark Brown Date: Sun Nov 30 23:31:24 2008 +0000 ASoC: Add DAI registration API Add API calls to register and unregister DAIs with the core. Currently these APIs are ineffective. Since multiple DAIs for a given device are a common case bulk variants are provided. Signed-off-by: Mark Brown commit c5af3a2e192d333997d1e191f3eba7fd2f869681 Author: Mark Brown Date: Fri Nov 28 13:29:45 2008 +0000 ASoC: Add card registration API ASoC v2 allows cards, codecs and platforms to instantiate separately, with the overall ASoC device only being instantiated once all the required components have registered. As part of backporting Liam's work introduce an initial version of the card registration functions. At present these do nothing active and are internal only, they will be exposed to machine drivers after further backporting. Adding this now allows the datastructures used for dynamic card instantiation to be built up gradually. Signed-off-by: Mark Brown commit ca4513fe06c483bf0111c990059d42f97288605d Author: Peter Ujfalusi Date: Tue Dec 9 12:35:52 2008 +0200 ASoC: TWL4030: Do not alter the Headset output volume on power-up/down There is a separate gain control for the Headset output already. Do not reset the gain to 0 dB at power up. In power-down, there is no need to set the Headset output gain to power-down mode, since if the CODECPDZ is in powered off this setting has no effect. Signed-off-by: Peter Ujfalusi Signed-off-by: Mark Brown commit df339804bbfc118eaca066b95488a2dbacc2e258 Author: Peter Ujfalusi Date: Tue Dec 9 12:35:51 2008 +0200 ASoC: TWL4030: DAPM mapping of the Handsfree outputs Adds DAPM muxing, routing for the Handsfree outputs. Signed-off-by: Peter Ujfalusi Signed-off-by: Mark Brown commit 5152d8c28b95e421b91483ca0df76726e6e6c41e Author: Peter Ujfalusi Date: Tue Dec 9 12:35:50 2008 +0200 ASoC: TWL4030: DAPM mapping of the Carkit outputs Adds DAPM muxing, routing for the Carkit outputs. Signed-off-by: Peter Ujfalusi Signed-off-by: Mark Brown commit dfad21a26f5b3cc379fbec9c5d12b5106dd1f9c5 Author: Peter Ujfalusi Date: Tue Dec 9 12:35:49 2008 +0200 ASoC: TWL4030: DAPM mapping of the Headset outputs Adds DAPM muxing, routing for the Headset outputs. Signed-off-by: Peter Ujfalusi Signed-off-by: Mark Brown commit 2a6f5c5892dcd17c81204fe5e26b92a37d2daafa Author: Peter Ujfalusi Date: Tue Dec 9 12:35:48 2008 +0200 ASoC: TWL4030: DAPM mapping of the PreDriv outputs Adds DAPM muxing, routing for the PreDrive outputs. Signed-off-by: Peter Ujfalusi Signed-off-by: Mark Brown commit 5e98a46449cd028b9b97a8ef2c2448c8f473d6c5 Author: Peter Ujfalusi Date: Tue Dec 9 12:35:47 2008 +0200 ASoC: TWL4030: DAPM mapping of the Earpiece output Adds DAPM muxing, routing for the Earpiece output. Signed-off-by: Peter Ujfalusi Signed-off-by: Mark Brown commit e8ff9c417ad6e8f7ef253e36f9d6e22dc2aa2512 Author: Peter Ujfalusi Date: Tue Dec 9 12:35:46 2008 +0200 ASoC: TWL4030: Add DAPM event handler for output MUX selection DAPM event handler is set to filter out invalid MUX settings for certain outputs. Earpiece: - 0 = Off - 1 = DACL1 - 2 = DACL2 - 3 = *** Invalid *** - 4 = DACR1 PreDriveL/R: - 0 = Off/Off - 1 = DACL1/DACR1 - 2 = DACL2/DACR2 - 3 = *** Invalid/Invalid *** - 4 = DACR2/DACL2 Signed-off-by: Peter Ujfalusi Signed-off-by: Mark Brown commit 44c5587035fbbdd368a3d5d8d11997d43758078a Author: Peter Ujfalusi Date: Tue Dec 9 08:45:44 2008 +0200 ASoC: TWL4030: Add Analog PGA control switch to DAPM Add all four APGA switch to DAPM routing and widgets. Add user control for DA enable for all APGA as normal control. Signed-off-by: Peter Ujfalusi Signed-off-by: Mark Brown commit 53b5047d994edfcafabc0e95bb681ae70d6e8604 Author: Peter Ujfalusi Date: Tue Dec 9 08:45:43 2008 +0200 ASoC: TWL4030: Correct DAPM_DAC with power control Add all four DACs to dapm_widgets with power switch. Signed-off-by: Peter Ujfalusi Signed-off-by: Mark Brown commit 1e641743f055f075ed9a4edd75f1fb1e05669ddc Author: Al Viro Date: Tue Dec 9 09:23:33 2008 +0000 Audit: Log TIOCSTI AUDIT_TTY records currently log all data read by processes marked for TTY input auditing, even if the data was "pushed back" using the TIOCSTI ioctl, not typed by the user. This patch records all TIOCSTI calls to disambiguate the input. It generates one audit message per character pushed back; considering TIOCSTI is used very rarely, this simple solution is probably good enough. (The only program I could find that uses TIOCSTI is mailx/nail in "header editing" mode, e.g. using the ~h escape. mailx is used very rarely, and the escapes are used even rarer.) Signed-Off-By: Miloslav Trmac Signed-off-by: Al Viro Signed-off-by: James Morris commit ae984d72e0632782dd98c3fcf469b9045ad0d449 Author: David S. Miller Date: Tue Dec 9 01:07:09 2008 -0800 sparc: Unify strlen assembler. Use the new asm/asm.h header to help commonize the strlen assembler between 32-bit and 64-bit While we're here, use proper linux/linkage.h macros instead of by-hand stuff. Signed-off-by: David S. Miller commit e19caae7177fcc732ae1b47135e39f577352adb2 Author: David S. Miller Date: Tue Dec 9 01:04:27 2008 -0800 bluetooth: Fix unused var warning properly in rfcomm_sock_ioctl(). As Stephen Rothwell points out, we don't want 'sock' here but rather we really do want 'sk'. This local var is protected by all sorts of bluetooth debugging kconfig vars, but BT_DBG() is just a straight pr_debug() call which is unconditional. pr_debug() evaluates it's args only if either DEBUG or CONFIG_DYNAMIC_PRINTK_DEBUG is defined. Solving this inside of the BT_DBG() macro is non-trivial since it's varargs. And these ifdefs are ugly. So, just mark this 'sk' thing __maybe_unused and kill the ifdefs. Signed-off-by: David S. Miller commit 5c03d590910a6ccddc144b382b0ecdb122c349f3 Author: David S. Miller Date: Tue Dec 9 00:50:13 2008 -0800 sparc: Add asm/asm.h This will contain macros that help share assembler code between the 32-bit and 64-bit platform. Signed-off-by: David S. Miller commit bcb09dc276e706ed6f22813ba774797125f3da0a Author: Brice Goglin Date: Tue Dec 9 00:14:27 2008 -0800 myri10ge: check fragmentation in LRO get_frag_header() Add a fragmentation check to myri10ge's LRO get_frag_header() callback. Signed-off-by: Brice Goglin Signed-off-by: Andrew Gallatin Signed-off-by: David S. Miller commit 6cf1a0f856bcb5423bfb4121b2dfeaa3ba7b1ff2 Author: David S. Miller Date: Tue Dec 9 00:01:53 2008 -0800 bluetooth: Fix rfcomm_sock_ioctl() build failure with debugging enabled. It's 'sock' not 'sk'. Signed-off-by: David S. Miller commit e42130039c85826567d4e4864f2c7492578576cb Author: Alexey Dobriyan Date: Mon Dec 8 23:50:18 2008 -0800 hydra: fix compilation drivers/net/hydra.c:163: error: 'hydra_netdev_ops' undeclared (first use in this function) Signed-off-by: Alexey Dobriyan Signed-off-by: David S. Miller commit 30bc4481de890e97dc001ee123761d89638cbc50 Author: Takashi Iwai Date: Tue Dec 9 08:23:45 2008 +0100 ALSA: Updates about bug-reporting in ALSA-Configuration.txt Updated the information about bug-reporting for HD-audio. Mentioned alsa-info.sh and kernel bugzilla. Removed ALSA BTS address not to flood the unhandled reports any more. Signed-off-by: Takashi Iwai commit 240d367b4e6c6e3c5075e034db14dba60a6f5fa7 Author: Yinghai Lu Date: Mon Dec 8 14:06:17 2008 -0800 sparseirq: fix Alpha build failure Impact: build fix on Alpha -tip testing found this build failure on the Alpha defconfig: /home/mingo/tip/fs/proc/stat.c: In function 'show_stat': /home/mingo/tip/fs/proc/stat.c:48: error: implicit declaration of function 'for_each_irq_desc' /home/mingo/tip/fs/proc/stat.c:48: error: expected ';' before '{' token can not use irq_desc() in stat.c on older architectures. Signed-off-by: Yinghai Lu Signed-off-by: Ingo Molnar commit 580afd76e451deb6772d0507de580fb1df14da6c Author: Chris Mason Date: Mon Dec 8 19:15:39 2008 -0500 Btrfs: Fix compressed checksum fsync log copies The fsync logging code makes sure to onl copy the relevant checksum for each extent based on the file extent pointers it finds. But for compressed extents, it needs to copy the checksum for the entire extent. Signed-off-by: Chris Mason commit 8bf68e4d90c4ad862356679ab616726eee1abf93 Author: David S. Miller Date: Mon Dec 8 16:05:49 2008 -0800 sparc: Kill memcmp_32.S code which has been ifdef'd out for centuries. Signed-off-by: David S. Miller commit 94d6a5f7341ebaff53d4e41cc81fab37f0d9fbed Author: Serge E. Hallyn Date: Mon Dec 8 15:52:21 2008 -0600 user namespaces: document CFS behavior Documented the currently bogus state of support for CFS user groups with user namespaces. In particular, all users in a user namespace should be children of the user which created the user namespace. This is yet to be implemented. Signed-off-by: Serge E. Hallyn Acked-by: Dhaval Giani Signed-off-by: Serge E. Hallyn Signed-off-by: James Morris commit c3027eb5523d6983f12628f3fe13d8a7576db701 Author: Chris Mason Date: Mon Dec 8 16:40:21 2008 -0500 Btrfs: Add inode sequence number for NFS and reserved space in a few structs This adds a sequence number to the btrfs inode that is increased on every update. NFS will be able to use that to detect when an inode has changed, without relying on inaccurate time fields. While we're here, this also: Puts reserved space into the super block and inode Adds a log root transid to the super so we can pick the newest super based on the fsync log as well as the main transaction ID. For now the log root transid is always zero, but that'll get fixed. Adds a starting offset to the dev_item. This will let us do better alignment calculations if we know the start of a partition on the disk. Signed-off-by: Chris Mason commit 934d375bacf9ea8a37fbfff5f3cf1c093f324095 Author: Chris Mason Date: Mon Dec 8 16:43:10 2008 -0500 Btrfs: Use map_private_extent_buffer during generic_bin_search It is possible that generic_bin_search will be called on a tree block that has not been locked. This happens because cache_block_block skips locking on the tree blocks. Since the tree block isn't locked, we aren't allowed to change the extent_buffer->map_token field. Using map_private_extent_buffer avoids any changes to the internal extent buffer fields. Signed-off-by: Chris Mason commit a512bbf855ff0af474257475f2e6da7acd854f52 Author: Yan Zheng Date: Mon Dec 8 16:46:26 2008 -0500 Btrfs: superblock duplication This patch implements superblock duplication. Superblocks are stored at offset 16K, 64M and 256G on every devices. Spaces used by superblocks are preserved by the allocator, which uses a reverse mapping function to find the logical addresses that correspond to superblocks. Thank you, Signed-off-by: Yan Zheng commit d20f7043fa65659136c1a7c3c456eeeb5c6f431f Author: Chris Mason Date: Mon Dec 8 16:58:54 2008 -0500 Btrfs: move data checksumming into a dedicated tree Btrfs stores checksums for each data block. Until now, they have been stored in the subvolume trees, indexed by the inode that is referencing the data block. This means that when we read the inode, we've probably read in at least some checksums as well. But, this has a few problems: * The checksums are indexed by logical offset in the file. When compression is on, this means we have to do the expensive checksumming on the uncompressed data. It would be faster if we could checksum the compressed data instead. * If we implement encryption, we'll be checksumming the plain text and storing that on disk. This is significantly less secure. * For either compression or encryption, we have to get the plain text back before we can verify the checksum as correct. This makes the raid layer balancing and extent moving much more expensive. * It makes the front end caching code more complex, as we have touch the subvolume and inodes as we cache extents. * There is potentitally one copy of the checksum in each subvolume referencing an extent. The solution used here is to store the extent checksums in a dedicated tree. This allows us to index the checksums by phyiscal extent start and length. It means: * The checksum is against the data stored on disk, after any compression or encryption is done. * The checksum is stored in a central location, and can be verified without following back references, or reading inodes. This makes compression significantly faster by reducing the amount of data that needs to be checksummed. It will also allow much faster raid management code in general. The checksums are indexed by a key with a fixed objectid (a magic value in ctree.h) and offset set to the starting byte of the extent. This allows us to copy the checksum items into the fsync log tree directly (or any other tree), without having to invent a second format for them. Signed-off-by: Chris Mason commit 50dd94e017ec39f85c26b6c10ed9fb2d7a7d8042 Author: Ingo Molnar Date: Mon Dec 8 18:47:51 2008 +0100 sparseirq: fix typo in !CONFIG_IO_APIC case Impact: build fix Signed-off-by: Ingo Molnar commit a0a99b227da57f81319dd239bc4de811b0f530ec Author: Peter Zijlstra Date: Mon Dec 8 17:13:02 2008 +0100 hrtimer: removing all ur callback modes, fix > Ingo, this addition fixes the hotplug issue on my machine And because we're all human... Signed-off-by: Peter Zijlstra Signed-off-by: Ingo Molnar commit c35fa3ea1ae8198bd65c2c6e59d9ebd68c115a59 Merge: dcc7461 218d11a Author: David Vrabel Date: Mon Dec 8 16:18:47 2008 +0000 Merge branch 'master' of git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux-2.6 into for-upstream commit e726f5f91effd8944c76475a2688093a03ba0d10 Author: Ingo Molnar Date: Mon Dec 8 16:55:53 2008 +0100 tracing/function-graph-tracer: fix 'flags' variable mismatch this warning: kernel/trace/trace.c: In function ‘trace_vprintk’: kernel/trace/trace.c:3626: warning: ‘flags’ may be used uninitialized in this function shows some confusion about irq_flags / flags use here. We already have irq_flags so remove the extra flags variable. Signed-off-by: Ingo Molnar commit efbe027e95dc13ac343b6130948418d7ead7ddf1 Author: Vaidyanathan Srinivasan Date: Mon Dec 8 20:52:49 2008 +0530 sched: idle_balance() does not call load_balance_newidle() Impact: fix SD_BALANCE_NEWIDLEand broaden its use load_balance_newidle() does not get called if SD_BALANCE_NEWIDLE is set at higher level domain (3-CPU) and not in low level domain (2-MC). pulled_task is initialised to -1 and checked for non-zero which is always true if the lowest level sched_domain does not have SD_BALANCE_NEWIDLE flag set. Signed-off-by: Vaidyanathan Srinivasan Signed-off-by: Ingo Molnar commit 4217458dafaa57d8e26a46f5d05ab8c53cf64191 Author: Hiroshi Shimamoto Date: Fri Dec 5 17:17:09 2008 -0800 x86: signal: change type of paramter for sys_rt_sigreturn() Impact: cleanup on 32-bit Peter pointed this parameter can be changed. Signed-off-by: Hiroshi Shimamoto Signed-off-by: Ingo Molnar commit 380c4b1411ccd6885f92b2c8ceb08433a720f44e Author: Frederic Weisbecker Date: Sat Dec 6 03:43:41 2008 +0100 tracing/function-graph-tracer: append the tracing_graph_flag Impact: Provide a way to pause the function graph tracer As suggested by Steven Rostedt, the previous patch that prevented from spinlock function tracing shouldn't use the raw_spinlock to fix it. It's much better to follow lockdep with normal spinlock, so this patch adds a new flag for each task to make the function graph tracer able to be paused. We also can send an ftrace_printk whithout worrying of the irrelevant traced spinlock during insertion. Signed-off-by: Frederic Weisbecker Signed-off-by: Ingo Molnar commit 8e1b82e0866befaa0b2920be296c6e4c3fc7f422 Author: Frederic Weisbecker Date: Sat Dec 6 03:41:33 2008 +0100 tracing/function-graph-tracer: turn tracing_selftest_running into an int Impact: cleanup Apply some suggestions of Steven Rostedt: _turn tracing_selftest_running into a simple int (no need of an atomic_t) _set it __read_mostly _fix a comment style Signed-off-by: Frederic Weisbecker Signed-off-by: Ingo Molnar commit 8b96f0119818964e4944fd1c423bf6770027d3ac Author: Frederic Weisbecker Date: Sat Dec 6 03:40:00 2008 +0100 tracing/function-graph-tracer: introduce __notrace_funcgraph to filter special functions Impact: trace more functions When the function graph tracer is configured, three more files are not traced to prevent only four functions to be traced. And this impacts the normal function tracer too. arch/x86/kernel/process_64/32.c: I had crashes when I let this file traced. After some debugging, I saw that the "current" task point was changed inside__swtich_to(), ie: "write_pda(pcurrent, next_p);" inside process_64.c Since the tracer store the original return address of the function inside current, we had crashes. Only __switch_to() has to be excluded from tracing. kernel/module.c and kernel/extable.c: Because of a function used internally by the function graph tracer: __kernel_text_address() To let the other functions inside these files to be traced, this patch introduces the __notrace_funcgraph function prefix which is __notrace if function graph tracer is configured and nothing if not. Signed-off-by: Frederic Weisbecker Signed-off-by: Ingo Molnar commit 69b88afa8d114a43a3c0431722b79e31d9920692 Author: Yinghai Lu Date: Fri Dec 5 22:45:50 2008 -0800 x86: clean up get_smp_config() Impact: cleanup reorder exit path in __get_smp_config(). also move two print outs to acpi_process_madt Signed-off-by: Yinghai Lu Signed-off-by: Ingo Molnar commit aa9c9b8c584a42a094202b7e0f63497e888f86a7 Merge: 87f7606 218d11a Author: Ingo Molnar Date: Mon Dec 8 15:07:49 2008 +0100 Merge branch 'linus' into x86/quirks commit 3145e941fcfe2548fa2270afb1a05bab3a6bc418 Author: Yinghai Lu Date: Fri Dec 5 18:58:34 2008 -0800 x86, MSI: pass irq_cfg and irq_desc Impact: simplify code Pass irq_desc and cfg around, instead of raw IRQ numbers - this way we dont have to look it up again and again. Signed-off-by: Yinghai Lu Signed-off-by: Ingo Molnar commit be5d5350a937cd8513b258739f1099420129e96f Author: Yinghai Lu Date: Fri Dec 5 18:58:33 2008 -0800 x86: MSI start irq numbering from nr_irqs_gsi Impact: sanitize MSI irq number ordering from top-down to bottom-up Increase new MSI IRQs starting from nr_irqs_gsi (which is somewhere below 256), instead of decreasing from NR_IRQS. (The latter method can result in confusingly high IRQ numbers - if NR_CPUS is set to a high value and NR_IRQS scales up to a high value.) Signed-off-by: Yinghai Lu Signed-off-by: Ingo Molnar commit 99d093d12897562a253540a902bbf65ec16042ac Author: Yinghai Lu Date: Fri Dec 5 18:58:32 2008 -0800 x86: use NR_IRQS_LEGACY Impact: cleanup Introduce NR_IRQS_LEGACY instead of hard coded number. Signed-off-by: Yinghai Lu Signed-off-by: Ingo Molnar commit 0b8f1efad30bd58f89961b82dfe68b9edf8fd2ac Author: Yinghai Lu Date: Fri Dec 5 18:58:31 2008 -0800 sparse irq_desc[] array: core kernel and x86 changes Impact: new feature Problem on distro kernels: irq_desc[NR_IRQS] takes megabytes of RAM with NR_CPUS set to large values. The goal is to be able to scale up to much larger NR_IRQS value without impacting the (important) common case. To solve this, we generalize irq_desc[NR_IRQS] to an (optional) array of irq_desc pointers. When CONFIG_SPARSE_IRQ=y is used, we use kzalloc_node to get irq_desc, this also makes the IRQ descriptors NUMA-local (to the site that calls request_irq()). This gets rid of the irq_cfg[] static array on x86 as well: irq_cfg now uses desc->chip_data for x86 to store irq_cfg. Signed-off-by: Yinghai Lu Signed-off-by: Ingo Molnar commit 361b73d5c34f59c3fd107bb9dbe7a1fbff2c2517 Author: Lai Jiangshan Date: Mon Dec 8 10:58:08 2008 +0800 ring_buffer: fix comments Impact: comments cleanup fix incorrect comments for enum ring_buffer_type Signed-off-by: Lai Jiangshan Signed-off-by: Ingo Molnar commit 5436499e6098759c2340f8b906ea52f993dc4efb Author: Ken Chen Date: Sun Dec 7 18:47:37 2008 -0800 sched: fix sd_parent_degenerate on non-numa smp machine Impact: optimize the sched domains tree some more The addition of SD_SERIALIZE flag added to SD_NODE_INIT prevented top level dummy numa sched_domain to be properly degenerated on non-numa smp machine. The reason is that in sd_parent_degenerate(), it found that the child and parent does not have comon sched_domain flags due to SD_SERIALIZE. However, for non-numa smp box, the top level is a dummy with a single sched_group. Filter out SD_SERIALIZE if it is on non-numa machine to properly degenerate top level node sched_domain. this will cut back some of the sd domain walk in the load balancer code. Signed-off-by: Ken Chen Acked-by: Peter Zijlstra Signed-off-by: Ingo Molnar commit 4d117c5c6b00254e51c61ff5b506ccaba21a5a03 Merge: 6c415b9 4371453 Author: Ingo Molnar Date: Mon Dec 8 13:52:00 2008 +0100 Merge branch 'sched/urgent' into sched/core commit 3e1e9002aa8b32bd4c95ac6c8fad376b7a8127fb Author: Rafael J. Wysocki Date: Mon Dec 8 00:50:22 2008 +0100 x86: change static allocation of trampoline area Impact: fix trampoline sizing bug, save space While debugging a suspend-to-RAM related issue it occured to me that if the trampoline code had grown past 4 KB, we would have been allocating too little memory for it, since the 4 KB size of the trampoline is hardcoded into arch/x86/kernel/e820.c . Change that by making the kernel compute the trampoline size and allocate as much memory as necessary. Signed-off-by: Rafael J. Wysocki Signed-off-by: Ingo Molnar commit decbec3838d10ecd7aabdb4c0e05aac0e5f5dc0c Author: Frederic Weisbecker Date: Mon Dec 8 01:56:06 2008 +0100 tracing/function-graph-tracer: implement a print_headers function Impact: provide trace headers to explain a bit the output This patch implements the print_headers callback for the function graph tracer. These headers are output according to the current trace options. Signed-off-by: Frederic Weisbecker Acked-by: Steven Rostedt Signed-off-by: Ingo Molnar commit bf60862a58f7cd881cfe86a3b2aceaea4a22b3b0 Author: Artem Bityutskiy Date: Mon Dec 8 13:37:48 2008 +0200 MTD: tests: add mtd_subpagetest This tests makes sure sub-pages on NAND MTD device work fine. Signed-off-by: Artem Bityutskiy commit 7163cea15f7b362795b858e7c130cd617aecc0aa Author: Artem Bityutskiy Date: Mon Dec 8 13:36:47 2008 +0200 MTD: tests: add mtd_stresstest This test just performs random operations on random eraseblocks. Signed-off-by: Artem Bityutskiy commit 72069be936028ff236a6f783cb9a57abc5da7f41 Author: Artem Bityutskiy Date: Mon Dec 8 13:36:18 2008 +0200 MTD: tests: add mtd_speedtest This test examines I/O speed of the flash device. Signed-off-by: Artem Bityutskiy commit 72091b6889c6dc9a8303887389c44008f657dde7 Author: Artem Bityutskiy Date: Mon Dec 8 13:34:59 2008 +0200 MTD: tests: add mtd_readtest A simple tests which reads whole MTD device one page at a time. Signed-off-by: Artem Bityutskiy commit e73f217439c7f3e49f9c0048bd04cb77ba656e66 Author: Artem Bityutskiy Date: Mon Dec 8 13:34:16 2008 +0200 MTD: tests: add mtd_pagetest This test checks that NAND pages read/write work fine. Signed-off-by: Artem Bityutskiy commit e3644da7563d844e94b186a468e480c5575a6572 Author: Artem Bityutskiy Date: Mon Dec 8 13:33:29 2008 +0200 MTD: tests: add mtd_oobtest This test checks that OOB of a NAND MTD device works fine. Signed-off-by: Artem Bityutskiy commit 5e03c54eeb016cf1b066e9e48d30116814ca2459 Author: Takashi Iwai Date: Mon Dec 8 12:40:56 2008 +0100 ALSA: hrtimer - Use hard-irq callback Use the hard-irq mode for the callback (for possible removal of soft-irq mode in future). Signed-off-by: Takashi Iwai commit 647808a6b932d85c3e85df6dcf0e34c1e53cc953 Author: Takashi Iwai Date: Mon Dec 8 12:16:58 2008 +0100 ALSA: timer - Add comments and use ns_to_ktime() Add the license and misc comments at the beginning of the code. Also, use ns_to_ktime() for simplification. Signed-off-by: Takashi Iwai commit 6fdd34d43bff8be9bb925b49d87a0ee144d2ab07 Author: Gerrit Renker Date: Mon Dec 8 01:19:06 2008 -0800 dccp ccid-2: Phase out the use of boolean Ack Vector sysctl This removes the use of the sysctl and the minisock variable for the Send Ack Vector feature, as it now is handled fully dynamically via feature negotiation (i.e. when CCID-2 is enabled, Ack Vectors are automatically enabled as per RFC 4341, 4.). Using a sysctl in parallel to this implementation would open the door to crashes, since much of the code relies on tests of the boolean minisock / sysctl variable. Thus, this patch replaces all tests of type if (dccp_msk(sk)->dccpms_send_ack_vector) /* ... */ with if (dp->dccps_hc_rx_ackvec != NULL) /* ... */ The dccps_hc_rx_ackvec is allocated by the dccp_hdlr_ackvec() when feature negotiation concluded that Ack Vectors are to be used on the half-connection. Otherwise, it is NULL (due to dccp_init_sock/dccp_create_openreq_child), so that the test is a valid one. The activation handler for Ack Vectors is called as soon as the feature negotiation has concluded at the * server when the Ack marking the transition RESPOND => OPEN arrives; * client after it has sent its ACK, marking the transition REQUEST => PARTOPEN. Adding the sequence number of the Response packet to the Ack Vector has been removed, since (a) connection establishment implies that the Response has been received; (b) the CCIDs only look at packets received in the (PART)OPEN state, i.e. this entry will always be ignored; (c) it can not be used for anything useful - to detect loss for instance, only packets received after the loss can serve as pseudo-dupacks. There was a FIXME to change the error code when dccp_ackvec_add() fails. I removed this after finding out that: * the check whether ackno < ISN is already made earlier, * this Response is likely the 1st packet with an Ackno that the client gets, * so when dccp_ackvec_add() fails, the reason is likely not a packet error. Signed-off-by: Gerrit Renker Acked-by: Ian McDonald Signed-off-by: David S. Miller commit 4098dce5be537a157eed4a326efd464109825b8b Author: Gerrit Renker Date: Mon Dec 8 01:18:37 2008 -0800 dccp: Remove manual influence on NDP Count feature Updating the NDP count feature is handled automatically now: * for CCID-2 it is disabled, since the code does not use NDP counts; * for CCID-3 it is enabled, as NDP counts are used to determine loss lengths. Allowing the user to change NDP values leads to unpredictable and failing behaviour, since it is then possible to disable NDP counts even when they are needed (e.g. in CCID-3). This means that only those user settings are sensible that agree with the values for Send NDP Count implied by the choice of CCID. But those settings are already activated by the feature negotiation (CCID dependency tracking), hence this form of support is redundant. At startup the initialisation of the NDP count feature uses the default value of 0, which is done implicitly by the zeroing-out of the socket when it is allocated. If the choice of CCID or feature negotiation enables NDP count, this will then be updated via the NDP activation handler. Signed-off-by: Gerrit Renker Acked-by: Ian McDonald Signed-off-by: David S. Miller commit 0049bab5e765aa74cf767a834fa336e19453fc5e Author: Gerrit Renker Date: Mon Dec 8 01:18:05 2008 -0800 dccp: Remove obsolete parts of the old CCID interface The TX/RX CCIDs of the minisock are now redundant: similar to the Ack Vector case, their value equals initially that of the sysctl, but at the end of feature negotiation may be something different. The old interface removed by this patch thus has been replaced by the newer interface to dynamically query the currently loaded CCIDs. Also removed are the constructors for the TX CCID and the RX CCID, since the switch "rx <-> non-rx" is done by the handler in minisocks.c (and the handler is the only place in the code where CCIDs are loaded). Signed-off-by: Gerrit Renker Acked-by: Ian McDonald Signed-off-by: David S. Miller commit 63b8e2861f31868dce9c92fd7444f212a5a8a775 Author: Gerrit Renker Date: Mon Dec 8 01:17:32 2008 -0800 dccp: Clean up old feature-negotiation infrastructure The code removed by this patch is no longer referenced or used, the added lines update documentation and copyrights. Signed-off-by: Gerrit Renker Acked-by: Ian McDonald Signed-off-by: David S. Miller commit 991d927c8652b2ab51bd8eef2b773bb2c77d457b Author: Gerrit Renker Date: Mon Dec 8 01:16:27 2008 -0800 dccp: Integration of dynamic feature activation - part 3 (client side) This integrates feature-activation in the client: 1. When dccp_parse_options() fails, the reset code is already set; request_sent\ _state_process() currently overrides this with `Packet Error', which is not intended - changed to use the reset code supplied by dccp_parse_options(). 2. When feature negotiation fails, the socket should be marked as not usable, so that the application is notified that an error occurred. This is achieved by a new label 'unable_to_proceed': generating an error code of `Aborted', setting the socket state to CLOSED, returning with ECOMM in sk_err. 3. Avoids parsing the Ack twice in Respond state by not doing option processing again in dccp_rcv_respond_partopen_state_process (as option processing has already been done on the request_sock in dccp_check_req). Since this addresses congestion-control initialisation, a corresponding FIXME has been removed. Signed-off-by: Gerrit Renker Acked-by: Ian McDonald Signed-off-by: David S. Miller commit 192b27ff35bad4cf76cc4239419e9f805935e4f8 Author: Gerrit Renker Date: Mon Dec 8 01:15:55 2008 -0800 dccp: Integration of dynamic feature activation - part 2 (server side) This patch integrates the activation of features at the end of negotiation into the server-side code. Note regarding the removal of 'const': -------------------------------------- The 'const' attribute has been removed from 'dreq' since dccp_activate_values() needs to operate on dreq's feature list. Part of the activation is to remove those options from the list that have already been confirmed, hence it is not purely read-only. Signed-off-by: Gerrit Renker Acked-by: Ian McDonald Signed-off-by: David S. Miller commit 6eb55d172b5f6de65afdae6285f8d732e4785bf7 Author: Gerrit Renker Date: Mon Dec 8 01:15:26 2008 -0800 dccp: Integration of dynamic feature activation - part 1 (socket setup) This first patch out of three replaces the hardcoded default settings with initialisation code for the dynamic feature negotiation. The patch also ensures that the client feature-negotiation queue is flushed only when entering the OPEN state. Since confirmed Change options are removed as soon as they are confirmed (in the DCCP-Response), this ensures that Confirm options are retransmitted. Note on retransmitting Confirm options: --------------------------------------- Implementation experience showed that it is necessary to retransmit Confirm options. Thanks to Leandro Melo de Sales who reported a bug in an earlier revision of the patch set, resulting from not retransmitting these options. As long as the client is in PARTOPEN, it needs to retransmit the Confirm options for the Change options received on the DCCP-Response from the server. Otherwise, if the packet containing the Confirm options gets dropped in the network, the connection aborts due to undefined feature negotiation state. Signed-off-by: Gerrit Renker Acked-by: Ian McDonald Signed-off-by: David S. Miller commit b74ca3a896b9ab5f952bc440154758e708c48884 Author: Wang Chen Date: Mon Dec 8 01:14:16 2008 -0800 netdevice: Kill netdev->priv This is the last shoot of this series. After I removing all directly reference of netdev->priv, I am killing "priv" of "struct net_device" and fixing relative comments/docs. Anyone will not be allowed to reference netdev->priv directly. If you want to reference the memory of private data, use netdev_priv() instead. If the private data is not allocted when alloc_netdev(), use netdev->ml_priv to point that memory after you creating that private data. Signed-off-by: Wang Chen Signed-off-by: David S. Miller commit 5a001a070e032bea1be563b13ebf9819cd5e54d4 Author: Wang Chen Date: Mon Dec 8 01:13:25 2008 -0800 staging-winbond: Kill directly reference of netdev->priv This driver is not yet finished. At this time, we don't know how netdev be created and how private data be allocated. So, simply use netdev_priv() now and leave some temp comment. Compile test only. Signed-off-by: Wang Chen Signed-off-by: David S. Miller commit 8e757281defc3e45df0df8e4610f57e8ebfd7f5f Author: Rusty Russell Date: Mon Dec 8 01:10:08 2008 -0800 sparc: replace for_each_cpu_mask_nr with for_each_cpu Simple replacement, now the _nr is redundant. Signed-off-by: Rusty Russell Signed-off-by: Mike Travis Signed-off-by: David S. Miller commit 81265fd93bc40c7c43fd36796571786ae3df00e0 Author: Sam Ravnborg Date: Mon Dec 8 01:08:24 2008 -0800 sparc: fix sparse warnings in irq_32.c Fix following sparse warnings: symbol 'static_irqaction' was not declared. Should it be static? symbol 'static_irq_count' was not declared. Should it be static? symbol 'irq_action_lock' was not declared. Should it be static? symbol 'unexpected_irq' was not declared. Should it be static? symbol 'handler_irq' was not declared. Should it be static? returning void-valued expression returning void-valued expression returning void-valued expression symbol 'init_IRQ' was not declared. Should it be static? Warnings were fixed by addding proper declarations and fixing return path of a few functions. There remains several warnings all related to the floppy driver. Signed-off-by: Sam Ravnborg Signed-off-by: David S. Miller commit 7105de84f1cb5ef640bfe4b8b137837c346caab5 Author: Sam Ravnborg Date: Mon Dec 8 01:07:47 2008 -0800 sparc: add include guards to kernel.h Signed-off-by: Sam Ravnborg Signed-off-by: David S. Miller commit 8d74e32a537e8dbb22a1d5e9005d11111dab979a Author: Sam Ravnborg Date: Mon Dec 8 01:04:59 2008 -0800 sparc: fix sparse warnings in traps_32.c o add decalrations to entry.h for functions only used from assembler o add declaratiosn to kernel.h for functions only used from .c o removed unused functions/extern declarations Signed-off-by: Sam Ravnborg Signed-off-by: David S. Miller commit 85bfbf44c37e403d4fcbcd630b3ca2377b156485 Author: Sam Ravnborg Date: Mon Dec 8 01:02:55 2008 -0800 sparc: fix trivial style issues in kernel/pmc.c o drop trailing whitespaces o align a fix things properly Signed-off-by: Sam Ravnborg Signed-off-by: David S. Miller commit 39f6649b61536138fd16188c1a8dd30795a3696a Author: Sam Ravnborg Date: Mon Dec 8 01:02:23 2008 -0800 sparc: fix sparse warning in kernel/pmc.c Fix following warning: arch/sparc/kernel/pmc.c:41:6: warning: symbol 'pmc_swift_idle' was not declared. Should it be static? It was not used outside this file - make it static Signed-off-by: Sam Ravnborg Signed-off-by: David S. Miller commit efe6c3dd8b7df809d46fb521eb9af471c47ed608 Author: Robert Reif Date: Mon Dec 8 00:59:17 2008 -0800 sparc: Use sparc64 version of prom/printf.c Use sparc64 version of prom/printf.c. The only differences for sparc32 is that prom_printf is no longer exported for modules which should be OK. Signed-off-by: Robert Reif Signed-off-by: David S. Miller commit 89b409f77017171c55e79628eefc557126c8fd7f Author: David S. Miller Date: Mon Dec 8 01:00:08 2008 -0800 cyber2000fb: Kill the one modular sparc prom_printf call. Noticed by Robert Reif and Sam Ravnborg. Signed-off-by: David S. Miller commit 9f6c708e5cbf57ee31f6ddaa2cd0262087271b95 Author: Nick Andrew Date: Fri Dec 5 14:08:08 2008 +1100 slub: Fix incorrect use of loose It should be 'lose', not 'loose'. Signed-off-by: Nick Andrew Signed-off-by: Pekka Enberg commit 7657d90497f98426af17f0ac633a9b335bb7a8fb Author: Serge E. Hallyn Date: Wed Dec 3 13:17:33 2008 -0600 user namespaces: require cap_set{ug}id for CLONE_NEWUSER While ideally CLONE_NEWUSER will eventually require no privilege, the required permission checks are currently not there. As a result, CLONE_NEWUSER has the same effect as a setuid(0)+setgroups(1,"0"). While we already require CAP_SYS_ADMIN, requiring CAP_SETUID and CAP_SETGID seems appropriate. Signed-off-by: Serge E. Hallyn Acked-by: "Eric W. Biederman" Signed-off-by: James Morris commit c37bbb0fdcc01610fd55604eb6927210a1d20044 Author: Serge E. Hallyn Date: Wed Dec 3 13:17:06 2008 -0600 user namespaces: let user_ns be cloned with fairsched (These two patches are in the next-unacked branch of git://git.kernel.org/pub/scm/linux/kernel/git/sergeh/userns-2.6. If they get some ACKs, then I hope to feed this into security-next. After these two, I think we're ready to tackle userns+capabilities) Fairsched creates a per-uid directory under /sys/kernel/uids/. So when you clone(CLONE_NEWUSER), it tries to create /sys/kernel/uids/0, which already exists, and you get back -ENOMEM. This was supposed to be fixed by sysfs tagging, but that was postponed (ok, rejected until sysfs locking is fixed). So, just as with network namespaces, we just don't create those directories for user namespaces other than the init. Signed-off-by: Serge E. Hallyn Signed-off-by: James Morris commit 32e176c14d7a425b681ef003c9061001ddb7fc7b Author: Rafael J. Wysocki Date: Sat Dec 6 15:09:08 2008 +0100 Sound: hda - Restore PCI configuration space with interrupts off Move the restoration of the standard PCI configuration registers in the snd_hda_intel driver to a ->resume_early() callback executed with interrupts disabled, since doing that with interrupts enabled may lead to problems in some cases. This patch addresses the regression from 2.6.26 tracked as http://bugzilla.kernel.org/show_bug.cgi?id=12121 . Signed-off-by: Rafael J. Wysocki Signed-off-by: Takashi Iwai commit 680e58f809fee29cb81b15ec44fedc09aabaa698 Author: Sam Ravnborg Date: Sun Dec 7 00:50:29 2008 -0800 sparc: unify kernel/idprom.c o in sparc32 variant removed prom_halt in warning situations o ifdef out sparc32 specific code Signed-off-by: Sam Ravnborg Signed-off-by: David S. Miller commit 7d3a70012005a9bcaebb5f44d5546376b9c6daa9 Author: Sam Ravnborg Date: Sun Dec 7 00:49:53 2008 -0800 sparc: idprom_32.c cleanup o Use C99 initializer for struct members o fix code style issues o Add KERN_WARNING to all printk o Update prints to match sparc64 Signed-off-by: Sam Ravnborg Signed-off-by: David S. Miller commit bf944c370ab181ada51c0754a2d13ae8543b149a Author: David S. Miller Date: Sun Dec 7 00:46:33 2008 -0800 sparc: Restore irq_trans_init() call in prom_create_node(). This broke sparc64 in various ways. Add an empty dummy hook in sparc32's prom_32.c so that we can potentially handle things on that side similarly, and in particular avoid a prom_common.c ifdef :-) Signed-off-by: David S. Miller commit d34dd82905fb8e1117b67ab6c32989f88cfa0ba8 Author: Sam Ravnborg Date: Sun Dec 7 00:04:30 2008 -0800 sparc: unify kernel/cpu o use cpu_32.c as base o move all sparc64 definitions to the common cpu.c o use ifdef for the parts that differs and use cpu_32 as base o spitfire.h required a CONFIG_SPARC64 guard to fix build on 32 bit Signed-off-by: Sam Ravnborg Signed-off-by: David S. Miller commit 2bf05fa03ea10e7dcfd38cc8643bbb29c3ad6f9e Author: Sam Ravnborg Date: Sun Dec 7 00:03:26 2008 -0800 sparc: expand cpu table Prepare cputable to include sparc64 versions Declare it __initconst so it can be dropped after init Signed-off-by: Sam Ravnborg Signed-off-by: David S. Miller commit 53ae341926b1238af3170f2f306f52a22430776c Author: Sam Ravnborg Date: Sun Dec 7 00:02:08 2008 -0800 sparc: fix sparse warnings in cpu_*.c o declare variables from cpu_*.c o declare function from cpu_32.c To do this introduce a new header "kernel.h" which is local to kernel/ Signed-off-by: Sam Ravnborg Signed-off-by: David S. Miller commit 4bcd42679643dd3dfd6aaad9fcbcc74ac5c7e2e9 Author: Wang Chen Date: Sat Dec 6 23:59:10 2008 -0800 staging-slicoss: Kill directly reference of netdev->priv Simply replace netdev->priv with netdev_priv(). Signed-off-by: Wang Chen Acked-by: Greg Kroah-Hartman Signed-off-by: David S. Miller commit 979123d5343b4fdcd4c682745b8a0be9b8fac248 Author: Wang Chen Date: Sat Dec 6 23:58:37 2008 -0800 staging-p80211: Kill directly reference of netdev->priv In this driver, netdev's private data is wlandevice_t. And the wlandev(type of wlandevice_t) is exist before netdev be allocated. So use netdev->ml_priv to point to the private data. I am not sure whether I should consider the kernel version older than 2.3.38. Because in those kernels, netdevice_t is "structure dev" instead of "structure net_device" and of course "dev->ml_priv" will cause compile error. But before my patch, in function wlan_setup(), there is a ether_setup(net_device) which already broke kernels which older than 2.3.38. Signed-off-by: Wang Chen Acked-by: Greg Kroah-Hartman Signed-off-by: David S. Miller commit ad660e2f97e7dc9d0f5627456b37e64bde714a5e Author: Wang Chen Date: Sat Dec 6 23:57:49 2008 -0800 s390_net: Kill directly reference of netdev->priv The private data comes from ccwgroup_device. So just don't allocate private data memory when do alloc_netdev() and use netdev->ml_priv to reference private data. Signed-off-by: Wang Chen Signed-off-by: David S. Miller commit 26aca5ec9e587562ac0f8c5b67d02567d7bf2ffe Author: Nick Andrew Date: Sat Dec 6 23:57:14 2008 -0800 net: Fix incorrect use of loose in spider_net.c Fix incorrect use of loose in spider_net.c It should be 'lose', not 'loose'. Signed-off-by: Nick Andrew Signed-off-by: David S. Miller commit 6c5cc8e0516005cb9a8f940276fac7614f7acf5c Author: Nick Andrew Date: Sat Dec 6 23:55:32 2008 -0800 wireless: Fix incorrect use of loose in wext.c Fix incorrect use of loose in wext.c It should be 'lose', not 'loose'. Signed-off-by: Nick Andrew Signed-off-by: David S. Miller commit a2acde07711f7d8b19928245c555bce60f91482a Author: Ilpo Järvinen Date: Fri Dec 5 22:49:37 2008 -0800 tcp: fix tso_should_defer in 64bit Since jiffies is unsigned long, the types get expanded into that and after long enough time the difference will therefore always be > 1 (and that probably happens near boot as well as iirc the first jiffies wrap is scheduler close after boot to find out problems related to that early). This was originally noted by Bill Fink in Dec'07 but nobody never ended fixing it. Signed-off-by: Ilpo Järvinen Signed-off-by: David S. Miller commit d5dd9175bc12015ea4d2c1a9b6b15dfa645a3db9 Author: Ilpo Järvinen Date: Fri Dec 5 22:48:55 2008 -0800 tcp: use tcp_write_xmit also in tcp_push_one tcp_minshall_update is not significant difference since it only checks for not full-sized skb which is BUG'ed on the push_one path anyway. tcp_snd_test is tcp_nagle_test+tcp_cwnd_test+tcp_snd_wnd_test, just the order changed slightly. net/ipv4/tcp_output.c: tcp_snd_test | -89 tcp_mss_split_point | -91 tcp_may_send_now | +53 tcp_cwnd_validate | -98 tso_fragment | -239 __tcp_push_pending_frames | -1340 tcp_push_one | -146 7 functions changed, 53 bytes added, 2003 bytes removed, diff: -1950 net/ipv4/tcp_output.c: tcp_write_xmit | +1772 1 function changed, 1772 bytes added, diff: +1772 tcp_output.o.new: 8 functions changed, 1825 bytes added, 2003 bytes removed, diff: -178 Signed-off-by: Ilpo Järvinen Signed-off-by: David S. Miller commit 730c30ec646bd252a9448a66ecd51d794853513f Merge: 726e07a 0a0755c Author: David S. Miller Date: Fri Dec 5 22:54:40 2008 -0800 Merge branch 'master' of master.kernel.org:/pub/scm/linux/kernel/git/davem/net-2.6 Conflicts: drivers/net/wireless/iwlwifi/iwl-core.c drivers/net/wireless/iwlwifi/iwl-sta.c commit 726e07a8a38168266ac95d87736f9501a2d9e7b2 Author: Ilpo Järvinen Date: Fri Dec 5 22:43:56 2008 -0800 tcp: move some parts from tcp_write_xmit Signed-off-by: Ilpo Järvinen Signed-off-by: David S. Miller commit 41834b7332a1ad3f7b6e8bbd83e6ce63586f0b07 Author: Ilpo Järvinen Date: Fri Dec 5 22:43:26 2008 -0800 tcp: share code through function, not through copy-paste. :-) Signed-off-by: Ilpo Järvinen Signed-off-by: David S. Miller commit ee6aac59505bcae5de1422c76956de62ac22170d Author: Ilpo Järvinen Date: Fri Dec 5 22:43:08 2008 -0800 tcp: drop tcp_bound_rto, merge content of it tcp_set_rto Both are called by the same sites. Signed-off-by: Ilpo Järvinen Signed-off-by: David S. Miller commit 50133161a83c9e5974d430cabd77d6430ca7d579 Author: Ilpo Järvinen Date: Fri Dec 5 22:42:41 2008 -0800 tcp: no need to pass prev skb around, reduces arg pressure Signed-off-by: Ilpo Järvinen Signed-off-by: David S. Miller commit a1197f5a6faa23e5d0c1f8ed97b011deb2a75457 Author: Ilpo Järvinen Date: Fri Dec 5 22:42:22 2008 -0800 tcp: introduce struct tcp_sacktag_state to reduce arg pressure There are just too many args to some sacktag functions. This idea was first proposed by David S. Miller around a year ago, and the current situation is much worse that what it was back then. tcp_sacktag_one can be made a bit simpler by returning the new sacked (it can be achieved with a single variable though the previous code "caching" sacked into a local variable and therefore it is not exactly equal but the results will be the same). codiff on x86_64 tcp_sacktag_one | -15 tcp_shifted_skb | -50 tcp_match_skb_to_sack | -1 tcp_sacktag_walk | -64 tcp_sacktag_write_queue | -59 tcp_urg | +1 tcp_event_data_recv | -1 7 functions changed, 1 bytes added, 190 bytes removed, diff: -189 Signed-off-by: Ilpo Järvinen Signed-off-by: David S. Miller commit 775ffabf77a648d78fe1d20cb3a620e771abb921 Author: Ilpo Järvinen Date: Fri Dec 5 22:41:26 2008 -0800 tcp: make mtu probe failure to not break gso'ed skbs unnecessarily I noticed that since skb->len has nothing to do with actual segment length with gso, we need to figure it out separately, reuse a function from the recent shifting stuff (generalize it). Signed-off-by: Ilpo Järvinen Signed-off-by: David S. Miller commit 9969ca5f205988fb96461075cb4914c55cf166b5 Author: Ilpo Järvinen Date: Fri Dec 5 22:41:06 2008 -0800 tcp: Fix thinko making the not-shiftable to cover S|R as well S|R won't result in S if just SACK is received. DSACK is another story (but it is covered correctly already). Signed-off-by: Ilpo Järvinen Signed-off-by: David S. Miller commit f0bc52f38b09308fca85f3aa9300a341364fe9c6 Author: Ilpo Järvinen Date: Fri Dec 5 22:40:47 2008 -0800 tcp: force mss equality with the next skb too. Also make if-goto forest nicer looking. Signed-off-by: Ilpo Järvinen Signed-off-by: David S. Miller commit 61c1d052a3c7d5acba3bd535aaffa5bb5d085181 Author: Ilpo Järvinen Date: Fri Dec 5 22:39:49 2008 -0800 dccp: use roundup instead of opencoding Signed-off-by: Ilpo Järvinen Signed-off-by: David S. Miller commit d2b88814c6a63e4018cd299826907a12068ffdb7 Author: Alan Cox Date: Fri Dec 5 22:32:22 2008 -0800 tty: driverdata and discdata are void * Remove all the extra casting while we are cleaning up Signed-off-by: Alan Cox Signed-off-by: David S. Miller commit 8a1ec21e6c856b996cffcd4b33f037f6748a3ab4 Author: Alan Cox Date: Fri Dec 5 22:31:52 2008 -0800 tty: Flags should be accessed via the foo_bit interfaces We have various drivers that poke around directly and we need to clean this up before it causes problems. Signed-off-by: Alan Cox Signed-off-by: David S. Miller commit 098401a600b6344771900fe164c5eafb668ce99c Merge: cb7b48f c112d0c Author: David S. Miller Date: Fri Dec 5 22:23:34 2008 -0800 Merge branch 'master' of git://git.kernel.org/pub/scm/linux/kernel/git/linville/wireless-next-2.6 commit 7e7e93a22851f7bf0cbb7cd70878ebd811e4a044 Author: David S. Miller Date: Fri Dec 5 22:18:40 2008 -0800 sparc: Always set AUDIT_ARCH, not just on sparc64. Without fancy makefile rules it's not straightforward to prevent both arch/sparc/kernel/audit.o and lib/audit.o from both being used on sparc32. Since arch/sparc/kernel/audit.c is identical to lib/audit.c except some CONFIG_COMPAT protected sections of code, just use it on sparc32 too as that's the simplest way to fix this. Signed-off-by: David S. Miller commit 6c6bd8b61d0c8ead18caaafb3490552565efbb64 Author: Sam Ravnborg Date: Fri Dec 5 19:08:22 2008 -0800 sparc: report "Unknown CPU/FPU" for unknown cpu/fpu If we cannot determine the CPU or FPU report "Unknown CPU" or "Unknown FPU" like sparc64 does. And report with KERN_ERR that we cannot determine the CPU. Signed-off-by: Sam Ravnborg Signed-off-by: David S. Miller commit 8a563f016049bcdc9b0de0c8622afcf04b860e5e Author: Sam Ravnborg Date: Fri Dec 5 19:07:35 2008 -0800 sparc: beautify kernel/cpu_32.c Fixed style issues Use C99 struct assignments Use KERN_DEBUG for printk Signed-off-by: Sam Ravnborg Signed-off-by: David S. Miller commit ad07aed8ca2023bcfe224a5e3e55bafec2c741d0 Author: David S. Miller Date: Fri Dec 5 15:20:26 2008 -0800 sparc: Move of_console_{device,path,options} info prom_common.c Signed-off-by: David S. Miller commit 23dc758e47aeb3cc2414c2ec69b7b3e95f447071 Author: David S. Miller Date: Fri Dec 5 18:16:48 2008 -0800 sparc: Move prom_build_devicetree() into prom_common.c To make this work we provide a dummy nop implementation of of_fill_in_cpu_data() for sparc32. Signed-off-by: David S. Miller commit 6524036a1e5736a07466208362d83ddf31aae3ac Author: David S. Miller Date: Fri Dec 5 01:21:41 2008 -0800 sparc: Move core of OF device tree building code into prom_common.c Signed-off-by: David S. Miller commit 4aef8c53fe517542d8185b7d771f291865b49177 Author: David S. Miller Date: Fri Dec 5 01:12:32 2008 -0800 sparc: Match sparc32's build_tree() up to sparc64's Sparc64 uses a non-recursive sibling traversal algorithm that never got propagated into the sparc32 copy of this code. Sync them up. Signed-off-by: David S. Miller commit 7d9439d50b6dadcfdf6d28be2234461709719e14 Author: David S. Miller Date: Fri Dec 5 01:10:18 2008 -0800 sparc: Move create_node() and friends into prom_common.c Signed-off-by: David S. Miller commit 06c0db7221de09cdf1d5dd2ce2780cc3361ad9f9 Author: David S. Miller Date: Fri Dec 5 01:06:52 2008 -0800 sparc: Make sparc32's create_node() assign parent pointer. This makes it match what sparc64's version does. Signed-off-by: David S. Miller commit 59966e3b4e9e6573b352301ad0ceed15196d4e2d Author: David S. Miller Date: Fri Dec 5 17:06:47 2008 -0800 sparc: Commonize get_one_property() implementations. Add final len assignment in sparc64's get_one_property() (it's necessary to avoid unchecked return value warnings on the sparc32 side), and mark name argument const on sparc32's copy. Signed-off-by: David S. Miller commit b9e5567cda6387e0f4061bfceebbc1bd63ee42a6 Author: David S. Miller Date: Fri Dec 5 01:00:46 2008 -0800 sparc: Move property building code into prom_common.c Unfortunately there is some sparc32/sparc64 ifdef'ery in here due to the difference in how the prom_firstprop() and prom_nextprop() routines work. This will be eliminated eventually. Signed-off-by: David S. Miller commit e5ff0fe31d69e716f2599bcfb297ca3757e957c5 Author: David S. Miller Date: Fri Dec 5 00:50:22 2008 -0800 sparc: Move 'unique_id' into prom_common.c and rename to 'prom_unique_id' This will be used in a subsequent changeset. Signed-off-by: David S. Miller commit 5fce09c6f636449d6df971971af1bd4328a21890 Author: David S. Miller Date: Fri Dec 5 00:43:03 2008 -0800 sparc: Move irq_trans_init() and support code into seperate file. All sparc64 specific, so only build this file on sparc64. Signed-off-by: David S. Miller commit efeac2f87609ab25dab329ce16876eb9110b2084 Author: David S. Miller Date: Fri Dec 5 00:40:43 2008 -0800 sparc: Mark prom_early_alloc non-static. A subsequent changeset will use this. Signed-off-by: David S. Miller commit dfa76060be85dd48d3803bc26f6a6d2e93e812f0 Author: David S. Miller Date: Thu Dec 4 20:28:22 2008 -0800 sparc: Create common area for OF device layer code. This is where common code implementations will go as we unify 32-bit and 64-bit OF device tree code. Signed-off-by: David S. Miller commit ab04323e5b8c50d6e8f7f4a3e4118ba5fcba61a1 Author: David S. Miller Date: Fri Dec 5 16:54:44 2008 -0800 sparc: Const'ify prom_*prop*() on sparc32. This brings things in line with sparc64. Signed-off-by: David S. Miller commit 657f201df693c26d294f6c789b8a87cd8c16eb53 Author: David S. Miller Date: Thu Dec 4 20:12:20 2008 -0800 sparc: Create common header file for prom_{32,64}.c This is where common declarations will go as we unify these files as much as possible into common code. Signed-off-by: David S. Miller commit cb7b48f671f9c7582993a6c0ff6e989078048561 Author: Alexander Duyck Date: Fri Dec 5 15:08:03 2008 -0800 igb/e1000e: Naming interrupt vectors Change interrupt vector naming to match recent changes from Robert Olsson. Signed-off-by: Alexander Duyck Acked-by: Bruce Allan Signed-off-by: Jeff Kirsher Signed-off-by: David S. Miller commit 187d9f4ed4fc089f1f25a875fb485e27626972f9 Author: Mike Chan Date: Thu Dec 4 12:19:17 2008 -0800 [CPUFREQ] Fix on resume, now preserves user policy min/max. Previously driver resume would always set the current policy min/max with the cpuinfo min/max, defined by user_policy.min/max. Resulting in a reset of policy settings when policy.min/max != cpuinfo.min/max when coming out of suspend. Now user_policy is saved as the policy instead of cpuinfo to preserve what the user actually set. Signed-off-by: Mike Chan Signed-off-by: Dave Jones commit 8529154ec3f3ac20344c65b7a040c604c7af7651 Author: Herton Ronaldo Krzesinski Date: Sat Nov 15 17:02:46 2008 -0200 [CPUFREQ] Add Celeron Core support to p4-clockmod. Add Celeron Core support to p4-clockmod. Signed-off-by: Herton Ronaldo Krzesinski Signed-off-by: Dave Jones commit c60e19eb21d9a0fb0d78969884f32d88354abca9 Author: Herton Ronaldo Krzesinski Date: Sat Nov 15 17:02:46 2008 -0200 [CPUFREQ] add to speedstep-lib additional fsb values for core processors Add additional fsb values to pentium_core_get_frequency, from latest edition (September 2008) of Intel 64 and IA-32 Architectures Software Develper's Manual, Volume 3B: System Programming Guide, Part 2. Values added are to detect 800, 1067 and 1333 FSB types. Signed-off-by: Herton Ronaldo Krzesinski Signed-off-by: Dave Jones commit e088e4c9cdb618675874becb91b2fd581ee707e6 Author: Matthew Garrett Date: Tue Nov 25 13:29:47 2008 -0500 [CPUFREQ] Disable sysfs ui for p4-clockmod. p4-clockmod has a long history of abuse. It pretends to be a CPU frequency scaling driver, even though it doesn't actually change the CPU frequency, but instead just modulates the frequency with wait-states. The biggest misconception is that when running at the lower 'frequency' p4-clockmod is saving power. This isn't the case, as workloads running slower take longer to complete, preventing the CPU from entering deep C states. However p4-clockmod does have a purpose. It can prevent overheating. Having it hooked up to the cpufreq interfaces is the wrong way to achieve cooling however. It should instead be hooked up to ACPI. This diff introduces a means for a cpufreq driver to register with the cpufreq core, but not present a sysfs interface. Signed-off-by: Matthew Garrett Signed-off-by: Dave Jones commit 10db2e5cbda5b4e13d2e2f134b963bee2e129999 Author: Dominik Brodowski Date: Fri Oct 17 22:52:04 2008 +0200 [CPUFREQ] p4-clockmod: reduce noise On those CPUs which are SpeedStep (EST) capable, we do not care at all if p4-clockmod does not work, since a technically superior CPU frequency management technology is to be used. Signed-off-by: Dominik Brodowski Signed-off-by: Dave Jones commit 9963d1aad40946b1b6d34f9bee8d8a1b9032ae22 Author: Rusty Russell Date: Fri Nov 21 21:07:16 2008 +1030 [CPUFREQ] clean up speedstep-centrino and reduce cpumask_t usage Impact: cleanup 1) The #ifdef CONFIG_HOTPLUG_CPU seems unnecessary these days. 2) The loop can simply skip over offline cpus, rather than creating a tmp mask. 3) set_mask is set to either a single cpu or all online cpus in a policy. Since it's just used for set_cpus_allowed(), any offline cpus in a policy don't matter, so we can just use cpumask_of_cpu() or the policy->cpus. Signed-off-by: Rusty Russell Signed-off-by: Mike Travis Signed-off-by: Dave Jones commit 1c721940ddd6496508f1f2fde5167b1c898b419b Author: Stefan Roscher Date: Fri Dec 5 11:25:38 2008 -0800 IB/ehca: Replace modulus operations in flush error completion path With the latest flush error completion patch we introduced modulus operation to calculate the next index within a qmap. Based on comments from other mailing lists we decided to optimize this operation by using an addition and an if-statement instead of modulus, even though this is on the error path. Signed-off-by: Stefan Roscher Signed-off-by: Roland Dreier commit 3d0890985ac4dff781b7feba19fedda547314749 Author: Dave Olson Date: Fri Dec 5 11:14:38 2008 -0800 IB/ipath: Add locking for interrupt use of ipath_pd contexts vs free Fixes timing race resulting in panic. Not a performance sensitive path. Signed-off-by: Dave Olson Signed-off-by: Roland Dreier commit 1bf7724e093cf3071d943d53bfa4de8b8e50426b Author: Dave Olson Date: Fri Dec 5 11:13:19 2008 -0800 IB/ipath: Fix spi_pioindex value ipath_piobufbase was a single value offset, but is multiple values on newer chips, so use only the 32 bits for the 2K buffers (4K buffers are currently used only by the driver). Signed-off-by: Dave Olson Signed-off-by: Roland Dreier commit 6114d4cd313acbb6e9935c2bee77e368d10c4f04 Author: Dave Olson Date: Fri Dec 5 11:13:19 2008 -0800 IB/ipath: Only do 1X workaround on rev1 chips Signed-off-by: Dave Olson Signed-off-by: Roland Dreier commit 60e845035a066e81af1a29047530088d59150d8b Author: Dave Olson Date: Fri Dec 5 11:13:19 2008 -0800 IB/ipath: Don't count IB symbol and link errors unless link is UP Implement the ignoring of ibsymbol errors and linkrecover errors while the link is at less than INIT (long needed), to get accurate counts. Particularly an issue when doing non-IBTA DDR negotiation with chips from vendors that do not support IBTA mode negotiation. If the driver is unloaded, and there is a delta, the adjusted counters are written back to the chip, so they stay adjusted across driver reload. Signed-off-by: Dave Olson Signed-off-by: Roland Dreier commit 890fccb2427d53b48ab9d009fd87d55bcb173f62 Author: Ralph Campbell Date: Fri Dec 5 11:13:18 2008 -0800 IB/ipath: Check return value of dma_map_single() This fixes an obvious oversight where the return value is not checked for error. Signed-off-by: Ralph Campbell Signed-off-by: Roland Dreier commit fab01fc56063dafcc083f481ac0f9e6b5a576dd6 Author: Ralph Campbell Date: Fri Dec 5 11:13:18 2008 -0800 IB/ipath: Fix PSN of send WQEs after an RDMA read resend The PSN of the first packet after an RDMA read is based on the size of the RDMA read request. This is calculated correctly for the WQE sent after the first request message but not on subsequent requests if the RDMA read is resent. Signed-off-by: Ralph Campbell Signed-off-by: Roland Dreier commit 6098d107499e1335f899bfcb558253fb7ee4f73f Author: Chien Tung Date: Fri Nov 21 20:51:01 2008 -0600 RDMA/nes: Cleanup warnings Wrap NES_DEBUG and assert macros with do while (0) to avoid ambiguous else. No one is using sk_buff * returned from form_cm_frame(), so drop the return. drop_packet() should not be incrementing reset counter on receiving a FIN. Signed-off-by: Chien Tung Signed-off-by: Roland Dreier commit 1ee86555b2ad4d16a3c18253b7e4d70d34eb94f3 Author: Chien Tung Date: Fri Nov 21 20:51:04 2008 -0600 RDMA/nes: Add loopback check to make_cm_node() Check for loopback connection in make_cm_node(). Signed-off-by: Chien Tung Signed-off-by: Roland Dreier commit f3181a10e13ac55e18958d7c48cba6f925c71483 Author: Faisal Latif Date: Fri Nov 21 20:50:55 2008 -0600 RDMA/nes: Check cqp_avail_reqs is empty after locking the list Between the first empty list check and locking the list, the list can change. Check it again after it is locked to make sure the list is still not empty. Signed-off-by: Faisal Latif Signed-off-by: Chien Tung Signed-off-by: Roland Dreier commit abb77256761bc3ee7a21cc28f6f12a938964e83f Author: Faisal Latif Date: Fri Nov 21 20:50:52 2008 -0600 RDMA/nes: Fix TCP compliance test failures ANVL testing showed we are not handling all cm_node states during connection establishment. Add missing state handlers and fix sequence number send reset in handle_tcp_options(). Signed-off-by: Faisal Latif Signed-off-by: Chien Tung Signed-off-by: Roland Dreier commit 4a14f6a79f5110c6033f0c61d77d07c449c2d083 Author: Faisal Latif Date: Fri Nov 21 20:50:49 2008 -0600 RDMA/nes: Forward packets for a new connection with stale APBVT entry Under heavy traffic, there is a small windows when an APBVT entry is not yet removed and a new connection is established. Packets for the new connection are dropped until APBVT entry is removed. This patch will forward the packets instead of dropping them. Signed-off-by: Faisal Latif Signed-off-by: Chien Tung Signed-off-by: Roland Dreier commit 183ecfa3091cd4cdda329a7fe89d9544088f517d Author: Faisal Latif Date: Fri Nov 21 20:50:46 2008 -0600 RDMA/nes: Avoid race between MPA request and reset event to rdma_cm In passive open, after indicating MPA request to rdma_cm, an incoming RST would fire a reset event to rdma_cm causing it to crash, since the current state is not connected. The solution is to wait for nes_accept() or nes_reject() before firing the reset event. If nes_accept() or nes_reject() is already done, then the reset event will be fired when RST is processed. Signed-off-by: Faisal Latif Signed-off-by: Chien Tung Signed-off-by: Roland Dreier commit 879e5bd5a1a0a317fb67fa4dc550db092a7bdcb0 Author: Faisal Latif Date: Fri Nov 21 20:50:41 2008 -0600 RDMA/nes: Lock down connected_nodes list while processing it While processing connected_nodes list, we would release the lock when we need to send reset to remote partner. That created a window where the list can be modified. Change this into a two step process: place nodes that need processing on a local list then process the local list. Signed-off-by: Faisal Latif Signed-off-by: Chien Tung Signed-off-by: Roland Dreier commit c5d321e5c924384cf5b35f6288d69e9237490565 Author: Faisal Latif Date: Fri Nov 21 20:50:38 2008 -0600 RDMA/nes: Cleanup cqp_request list usage Use nes_free_cqp_request() instead of open coding. Change some continue to break in nes_cm_timer_tick, because send_entry used to be a list processed in a loop (so continue went to the next item). Now it is a single item, so using break is correct. Signed-off-by: Faisal Latif Signed-off-by: Chien Tung Signed-off-by: Roland Dreier commit abf681ce5b6f83f0b8883e0f2c12d197a38543dd Author: Robert P. J. Day Date: Mon Feb 18 14:34:46 2008 -0500 kbuild: remove TAR_IGNORE Given that there is no usage of a TAR_IGNORE variable remove it Signed-off-by: Robert P. J. Day Signed-off-by: Sam Ravnborg commit 28a1d869560a49d960ba2a3b450ec965712e5560 Author: Daniel Mack Date: Fri Dec 5 17:31:00 2008 +0100 ASoC: tlv320aic3x: control additions and cleanups - split "Line Playback Switch" into "LineL Playback Switch" and "LineR Playback Switch" - split "Line PGA Bypass Playback Volume" into "LineL Left PGA Bypass Playback Volume" and "LineR Right PGA Bypass Playback Volume" - split "Line Line2 Bypass Playback Volume" into "LineL Line2 Bypass Playback Volume" and "LineR Line2 Bypass Playback Volume" - Added "HP Right PGA Bypass Playback Volume" Signed-off-by: Daniel Mack Signed-off-by: Mark Brown commit 68fb740774a429ecbccd4d8b3287cf4883ad3ec2 Author: Grazvydas Ignotas Date: Thu Dec 4 22:39:54 2008 +0200 ASoC: Add support for OMAP3 Pandora This patch adds basic support for OMAP3 Pandora. Signed-off-by: Grazvydas Ignotas Signed-off-by: Mark Brown commit c112d0c5b89037dd618083b5fdf4bb36b0c51d77 Author: Luis R. Rodriguez Date: Wed Dec 3 03:35:30 2008 -0800 ath9k: Use GFP_ATOMIC when allocating TX private area Using GFP_KERNEL was wrong and produces a 'scheduling while atomic' bug as we're in a tasklet. Also, check for proper return values now, in case allocation fails and be sure to stop the TX queue in case of memory issues but gaurantee the TX queue will eventually be woken up. Signed-off-by: Senthil Balasubramanian Signed-off-by: Sujith Signed-off-by: Luis R. Rodriguez Signed-off-by: John W. Linville commit f8316df10c4e3bec5b4c3a5a8e026c577640c3a6 Author: Luis R. Rodriguez Date: Wed Dec 3 03:35:29 2008 -0800 ath9k: Check for pci_map_single() errors pci_map_single() can fail so detect those errors with pci_dma_mapping_error() and deal with them accordingly. Signed-off-by: Luis R. Rodriguez Signed-off-by: John W. Linville commit 73a5267087b5acd4a4288e0a1b809f09ca578d49 Author: Ivo van Doorn Date: Wed Dec 3 17:30:22 2008 +0100 rt2x00: Correctly initialize AID during set_key() Request the AID from hardware and provide this id to the driver (in case they need it). Signed-off-by: Ivo van Doorn Signed-off-by: John W. Linville commit 9c3444d33e65ade06af82d19522686c1873b953a Author: Ivo van Doorn Date: Wed Dec 3 17:29:48 2008 +0100 rt2x00: Move crypto TX descriptor handling to rt2x00crypto.c Move all code which determines the right TX descriptor fields specific to crypto support into rt2x00crypto.c. This makes the code in rt2x00queue more simpler and better concentrates all crypto code into a single location. With this we can also remove some ifdefs in rt2x00queue.c since the code inside the ifdef is either very small, or only calling empty functions (see empty function definitions in rt2x00lib.h). Signed-off-by: Ivo van Doorn Signed-off-by: John W. Linville commit 1c02667db5eae801b8fc279fdfa618164c0efb6e Author: Ivo van Doorn Date: Wed Dec 3 17:29:21 2008 +0100 rt2x00: Fix check for BSS info changes Fix ERP configuration, due to a too strict changes flags checking we never updated the short slot time or basic rate mask when no other changes were made at the same time. Signed-off-by: Ivo van Doorn Signed-off-by: John W. Linville commit 4c7f0bc266ccccfb0ca397405af13ee3d9e0f6b2 Author: Wu Fengguang Date: Wed Dec 3 00:19:04 2008 -0800 generic swap(): ath9k: rename swap() to swap_array() In preparation for the introduction of a generic swap() macro. Signed-off-by: Wu Fengguang Cc: Sujith Manoharan Cc: Luis R. Rodriguez Cc: Vasanthakumar Thiagarajan Cc: Senthil Balasubramanian Cc: Jouni Malinen Signed-off-by: Andrew Morton Signed-off-by: John W. Linville commit 74415edb042ef9f3b1291f978763687f35aadbb3 Author: Ivo van Doorn Date: Tue Dec 2 22:50:33 2008 +0100 rt2x00: Add RXDONE_CRYPTO_IV/ICV flags Drivers should notify rt2x00lib when they provide the IV/ICV data. This adds some flexibility to drivers which can't provide all information. * rt2500usb provides ICV inside the frame * rt2800pci doesn't provide IV/ICV * rt2800usb doesn't provide IV/ICV Signed-off-by: Ivo van Doorn Signed-off-by: John W. Linville commit 011a03300bdd60782f465b97c3aefd58bfaae316 Author: Abhijeet Kolekar Date: Tue Dec 2 12:14:07 2008 -0800 iwl3945 : Fix a-band association for passive channels Patch does following things 1) This patch fixes the a-band association for passive channels with new uCode feature that it allows direct scan on passive channels after auto-switch from passive to active. This enables sending of direct probes on passive channels, as long as some traffic is detected on that channel. This improves the scanning for hidden SSIDs in A-band,which is all passive channels. This patch fixes the bug no 1748. http://www.intellinuxwireless.org/bugzilla/show_bug.cgi?id=1748 2) This fix will only work with uCode version 15.28.2.8 and above. Prior versions of uCode would work only if we heard the traffic within active dwell time, which is much shorter than passive dwell time and is shorter than typical beacon periods. This patch also provids full active dwell time even if we hear traffic late in passive dwell. 3) uCode API version is incremented to 2. Signed-off-by: Abhijeet Kolekar Signed-off-by: Zhu Yi Acked-by: Ben Cahill Signed-off-by: Reinette Chatre Signed-off-by: John W. Linville commit a0987a8d68c86562f267efa97be01314c490c496 Author: Reinette Chatre Date: Tue Dec 2 12:14:06 2008 -0800 iwlwifi: rely on API version read from firmware This adds the infrastructure to support older firmware APIs. The API version number is stored as part of the filename, we first try to load the most recent firmware and progressively try lower versions. The API version is also read from the firmware self and stored as part of the iwl_priv structure. Only firmware that is supported by driver will be loaded. The version number read from firmware is compared to supported versions in the driver not the API version used as part of filename. An example using this new infrastrucure: if (IWL_UCODE_API(priv->ucode_ver) >= 2) { Driver interacts with Firmware API version >= 2. } else { Driver interacts with Firmware API version 1. } Signed-off-by: Reinette Chatre Signed-off-by: John W. Linville commit c02b3acd29766c6f79c2411cb5b85e1ee72c4c8f Author: Chatre, Reinette Date: Tue Dec 2 12:14:05 2008 -0800 iwlwifi: store ucode version number We store the ucode version number as part of iwl_priv/iwl3945_priv. This enables us to determine if particular ucode has support for features in order to have driver support more than one ucode API. Signed-off-by: Reinette Chatre Signed-off-by: John W. Linville commit f3f911d1773d31f11038d90b04244bc3986c4ccd Author: Zhu Yi Date: Tue Dec 2 12:14:04 2008 -0800 iwlwifi: fix DMA channel number in iwl_txq_ctx_stop The patch fixes the misuse of DMA channel number by Tx queue number in iwl_tx_ctx_stop(). The problem was originally reported by Wu Fengguang who complains iwlagn driver takes too long time when issuing `ifconfig wlan0 down`. The patch now decreases the interface bring down time from 2 seconds to 0.8 second. This fixes bugs: http://bugzilla.kernel.org/show_bug.cgi?id=11956 http://www.intellinuxwireless.org/bugzilla/show_bug.cgi?id=1790 Signed-off-by: Zhu Yi Tested-by: Fengguang Wu Acked-by: Tomas Winkler Signed-off-by: Reinette Chatre Signed-off-by: John W. Linville commit 74221d07408c473721cce853ef4e0e66c0b326ba Author: Abbas, Mohamed Date: Tue Dec 2 12:14:03 2008 -0800 iwl3945: Fix iwl3945 rate scaling. 3945 rate scaling was broken in recent tree. This patch fix the following: 1- Get TX response info and update rates window. 2- Rate scaling selection. 3- Flush window timer. Signed-off-by: Mohamed Abbas Signed-off-by: Reinette Chatre Signed-off-by: John W. Linville commit c30e30e17dad86d5e161cf9774eb4d549cc13191 Author: Abbas, Mohamed Date: Tue Dec 2 12:14:02 2008 -0800 iwl3945: add debugfs support Add debugfs support to 3945 driver to display rs info. Signed-off-by: Mohamed Abbas Signed-off-by: Reinette Chatre Signed-off-by: John W. Linville commit d366df5abb8d5ce7e2c36d3b678177787ccd9749 Author: Winkler, Tomas Date: Tue Dec 2 12:14:01 2008 -0800 iwlwifi: move channels sysfs to debugfs This patch moves channels info display from sysfs to debugfs. This shows channel information as stored in NIC EEPROM. This is useful in debugging CRDA or iwl goes setting so it belongs rather to debugfs then to sysfs. Signed-off-by: Tomas Winkler Signed-off-by: Reinette Chatre Signed-off-by: John W. Linville commit 0ad91a35bcb6dd993ad7d34f159afae929b4743d Author: Winkler, Tomas Date: Tue Dec 2 12:14:00 2008 -0800 iwlwifi: move disable/enable interrupts to iwl-core.c This patch moves iwl_enable_interrupts and iwl_disable_interrupts functions to iwl-core.c Signed-off-by: Tomas Winkler Signed-off-by: Reinette Chatre Signed-off-by: John W. Linville commit c93007efaad0a90520ba73f025c663441bf7e9d6 Author: Samuel Ortiz Date: Tue Dec 2 12:13:59 2008 -0800 iwl3945: Select correct sta ID from find_station() The find_station routine needs to look at the IWL_AP_ID entry if we're a STA. Currently, it only looks for STA entries which causes HW crypto to fail. Signed-off-by: Samuel Ortiz Acked-by: Tomas Winkler Signed-off-by: Reinette Chatre Signed-off-by: John W. Linville commit 99df630c3453e4a66b3408212dd8e55bc0e04f54 Author: Zhu Yi Date: Tue Dec 2 12:13:58 2008 -0800 iwlwifi: fix printk size format error The patch fixes a printk size format error. Signed-off-by: Zhu Yi Signed-off-by: John W. Linville commit 8f5c87dcf6d1a5e6d7ffe642cfd4debb5ccbec49 Author: Winkler, Tomas Date: Tue Dec 2 12:13:57 2008 -0800 iwlwifi: move host command check function into separate file This patch moves iwl_check_rxon_cmd into iwl-agn-hcmd-check.c This function compiled out in none debugging or non development mode and more. We haven't decided which one yet hence preserving the current 'always compile' state. More functions will be added to the file namely for checking TX and LQ commands. Signed-off-by: Tomas Winkler Signed-off-by: Reinette Chatre Signed-off-by: John W. Linville commit 304a698a5819bf318fe7e6ea9fe7ff2560365ec2 Author: Ivo van Doorn Date: Tue Dec 2 18:20:59 2008 +0100 rt2x00: Release rt2x00 2.2.3 Signed-off-by: Ivo van Doorn Signed-off-by: John W. Linville commit dddfb478b26e29a2b47f655ec219e743b8111015 Author: Ivo van Doorn Date: Tue Dec 2 18:20:42 2008 +0100 rt2x00: Implement HW encryption (rt2500usb) rt2500usb supports hardware encryption. rt2500usb supports up to 4 shared and pairwise keys. Signed-off-by: Ivo van Doorn Signed-off-by: John W. Linville commit 0b927a079106e5f66c736e297370d3feb008e28e Author: Ivo van Doorn Date: Tue Dec 2 18:20:22 2008 +0100 rt2x00: Remove duplicate code Simplify rt2x00lib_config_antenna() by moving duplicate code into a seperate static inlined function. Signed-off-by: Ivo van Doorn Signed-off-by: John W. Linville commit 42c8285767dd17f450d986bdb163a8d56fb0330a Author: Ivo van Doorn Date: Tue Dec 2 18:20:04 2008 +0100 rt2x00: Store retry limit values Store retry limit values in the rt2x00dev structure. This allows the removal of the FIXME where we assumed the long retry is only used when working with RTS frames. Instead we should check the current retry limit values and decide if the required retry count for this frame is a long or short retry. Signed-off-by: Ivo van Doorn Signed-off-by: John W. Linville commit 1ce9cdac482f0dfbbd22ba4b3e5c016a05543a42 Author: Ivo van Doorn Date: Tue Dec 2 18:19:48 2008 +0100 rt2x00: Optimize IV/EIV handling IV and EIV belong to eachother and don't require 2 seperate fields. Instead they can logically be merged into a single array with size 2. With this approach we can simplify the code in rt2x00crypto.c by using a single memcpy() when copying the iv/eiv data. Additionally we can move some code out of if-statements because the if-statement would always be true. Signed-off-by: Ivo van Doorn Signed-off-by: John W. Linville commit aac9207e45b1ec1f36d67e57d94f59ac036d37ee Author: Sujith Date: Tue Dec 2 18:37:54 2008 +0530 ath9k: Choose correct ANI calibration period ANI can't be turned on/off dynamically yet, but the calculation of the calibration period is wrong anyway. This patch fixes it. Reported-by: Johannes Berg Signed-off-by: Sujith Signed-off-by: John W. Linville commit 7470d7f54064557b6210671c2692bba19af5b79d Author: Winkler, Tomas Date: Mon Dec 1 16:32:22 2008 -0800 iwlwifi: 5150 enable LO, TXIQ and BB calibrations This patch enables LO, TXIQ, and BB calibrations for 5150 Signed-off-by: Tomas Winkler Signed-off-by: Reinette Chatre Signed-off-by: John W. Linville commit fd63edba43c584d334e8fc161ca84e4cf54e26a0 Author: Tomas Winkler Date: Mon Dec 1 16:32:21 2008 -0800 iwlwifi: 5150 parametrize eeprom versions Add support for 5150 eeprom versions Signed-off-by: Tomas Winkler Signed-off-by: Reinette Chatre Signed-off-by: John W. Linville commit 339afc893d3c1a36151c7578d7eacd2f4b293d5f Author: Tomas Winkler Date: Mon Dec 1 16:32:20 2008 -0800 iwlwifi: 5150 compute ct kill threshold This patch adds computation of ct kill threshold for 5150. Threshold is computed from calibration data in the EEPROM. Signed-off-by: Tomas Winkler Signed-off-by: Reinette Chatre Signed-off-by: John W. Linville commit 819500c5892aeeed079d3ea1671df40f2dd1d417 Author: Tomas Winkler Date: Mon Dec 1 16:32:19 2008 -0800 iwlwifi: 5150 enable DC calibration This patch enables DC calibration for 5150 Signed-off-by: Tomas Winkler Signed-off-by: Reinette Chatre Signed-off-by: John W. Linville commit 7100e924661cc23609de8e7ab9fc3a13e0173891 Author: Tomas Winkler Date: Mon Dec 1 16:32:18 2008 -0800 iwlwifi: 5150 add support for 5150 Signed-off-by: Tomas Winkler Signed-off-by: Reinette Chatre Signed-off-by: John W. Linville commit d97809dbbf1b8a6df79c82be75fa0cababec783b Author: Colin McCabe Date: Mon Dec 1 13:38:55 2008 -0800 ath9k: Replace ath9k_opmode with nl80211_iftype This patch kills ath9k's ath9k_opmode enum by replacing it with nl80211_iftype. Signed-off-by: Colin McCabe Signed-off-by: Andrey Yurovsky Signed-off-by: John W. Linville commit 33fd8195529d74c0fe23cddd1c76fe7e03bbd324 Author: Johannes Berg Date: Mon Dec 1 18:50:27 2008 +0100 iwlwifi: disable AP mode iwlwifi does not support AP mode in any way. For one, it doesn't even buffer multicast/broadcast frames properly. We didn't allow zd1211rw AP mode to be enabled without this, so iwlwifi shouldn't be allowed to advertise AP mode either. It also doesn't work at all, it doesn't even answer to probe requests, I'm guessing the packet injection code was disabled again. Signed-off-by: Johannes Berg Acked-by: Reinette Chatre Signed-off-by: John W. Linville commit c91276592695e13d1b52eab572551017cbf96ee7 Author: Johannes Berg Date: Mon Dec 1 18:19:36 2008 +0100 p54: fix lm87 checksum endianness This fixes the checksum calculation for lm87 firmwares on big endian platforms, the device treats the data as an array of 32-bit little endian values so the driver needs to do that as well. Signed-off-by: Johannes Berg Acked-by: Christian Lamparter Signed-off-by: John W. Linville commit 0f70f398460adb2d8aabb00e7e65f58247f219a3 Author: Johannes Berg Date: Mon Dec 1 18:13:05 2008 +0100 cfg80211: "fix" 11d oops This "fixes" the 11d oops I was seeing. This needs some more work but I cannot work on it now. Signed-off-by: Johannes Berg Signed-off-by: John W. Linville commit c58f9f635afe688c5c5709f441af57c12c7a4856 Author: Helmut Schaa Date: Mon Dec 1 16:53:28 2008 +0100 iwl3945: remove obsolete irq handling 3945 hardware does not emit the interrupts CSR_INT_BIT_RF_KILL (rfkill toggled) and CSR_INT_BIT_CT_KILL (adapter too hot). Hence this part of code can be removed since iwl3945_irq_tasklet does not handle 4965 hw at all. Signed-off-by: Helmut Schaa Signed-off-by: John W. Linville commit 8e7be8da8ec7cc2828f4434d8d3c2ab4d1d4e7a4 Author: Rami Rosen Date: Mon Dec 1 13:56:55 2008 +0200 mac80211: tx module cleanup. This patch removes unnecessary parameter in ieee80211_beacon_add_tim() and removes unneeded definition and assignment for bdev (instance of net_device) in ieee80211_beacon_get() and in ieee80211_get_buffered_bc() (all in tx.c). Signed-off-by: Rami Rosen Acked-by: Johannes Berg Signed-off-by: John W. Linville commit 4a4f4d805db5c930ee4185162dcdc8db9a0379d5 Author: Johannes Berg Date: Mon Dec 1 12:07:56 2008 +0100 cfg80211: fix wiphy remove if no regulatory request Fixes the segfault I just pointed out. Signed-off-by: Johannes Berg Signed-off-by: John W. Linville commit 8bef7a10014c4579c66579ab47fc1bb9563ac42a Author: Kalle Valo Date: Sun Nov 30 20:56:28 2008 +0200 mac80211: document ieee80211_tx_info.pad Fixes htmldocs warning: Warning(mac80211.h:379): No description found for parameter 'pad[2]' Signed-off-by: Kalle Valo Signed-off-by: John W. Linville commit 02e37ba1298359baa123cf71ffa03d92abd259b2 Author: Christian Lamparter Date: Sat Nov 29 22:39:08 2008 +0100 p54: per-device names This patch replaces the static "p54:" strings in front of most printk's with their corresponding per-device names. It was always a bit of a hassle to check which device was generating all the messages. Signed-off-by: Christian Lamparter Signed-off-by: John W. Linville commit b2023ddcfa6b79f26ef459867324f3d32b91aa07 Author: Christian Lamparter Date: Sat Nov 29 22:37:31 2008 +0100 p54: refactoring Thanks to the introduction of "changed" flags, we no longer have to do the bookkeeping of p54's firmware state for everything. Thus we can cut down redundancy code. Signed-off-by: Christian Lamparter Signed-off-by: John W. Linville commit 64c354ddcd65c98d9a1e2a8f7fb5cc80c7fa488e Author: Christian Lamparter Date: Sat Nov 29 22:35:43 2008 +0100 p54: include support for 2.13.24.0 USB LM87 Firmwares Those firmwares are probably capable of reprogramming the device's eeprom. We better support them officially, before all the accidents happen. Signed-off-by: Christian Lamparter Signed-off-by: John W. Linville commit 25900ef0191af98bbb24d8088c6887af31c1ba27 Author: Christian Lamparter Date: Sat Nov 29 22:34:37 2008 +0100 p54: utilize cryptographic accelerator This patch allows p54 to utilize its WEP, TKIP and CCMP accelerator. Tested-by: Larry Finger Signed-off-by: Christian Lamparter Signed-off-by: Larry Finger Signed-off-by: John W. Linville commit c772a08ba7192fa5450f85ef53adcbc6e0c5e1c9 Author: Christian Lamparter Date: Sat Nov 29 22:33:57 2008 +0100 p54: revamp station power save management in access point mode This patch addresses the problem in: http://marc.info/?l=linux-wireless&m=122727674810057&w=2 Thanks to Stefan Steuerwald extensive iPod touch tests. We could finally squash some bugs in p54's master mode / access point implementation. Let's hope we got everything right this time and all stations from now on will wake up on TIM and receive their queued frames and go to sleep again without any hiccups. Signed-off-by: Christian Lamparter Signed-off-by: John W. Linville commit 4571d3bf87b76eae875283ff9f7243984b5ddcae Author: Christian Lamparter Date: Sun Nov 30 00:48:41 2008 +0100 mac80211: add sta_notify_ps callback This patch is necessary in order to provide a proper Access point support for p54. Unfortunately for us, there is no documented way to disable the interfering power save buffering mechanism in firmware completely. Therefore we give in and notify the driver through our new sta_notify_ps callback, so that we can update the filter state. Signed-off-by: Christian Lamparter Acked-by: Johannes Berg Signed-off-by: John W. Linville commit 2a163c6de452c0b321396caceac5d163949b4cf2 Author: Sujith Date: Fri Nov 28 22:21:08 2008 +0530 ath9k: Add a debugfs file for dumping DMA status Debugfs file location: ath9k//dma Contains values in DMA debug registers. Signed-off-by: Sujith Signed-off-by: John W. Linville commit 826d268091f0e0ecc50103f648b6183eb3efe04d Author: Sujith Date: Fri Nov 28 22:20:23 2008 +0530 ath9k: Add initial layout for an ath9k specific debugfs mechanism Signed-off-by: Sujith Signed-off-by: John W. Linville commit 16d68abee5d700bfe09ae8324dbb76028995c589 Author: Sujith Date: Fri Nov 28 22:19:42 2008 +0530 ath9k: Remove includes that are not needed Signed-off-by: Sujith Signed-off-by: John W. Linville commit 88b126af946e7ea789f2a52d9d25aca681f93067 Author: Sujith Date: Fri Nov 28 22:19:02 2008 +0530 ath9k: Add ATH9K_DEBUG configuration option Make debugging configurable, and add a module parameter to give the debug mask. Add debug.c to hold all debug specific code. Signed-off-by: Sujith Signed-off-by: John W. Linville commit 04bd4638097c767278fdf12d50fecc8b60194d39 Author: Sujith Date: Fri Nov 28 22:18:05 2008 +0530 ath9k: Use cleaner debug masks Remove all the useless __func__ prefixes in debug messages, and replace the DPRINTF macro with a function. Signed-off-by: Sujith Signed-off-by: John W. Linville commit d9a1f48648edbe99fa432626ce6964a1b58f7281 Author: herton Date: Thu Nov 27 22:53:24 2008 -0200 rtl8187: fix retry count passed in rtl8187_tx I mistakenly changed retry count passed in rtl8187_tx in previous change "rtl8187: feedback transmitted packets using tx close descriptor for 8187B". For 8187 it should represent the number of retries (retry count limit). As explained by Johannes Berg, .count represents the number of tries (not retries), and retries = tries - 1. Signed-off-by: Herton Ronaldo Krzesinski Tested-by: Hin-Tak Leung Signed-off-by: John W. Linville commit 007e5ddddfed4ba039899754936e89b27d5cb551 Author: Johannes Berg Date: Thu Nov 27 23:13:38 2008 +0100 wireless: clean up radiotap a bit No need to pad the header so no constant needed for that, no need to carry any version number from netbsd nor CVS IDs from them. Signed-off-by: Johannes Berg Signed-off-by: John W. Linville commit e11602b7813502bf363c40cdb5a8c4b96d4bbc96 Author: Sujith Date: Thu Nov 27 09:46:27 2008 +0530 ath9k: Handle channel initialization for AP mode Hostapd now passes the HT parameters through the config() callback, use these to set the appropriate channel in AP mode. Signed-off-by: Sujith Signed-off-by: John W. Linville commit cb3da8ccc464409e3b947557cdac4cd0b1241c4c Author: Fabio Rossi Date: Wed Nov 26 22:44:23 2008 +0100 mac80211: accept empty strings for hidden SSIDs Some access points (e.g. Sitecom WL-174) use an empty string as hidden SSID. Signed-off-by: Fabio Rossi Signed-off-by: John W. Linville commit e60c7744f8aa77bcbcb0b294596d6c87445d1200 Author: Johannes Berg Date: Wed Nov 26 23:31:40 2008 +0100 cfg80211: handle SIOCGIWMODE/SIOCSIWMODE further reducing wext code in mac80211. Signed-off-by: Johannes Berg Signed-off-by: John W. Linville commit fee52678dbda2099a25243e79da98dc390e1939a Author: Johannes Berg Date: Wed Nov 26 22:36:31 2008 +0100 cfg80211: handle SIOCGIWNAME This patch moves the SIOCGIWNAME handling from mac80211 to cfg80211. Signed-off-by: Johannes Berg Signed-off-by: John W. Linville commit f650470a8f506bc33a15778432ebb8cdcf89175b Author: Bob Copeland Date: Wed Nov 26 16:17:25 2008 -0500 ath5k: enable combined michael mic in key cache For mac revisions >= "Griffin," the hardware allows the mic tx and rx authenticator keys to share the same cache line, whereas earlier hardware can only store the rx. Enable the combined mic on hardware that supports it. Changes to ath5k.h Changes-licensed-under: 3-Clause-BSD Changes to attach.c, pcu.c, reg.h Changes-licensed-under: ISC Signed-off-by: Bob Copeland Signed-off-by: John W. Linville commit 671434904633876f89be70af415c35c89fb90115 Author: Bob Copeland Date: Tue Nov 25 20:55:21 2008 -0500 ath5k: clean up ath5k_hw_set_key Status: O With the addition of TKIP (and soon CCMP), key->alg is a more useful guide to key type than the key length. This patch cleans up key type assignment in ath5k_hw_set_key by extracting it into its own function. It also replaces the separate memcpy() calls for extracting key material into the hardware format with a loop that works regardless of key size. Finally, the patch removes support for WEP-128 since it is a non-standard key length that mac80211 also doesn't use. Changes-licensed-under: ISC Signed-off-by: Bob Copeland Signed-off-by: John W. Linville commit f6bac3ea5990653765700b2c3778b08782abebe5 Author: Bob Copeland Date: Wed Nov 26 16:17:11 2008 -0500 ath5k: preserve higher order bits when setting mac address In some cases we would like to set the mac address without changing the operating mode. However, Atheros cards store PCU data in the high 16 bits of the mac address register. Change ath5k_hw_set_lladdr() to not clobber the PCU settings. Changes-licensed-under: ISC Signed-off-by: Bob Copeland Signed-off-by: John W. Linville commit 51e9bf5d795b8e01e54391f1790974c7b166d286 Author: Harvey Harrison Date: Wed Nov 26 13:12:52 2008 -0800 iwlwifi: remove uses of __constant_{endian} helpers The base versions handle constant folding just fine. Signed-off-by: Harvey Harrison Signed-off-by: John W. Linville commit 10ec4f1d0851eb97cd53db66150835dd7f64829d Author: Luis R. Rodriguez Date: Wed Nov 26 13:03:08 2008 -0800 nl80211: relicense nl80211.h under the ISC We have a few BSD/ISC licensed userspace applications which include nl80211.h from the kernel. To avoid legal ambiguity for usage of the header file in these projects we rather simply relicense the header file under the ISC. We've received consent from all contributors to it. Signed-off-by: Luis R. Rodriguez Acked-by: Johannes Berg Acked-by: Michael Wu Acked-by: Luis Carlos Cobo Acked-by: Michael Buesch Acked-by: Jouni Malinen Acked-by: Colin McCabe Acked-by: Javier Cardona Cc: johannes@sipsolutions.net Cc: altape@eden.rutgers.edu Cc: luisca@cozybit.com Cc: mb@bu3sch.de Cc: jouni.malinen@atheros.com Cc: colin@cozybit.com Cc: javier@cozybit.com Signed-off-by: John W. Linville commit 72bdcf34380917260da41e3c49e10edee04bc5cd Author: Jouni Malinen Date: Wed Nov 26 16:15:24 2008 +0200 nl80211: Add frequency configuration (including HT40) This patch adds new NL80211_CMD_SET_WIPHY attributes NL80211_ATTR_WIPHY_FREQ and NL80211_ATTR_WIPHY_SEC_CHAN_OFFSET to allow userspace to set the operating channel (e.g., hostapd for AP mode). Signed-off-by: Jouni Malinen Acked-by: Johannes Berg Signed-off-by: John W. Linville commit 72eaa43a532b4156966444779829a986a4432f11 Author: Johannes Berg Date: Wed Nov 26 15:02:58 2008 +0100 mac80211: only transition STAs ps->wake on data frames When a station goes to PS mode to scan, it will then send probe requests without the PS bit set. mac80211 will take that as indication that the station woke up, but it didn't. This patch changes mac80211 to only consider doze->wake transitions on data frames to to fix that issue. Signed-off-by: Johannes Berg Cc: Jouni Malinen Signed-off-by: John W. Linville commit 0d950d84d9d16f7d4edf380a238c5b534ff00d11 Author: Tomas Winkler Date: Tue Nov 25 13:36:01 2008 -0800 iwlwifi: properly initialize calibration command header Signed-off-by: Tomas Winkler Signed-off-by: Reinette Chatre Signed-off-by: John W. Linville commit 8e268e47b8ca5bddd189320884c3cc7d9ae489f4 Author: Tomas Winkler Date: Tue Nov 25 13:05:44 2008 +0200 mac80211: disassociate prior to unlinking AP/station This patch reorders calls during disassociation in ieee80211_set_disassoc function. Since sta_info_unlink calls sta_notify(REMOVE) it will remove the station representing AP from the driver before it has disassociated from it using bss_info_changed callback. Signed-off-by: Tomas Winkler Signed-off-by: John W. Linville commit e327b847e67051ece8d121f9aebeb4d736c36a02 Author: John W. Linville Date: Mon Dec 1 14:56:41 2008 -0500 mac80211: deauth when interface is marked down It seems like proper etiquette to let other stations know when we are going down in either STA or IBSS mode. This also notifies userland, so wpa_supplicant doesn't get confused. Signed-off-by: John W. Linville commit 04adf890667050b83a58abaf63610e53a604261b Author: John W. Linville Date: Wed Dec 3 13:55:38 2008 -0500 hostap: select required crypto bits in Kconfig This is fallout from moving the crypto stuff to the new lib80211 component. Signed-off-by: John W. Linville commit 21bbecdaaef3a6acc19905ab88c0587817318870 Author: Steven Rostedt Date: Thu Dec 4 23:30:56 2008 -0500 ftrace: use init_struct_pid as swapper pid Impact: clean up Using (struct pid *)-1 as the pointer for ftrace_swapper_pid is a little confusing for others. This patch uses the address of the actual init pid structure instead. This change is only for clarity. It does not affect the code itself. Hopefully soon the swapper tasks will all have their own pid structure and then we can clean up the code a bit more. Signed-off-by: Steven Rostedt Signed-off-by: Ingo Molnar commit 21a8c466f99063eeb8567318b4e305eda9015408 Author: Frederic Weisbecker Date: Thu Dec 4 23:51:23 2008 +0100 tracing/ftrace: provide the macro task_curr_ret_stack() Impact: cleanup As suggested by Steven Rostedt, this patch provide a new macro task_curr_ret_stack() to move the cpp conditionnal CONFIG into the linux/ftrace.h headers. Signed-off-by: Frederic Weisbecker Acked-by: Steven Rostedt Signed-off-by: Ingo Molnar commit 77d683f3e0258d522c5506e7b5fd05c9411184d9 Author: Frederic Weisbecker Date: Thu Dec 4 23:49:47 2008 +0100 tracing/ftrace: fix the check of ftrace_trace_task Impact: fix default empty traces on function-graph-tracer The actual ftrace_trace_task() checks if ftrace_pid_trace is allocated and return 1 if it is true. If it is NULL, it will check the bit of pid tracing flag for the current task (which are not set by default). So by default, a task is not traced. Actually all tasks should be traced by default and filter_by_pid when ftrace_pid_trace is allocated. The appropriate condition should be to return 1 if filter_by_pid is set. Signed-off-by: Frederic Weisbecker Acke-dby: Steven Rostedt Signed-off-by: Ingo Molnar commit ff32504fdc56407654584ef187b20022c94a3486 Author: Frederic Weisbecker Date: Thu Dec 4 23:47:35 2008 +0100 tracing/ftrace: don't insert TRACE_PRINT during selftests Impact: fix tracer selfstests false results After setting a ftrace_printk somewhere in th kernel, I saw the Function tracer selftest failing. When a selftest occurs, the ring buffer is lurked to see if some entries were inserted. But concurrent insertion such as ftrace_printk could occured at the same time and could give false positive or negative results. This patch prevent prevent from TRACE_PRINT entries insertion during selftests. Signed-off-by: Frederic Weisbecker Acked-by: Steven Rostedt Signed-off-by: Ingo Molnar commit 970987beb9c99ca806edc464518d411cc399fb4d Merge: faec2ec 1fd8f2a feaf384 Author: Ingo Molnar Date: Fri Dec 5 14:45:22 2008 +0100 Merge branches 'tracing/ftrace', 'tracing/function-graph-tracer' and 'tracing/urgent' into tracing/core commit a0286c94f07636380082608196d41dd725a83229 Author: Michael Tokarev Date: Fri Dec 5 15:47:29 2008 +0300 x86: fix missing space in printk, #2 Impact: clean up printk Signed-off-by: Michael Tokarev Signed-off-by: Ingo Molnar commit 12dde4c6d6e9092cf63094e84dc1fe4e505dd6d0 Author: Takashi Iwai Date: Fri Dec 5 13:09:27 2008 +0100 ALSA: hda - Proper power-map toggling for input pins The current code overrides the event type on input pins always to PWR_EVENT. Although this still works (PWR_EVENT and INSERT_EVENT are handled samely), it'd be better to avoid such overrides. Also, currently the unsol events are registered even for fixed pins which will never raise the pin-detection event. This patch fixes both issues. Signed-off-by: Takashi Iwai commit 55c395b47042e12d5c25aa07f271f56ffe44f793 Author: Michael Tokarev Date: Fri Dec 5 14:42:20 2008 +0300 x86: fix missing space in printk Just come across this when booting on an old hw.. Looks somewhat ugly, that single missing space ;) Signed-off-by: Michael Tokarev Signed-off-by: Ingo Molnar commit e6e3ea25b1679b55728a8a470a50a8fff61e8a45 Author: Takashi Iwai Date: Fri Dec 5 12:54:56 2008 +0100 ALSA: hda - Fix pin-detection in patch_sigmatel.c The pin-detection function used in patch_sigmatel.c shouldn't be specific to HP pin because it's used for input pins in general, too. This patch fixes the detection function, removes the HP check from it and moves to stac92xx_hp_detect(). Signed-off-by: Takashi Iwai commit 6fa6f5bbc3a2ad833a3d4b798140602004f70f5a Author: Artem Bityutskiy Date: Fri Dec 5 13:37:02 2008 +0200 UBI: handle write errors in WL worker When a PEB is moved and a write error happens, UBI switches to R/O mode, which is wrong, because we just copy the data and may select a different PEB and re-try this. This patch fixes WL worker's behavior. Signed-off-by: Artem Bityutskiy commit 3c98b0a043f25fa44b289c2f35b9d6ad1d859ac9 Author: Artem Bityutskiy Date: Fri Dec 5 12:42:45 2008 +0200 UBI: fix error path Make sure the resources had not already been freed before freeing them in the error path of the WL worker function. Signed-off-by: Artem Bityutskiy commit 6a8f483f33a150a0269ad4612621eb6c245eb2cf Author: Artem Bityutskiy Date: Fri Dec 5 12:23:48 2008 +0200 UBI: some code re-structuring Minor code re-structuring and commentaries fixes to improve readability. Signed-off-by: Artem Bityutskiy commit 4df581f3dc6a91a63b9965ac8bdb47d8db294e37 Author: Artem Bityutskiy Date: Thu Dec 4 20:52:44 2008 +0200 UBI: fix deadlock We cannot call 'ubi_wl_get_peb()' with @ubi->buf_mutex locked, because 'ubi_wl_get_peb()' may force erasure, which, in turn, may call 'torture_peb()' which also locks the @ubi->buf_mutex and deadlocks. Signed-off-by: Artem Bityutskiy commit 14d676f56fad26fd3c31eeff5d4ef8ea4a163571 Merge: 797eaed feaf384 Author: Lachlan McIlroy Date: Fri Dec 5 15:27:43 2008 +1100 Merge git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux-2.6 commit 797eaed40e1df4a3b9ece6894a71ce2b568bca38 Author: Lachlan McIlroy Date: Fri Dec 5 14:15:49 2008 +1100 [XFS] Remove unnecessary assertion Hit this assert because an inode was tagged with XFS_ICI_RECLAIM_TAG but not XFS_IRECLAIMABLE|XFS_IRECLAIM. This is because xfs_iget_cache_hit() first clears XFS_IRECLAIMABLE and then calls __xfs_inode_clear_reclaim_tag() while only holding the pag_ici_lock in read mode so we can race with xfs_reclaim_inodes_ag(). Looks like xfs_reclaim_inodes_ag() will do the right thing anyway so just remove the assert. Thanks to Christoph for pointing out where the problem was. Signed-off-by: Lachlan McIlroy Reviewed-by: Christoph Hellwig commit a5b429d41fede3a90deb532f5c2318393ed3a17b Author: Lachlan McIlroy Date: Fri Dec 5 13:31:51 2008 +1100 [XFS] Remove unused variable in ktrace_free() entries_size is probably left over from when we used to pass the size to kmem_free(). Signed-off-by: Lachlan McIlroy Reviewed-by: Christoph Hellwig Reviewed-by: Eric Sandeen commit c6422617a1c0d7787e515748b01f594fe43aea98 Author: Lachlan McIlroy Date: Fri Dec 5 13:16:15 2008 +1100 [XFS] Check return value of xfs_buf_get_noaddr() We check the return value of all other calls to xfs_buf_get_noaddr(). Make sense to do it here too. Signed-off-by: Lachlan McIlroy Reviewed-by: Christoph Hellwig Reviewed-by: Eric Sandeen commit 6a0775a991d5597ce98f1e15373288ea133cc793 Author: Dave Chinner Date: Thu Dec 4 09:09:34 2008 +1100 [XFS] Fix hang after disallowed rename across directory quota domains When project quota is active and is being used for directory tree quota control, we disallow rename outside the current directory tree. This requires a check to be made after all the inodes involved in the rename are locked. We fail to unlock the inodes correctly if we disallow the rename when the target is outside the current directory tree. This results in a hang on the next access to the inodes involved in failed rename. Reported-by: Arkadiusz Miskiewicz Signed-off-by: Dave Chinner Tested-by: Arkadiusz Miskiewicz Signed-off-by: Lachlan McIlroy commit 8bb57320f3f5dd8c2373c0b66e4950391e037109 Author: Christoph Hellwig Date: Thu Dec 4 14:23:27 2008 +0100 [XFS] Fix compile with CONFIG_COMPAT enabled Signed-off-by: Christoph Hellwig Signed-off-by: Lachlan McIlroy commit e061b165c7f4ec5e2e160d990b49011b5b6e5c6a Author: Martin Willi Date: Thu Dec 4 15:40:17 2008 -0800 xfrm: Accept ESP packets regardless of UDP encapsulation mode From: Martin Willi An IPsec node speaking IKEv2 MUST accept incoming UDP encapsulated ESP packets, even if no NAT situation is detected. This is important if MOBIKE is in use. Some implementation keep the encapsulation mode if they move out of a NAT situation. Signed-off-by: David S. Miller commit 3f9b766ca7c4654d41f4f21357031c1c1e7de29e Author: Wang Chen Date: Thu Dec 4 15:12:20 2008 -0800 sgi-xp: Kill directly reference of netdev->priv Simply replace netdev->priv with netdev_priv(). [ Kill unnecessary casts, noticed by Ilpo -DaveM ] Signed-off-by: Wang Chen Signed-off-by: David S. Miller commit 17c324fa80914e5b39d423dfd1a3cd61a3ec9866 Author: Wang Chen Date: Thu Dec 4 15:07:33 2008 -0800 um: Kill directly reference of netdev->priv Simply replace netdev->priv with netdev_priv(). Signed-off-by: Wang Chen Signed-off-by: David S. Miller commit 6cbeba55c5cbd042040d6114471637e8b10d4a6b Author: Wang Chen Date: Thu Dec 4 15:06:56 2008 -0800 xtensa: Kill directly reference of netdev->priv Simply replace netdev->priv with netdev_priv(). Signed-off-by: Wang Chen Signed-off-by: David S. Miller commit 28945dd4fba8dcbc1c74ea702b731caaedae6ccb Author: Wang Chen Date: Thu Dec 4 15:06:27 2008 -0800 simeth: Kill directly reference of netdev->priv Simply replace netdev->priv with netdev_priv(). Signed-off-by: Wang Chen Signed-off-by: David S. Miller commit b28017f57f1ec16ab515e99d863bf9f33ea0d737 Author: Sam Ravnborg Date: Thu Dec 4 13:28:09 2008 -0800 sparc: unify kernel/init_task A closer inspection revealed that these two files had identical functionality - but the implementation of it differed slightly. Base it on the sparc version as it was the best. Signed-off-by: Sam Ravnborg Signed-off-by: David S. Miller commit 757498c63ed70ec8961aa432173247f4373ef0c3 Author: Sam Ravnborg Date: Thu Dec 4 13:26:31 2008 -0800 sparc: drop CONFIG_SUN_AUXIO It is always equals y so no need to test for it Signed-off-by: Sam Ravnborg Signed-off-by: David S. Miller commit 5fee325e7d2bcbebf1cb38b4ff3a7aa3744c43e3 Author: Chris Zankel Date: Thu Dec 4 09:21:20 2008 -0800 xtensa: Update platform files to reflect new location of the header files. Change 367b8112fe2ea5c39a7bb4d263dcdd9b612fae18 moved the platform specific header files to arch/xtensa/platforms//include/platform. These two file weren't updated. Signed-off-by: Chris Zankel commit c2e27c359ab76fecbbd292dbfc0bcfa8399afdd9 Author: Nicolas Palix Date: Wed Dec 3 21:10:57 2008 -0800 sparc: Add missing of_node_put of_node_put is needed before discarding a value received from of_find_node_by_name, eg in error handling code or when the device node is no longer used. The semantic match that catches the bug is as follows: (http://www.emn.fr/x-info/coccinelle/) // @r exists@ local idexpression struct device_node *n; position p1, p2; struct device_node *n1; statement S; identifier f; expression E; expression *ptr != NULL; @@ n@p1 = of_find_node_by_name(...) ... if (!n) S ... when != of_node_put(n) when != n1 = f(n,...) when != E = n when any when strict ( return \(0\|<+...n...+>\|ptr\); | return@p2 ...; | of_node_put(n); | n1 = f(n,...) | E = n ) @script:python@ p1 << r.p1; p2 << r.p2; @@ print "* file: %s of_find_node_by_name %s return %s" % (p1[0].file,p1[0].line,p2[0].line) // Signed-off-by: Nicolas Palix Signed-off-by: Julia Lawall Signed-off-by: David S. Miller commit a8c601ca21e790f6a9d996bb0bf31f7496eb9509 Author: Sam Ravnborg Date: Wed Dec 3 03:14:26 2008 -0800 sparc,sparc64: unify boot/ Simple unification: o renamed piggyback to *_32.c/*_64.c o copied content of Makefile from sparc64 to sparc and guard it o updated sparc/boot/.gitignore o deleted remaining files in sparc64/boot Signed-off-by: Sam Ravnborg Signed-off-by: David S. Miller commit a88b5ba8bd8ac18aad65ee6c6a254e2e74876db3 Author: Sam Ravnborg Date: Wed Dec 3 03:11:52 2008 -0800 sparc,sparc64: unify kernel/ o Move all files from sparc64/kernel/ to sparc/kernel - rename as appropriate o Update sparc/Makefile to the changes o Update sparc/kernel/Makefile to include the sparc64 files NOTE: This commit changes link order on sparc64! Link order had to change for either of sparc32 and sparc64. And assuming sparc64 see more testing than sparc32 change link order on sparc64 where issues will be caught faster. Signed-off-by: Sam Ravnborg Signed-off-by: David S. Miller commit d670bd4f803c8b646acd20f3ba21e65458293faf Author: Sam Ravnborg Date: Wed Dec 3 03:08:37 2008 -0800 sparc: prepare kernel/ for unification o sparc32 files with identical names to sparc64 renamed to _32.S o introduced a few Kconfig helpers to simplify Makefile logic o refactored Makefile to prepare for unification - use obj-$(CONFIG_SPARC32) for sparc32 specific files - use _$(BITS) for files where sparc64 has a _64 variant - sparc64 directly include a few files where sparc32 builds them, refer to these files directly (no BITS) - sneaked in -Werror as used by sparc64 o modified sparc/Makefile to use the new names for head/init_task Signed-off-by: Sam Ravnborg Signed-off-by: David S. Miller commit 478b8fecda511942404ac232897a718cecd13e48 Author: Sam Ravnborg Date: Wed Dec 3 03:10:25 2008 -0800 sparc,sparc64: unify lib/ o Renamed files in sparc64 to _64.S when identical to sparc32 files. o iomap.c were equal for sparc32 and sparc64 o adjusted sparc/Makefile now we have only one lib/ Signed-off-by: Sam Ravnborg Signed-off-by: David S. Miller commit 18269c0fd4db9bec2668f895f21d742486ccb90f Author: Sam Ravnborg Date: Wed Dec 3 03:07:00 2008 -0800 sparc: prepare lib/ for unification Identical named files renamed to _32.S Refactored Makefile to prepare for unification. Linking order was altered slightly - but this is a lib.a file so it should not matter. Signed-off-by: Sam Ravnborg Signed-off-by: David S. Miller commit 5de18cde3b748aafc6d187d7655ba42f2260501d Author: Sam Ravnborg Date: Sat Nov 29 22:16:52 2008 -0800 sparc,sparc64: unify prom/ - all files with identical names copied and renamed to *_64.c - the remaning files copied as is - added sparc64 specific files to sparc/prom/Makefile - teach sparc64 Makefile to look into sparc/prom/ - delete unused Makefile from sparc64/prom/ linking order was not kept for sparc64 with this change. It was not possible to keep linking order for both sparc and sparc64 and as sparc64 see more testing than sparc it was natural to break linking order on sparc64. Should it have any effect it would be detected sooner this way. printf_32.c and printf_64.c are obvious candidates to be merged but they are not 100% equal so that was left for later Signed-off-by: Sam Ravnborg Signed-off-by: David S. Miller commit 708d4f09647106d549c646dc459c7ccf2c237cc8 Author: Sam Ravnborg Date: Sat Nov 29 22:15:38 2008 -0800 sparc: prepare prom/ for unification - rename files where sparc64 uses identical names to *_32.c - refactor Makefile (but keep linking order) Signed-off-by: Sam Ravnborg Signed-off-by: David S. Miller commit 5e53879008b9acefe9f43498fd36db7376e08739 Author: Sam Ravnborg Date: Tue Dec 2 23:17:12 2008 -0800 sparc,sparc64: unify Makefile To unify Makefile for sparc and sparc64 a few other steps was needed: 1) separate defconfig files for sparc and sparc64 is required, so locate these in arch/sparc/configs 2) removoval of hack in toplevel Makefile to deal with that headers was in a separate directory compared to the rest The unification of the Makefile required usage of several foo-$(CONFIG_SPARCnn) += due to a few directories pending unification. This will be cleaned up when we unify the remaining directories. Included in this patch are the deletion of a few files in sparc64 as they are no longer needed: Makefile + Kconfig. arch/sparc64/ will after this patch is applied only have four directories (prom, lib, kernel, boot) Signed-off-by: Sam Ravnborg Signed-off-by: David S. Miller commit 14ae84c9933f22ccad34fa6375b8908389b304f0 Author: Sam Ravnborg Date: Sat Nov 29 21:54:03 2008 -0800 sparc: gitignore a few files With this 'git status' no longer reports any new files At least not for a sparc allnoconfig build Signed-off-by: Sam Ravnborg Signed-off-by: David S. Miller commit c489326939b28ca93a8cfcbda8adbeb328101682 Author: Sam Ravnborg Date: Sat Nov 29 21:53:26 2008 -0800 sparc: clean boot/ Leave all cleaning to boot/Makefile and delete zImage too when we do a 'make clean' Signed-off-by: Sam Ravnborg Signed-off-by: David S. Miller commit db5ea21a14b7c69bf495a741ae37ba15fb9eabd1 Author: Sam Ravnborg Date: Tue Dec 2 23:15:42 2008 -0800 sparc: refactor Makefile The btfixup step needs knowledge of all the .o files, but there is no need to pass them in independent variables. Simplify it to use only two variables. Signed-off-by: Sam Ravnborg Signed-off-by: David S. Miller commit b5db854a91d93c46c6904506ef73ce0d0b074b44 Author: Sam Ravnborg Date: Sat Nov 29 21:51:05 2008 -0800 sparc,sparc64: unify asm-offsets.c sparc64 does not use constants generated from asm-offsets but to prepare it to do so the parts that could be shared do now generate constants for sparc64 too. Signed-off-by: Sam Ravnborg Signed-off-by: David S. Miller commit 104495a1ceea7cacff50fa33b48f3c0b6f8d307a Author: Sam Ravnborg Date: Sat Nov 29 21:45:49 2008 -0800 sparc64: use vmlinux.lds.S from sparc Previous commit made them identical so use the sparc version Signed-off-by: Sam Ravnborg Signed-off-by: David S. Miller commit 1b1fbbcaad56ede1442e7074bd935a2c98b99596 Author: Sam Ravnborg Date: Sat Nov 29 21:44:32 2008 -0800 sparc,sparc64: prepare vmlinux.lds.S for unification This patch makes the two vmlinux.lds.S files identical and serve as documentation for the changes in each file. This mainly add stuffs to sparc32 that is otherwise only used by sparc64 and thus it should have no effect. Build tested only. Signed-off-by: Sam Ravnborg Signed-off-by: David S. Miller commit 63ef34827c1f5ac838e869cc3ecc2d9cfebae152 Author: David S. Miller Date: Fri Nov 28 02:27:42 2008 -0800 sparc64: Provide oprofile pseudo-NMI on Niagara. Signed-off-by: David S. Miller commit 3178a07c33747305b7f7140bd55b0f77e7f239eb Author: David S. Miller Date: Fri Nov 28 02:26:55 2008 -0800 sparc64: Add performance counter hypervisor calls for sun4v. Signed-off-by: David S. Miller commit 6a5726dd6fcc330ef386016e160389e05fd0015d Author: David S. Miller Date: Fri Nov 28 01:19:41 2008 -0800 sparc64: Add save_stack_trace_tsk(). And this allows us to indicate HAVE_LATENCYTOP_SUPPORT. Signed-off-by: David S. Miller commit 3a29db32220387cd66e4d02c907c8949c28c5ecb Author: Al Viro Date: Wed Nov 26 01:07:13 2008 -0800 sparc32: pdev_to_pnode() is used from __devinit Signed-off-by: Al Viro Signed-off-by: David S. Miller commit 64273d08dfb41549df3cd815baaaff781cd99992 Author: David S. Miller Date: Wed Nov 26 01:00:58 2008 -0800 sparc32: Don't btfixup cache flush ops for viking multiple times. Just do it once. Pointed out by Al Viro. Signed-off-by: David S. Miller commit 9acee190c8c055f634475ad3f742ff07049dd51e Author: Stephen Rothwell Date: Wed Nov 26 00:51:32 2008 -0800 sparc: combine unistd_{32,64}.h This is complicated a little because compat_audit.c wants to see only the 32bit syscall numbers, but is being built in a 64bit compile. Signed-off-by: Stephen Rothwell Signed-off-by: David S. Miller commit 422e23ea0865177b61527874b1b80023e4215d67 Author: David S. Miller Date: Tue Nov 25 22:29:24 2008 -0800 sparc64: Use NMI oprofile profiling on cheetah and derivative cpus. We use clock cycle counter, adjusted to HZ. This can be extended to sun4v based processors as well, as they also have a proper overflow interrupt facility for the performance counters. Signed-off-by: David S. Miller commit 456cad8e4e1754672e6df1e716cff1482ea124ce Author: David S. Miller Date: Tue Nov 25 22:27:50 2008 -0800 sparc64: Add write_pic() helper. It writes the %pic register, keeping mind of processor bugs. Implement reset_pic() in terms of it. Signed-off-by: David S. Miller commit f9aad60010efa896319ed6e908a5cb5e3a852907 Author: David S. Miller Date: Tue Nov 25 22:26:59 2008 -0800 sparc64: Block NMIs in critical section of context switch. In these instructions we load the new thread register, switch the register window, and setup the new frame pointer. All of these must appear atomic, and things will explode if we take a PIL=15 NMI interrupt in the middle of this sequence. Signed-off-by: David S. Miller commit 5565736e44fff06dc5f5c6559e04ac58d2d560ab Author: David S. Miller Date: Tue Nov 25 22:24:59 2008 -0800 sparc64: Make special trap return path for TRAP_NMI(). We don't want the rtrap path to try and run softirqs or anything like that when returning from a PIL==15 NMI. Signed-off-by: David S. Miller commit b4f4372f96e0573d752d9e45beda02fabf716cc8 Author: David S. Miller Date: Sun Nov 23 21:55:29 2008 -0800 sparc64: Make %pil level 15 a pseudo-NMI. So that we can profile code even in a local_irq_disable() section, only write 14 (instead of 15) into the %pil register to disable IRQs. This allows PIL level 15 to serve as a pseudo NMI. Signed-off-by: David S. Miller commit c6afec5e4d323e7b88a7d6e291a5aa021a8fcb7d Author: David S. Miller Date: Sun Nov 23 21:50:16 2008 -0800 sparc: Include drivers/pcmcia/Kconfig Stephen Rothwell pointed out that pcmcia can't be enabled on sparc64. There is an empty non-prompt PCMCIA explicit entry in arch/sparc/Kconfig but that doesn't do anything. 32-bit sparc needs a small hack to make this work, since it doesn't use the generic IRQ layer yes. We have to provide a dummy definition of probe_irq_mask(), since this is used by the yenta socket driver. Signed-off-by: David S. Miller commit 2c2551ab99f9ba3c726e6a41c84ef0c7390fc546 Author: David S. Miller Date: Fri Nov 21 02:06:07 2008 -0800 sparc64: Add interface for registering a performance counter IRQ handler. Signed-off-by: David S. Miller commit 0871420fad5844cb63cfcf85508c17bd9b15c08f Author: David S. Miller Date: Sun Nov 16 23:49:24 2008 -0800 sparc64: Add tsb-ratio sysctl. Add a sysctl to tweak the RSS limit used to decide when to grow the TSB for an address space. In order to avoid expensive divides and multiplies only simply positive and negative powers of two are supported. The function computed takes the number of TSB translations that will fit at one time in the TSB of a given size, and either adds or subtracts a percentage of entries. This final value is the RSS limit. See tsb_size_to_rss_limit(). Signed-off-by: David S. Miller commit 27137e5285a3388e8f86d7bc5fe0ed8b92bd4624 Author: Sam Ravnborg Date: Sun Nov 16 20:08:45 2008 -0800 sparc,sparc64: unify mm/ - move all sparc64/mm/ files to arch/sparc/mm/ - commonly named files are named _64.c - add files to sparc/mm/Makefile preserving link order - delete now unused sparc64/mm/Makefile - sparc64 now finds mm/ in sparc Signed-off-by: Sam Ravnborg Signed-off-by: David S. Miller commit c37ddd936d96b46cf2bb17e7b1a18b2bd24ec1fb Author: Sam Ravnborg Date: Sun Nov 16 20:08:19 2008 -0800 sparc: prepare mm/ for unification - rename files where sparc64 has similar files to _32.c - Restructure Makefile - Sneak in -Werror as we have for sparc64 Signed-off-by: Sam Ravnborg Signed-off-by: David S. Miller commit 7c979c49c9882badee45c0a7a3dbca1040b7ba73 Author: Sam Ravnborg Date: Sun Nov 16 20:07:42 2008 -0800 sparc64: unify arch/sparc64/oprofile/ A simple: diff arch/sparc64/oprofile/init.c arch/sparc/oprofile/init.c diff arch/sparc64/oprofile/Makefile arch/sparc/oprofile/Makefile revealed that the directories were equal. So let sparc64 point to the sparc version and drop the sparc64 oprofile dir Signed-off-by: Sam Ravnborg Signed-off-by: David S. Miller commit 5115f39c2034cb80a050d996a2a6343bce189628 Author: Sam Ravnborg Date: Sun Nov 16 20:07:11 2008 -0800 sparc64: unify math-emu Move relavent files to sparc/math-emu and adjust path/include accordingly. Signed-off-by: Sam Ravnborg Signed-off-by: David S. Miller commit 774434bf33bdc876c2818eba34e416fe1fc7a746 Author: Sam Ravnborg Date: Sun Nov 16 20:06:33 2008 -0800 sparc: prepare math-emu for unification Add _32 to filenames to make them 32 bit unique Signed-off-by: Sam Ravnborg Signed-off-by: David S. Miller commit d59b3706a9d71a5ffe6135b537117662a6d3d920 Author: Sam Ravnborg Date: Sun Nov 16 20:05:44 2008 -0800 sparc: cleanup math-emu - Drop unused assignment from Makefile - Replace EXTRA_CFLAGS with ccflags-y - Delete unused file Signed-off-by: Sam Ravnborg Signed-off-by: David S. Miller commit b0cdd599dbbea51bfb36801f5cc5634916bc2a36 Author: Sam Ravnborg Date: Sun Nov 16 20:04:20 2008 -0800 sparc,sparc64: add BITS to arch Makefile BITS will be used to simplify unified Makefiles Signed-off-by: Sam Ravnborg Signed-off-by: David S. Miller commit 26b4c912185a8902b0990166892d53be78ef8cfc Author: Sam Ravnborg Date: Sun Nov 16 20:01:17 2008 -0800 sparc,sparc64: unify Kconfig files Merge all of sparc64 Kconfig to sparc Kconfig. The merge was checked by: - visual inspection in menuconfig - result of allnoconfig, allmodconfig, allyesconfig was checked before and after - result of a number of randconfig was checked before and after scripts/diffconfig was used to check if the config differed before and after The validity of the test was checked by on purpose introducing a few bugs - and they were all caught by first run. Signed-off-by: Sam Ravnborg Signed-off-by: David S. Miller commit 4b27e0e1189c605a89418754fac93a74a3434c31 Author: Sam Ravnborg Date: Sat Nov 15 13:44:31 2008 -0800 sparc: add "Bus options" to Kconfig To align with sparc64 add a "Bus options" menu This has the additiona advantage that all bus options are kept together Signed-off-by: Sam Ravnborg Signed-off-by: David S. Miller commit 12e271a84ece4fcdeb2554ad4dae0ab500939332 Author: Sam Ravnborg Date: Sat Nov 15 13:43:49 2008 -0800 sparc: add menu "Executable file formats" This is what we use in sparc64 - make sparc equal Signed-off-by: Sam Ravnborg Signed-off-by: David S. Miller commit 71899704d66b7ce43e31e0f19e792292ff0684aa Author: Sam Ravnborg Date: Sat Nov 15 13:43:13 2008 -0800 sparc: use Kconfig.hz We already has the proper definition in place in param.h. So use the common Kconfig.hz file Signed-off-by: Sam Ravnborg Signed-off-by: David S. Miller commit 655ab9940e6a6c50ef21d466b0f8af506026c22a Author: Sam Ravnborg Date: Sat Nov 15 13:42:31 2008 -0800 sparc: drop UNIX98_PTYS from arch Kconfig We have it in drivers/char/Kconfig There is no need to ask twice Signed-off-by: Sam Ravnborg Signed-off-by: David S. Miller commit b498e42498ba707bf18fd91ab0485f22b5c22a26 Author: Sam Ravnborg Date: Sat Nov 15 13:41:31 2008 -0800 sparc64: added more config options to the menus moved a few config entries inside a menu so we do not clutter the first screen up with a lot of detailed config options. The structure now remotely resemble the structure for i386 Signed-off-by: Sam Ravnborg Signed-off-by: David S. Miller commit 35da3e39149ef58cedd04eb00b11ce2d3460cc02 Author: Sam Ravnborg Date: Sat Nov 15 13:40:12 2008 -0800 sparc: refactor Kconfig a little Mode declaration of SPARC up in the top to match the structure of sparc64 Kconfig Signed-off-by: Sam Ravnborg Signed-off-by: David S. Miller commit 5bb28a57a248c0bd4316f54c3e7129933cf146d0 Author: Sam Ravnborg Date: Sat Nov 15 13:39:18 2008 -0800 sparc: unify Kconfig.debug Let sparc and sparc64 use the same Kconfig.debug Signed-off-by: Sam Ravnborg Signed-off-by: David S. Miller commit 293666b7a17cb7a389fc274980439212386a19c4 Author: David S. Miller Date: Sat Nov 15 13:33:25 2008 -0800 sparc64: Stop using memory barriers for atomics and locks. The kernel always executes in the TSO memory model now, so none of this stuff is necessary any more. With helpful feedback from Nick Piggin. Signed-off-by: David S. Miller commit 64f2dde3f743c8a1ad8c0a1aa74166c1034afd92 Author: David S. Miller Date: Wed Oct 29 21:25:00 2008 -0700 sparc64: Run the kernel always in the TSO memory model. The fact of the matter is, all UltraSPARC-III and later chips only implement TSO. They don't implement PSO and RMO memory models at all. Only the Ultra-I and Ultra-II family chips implement RMO and they are only helped marginally by using this setting when executing kernel code. The big plus to doing this is that we can eliminate all of the non-Sync memory barriers in the kernel except for the ones used in the optimized memcpy/memset code (these use block load and store operations which have their own memory ordering rules). Signed-off-by: David S. Miller commit c9bb6003dd096ad190e1594a7d835ae1c39fae8f Author: David S. Miller Date: Wed Oct 29 23:46:09 2008 -0700 of: Fix comment, sparc no longer uses of_device objects on special busses. It only uses of_platform_bus_type. Signed-off-by: David S. Miller commit 86821d18f9d8fd42fa3180ad3703d491aecc52d9 Author: David S. Miller Date: Wed Oct 29 23:18:41 2008 -0700 sparc64: Rework auxio driver to save some text space. Use common functions instead of inlining and duplicating logic over and over to handle the SBUS vs. EBUS cases. Before: text data bss dec hex filename 715 568 16 1299 513 arch/sparc64/kernel/auxio.o After: text data bss dec hex filename 631 568 16 1215 4bf arch/sparc64/kernel/auxio.o Signed-off-by: David S. Miller commit 6d1e428a4e02761250c6498fe63657444fdfc3d5 Merge: feaf384 410d2c8 Author: David S. Miller Date: Thu Dec 4 09:16:14 2008 -0800 Merge branch 'master' of master.kernel.org:/pub/scm/linux/kernel/git/davem/sparc-2.6 commit 995be04548f62c8e6b447410cd28b0666614b461 Author: Alexey Dobriyan Date: Thu Dec 4 17:04:18 2008 +0300 UBIFS: fix section mismatch This patch fixes the following section mismatch: WARNING: fs/ubifs/ubifs.o(.init.text+0xec): Section mismatch in reference from the function init_module() to the function .exit.text:ubifs_compressors_exit() Signed-off-by: Artem Bityutskiy commit 5da95273c2e63c9607652b5e8dd39808b6992d7c Author: Takashi Iwai Date: Mon Nov 24 14:06:08 2008 +0100 ALSA: ca0106 - Add power-management support Added the missing PM support for snd-ca0106 driver. Signed-off-by: Takashi Iwai commit 84d727a109081684c2e01b811cb0d6dc3b9380ca Author: Benjamin Herrenschmidt Date: Thu Oct 9 16:58:19 2008 +0000 powerpc/4xx: Add support for ISA holes on 4xx PCI/X/E This adds support for ISA memory holes on the PCI, PCI-X and PCI-E busses of the 4xx platforms. The patch includes changes to the Bamboo and Canyonlands device-trees to add such a hole, others can be updated separately. The ISA memory hole is an additional outbound window configured in the bridge to generate PCI cycles in the low memory addresses, thus allowing to access things such as the hard-decoded VGA aperture at 0xa0000..0xbffff or other similar things. It's made accessible to userspace via the new legacy_mem file in sysfs for which support was added by a previous patch. Signed-off-by: Benjamin Herrenschmidt Signed-off-by: Josh Boyer commit 9d2421e8345602675132421fdaf4179af4705f5c Author: Stephen Rothwell Date: Sun Nov 23 18:33:05 2008 +0000 powerpc/44x: update ppc44x_defconfig This removes CONFIG_PCI_LEGACY (which is not needed) and consequently several compiler warnings. Signed-off-by: Stephen Rothwell Signed-off-by: Josh Boyer commit 23f402c011b30f981a64c3752fca96cbac2cfd3d Author: Hollis Blanchard Date: Mon Nov 10 14:58:28 2008 -0600 powerpc/kvm: update KVM config options in ppc44x_defconfig KVM host support was recently enabled in ppc44x_defconfig, but since then the config option was renamed. Update ppc44x_defconfig to match. Also, KVM guests aren't very interesting without networking, so enable CONFIG_TUN and CONFIG_BRIDGE. Signed-off-by: Hollis Blanchard Signed-off-by: Josh Boyer commit 32c8dabc97d436582298ebd0e33af041c69f5a4b Author: Mark Brown Date: Wed Dec 3 19:41:13 2008 +0000 ASoC: Remove obsolete declaration of struct snd_soc_clock_info The struct is never defined. Signed-off-by: Mark Brown commit 37810659ea7d9572c5ac284ade272f806ef8f788 Author: Peter Zijlstra Date: Thu Dec 4 11:17:10 2008 +0100 hrtimer: removing all ur callback modes, fix hotplug Impact: fix hrtimer locking (reported by lockdep) in the CPU hotplug case This addition fixes the hotplug locking issue on my machine Signed-off-by: Peter Zijlstra Signed-off-by: Ingo Molnar commit affa219b60a11b3295637a97f5b1b8ef231490fc Author: Joe Korty Date: Wed Dec 3 18:58:19 2008 -0500 x86: change thread_info's flag field back to 32 bits Impact: pack struct thread_info more tightly Change x86_64's thread_info 'flags' field back to __u32. This was changed to 'unsigned long' when the thread_info*.h for i386 and x86_64 were merged. Change it back. We can do this as only 27 bits of 'flags' are actually used. This change actually packs down thread_info by 64 bits: 32 bits are saved by the smaller flags, and 32 bits are saved by the following 'mm_segment_t field' becoming naturally 64-bit aligned. Signed-off-by: Joe Korty Signed-off-by: Ingo Molnar commit c0515566f3117c44b0572559bcc3cb00899b0910 Merge: 4385cec 061e41f Author: Ingo Molnar Date: Thu Dec 4 11:05:26 2008 +0100 Merge commit 'v2.6.28-rc7' into x86/cleanups commit 4e7c4d7b6d980264194c2aecbbb1e1e4c7302b63 Author: Takashi Iwai Date: Thu Dec 4 10:25:37 2008 +0100 ALSA: hda - Add reference to HD-Audio.txt in ALSA-Configuration.txt Signed-off-by: Takashi Iwai commit 1fd8f2a3f9a91b287a876cef830b21baafc8a799 Author: Frederic Weisbecker Date: Wed Dec 3 23:45:11 2008 +0100 tracing/function-graph-tracer: handle ftrace_printk entries Handle the TRACE_PRINT entries from the function grapg tracer and output them as a C comment just below the function that called it, as if it was a comment inside this function. Example with an ftrace_printk inside might_sleep() function: void __might_sleep(char *file, int line) { static unsigned long prev_jiffy; /* ratelimiting */ ftrace_printk("Hi I'm a comment in might_sleep() :-)"); A chunk of a resulting trace: 0) | _reiserfs_free_block() { 0) | reiserfs_read_bitmap_block() { 0) | __bread() { 0) | __getblk() { 0) | __find_get_block() { 0) 0.698 us | mark_page_accessed(); 0) 2.267 us | } 0) | __might_sleep() { 0) | /* Hi I'm a comment in might_sleep() :-) */ 0) 1.321 us | } 0) 5.872 us | } 0) 7.313 us | } 0) 8.718 us | } And this patch brings two minor fixes: - The newline after a switch-out task has disappeared - The "|" sign just before the cpu number on task-switch has been deleted. 0) 0.616 us | pick_next_task_rt(); 0) 1.457 us | _spin_trylock(); 0) 0.653 us | _spin_unlock(); 0) 0.728 us | _spin_trylock(); 0) 0.631 us | _spin_unlock(); 0) 0.729 us | native_load_sp0(); 0) 0.593 us | native_load_tls(); ------------------------------------------ 0) cat-2834 => migrati-3 ------------------------------------------ 0) | finish_task_switch() { 0) 0.841 us | _spin_unlock_irq(); 0) 0.616 us | post_schedule_rt(); 0) 3.882 us | } Signed-off-by: Frederic Weisbecker Acked-by: Steven Rostedt Signed-off-by: Ingo Molnar commit 00ef9f7348dfd2fc223ec42aceb30836e86b367f Author: Peter Zijlstra Date: Thu Dec 4 09:00:17 2008 +0100 lockdep: change a held lock's class Impact: introduce new lockdep API Allow to change a held lock's class. Basically the same as the existing code to change a subclass therefore reuse all that. The XFS code will be able to use this to annotate their inode locking. Signed-off-by: Peter Zijlstra Signed-off-by: Ingo Molnar commit faec2ec505d397e9426754722b6e80d519c4938f Author: Liming Wang Date: Thu Dec 4 14:24:49 2008 +0800 ftrace: avoid duplicated function when writing set_graph_function Impact: fix a bug in function filter setting when writing function to set_graph_function, we should check whether it has existed in set_graph_function to avoid duplicating. Signed-off-by: Liming Wang Signed-off-by: Ingo Molnar commit 6b2539302bee8e88c99e3c7d80c16a04dbe5e2ad Author: Ingo Molnar Date: Thu Dec 4 09:18:28 2008 +0100 tracing: fix typo and missing inline function Impact: fix build bugs Signed-off-by: Ingo Molnar commit e32d89569128e76bdf84867be0928902ca9f7555 Author: Steven Rostedt Date: Thu Dec 4 00:26:41 2008 -0500 ftrace: add ability to only trace swapper tasks Impact: new feature This patch lets the swapper tasks of all CPUS be filtered by the set_ftrace_pid file. If '0' is echoed into this file, then all the idle tasks (aka swapper) is flagged to be traced. This affects all CPU idle tasks. Signed-off-by: Steven Rostedt Signed-off-by: Ingo Molnar commit 978f3a45d9499c7a447ca7615455cefb63d44165 Author: Steven Rostedt Date: Thu Dec 4 00:26:40 2008 -0500 ftrace: use struct pid Impact: clean up, extend PID filtering to PID namespaces Eric Biederman suggested using the struct pid for filtering on pids in the kernel. This patch is based off of a demonstration of an implementation that Eric sent me in an email. Signed-off-by: Steven Rostedt Signed-off-by: Ingo Molnar commit 5ef6476190d24419a9a537baa0b5641845136989 Author: Steven Rostedt Date: Thu Dec 4 00:26:39 2008 -0500 pid: fix the do_each_pid_task() macro Impact: macro side-effects fix This patch adds parenthesis around 'pid' in the do_each_pid_task macro to allow callers to pass in more complex parameters. e.g. do_each_pid_task(*pid, type, task) Signed-off-by: Steven Rostedt Signed-off-by: Ingo Molnar commit 804a685162a7080386714166776f57255a75238e Author: Steven Rostedt Date: Wed Dec 3 15:36:59 2008 -0500 ftrace: trace single pid for function graph tracer Impact: New feature This patch makes the changes to set_ftrace_pid apply to the function graph tracer. # echo $$ > /debugfs/tracing/set_ftrace_pid # echo function_graph > /debugfs/tracing/current_tracer Will cause only the current task to be traced. Note, the trace flags are also inherited by child processes, so the children of the shell will also be traced. Signed-off-by: Steven Rostedt Signed-off-by: Ingo Molnar commit 0ef8cde56ab92ab3f65221246dc1622c6b5068b3 Author: Steven Rostedt Date: Wed Dec 3 15:36:58 2008 -0500 ftrace: use task struct trace flag to filter on pid Impact: clean up Use the new task struct trace flags to determine if a process should be traced or not. Note: this moves the searching of the pid to the slow path of setting the pid field. This needs to be converted to the pid name space. Signed-off-by: Steven Rostedt Signed-off-by: Ingo Molnar commit ea4e2bc4d9f7370e57a343ccb5e7c0ad3222ec3c Author: Steven Rostedt Date: Wed Dec 3 15:36:57 2008 -0500 ftrace: graph of a single function This patch adds the file: /debugfs/tracing/set_graph_function which can be used along with the function graph tracer. When this file is empty, the function graph tracer will act as usual. When the file has a function in it, the function graph tracer will only trace that function. For example: # echo blk_unplug > /debugfs/tracing/set_graph_function # cat /debugfs/tracing/trace [...] ------------------------------------------ | 2) make-19003 => kjournald-2219 ------------------------------------------ 2) | blk_unplug() { 2) | dm_unplug_all() { 2) | dm_get_table() { 2) 1.381 us | _read_lock(); 2) 0.911 us | dm_table_get(); 2) 1. 76 us | _read_unlock(); 2) + 12.912 us | } 2) | dm_table_unplug_all() { 2) | blk_unplug() { 2) 0.778 us | generic_unplug_device(); 2) 2.409 us | } 2) 5.992 us | } 2) 0.813 us | dm_table_put(); 2) + 29. 90 us | } 2) + 34.532 us | } You can add up to 32 functions into this file. Currently we limit it to 32, but this may change with later improvements. To add another function, use the append '>>': # echo sys_read >> /debugfs/tracing/set_graph_function # cat /debugfs/tracing/set_graph_function blk_unplug sys_read Using the '>' will clear out the function and write anew: # echo sys_write > /debug/tracing/set_graph_function # cat /debug/tracing/set_graph_function sys_write Note, if you have function graph running while doing this, the small time between clearing it and updating it will cause the graph to record all functions. This should not be an issue because after it sets the filter, only those functions will be recorded from then on. If you need to only record a particular function then set this file first before starting the function graph tracer. In the future this side effect may be corrected. The set_graph_function file is similar to the set_ftrace_filter but it does not take wild cards nor does it allow for more than one function to be set with a single write. There is no technical reason why this is the case, I just do not have the time yet to implement that. Note, dynamic ftrace must be enabled for this to appear because it uses the dynamic ftrace records to match the name to the mcount call sites. Signed-off-by: Steven Rostedt Signed-off-by: Ingo Molnar commit b29144c317fb748dae6d72c0f88eda9d43165b8d Merge: b8307db e8e1abe 764f3b9 Author: Ingo Molnar Date: Thu Dec 4 09:07:44 2008 +0100 Merge branches 'tracing/ftrace' and 'tracing/function-graph-tracer' into tracing/core commit b8307db2477f9c551e54e0c7b643ea349a3349cd Merge: f0461d0 061e41f Author: Ingo Molnar Date: Thu Dec 4 09:07:19 2008 +0100 Merge commit 'v2.6.28-rc7' into tracing/core commit cb9c34e6d090d376b77becaa5d29a65dec7f4272 Merge: 470c662 061e41f Author: Ingo Molnar Date: Thu Dec 4 08:52:14 2008 +0100 Merge commit 'v2.6.28-rc7' into core/locking commit 4151d154efc2eb1e48b0950e93660691426dd23f Author: Takashi Iwai Date: Thu Dec 4 07:49:15 2008 +0100 ALSA: hda - Add forgotten module alias for Nvidia MCP67 HDMI Signed-off-by: Takashi Iwai commit e5f73435683122612742eb17252a6854b28f2511 Author: Scott Waye Date: Thu Dec 4 07:43:18 2008 +0100 ALSA: hda - Add MCP67 HDMI support Added id for MCP67 HDMI codec. Signed-off-by: Scott Waye Signed-off-by: Takashi Iwai commit fb6f552930e52699c8ac452c5a79ec3e97e6fc73 Author: Ronen Shitrit Date: Wed Sep 17 10:08:05 2008 +0300 [ARM] Orion: add the option to support different ehci phy initialization The Orion ehci driver serves the Orion, kirkwood and DD Soc families. Since each of those integrate a different USB phy we should have the ability to use few initialization sequences or to leave the boot loader phy settings as is. Signed-off-by: Ronen Shitrit commit 36cbac5909d227c4de31fb93e1dd99c839c9cb6f Author: Joe Perches Date: Wed Dec 3 22:27:25 2008 -0800 net/ipv6/ip6mr.c: Use kmem_cache_zalloc, remove memset Signed-off-by: Joe Perches Signed-off-by: David S. Miller commit df66f858074370a7ac7b21af2940e7a3a6af17c2 Author: Wang Chen Date: Wed Dec 3 22:24:05 2008 -0800 if_usb: Kill directly reference of netdev->priv Simply replace netdev->priv with netdev_priv(). Signed-off-by: Wang Chen Signed-off-by: David S. Miller commit 48502180e4b47fb2b1e7834fe0f16f4e553a053d Author: Luotao Fu Date: Wed Dec 3 22:23:18 2008 -0800 smc91x: remove isa stuff from smc91x driver ISA support in smc91x is incomplete. I doubt there're any smc91x isa card. This driver is greatly used on arm pxa platforms. Hence we remove the isa stuff from smc91x driver. Signed-off-by: Luotao Fu Acked-by: Steve Glendinning Signed-off-by: David S. Miller commit 999890b21a8eff7559a140fcbd2cd4b34e685c76 Author: Benjamin Thery Date: Wed Dec 3 22:22:16 2008 -0800 net: /proc/net/ip_mr_cache, display Iif as a signed short Today, iproute2 fails to show multicast forwarding unresolved cache entries while scanning /proc/net/ip_mr_cache. Indeed, it expects to see -1 in 'Iif' column to identify unresolved entries but the kernel outputs 65535. It's a signed/unsigned issue: 'Iif', the source interface, is retrieved from member mfc_parent in struct mfc_cache. mfc_parent is a vifi_t: unsigned short, but is displayed in ipmr_mfc_seq_show() as "%-3d", signed integer. In unresolevd entries, the 65535 value (0xFFFF) comes from this define: #define ALL_VIFS ((vifi_t)(-1)) That may explains why the guy who added support for this in iproute2 thought a -1 should be expected. I don't know if this must be fixed in kernel or in iproute2. Who is right? What is the correct API? How was it designed originally? I let you decide if it should goes in the kernel or be fixed in iproute2. Signed-off-by: Benjamin Thery Signed-off-by: David S. Miller commit 1ea472e2dedcf23d5f31c63fc790cccfab93c0de Author: Benjamin Thery Date: Wed Dec 3 22:21:47 2008 -0800 net: fix /proc/net/ip_mr_cache display - V2 /proc/net/ip_mr_cache and /proc/net/ip6_mr_cache displays garbage when showing unresolved mfc_cache entries. [root@qemu tests]# cat /proc/net/ip_mr_cache Group Origin Iif Pkts Bytes Wrong Oifs 014C00EF 010014AC 1 10 10050 0 2:1 3:1 024C00EF 010014AC 65535 514 2 -559067475 The first line is correct. It is a resolved cache entry, 10 packets used it... The second line represents an unresolved entry, and the columns Pkts(4th), Bytes(5th) and Wrong(6th) just show garbage. In struct mfc_cache, there's an union to store data for resolved and unresolved cases. And what ipmr_mfc_seq_show() is printing in these columns for the unresolved entries is some bytes from mfc_cache.mfc_un.res. Bad. (eg. In our case -559067475 is in fact 0xdead4ead which is the spinlock magic from mfc_cache.mfc_un.unres.unresolved.lock.magic). This patch replaces the garbage data written in these columns for the unresolved entries by '0' (zeros) which is more correct. This change doesn't break the ABI. Also, mfc->mfc_un.res.pkt, mfc->mfc_un.res.bytes, mfc->mfc_un.res.wrong_if are unsigned long. It applies on top of net-next-2.6. The patch for net-2.6 is slightly different because of the NIP6_FMT to %pI6 conversion that was made in the seq_printf. Changelog: ========== V2: * Instead of breaking the ABI by suppressing the columns that have no meaning for unresolved entries, fill them with 0 values. Signed-off-by: Benjamin Thery Signed-off-by: David S. Miller commit 9de6d99a7559d20f7ababd1cacdc61ee5315f3c1 Author: Alexey Dobriyan Date: Wed Dec 3 22:19:52 2008 -0800 netdev: remove pathetic compile-command lines -m486, -O6 are partircularly amusing. Remove some other useless lines near as well. Signed-off-by: Alexey Dobriyan Signed-off-by: David S. Miller commit ec98ce480ada787f2cfbd696980ff3564415505b Merge: 3496f92 feaf384 Author: James Morris Date: Thu Dec 4 17:16:36 2008 +1100 Merge branch 'master' into next Conflicts: fs/nfsd/nfs4recover.c Manually fixed above to use new creds API functions, e.g. nfs4_save_creds(). Signed-off-by: James Morris commit 8865c418caf4e9dd2c24bdfae3a5a4106e143e60 Author: David Woodhouse Date: Wed Dec 3 22:12:38 2008 -0800 atm: 32-bit ioctl compatibility We lack compat ioctl support through most of the ATM code. This patch deals with most of it, and I can now at least use BR2684 and PPPoATM with 32-bit userspace. I haven't added a .compat_ioctl method to struct atm_ioctl, because AFAICT none of the current users need any conversion -- so we can just call the ->ioctl() method in every case. I looked at br2684, clip, lec, mpc, pppoatm and atmtcp. In svc_compat_ioctl() the only mangling which is needed is to change COMPAT_ATM_ADDPARTY to ATM_ADDPARTY. Although it's defined as _IOW('a', ATMIOC_SPECIAL+4,struct atm_iobuf) it doesn't actually _take_ a struct atm_iobuf as an argument -- it takes a struct sockaddr_atmsvc, which _is_ the same between 32-bit and 64-bit code, so doesn't need conversion. Almost all of vcc_ioctl() would have been identical, so I converted that into a core do_vcc_ioctl() function with an 'int compat' argument. I've done the same with atm_dev_ioctl(), where there _are_ a few differences, but still it's relatively contained and there would otherwise have been a lot of duplication. I haven't done any of the actual device-specific ioctls, although I've added a compat_ioctl method to struct atmdev_ops. Signed-off-by: David Woodhouse Signed-off-by: David S. Miller commit dcd39c90290297f6e6ed8a04bb20da7ac2b043c5 Author: Stephen Hemminger Date: Wed Dec 3 22:10:38 2008 -0800 ne-h8300: convert to net_device_ops Another device using 8390 library that needs converting. Signed-off-by: Stephen Hemminger Signed-off-by: David S. Miller commit 5618f0d1193d6b051da9b59b0e32ad24397f06a4 Author: Stephen Hemminger Date: Wed Dec 3 22:10:10 2008 -0800 hydra: convert to net_device_ops Another device using 8390 library that needs converting. Signed-off-by: Stephen Hemminger Signed-off-by: David S. Miller commit b6114794a1c394534659f4a17420e48cf23aa922 Author: Stephen Hemminger Date: Wed Dec 3 22:09:30 2008 -0800 zorro8390: convert to net_device_ops Another device using 8390 library that needs converting. Signed-off-by: Stephen Hemminger Signed-off-by: David S. Miller commit 3e1d7cd2dc708f2054b2180e05ae283b9f91d543 Author: Wang Chen Date: Wed Dec 3 22:07:10 2008 -0800 e1000: e1000_adapter->polling_netdev is useless Commit bea3348eef27e6044b6161fd04c3152215f96411 "[NET]: Make NAPI polling independent of struct net_device objects." made NAPI polling to be independent of net_device. So e1000_adapter->polling_netdev is no longer used. Kill it. Signed-off-by: Wang Chen Signed-off-by: David S. Miller commit a4d2f34b7c3ff8a53df755961faf8186c6e7b464 Author: Wang Chen Date: Wed Dec 3 22:05:58 2008 -0800 ixgbe: function comment typo Seems the ixgbe's code was copied from e1000. The comment talks about something not exist. Signed-off-by: Wang Chen Acked-by: Jeff Kirsher Signed-off-by: David S. Miller commit e4e6c38cab208b369bfc8e9a57186581bf0b9987 Author: Guo-Fu Tseng Date: Wed Dec 3 21:20:04 2008 -0800 jme: Remove 64 and 40 bit dma_mask Although the hardware supports the 64bit DMA address in design, but later found that it actually not working. This patch reduced the rang to 32bit. Found-by: "Ethan" Signed-off-by: "Guo-Fu Tseng" Acked-by: Jeff Garzik Signed-off-by: David S. Miller commit 4f40bf46897ddb57f149c0758f0cef0cc7782f7f Author: akeemting Date: Wed Dec 3 21:19:16 2008 -0800 jme: GHC register control fix for new hardware Due to the hardware design, except the first chip on the market, other chips needs to setup the clock source for MAC processor implicitly through Global Host Control Register(GHC). (Strange design huh?) 10/100M uses the PCI-E as clock source, and 1G uses GPHY. And I reordered the code a little, to make it easier to read. Found-by: "Ethan" Fixed-by: "akeemting" Signed-off-by: "Guo-Fu Tseng" Acked-by: Jeff Garzik Signed-off-by: David S. Miller commit 59e4220a1112bf65924bc2e47b5757911b6f349b Author: Jarek Poplawski Date: Wed Dec 3 21:17:27 2008 -0800 pkt_sched: sch_htb: Replace HTB_ACCNT() macro with inlines Replace HTB_ACCNT() macro with inlines to make it more readable. Signed-off-by: Jarek Poplawski Signed-off-by: David S. Miller commit 23cb913d25b20ed88b36a26f337cfdb4605e63f4 Author: Jarek Poplawski Date: Wed Dec 3 21:16:58 2008 -0800 pkt_sched: sch_htb: Remove L2T() L2T() is currently used only in one place (and has one spurious parameter, btw), so let's: 'get rid of L2T completely, and just use "qdisc_l2t(rate, size)" directly.' - quote & feedback from David S. Miller. Signed-off-by: Jarek Poplawski Signed-off-by: David S. Miller commit 244ef9b9176c7c7a095f4738d353a3a60b88097d Author: Wang Chen Date: Wed Dec 3 21:14:04 2008 -0800 bond: Kill directly reference of netdev->priv Simply replace netdev->priv with netdev_priv(). Signed-off-by: Wang Chen Signed-off-by: David S. Miller commit 97341249c4c30cf0eea5439ce2f36ee887e640fe Author: Wang Chen Date: Wed Dec 3 21:13:37 2008 -0800 mptlan: Kill directly reference of netdev->priv Simply replace netdev->priv with netdev_priv(). Signed-off-by: Wang Chen Signed-off-by: David S. Miller commit 0eade1f930fa3ba6461b34baf3ed8fa7c4abc40f Author: Wang Chen Date: Wed Dec 3 21:13:13 2008 -0800 dvb: Kill directly reference of netdev->priv Simply replace netdev->priv with netdev_priv(). Signed-off-by: Wang Chen Signed-off-by: David S. Miller commit c19f7a34f7cc7543c62ad065952e146dc77d1a38 Author: Jarek Poplawski Date: Wed Dec 3 21:09:45 2008 -0800 pkt_sched: sch_htb: Clean htb_class prio and quantum fields While implementing htb_parent_to_leaf() there where added backup prio and quantum struct htb_class fields to preserve these values for inner classes in case of their return to leaf. This patch cleans this a bit by removing union leaf duplicates. Signed-off-by: Jarek Poplawski Signed-off-by: David S. Miller commit 633fe66ed8385ccf8b4a74a00a4c6eb40850d65f Author: Jarek Poplawski Date: Wed Dec 3 21:09:10 2008 -0800 pkt_sched: sch_htb: Remove htb_sched nwc_hit field Remove practically unused struct htb_sched nwc_hit field. Signed-off-by: Jarek Poplawski Signed-off-by: David S. Miller commit 4164d661b8c9602fbbf651a33377d2c51f68c451 Author: Jarek Poplawski Date: Wed Dec 3 21:08:44 2008 -0800 pkt_sched: sch_htb: Remove htb_class aprio field Remove practically unused struct htb_class aprio field. Signed-off-by: Jarek Poplawski Signed-off-by: David S. Miller commit cb52deba12f27af90a46d2f8667a64888118a888 Author: Ed Swierk Date: Mon Dec 1 12:24:43 2008 +0000 forcedeth: power down phy when interface is down Bring the physical link down when the interface is down by placing the PHY in power-down state, unless WOL is enabled. This mirrors the behavior of other drivers including e1000 and tg3. Without the patch, ifconfig down leaves the physical link up, which confuses datacenter users who expect the link lights both on the NIC and the switch to go out when they bring an interface down. Furthermore, even though the phy is powered on, autonegotiation stops working, so a normally gigabit link might suddenly become 100 Mbit half-duplex when the interface goes down, and become gigabit when it comes up again. Ayaz said: I would not include this patch until further testing is performed. NVIDIA MCP chips use 3rd party PHY vendors. By powering down the phy, it could have adverse affects on certain phys. Arthur Jones said: I just ran across this patch. Tested on a Marvell 88E1121R (GigE PHY) and works great. This is a very important feature for me. Signed-off-by: Ed Swierk Tested-by: Arthur Jones Signed-off-by: Andrew Morton Signed-off-by: David S. Miller commit a316084c2f18fd5371f81cfcfc8348a71c4a6fe8 Author: Andrew Morton Date: Mon Dec 1 12:24:46 2008 +0000 drivers/net/smc911x.c: smc911x_drv_probe() cleanup Save an ugly ifdef. Signed-off-by: Andrew Morton Signed-off-by: David S. Miller commit fd568fc3fe46fd87087717811d2f9ed27bb71558 Author: Julia Lawall Date: Mon Dec 1 12:24:24 2008 +0000 drivers/isdn/mISDN: use ARRAY_SIZE ARRAY_SIZE is more concise to use when the size of an array is divided by the size of its type or the size of its first element. The semantic patch that makes this change is as follows: (http://www.emn.fr/x-info/coccinelle/) // @i@ @@ #include @depends on i using "paren.iso"@ type T; T[] E; @@ - (sizeof(E)/sizeof(T)) + ARRAY_SIZE(E) // Signed-off-by: Julia Lawall Signed-off-by: Andrew Morton Signed-off-by: David S. Miller commit 5a8d0f3c7af801c7263fbba39952504d6fc7ff60 Author: Christoph Hellwig Date: Wed Dec 3 12:20:40 2008 +0100 move inode tracing out of xfs_vnode. Move the inode tracing into xfs_iget.c / xfs_inode.h and kill xfs_vnode.c now that it's empty. Signed-off-by: Christoph Hellwig Reviewed-by: Dave Chinner Signed-off-by: Niv Sardi commit 25e41b3d521f52771354a718042a753a3e77df0a Author: Christoph Hellwig Date: Wed Dec 3 12:20:39 2008 +0100 move vn_iowait / vn_iowake into xfs_aops.c The whole machinery to wait on I/O completion is related to the I/O path and should be there instead of in xfs_vnode.c. Also give the functions more descriptive names. Signed-off-by: Christoph Hellwig Reviewed-by: Dave Chinner Signed-off-by: Niv Sardi commit 583fa586f0e4a8222dd091ce971b85c1364f3d92 Author: Christoph Hellwig Date: Wed Dec 3 12:20:38 2008 +0100 kill vn_ioerror There's just one caller of this helper, and it's much cleaner to just merge the xfs_do_force_shutdown call into it. Signed-off-by: Christoph Hellwig Reviewed-by: Dave Chinner Signed-off-by: Niv Sardi commit f95099ba5ae06b96a9c17ef93cc655f686d79077 Author: Christoph Hellwig Date: Wed Dec 3 12:20:37 2008 +0100 kill xfs_unmount_flush There's almost nothing left in this function, instead remove the IRELE on the real times inodes and the call to XFS_QM_UNMOUNT into xfs_unmountfs. For the regular unmount case that means it now also happenes after dmapi notification, but otherwise there is no difference in behaviour. Signed-off-by: Christoph Hellwig Reviewed-by: Dave Chinner Signed-off-by: Niv Sardi commit e57481dc269cd3773b22f53bfb869308780a7bf1 Author: Christoph Hellwig Date: Wed Dec 3 12:20:36 2008 +0100 no explicit xfs_iflush for special inodes during unmount Currently we explicitly call xfs_iflush on the quota, real-time and root inodes from xfs_unmount_flush. But we just called xfs_sync_inodes with SYNC_ATTR and do an XFS_bflush aka xfs_flush_buftarg to make sure all inodes are on disk already, so there is no need for these special cases. Signed-off-by: Christoph Hellwig Reviewed-by: Dave Chinner Signed-off-by: Niv Sardi commit 070c4616ec62fc207e2aeef9d0f28af294c651d0 Author: Christoph Hellwig Date: Wed Dec 3 12:20:35 2008 +0100 use xfs_trans_ijoin in xfs_trans_iget Use xfs_trans_ijoin in xfs_trans_iget in case we need to join an inode into a transaction instead of opencoding it. Based on a discussion with and an incomplete patch from Niv Sardi. Signed-off-by: Christoph Hellwig Reviewed-by: Dave Chinner Signed-off-by: Niv Sardi commit b56757becf8bc62292263a24a23cf55edb4be55f Author: Christoph Hellwig Date: Wed Dec 3 12:20:34 2008 +0100 remove leftovers of shared read-only support We never supported shared read-only filesystems, so remove the dead code left over from IRIX for it. Signed-off-by: Christoph Hellwig Reviewed-by: Dave Chinner Signed-off-by: Niv Sardi commit e88f11abe09d14718b82a991db118c5e485aa897 Author: Christoph Hellwig Date: Wed Dec 3 12:20:33 2008 +0100 remove unused m_inode_quiesce member from struct xfs_mount Signed-off-by: Christoph Hellwig Reviewed-by: Dave Chinner Signed-off-by: Niv Sardi commit 6bd16ff27060819d16b3e7abe59b6644b349aea3 Author: Christoph Hellwig Date: Wed Dec 3 12:20:32 2008 +0100 kill dead inode flags There are a few inode flags around that aren't used anywhere, so remove them. Also update xfsidbg to display all used inode flags correctly. Signed-off-by: Christoph Hellwig Reviewed-by: Dave Chinner Signed-off-by: Niv Sardi commit 5efcbb853bc2f051d720a191268f8dd901fea9c2 Author: Christoph Hellwig Date: Wed Dec 3 12:20:31 2008 +0100 cleanup xfs_sb.h feature flag helpers The various inlines in xfs_sb.h that deal with the superblock version and fature flags were converted from macros a while ago, and this show by the odd coding style full of useless braces and backslashes and the avoidance of conditionals. Clean these up to look like normal C code. Signed-off-by: Christoph Hellwig Reviewed-by: Donald Douwsma Signed-off-by: Niv Sardi commit df6771bde14551eceeacf331666a92735e0773ac Author: Christoph Hellwig Date: Wed Dec 3 12:20:30 2008 +0100 kill dead quota flags Signed-off-by: Christoph Hellwig Reviewed-by: Dave Chinner Signed-off-by: Niv Sardi commit 63ad2a5c4cf37e3242142eee8a8dcd4a8515302e Author: Christoph Hellwig Date: Wed Dec 3 12:20:29 2008 +0100 remove dead code from sv_t implementation Signed-off-by: Christoph Hellwig Reviewed-by: Dave Chinner Signed-off-by: Niv Sardi commit 39e2defe73106ca2e1c85e5286038a0a13f49513 Author: Christoph Hellwig Date: Wed Dec 3 12:20:28 2008 +0100 reduce l_icloglock roundtrips All but one caller of xlog_state_want_sync drop and re-acquire l_icloglock around the call to it, just so that xlog_state_want_sync can acquire and drop it. Move all lock operation out of l_icloglock and assert that the lock is held when it is called. Note that it would make sense to extende this scheme to xlog_state_release_iclog, but the locking in there is more complicated and we'd like to keep the atomic_dec_and_lock optmization for those callers not having l_icloglock yet. Signed-off-by: Christoph Hellwig Reviewed-by: Dave Chinner Signed-off-by: Niv Sardi commit d9424b3c4a1e96f87c6cfd4d8dd2f8d9bbb4dcc5 Author: Christoph Hellwig Date: Wed Dec 3 12:20:27 2008 +0100 stop using igrab in xfs_vn_link ->link is guranteed to get an already reference inode passed so we can do a simple increment of i_count instead of using igrab and thus avoid banging on the global inode_lock. This is what most filesystems already do. Also move the increment after the call to xfs_link to simplify error handling. Signed-off-by: Christoph Hellwig Reviewed-by: Dave Chinner Signed-off-by: Niv Sardi commit 5d765b976c3a41faf9a73718fb8cc5833990a8ef Author: Christoph Hellwig Date: Wed Dec 3 12:20:26 2008 +0100 kill xfs_buf_iostart xfs_buf_iostart is a "shared" helper for xfs_buf_read_flags, xfs_bawrite, and xfs_bdwrite - except that there isn't much shared code but rather special cases for each caller. So remove this function and move the functionality to the caller. xfs_bawrite and xfs_bdwrite are now big enough to be moved out of line and the xfs_buf_read_flags is moved into a new helper called _xfs_buf_read. Signed-off-by: Christoph Hellwig Reviewed-by: Dave Chinner Signed-off-by: Niv Sardi commit 5cafdeb2891a415a5dbf0ad80f0afedf8369e6bb Author: Christoph Hellwig Date: Wed Dec 3 12:20:25 2008 +0100 cleanup the inode reclaim path Merge xfs_iextract and xfs_idestroy into xfs_ireclaim as they are never called individually. Also rewrite most comments in this area as they were severly out of date. Signed-off-by: Christoph Hellwig Reviewed-by: Dave Chinner Signed-off-by: Niv Sardi commit ccd0be6cfc6943c4e0b3e3cdb598e0b7354a2d78 Author: Christoph Hellwig Date: Wed Dec 3 12:20:24 2008 +0100 remove unused prototypes for xfs_ihash_init / xfs_ihash_free Signed-off-by: Christoph Hellwig Reviewed-by: Eric Sandeen Reviewed-by: Dave Chinner Signed-off-by: Niv Sardi commit 73e6335c14209e508bec8ca7985d1fbde183bd1f Author: Christoph Hellwig Date: Wed Dec 3 12:20:23 2008 +0100 remove unused behvavior cruft in xfs_super.h Signed-off-by: Christoph Hellwig Reviewed-by: Dave Chinner Signed-off-by: Niv Sardi commit 2234d54d3d855d6ffae88a24772a9389d6755e0c Author: Christoph Hellwig Date: Wed Dec 3 12:20:22 2008 +0100 remove useless mnt_want_write call in xfs_write When mnt_want_write was introduced a call to it was added around xfs_ichgtime, but there is no need for this because a file can't be open read/write on a r/o mount, and a mount can't degrade r/o while we still have files open for writing. As the mnt_want_write changes were never merged into the CVS tree this patch is for mainline only. Signed-off-by: Christoph Hellwig Reviewed-by: Dave Chinner Signed-off-by: Niv Sardi commit ddcd856d81861a523d79d077facd875da1f66792 Author: Christoph Hellwig Date: Wed Dec 3 07:55:34 2008 -0500 [XFS] fix compile on 32 bit systems The recent compat patches make xfs_file.c include xfs_ioctl32.h unconditional, which breaks the build on 32 bit systems which don't have the various compat defintions. Remove the include and move the defintion of xfs_file_compat_ioctl to xfs_ioctl.h so that we can avoid including all the compat defintions in xfs_file.c Signed-off-by: Christoph Hellwig Tested-by: Kamalesh Babulal Signed-off-by: Lachlan McIlroy commit 838361fe7828a3ad1aae8dee87620474931dac5e Author: Wang Chen Date: Wed Dec 3 15:49:46 2008 -0800 isdn: Kill directly reference of netdev->priv Simply use netdev_priv() to replace netdev->priv. Signed-off-by: Wang Chen Signed-off-by: David S. Miller commit 25dd7e6aedff054736f9edfd05bb585d810d8543 Author: Wang Chen Date: Wed Dec 3 15:49:07 2008 -0800 hysdn: Kill directly reference of netdev->priv Usually, netdev->priv should point to the memory of private data which is allocated in alloc_netdev(). netdev_priv() is used to get the address of the private data. Change the netdev->priv pointer to another memory is wrong. Use netdev->ml_priv for this case. Signed-off-by: Wang Chen Signed-off-by: David S. Miller commit 52404881984e2d447f920a23e3bb63262dfc77f3 Author: Rémi Denis-Courmont Date: Wed Dec 3 15:42:56 2008 -0800 Phonet: basic net namespace support Signed-off-by: Rémi Denis-Courmont Signed-off-by: David S. Miller commit d81d228567f55af517796638075dbbce9b40d7af Author: Martin Willi Date: Wed Dec 3 15:38:07 2008 -0800 xfrm: Accept XFRM_STATE_AF_UNSPEC SAs on IPv4/IPv6 only hosts Installing SAs using the XFRM_STATE_AF_UNSPEC fails on hosts with support for one address family only. This patch accepts such SAs, even if the processing of not supported packets will fail. Signed-off-by: Martin Willi Signed-off-by: David S. Miller commit 2884f00b94be73a6a7875bada739bf9bb2f9a1b6 Author: Pavel Machek Date: Wed Nov 26 17:15:21 2008 +0100 Document handling of bad memory Document how to deal with bad memory reported with memtest. Signed-off-by: Jan-Simon Möller Signed-off-by: Pavel Machek Signed-off-by: Jonathan Corbet commit 1c12757c56b4c9ab5aab1f6c1248ae4ea8af3a01 Author: Paul E. McKenney Date: Thu Nov 13 18:11:52 2008 -0800 Document RCU and unloadable modules Signed-off-by: Paul E. McKenney Reviewed-by: Lai Jiangshan Signed-off-by: Jonathan Corbet commit ff80aa97c9b4aae9449a608fe1bc3e7b5121cd66 Author: Peter Korsgaard Date: Tue Dec 2 21:58:06 2008 +0100 setlocalversion: add git-svn support Print svn revision in addition to git info on git-svn repos. Signed-off-by: Peter Korsgaard Signed-off-by: Sam Ravnborg commit 167d6a02c1dbdd84d49e87df7718f18fa31cb971 Author: Peter Korsgaard Date: Tue Dec 2 21:58:05 2008 +0100 setlocalversion: print correct subversion revision Output svn revision of latest change, instead of repo revision as thats what we're interested in (especially when working on a branch/tag). Signed-off-by: Peter Korsgaard Signed-off-by: Sam Ravnborg commit 7ec80ddf0455ff3854a5ca524952d91b5eb676b2 Author: wanzongshun Date: Wed Dec 3 03:55:38 2008 +0100 [ARM] 5338/1: Add Nuvoton W90P910 Platform support Add Nuvoton W90X900 ARM9 plat support to linux arm tree, Now, this patch include only W90P910 EVB of W90P910 CPU, Its driver is nothing. Signed-off-by: Wan ZongShun Signed-off-by: Russell King commit 846442c8ddc02e378e7b981f0928449ed1ff1e1f Author: Arjan van de Ven Date: Mon Dec 1 14:21:06 2008 -0800 scripts: improve the decodecode script kerneloops.org has been using an improved "decodecode" script, specifically it has a special marker that shows which line in the assembly the oops happened at, like this: 20: 83 e0 03 and $0x3,%eax 23: 09 d8 or %ebx,%eax 25: 85 db test %ebx,%ebx 27: 89 02 mov %eax,(%edx) 29: 74 0f je 0x3a 2b:* 3b 73 04 cmp 0x4(%ebx),%esi <-- trapping instruction 2e: 75 05 jne 0x35 30: 89 53 04 mov %edx,0x4(%ebx) 33: eb 07 jmp 0x3c 35: 89 53 08 mov %edx,0x8(%ebx) this patch updates the kernel copy to also have this functionality. Signed-off-by: Arjan van de Ven Reviewed-by: WANG Cong Signed-off-by: Andrew Morton Signed-off-by: Sam Ravnborg commit c39dd50240b97bfe4fcc49b41e1fe56675afcb94 Author: Jeremy Kerr Date: Mon Dec 1 14:21:03 2008 -0800 scripts/package: allow custom options to rpm Add a RPMOPTS make variable to allow arbitrary options to be passed to rpm during 'make rpm-pkg'. For example: make RPMOPTS="--define '_topdir /home/jk/rpm'" rpm-pkg Signed-off-by: Jeremy Kerr Signed-off-by: Andrew Morton Signed-off-by: Sam Ravnborg commit 5dae9a550a7478c8d6a7da2336d3ceeebf90ab84 Author: Andreas Gruenbacher Date: Mon Dec 1 14:21:03 2008 -0800 genksyms: allow to ignore symbol checksum changes This adds an "override" keyword for use in *.symvers / *.symref files. When a symbol is overridden, the symbol's old definition will be used for computing checksums instead of the new one, preserving the previous checksum. (Genksyms will still warn about the change.) This is meant to allow distributions to hide minor actual as well as fake ABI changes. (For example, when extra type information becomes available because additional headers are included, this may change checksums even though none of the types used have actully changed.) This approach also allows to get rid of "#ifdef __GENKSYMS__" hacks in the code, which are currently used in some vendor kernels to work around checksum changes. Signed-off-by: Andreas Gruenbacher Cc: Randy Dunlap Signed-off-by: Andrew Morton Signed-off-by: Sam Ravnborg commit 64e6c1e12372840e7caf8e25325a9e9c5fd370e6 Author: Andreas Gruenbacher Date: Mon Dec 1 14:21:01 2008 -0800 genksyms: track symbol checksum changes Sometimes it is preferable to avoid changes of exported symbol checksums (to avoid breaking externally provided modules). When a checksum change occurs, it can be hard to figure out what caused this change: underlying types may have changed, or additional type information may simply have become available at the point where a symbol is exported. Add a new --reference option to genksyms which allows it to report why checksums change, based on the type information dumps it creates with the --dump-types flag. Genksyms will read in such a dump from a previous run, and report which symbols have changed (and why). The behavior can be controlled for an entire build as follows: If KBUILD_SYMTYPES is set, genksyms uses --dump-types to produce *.symtypes dump files. If any *.symref files exist, those will be used as the reference to check against. If KBUILD_PRESERVE is set, checksum changes will fail the build. Signed-off-by: Andreas Gruenbacher Cc: Randy Dunlap Signed-off-by: Andrew Morton Signed-off-by: Sam Ravnborg commit a680eedc6c621c75695c68198533fc3c98f4053b Author: Sam Ravnborg Date: Wed Dec 3 22:24:13 2008 +0100 tags and cscope support really belongs in a shell script as they do not benefit from the make functionality. Moving the support to a shell script has several benefits: - The readability of the code has increased a lot - More people is able to extend the tags support - We see less changes to the top-level Makefile The shell script version includes improvements from: Alexey Dobriyan (jump to kconfig symbols) Alexey Dobriyan (drop ./ in paths) Ian Campbell (simplified find algorithms) This version has a few caveats: => It does not support ALLSOURCE_ARCHS - it is easy to add if it is really used => It assumes all archs have moved to arch/$ARCH/include - until that happens we have a few additional hits in the archs Signed-off-by: Sam Ravnborg Cc: Alexey Dobriyan Tested-by: Ian Campbell commit 361425fc32422c9716fc69e52455b7d44fc02c18 Author: Haiying Wang Date: Wed Dec 3 14:03:09 2008 -0500 powerpc/85xx: Create dts for each core in CAMP mode for MPC8572DS This patch creates the dts files for each core and splits the devices between the two cores for MPC8572DS. core0 has memory, L2, i2c, dma1, global-util, eth0, eth1, crypto, pci0, pci1. core1 has L2, dma2, eth2, eth3, pci2, msi. MPIC is shared between two cores but each core will protect its interrupts from other core by using "protected-sources" of mpic. Signed-off-by: Haiying Wang Signed-off-by: Kumar Gala commit f6682f915760ccfe57ef1b6cd5ff2d8f2bf8c1d4 Author: Sam Ravnborg Date: Wed Dec 3 22:11:14 2008 +0100 kconfig: fix options to check-lxdialog.sh As noted by Bernhard - fix it up. Cc: Bernhard Reutner-Fischer Signed-off-by: Sam Ravnborg commit 3b1ec9fb8197197d5e3bcca3a05e82d4f50f11bc Author: Sally, Gene Date: Wed Oct 29 09:54:17 2008 -0400 kbuild: gen_init_cpio expands shell variables in file names Modify gen_init_cpio so that lines that specify files can contain what looks like a shell variable that's expanded during processing. For example: file /sbin/kinit ${RFS_BASE}/usr/src/klibc/kinit/kinit 0755 0 0 given RFS_BASE is "/some/directory" in the environment would be expanded to file /sbin/kinit /some/directory/usr/src/klibc/kinit/kinit 0755 0 0 If several environment variables appear in a line, they are all expanded with processing happening from left to right. Undefined variables expand to a null string. Syntax errors stop processing, letting the existing error handling show the user offending line. This patch helps embedded folks who frequently create several RFS directories and then switch between them as they're tuning an initramfs. Signed-off-by: gene.sally@timesys.com Signed-off-by: Sam Ravnborg commit efddd79512cc582675004bfdf7e66585198b38f9 Author: Werner Almesberger Date: Wed Nov 12 16:39:35 2008 -0200 remove bashisms from scripts/extract-ikconfig unbashify-extract-ikconfig.patch scripts/extract-ikconfig contains a lot of gratuituous bashisms, which make it fail if /bin/sh isn't bash. This patch replaces them with regular Bourne shell constructs. Signed-off-by: Werner Almesberger Acked-by: Randy Dunlap # as file author Signed-off-by: Sam Ravnborg commit d2301249e2f9b9a3ba989703107192b538209e57 Author: Sam Ravnborg Date: Fri Nov 21 23:00:12 2008 +0100 kbuild: teach mkmakfile to be silent With this fix a "make -s" is now really silent Signed-off-by: Sam Ravnborg commit fd54f502841c1caa7cfd5af564aad1bd017371fa Author: Mike Frysinger Date: Thu Nov 6 03:31:35 2008 -0500 kbuild: use KECHO convenience echo Convert a few echos in the build system to new $(kecho) so we get correct output according to build verbosity. Signed-off-by: Mike Frysinger [sam: added kecho in a few more places for O=... builds] Signed-off-by: Sam Ravnborg commit 5410ecc0def8955ab99810c5626cc7e156991896 Author: Mike Frysinger Date: Thu Nov 6 03:31:34 2008 -0500 kbuild: introduce $(kecho) convenience echo There is a bunch of places in the build system where we do 'echo' to show some nice status lines. This means we still get output when running in silent mode. So declare a new KECHO variable that only does 'echo' when we are in a suitable verbose build mode. Signed-off-by: Mike Frysinger [sam: added Documentation] Signed-off-by: Sam Ravnborg commit d03fab43c5ba4f5fa46db73c937e9b993a531d27 Author: Mike Frysinger Date: Thu Nov 6 03:31:22 2008 -0500 kbuild: kill output in silent mode of mkcompile_h The mkcompile_h script does `echo` regardless of silent mode the make is running at, so have it respect $quiet from kbuild and only echo when not in silent mode. Signed-off-by: Mike Frysinger Signed-off-by: Sam Ravnborg commit d8672b40d3a6f17de5b5bc71d6e531d7576a856a Author: Sam Ravnborg Date: Fri Nov 21 21:50:02 2008 +0100 kbuild: expand -I in KBUILD_CPPFLAGS kbuild failed to expand include flags in KBUILD_CPPFLAGS resulting in code like this in arch Makefiles: ifeq ($(KBUILD_SRC),) KBUILD_CPPFLAGS += -Iinclude/foo else KBUILD_CPPFLAGS += -I$(srctree)/include/foo endif Move use of LINUXINCLUDE into Makefile.lib to allow us to expand -I directives of KBUILD_CPPFLAGS so we can avoid the above code. Signed-off-by: Sam Ravnborg commit 5b91c33cf295d9c235f587f29a8c0a7ae15a5320 Author: Sam Ravnborg Date: Wed Dec 3 21:22:21 2008 +0100 kbuild: fix -I option expansion with O=... builds When adding extra -I options with O=... we could end up in a situation where there were no parameters to -I. So we had a commandline that looked like this: ... -I -Wall ... This had the undesired side effect that gcc assumed "-Wall" was a path to look for include files so this options was effectively ignored. This happens only when we build the generated module.mod.c files as part of the final modules builds and is as such harmless with current kbuild. This bug was exposed when we rearranged the options to gcc. Signed-off-by: Sam Ravnborg commit dc7d7b830ee1f4111696e73d1c25da683b461548 Author: Mark Brown Date: Wed Dec 3 18:21:52 2008 +0000 ASoC: Remove platform device from DAI suspend and resume operations None of the DAIs use it except s3c2412-i2s which only uses it for dev_() printouts. Signed-off-by: Mark Brown commit 07c84d0409f3551b79d676630d8ee76bb551598d Author: Mark Brown Date: Wed Dec 3 18:17:28 2008 +0000 ASoC: Remove device from platform suspend and resume operations None of the platforms are actually using the SoC device so remove it (only atmel actually has a suspend method). Signed-off-by: Mark Brown commit 384c89e2e4cb5879b86a38414d1b3bb2b23ec8ee Author: Mark Brown Date: Wed Dec 3 17:34:03 2008 +0000 ASoC: Push debugfs files out of the snd_soc_device structure This is in preparation for the removal of struct snd_soc_device. The pop time configuration should really be a property of the card not the codec but since DAPM currently uses the codec rather than the card using the codec is fine for now. Signed-off-by: Mark Brown commit a7fe49bf01dd64b3c73ad0e172f68bd03c813d65 Author: Takashi Iwai Date: Wed Dec 3 18:26:35 2008 +0100 ALSA: Add more documentation about HD-audio driver The file can be converted to PDF via asciidoc. Signed-off-by: Takashi Iwai commit 06be64a366885569f46a7e0e50b351266d28f5fc Author: Haiying Wang Date: Thu Nov 13 07:46:12 2008 -0600 powerpc/85xx: Don't reset the MPIC for CAMP mode on MPC8572DS The flag MPIC_WANTS_RESET shouldn't be set if we are doing cooperative asymmetric MP. The second linux shouldn't reset the pic or the first one gets very confused. Signed-off-by: Haiying Wang Signed-off-by: Kumar Gala commit c64ef80b517680f1e228b2ee55e3ce7cd94c7fe0 Author: Haiying Wang Date: Fri Nov 28 16:49:39 2008 -0500 powerpc/85xx: Add localbus node in mpc8572ds dts file Also add NOR and NAND flash partitions for mpc8572ds board Signed-off-by: Haiying Wang Signed-off-by: Kumar Gala commit 965dc5fc55fa0201fd8241ba7c0efc8f96f0ec84 Author: Martyn Welch Date: Fri Nov 7 14:15:42 2008 +0000 powerpc/86xx: Basic GPIO support for GE Fanuc SBC610 Basic support for the GPIO available on the SBC610 VPX Single Board Computer from GE Fanuc (PowerPC MPC8641D). This patch adds basic support for the GPIO in the devices I/O FPGA, the GPIO functionality is exposed through the AFIX pins on the backplane, unless used by an AFIX card. This code currently does not support switching between totem-pole and open-drain outputs (when used as outputs, GPIOs default to totem-pole). The interrupt capabilites of the GPIO lines is also not currently supported. Signed-off-by: Martyn Welch Signed-off-by: Kumar Gala commit 09a3fba8c132a55f153fd65fc1085b717a6193c8 Author: Anton Vorontsov Date: Tue Nov 11 18:31:39 2008 +0300 powerpc/qe: Move cmxgcr_lock definition from the ucc.c into the qe.c With this patch we can compile the qe_lib/usb.c without the UCC support (that is, without UCC_GETH and/or SERIAL_QE). Fixes following link error (CONFIG_SMP should be =y to trigger this): arch/powerpc/sysdev/built-in.o: In function `qe_usb_clock_set': (.text+0x3cae): undefined reference to `cmxgcr_lock' make: *** [.tmp_vmlinux1] Error 1 While at it, also add missing spinlock.h includes. Signed-off-by: Anton Vorontsov Acked-By: Timur Tabi Signed-off-by: Kumar Gala commit d3a8cdab2ff2f8acbe48e18ed471b0812785e390 Author: Martyn Welch Date: Thu Nov 20 08:52:09 2008 +0000 powerpc/86xx: Add use of Epson RTX-8581 RTC to GE Fanuc SBC610 dts Adding use of newly added Epson RTX-8581 real-time clock driver to GE Fanuc SBC610's dts file and adding driver to default config. Signed-off-by: Martyn Welch Signed-off-by: Kumar Gala commit 24a99596f7465274a8e65ddd29a7d9028969b9f9 Author: Kumar Gala Date: Wed Dec 3 09:31:35 2008 -0600 powerpc/85xx: Fix compile warnings in mpc85xx_mds.c arch/powerpc/platforms/85xx/mpc85xx_mds.c: In function 'board_fixups': arch/powerpc/platforms/85xx/mpc85xx_mds.c:244: warning: format '%x' expects type 'unsigned int', but argument 4 has type 'resource_size_t' arch/powerpc/platforms/85xx/mpc85xx_mds.c:250: warning: format '%x' expects type 'unsigned int', but argument 4 has type 'resource_size_t' Signed-off-by: Kumar Gala commit e8e1abe92fd7ea9d823a3aaf81d10e2cba593b6b Author: Steven Rostedt Date: Wed Dec 3 11:04:51 2008 -0500 ftrace: fix race in function graph during fork Impact: graph tracer race/crash fix There is a nasy race in startup of a new process running the function graph tracer. In fork.c: total_forks++; spin_unlock(¤t->sighand->siglock); write_unlock_irq(&tasklist_lock); ftrace_graph_init_task(p); proc_fork_connector(p); cgroup_post_fork(p); return p; The new task is free to run as soon as the tasklist_lock is released. This is before the ftrace_graph_init_task. If the task does run it will be using the same ret_stack and curr_ret_stack as the parent. This will cause crashes that are difficult to debug. This patch moves the ftrace_graph_init_task to just after the alloc_pid code. This fixes the above race. Signed-off-by: Steven Rostedt Signed-off-by: Ingo Molnar commit 0a37119d963e876ca86912497346ec50dea2541b Author: Steven Rostedt Date: Wed Dec 3 11:04:50 2008 -0500 trace: fix output of stack trace Impact: fix to output of stack trace If a function is not found in the stack of the stack tracer, the number printed is quite strange. This fixes the algorithm to handle missing functions better. Signed-off-by: Steven Rostedt Signed-off-by: Ingo Molnar commit 0f620830db0818ebe065b31c33892e8f0622e1b2 Author: Peter Gruber Date: Wed Dec 3 15:32:15 2008 +0100 ALSA: Reduce stall detection timeout in riptide.c Reduce the command timeout to 0.5sec. Should be enough to allow a working command interface but removes a RCU stall and slow resume on some revisions where the AC97 revision detection stalls in resume. Signed-off-by: Peter Gruber Signed-off-by: Takashi Iwai commit d5b26db2cfcf09f28f4839c8c3484279cd5ea5b3 Author: Kumar Gala Date: Wed Nov 19 09:35:56 2008 -0600 powerpc/85xx: Add support for SMP initialization Added 85xx specifc smp_ops structure. We use ePAPR style boot release and the MPIC for IPIs at this point. Additionally added routines for secondary cpu entry and initializtion. Signed-off-by: Andy Fleming Signed-off-by: Trent Piepho Signed-off-by: Kumar Gala commit 06b90969a7564fad888f67e9f7f4c3a51a16ef1d Author: Kumar Gala Date: Mon Dec 1 14:38:32 2008 -0600 powerpc/85xx: minor head_fsl_booke.S cleanup Removed unused branch labels Signed-off-by: Kumar Gala commit b3898895355f73973eb3aef3489e999d3fb8e2bc Author: Trent Piepho Date: Wed Nov 19 03:13:14 2008 -0800 powerpc: Better setup of boot page TLB entry The initial TLB mapping for the kernel boot didn't set the memory coherent attribute, MAS2[M], in SMP mode. If this code supported booting a secondary processor, which it doesn't yet, but if it did, then when a secondary processor boots, it would probably signal the primary processor by setting a variable called something like __secondary_hold_acknowledge. However, due to the lack of the M bit, the primary processor would not snoop the transaction (even if a transaction were broadcast). If primary CPU's L1 D-cache had a copy, it would not be flushed and the CPU would never see the ack. Which would have resulted in the primary CPU spinning for a long time, perhaps a full second before it gives up, while it would have waited for the ack from the secondary CPU that it wouldn't have been able to see because of the stale cache. The value of MAS2 for the boot page TLB1 entry is a compile time constant, so there is no need to calculate it in powerpc assembly language. Also, from the MPC8572 manual section 6.12.5.3, "Bits that represent offsets within a page are ignored and should be cleared." Existing code didn't clear them, this code does. The same when the page of KERNELBASE is found; we don't need to use asm to mask the lower 12 bits off. In the code that computes the address to rfi from, don't hard code the offset to 24 bytes, but have the assembler figure that out for us. Signed-off-by: Trent Piepho Signed-off-by: Kumar Gala commit 6a800f36acd5bf06b5fe2cb27c4d0524d60c3df5 Author: Liu Yu Date: Tue Oct 28 11:50:21 2008 +0800 powerpc: Add SPE/EFP math emulation for E500v1/v2 processors. This patch add the handlers of SPE/EFP exceptions. The code is used to emulate float point arithmetic, when MSR(SPE) is enabled and receive EFP data interrupt or EFP round interrupt. This patch has no conflict with or dependence on FP math-emu. The code has been tested by TestFloat. Now the code doesn't support SPE/EFP instructions emulation (it won't be called when receive program interrupt), but it could be easily added. Signed-off-by: Liu Yu Signed-off-by: Kumar Gala commit 033b8a333c66e0a7dc63132c1bd65175dc98bc25 Author: Liu Yu Date: Tue Oct 28 11:50:20 2008 +0800 powerpc/math-emu: Remove redundant 'ret' FP_DECL_EX is already used, so ret is redundant. And FP_SET_EXCEPTION will add status into return value. Signed-off-by: Liu Yu Signed-off-by: Kumar Gala commit 463a8c01e153c06480b862d83d6a71bf5666a577 Author: Liu Yu Date: Tue Oct 28 11:50:19 2008 +0800 powerpc/math-emu: Adopt new version of _FP_CHOOSENAN Move to using the same macro definition for _FP_CHOOSENAN as s390, sh, sparc32/64. The original author didn't understand this and matched what sparc64 was doing and they have updated to this definition. Signed-off-by: Liu Yu Signed-off-by: Kumar Gala commit cf03033658739accd24f18f864107151a2e9a796 Author: Liu Yu Date: Tue Oct 28 11:50:18 2008 +0800 powerpc/math-emu: Fix single float point division bug PowerPC float point division emulation is derived from gcc. I reported this problem on gcc maillist and got this reply: http://gcc.gnu.org/ml/gcc/2008-03/msg00543.html Since UDIV_NEEDS_NORMALIZATION is not used by kernel, we should use _FP_DIV_MEAT_1_udiv_norm to make sure the single float point is normalized before udiv_qrnnd. Signed-off-by: Liu Yu Signed-off-by: Kumar Gala commit 55b9121b4295a8260e52dd78327f1edd1e34feb2 Author: Kumar Gala Date: Tue Oct 28 08:55:05 2008 -0500 powerpc: Remove unncessary SPE related compiler flag After testing of various compiler flag combinations by Nate Case it was determined that -mabi=no-spe has no impact on the compiler generating SPE instructions. Only -mno-spe and -mspe=no do. Signed-off-by: Kumar Gala commit 0640f84fac8a8aa8e7911c950cd9a4b0199711f6 Merge: 8c2f767 ff7a326 Author: Takashi Iwai Date: Wed Dec 3 14:43:14 2008 +0100 Merge branch 'topic/hda-modularize' into topic/hda commit 6f2a974bfc8d3be7a30674c71e2fef003b39a8d2 Author: Daniel Mack Date: Wed Dec 3 11:44:17 2008 +0100 ASoC: tlv320aic3x: headset/button press support - Add aic3x_set_headset_detection() function to define the headset detection mode for tlv32aic3x chips - added aic3x_button_pressed() - Read from the real-time registers in aic3x_headset_detected() to query headset presence without an occured interrupt Signed-off-by: Daniel Mack Signed-off-by: Mark Brown commit 4b4fffdd9d179677cb030e97869286b62df25adc Author: Mark Brown Date: Wed Dec 3 11:21:08 2008 +0000 ASoC: Fix WM8903 right mixer bypass path Signed-off-by: Mark Brown commit 5920b45303291057fef827f5bdafe04001c1bbae Author: Grazvydas Ignotas Date: Tue Dec 2 20:48:58 2008 +0200 ASoC: TWL4030: Add input selection and gain controls The TWL4030 codec device has two ADCs. Both of them can have several inputs routed to them, but TRM says that only one source can be selected for every ADC, even though every source has a dedicated bit in the registers. This patch adds input source controls. It modifies default register values to have no inputs selected and ADCs disabled. When some input is selected, control handlers enable apropriate input amplifier and ADC. If a microphone is selected, bias power is automatically enabled. When some input is deselected, unused chip parts are disabled. Microphone and line input recording tested on OMAP3 pandora board. Signed-off-by: Grazvydas Ignotas Signed-off-by: Mark Brown commit ed45819f315b5a8844b5bfce881a18e9f3a055e7 Author: Artem Bityutskiy Date: Wed Nov 12 10:14:10 2008 +0200 UBI: fix warnings when debugging is enabled The 'ubi_io_read_vid_hdr()' and 'ubi_io_read_ec_hdr()' function have the 'verbose' argument which controls whether they should print a warning if the VID/EC header was not found or was corrupted. Some callers require the headers to be OK, and pass 1. Some allow a corrupted/not present header, and pass 0. if (UBI_IO_DEBUG) verbose = 1; And UBI_IO_DEBUG is 1 if CONFIG_MTD_UBI_DEBUG_MSG_BLD is true. So in this case the warning is printed all the time. This confuses people. Thus, do not print the messages as warnings if UBI_IO_DEBUG is true, but print them as debugging messages instead. Signed-off-by: Artem Bityutskiy commit 2ba5f7ae8165b3f575dd3a7d8bb18f421fab8273 Author: Artem Bityutskiy Date: Fri Oct 31 17:32:30 2008 +0200 UBIFS: introduce LPT dump function Signed-off-by: Artem Bityutskiy commit 787845bdeadd368eedeace92d5bf53f5aa1450ba Author: Artem Bityutskiy Date: Fri Oct 31 12:17:42 2008 +0200 UBIFS: dump stack in LPT check functions It is useful to know how we got to the checking function when hunting the bugs. Signed-off-by: Artem Bityutskiy commit 45e12d901fee57bccf90f6940155724954e1aac7 Author: Artem Bityutskiy Date: Fri Oct 31 11:42:18 2008 +0200 UBIFS: run debugging checks only if they are enabled Do not forget to check whether lpt debugging is enabled before running the check functions. This commit also makes some spelling fixes. Signed-off-by: Artem Bityutskiy commit 552ff3179d1e93a3e982357544c059f3e9a5516e Author: Artem Bityutskiy Date: Thu Oct 23 11:49:28 2008 +0300 UBIFS: add debugfs support We need to have a possibility to see various UBIFS variables and ask UBIFS to dump various information. Debugfs is what we need. Signed-off-by: Artem Bityutskiy commit 17c2f9f85c896b48a5d74a9155d99ec5b241a0e6 Author: Artem Bityutskiy Date: Fri Oct 17 13:31:39 2008 +0300 UBIFS: separate debugging fields out Introduce a new data structure which contains all debugging stuff inside. This is cleaner than having debugging stuff directly in 'c'. Signed-off-by: Artem Bityutskiy commit 5dd7cbc083f3a91fa7454125fe992826701b67bc Author: Kukkonen Mika Date: Tue Dec 2 11:32:49 2008 +0200 UBIFS: avoid unnecessary checks I have a habit of compiling kernel with EXTRA_CFLAGS="-Wextra -Wno-unused -Wno-sign-compare -Wno-missing-field-initializers" and so fs/ubifs/key.h give lots (~10) of these every time: CC fs/ubifs/tnc_misc.o In file included from fs/ubifs/ubifs.h:1725, from fs/ubifs/tnc_misc.c:30: fs/ubifs/key.h: In function 'key_r5_hash': fs/ubifs/key.h:64: warning: comparison of unsigned expression >= 0 is always true fs/ubifs/key.h: In function 'key_test_hash': fs/ubifs/key.h:81: warning: comparison of unsigned expression >= 0 is always true This patch fixes the warnings. Signed-off-by: Artem Bityutskiy commit 553dea4dd531562688ba01c641c7f8fc7abaaf8c Author: Artem Bityutskiy Date: Sat Nov 1 14:57:49 2008 +0200 UBIFS: introduce compression mount options It is very handy to be able to change default UBIFS compressor via mount options. Introduce -o compr= mount option support. Currently only "none", "lzo" and "zlib" compressors are supported. Signed-off-by: Artem Bityutskiy commit a1dc080c27ec8ea7ca1c8a9b499362a71ebff792 Author: Artem Bityutskiy Date: Sat Nov 1 14:20:50 2008 +0200 UBIFS: use bit-fields to store compression type Save a 4 bytes of RAM per 'struct inode' by stroring inode compression type in bit-filed, instead of using 'int'. Signed-off-by: Artem Bityutskiy commit 062e4fee4400f283307cf8ac1b7931c939010229 Author: Artem Bityutskiy Date: Sun Oct 26 16:58:25 2008 +0200 UBIFS: slight compression optimization If data does not compress, it is better to leave it uncompressed because we'll read it faster then. So do not compress data if we save less than 64 bytes. Signed-off-by: Artem Bityutskiy commit 7947cf0dd4b6a2bb06c57971502fb81c76a66f2d Author: Hendrik Brueckner Date: Tue Nov 18 01:28:28 2008 +0000 hvc_console: Always schedule resize work on resize The test to check for a new winsize runs out-of-sync with the underlying tty. After a tty has been released and initialized again, the winsize might differ between the tty and the hp struct. The solution is to simply remove the check and always schedule the resize work. Signed-off-by: Hendrik Brueckner Acked-by: Christian Borntraeger Signed-off-by: Paul Mackerras commit 3d26825ec03f623f20ba860e6e6113ab2d0bb0f1 Author: roel kluin Date: Tue Dec 2 11:21:43 2008 +0000 powerpc: Make open count variables signed in hvcs/hvsi/hvc_console Otherwise the tests for count < 0 will never be true. Signed-off-by: Roel Kluin Signed-off-by: Paul Mackerras commit dc42149fccda63a5d2fa4457808c3489a5111c5e Author: Nicolas Palix Date: Tue Dec 2 03:38:55 2008 +0000 drivers/hvc: Add missing of_node_put of_node_put is needed before discarding a value received from of_find_node_by_name, e.g., in error handling code or when the device node is no longer used. The semantic match that catches the bug is as follows: (http://www.emn.fr/x-info/coccinelle/) // @r exists@ local idexpression struct device_node *n; position p1, p2; statement S1,S2; expression E,E1; expression *ptr != NULL; @@ ( if (!(n@p1 = of_find_node_by_name(...))) S1 | n@p1 = of_find_node_by_name(...) ) <... when != of_node_put(n) when != if (...) { <+... of_node_put(n) ...+> } when != true !n || ... when != n = E when != E = n if (!n || ...) S2 ...> ( return \(0\|<+...n...+>\|ptr\); | return@p2 ...; | n = E1 | E1 = n ) @script:python@ p1 << r.p1; p2 << r.p2; @@ print "* file: %s of_find_node_by_name %s return %s" % (p1[0].file,p1[0].line,p2[0].line) // Signed-off-by: Nicolas Palix Signed-off-by: Julia Lawall Acked-by: Stephen Rothwell Signed-off-by: Paul Mackerras commit b908b53d580c3e9aba81ebe3339c5b7b4fa8031d Author: Anton Vorontsov Date: Mon Dec 1 06:30:04 2008 +0000 of/gpio: Implement of_get_gpio_flags() This adds a new function, of_get_gpio_flags, which is like of_get_gpio(), but accepts a new "flags" argument. This new function will be used by the drivers that need to retrieve additional GPIO information, such as active-low flag. Also, this changes the default ("simple") .xlate routine to warn about bogus (< 2) #gpio-cells usage: the second cell should always be present for GPIO flags. Signed-off-by: Anton Vorontsov Signed-off-by: Paul Mackerras commit 2fd091f3eebc5accefa5f77ff04436982765d15c Author: roel kluin Date: Sat Nov 29 01:17:27 2008 +0000 powerpc/macintosh: Fix unsigned check in smu_sat_get_sdb_partition() i2c_smbus_read_word_data() returns a s32, which may be negative but unsigned len cannot be negative. Signed-off-by: Roel Kluin Signed-off-by: Paul Mackerras commit e6a437eba09f1c3505bedf7a9a9766a878ca09fa Author: Anton Vorontsov Date: Fri Nov 28 09:13:45 2008 +0000 of/i2c: Fill the archdata for I2C devices For I2C devices we just setting the node pointer in the archdata. This is needed so that the I2C devices could find their OF tree nodes. Signed-off-by: Anton Vorontsov Acked-by: Grant Likely Signed-off-by: Paul Mackerras commit 3f3b1632022fcc8317fa3b3c1236471415b3a6b8 Author: Anton Vorontsov Date: Fri Nov 28 09:13:23 2008 +0000 powerpc and sparc: Introduce dev_archdata node accessors The name of the device_node field differ across the platforms, so we have to implement inlined accessors. This is needed to avoid ugly #ifdef in the generic code. Signed-off-by: Anton Vorontsov Acked-by: David S. Miller Acked-by: Grant Likely Signed-off-by: Paul Mackerras commit a0e2f9f4a2487572803d5a00c7302db30e4c60d3 Author: Sonny Rao Date: Sun Nov 9 14:15:11 2008 +0000 powerpc/BSR: Support multiple OF-node description of BSR This adds support for multiple BSR nodes in the OF device tree. Previously, the BSR driver only supported a single OF node describing a BSR. Apparently when an LPAR is set to use "all system resources" the BSR appears as a single node, but when it is handed out in pieces, each 8 byte piece gets its own node. So, this keeps a list of BSR devices instead of the array and includes all nodes. Also, this makes the code be more inclusive of what BSR devices we accept by only checking compatibility and not the device name property (which might change in the future versions of BSR). Signed-off-by: Sonny Rao Signed-off-by: Paul Mackerras commit 6358d6cb328a772eb6f02c870da61709d539480f Author: Sebastien Dugue Date: Thu Nov 27 01:19:18 2008 +0000 powerpc/ibmebus: Get rid of the IRQ mapping in ibmebus_free_irq() ibmebus_free_irq() frees the IRQ but does not remove its mapping, which results in stale entries in the map. This fixes it by adding a call to irq_dispose_mapping() in ibmebus_free_irq(). Signed-off-by: Sebastien Dugue Cc: Benjamin Herrenschmidt Signed-off-by: Paul Mackerras commit 786b32f892dc341b607445bdef29d8e41a840925 Author: Julia Lawall Date: Sun Nov 23 00:48:56 2008 +0000 powerpc: Eliminate NULL test and memset after alloc_bootmem As noted by Akinobu Mita in commit b1fceac2 ("x86: remove unnecessary memset and NULL check after alloc_bootmem()"), alloc_bootmem and related functions never return NULL and always return a zeroed region of memory. Thus a NULL test or memset after calls to these functions is unnecessary. This was fixed using the following semantic patch. (http://www.emn.fr/x-info/coccinelle/) // @@ expression E; statement S; @@ E = \(alloc_bootmem\|alloc_bootmem_low\|alloc_bootmem_pages\|alloc_bootmem_low_pages\|alloc_bootmem_node\|alloc_bootmem_low_pages_node\|alloc_bootmem_pages_node\)(...) ... when != E ( - BUG_ON (E == NULL); | - if (E == NULL) S ) @@ expression E,E1; @@ E = \(alloc_bootmem\|alloc_bootmem_low\|alloc_bootmem_pages\|alloc_bootmem_low_pages\|alloc_bootmem_node\|alloc_bootmem_low_pages_node\|alloc_bootmem_pages_node\)(...) ... when != E - memset(E,0,E1); // Signed-off-by: Julia Lawall Signed-off-by: Paul Mackerras commit 15e09c0ecaab4a1b4a7ed69db536c38948b92279 Author: Becky Bruce Date: Thu Nov 20 06:49:16 2008 +0000 powerpc: Add sync_*_for_* to dma_ops We need to swap these out once we start using swiotlb, so add them to dma_ops. Create CONFIG_PPC_NEED_DMA_SYNC_OPS Kconfig option; this is currently enabled automatically if we're CONFIG_NOT_COHERENT_CACHE. In the future, this will also be enabled for builds that need swiotlb. If PPC_NEED_DMA_SYNC_OPS is not defined, the dma_sync_*_for_* ops compile to nothing. Otherwise, they access the dma_ops pointers for the sync ops. This patch also changes dma_sync_single_range_* to actually sync the range - previously it was using a generous dma_sync_single. dma_sync_single_* is now implemented as a dma_sync_single_range with an offset of 0. Signed-off-by: Becky Bruce Signed-off-by: Paul Mackerras commit c4d04be11f99cc9ce4e3801a5da235727db704a9 Author: Johannes Berg Date: Thu Nov 20 03:24:07 2008 +0000 powerpc: Allow the max stack trace depth to be configured On my screen, when something crashes, I only have space for maybe 16 functions of the stack trace before the information above it scrolls off the screen. It's easy to hack the kernel to print out only that much, but it's harder to remember to do it. This introduces a config option for it so that I can keep the setting in my config. Signed-off-by: Johannes Berg Signed-off-by: Paul Mackerras commit 0186f47e703fb7aa14b54459d642ef5374b3a685 Author: Kumar Gala Date: Wed Nov 19 12:50:04 2008 +0000 powerpc: Use RCU based pte freeing mechanism for all powerpc Refactor the RCU based pte free code that was used on ppc64 to be used on all powerpc. Additionally refactor pte_free() & pte_free_kernel() into common code between ppc32 & ppc64. Signed-off-by: Kumar Gala Signed-off-by: Paul Mackerras commit df3b8611554e389e703fa753540289874fa5126c Author: Kumar Gala Date: Wed Nov 19 05:53:24 2008 +0000 powerpc: Add a local_flush_tlb_page to handle kmap_atomic invalidates The tlb invalidates in kmap_atomic/kunmap_atomic can be called from IRQ context, however they are only local invalidates (on the processor that the kmap was called on). In the future we want to use IPIs to do tlb invalidates this causes issue since flush_tlb_page() is considered a broadcast invalidate. Add local_flush_tlb_page() as a non-broadcast invalidate and use it in kmap_atomic() since we don't have enough information in the flush_tlb_page() call to determine its local. Signed-off-by: Kumar Gala Acked-by: Benjamin Herrenschmidt Signed-off-by: Paul Mackerras commit f4f3a1261ad70988ad45614ebc87e553143a332b Author: Kumar Gala Date: Wed Nov 19 05:53:04 2008 +0000 powerpc: hash_page_sync should only be used on SMP & STD_MMU_32 Clean up the ifdefs so we only use hash_page_sync if we have CONFIG_SMP && CONFIG_PPC_STD_MMU_32. Signed-off-by: Kumar Gala Acked-by: Benjamin Herrenschmidt Signed-off-by: Paul Mackerras commit 4ee5f55175a85fc179c93f00dd7f6a99c896f4d6 Author: Benjamin Herrenschmidt Date: Thu Nov 27 20:05:05 2008 +0000 powerpc: Fix ppc32 mm_struct CPU tracking in SMP The 32-bit hash code didn't need it so far so we don't update mm->cpu_vm_mask on context switch. This however will break when we merge the RCU based page table freeing patch and other upcoming 32-bit embedded SMP work, so this adds the update. Signed-off-by: Benjamin Herrenschmidt Signed-off-by: Paul Mackerras commit 1b98326b91eb9eea346945779e1f245aa66b17ce Author: Kumar Gala Date: Wed Nov 19 04:39:53 2008 +0000 powerpc: Add MSR[CE, DE] to the MSR bits we print on show_regs() Signed-off-by: Kumar Gala Signed-off-by: Paul Mackerras commit 764f3b95131a7ce5c992e3d00caf590fcada2f7b Author: Ingo Molnar Date: Wed Dec 3 10:33:58 2008 +0100 tracing/function-graph-tracer: enabled by default CONFIG_FUNCTION_GRAPH_TRACER depends on FUNCTION_TRACER already, (turning it non-default) so it so making it default-n is pointless. So enable it by default - it's a nice extension of the function tracer. Signed-off-by: Ingo Molnar commit 527491885554002837b5742202adc0ab5f536e54 Merge: cea555d 2434bbb Author: Paul Mackerras Date: Wed Dec 3 20:11:06 2008 +1100 Merge branch 'merge' commit 29fa0b301bc823016d1a3bed41c36a8977ef9947 Author: Wei Yongjun Date: Wed Dec 3 00:33:09 2008 -0800 xfrm: Cleanup for unlink SPD entry Used __xfrm_policy_unlink() to instead of the dup codes when unlink SPD entry. Signed-off-by: Wei Yongjun Signed-off-by: David S. Miller commit 22d55328b7d27694718f5d64a53d2bddbbe173a5 Merge: 3f8c6c9 d5654ef Author: David S. Miller Date: Wed Dec 3 00:29:24 2008 -0800 Merge branch 'master' of master.kernel.org:/pub/scm/linux/kernel/git/davem/net-2.6 commit 166d3c7994d79ab3f78f420607283361ff5cce79 Author: Frederic Weisbecker Date: Wed Dec 3 02:32:12 2008 +0100 tracing/function-graph-tracer: improve duration output Impact: better trace output of duration for long calls The old duration output didn't exceeded 9999.999 us to fit the column and the nanosecs were always 3 numbers. As Ingo suggested, it's better to have the whole microseconds elapsed time and shift the nanosecs precision if needed to fit the maximum 7 numbers. And usec need more number, the case should be rare and important enough to break a bit the column alignment to show it. So, depending of the duration value, we now have these patterns: u.nnn us uu.nnn us uuu.nnn us uuuu.nnn us uuuuu.nn us uuuuuu.n us uuuuuuuu..... us Signed-off-by: Frederic Weisbecker Signed-off-by: Ingo Molnar commit 11e84acc400921743cc8d488e4a265cd98a655c7 Author: Frederic Weisbecker Date: Wed Dec 3 02:30:37 2008 +0100 tracing/function-graph-tracer: display unified style cmdline and pid Impact: extend function-graph output: let one know which thread called a function This patch implements a helper function to print the couple cmdline/pid. Its output is provided during task switching and on each row if the new "funcgraph-proc" defualt-off option is set through trace_options file. The output is center aligned and never exceeds 14 characters. The cmdline is truncated over 7 chars. But note that if the pid exceeds 6 characters, the column will overflow (but the situation is abnormal). Signed-off-by: Frederic Weisbecker Signed-off-by: Ingo Molnar commit 62679efe0a5f02987a621942afc5979a80a6ca5a Author: Steven Rostedt Date: Tue Dec 2 23:50:06 2008 -0500 ftrace: add checks on ret stack in function graph Import: robustness checks Add more checks in the function graph code to detect errors and perhaps print out better information if a bug happens. Signed-off-by: Steven Rostedt Signed-off-by: Ingo Molnar commit e49dc19c6a19ea112fcb94b7c62ec62cdd5c08aa Author: Steven Rostedt Date: Tue Dec 2 23:50:05 2008 -0500 ftrace: function graph return for function entry Impact: feature, let entry function decide to trace or not This patch lets the graph tracer entry function decide if the tracing should be done at the end as well. This requires all function graph entry functions return 1 if it should trace, or 0 if the return should not be traced. Signed-off-by: Steven Rostedt Signed-off-by: Ingo Molnar commit 7ee991fbc6f947e9b04f29c9c6c1d057d0671a16 Author: Steven Rostedt Date: Tue Dec 2 23:50:04 2008 -0500 ftrace: print real return in dumpstack for function graph Impact: better dumpstack output I noticed in my crash dumps and even in the stack tracer that a lot of functions listed in the stack trace are simply return_to_handler which is ftrace graphs way to insert its own call into the return of a function. But we lose out where the actually function was called from. This patch adds in hooks to the dumpstack mechanism that detects this and finds the real function to print. Both are printed to let the user know that a hook is still in place. This does give a funny side effect in the stack tracer output: Depth Size Location (80 entries) ----- ---- -------- 0) 4144 48 save_stack_trace+0x2f/0x4d 1) 4096 128 ftrace_call+0x5/0x2b 2) 3968 16 mempool_alloc_slab+0x16/0x18 3) 3952 384 return_to_handler+0x0/0x73 4) 3568 -240 stack_trace_call+0x11d/0x209 5) 3808 144 return_to_handler+0x0/0x73 6) 3664 -128 mempool_alloc+0x4d/0xfe 7) 3792 128 return_to_handler+0x0/0x73 8) 3664 -32 scsi_sg_alloc+0x48/0x4a [scsi_mod] As you can see, the real functions are now negative. This is due to them not being found inside the stack. Signed-off-by: Steven Rostedt Signed-off-by: Ingo Molnar commit 044fa782ebb9472cf5253e95d9a625fd4c0bdd99 Author: Steven Rostedt Date: Tue Dec 2 23:50:03 2008 -0500 ring-buffer: change "page" variable names to "bpage" Impact: clean up Andrew Morton pointed out that the kernel convention of a variable named page should be of type page struct. The ring buffer uses a variable named "page" for a pointer to something else. This patch converts those to be called "bpage" (as in "buffer page"). Signed-off-by: Steven Rostedt Signed-off-by: Ingo Molnar commit 14a866c567e040ccf6240d68b083dd1dbbde63e6 Author: Steven Rostedt Date: Tue Dec 2 23:50:02 2008 -0500 ftrace: add ftrace_graph_stop() Impact: new ftrace_graph_stop function While developing more features of function graph, I hit a bug that caused the WARN_ON to trigger in the prepare_ftrace_return function. Well, it was hard for me to find out that was happening because the bug would not print, it would just cause a hard lockup or reboot. The reason is that it is not safe to call printk from this function. Looking further, I also found that it calls unregister_ftrace_graph, which grabs a mutex and calls kstop machine. This would definitely lock the box up if it were to trigger. This patch adds a fast and safe ftrace_graph_stop() which will stop the function tracer. Then it is safe to call the WARN ON. Signed-off-by: Steven Rostedt Signed-off-by: Ingo Molnar commit bb4304c71c97bf727ec43cd2f195c2c237c27fd3 Author: Steven Rostedt Date: Tue Dec 2 15:34:09 2008 -0500 ftrace: have function graph use mcount caller address Impact: consistency change for function graph This patch makes function graph record the mcount caller address the same way the function tracer does. Signed-off-by: Steven Rostedt Signed-off-by: Ingo Molnar commit 347fdd9dd4e5d3f3a4e415925c35bdff1d59c3a9 Author: Steven Rostedt Date: Tue Dec 2 15:34:08 2008 -0500 ftrace: clean up function graph asm Impact: clean up There exists macros for x86 asm to handle x86_64 and i386. This patch updates function graph asm to use them. Signed-off-by: Steven Rostedt Acked-by: Frederic Weisbecker Signed-off-by: Ingo Molnar commit 8789a9e7df6bf9b93739c4c7d4e380725bc9e936 Author: Steven Rostedt Date: Tue Dec 2 15:34:07 2008 -0500 ring-buffer: read page interface Impact: new API to ring buffer This patch adds a new interface into the ring buffer that allows a page to be read from the ring buffer on a given CPU. For every page read, one must also be given to allow for a "swap" of the pages. rpage = ring_buffer_alloc_read_page(buffer); if (!rpage) goto err; ret = ring_buffer_read_page(buffer, &rpage, cpu, full); if (!ret) goto empty; process_page(rpage); ring_buffer_free_read_page(rpage); The caller of these functions must handle any waits that are needed to wait for new data. The ring_buffer_read_page will simply return 0 if there is no data, or if "full" is set and the writer is still on the current page. Signed-off-by: Steven Rostedt Signed-off-by: Ingo Molnar commit abc9b56d66fbd4d93302ef4bf6fa726e1b8255f9 Author: Steven Rostedt Date: Tue Dec 2 15:34:06 2008 -0500 ring-buffer: move some metadata into buffer page Impact: get ready for splice changes This patch moves the commit and timestamp into the beginning of each data page of the buffer. This change will allow the page to be moved to another location (disk, network, etc) and still have information in the page to be able to read it. Signed-off-by: Steven Rostedt Signed-off-by: Ingo Molnar commit a5e25883a445dce94a087ca479b21a5959cd5c18 Author: Steven Rostedt Date: Tue Dec 2 15:34:05 2008 -0500 ftrace: replace raw_local_irq_save with local_irq_save Impact: fix for lockdep and ftrace The raw_local_irq_save/restore confuses lockdep. This patch converts them to the local_irq_save/restore variants. Signed-off-by: Steven Rostedt Signed-off-by: Ingo Molnar commit dfdc5437bd62dd6a26961e27f26b671374749875 Merge: f0461d0 061e41f 878719e Author: Ingo Molnar Date: Wed Dec 3 08:54:47 2008 +0100 Merge commit 'v2.6.28-rc7'; branch 'x86/dumpstack' into tracing/ftrace Merge x86/dumpstack into tracing/ftrace because upcoming ftrace changes depend on cleanups already in x86/dumpstack. Also merge to latest upstream -rc. commit f0461d0146ee30927bc7efa2ae24ea8c6693b725 Merge: 66eafeb 48d68b2 Author: Ingo Molnar Date: Wed Dec 3 08:49:21 2008 +0100 Merge branches 'tracing/ftrace' and 'tracing/function-graph-tracer' into tracing/core commit 181de82ee3ffda1175f89d50c991dae31b79280c Author: FUJITA Tomonori Date: Wed Dec 3 14:53:04 2008 +0900 x86: remove dead BIO_VMERGE_BOUNDARY definition Impact: cleanup, remove dead code The block layer dropped the virtual merge feature (b8b3e16cfe6435d961f6aaebcfd52a1ff2a988c5). BIO_VMERGE_BOUNDARY definition is meaningless now. Signed-off-by: FUJITA Tomonori Acked-by: Jens Axboe Signed-off-by: Ingo Molnar commit 6083aa485c86933ee444dc2242270d37ea4664cb Merge: dcb7731 93093d0 Author: Ingo Molnar Date: Wed Dec 3 08:25:56 2008 +0100 Merge branch 'x86/io' into x86/iommu Merge x86/io into x86/iommu due to a small patch conflict in io.h. commit 3f8c6c9c7739d18e4b75902fdcbf6c3ba98dc123 Merge: aa2ba5f 9a5df92 Author: David S. Miller Date: Tue Dec 2 22:38:02 2008 -0800 Merge branch 'master' of git://git.kernel.org/pub/scm/linux/kernel/git/holtmann/bluetooth-next-2.6 commit aa2ba5f1082dc705745899584aac8416d710c056 Merge: 6802454 f6f7b52 Author: David S. Miller Date: Tue Dec 2 19:50:27 2008 -0800 Merge branch 'master' of master.kernel.org:/pub/scm/linux/kernel/git/davem/net-2.6 Conflicts: drivers/net/ixgbe/ixgbe_main.c drivers/net/smc91x.c commit 68024541e2e5a8f35e281daaa5068a29e2a538a5 Merge: ca17584 39da581 Author: David S. Miller Date: Tue Dec 2 15:05:06 2008 -0800 Merge branch 'master' of ssh://master.kernel.org/pub/scm/linux/kernel/git/rusty/linux-2.6-for-linus commit ca17584bf2ad1b1e37a5c0e4386728cc5fc9dabc Author: Stephen Hemminger Date: Tue Dec 2 15:00:28 2008 -0800 mac8390: update to net_device_ops Another related 8390 driver. Since this is for nubus, not sure if anyone still has the hardware? Signed-off-by: Stephen Hemminger Signed-off-by: David S. Miller commit b9a9b4b0429d0c0e4655d531a57a6424d972433c Author: Stephen Hemminger Date: Tue Dec 2 14:52:25 2008 -0800 etherh: build fix for net-next Fix build of ARM etherh driver with new net_device_ops. Signed-off-by: Stephen Hemminger Signed-off-by: David S. Miller commit c5b84b3bb0c055d70dc9f1b5e900378bc9d059ea Merge: d281bc9 bc2fd1c Author: Russell King Date: Tue Dec 2 22:07:40 2008 +0000 Merge branch 'for-rmk' of git://git.kernel.org/pub/scm/linux/kernel/git/ycmiao/pxa-linux-2.6 into devel Conflicts: arch/arm/mach-pxa/pxa25x.c commit dcb7731a185efbf3d800618d874af99895df5afb Author: Joerg Roedel Date: Tue Dec 2 20:16:03 2008 +0100 x86: fix broken flushing in GART nofullflush path Impact: remove stale IOTLB entries In the non-default nofullflush case the GART is only flushed when next_bit wraps around. But it can happen that an unmap operation unmaps memory which is behind the current next_bit location. If these addresses are reused it may result in stale GART IO/TLB entries. Fix this by setting the GART next_bit always behind an unmapped location. Signed-off-by: Joerg Roedel Signed-off-by: Ingo Molnar commit a64d31baed104be25305e9c71585d3ea4ee9a418 Merge: 1c39194 061e41f Author: Ingo Molnar Date: Tue Dec 2 20:09:50 2008 +0100 Merge branch 'linus' into cpus4096 Conflicts: kernel/trace/ring_buffer.c commit c99e905c945c462085c6d64646dc5af0c0a16815 Author: Chris Mason Date: Tue Dec 2 11:18:37 2008 -0500 Btrfs: Fix sparse endian warnings in struct-funcs.c The btrfs macros to access individual struct members on disk were sending the same variable to functions that expected different types of endianness. This fix explicitly creates a variable of the correct type instead of abusing a single variable for mixed purposes. Signed-off-by: Chris Mason commit 87689d567a45f80416feea0a2aa6d3a2a6b8963a Author: Mark Brown Date: Tue Dec 2 16:01:14 2008 +0000 ASoC: Push platform registration down into the card As part of the deprecation of snd_soc_device push the registration of the platform down into the card structure. Signed-off-by: Mark Brown commit 96841bae6ebfede07294447ad2de9e6385ae9fb5 Author: Mark Brown Date: Tue Dec 2 15:15:50 2008 +0000 ALSA: ac97 - Include ac97_codec.h for ac97_bus_type declaration This fixes a sparse warning caused by the lack of a connection with the prototype for ac97_bus_type. Signed-off-by: Mark Brown Signed-off-by: Takashi Iwai commit 6308419a199eed66086cd756ab8dc81b88d54a6b Author: Mark Brown Date: Tue Dec 2 15:08:03 2008 +0000 ASoC: Push workqueue data into snd_soc_card ASoC v2 does not use the struct snd_soc_device at runtime, using struct snd_soc_card as the root of the card. Begin removing data from snd_soc_device by pushing the workqueue data into snd_soc_card, using a backpointer to the snd_soc_device to keep things going for the time being. Signed-off-by: Mark Brown commit 2a7108ad89e1ea9a30afbbece8b581a0532afd12 Author: Chris Mason Date: Tue Dec 2 09:58:02 2008 -0500 Btrfs: rev the disk format for the inode compat and csum selection changes Signed-off-by: Chris Mason commit 4022abf4498186de2e893ce614333216f2add461 Author: Chris Mason Date: Tue Dec 2 09:57:03 2008 -0500 Btrfs: delete unused function: btrfs_invalidate_dcache_root Snapshot and subvolume creation no longer need this helper. Signed-off-by: Chris Mason commit 5d9ec854bfb6f1e122b1d96b344164a71eac5be8 Author: Harvey Harrison Date: Tue Dec 2 14:49:42 2008 +0100 fuse: clean up annotations of fc->lock Makes the existing annotations match the more common one per line style and adds a few missing annotations. Signed-off-by: Harvey Harrison Signed-off-by: Miklos Szeredi commit c9f0523d88fd208ce094995a0ac63f7c04e56bab Author: Miklos Szeredi Date: Tue Dec 2 14:49:42 2008 +0100 fuse: fix sparse warning in ioctl Fix sparse warning: CHECK fs/fuse/file.c fs/fuse/file.c:1615:17: warning: incorrect type in assignment (different address spaces) fs/fuse/file.c:1615:17: expected void [noderef] *iov_base fs/fuse/file.c:1615:17: got void * This was introduced by "fuse: implement ioctl support". Signed-off-by: Miklos Szeredi commit 607d432da0542e84ddcd358adfddac6f68500e3d Author: Josef Bacik Date: Tue Dec 2 07:17:45 2008 -0500 Btrfs: add support for multiple csum algorithms This patch gives us the space we will need in order to have different csum algorithims at some point in the future. We save the csum algorithim type in the superblock, and use those instead of define's. Signed-off-by: Josef Bacik commit 39da5814db81e8fe9782ae5ea24c0fdfcf2adc96 Author: Mark McLoughlin Date: Wed Nov 26 13:58:11 2008 +0000 virtio_net: large tx MTU support We don't really have a max tx packet size limit, so allow configuring the device with up to 64k tx MTU. Signed-off-by: Mark McLoughlin Signed-off-by: Rusty Russell commit c6e2bac1a52ffc36dd10769b594dfa3994e95f77 Author: Josef Bacik Date: Tue Dec 2 06:36:10 2008 -0500 Btrfs: fix panic on error during mount This needs to be applied on top of my previous patches, but is needed for more than just my new stuff. We're going to the wrong label when we have an error, we try to stop the workers, but they are started below all of this code. This fixes it so we go to the right error label and not panic when we fail one of these cases. Signed-off-by: Josef Bacik commit f2b636e80d8206dd4012de6e973c2367259a7d22 Author: Josef Bacik Date: Tue Dec 2 06:36:08 2008 -0500 Btrfs: add support for compat flags to btrfs This adds the necessary disk format for handling compatibility flags in the future to handle disk format changes. We have a compat_flags, compat_ro_flags and incompat_flags set for the super block. Compat flags will be to hold the features that are compatible with older versions of btrfs, compat_ro flags have features that are compatible with older versions of btrfs if the fs is mounted read only, and incompat_flags has features that are incompatible with older versions of btrfs. This also axes the compat_flags field for the inode and just makes the flags field a 64bit field, and changes the root item flags field to 64bit. Signed-off-by: Josef Bacik commit 7a865e8ac3a8ead776ea2c8c74fa2b2d00a2c9cf Author: Christoph Hellwig Date: Tue Dec 2 09:52:24 2008 -0500 Btrfs: btrfs: pass void __user * to btrfs_ioctl_clone_range Cleans the code up a little and also avoids a sparse warning due to the incorrect cast in the current version of the code. Signed-off-by: Christoph Hellwig commit 4bcabaa30a63a156fc50026f972377dada66452c Author: Christoph Hellwig Date: Tue Dec 2 06:36:08 2008 -0500 Btrfs: clean up btrfs_ioctl a little bit Provide a void __user *argp pointer so that we can avoid duplicating the cast for various sub-command calls. Signed-off-by: Christoph Hellwig commit 97288f2c71e46965a2010baea10548fcb5f3af73 Author: Christoph Hellwig Date: Tue Dec 2 06:36:09 2008 -0500 Btrfs: corret fmode_t annotations Make sure to propagate fmode_t properly and use the right constants for it. Signed-off-by: Christoph Hellwig commit 6e430f94e508fee1aefd1dfec88da3c24ce64433 Author: Christoph Hellwig Date: Tue Dec 2 06:36:09 2008 -0500 Btrfs: fix shadowed variable declarations Signed-off-by: Chris Mason commit b2950863c61bc24cf0f63bc05947d9d50663c4c0 Author: Christoph Hellwig Date: Tue Dec 2 09:54:17 2008 -0500 Btrfs: make things static and include the right headers Shut up various sparse warnings about symbols that should be either static or have their declarations in scope. Signed-off-by: Christoph Hellwig commit 1ffa4f426c002161b7dbd58b297f5d0680e7dd6a Author: Sage Weil Date: Tue Dec 2 09:53:09 2008 -0500 Btrfs: remove unneeded btrfs_start_delalloc_inodes call It is called by btrfs_sync_fs. Signed-off-by: Sage Weil commit 6e3ad88729103c4d19703311253fab8a49669fa8 Author: Sage Weil Date: Tue Dec 2 06:36:10 2008 -0500 Btrfs: remove unneeded total_trans Remove unneeded debugging sanity check. It gets corrupted anyway when multiple btrfs file systems are mounted, throwing bad warnings along the way. Signed-off-by: Sage Weil commit 641f5219f2ea0dfd1c024c91021ddc83f50bf1ce Author: Christoph Hellwig Date: Tue Dec 2 06:36:10 2008 -0500 Btrfs: sparse lock verification annotations for wait_on_state Signed-off-by: Chris Mason commit 8daa19051e1c7369c89ace7b18e74fe1f55dfa29 Author: Niels de Vos Date: Mon Dec 1 14:13:53 2008 -0800 x86, apm: remove CONFIG_APM_REAL_MODE_POWER_OFF in favor of a kernel parameter Remove CONFIG_APM_REAL_MODE_POWER_OFF like CONFIG_APM_POWER_OFF which has been done for linux-2.2.14pre8 (http://lkml.org/lkml/1999/11/23/3). Re-introducing CONFIG_APM_POWER_OFF got nack-ed. Stephen didn't bother to remove CONFIG_APM_REAL_MODE_POWER_OFF, let's get rid of it now. Reference: http://lkml.org/lkml/2008/5/7/97 Signed-off-by: Andrew Morton Signed-off-by: Ingo Molnar commit 470c66239ef0336429b35345f3f615d47341e13b Author: David Brownell Date: Mon Dec 1 14:31:37 2008 -0800 genirq: warn when IRQF_DISABLED may be ignored Impact: emit new warning We periodically waste time tracking down problems from the genirq framework not respecting IRQF_DISABLED for some shared IRQ cases. Linus views this as "will not fix", but we're still left with the bugs caused by this misbehavior. This patch adds a nag message in request_irq(), so that drivers can fix their IRQ handlers to avoid this problem. Note that developers will never see the relevant bugs when they run with LOCKDEP, so it's no wonder these bugs are hard to find. (That also means LOCKDEP is overlooking some IRQ-related bugs involving IRQ handlers that don't set IRQF_DISABLED...) Signed-off-by: David Brownell Signed-off-by: Andrew Morton Acked-by: Peter Zijlstra Signed-off-by: Ingo Molnar commit f2b662da8d6bd44673537f3f64220afefdca369f Author: David Brownell Date: Mon Dec 1 14:31:38 2008 -0800 genirq: record IRQ_LEVEL in irq_desc[] Impact: fix __irq_set_trigger() for IRQ_LEVEL When recording the irq trigger type, let's also make sure that IRQ_LEVEL gets set correctly. Signed-off-by: David Brownell Signed-off-by: Andrew Morton Acked-by: Benjamin Herrenschmidt Signed-off-by: Ingo Molnar commit 48d68b20d00865035b8b65e69af343d0f53fac9d Author: Frederic Weisbecker Date: Tue Dec 2 00:20:39 2008 +0100 tracing/function-graph-tracer: support for x86-64 Impact: extend and enable the function graph tracer to 64-bit x86 This patch implements the support for function graph tracer under x86-64. Both static and dynamic tracing are supported. This causes some small CPP conditional asm on arch/x86/kernel/ftrace.c I wanted to use probe_kernel_read/write to make the return address saving/patching code more generic but it causes tracing recursion. That would be perhaps useful to implement a notrace version of these function for other archs ports. Note that arch/x86/process_64.c is not traced, as in X86-32. I first thought __switch_to() was responsible of crashes during tracing because I believed current task were changed inside but that's actually not the case (actually yes, but not the "current" pointer). So I will have to investigate to find the functions that harm here, to enable tracing of the other functions inside (but there is no issue at this time, while process_64.c stays out of -pg flags). A little possible race condition is fixed inside this patch too. When the tracer allocate a return stack dynamically, the current depth is not initialized before but after. An interrupt could occur at this time and, after seeing that the return stack is allocated, the tracer could try to trace it with a random uninitialized depth. It's a prevention, even if I hadn't problems with it. Signed-off-by: Frederic Weisbecker Cc: Steven Rostedt Cc: Tim Bird Signed-off-by: Ingo Molnar commit 16950e09cf07b54abb78dd09f8ef3c85c6bdc9de Author: Takashi Iwai Date: Tue Dec 2 09:31:16 2008 +0100 ALSA: emu10k1 - Add capture boost mixer switch for Audigy Due to the conversion (drop) from 24bit in the DSP to 16bit in AC97, the maximum capture level on Audigy seems lower than it could be. This patch adds a workaround to enable the artificial capture boost switch. When this switch is on, the whole analog capature level is boost up. However, this results in the lower capture resolution. Signed-off-by: Takashi Iwai commit 66eafebc1086014709dc38f52ddcb3d67d9b346c Author: Liming Wang Date: Tue Dec 2 10:33:08 2008 +0800 function trace: fix a bug of single thread function trace Impact: fix "no output from tracer" bug caused by ftrace_update_pid_func() When disabling single thread function trace using "echo -1 > set_ftrace_pid", the normal function trace has to restore to original function, otherwise the normal function trace will not work well. Without this commit, something like below: $ ps |grep 850 850 root 2556 S -/bin/sh $ echo 850 > /debug/tracing/set_ftrace_pid $ echo function > /debug/tracing/current_tracer $ echo 1 > /debug/tracing/tracing_enabled $ sleep 1 $ echo 0 > /debug/tracing/tracing_enabled $ cat /debug/tracing/trace_pipe |wc -l 59704 $ echo -1 > /debug/tracing/set_ftrace_pid $ echo 1 > /debug/tracing/tracing_enabled $ sleep 1 $ echo 0 > /debug/tracing/tracing_enabled $ more /debug/tracing/trace_pipe <====== nothing output now! it should output trace record. Signed-off-by: Liming Wang Signed-off-by: Ingo Molnar commit 222658e08f72cd539d01f3aabdc258c596f487e2 Merge: 74bf3ca 65c6dc6 c072c24 d51090b a838c2e f1eecf0 604094f f08340c Author: Ingo Molnar Date: Tue Dec 2 09:20:44 2008 +0100 Merge branches 'tracing/branch-tracer', 'tracing/ftrace', 'tracing/function-graph-tracer', 'tracing/markers', 'tracing/powerpc', 'tracing/stack-tracer' and 'tracing/tracepoints' into tracing/core commit 74bf3cabc306f31ddd02f2c1b0540a6cfcacc593 Merge: c7cc773 4f5a7f4 Author: Ingo Molnar Date: Tue Dec 2 09:20:29 2008 +0100 Merge branch 'tracing/urgent' into tracing/core Conflicts: kernel/trace/ring_buffer.c commit 6976a1d6c222c50ac93d2273b9cf57e6fd047e59 Author: Eric Dumazet Date: Mon Dec 1 23:37:17 2008 -0800 net: percpu_counter_inc() should not be called in BH-disabled section Based upon a lockdep report by Alexey Dobriyan. I checked all per_cpu_counter_xxx() usages in network tree, and I think all call sites are BH enabled except one in inet_csk_listen_stop(). commit dd24c00191d5e4a1ae896aafe33c6b8095ab4bd1 (net: Use a percpu_counter for orphan_count) replaced atomic_t orphan_count to a percpu_counter. atomic_inc()/atomic_dec() can be called from any context, while percpu_counter_xxx() should be called from a consistent state. For orphan_count, this context can be the BH-enabled one. Signed-off-by: Eric Dumazet Signed-off-by: David S. Miller commit 422d9cdcb85b3622d08a590fed66021af7aea333 Author: Gerrit Renker Date: Mon Dec 1 23:34:01 2008 -0800 dccp: Feature activation handlers This patch provides the post-processing of feature negotiation state, after the negotiation has completed. To this purpose, handlers are used and added to the dccp_feat_table. Each handler is passed a boolean flag whether the RX or TX side of the feature is meant. Several handlers are provided already, new handlers can easily be added. The initialisation is now fully dynamic, i.e. CCIDs are activated only after the feature negotiation. The integration of this dynamic activation is done in the subsequent patches. Thanks to Wei Yongjun for pointing out the necessity of skipping over empty Confirm options while copying the negotiated feature values. Signed-off-by: Gerrit Renker Acked-by: Ian McDonald Signed-off-by: David S. Miller commit b1ad00422ecba0449f8e3a8f2ec9267bc994bf8f Author: Gerrit Renker Date: Mon Dec 1 23:33:18 2008 -0800 dccp: Processing Confirm options Analogous to the previous patch, this adds code to interpret incoming Confirm feature-negotiation options. Both functions operate on the feature-negotiation list of either the request_sock (server) or the dccp_sock (client). Thanks to Wei Yongjun for pointing out that it is overly restrictive to check the entire list of confirmed SP values. Signed-off-by: Gerrit Renker Acked-by: Ian McDonald Signed-off-by: David S. Miller commit e77b8363b2ea7c0d89919547c1a8b0562f298b57 Author: Gerrit Renker Date: Mon Dec 1 23:32:35 2008 -0800 dccp: Process incoming Change feature-negotiation options This adds/replaces code for processing incoming ChangeL/R options. The main difference is that: * mandatory FN options are now interpreted inside the function (there are too many individual cases to do this externally); * the function returns an appropriate Reset code or 0, which is then used to fill in the data for the Reset packet. Old code, which is no longer used or referenced, has been removed. Signed-off-by: Gerrit Renker Signed-off-by: David S. Miller commit 75757a7d0c54f8fdd414c74a6005d275032b0115 Author: Gerrit Renker Date: Mon Dec 1 23:31:04 2008 -0800 dccp: Preference list reconciliation This provides two functions to * reconcile preference lists (with appropriate return codes) and * reorder the preference list if successful reconciliation changed the preferred value. The patch also removes the old code for processing SP/NN Change options, since new code to process these is mostly there already; related references have been commented out. The code for processing Change options follows in the next patch. Signed-off-by: Gerrit Renker Acked-by: Ian McDonald Signed-off-by: David S. Miller commit 8b7b6c75c6387527b195bb69100182288da94f84 Author: Gerrit Renker Date: Mon Dec 1 23:29:30 2008 -0800 dccp: Integrate feature-negotiation insertion code The patch implements insertion of feature negotiation at the server (listening and request socket) and the client (connecting socket). In dccp_insert_options(), several statements have been grouped together now to achieve (it is hoped) better efficiency by reducing the number of tests each packet has to go through: - Ack Vectors are sent if the packet is neither a Data or a Request packet; - a previous issue is corrected - feature negotiation options are allowed on DataAck packets (5.8). Signed-off-by: Gerrit Renker Acked-by: Ian McDonald Signed-off-by: David S. Miller commit 0971d17ca3d80f61863f4750091a64448bf91600 Author: Gerrit Renker Date: Mon Dec 1 23:27:31 2008 -0800 dccp: Insert feature-negotiation options into skb This patch replaces the earlier insertion routine from options.c, so that code specific to feature negotiation can remain in feat.c. This is possible by calling a function already existing in options.c. Signed-off-by: Gerrit Renker Acked-by: Ian McDonald Signed-off-by: David S. Miller commit bc2fd1c09c226ea47ab8301cde6dbcf9e5c78b73 Author: Anton Vorontsov Date: Thu Oct 23 21:06:56 2008 +0200 [ARM] pxa: add basic support for HP iPAQ h5000 This patch adds HP iPAQ h5000's (h5400, h5500) basic definitions. Kernel will able to boot, work via serial console, mount filesystems placed on flashes and run USB gadgets (g_ether by default). Other device drivers (frame buffer, LCD, touchscreen, backlight, bluetooth, w1/battery, ...) are depend on SAMCOP and MediaQ SoCs/MFDs, drivers to which will be submitted too, after massive cleanups. This machine will be used as "real user" for these new drivers. This is an updated version of the patch, which contains fixes proposed on linux-arm-kernel mailing list. Signed-off-by: Anton Vorontsov Signed-off-by: Milan Plzik Signed-off-by: Eric Miao commit 431a2cff07446b0325ec063e5b401ca7c11e0058 Author: Dmitry Baryshkov Date: Tue Nov 25 00:57:30 2008 +0300 [ARM] pxa/poodle: add physmap mapping for ROM Add mapping for system ROM using physmap-flash mapping. Signed-off-by: Dmitry Baryshkov Signed-off-by: Eric Miao commit 4a9295ccb43ead9ec054d0bd374c992c692b2cf4 Author: Dmitry Baryshkov Date: Tue Nov 25 00:57:29 2008 +0300 [ARM] pxa/corgi: add physmap mapping for ROM Add mapping for system ROM using physmap-flash mapping. Signed-off-by: Dmitry Baryshkov Signed-off-by: Eric Miao commit e5d3bf3c106c0557199076a57800adb85206c1ce Author: Dmitry Baryshkov Date: Tue Nov 25 00:57:28 2008 +0300 [ARM] pxa/spitz: add physmap mapping for ROM Add mapping for system ROM using physmap-flash mapping. Signed-off-by: Dmitry Baryshkov Signed-off-by: Eric Miao commit f34ee79a5307e9a4c68c978840cf7e7e10236362 Author: Dmitry Baryshkov Date: Tue Nov 25 00:57:27 2008 +0300 [ARM] pxa/tosa: add physmap mapping for ROM Add mapping for system ROM using physmap-flash mapping. Signed-off-by: Dmitry Baryshkov Signed-off-by: Eric Miao commit ddfb33c0ffbd8b8f5984de5a8f9513b88cd28b67 Author: Dmitry Baryshkov Date: Thu Nov 27 01:25:09 2008 +0300 [ARM] pxa/tosa: fix building w/o TC6393XB driver Signed-off-by: Dmitry Baryshkov Signed-off-by: Eric Miao commit 31c9b284ae49093fdd9d1e9a347e458c7ebc37a9 Author: Dmitry Baryshkov Date: Tue Oct 28 18:40:37 2008 +0300 [ARM] pxa/tosa: support tc6393xb/tmiofb. Add platform data necessary to support tmiofb on tosa. Signed-off-by: Dmitry Baryshkov Signed-off-by: Eric Miao commit 4aa89f973f515a9e456bcf23e448d5904d428d7d Author: Robert Jarzmik Date: Sat Nov 15 16:09:59 2008 +0100 [ARM] pxa/MioA701: improve power supply sources Take advantage of the newly created wm97xx battery driver and remove useless code in mioa701 board code. Add also the ac connection detect capability after the matching gpio was discovered. Signed-off-by: Robert Jarzmik Signed-off-by: Eric Miao commit c96763d4dc2f4032369f068a5d185238e01da478 Author: Robert Jarzmik Date: Tue Nov 18 20:23:32 2008 +0100 [ARM] pxa/MioA701: discovered new gpio definitions. The charger enable gpio is straight (1 means draw from USB Vbus, 0 mean do not draw). The USB Vbus sensing is inverted (1 means no Vbus voltage sensed, 0 means Vbus voltage present). Signed-off-by: Robert Jarzmik Signed-off-by: Eric Miao commit a0361a8afeaa07274e21907e4488eedceb12e3d6 Author: Robert Jarzmik Date: Sat Nov 15 16:09:58 2008 +0100 [ARM] pxa/MioA701: change reset function to preserve RTC. Change the halt and reboot method from gpio based to "jump to ROM IPL beginning". This gives control back to IPL, which without PowerOn key pressed, will put the device into deep sleep until PowerOn is pressed for 1 second. But this has the benefit of keeping the RTC registers across reboots, which is good for OS change. Signed-off-by: Robert Jarzmik Signed-off-by: Eric Miao commit 8e7ccddf0fd22617a3edc28ab2ce2fac0fb94823 Author: Robert Jarzmik Date: Sat Nov 15 16:09:54 2008 +0100 [ARM] pxa/MioA701: add camera support for Mio A701 board. Add GPIO configuration and platform specific declarations to make Mitac Mio A701 camera chip work. The chip is a Micron MT9M111 CMOS sensor, based on PXA QIF interface and I2C bus for sensor control. Signed-off-by: Robert Jarzmik Signed-off-by: Eric Miao commit 0bcd30ec8deff327ae0becffb0fc7ee9dc90db82 Author: Robert Jarzmik Date: Fri Nov 28 20:08:19 2008 +0100 [ARM] pxa/MioA701: remove KConfig leds driver requirement Since mioa701 board has migrated to the mfp architecture, low power gpio setup is now correctly handled even when gpio led driver is not loaded, and leds and vibrator don't stay activated in suspend mode (especially vibrator). Remove the not needed anymore dependency. Signed-off-by: Robert Jarzmik Signed-off-by: Eric Miao commit 724931465c234f71551e229dcd8842d1fc531d77 Author: Robert Jarzmik Date: Thu Nov 13 23:50:56 2008 +0100 [ARM] pxa: add resources for incoming rtc-pxa driver Add IO memory and IRQ ressources for pxa based SoC to be able to use the new rtc-pxa driver. Signed-off-by: Robert Jarzmik Signed-off-by: Eric Miao commit a10c287d393bdd32127d59f3ec8fd7bb80e2fa05 Author: Philipp Zabel Date: Sun Jun 29 16:53:34 2008 +0200 [ARM] pxa: cpufreq-pxa2xx: sdram_rows detection support This patch implements Eric Miao's idea to detect the correct value of sdram_rows by inspecting the MDCNFG register settings. It is only tested on two pxa27x devices with 64MB RAM (magician and hx4700) so far. Signed-off-by: Philipp Zabel Signed-off-by: Eric Miao commit 65587f7d154ac58f4ff100c240640c71abec41dd Author: Marc Zyngier Date: Tue Nov 4 13:33:25 2008 +0100 [ARM] pxa: cpufreq-pxa2xx: allow frequency table selection Following the removal of the "->policy" usage for PXA255 in patch 459fc208abd1b365fa013c17d433dfb5b4bc1e3a (cpufreq: remove policy->governor setting in drivers initialization), this patch introduces an option (called "pxa255_turbo_table") to select either the "run" or "turbo" frequency table. It also cures the runtime warning that was printed each time the frequency was changed. Got rid of all references to CPUFREQ_POLICY_* for pxa255, and sticked with the run/turbo thing. Tested on an Arcom/Eurotech Viper. Signed-off-by: Marc Zyngier Acked-by: Dominik Brodowski Signed-off-by: Eric Miao commit a5718a14a1d91b871e65d4e6b349e39c22cac943 Author: Eric Miao Date: Tue Nov 11 21:50:39 2008 +0800 [ARM] pxafb: make {backlight,lcd}_power() members of struct pxafb_info instead of holding them as static pointers. Signed-off-by: Daniel Mack Signed-off-by: Eric Miao commit 9179825cf5e96bd0784456ef43811cab4db17cd9 Author: Eric Miao Date: Mon Dec 1 11:41:19 2008 +0800 [ARM] locomo: export locomo_frontlight_set() This symbol is required by locomo backlight driver, exporting this allows the driver to be built as a module. Signed-off-by: Eric Miao commit 8cc78909816ed5529806ee94f19f3e02beae4e7e Author: Eric Miao Date: Sat Nov 22 21:40:50 2008 +0800 [ARM] pxa: add missing GPIOs definitions GPIO3/GPIO4 are a bit special on pxa27x, since it depends on PCFR/PI2C_EN bit, add their definitions here with comments. Signed-off-by: Eric Miao Acked-by: Stefan Schmidt commit 59c7bcd4d60812ca10ec691376f43d6a5fbfb4f8 Author: Eric Miao Date: Sat Nov 29 21:42:39 2008 +0800 [ARM] pxa: add base PXA935 support due to CPUID change PXA935 has changed its implementor ID from Intel to Marvell, this patch modifies arch/arm/boot/compressed/head.S and proc-xsc3.S to support a smooth bootup. Signed-off-by: Eric Miao commit f1c6cd62cc4f7e55a803c4b9b92a67488d765a8f Author: Eric Miao Date: Wed Nov 26 15:39:39 2008 +0800 [ARM] pxa: introduced cpu_is_pxa935() and cpu_is_pxa9xx() Signed-off-by: Eric Miao commit 6f584cfab47173bcbf06b67cb22d519e95317311 Author: Eric Miao Date: Fri Nov 28 16:00:24 2008 +0800 [ARM] pxa: move I2C pin configurations out into board specific files Signed-off-by: Eric Miao commit 14758220520c45755ae9de3c3073f03bd71f098a Author: Eric Miao Date: Fri Nov 28 15:24:12 2008 +0800 [ARM] pxa: register Power I2C device only when necessary Signed-off-by: Eric Miao commit 994642934d99b9a4d5447d628de7c321c4fde5fe Author: Eric Miao Date: Fri Nov 28 15:01:55 2008 +0800 [ARM] pxa: move power I2C device definitions into devices.c Let's put these devices into a central place even if they are now processor specific, as they might be re-used in later processors. Signed-off-by: Eric Miao commit e8a5ab1f7385fb8f3c55348b7bb372a463c55d09 Author: Eric Miao Date: Sun Nov 30 21:10:05 2008 +0800 [ARM] pxa: remove unnecessary #include of pxa2xx-gpio.h in clock.c Signed-off-by: Eric Miao commit 7e5abc465b20001576d360ed2ece424da816e3a4 Author: Eric Miao Date: Sun Nov 30 23:13:52 2008 +0800 [ARM] pxa: include in pxa-regs.h for the reference of __REG() within Signed-off-by: Eric Miao commit bf8b38654be05aa2e5e537a1d4353cefa1fa4b42 Author: Eric Miao Date: Fri Nov 28 14:57:33 2008 +0800 [ARM] pxa: further cleanup of pxa-regs.h Signed-off-by: Eric Miao commit f1647e4c068139b5f6c988b0862eb1d233dfffe2 Author: Eric Miao Date: Fri Nov 28 14:54:39 2008 +0800 [ARM] pxa: move GPIOx_BASE and GPIO register offsets to gpio.c Signed-off-by: Eric Miao commit 1f017a9964c5b3b9581d3a5732110cb1e0444281 Author: Eric Miao Date: Fri Nov 28 14:19:33 2008 +0800 [ARM] pxa: move AC97 register definitions into dedicated regs-ac97.h The optimal change would be to move the AC97 register definitions into the AC97 driver, unfortunately, the registers are shared between several files. Move them into a dedicated regs-ac97.h first. Signed-off-by: Eric Miao commit 02f652626a8f23e513877cb751c8ea533739c28f Author: Eric Miao Date: Fri Nov 28 14:08:53 2008 +0800 [ARM] pxa: move UART register definitions into dedicated regs-uart.h Signed-off-by: Eric Miao commit b31eca4f006c3efdd2dc501270172aa7ff8614b9 Author: Eric Miao Date: Fri Nov 28 13:49:22 2008 +0800 [ARM] pxa: move pxa2xx specific PWRMODE definitions into pxa2xx-regs.h Signed-off-by: Eric Miao commit a07efb5dac2a1c9125b9bd84d2f9ea4803d93e60 Author: Eric Miao Date: Fri Nov 28 13:38:03 2008 +0800 [ARM] pxa: remove the now unused IMPMCR/IMPMSR register definitions There two are internal registers that are used to control the power management of the Internal Memory (i.e. Internal SRAM). They are referenced nowhere and removed here to simplify pxa-regs.h a bit. Signed-off-by: Eric Miao commit d15313e685759a676222ad85247ad8e1c138b9c7 Author: Eric Miao Date: Thu Nov 27 17:08:42 2008 +0800 [ARM] pxa: remove unused PWM register definitions, use generic PWM API We now have generic PWM API for PXA, the PWM registers definitions are now used nowhere, and it is not encouraged to manipulate them directly by driver code. Signed-off-by: Eric Miao commit b40ddf575883ceca303906556bcd0cff5c284fef Author: Eric Miao Date: Fri Nov 28 11:13:47 2008 +0800 [ARM] pxa: move FICP register definitions into pxaficp_ir.c Signed-off-by: Eric Miao commit 013132cae84a36df8a88773a3e0391700d0a66d4 Author: Eric Miao Date: Fri Nov 28 09:16:52 2008 +0800 [ARM] pxa: move camera (QCI) registers definition out of pxa-regs.h Signed-off-by: Eric Miao Acked-by: Guennadi Liakhovetski commit 63e6552f7cc45739cd2f92c27f5081f753b70d04 Author: Eric Miao Date: Sun Nov 30 20:58:42 2008 +0800 [ARM] pxa: removed unused declarations of pxa_gpio_* in hardware.h pxa_gpio_{get,set}_value() are not used anymore, remove them from hardware.h. Declaration of pxa_gpio_mode() is still being referenced and thus moved into pxa2xx-gpio.h Signed-off-by: Eric Miao commit 80796f2a40504526797d488d17b87c4274d430fa Author: Eric Miao Date: Tue Nov 25 11:03:03 2008 +0800 [ARM] pxa: use instead of unnecessary Signed-off-by: Eric Miao commit 067455aa53a55404ded85227e87436478c2acc63 Author: Eric Miao Date: Wed Nov 26 18:12:04 2008 +0800 [ARM] pxa: add support for additional GPIOs on PXA26x Original patch from Marek Vasut, the problems with PXA26x are: 1. there are additional 4 GPIOs 86,87,88,89 have their direction bits inverted in GPDR2, as well as their alternate function bits being '1' for their GPIO functionality in GAFRx 2. there is no easy way to decide if the processor is a pxa26x or a pxa250/pxa255 at run-time, so the assumption here is the pxa26x will be treated as one of the pxa25x variants, and board code should have a better knowledge of the processor it is featured Introduce pxa26x_init_irq() for the second purpose, and treat the additional GPIOs > 85 on PXA25x specially. Kconfig option CONFIG_CPU_PXA26x is introduced to optimize the code a bit when PXA26x support isn't needed. Board config options have to select this to enable the support for PXA26x. __gpio_is_inverted() will be optimized way when CONFIG_CPU_PXA26x isn't selected. Signed-off-by: Marek Vasut Signed-off-by: Eric Miao commit e88db8b91f1f5de24ae6bb3241d92fecaae64abf Author: Eric Miao Date: Wed Nov 26 18:25:52 2008 +0800 Revert "[ARM] pxa: introduce cpu_is_pxa26x()" This reverts commit da1a3dc0ebb4f9209a1939eaa6b18901e0cd7bc0. The originally proposed way in the above commit is incorrect. And there is no easy way to distinguish between pxa25x and pxa26x at run-time. Signed-off-by: Eric Miao commit ddd244dd814ee3e5ef1e4872705cbec0dfced541 Author: Eric Miao Date: Wed Nov 26 17:06:42 2008 +0800 [ARM] pxa: use 'pxa_last_gpio' instead of 'gpio_nr' in mfp-pxa2xx.c The 'gpio_nr' can really be inferred by 'pxa_last_gpio', and since we already have that variable, remove the unnecessary 'gpio_nr' now. Also, fix the incorrect GPIO number passed in pxa27x_init_irq(). Note: pxa_last_gpio should be initialized earlier, and this is true since it's been assigned in machine_desc->init_irq(). Signed-off-by: Eric Miao commit 9968711468570c5dc5f96c415e73cb3282e857fc Author: Robert Jarzmik Date: Thu Nov 13 23:30:00 2008 +0100 [ARM] pxa: add muxed gpio wakeup sources on pxa2xx architectures PXA SoC have several GPIOs muxed on only one wakeup source. Add support for these wakeup sources which were missing in mfp core support. Signed-off-by: Robert Jarzmik Signed-off-by: Eric Miao commit afb5b5c9adb66c73b83dc39319efbacb6fb26a7d Author: Eric Miao Date: Mon Dec 1 11:43:08 2008 +0800 [ARM] pxa: explicit #include in various drivers Where 'pxa_dma_desc' and 'pxa_{request,free}_dma' are referenced. Signed-off-by: Eric Miao commit e5d412f17846b0aea9e5250926f994ab2e4e1006 Author: sandeen@sandeen.net Date: Tue Nov 25 21:20:17 2008 -0600 [XFS] Reorder xfs_ioctl32.c for some tidiness Put things in IMHO a more readable order, now that it's all done; add some comments. Signed-off-by: Eric Sandeen Reviewed-by: Christoph Hellwig Signed-off-by: Lachlan McIlroy commit 710d62aaaf17c841b8bdbc7a775f8910a7160248 Author: sandeen@sandeen.net Date: Tue Nov 25 21:20:16 2008 -0600 [XFS] Hook up compat XFS_IOC_FSSETDM_BY_HANDLE ioctl handler Add a compat handler for XFS_IOC_FSSETDM_BY_HANDLE. I haven't tested this, lacking dmapi tools to do so (unless xfsqa magically gets this somehow?) Signed-off-by: Eric Sandeen Reviewed-by: Christoph Hellwig Signed-off-by: Lachlan McIlroy commit 28750975ace79c547407a84d3969cbed516be8f8 Author: sandeen@sandeen.net Date: Tue Nov 25 21:20:15 2008 -0600 [XFS] Hook up compat XFS_IOC_ATTRMULTI_BY_HANDLE ioctl handler Add a compat handler for XFS_IOC_ATTRMULTI_BY_HANDLE Signed-off-by: Eric Sandeen Reviewed-by: Christoph Hellwig Signed-off-by: Lachlan McIlroy commit ebeecd2b04645a4b79e1bc00d69cf4f98e03a684 Author: sandeen@sandeen.net Date: Tue Nov 25 21:20:14 2008 -0600 [XFS] Hook up compat XFS_IOC_ATTRLIST_BY_HANDLE ioctl handler Add a compat handler for XFS_IOC_ATTRLIST_BY_HANDLE Signed-off-by: Eric Sandeen Reviewed-by: Christoph Hellwig Signed-off-by: Lachlan McIlroy commit af819d27637119105213433881f158931e29620b Author: sandeen@sandeen.net Date: Tue Nov 25 21:20:13 2008 -0600 [XFS] Fix compat XFS_IOC_FSBULKSTAT_SINGLE ioctl The XFS_IOC_FSBULKSTAT_SINGLE ioctl passes in the desired inode number, while XFS_IOC_FSBULKSTAT passes in the previous/last-stat'd inode number. The compat handler wasn't differentiating these, so when a XFS_IOC_FSBULKSTAT_SINGLE request for inode 128 was sent in, stat information for 131 was sent out. Signed-off-by: Eric Sandeen Reviewed-by: Christoph Hellwig Signed-off-by: Lachlan McIlroy commit 65fbaf2489c667bf79ae1f20403f30c66568d445 Author: sandeen@sandeen.net Date: Tue Nov 25 21:20:12 2008 -0600 [XFS] Fix xfs_bulkstat_one size checks & error handling The 32-bit xfs_blkstat_one handler was failing because a size check checked whether the remaining (32-bit) user buffer was less than the (64-bit) bulkstat buffer, and failed with ENOMEM if so. Move this check into the respective handlers so that they check the correct sizes. Also, the formatters were returning negative errors or positive bytes copied; this was odd in the positive error value world of xfs, and handled wrong by at least some of the callers, which treated the bytes returned as an error value. Move the bytes-used assignment into the formatters. Signed-off-by: Eric Sandeen Reviewed-by: Christoph Hellwig Signed-off-by: Lachlan McIlroy commit 2ee4fa5cb716eba104a4ef8efe159e1007a2aef6 Author: sandeen@sandeen.net Date: Tue Nov 25 21:20:11 2008 -0600 [XFS] Make the bulkstat_one compat ioctl handling more sane Currently the compat formatter was handled by passing in "private_data" for the xfs_bulkstat_one formatter, which was really just another formatter... IMHO this got confusing. Instead, just make a new xfs_bulkstat_one_compat formatter for xfs_bulkstat, and call it via a wrapper. Also, don't translate the ioctl nrs into their native counterparts, that just clouds the issue; we're in a compat handler anyway, just switch on the 32-bit cmds. Signed-off-by: Eric Sandeen Reviewed-by: Christoph Hellwig Signed-off-by: Lachlan McIlroy commit 471d59103167c84f17b9bcfee22ed10b44ff206e Author: sandeen@sandeen.net Date: Tue Nov 25 21:20:10 2008 -0600 [XFS] Add compat handlers for data & rt growfs ioctls The args for XFS_IOC_FSGROWFSDATA and XFS_IOC_FSGROWFSRTA have padding on the end on intel, so add arg copyin functions, and then just call the growfs ioctl helpers. Signed-off-by: Eric Sandeen Reviewed-by: Christoph Hellwig Signed-off-by: Lachlan McIlroy commit e94fc4a43e5c39f689e83caf6d2f0939081f5e6b Author: sandeen@sandeen.net Date: Tue Nov 25 21:20:09 2008 -0600 [XFS] Add compat handlers for swapext ioctl The big hitter here was the bstat field, which contains different sized time_t on 32 vs. 64 bit. Add a copyin function to translate the 32-bit arg to 64-bit, and call the swapext ioctl helper. Signed-off-by: Eric Sandeen Reviewed-by: Christoph Hellwig Signed-off-by: Lachlan McIlroy commit d5547f9feea459dfc9e7313bd1d561394e2c129f Author: sandeen@sandeen.net Date: Tue Nov 25 21:20:08 2008 -0600 [XFS] Clean up some existing compat ioctl calls Create a new xfs_ioctl.h file which has prototypes for ioctl helpers that may be called in compat mode. Change several compat ioctl cases which are IOW to simply copy in the userspace argument, then call the common ioctl helper. This also fixes xfs_compat_ioc_fsgeometry_v1(), which had it backwards before; it copied in an (empty) arg, then copied out the native result, which probably corrupted userspace. It should be translating on the copyout. Also, a bit of formatting cleanup for consistency, and conversion of all error returns to use XFS_ERROR(). Signed-off-by: Eric Sandeen Reviewed-by: Christoph Hellwig Signed-off-by: Lachlan McIlroy commit ffae263a640b736a7206a0d7bd14ab44eb58cd28 Author: sandeen@sandeen.net Date: Tue Nov 25 21:20:07 2008 -0600 [XFS] Move compat ioctl structs & numbers into xfs_ioctl32.h This makes the c file less cluttered and a bit more readable. Consistently name the ioctl number macros with "_32" and the compatibility stuctures with "_compat." Rename the helpers which simply copy in the arg with "_copyin" for easy identification. Finally, for a few of the existing helpers, modify them so that they directly call the native ioctl helper after userspace argument fixup. Signed-off-by: Eric Sandeen Reviewed-by: Christoph Hellwig Signed-off-by: Lachlan McIlroy commit 743bb4650da9e2595d6cedd01c680b5b9398c74a Author: sandeen@sandeen.net Date: Tue Nov 25 21:20:06 2008 -0600 [XFS] Move copy_from_user calls out of ioctl helpers into ioctl switch. Moving the copy_from_user out of some of the ioctl helpers will make it easier for the compat ioctl switch to copy in the right struct, then just pass to the underlying helper. Also, move common access checks into the helpers themselves, and out of the native ioctl switch code, to reduce code duplication between native & compat ioctl callers. Signed-off-by: Eric Sandeen Reviewed-by: Christoph Hellwig Signed-off-by: Lachlan McIlroy commit 7c37d74474c8ee8ddcd5a2d2a9571d4a1290c844 Author: Ralph Campbell Date: Mon Dec 1 20:59:08 2008 -0800 IB/ipath: Improve UD loopback performance by allocating temp array only once Receive work queue entries are checked for L_Key validity, and pointers to the memory region structure are saved in an allocated structure. For UD loopback packets, this structure is allocated and freed for each packet. This patch changes that to allocate/free during QP creation and destruction. Signed-off-by: Ralph Campbell Signed-off-by: Roland Dreier commit 64f22fa17c1a531e682ebc882566856ea5718495 Author: Michael Ellerman Date: Mon Dec 1 20:59:07 2008 -0800 IB/ipath: Fix pointer-to-pointer thinko in ipath_fs.c The return from lookup_one_len() is assigned to *dentry, so that's what we should be checking with IS_ERR(). Signed-off-by: Michael Ellerman Signed-off-by: Roland Dreier commit 75c21ae9aa75b0452318d05f737ea838672137f5 Author: Joachim Fenkes Date: Mon Dec 1 20:58:57 2008 -0800 IB/ehca: Fix locking for shca_list_lock shca_list_lock is taken from softirq context in ehca_poll_eqs, so we need to lock IRQ safe elsewhere. Found by lockdep. Signed-off-by: Michael Ellerman Signed-off-by: Joachim Fenkes Signed-off-by: Roland Dreier commit ce397c0616de9bfb678569f1dfa655838a711594 Author: Liu Hui Date: Mon Dec 1 20:31:40 2008 -0500 Btrfs: Fix cow semantic in run_delalloc_nocow() The file preallocation code reversed the logic to force nodatacow. This fixes it. commit d281bc9d8a22419abc254f86a7fc268bb99914e1 Author: Russell King Date: Mon Dec 1 23:01:19 2008 +0000 [ARM] fix missing includes for iop33x and sa1100_ir Signed-off-by: Russell King commit 0ecfe7987855d21c2a89ffe003ddf0ee11b42d47 Author: Mark Brown Date: Mon Dec 1 17:59:25 2008 +0000 ASoC: Don't free static data in WM9713 Signed-off-by: Mark Brown commit 4290239cd05b6323da87b5e7e7db4c673bff5359 Author: Peter Ujfalusi Date: Mon Dec 1 10:03:47 2008 +0200 ASoC: TWL4030: Add volume controls for outputs All outputs have dedicated gain controls except the HandsFree output. Signed-off-by: Peter Ujfalusi Signed-off-by: Mark Brown commit d889a72c5c71161d6f934f9d7fca0e5b7e52bc08 Author: Peter Ujfalusi Date: Mon Dec 1 10:03:46 2008 +0200 ASoC: TWL4030: Change the common playback volume controls Add Playback volume controls for all four DACs. All four paths has three levels of volume controls: Digital Fine gain, Digital Coarse gain, Analog gain. The controls are named to reflect their connection to the DACs. Per DAC volume can be performed, if needed: amixer sset 'DAC1 Analog' 5,10 DACL1 analog gain to 5 DACR1 analog gain to 10 Signed-off-by: Peter Ujfalusi Signed-off-by: Mark Brown commit 381a22b564ff5a7ada09ad9a0831246da1dc5513 Author: Peter Ujfalusi Date: Mon Dec 1 10:03:45 2008 +0200 ASoC: TWL4030: Change the capture volume control to TLV The digital Capture gain control has a range: 0 to 31 dB in 1 dB steps. Signed-off-by: Peter Ujfalusi Signed-off-by: Mark Brown commit fa5c76978cee331b25e6d271482cf8e76f51e68b Author: Mark Brown Date: Sun Nov 30 22:55:46 2008 +0000 ASoC: Remove in-code changelog from AD73311 driver Signed-off-by: Mark Brown commit 7d8c16a6f728f0ee5c42d1d731923cfd0cc19971 Author: Mark Brown Date: Sun Nov 30 22:11:24 2008 +0000 ASoC: Annotate core removal function Signed-off-by: Mark Brown commit 968a6025aa9f909d487988efb542217a126023a0 Author: Mark Brown Date: Fri Nov 28 11:49:07 2008 +0000 ASoC: Rename snd_soc_register_card() to snd_soc_init_card() Currently ASoC card initialisation is completed by a function called snd_soc_register_card(). As part of the work to allow independant registration of cards, codecs and machines in ASoC v2 a new function of the same name has been added so rename the existing function to facilitate the merge of v2. Signed-off-by: Mark Brown commit 6c415b9234a8c71f290e5d4fddc467f103f32719 Author: Arun R Bharadwaj Date: Mon Dec 1 20:49:05 2008 +0530 sched: add uid information to sched_debug for CONFIG_USER_SCHED Impact: extend information in /proc/sched_debug This patch adds uid information in sched_debug for CONFIG_USER_SCHED Signed-off-by: Arun R Bharadwaj Acked-by: Peter Zijlstra Signed-off-by: Ingo Molnar commit 50cec5c51c18301ff60262fdbe920f4a907c9d81 Author: FUJITA Tomonori Date: Tue Dec 2 02:17:15 2008 +0900 x86: fix dma_mapping_error for 32bit x86, cleanup This removes ifdef CONFIG_X86_64 in dma_mapping_error(): 1) Xen people plan to use swiotlb on X86_32 for Dom0 support. swiotlb uses ops->mapping_error so X86_32 also needs to check ops->mapping_error. 2) Removing #ifdef hack is almost always a good thing. Signed-off-by: FUJITA Tomonori Signed-off-by: Ingo Molnar commit f6d2e6f57bba66272b28dd20c949b14ce39cb804 Merge: 8caac56 7b1dedc Author: Ingo Molnar Date: Mon Dec 1 20:36:13 2008 +0100 Merge branch 'x86/urgent' into x86/iommu commit 682d5874f3d654b5d13d9b8dd56b9e05cfadd01b Author: Takashi Iwai Date: Mon Dec 1 20:03:54 2008 +0100 ALSA: ASoC: Fix old-style trigger callback in s3c2443-ac97.c Fix the old-style trigger callback in s3c2443-ac97.c: sound/soc/s3c24xx/s3c2443-ac97.c:378: warning: initialization from incompatible pointer type Signed-off-by: Takashi Iwai commit 5220ed6b321639d68a66bad2082456c1b273f3ea Author: Takashi Iwai Date: Mon Dec 1 20:00:47 2008 +0100 ALSA: ASoC: Fix compile warnings on corgi.c Fix the wrong shutdown callback type. Also removed the unused variables there: sound/soc/pxa/corgi.c: In function 'corgi_shutdown': sound/soc/pxa/corgi.c:114: warning: unused variable 'codec' sound/soc/pxa/corgi.c: At top level: sound/soc/pxa/corgi.c:175: warning: initialization from incompatible pointer type Acked-by: Mark Brown Signed-off-by: Takashi Iwai commit 0bc286e2ac72e483d2b5a6dac0dafb05e9f047c8 Author: Takashi Iwai Date: Mon Dec 1 19:59:35 2008 +0100 Revert "ALSA: soc - Fix compile warnings in wm8903.c" This reverts commit 9171e5e6a20a9cd4992ff9c7cbee13c6fdf7b0b1. I can't reproduce the compile warnings any more. The warnings might be some weird cross-compiling set up. Signed-off-by: Takashi Iwai commit 1f55ed06cf0c361b293b32e5947d35d173eff2aa Author: Miklos Szeredi Date: Mon Dec 1 19:14:02 2008 +0100 fuse: update interface version Change interface version to 7.11 after adding the IOCTL and POLL messages. Also clean up the header a bit: - update copyright date to 2008 - fix checkpatch warning: WARNING: Use #include instead of - remove FUSE_MAJOR define, which is not being used any more Signed-off-by: Miklos Szeredi commit 657e1de8e742cf81153d2d15545948bd58294200 Merge: 9398253 6f13d27 Author: Russell King Date: Mon Dec 1 17:53:45 2008 +0000 Merge branch 'for-rmk-realview' of git://linux-arm.org/linux-2.6 into devel commit 93982535a201399c0023c1166a7f16a335134d5a Author: Kristoffer Ericson Date: Wed Nov 26 20:58:43 2008 +0100 [ARM] 5336/1: Formatting/Whitespace cleanups in mach-sa1100 This patch fixes bad formatting found in mach-sa1100 files. What it does is to replace/delete things like excessive spaces (start || endline). The code looks the same just alot less junk. Signed-off-by: Kristoffer Ericson Signed-off-by: Russell King commit 799a0600ac49b03c1a6244847c2725c0082ba775 Author: Hartley Sweeten Date: Tue Oct 28 17:55:30 2008 +0100 [ARM] 5324/2: ep93xx: support gpio interrupt debounce Add debounce support for ep93xx gpio interrupts. On the EP93xx, GPIO ports A, B, and F can be used to generate interrupts. For each port, if interrupts are enabled, it is possible to debouce the input signal. Debouncing is implemented by passing the input signal through a 2-bit shift register clocked by a 128Hz clock. This patch adds a platform specific way to enable the debouce feature for these input ports. Signed-off-by: H Hartley Sweeten Signed-off-by: Russell King commit d52a26a956d3925c6eaf8770e95e4d5f13740696 Author: Hartley Sweeten Date: Thu Oct 16 23:57:03 2008 +0100 [ARM] 5311/1: ep93xx: add core support for built in i2c bus Allow the ep93xx platform init code to register the built-in i2c bus. The EP93xx processor has two GPIO pins dedicated for an I2C bus. This patch registers the platform supplied i2c_board_info and the necessary platform_device information for the i2c-gpio driver to use these pins. Signed-off-by: H Hartley Sweeten Acked-by: Ryan Mallon Signed-off-by: Russell King commit 4c5744ed59ac8c7312399f279b96e6e3d8f95b5d Author: Hartley Sweeten Date: Wed Oct 15 20:01:30 2008 +0100 [ARM] 5309/1: ep93xx: add edb9307a platform Add Cirrus Logic EDB9307A Dev Board to arch/arm/mach-ep93xx Signed-off-by: H Hartley Sweeten Signed-off-by: Russell King commit 7be90a6ba996e43902fc89704b60a57fd4659a63 Author: Stelian Pop Date: Wed Oct 22 13:52:08 2008 +0100 [ARM] 5319/1: AT91: support AT91CAP9 revC CPUs The AT91CAP9 revC CPU has a few differences over the previous, revB CPU which was distributed in small quantities only (revA was an internal Atmel product only). This patch adds the detection routines to recognize the different AT91CAP9 revisions (based on the PMC subsystem version number), and uses them to: - activate a workaround for the external interrupts levels (on revB CPUs) - set the UDPHS_BYPASS bit (on revB CPUs) - set AT91_GPBR register address to the correct offset (0xfffffd50 on revB, 0xfffffd60 on revC) For debugging usage, the CPU revision can be found in /proc/cpuinfo on the 'Revision' line. This patch is extracted from Andrew Victor's -at91 patch (2.6.27-at91.patch) where it has been tested for the last 6 months. Signed-off-by: Stelian Pop Signed-off-by: Andrew Victor Signed-off-by: Russell King commit ffc63b7d30370e23d7e052df2c1c2c4526464ba6 Author: Andrew Victor Date: Mon Oct 6 20:13:53 2008 +0100 [ARM] 5290/1: [AT91] Add support for the Adeneo NeoCore 926 board Add support for the Adeneo NeoCore 926 board. Signed-off-by: Guillaume GARDET Signed-off-by: Andrew Victor Signed-off-by: Russell King commit 8cdae51aa951e22bc9134cc94c30d1206c84ea8e Author: Andrew Victor Date: Mon Oct 6 20:05:35 2008 +0100 [ARM] 5289/1: [AT91] Convert boards to use sam9_smc_configure() Convert the SAM9 and CAP9 board-specific files to make use of the sam9_smc_configure() method to configure the memory-controller for external peripherals. The following boards have been modified: cam60 : NAND cap9adk : NAND, NOR qil-a9260 : NAND sam9-l9260 : NAND sam9260ek : NAND sam9261ek : DM9000 Ethernet, NAND sam9263 : NAND sam9g20ek : NAND sam9rlek : NAND usb-a9260 : NAND usb-a9263 .: NAND Signed-off-by: Andrew Victor Signed-off-by: Russell King commit 461d3b4dcf2b3b92f819b668d16b36a87046fd98 Author: Andrew Victor Date: Mon Oct 6 20:01:00 2008 +0100 [ARM] 5288/1: [AT91] Remove SMC configuration from devices.c files In at91_add_device_nand(), do not configure the Static Memory controller with specific timing values. The *_devices.c files are board independent, and the SMC timing values are specific to the NAND devices that are installed on the board. The board-specific files are now responsible for configuring the Static Memory controller (if the don't want to leave it up to a bootloader). Signed-off-by: Andrew Victor Signed-off-by: Russell King commit 6781002bec5237ee8ac1e1daeb0ba976e780a884 Author: Andrew Victor Date: Mon Oct 13 20:28:13 2008 +0100 [ARM] 5287/2: [AT91] Configuration of Static Memory Controller Add a structure 'sam9_smc_config' and function sam9_smc_configure() to allow the board-specific files to specify the configuration of the Static Memory Controller per chip-select. This allows the board file to specify timings for NAND flash, NOR flash or other external peripherals. This functionality can be used for all the SAM9 and CAP9 processors. (the AT91RM9200 has a different memory-controller) This patch is based on similar code in the AVR32 architecture. Signed-off-by: Andrew Victor Signed-off-by: Russell King commit 2caf6a1f9c8bcdc81ba580cfbf512d073c9444be Author: Takashi Iwai Date: Mon Dec 1 17:56:06 2008 +0100 ALSA: ASoC: Remove superfluous dependency on SND_SOC The dependency on SND_SOC is already fulfilled in sound/soc/Kconfig, thus no more need in Kconfig of each sub directory. Signed-off-by: Takashi Iwai commit 3af4182cc5be7d5505f9801ee3297373f1872446 Merge: f5d4c67 c07f62e Author: Takashi Iwai Date: Mon Dec 1 18:02:17 2008 +0100 Merge branch 'upstream' into topic/asoc commit f5d4c67e41a262f0cdfaec1bb0fa8e5952187ef9 Author: Takashi Iwai Date: Mon Dec 1 16:29:47 2008 +0100 ALSA: soc - Remove obsoleted sound/driver.h inclusion Signed-off-by: Takashi Iwai commit 1966bbd62ce31cef0cb020a6b4bd852dbc63b40c Author: Mark Brown Date: Mon Dec 1 14:54:45 2008 +0000 ALSA: ac97 - Add WM9715 to AC97 IDs The WM9715 is software compatible with the WM9711 and WM9712. Signed-off-by: Mark Brown Signed-off-by: Takashi Iwai commit 6f13d278836d7251168631faeb0cbf5e4cdd98e5 Author: Catalin Marinas Date: Mon Dec 1 14:55:00 2008 +0000 RealView: Select CPU_V6 for MACH_REALVIEW_PB11MP This seems to be missing from the arm:devel branch, though the other RealView configurations were modified accordingly. Signed-off-by: Catalin Marinas commit 5582ad18381db2ab2159c2e8c7e51eaeb9c83900 Author: Catalin Marinas Date: Mon Dec 1 14:55:00 2008 +0000 RealView: Update the realview-smp_defconfig file to a newer kernel The original file was based on 2.6.19-rc3. Apart from the new symbols, the explicitly enabled eatures are AEABI, REALVIEW_HIGH_PHYS_OFFSET and MACH_REALVIEW_PB11MP. Signed-off-by: Catalin Marinas commit 2f152ad93127b7b890fc7134dabc64e086b37fac Author: Catalin Marinas Date: Mon Dec 1 14:54:59 2008 +0000 RealView: Update the realview_defconfig file to a newer kernel The original file was based on 2.6.14-rc2. Apart from the new symbols, the explicitly enabled features are AACI, MMC, AEABI, MACH_REALVIEW_PB1176 and MACH_REALVIEW_PB11MP. Signed-off-by: Catalin Marinas commit 0a5b2f6be708bb6a2388b9f188cf0c48a33b1d5f Author: Catalin Marinas Date: Mon Dec 1 14:54:59 2008 +0000 RealView: Allow the in-kernel smc911x.c driver on RealView This patch adds smc911x.c device configuration to the RealView platforms. At some point it may be changed to the new smsc911x.c driver (once complete testing was done). Signed-off-by: Catalin Marinas commit 0a3813306f432e8925ff648c84bd488b840e5185 Author: Catalin Marinas Date: Mon Dec 1 14:54:58 2008 +0000 RealView: Refactor the Ethernet device registration This patch moves the Ethernet device registration from individual realview_*.c files to core.c. Signed-off-by: Catalin Marinas commit 1bbdf637baa708a2f0f46ead56c6c618b7dad7a8 Author: Catalin Marinas Date: Mon Dec 1 14:54:58 2008 +0000 RealView: Clean up the machine_is_*() calls in platsmp.c Some of the calls weren't necessary and some others were duplicated. This patch tidies up the platsmp.c file. Signed-off-by: Catalin Marinas commit ebac6546df7e8bd17f66f029c616ea9ee3c595ae Author: Catalin Marinas Date: Mon Dec 1 14:54:57 2008 +0000 RealView: Use only the shadow mapping of ARM11MPCore local timers All the cases where the local timer for a CPU is accessed happen on the corresponding current CPU, hence no need to access the per-CPU local timer mappings. Signed-off-by: Catalin Marinas commit 4c3ea3717103ffcccfaebedb98c2dadfb54e0482 Author: Jon Callan Date: Mon Dec 1 14:54:56 2008 +0000 RealView: Add Cortex-A9 support to the EB board This patch adds the necessary definitions and Kconfig entries to enable Cortex-A9 (ARMv7 SMP) tiles on the RealView/EB board. Signed-off-by: Jon Callan Signed-off-by: Catalin Marinas commit 8aa2da872a492a2196397603ed756a4c48677122 Author: Harry Fearnhamm Date: Mon Dec 1 14:54:56 2008 +0000 RealView: Use flush_cache_all() rather than MCR in cpu_enter_lowpower() The MCR for flushing the whole D cache is undefined on ARMv7 CPUs. Signed-off-by: Harry Fearnhamm Signed-off-by: Catalin Marinas commit e7c70825a758403cfb476903f3145e6a8c0dd3b5 Author: Bahadir Balban Date: Mon Dec 1 14:54:55 2008 +0000 RealView: Add support for the Cortex-A8 Platform Baseboard This patch adds support for RealView/PB-A8, a platform based on Cortex-A8 with support for PCI-E and compact flash. Signed-off-by: Bahadir Balban Signed-off-by: Catalin Marinas commit 70bb62f8ecdda2d172b05d33b0e6750e3fe6d1c7 Author: Catalin Marinas Date: Mon Dec 1 14:54:55 2008 +0000 RealView: Allow PHYS_OFFSET at 0x70000000 RealView boards like PB11MPCore have 512MB of RAM available contiguously at 0x70000000. Half of the memory is mirrored at 0x00000000 for backwards compatibility. This patch adds the CONFIG_REALVIEW_HIGH_PHYS_OFFSET option option to change the physical base address so that the full amount of RAM is available to Linux. Note that the EB board has 256MB of RAM also mirrored at 0x70000000, the only board without this feature being PB1176. Signed-off-by: Catalin Marinas commit 9171e5e6a20a9cd4992ff9c7cbee13c6fdf7b0b1 Author: Takashi Iwai Date: Mon Dec 1 15:39:13 2008 +0100 ALSA: soc - Fix compile warnings in wm8903.c Hide annoying uninitialized warnings: sound/soc/codecs/wm8903.c:382: warning: ‘reg’ may be used uninitialized in this function sound/soc/codecs/wm8903.c:383: warning: ‘shift’ may be used uninitialized in this function Signed-off-by: Takashi Iwai commit ade9b2fb9bf8114f77eefc70b9042417e62acf72 Author: Markus Bollinger Date: Mon Dec 1 15:31:06 2008 +0100 ALSA: pcxhr - change firmware filenames - compatibility issue : change firmware filenames the pcxhr driver version <= 1.0.18a does not work with new firmware > 1.0.17. Keep the old firmware files and add new firmware files with different names Signed-off-by: Markus Bollinger Signed-off-by: Takashi Iwai commit 480cf663e6988b3e79b570b42d2dbdb6c2ba9b94 Author: Takashi Iwai Date: Mon Dec 1 15:28:07 2008 +0100 ALSA: Fix a compile warning in cs46xx_lib.c Fix a build warning sound/pci/cs46xx/cs46xx_lib.c:3643: warning: unused variable ‘i’ when CONFIG_SND_CS46XX_NEW_DSP=n. Signed-off-by: Takashi Iwai commit 37efe6427dd50e889473fb3c7fcec02dbbd098eb Author: Russell King Date: Mon Dec 1 11:53:07 2008 +0000 [ARM] use asm/sections.h Update to use the asm/sections.h header rather than declaring these symbols ourselves. Change __data_start to _data to conform with the naming found within asm/sections.h. Signed-off-by: Russell King commit 8c2f767bf3c4a7932898e657c6b12a2234cd2eca Author: Takashi Iwai Date: Mon Dec 1 11:54:35 2008 +0100 ALSA: hda - Remove unnecessary caches for power states in patch_sigmatel.c The power-state changes in patch_sigmatel.c are accessed via *_cached() but they shouldn't be really cached. Fixed to the normal write. Also, stac92hd71xx_suspend and resume are no longer necessary as the power-state changes are handled properly in the common routine. Removed these hacks now. Signed-off-by: Takashi Iwai commit c9b46f9144b8dce6c12aec08f34a908aedd28b37 Author: Takashi Iwai Date: Mon Dec 1 11:42:09 2008 +0100 ALSA: hda - Use amp cache for SPDIF mute controls in patch_sigmatel.c The amp switch of SPDIF outputs have to be cached in the amp cache instead of codec cache. Otherwise it conflicts with the IEC958 playback switch control in hda_codec.c. Signed-off-by: Takashi Iwai commit 0e446673a15a4e9c336b67c1a638eb12c21d0993 Author: Christoph Hellwig Date: Fri Nov 28 14:23:42 2008 +1100 [XFS] fix error handling in xlog_recover_process_one_iunlink If we fail after xfs_iget we have to drop the reference count, spotted by Dave Chinner. Also remove some useless asserts and stop trying to deal with di_mode == 0 inodes because never gets those without passing the IGET_CREATE flag to xfs_iget. Signed-off-by: Christoph Hellwig Reviewed-by: Eric Sandeen Signed-off-by: Niv Sardi commit 24f211bad09a31f19dda0c3faffe0244f4f235f5 Author: Christoph Hellwig Date: Fri Nov 28 14:23:42 2008 +1100 [XFS] move inode allocation out xfs_iread Allocate the inode in xfs_iget_cache_miss and pass it into xfs_iread. This simplifies the error handling and allows xfs_iread to be shared with userspace which already uses these semantics. Signed-off-by: Christoph Hellwig Reviewed-by: Dave Chinner Signed-off-by: Niv Sardi commit b48d8d64377f39913663a06f4757f3b8c6fc6d87 Author: Christoph Hellwig Date: Fri Nov 28 14:23:41 2008 +1100 [XFS] kill the XFS_IMAP_BULKSTAT flag Just pass down the XFS_IGET_* flags all the way down to xfs_imap instead of translating them mid-way. Signed-off-by: Christoph Hellwig Reviewed-by: Dave Chinner Signed-off-by: Niv Sardi commit 92bfc6e7c4eabbbd15e7d6d49123b296d05dcfd1 Author: Christoph Hellwig Date: Fri Nov 28 14:23:41 2008 +1100 [XFS] embededd struct xfs_imap into xfs_inode Most uses of struct xfs_imap are to map and inode to a buffer. To avoid copying around the inode location information we should just embedd a strcut xfs_imap into the xfs_inode. To make sure it doesn't bloat an inode the im_len is changed to a ushort, which is fine as that's what the users exepect anyway. Signed-off-by: Christoph Hellwig Reviewed-by: Dave Chinner Signed-off-by: Niv Sardi commit 94e1b69d1abd108d306e926c3012ec89e481c0da Author: Christoph Hellwig Date: Fri Nov 28 14:23:41 2008 +1100 [XFS] merge xfs_imap into xfs_dilocate xfs_imap is the only caller of xfs_dilocate and doesn't add any significant value. Merge the two functions and document the various cases we have for inode cluster lookup in the new xfs_imap. Also remove the unused im_agblkno and im_ioffset fields from struct xfs_imap while we're at it. Signed-off-by: Christoph Hellwig Reviewed-by: Dave Chinner Signed-off-by: Niv Sardi commit a1941895034cda2bffa23ba845607c82138ccf52 Author: Christoph Hellwig Date: Fri Nov 28 14:23:40 2008 +1100 [XFS] remove dead code for old inode item recovery We have removed the support for old-style inode items a while ago and xlog_recover_do_inode_trans is now only called for XFS_LI_INODE items. That means we can remove the call to xfs_imap there and with it the XFS_IMAP_LOOKUP that is set by all other callers. We can also mark xfs_imap static now. (First sent on October 21st) Signed-off-by: Christoph Hellwig Reviewed-by: Dave Chinner Signed-off-by: Niv Sardi commit 76d8b277f7b715f78ee3cb09ee112563639693a5 Author: Christoph Hellwig Date: Fri Nov 28 14:23:40 2008 +1100 [XFS] stop using xfs_itobp in xfs_iread The only caller of xfs_itobp that doesn't have i_blkno setup is now the initial inode read. It needs access to the whole xfs_imap so using xfs_inotobp is not an option. Instead opencode the buffer lookup in xfs_iread and kill all the functionality for the initial map from xfs_itobp. (First sent on October 21st) Signed-off-by: Christoph Hellwig Reviewed-by: Dave Chinner Signed-off-by: Niv Sardi commit 23fac50f959a87febf7ce4ae9d47525121f10c7a Author: Christoph Hellwig Date: Fri Nov 28 14:23:40 2008 +1100 [XFS] split up xlog_recover_process_iunlinks Split out the body of the main loop into a separate helper to make the code readable. Signed-off-by: Christoph Hellwig Reviewed-by: Dave Chinner Signed-off-by: Niv Sardi commit 51ce16d519da0bc3c548e0facef7cb3aab1ac8cc Author: Christoph Hellwig Date: Fri Nov 28 14:23:39 2008 +1100 [XFS] kill XFS_DINODE_VERSION_ defines These names don't add any value at all over just using the numerical values. (First sent on October 9th) Signed-off-by: Christoph Hellwig Reviewed-by: Dave Chinner Signed-off-by: Niv Sardi commit 81591fe2db19d0fc1ec2aaaa6a790a5ab97ac3ab Author: Christoph Hellwig Date: Fri Nov 28 14:23:39 2008 +1100 [XFS] kill xfs_dinode_core_t Now that we have a separate xfs_icdinode_t for the in-core inode which gets logged there is no need anymore for the xfs_dinode vs xfs_dinode_core split - the fact that part of the structure gets logged through the inode log item and a small part not can better be described in a comment. All sizeof operations on the dinode_core either really wanted the icdinode and are switched to that one, or had already added the size of the agi unlinked list pointer. Later both will be replaced with helpers once we get the larger CRC-enabled dinode. Removing the data and attribute fork unions also has the advantage that xfs_dinode.h doesn't need to pull in every header under the sun. While we're at it also add some more comments describing the dinode structure. (First sent on October 7th) Signed-off-by: Christoph Hellwig Reviewed-by: Dave Chinner Signed-off-by: Niv Sardi commit d42f08f61c5e7f0ed4c6b6df4c9987ddb85ec66e Author: Christoph Hellwig Date: Fri Nov 28 14:23:38 2008 +1100 [XFS] kill xfs_ialloc_log_di xfs_ialloc_log_di is only used to log the full inode core + di_next_unlinked. That means all the offset magic is not nessecary and we can simply use xfs_trans_log_buf directly. Also add a comment describing what we should do here instead. (First sent on October 7th) Signed-off-by: Christoph Hellwig Reviewed-by: Dave Chinner Signed-off-by: Niv Sardi commit b28708d6a0a3ed65a68f0dcd8e6d1c09f14e5cf3 Author: Christoph Hellwig Date: Fri Nov 28 14:23:38 2008 +1100 [XFS] sanitize xlog_in_core_t definition Move all fields from xlog_iclog_fields_t into xlog_in_core_t instead of having them in a substructure and the using #defines to make it look like they were directly in xlog_in_core_t. Also document that xlog_in_core_2_t is grossly misnamed, and make all references to it typesafe. (First sent on Semptember 15th) Signed-off-by: Christoph Hellwig Reviewed-by: Dave Chinner Signed-off-by: Niv Sardi commit 4805621a37d9b2b16641b5c68597651419e9e252 Author: From: Christoph Hellwig Date: Fri Nov 28 14:23:38 2008 +1100 [XFS] factor out xfs_read_agf helper Add a helper to read the AGF header and perform basic verification. Based on hunks from a larger patch from Dave Chinner. (First sent on Juli 23rd) Signed-off-by: Christoph Hellwig Reviewed-by: Dave Chinner Signed-off-by: Niv Sardi commit 5e1be0fb1a3950597aeda448698e85b0595a2e92 Author: Christoph Hellwig Date: Fri Nov 28 14:23:37 2008 +1100 [XFS] factor out xfs_read_agi helper Add a helper to read the AGI header and perform basic verification. Based on hunks from a larger patch from Dave Chinner. (First sent on Juli 23rd) Signed-off-by: Christoph Hellwig Reviewed-by: Dave Chinner Signed-off-by: Niv Sardi commit 26c5295135d10fc90cbf160adfda392d91f58279 Author: Dave Chinner Date: Fri Nov 28 14:23:37 2008 +1100 [XFS] remove i_gen from incore inode i_gen is incremented in directory operations when the directory is changed. It is never read or otherwise used so it should be removed to help reduce the size of the struct xfs_inode. The patch also removes a duplicate logging of the directory inode core. We only need to do this once per transaction so kill the one associated with the i_gen increment. Signed-off-by: Dave Chinner Reviewed-by: Christoph Hellwig Signed-off-by: Niv Sardi commit 207fcfad58482c7c9f92939a1f6df9f7e8873a34 Author: Christoph Hellwig Date: Fri Nov 28 14:23:37 2008 +1100 [XFS] remove xfs_vfsops.h The only thing left is xfs_do_force_shutdown which already has a defintion in xfs_mount.h. Signed-off-by: Christoph Hellwig Reviewed-by: Dave Chinner Signed-off-by: Niv Sardi commit 2b5decd09e9f98c4e361f97f3e32d80164774f75 Author: Christoph Hellwig Date: Fri Nov 28 14:23:36 2008 +1100 [XFS] remove xfs_vfs.h The only thing left are the forced shutdown flags and freeze macros which fit into xfs_mount.h much better. Signed-off-by: Christoph Hellwig Reviewed-by: Dave Chinner Signed-off-by: Niv Sardi commit 00dd4029e9afa642c2b26dc3aac834322ac29b4a Author: Christoph Hellwig Date: Fri Nov 28 14:23:36 2008 +1100 [XFS] remove bhv_statvfs_t typedef Signed-off-by: Christoph Hellwig Reviewed-by: Dave Chinner Signed-off-by: Niv Sardi commit f35642e2f89f2b0379e929bd9027342365abc839 Author: Eric Sandeen Date: Fri Nov 28 14:23:35 2008 +1100 [XFS] Hook up the fiemap ioctl. This adds the fiemap inode_operation, which for us converts the fiemap values & flags into a getbmapx structure which can be sent to xfs_getbmap. The formatter then copies the bmv array back into the user's fiemap buffer via the fiemap helpers. If we wanted to be more clever, we could also return mapping data for in-inode attributes, but I'm not terribly motivated to do that just yet. Signed-off-by: Eric Sandeen Reviewed-by: Christoph Hellwig Signed-off-by: Niv Sardi commit 5af317c942aebc928ab244eb69581bd8e5333215 Author: Eric Sandeen Date: Fri Nov 28 14:23:35 2008 +1100 [XFS] Add new getbmap flags. This adds a new output flag, BMV_OF_LAST to indicate if we've hit the last extent in the inode. This potentially saves an extra call from userspace to see when the whole mapping is done. It also adds BMV_IF_DELALLOC and BMV_OF_DELALLOC to request, and indicate, delayed-allocation extents. In this case bmv_block is set to -2 (-1 was already taken for HOLESTARTBLOCK; unfortunately these are the reverse of the in-kernel constants.) These new flags facilitate addition of the new fiemap interface. Rather than adding sh_delalloc, remove sh_unwritten & just test the flags directly. Signed-off-by: Eric Sandeen Reviewed-by: Christoph Hellwig Signed-off-by: Niv Sardi commit 8a7141a8b931d60d42830432b82078cd6dace83b Author: Eric Sandeen Date: Fri Nov 28 14:23:35 2008 +1100 [XFS] convert xfs_getbmap to take formatter functions Preliminary work to hook up fiemap, this allows us to pass in an arbitrary formatter to copy extent data back to userspace. The formatter takes info for 1 extent, a pointer to the user "thing*" and a pointer to a "filled" variable to indicate whether a userspace buffer did get filled in (for fiemap, hole "extents" are skipped). I'm just using the getbmapx struct as a "common denominator" because as far as I can see, it holds all info that any formatters will care about. ("*thing" because fiemap doesn't pass the user pointer around, but rather has a pointer to a fiemap info structure, and helpers associated with it) Signed-off-by: Eric Sandeen Reviewed-by: Christoph Hellwig Signed-off-by: Niv Sardi commit 0924b585fc49bf371bc700c23e516a538bf589af Author: Dave Chinner Date: Fri Nov 28 14:23:34 2008 +1100 [XFS] fix uninitialised variable bug in dquot release. gcc is warning about an uninitialised variable in xfs_growfs_rt(). This is a false positive. Fix it by changing the scope of the transaction pointer to wholly within the internal loop inside the function. While there, preemptively change xfs_growfs_rt_alloc() in the same way as it has exactly the same structure as xfs_growfs_rt() but gcc is not warning about it. Yet. Signed-off-by: Dave Chinner Reviewed-by: Christoph Hellwig Signed-off-by: Niv Sardi commit 2e6560929d8ab4b650fecc3a87013852b34f0922 Author: Dave Chinner Date: Fri Nov 28 14:23:33 2008 +1100 [XFS] fix error inversion problems with data flushing XFS gets the sign of the error wrong in several places when gathering the error from generic linux functions. These functions return negative error values, while the core XFS code returns positive error values. Hence when XFS inverts the error to be returned to the VFS, it can incorrectly invert a negative error and this error will be ignored by the syscall return. Fix all the problems related to calling filemap_* functions. Problem initially identified by Nick Piggin in xfs_fsync(). Signed-off-by: Dave Chinner Reviewed-by: Christoph Hellwig Signed-off-by: Niv Sardi commit 65795910c1b798f8a47181b48cf6eb163a15e778 Author: Christoph Hellwig Date: Fri Nov 28 14:23:33 2008 +1100 [XFS] fix spurious gcc warnings Some recent gcc warnings don't like passing string variables to printf-like functions without using at least a "%s" format string. Change the two occurances of that in xfs to please gcc. Signed-off-by: Christoph Hellwig Reviewed-by: Eric Sandeen Signed-off-by: Niv Sardi commit 6c31b93a14a453c8756ffd228e24910ffdf30c5d Author: Christoph Hellwig Date: Fri Nov 28 14:23:32 2008 +1100 [XFS] allow inode64 mount option on 32 bit systems Now that we've stopped using the Linux inode cache when can trivally support the inode64 mount option on 32bit architectures. As far as the kernel and most userspace is concerned this works perfectly, but applications still using really old stat and readdir interfaces will get an EOVERFLOW error when hitting an inode number not fitting into 32 bits (that problem of course also exists when using these applications on a 64bit kernel). Note that because inode64 is simply a mount option we can currently mount a filesystem having > 32 bit inode numbers and cause a variety of problems, all this is solved but this patch which enables XFS_BIG_INUMS, even when inode64 is not used. (First sent on October 18th) Signed-off-by: Christoph Hellwig Reviewed-by: Dave Chinner Signed-off-by: Niv Sardi commit f999a5bf3fa6b3d11334c3ba1e9dcfed5ff9f8a6 Author: Christoph Hellwig Date: Fri Nov 28 14:23:32 2008 +1100 [XFS] wire up ->open for directories Currently there's no ->open method set for directories on XFS. That means we don't perform any check for opening too large directories without O_LARGEFILE, we don't check for shut down filesystems, and we don't actually do the readahead for the first block in the directory. Instead of just setting the directories open routine to xfs_file_open we merge the shutdown check directly into xfs_file_open and create a new xfs_dir_open that first calls xfs_file_open and then performs the readahead for block 0. (First sent on September 29th) Signed-off-by: Christoph Hellwig Reviewed-by: Dave Chinner Signed-off-by: Niv Sardi commit bac8dca9f9b1dfcf9c4ecb4f9ca17185b828cc20 Author: Christoph Hellwig Date: Fri Nov 28 14:23:31 2008 +1100 [XFS] fix NULL pointer dereference in xfs_log_force_umount xfs_log_force_umount may be called very early during log recovery where If we fail a buffer read in xlog_recover_do_inode_trans we abort the mount. But at that point log recovery has started delayed writeback of inode buffers. As part of the aborted mount we try to flush out all delwri buffers, but at that point we have already freed the superblock, and set mp->m_sb_bp to NULL, and xfs_log_force_umount which gets called after the inode buffer writeback trips over it. Make xfs_log_force_umount a little more careful when accessing mp->m_sb_bp to avoid this. Signed-off-by: Christoph Hellwig Reviewed-by: Eric Sandeen Signed-off-by: Niv Sardi commit 98444d3dd975653a4a970ecc0dfc30918da92f60 Author: Sascha Sommer Date: Sat Nov 29 07:51:19 2008 +0100 sdricoh_cs: Add support for Bay Controller devices Some Ricoh SD card readers seems to advertise themselves slightly differently. This patches the driver to will recognise an additional product id, and it appears to work perfectly. % pccardctl info PRODID_1="RICOH" PRODID_2="Bay Controller" PRODID_3="" PRODID_4="" MANFID=0000,0000 Signed-off-by: Charles Lowe Acked-by: Sascha Sommer Signed-off-by: Pierre Ossman commit 99ba04053a3712498327bd147c22a9877100a904 Author: Nicolas Ferre Date: Thu Nov 27 17:23:49 2008 +0100 mmc: at91_mci: reorder timer setup and mmc_add_host() call As said in function comment mmc_add_host() requires that: "The host must be prepared to start servicing requests before this function completes." During this function, at91_mci_request() can be invoqued without timer beeing setup leading to a kernel Oops. This has been reported inserting this driver as a module. Signed-off-by: Nicolas Ferre Reported-by: Wu Xuan Signed-off-by: Pierre Ossman commit 112243034cec7c3ef0499fdebf39218714da453d Merge: 773e961 ee569c4 Author: Russell King Date: Sun Nov 30 17:46:52 2008 +0000 Merge branch 'clks' into devel commit ee569c43e340202fb0ba427c57b77568a32b9a3a Author: Russell King Date: Sun Nov 30 17:38:14 2008 +0000 [ARM] amba drivers: don't pass a consumer clock name for devices with unique clocks Where devices only have one consumer, passing a consumer clock ID has no real benefit, and it only encourages wrong implementations of the clk API. Remove it. Signed-off-by: Russell King commit 80a5931b518438cc61926673ccbb2b223d01d201 Author: Russell King Date: Sun Nov 30 17:34:32 2008 +0000 [ARM] lh7a40x: convert to simple clk API lh7a40x only uses the clk API for the framebuffer, so there's no point having a complicated implementation. Signed-off-by: Russell King commit 846b368eb91da88ae35bf541d5604edcd5733bc3 Author: Russell King Date: Sun Nov 30 17:30:05 2008 +0000 [ARM] lh7a40x: clocks - cleanup Remove commented out code, and unnecessary declarations. Signed-off-by: Russell King commit 4ab08ecfbc68960ecfb268bac30c57f838fa414e Author: Russell King Date: Sun Nov 30 17:27:20 2008 +0000 [ARM] aaec2000: convert to simple clk API aaec2000 only uses the clk API for the framebuffer, so there's no point having a complicated implementation. Signed-off-by: Russell King commit eefc842a6e1de128fbdc9214b9f178a2e238fb7b Author: Russell King Date: Sun Nov 30 17:17:25 2008 +0000 [ARM] netx: fix simple clk API ... to only return the framebuffer clock for the framebuffer device. Signed-off-by: Russell King commit ae696fd53280d85b43ec1dd74f80162bee088862 Author: Russell King Date: Sun Nov 30 17:11:49 2008 +0000 [ARM] ep93xx: convert to clkdev and match clocks by struct device where possible Signed-off-by: Russell King commit 773e9610a7bd44720b8b625d01997b2953edc2db Author: Russell King Date: Sun Nov 30 16:39:42 2008 +0000 [ARM] Update mach-types Signed-off-by: Russell King commit b593c278b70c8f4ed483766de1c3963a806b1bca Author: Russell King Date: Sun Nov 30 14:42:43 2008 +0000 [ARM] davinci: asm/memory.h is not required for mach/vmalloc.h Signed-off-by: Russell King commit c837bc143126b0e8e0537eb6f8272ade807d48fd Author: Russell King Date: Sun Nov 30 13:46:10 2008 +0000 [ARM] amba-clcd: don't use SZ_ constants in drivers Signed-off-by: Russell King commit 3719ec5077d9a8bf293c494ff7eae766d6a70bbe Author: Russell King Date: Sun Nov 30 13:26:47 2008 +0000 [ARM] Ensure that both MAX_DMA_ADDRESS and ISA_DMA_THRESHOLD are defined Both of these symbols should be defined by a platform, or neither should be defined. Ensure that all platforms conform. Signed-off-by: Russell King commit 0560cf5aa51216b06874333a2fa26ca034d97bdb Author: Russell King Date: Sun Nov 30 11:45:54 2008 +0000 [ARM] Add a common typesafe __io implementation As Al did for Versatile in 2ad4f86b60b649fd7428265c08d73a3bd360c81b, add a typesafe __io implementation for platforms to use. Convert platforms to use this new simple typesafe implementation. Signed-off-by: Russell King commit cd32a48dc5c2f415790bfbc4fe564b2b0e9c2414 Author: Russell King Date: Sun Nov 30 11:44:11 2008 +0000 [ARM] integrator: parenthesize __virt_to_bus/__bus_to_virt argument Macro arguments should be parenthesized to avoid unexpected side effects. Signed-off-by: Russell King commit 74343ee4cd4141ddd64b1be72e17669fe3606611 Author: Russell King Date: Sun Nov 30 11:43:34 2008 +0000 [ARM] pnx4008: fix definition of PHYS_OFFSET PHYS_OFFSET constants should be defined using UL(). Signed-off-by: Russell King commit 9a5df92374d65e2886b92e98dd7d873c533a83ff Author: Marcel Holtmann Date: Sun Nov 30 12:17:29 2008 +0100 Bluetooth: Fix RFCOMM release oops when device is still in use It turns out that the following sequence of actions will reproduce the oops: 1. Create a new RFCOMM device (using RFCOMMCREATEDEV ioctl) 2. (Try to) open the device 3. Release the RFCOMM device (using RFCOMMRELEASEDEV ioctl) At this point, the "/dev/rfcomm*" device is still in use, but it is gone from the internal list, so the device id can be reused. 4. Create a new RFCOMM device with the same device id as before And now kobject will complain that the TTY already exists. (See http://lkml.org/lkml/2008/7/13/89 for a reproducible test-case.) This patch attempts to correct this by only removing the device from the internal list of devices at the final unregister stage, so that the id won't get reused until the device has been completely destructed. This should be safe as the RFCOMM_TTY_RELEASED bit will be set for the device and prevent the device from being reopened after it has been released. Based on a report from Vegard Nossum Signed-off-by: Marcel Holtmann commit 2e792995e4cb425422dc379c3618447c462756a8 Author: Marcel Holtmann Date: Sun Nov 30 12:17:29 2008 +0100 Bluetooth: Fix format arguments warning Newer GCC versions are a little bit picky about how to deal with format arguments: net/bluetooth/hci_sysfs.c: In function ‘hci_register_sysfs’: net/bluetooth/hci_sysfs.c:418: warning: format not a string literal and no format arguments It is simple enough to fix and makes the compiler happy. Signed-off-by: Marcel Holtmann commit a418b893a6af11ae73c762ed5b76c1bad6dc19d8 Author: Marcel Holtmann Date: Sun Nov 30 12:17:28 2008 +0100 Bluetooth: Enable per-module dynamic debug messages With the introduction of CONFIG_DYNAMIC_PRINTK_DEBUG it is possible to allow debugging without having to recompile the kernel. This patch turns all BT_DBG() calls into pr_debug() to support dynamic debug messages. As a side effect all CONFIG_BT_*_DEBUG statements are now removed and some broken debug entries have been fixed. Signed-off-by: Marcel Holtmann commit 5ddd4a60683f819982b7bd3d1aee972f931c11a3 Author: Marcel Holtmann Date: Sun Nov 30 12:17:27 2008 +0100 Bluetooth: Allow SCO audio with Asus WL-BTD202 dongle This patch allows the Asus WL-BTD202 dongle to be used with a mono headset without having to specify "options btusb force_scofix=1". Based on a patch from Guillaume Bedot Signed-off-by: Marcel Holtmann commit 7a9d4020533b5c0c615b6de3be154c9ff30b8cc9 Author: Marcel Holtmann Date: Sun Nov 30 12:17:26 2008 +0100 Bluetooth: Send HCI Reset command by default on device initialization The Bluetooth subsystem was not using the HCI Reset command when doing device initialization. The Bluetooth 1.0b specification was ambiguous on how the device firmware was suppose to handle it. Almost every device was triggering a transport reset at the same time. In case of USB this ended up in disconnects from the bus. All modern Bluetooth dongles handle this perfectly fine and a lot of them actually require that HCI Reset is sent. If not then they are either stuck in their HID Proxy mode or their internal structures for inquiry and paging are not correctly setup. To handle old and new devices smoothly the Bluetooth subsystem contains a quirk to force the HCI Reset on initialization. However maintaining such a quirk becomes more and more complicated. This patch turns the logic around and lets the old devices disable the HCI Reset command. The only device where the HCI_QUIRK_NO_RESET is still needed are the original Digianswer devices and dongles with an early CSR firmware. CSR reported that they fixed this for version 12 firmware. The last official release of version 11 firmware is build ID 115. The first version 12 candidate was build ID 117. Signed-off-by: Marcel Holtmann commit 12421b40b81d101d7535e03f1af197365adc932b Author: Marcel Holtmann Date: Sun Nov 30 12:17:21 2008 +0100 Bluetooth: Remove deprecated hci_usb driver The old hci_usb driver has been fully replaced with the new btusb driver and all major distributions switched to the new driver now. This removes it since it should not be used at all anymore. Signed-off-by: Marcel Holtmann commit 7b99d17f3ea1febd1abca8fa371d2341dd957d4a Author: Nick Pelly Date: Sun Nov 30 12:17:20 2008 +0100 Bluetooth: Respect HCI_UART_DEBUG config in hci_ll.c Following the pattern from hci_*.c, turn off BT_DBG messages unless they have been requested via HCI_UART_DEBUG Signed-off-by: Nick Pelly Acked-by: Brian Swetland Signed-off-by: Marcel Holtmann commit 51a6fbc855b07a0737558560dd0ab0b5f646025b Author: Julia Lawall Date: Sun Nov 30 12:17:20 2008 +0100 Bluetooth: Change simple_strtol to simple_strtoul Since size, addr, fcs, and tmp are unsigned, it would seem better to use simple_strtoul that simple_strtol. A simplified version of the semantic patch that makes this change is as follows: (http://www.emn.fr/x-info/coccinelle/) // @r2@ long e; position p; @@ e = simple_strtol@p(...) @@ position p != r2.p; type T; T e; @@ e = - simple_strtol@p + simple_strtoul (...) // Signed-off-by: Julia Lawall Signed-off-by: Marcel Holtmann commit db7aa1c203d477351ed1b8f394b40d9df06ddfc4 Author: Marcel Holtmann Date: Sun Nov 30 12:17:19 2008 +0100 Bluetooth: Fix warnings for bt_key_strings and bt_slock_key_strings After adding proper lockdep annotations for Bluetooth protocols the case when lockdep is disabled produced two compiler warnings: net/bluetooth/af_bluetooth.c:60: warning: ‘bt_key_strings’ defined but not used net/bluetooth/af_bluetooth.c:71: warning: ‘bt_slock_key_strings’ defined but not used Fix both of them by adding a CONFIG_DEBUG_LOCK_ALLOC conditional around them and re-arranging the code a little bit. Signed-off-by: Marcel Holtmann commit c6bf514c6e0171c5b731beffaa0c4463e2335f3d Author: Vegard Nossum Date: Sun Nov 30 12:17:19 2008 +0100 Bluetooth: Fix leak of uninitialized data to userspace struct hci_dev_list_req { __u16 dev_num; struct hci_dev_req dev_req[0]; /* hci_dev_req structures */ }; sizeof(struct hci_dev_list_req) == 4, so the two bytes immediately following "dev_num" will never be initialized. When this structure is copied to userspace, these uninitialized bytes are leaked. Fix by using kzalloc() instead of kmalloc(). Found using kmemcheck. Signed-off-by: Vegard Nossum Signed-off-by: Marcel Holtmann commit 7644d63d1348ec044ccd8f775fefe5eb7cbcac69 Author: Tomas Winkler Date: Sun Nov 30 12:17:18 2008 +0100 Bluetooth: Fix TX error path in btsdio driver This patch fixes accumulating of the header in case packet was requeued in the error path. Signed-off-by: Tomas Winkler Signed-off-by: Marcel Holtmann commit 6a88adf2adf5d6a3b759c2e114da4c5266ca3972 Author: Marcel Holtmann Date: Sun Nov 30 12:17:14 2008 +0100 Bluetooth: Add suspend/resume support to btusb driver During suspend it is important that all URBs are cancelled and then on resume re-submitted. This gives initial suspend/resume support. Based on initial work from Oliver Neukum Signed-off-by: Marcel Holtmann commit a780efa8124fe7ef23d8ef844d56afe960356615 Author: Marcel Holtmann Date: Sun Nov 30 12:17:12 2008 +0100 Bluetooth: Handle bulk URBs in btusb driver from notify callback With the addition of usb_unlink_anchored_urbs() it is possible to fully control the bulk URBs from the notify callback. There is no need to schedule work and so only do this for the ISOC URBs. Signed-off-by: Marcel Holtmann commit 2eda66f4a0b9803c6a85d5e5ccd8e802bd23b998 Author: Marcel Holtmann Date: Sun Nov 30 12:17:10 2008 +0100 Bluetooth: Add fine grained mem_flags usage to btusb driver The URB submission routines need more fine grained control for the mem_flags used by kmalloc(), usb_alloc_urb() and usb_submit_urb() to better support different caller situations. Add a mem_flags parameter and give the caller full control. Signed-off-by: Marcel Holtmann commit 58eec4235d63e07b98544527e031e7ae807e15df Author: Mauro Carvalho Chehab Date: Mon Aug 11 10:18:39 2008 +0200 ALSA: hda - More fixes on Gateway entries Signed-off-by: Mauro Carvalho Chehab Signed-off-by: Takashi Iwai commit 9cb36c2afc298a2f2085ae0071924b7e3f55e72d Author: Mauro Carvalho Chehab Date: Mon Aug 11 10:18:39 2008 +0200 ALSA: patch_sigmatel: Add missing Gateway entries and autodetection Gateway autodetection and entries are incomplete. This patch adds the entries found at the .INI file for their driver version 5.10.5082.0. It also uses the proper code to seek for notebook ID, since this is based on codec subsystem ID on those devices. This should provide a proper pinup for several gateways notebooks: Gateway M465-E Notebook [Part #1008637] Gateway M465-G Notebook [Part #1008667] Gateway NX260X Notebook [Part #1008794] Gateway NX100X Notebook [Part #1008798] Gateway E-100M Notebook [Part #1008799] Gateway E-100M G Notebook [Part #1008800] Gateway M255-E Notebook [Part #1008801] Gateway M255-G Notebook [Part #1008803] Gateway M285-E Convertible Notebook [Part #1008804] Gateway M285-G Convertible Notebook [Part #1008805] Gateway CX210S Convertible Notebook [Part #1008807] Gateway CX210X Convertible Notebook [Part #1008808] Gateway E-100M SB Notebook [Part #1008973] Gateway M255-E SB Notebook [Part #1008989] Gateway M285-E SB Convertible Notebook [Part #1008990] Gateway M465-E Notebook [Part #1009022] Gateway CX2724 Convertible Notebook [Part #1009036] Gateway MX1025 Notebook [Part #1009046] Gateway CX2720 Convertible Notebook [Part #1009063] Gateway CX2724h Convertible Notebook [Part #1009089] Gateway MX1023 Notebook [Part #1009097] Gateway MX1023h Notebook [Part #1009098] Gateway NX260X Notebook [Part #1009112] Gateway E-100M Notebook [Part #1009126] Gateway MX7533 Notebook [Part #1009146] [Part #1009163] Gateway CX210X Convertible Notebook [Part #1009346] Gateway NX570X Notebook [Part #1009442] Gateway NX570X Notebook [Part #1009448] Gateway NX270S Notebook [Part #1009550] Gateway MX6448 Notebook [Part #1013912R] Gateway MX6453 Notebook [Part #1013913R] Gateway MX6216 Notebook [Part #1013916R] Gateway MX6931 Notebook [Part #1013918R] Gateway CX2726 Convertible Notebook [Part #1013921R] Gateway MP8708 Notebook [Part #1013924R] Gateway MX6446 Notebook [Part #1013927R] Gateway MX6930 Notebook [Part #1013928R] Gateway MX6447 Notebook [Part #1013932R] Gateway MX6454 Notebook [Part #1013943R] Gateway MX6439 Notebook [Part #1013947R] [Part #1013955R] [Part #1013971R] Gateway MX6930h Notebook [Part #1013973R] [Part #1013974R] [Part #1013975R] Gateway MX6955 Notebook [Part #1014028R] Gateway MX6956 Notebook [Part #1014033R] Gateway MX6959 Notebook [Part #1014061R] Gateway MX6957 Notebook [Part #1014065R] Gateway MX6960 Notebook [Part #1014068R] Gateway MX6958 Notebook [Part #1014072R] Gateway NX570X Notebook [Part #1014077R] Gateway NX570XL Notebook [Part #1014078R] Gateway NX570QS Notebook [Part #1014079R] Gateway MX6961 Notebook [Part #1014080R] [Part #1014106R] Gateway MX6961h Notebook [Part #1014112R] Gateway NX270S Notebook [Part #1014120R] Gateway MX6431 Notebook [Part #1014121R] Gateway MX8710 Notebook [Part #2905895R] Gateway MX3702 Notebook [Part #2905898R] Blade-K8F GW UMA Single Core Motherboard w/RS485M and 1394 - Quanta (FRU) [Part #4006133R] Since some entries conflict with existing pinups, I'm providing a separate patch to fix those entries. Tested only with Gateway MX6453. Signed-off-by: Mauro Carvalho Chehab Signed-off-by: Takashi Iwai commit 2eda344546caaf9168e778a4007f4609e95106e0 Author: Mauro Carvalho Chehab Date: Mon Aug 11 10:18:39 2008 +0200 ALSA: hda - Add a new function to seek for a codec ID Gateway notebooks have their ID inside codec vendor ID, not at PCI ID. Due to that, model auto-detection were not possible with the standard seek method. This is what is found at lspci -vnn: 00:14.2 Audio device [0403]: ATI Technologies Inc SB450 HDA Audio [1002:437b] (rev 01) Subsystem: ATI Technologies Inc SB450 HDA Audio [1002:437b] Yet, autodetection is possible, since the codec properly reflects the vendor at the Subsystem ID: $ cat /proc/asound/card0/codec#0 |head -4 Codec: SigmaTel STAC9250 Address: 0 Vendor Id: 0x83847634 Subsystem Id: 0x107b0367 This patch adds a new autodetection function that seeks for codec subsystem ID. Signed-off-by: Mauro Carvalho Chehab Signed-off-by: Takashi Iwai commit 93093d099e5dd0c258fd530c12668e828c20df41 Author: Ingo Molnar Date: Sun Nov 30 10:20:20 2008 +0100 x86: provide readq()/writeq() on 32-bit too, complete if HAVE_READQ/HAVE_WRITEQ are defined, the full range of readq/writeq APIs has to be provided to drivers: drivers/infiniband/hw/amso1100/c2.c: In function 'c2_tx_ring_alloc': drivers/infiniband/hw/amso1100/c2.c:133: error: implicit declaration of function '__raw_writeq' So provide them on 32-bit as well. Also, map all the APIs to the strongest ordering variant. It's way too easy to mess such details up in drivers and the difference between "memory" and "" constrained asm() constructs is in the noise range. Signed-off-by: Ingo Molnar commit a0b1131e479e5af32eefac8bc54c9742e23d638e Author: Ingo Molnar Date: Sun Nov 30 09:33:55 2008 +0100 x86: provide readq()/writeq() on 32-bit too, cleanup Impact: cleanup Signed-off-by: Ingo Molnar commit 2c5643b1c5c7fbb13f340d4c58944d9642f41796 Author: Hitoshi Mitake Date: Sun Nov 30 17:16:04 2008 +0900 x86: provide readq()/writeq() on 32-bit too Impact: add new API for drivers Add implementation of readq/writeq to x86_32, and add config value to the x86 architecture to determine existence of readq/writeq. Signed-off-by: Hitoshi Mitake Acked-by: Sam Ravnborg Signed-off-by: Ingo Molnar commit 4385cecf1f5866fb33fc95e2ee26a44e9b6f6be2 Author: Jiri Slaby Date: Sat Nov 29 22:33:16 2008 +0100 x86: intel_cacheinfo, minor show_type cleanup Impact: cleanup Signed-off-by: Jiri Slaby Cc: Jiri Slaby Signed-off-by: Ingo Molnar commit 25f13048bce61f33f6a102e0bf377fd3922ed364 Author: Tilman Schmidt Date: Sat Nov 29 21:38:28 2008 -0800 gigaset: get rid of info() and warn() macros Join the move away from the obsolete info() macro, opencoding the remaining uses. While we're at it, also get rid of the warn() macro by promoting the three remaining uses to err(). Signed-off-by: Tilman Schmidt Signed-off-by: David S. Miller commit af4218c3a699542adc9b76c8972828a726e7b0dc Author: Tilman Schmidt Date: Sat Nov 29 21:38:04 2008 -0800 gigaset: remove unnecessary poll method The N_GIGASET_M101 line discipline implemented by the ser_gigaset driver does not transfer any data from/to userspace through the tty interface. Therefore a poll method is not needed. Signed-off-by: Tilman Schmidt Signed-off-by: David S. Miller commit 3e54048691bce3f323fd5460695273be379803b9 Author: Hannes Eder Date: Sat Nov 29 07:21:29 2008 +0100 ACPI: EC: fix compilation warning Fix the warning introduced in commit c5279dee26c0e8d7c4200993bfc4b540d2469598, and give the dummy variable a more verbose name. drivers/acpi/ec.c: In function 'acpi_ec_ecdt_probe': drivers/acpi/ec.c:1015: warning: ISO C90 forbids mixed declarations and code Signed-off-by: Hannes Eder Acked-by: Alexey Starikovskiy Signed-off-by: Len Brown commit f4ad9a9624fafec4647e7e45469e0446586f81fb Author: Ian Molton Date: Fri Sep 26 13:35:28 2008 +0100 [ARM] pxa: e740 MFP fix Add the USB pins to the e740 MFP table. Signed-off-by: Ian Molton commit 36033422639913dad1f3146d452116522c77f753 Author: Ian Molton Date: Sun Aug 24 19:21:26 2008 +0100 [ARM] IrDA support for e7xx This patchset provides a fully functional SIR IrDA driver for the Toshiba e7xx PDAs. Signed-off-by: Ian Molton commit fba670013d538719d13f103b2a5b4b06bdca202b Merge: 7577fdf e856359 Author: Russell King Date: Sat Nov 29 19:35:07 2008 +0000 Merge branch 's3c-moves2' of git://aeryn.fluff.org.uk/bjdooks/linux into devel commit 7577fdfa52438a19e7e8abedb6efc645986af2ae Author: Russell King Date: Sat Nov 29 19:14:31 2008 +0000 [ARM] give RiscPC a NR_IRQS definition and remove default RiscPC is the only platform using the default setting for NR_IRQS, so the default NR_IRQS doesn't really make sense; remove it and make RiscPC provide such a definition. Signed-off-by: Russell King commit 87c52578bd050ba395b0cae7079b1128abd2422d Author: Russell King Date: Sat Nov 29 17:35:51 2008 +0000 [ARM] Remove linux/sched.h from asm/cacheflush.h and asm/uaccess.h ... and fix those drivers that were incorrectly relying upon that include. Signed-off-by: Russell King commit f40b121d983dfc53bde882aadec7f2f0bbcbd1c2 Author: Russell King Date: Sat Nov 29 18:48:07 2008 +0000 [ARM] Rename ISA mach/dma.h header to mach/isa-dma.h This avoids confusion with platform specific DMA implementations in mach/dma.h Signed-off-by: Russell King commit dcea83adc666061864b82c96e059dffe7268b512 Author: Russell King Date: Sat Nov 29 11:40:28 2008 +0000 [ARM] Hide ISA DMA API when ISA_DMA_API is unset When ISA_DMA_API is unset, we're not implementing the ISA DMA API, so there's no point in publishing the prototypes via asm/dma.h, nor including the machine dependent parts of that API. This allows us to remove a lot of mach/dma.h files which don't contain any useful code. Unfortunately though, some platforms put their own private non-ISA definitions into mach/dma.h, so we leave these behind and fix the appropriate #include statments. Signed-off-by: Russell King commit c72e005b099302b3c6bee8381396199b77b6dd4f Author: Russell King Date: Sat Nov 29 10:56:33 2008 +0000 [ARM] fix constant values of MAX_DMA_ADDRESS Since 8d5796d2ec6b5a4e7a52861144e63af438d6f8f7, we have allowed PAGE_OFFSET to be configurable, so a constant virtual address for MAX_DMA_ADDRESS is buggy. It should be defined in terms of PAGE_OFFSET rather than a constant virtual address. Signed-off-by: Russell King commit f08340c5d68ab621f377c108637e2d8e95b3e5d4 Author: Nikanth Karthikesan Date: Sat Nov 29 15:43:32 2008 +0530 tracepoints: Documentation TPPROTO misspelt in Documentation/tracepoints.txt Impact: fix typo in documentation TPPROTO is misspelt in Documentation/tracepoints.txt Kept me wondering what was wrong, when I was trying to add a new tracepoint subsystem. Signed-off-by: Nikanth Karthikesan Signed-off-by: Ingo Molnar commit b9c78022b0e65cdca2541be658f0e74138e92ffe Author: Russell King Date: Sat Nov 29 10:50:22 2008 +0000 [ARM] move MAX_DMA_ADDRESS to mach/memory.h Move the definition of MAX_DMA_ADDRESS from mach/dma.h to mach/memory.h, thereby placing it along side its relative, ISA_DMA_THRESHOLD. Signed-off-by: Russell King commit 65c6dc6adbe7ee0acf207445243400a68c77af15 Author: Frederic Weisbecker Date: Sat Nov 29 04:12:46 2008 +0100 tracing/branch-tracer: include missing irqflags.h Impact: fix build error on branch tracer This should fix a build error reported on alpha in linux-next: CC kernel/trace/trace_branch.o kernel/trace/trace_branch.c: In function 'probe_likely_condition': kernel/trace/trace_branch.c:44: error: implicit declaration of function 'raw_local_irq_save' kernel/trace/trace_branch.c:76: error: implicit declaration of function 'raw_local_irq_restore' Unfortunately, I can't test it since I don't have any Alpha build environment. Reported-by: Alexey Dobriyan Signed-off-by: Frederic Weisbecker Signed-off-by: Ingo Molnar commit c5419e6f054c877339f754e02c3b1dafd88cd96c Author: Roland Dreier Date: Fri Nov 28 21:55:42 2008 -0800 cxgb3: Fix sparse warning and micro-optimize is_pure_response() The function is_pure_response() does "ntohl(var) & const" and then essentially just tests whether the result is 0 or not; this can be done more efficiently by computing "var & htonl(const)" instead and doing the byte swap at compile time instead of run time. This change slightly shrinks the compiled code; eg on x86-64 we save a couple of bswapl instructions: add/remove: 0/0 grow/shrink: 0/1 up/down: 0/-8 (-8) function old new delta t3_sge_intr_msix_napi 544 536 -8 and this also has the pleasant side effect of fixing a sparse warning: drivers/net/cxgb3/sge.c:2313:15: warning: restricted degrades to integer Signed-off-by: Roland Dreier Signed-off-by: David S. Miller commit f95be1806fde884c1655237d49a7e5f82e4a935f Author: Giuseppe Cavallaro Date: Fri Nov 28 16:42:41 2008 -0800 phy: add the ST ste10Xp PHYs This patch adds the STMicroelectronics ste10xp PHY device driver. It supports both the ste100p and the ste101p devices. Suspend/resume alredy added. Signed-off-by: Giuseppe Cavallaro Signed-off-by: David S. Miller commit 4621bf129856bad902d7662053b79faaeb3e66cc Author: David S. Miller Date: Fri Nov 28 16:40:26 2008 -0800 phy: Add file missed in previous commit. Signed-off-by: David S. Miller commit 0f0ca340e57bd7446855fefd07a64249acf81223 Author: Giuseppe Cavallaro Date: Fri Nov 28 16:24:56 2008 -0800 phy: power management support This patch adds the power management support into the physical abstraction layer. Suspend and resume functions respectively turns on/off the bit 11 into the PHY Basic mode control register. Generic PHY device starts supporting PM. In order to support the wake-on LAN and avoid to put in power down the PHY device, the MDIO is aware of what the Ethernet device wants to do. Voluntary, no CONFIG_PM defines were added into the sources. Also generic suspend/resume functions are exported to allow other drivers use them (such as genphy_config_aneg etc.). Within the phy_driver_register function, we need to remove the memset. It overrides the device driver owner and it is not good. Signed-off-by: Giuseppe Cavallaro Signed-off-by: David S. Miller commit 914804b95caa61c633431262044034ab05c78ba4 Author: Giuseppe Cavallaro Date: Fri Nov 28 16:14:12 2008 -0800 phy: add natsemi PHY driver This patch adds the PHY device driver for the National Semiconductor DP83865 Gig PHYTER. Signed-off-by: Giuseppe Cavallaro Signed-off-by: David S. Miller commit 65a467f553067fae21b66ac0778247c930936749 Author: Ilpo Järvinen Date: Fri Nov 28 15:55:00 2008 -0800 ne2: silence static never defined warnings These warning originate from 50014f1 (ne2: convert to net_device_ops) which did drop those functions. drivers/net/ne2.c:140: warning: 'ne_open' declared 'static' but never defined drivers/net/ne2.c:141: warning: 'ne_close' declared 'static' but never defined Signed-off-by: Ilpo Järvinen Signed-off-by: David S. Miller commit d8e8034dcdef8c8fa94a14c3b555c09e065e742f Author: Ilpo Järvinen Date: Fri Nov 28 15:52:43 2008 -0800 bnx2: use net_device_stats nowadays available in net_device Signed-off-by: Ilpo Järvinen Signed-off-by: David S. Miller commit 9fd428761adbd5fbd7e23c312955eec1db8ace7a Author: Ilpo Järvinen Date: Fri Nov 28 15:52:00 2008 -0800 niu: use net_device_stats nowadays available in net_device Signed-off-by: Ilpo Järvinen Signed-off-by: David S. Miller commit 5bed1fb3287dfb1f6cf717ec200b23d3e537c9ae Author: Russell King Date: Fri Nov 28 22:48:33 2008 +0000 [ARM] Remove unnecessary mach/hardware.h includes in arch/arm/mm Signed-off-by: Russell King commit 0b3ce7fc3b9949a9867b810372226f5bc21dde1a Author: Russell King Date: Fri Nov 28 22:37:15 2008 +0000 [ARM] asm/system.h does not require asm/memory.h Signed-off-by: Russell King commit 92f3753f45427e3a51b76e955ba9ecf93a593bdb Author: Russell King Date: Fri Nov 28 21:13:08 2008 +0000 [ARM] ns9xxx: mach/hardware.h doesn't need asm/memory.h Signed-off-by: Russell King commit 4b78a9ffabbb03af4032ff704689912298e19070 Author: Russell King Date: Fri Nov 28 21:12:40 2008 +0000 [ARM] ixp4xx: clean up includes mach/io.h doesn't need linux/mm.h. mach/dma.h doesn't need linux/device.h, asm/page.h or mach/hardware.h Signed-off-by: Russell King commit 32643fe633ce1c9c892bceee35cd0d137d71bae5 Author: Russell King Date: Fri Nov 28 21:10:06 2008 +0000 [ARM] ixp23xx: mach/io.h doesn't need BUG() anymore ixp23xx's mach/io.h claims to need linux/kernel.h for BUG(). However, this header doesn't make use of BUG(). Signed-off-by: Russell King commit 6ae8595e979d0e3450ad33a7fa7db4bf87876c79 Author: Russell King Date: Fri Nov 28 16:13:44 2008 +0000 [ARM] iop13xx: avoid polluting the kernel's namespace Avoid unnecessarily pollution of the kernel's namespace by avoiding mach/hardware.h in mach/timex.h. Signed-off-by: Russell King commit 0114cb40d05c6cbde31bbb623e5e2d4252ecde02 Author: Russell King Date: Fri Nov 28 16:13:44 2008 +0000 [ARM] iop3xx: avoid polluting the kernel's namespace Avoid unnecessarily pollution of the kernel's namespace by avoiding mach/hardware.h in mach/io.h, mach/memory.h and mach/timex.h. Include this header file where necessary. Signed-off-by: Russell King commit 47190a3350032ecbb6e17b18e22a1dca2265013a Author: Russell King Date: Fri Nov 28 16:13:44 2008 +0000 [ARM] shark: avoid polluting the kernel's namespace Avoid unnecessarily pollution of the kernel's namespace by avoiding mach/hardware.h in mach/io.h. Include this header file where necessary. Signed-off-by: Russell King commit 514161b601ff5d6e089582f8d8ad74baea0d200b Author: Russell King Date: Fri Nov 28 17:04:11 2008 +0000 [ARM] shark: remove old unused "translated" IO macros Signed-off-by: Russell King commit 1dab59c09b049ec2d2b89ec7afdc0e18d51719b8 Author: Russell King Date: Fri Nov 28 16:13:44 2008 +0000 [ARM] clps711x: avoid polluting the kernel's namespace Avoid unnecessarily pollution of the kernel's namespace by avoiding mach/hardware.h in mach/io.h. Include this header file where necessary. Signed-off-by: Russell King commit 3a72d8aeb724c90dd6eaec8471868716d2c22b1f Author: Russell King Date: Fri Nov 28 21:09:35 2008 +0000 [ARM] footbridge: mach/hardware.h doesn't require mach/memory.h Signed-off-by: Russell King commit 70574a996fc7a70c5586eb56bd92a544eccf18b6 Author: Alexey Dobriyan Date: Fri Nov 28 22:08:00 2008 +0300 sched: move double_unlock_balance() higher Move double_lock_balance()/double_unlock_balance() higher to fix the following with gcc-3.4.6: CC kernel/sched.o In file included from kernel/sched.c:1605: kernel/sched_rt.c: In function `find_lock_lowest_rq': kernel/sched_rt.c:914: sorry, unimplemented: inlining failed in call to 'double_unlock_balance': function body not available kernel/sched_rt.c:1077: sorry, unimplemented: called from here make[2]: *** [kernel/sched.o] Error 1 Signed-off-by: Alexey Dobriyan Signed-off-by: Ingo Molnar commit f1860c34b3ed829ac774647f266abf1074cd58cd Merge: 64b7482 4cd4262 Author: Ingo Molnar Date: Fri Nov 28 20:11:05 2008 +0100 Merge branch 'sched/urgent' into sched/core commit 604094f4615180f71da799e7e5b191f5c2a42a28 Author: Ingo Molnar Date: Fri Nov 28 18:03:22 2008 +0100 vfs, seqfile: export mangle_path() generally mangle_path() is trivial enough to make export restrictions on it pointless - so change the export from EXPORT_SYMBOL_GPL to EXPORT_SYMBOL. Signed-off-by: Ingo Molnar Acked-by: Al Viro commit ec5679e513305f1411753e5f5489935bd638af23 Author: Ingo Molnar Date: Fri Nov 28 17:56:14 2008 +0100 debug warnings: eliminate warn_on_slowpath() Impact: cleanup, eliminate code now that warn_on_slowpath() uses warn_slowpath(...,NULL), we can eliminate warn_on_slowpath() altogether and use warn_slowpath(). Signed-off-by: Ingo Molnar commit 326878173bd352f968c958a4936fc2bc3540becd Author: Russell King Date: Fri Nov 28 16:13:44 2008 +0000 [ARM] footbridge: avoid polluting the kernel's namespace Avoid unnecessarily pollution of the kernel's namespace by avoiding mach/hardware.h in mach/io.h. Include this header file where necessary. Signed-off-by: Russell King commit bd89bb29a01503c5cffa367eccb0b356f910cb8d Author: Arjan van de Ven Date: Fri Nov 28 08:36:09 2008 -0800 debug warnings: print the DMI board info name in a WARN/WARN_ON Impact: extend WARN_ON() output with DMI_PRODUCT_NAME It's very useful for many low level WARN_ON's to find out which motherboard has the broken BIOS etc... this patch adds a printk to the WARN_ON code for this. On architectures without DMI, gcc should optimize the code out. Signed-off-by: Arjan van de Ven Signed-off-by: Ingo Molnar commit 74853dba2f7a1a9b0905a09abcf65c1f3ce0b14f Author: Arjan van de Ven Date: Fri Nov 28 08:35:25 2008 -0800 debug warnings: consolidate warn_slowpath and warn_on_slowpath Impact: cleanup, code reduction warn_slowpath is a superset of warn_on_slowpath; just have warn_on_slowpath call warn_slowpath with a NULL 3rd argument. Signed-off-by: Arjan van de Ven Signed-off-by: Ingo Molnar commit 325045fa5358536edc0cc788ec32e9e2409ff0b1 Author: Russell King Date: Fri Nov 28 16:13:44 2008 +0000 [ARM] aaec2000: avoid polluting the kernel's namespace Avoid unnecessarily pollution of the kernel's namespace by avoiding mach/hardware.h in mach/io.h. Include this header file where necessary. Signed-off-by: Russell King commit fa44c9e21f93f90800a56bacc74baa884e155b16 Author: Russell King Date: Fri Nov 28 16:13:44 2008 +0000 [ARM] lh7a40x: avoid polluting the kernel's namespace Avoid unnecessarily pollution of the kernel's namespace by avoiding mach/hardware.h in mach/io.h. Include this header file where necessary. Signed-off-by: Russell King commit 275c8a21db9ba7b63366dc253ddbe15e3a1b6e20 Author: Russell King Date: Fri Nov 28 16:13:44 2008 +0000 [ARM] l7200: avoid polluting the kernel's namespace Avoid unnecessarily pollution of the kernel's namespace by avoiding mach/hardware.h in mach/io.h. Include this header file where necessary. Signed-off-by: Russell King commit 459fd555f4981fa90605d69748920973c9ff727d Author: Russell King Date: Fri Nov 28 16:13:44 2008 +0000 [ARM] h720x: avoid polluting the kernel's namespace Avoid unnecessarily pollution of the kernel's namespace by avoiding mach/hardware.h in mach/io.h. Include this header file where necessary. Signed-off-by: Russell King commit 1e14937eedd9008ff3be30bb7d12b4fe2a02cb90 Author: Russell King Date: Fri Nov 28 16:13:44 2008 +0000 [ARM] imx: avoid polluting the kernel's namespace Avoid unnecessarily pollution of the kernel's namespace by avoiding mach/hardware.h in mach/io.h. Include this header file where necessary. Signed-off-by: Russell King commit 05678a96de2e97fdfd4b817478840ad6a02ea1d8 Author: Russell King Date: Fri Nov 28 16:04:54 2008 +0000 [ARM] pxa: avoid polluting the kernel's namespace Avoid unnecessarily pollution of the kernel's namespace by avoiding mach/hardware.h. Include this header file where necessary. Signed-off-by: Russell King commit 6de2c31d3dad7384b3efa03674bd6ed479d58cb2 Author: Russell King Date: Fri Nov 28 15:49:11 2008 +0000 [ARM] rpc: remove obsolete IO accessors Remove __arch_base_xxx() and __ioaddrc() macros; they're obsolete and unused. Signed-off-by: Russell King commit a838c2ec6ea1f18431da74dfe4978c57355b95f3 Author: Wu Fengguang Date: Thu Nov 27 16:14:44 2008 +0800 markers: comment marker_synchronize_unregister() on data dependency Add document and comments on marker_synchronize_unregister(): it should be called before freeing resources that the probes depend on. Based on comments from Lai Jiangshan and Mathieu Desnoyers. Signed-off-by: Wu Fengguang Reviewed-by: Mathieu Desnoyers Reviewed-by: Lai Jiangshan Signed-off-by: Ingo Molnar commit ccaec3ec78d0f1840a67acce6aaeeab99f2d88bf Author: Russell King Date: Fri Nov 28 15:42:42 2008 +0000 [ARM] versatile: remove IRQ mask definitions These definitions are unused and serve no purpose with genirq. Signed-off-by: Russell King commit 7ef4de17cc55a3c3b8d093743b1e3b845d8eba47 Merge: f412b09 b5ee900 Author: Russell King Date: Fri Nov 28 15:39:02 2008 +0000 Merge branch 'highmem' into devel Conflicts: arch/arm/mach-clps7500/include/mach/memory.h commit b5ee9002583fc14e6d45a04c18f208987a8fbced Author: Nicolas Pitre Date: Fri Sep 5 21:53:30 2008 -0400 [ARM] remove a common set of __virt_to_bus definitions Let's provide an overridable default instead of having every machine class define __virt_to_bus and __bus_to_virt to the same thing. What most platforms are using is bus_addr == phys_addr so such is the default. One exception is ebsa110 which has no DMA what so ever, so the actual definition is not important except only for proper compilation. Also added a comment about the special footbridge bus translation. Let's also remove comments alluding to set_dma_addr which is not (and should not) be commonly used. Signed-off-by: Nicolas Pitre Signed-off-by: Russell King commit 75f4aa15cf05ce6d99c8261cf57dcd749877fd1c Author: Nicolas Pitre Date: Fri Sep 5 16:05:14 2008 -0400 [ARM] unconditionally define __virt_to_phys and __phys_to_virt There is no machine class overriding this. If non linear translations are implemented again for some machines then this could be restored at that time. Signed-off-by: Nicolas Pitre Signed-off-by: Russell King commit 252d4c276dc0895834af48743579cf19d1fa150b Author: Nicolas Pitre Date: Thu Sep 11 11:52:02 2008 -0400 [ARM] remove bogus #ifdef CONFIG_HIGHMEM in show_pte() The restriction on !CONFIG_HIGHMEM is unneeded since page tables are currently never allocated with highmem pages, and actually disable PTE dump whenever highmem is configured. Let's have a dynamic test to better describe the current limitation instead. Signed-off-by: Nicolas Pitre Signed-off-by: Russell King commit 9210807cb5a3f19a0e954dd401e3a2c3626d1b48 Author: Nicolas Pitre Date: Fri Sep 19 10:43:06 2008 -0400 [ARM] prevent the vmalloc cmdline argument from eating all memory Commit 8d5796d2ec6b5a4e7a52861144e63af438d6f8f7 allows for the vmalloc area to be resized from the kernel cmdline. Make sure it cannot overlap with RAM entirely. Signed-off-by: Nicolas Pitre Signed-off-by: Russell King commit 6db015e49c03d42247d2a985475b833635406a4f Author: Nicolas Pitre Date: Wed Sep 17 14:50:42 2008 -0400 [ARM] mem_init() cleanups Make free_area() arguments pfn based, and return number of freed pages. This will simplify highmem initialization later. Also, codepages, datapages and initpages are actually codesize, datasize and initsize. Signed-off-by: Nicolas Pitre Signed-off-by: Russell King commit a1bbaec0cd2a59d4bb09b72e4541a8a12e480d5d Author: Nicolas Pitre Date: Tue Sep 2 11:44:21 2008 -0400 [ARM] split highmem into its own memory bank Doing so will greatly simplify the bootmem initialization code as each bank is therefore entirely lowmem or highmem with no crossing between those zones. Signed-off-by: Nicolas Pitre Signed-off-by: Russell King commit 4b5f32cee0cce7b9783ced5cbeabd17aa53c51fb Author: Nicolas Pitre Date: Mon Oct 6 13:24:40 2008 -0400 [ARM] rationalize memory configuration code some more Currently there are two instances of struct meminfo: one in kernel/setup.c marked __initdata, and another in mm/init.c with permanent storage. Let's keep only the later to directly populate the permanent version from arm_add_memory(). Also move common validation tests between the MMU and non-MMU cases into arm_add_memory() to remove some duplication. Protection against overflowing the membank array is also moved in there in order to cover the kernel cmdline parsing path as well. Signed-off-by: Nicolas Pitre Signed-off-by: Russell King commit 43ae286b7d4d8c4983bc263ef2e3cccc10dedb2b Author: Nicolas Pitre Date: Tue Nov 4 02:42:27 2008 -0500 [ARM] fix a couple clear_user_highpage assembly constraints In all cases the kaddr is assigned an input register even though it is modified in the assembly code. Let's assign a new variable to the modified value and mark those inline asm with volatile otherwise they get optimized away because the output variable is otherwise not used. Also fix a few conversion errors in copypage-feroceon.c and copypage-v4mc.c. Signed-off-by: Nicolas Pitre Signed-off-by: Russell King commit 02834f112d159eb87b584c7df56bddc5beeff5b3 Author: Takashi Iwai Date: Fri Nov 28 15:29:01 2008 +0100 ALSA: ac97 - Remove EXPERIMENTAL from CONFIG_SND_AC97_POWER_SAVE It's mature enough now. Signed-off-by: Takashi Iwai commit 36adba1fc79851949c4792f2e9b4d0dddbc6d5e4 Author: Takashi Iwai Date: Fri Nov 28 15:27:11 2008 +0100 ALSA: hda - Remove EXPERIMENTAL from CONFIG_SND_HDA_POWER_SAVE It's mature enough now. Signed-off-by: Takashi Iwai commit 8caac56305cef98f9357b060a77939d17699937d Author: Pavel Machek Date: Wed Nov 26 17:15:27 2008 +0100 aperture_64.c: clarify that too small aperture is valid reason for this code Impact: update comment Clarify that too small aperture is valid reason for this code. Signed-off-by: Pavel Machek Signed-off-by: Ingo Molnar commit ff7a3267368634e368ebaac68d5e3abf129edd1d Author: Takashi Iwai Date: Fri Nov 28 15:17:06 2008 +0100 ALSA: hda - Don't export symbols when built-in kernel The global functions in hda_codec.c and other core parts are only for HD-audio codec and controller drivers. When the HD-audio driver is built in kernel, all stuff have to be statically linked, thus we don't need any exports. This patch introduces a conditional macro to do export only when needed. Signed-off-by: Takashi Iwai commit 645f10c1ac7f733b224eaf97634edf9b20e2370e Author: Takashi Iwai Date: Fri Nov 28 15:07:37 2008 +0100 ALSA: hda - Check MODULE instead of CONFIG_SND_HDA_INTEL_MODULE Checking MODULE is more generic. Also a cosmetic comment change. Signed-off-by: Takashi Iwai commit 5b3eec0c80038c8739ccd465b897a35c0dff1cc4 Author: Ingo Molnar Date: Thu Nov 27 14:41:21 2008 +0100 x86: ret_from_fork - get rid of jump back Impact: remove dead code If we take a closer look at the rff_trace/rff_action ret_from_fork code, we have to realize that it does all the wrong things: for example it checks the TIF flag - while later on jumping back to the ret-from-syscall path - duplicating the check needlessly. But checking for _TIF_SYSCALL_TRACE is completely unnecessary here because we clear that flag for every freshly forked task. So the whole "tracing" code here, for which there is a out of line jump optimization that makes it even harder to read, is in reality completely dead code ... Reported-by: Cyrill Gorcunov Signed-off-by: Ingo Molnar Tested-by: Cyrill Gorcunov commit 3bdae4f46445ea7cc9ee031d7ff106fdc6228669 Merge: 9f1e87e 5f5db59 Author: Ingo Molnar Date: Fri Nov 28 15:00:37 2008 +0100 Merge branch 'x86/debug' into x86/irq We merge this branch because x86/debug touches code that we started cleaning up in x86/irq. The two branches started out independent, but as unexpected amount of activity went into x86/irq, they became dependent. Resolve that by this cross-merge. commit 9f1e87ea3ecb3c46c21f6a1a202ec82f99ed2473 Author: Cyrill Gorcunov Date: Thu Nov 27 21:10:08 2008 +0300 x86: entry_64.S - trivial: space, comments fixup Impact: cleanup Signed-off-by: Cyrill Gorcunov Signed-off-by: Ingo Molnar commit de04b102bfc9a13e96f0892305b394077ffb6514 Author: Clemens Ladisch Date: Wed Nov 26 10:37:23 2008 +0100 ALSA: oxygen: add Claro halo support Add support for the HT-Omega Claro halo (XT). Signed-off-by: Clemens Ladisch Signed-off-by: Takashi Iwai commit 57a5ef483b6290a9f22d4c52baca051c1e755f3a Author: Takashi Iwai Date: Fri Nov 28 14:46:28 2008 +0100 ALSA: hda - Add quirk for Sony VAIO VGN-SR19XN Added model=sony-assamd for Sony VAIO VGN-SR19XN with ALC262 codec. Reference: Novell bnc#450080 https://bugzilla.novell.com/show_bug.cgi?id=450080 Signed-off-by: Takashi Iwai commit 56d17712d54d3aa3d6ef930123d692351d33217c Author: Takashi Iwai Date: Fri Nov 28 14:36:23 2008 +0100 ALSA: hda - Clear codec->proc_widget_hook at reset Clear the remaining pointer at snd_hda_codec_reset() to avoid Oops. Signed-off-by: Takashi Iwai commit 2d34e1b3bb991a99322fb55681d1e73ada3de35c Author: Takashi Iwai Date: Fri Nov 28 14:35:16 2008 +0100 ALSA: hda - Add IDT/STAC-specific proc output Added power-map and analog-loopback information to proc output for IDT/STAC codecs. Signed-off-by: Takashi Iwai commit 5ae3a139cf4fc2349f1dfa1993a66c1dcc119468 Author: Cyrill Gorcunov Date: Thu Nov 27 00:02:10 2008 +0300 x86: uv bau interrupt -- use proper interrupt number Signed-off-by: Cyrill Gorcunov Acked-by: Cliff Wickman Signed-off-by: Ingo Molnar commit f1eecf0e4f0796911cc076f38fcf05fea0b353d5 Author: Steven Rostedt Date: Wed Nov 26 15:54:46 2008 -0500 powerpc/ppc32: static ftrace fixes for PPC32 Impact: fix for PowerPC 32 code There were some early init code that was not safe for static ftrace to boot on my PowerBook. This code must only use relative addressing, and static mcount performs a compare of the ftrace_trace_function pointer, and gets that with an absolute address. In the early init boot up code, this will cause a fault. This patch removes tracing from the files containing the offending functions. Signed-off-by: Steven Rostedt Signed-off-by: Ingo Molnar commit 0029ff87529dff01a4b9c5bf380a0caacb5f7418 Author: Steven Rostedt Date: Tue Nov 25 14:06:19 2008 -0800 powerpc: ftrace, use create_branch Impact: clean up Paul Mackerras pointed out that the code to determine if the branch can reach the destination is incorrect. Michael Ellerman suggested to pull out the code from create_branch and use that. Simply using create_branch is probably the best. Reported-by: Michael Ellerman Reported-by: Paul Mackerras Signed-off-by: Steven Rostedt Signed-off-by: Ingo Molnar commit ec682cef2d2c1a25a198d32a87fe2649da671d1e Author: Steven Rostedt Date: Tue Nov 25 10:22:48 2008 -0800 powerpc: ftrace, added missing icache flush Impact: fix to PowerPC code modification After modifying code it is essential to flush the icache. This patch adds the missing flush. Reported-by: Paul Mackerras Signed-off-by: Steven Rostedt Signed-off-by: Ingo Molnar commit d9af12b72bfe2a4efc1d347e0ac1c669b85dcea9 Author: Steven Rostedt Date: Tue Nov 25 06:39:18 2008 -0800 powerpc: ftrace, fix cast aliasing and add code verification Impact: clean up and robustness addition This patch addresses the comments made by Paul Mackerras. It removes the type casting between unsigned int and unsigned char pointers, and replaces them with a use of all unsigned int. Verification that the jump is indeed made to a trampoline has also been added. Signed-off-by: Steven Rostedt Signed-off-by: Ingo Molnar commit c7b0d17366d6e04a11470fc8d85f9fbac02671b9 Author: Steven Rostedt Date: Thu Nov 20 13:18:55 2008 -0800 powerpc: ftrace, do nothing in mcount call for dyn ftrace Impact: quicken mcount calls that are not replaced by dyn ftrace Dynamic ftrace no longer does on the fly recording of mcount locations. The mcount locations are now found at compile time. The mcount function no longer needs to store registers and call a stub function. It can now just simply return. Since there are some functions that do not get converted to a nop (.init sections and other code that may disappear), this patch should help speed up that code. Also, the stub for mcount on PowerPC 32 can not be a simple branch link register like it is on PowerPC 64. According to the ABI specification: "The _mcount routine is required to restore the link register from the stack so that the profiling code can be inserted transparently, whether or not the profiled function saves the link register itself." This means that we must restore the link register that was used to make the call to mcount. The minimal mcount function for PPC32 ends up being: mcount: mflr r0 mtctr r0 lwz r0, 4(r1) mtlr r0 bctr Where we move the link register used to call mcount into the ctr register, and then restore the link register from the stack. Then we use the ctr register to jump back to the mcount caller. The r0 register is free for us to use. Signed-off-by: Steven Rostedt Signed-off-by: Ingo Molnar commit c072c24975ec4f0ccfcb6f5c8a8040b6eb75ef8f Author: walimis Date: Fri Nov 28 12:21:19 2008 +0800 ftrace: improve documentation Impact: extend documentation with notice of using wild cards correctly We know that we can use wild cards to set set_ftrace_filter, but there's problem when using them naively such as: echo h* > /debug/tracing/set_ftrace_filter If there are files named with "h" prefix in current directory, echo "h*" will echo these filenames to set_ftrace_filter, not the intended "h*". For example: $ cat /debug/tracing/available_filter_functions |grep ^hr |wc -l 23 $ ls $ touch hraa hrdd $ ls hraa hrdd $ echo hr* > /debug/tracing/set_ftrace_filter $ cat /debug/tracing/set_ftrace_filter No output in /debug/tracing/set_ftrace_filter! If we use '' to escape wild cards, it works: $ ls hraa hrdd $ echo "hr*" > /debug/tracing/set_ftrace_filter $ cat /debug/tracing/set_ftrace_filter |wc -l 23 This problem can lead to unexpected result if current directory has a lot of files. Signed-off-by: walimis Acked-by: Steven Rostedt Signed-off-by: Ingo Molnar commit 1d9b16d1690fe5edb1c907fe4746681cf026cdf3 Author: Joerg Roedel Date: Thu Nov 27 18:39:15 2008 +0100 x86: move GART specific stuff from iommu.h to gart.h Impact: cleanup Signed-off-by: Joerg Roedel Signed-off-by: Ingo Molnar commit bb40abe223ace0b6f29e8433d3936dac664178b5 Author: Takashi Iwai Date: Fri Nov 28 12:57:38 2008 +0100 ALSA: hda - Remove unused proc entry in hda_bus struct Signed-off-by: Takashi Iwai commit daead538e9d8efe61d7d2bd12993c8d961b0abd6 Author: Takashi Iwai Date: Fri Nov 28 12:55:36 2008 +0100 ALSA: hda - Add codec-specific proc hook Added a hook for proc outputs of codec-specific stuff. Moved realtek-specific coeff output into patch_realtek.c as well. Signed-off-by: Takashi Iwai commit 8b752e3ef6e3f5cde87afc649dd51d92b1e549c1 Author: Liming Wang Date: Fri Nov 28 09:52:40 2008 +0800 softirq: remove useless function __local_bh_enable Impact: remove unused code __local_bh_enable has been replaced with _local_bh_enable. As comments says "it always nests inside local_bh_enable() sections" has not been valid now. Also there is no reason to use __local_bh_enable anywhere, so we can remove this useless function. Signed-off-by: Liming Wang Signed-off-by: Ingo Molnar commit 50cdaf08a8ec1d7f43987705da7aff7cf949708f Author: Liming Wang Date: Fri Nov 28 12:13:21 2008 +0800 ftrace: improve seq_operation of ftrace Impact: make ftrace position computing more sane First remove useless ->pos field. Then we needn't check seq_printf in .show like other place. Signed-off-by: Liming Wang Reviewed-by: Bruce Ashfield Signed-off-by: Ingo Molnar commit 6113b748fb9935399ec2bbca3a3dc82008f6167f Author: Hannes Eder Date: Fri Nov 28 03:06:46 2008 -0800 pkt_sched: fix sparse warning Impact: make global function static Fix the following sparse warning: net/sched/sch_api.c:192:14: warning: symbol 'qdisc_match_from_root' was not declared. Should it be static? Signed-off-by: Hannes Eder Signed-off-by: David S. Miller commit ea5693ccc553951ae44cb963b28cce85edc275c9 Author: Patrick McHardy Date: Fri Nov 28 03:05:19 2008 -0800 netlink: allow empty nested attributes validate_nla() currently doesn't allow empty nested attributes. This makes userspace code unnecessarily complicated when starting and ending the nested attribute is done by generic upper level code and the inner attributes are dumped by a module. Add a special case to accept empty nested attributes. When the nested attribute is non empty, the same checks as before are performed. Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller commit c7425acb42fff1e723b05fbf4ea11e9a455d95dc Author: Török Edwin Date: Fri Nov 28 11:17:56 2008 +0200 tracing, alpha: fix build: add missing #ifdef CONFIG_STACKTRACE There are architectures that still have no stacktrace support. Signed-off-by: Török Edwin Signed-off-by: Ingo Molnar commit ed77a89c30fa03dcb234a84ddea710b3fb7b62da Merge: 475ad8e d6e8cc6 Author: David S. Miller Date: Fri Nov 28 02:19:15 2008 -0800 Merge branch 'master' of git://git.kernel.org/pub/scm/linux/kernel/git/kaber/nf-next-2.6 Conflicts: net/netfilter/nf_conntrack_netlink.c commit d51090b34602a20984ab0312ef04e47069c0aec6 Author: Ingo Molnar Date: Fri Nov 28 09:55:16 2008 +0100 tracing/function-graph-tracer: more output tweaks Impact: prettify the output some more Before: 0) | sys_read() { 0) 0.796 us | fget_light(); 0) | vfs_read() { 0) | rw_verify_area() { 0) | security_file_permission() { ------------8<---------- thread sshd-1755 ------------8<---------- After: 0) | sys_read() { 0) 0.796 us | fget_light(); 0) | vfs_read() { 0) | rw_verify_area() { 0) | security_file_permission() { ------------------------------------------ | 1) migration/0--1 => sshd-1755 ------------------------------------------ Signed-off-by: Ingo Molnar commit 1a056155edd458eb93ef383fa8e5741d7e7c6360 Author: Frederic Weisbecker Date: Fri Nov 28 00:42:46 2008 +0100 tracing/function-graph-tracer: adjustments of the trace informations Impact: increase the visual qualities of the call-graph-tracer output This patch applies various trace output formatting changes: - CPU is now a decimal number, followed by a parenthesis. - Overhead is now on the second column (gives a good visibility) - Cost is now on the third column, can't exceed 9999.99 us. It is followed by a virtual line based on a "|" character. - Functions calls are now the last column on the right. This way, we haven't dynamic column (which flow is harder to follow) on its right. - CPU and Overhead have their own option flag. They are default-on but you can disable them easily: echo nofuncgraph-cpu > trace_options echo nofuncgraph-overhead > trace_options TODO: _ Refactoring of the thread switch output. _ Give a default-off option to output the thread and its pid on each row. _ Provide headers _ .... Here is an example of the new trace style: 0) | mutex_unlock() { 0) 0.639 us | __mutex_unlock_slowpath(); 0) 1.607 us | } 0) | remove_wait_queue() { 0) 0.616 us | _spin_lock_irqsave(); 0) 0.616 us | _spin_unlock_irqrestore(); 0) 2.779 us | } 0) 0.495 us | n_tty_set_room(); 0) ! 9999.999 us | } 0) | tty_ldisc_deref() { 0) 0.615 us | _spin_lock_irqsave(); 0) 0.616 us | _spin_unlock_irqrestore(); 0) 2.793 us | } 0) | current_fs_time() { 0) 0.488 us | current_kernel_time(); 0) 0.495 us | timespec_trunc(); 0) 2.486 us | } 0) ! 9999.999 us | } 0) ! 9999.999 us | } 0) ! 9999.999 us | } 0) | sys_read() { 0) 0.796 us | fget_light(); 0) | vfs_read() { 0) | rw_verify_area() { 0) | security_file_permission() { 0) 0.488 us | cap_file_permission(); 0) 1.720 us | } 0) 3. 4 us | } 0) | tty_read() { 0) 0.488 us | tty_paranoia_check(); 0) | tty_ldisc_ref_wait() { 0) | tty_ldisc_try() { 0) 0.615 us | _spin_lock_irqsave(); 0) 0.615 us | _spin_unlock_irqrestore(); 0) 5.436 us | } 0) 6.427 us | } Signed-off-by: Frederic Weisbecker Acked-by: Steven Rostedt Signed-off-by: Ingo Molnar commit 475ad8e2172d7f8b73af5532a8dad265b51339c2 Author: Harvey Harrison Date: Thu Nov 27 23:04:13 2008 -0800 decnet: compile fix for removal of byteorder wrapper Signed-off-by: Harvey Harrison Signed-off-by: David S. Miller commit 11cd41b893895c76a8f9bee9467f4b0869b5eeb3 Author: Takashi Iwai Date: Fri Nov 28 07:22:18 2008 +0100 ALSA: hda - Fix build error with CONFIG_SND_HDA_POWER_SAVE Moved power_save field initialization inside a proper ifdef to fix a build error without CONFIG_SND_HDA_POWER_SAVE. Signed-off-by: Takashi Iwai commit b5a20aa2657063cbf3b47fc700603180de4bb554 Merge: cc09c0d ed31348 Author: Lachlan McIlroy Date: Fri Nov 28 15:23:52 2008 +1100 Merge git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux-2.6 commit 303c6443659bc1dc911356f5de149f48ff1d97b8 Author: Russell King Date: Fri Oct 31 16:32:19 2008 +0000 [ARM] clearpage: provide our own clear_user_highpage() For similar reasons as copy_user_page(), we want to avoid the additional kmap_atomic if it's unnecessary. Signed-off-by: Russell King commit 063b0a4207e43acbeff3d4b09f43e750e0212b48 Author: Russell King Date: Fri Oct 31 15:08:35 2008 +0000 [ARM] copypage: provide our own copy_user_highpage() We used to override the copy_user_page() function. However, this is not only inefficient, it also causes additional complexity for highmem support, since we convert from a struct page to a kernel direct mapped address and back to a struct page again. Moreover, with highmem support, we end up pointlessly setting up kmap entries for pages which we're going to remap. So, push the kmapping down into the copypage implementation files where it's required. Signed-off-by: Russell King commit d73e60b7144a86baf0fdfcc9537a70bb4f72e11c Author: Russell King Date: Fri Oct 31 13:08:02 2008 +0000 [ARM] copypage: convert assembly files to C Signed-off-by: Russell King commit feea6a574d432e08cebf66d993a6ed1f310e0e5d Author: Al Viro Date: Thu Nov 27 15:34:07 2008 -0800 ixgbe: section fixes ixgbe_init_interrupt_scheme() is called from ixgbe_resume(). Build that with CONFIG_PM and without CONFIG_HOTPLUG and you've got a problem. Several helpers called by it also are misannotated __devinit. Signed-off-by: Al Viro Signed-off-by: David S. Miller commit 157653ce79a606409a8bfb496cba797b2984b18f Author: Randy Dunlap Date: Thu Nov 27 15:30:53 2008 -0800 sctp: fix missing label when PROC_FS=n Fix missing label when CONFIG_PROC_FS=n: net/sctp/protocol.c: In function 'sctp_proc_init': net/sctp/protocol.c:106: error: label 'out_nomem' used but not defined make[3]: *** [net/sctp/protocol.o] Error 1 Signed-off-by: Randy Dunlap Signed-off-by: David S. Miller commit 1289e9e8b42f973f2ab39e5f4f2239ff826c27e9 Author: Takashi Iwai Date: Thu Nov 27 15:47:11 2008 +0100 ALSA: hda - Modularize HD-audio driver Split the monolithc HD-audio driver into several pieces: - snd-hda-intel HD-audio PCI controller driver; loaded via udev - snd-hda-codec HD-audio codec bus driver - snd-hda-codec-* Specific HD-audio codec drivers When built as modules, snd-hda-codec (that is invoked by snd-hda-intel) looks up the codec vendor ID and loads the corresponding codec module automatically via request_module(). When built in a kernel, each codec drivers are statically hooked up before probing the PCI. This patch adds appropriate EXPORT_SYMBOL_GPL()'s and the module information for each driver, and driver-linking codes between codec-bus and codec drivers. TODO: - Avoid EXPORT_SYMBOL*() when built-in kernel - Restore __devinit appropriately depending on the condition Signed-off-by: Takashi Iwai commit 73f6a12ed187b7e7ac9334d1419ba7bf7ac1be26 Author: Julia Lawall Date: Thu Nov 27 15:40:40 2008 +0100 ALSA: sound/pci/mixart/mixart.c: Add missing snd_card_free The function snd_mixart_create creates a link between mgr and card that allows snd_mixart_free to free card as well. But if snd_mixart_create fails, then the link has not been created and card has to be freed explicitly. The semantic match that finds the problem is as follows: (http://www.emn.fr/x-info/coccinelle/) // @r exists@ local idexpression x; statement S,S1; position p1,p2,p3; expression E,E1; type T,T1; expression *ptr != NULL; @@ ( if ((x@p1 = snd_card_new(...)) == NULL) S | x@p1 = snd_card_new(...); ) ... when != snd_card_free(...,(T)x,...) when != if (...) { <+... snd_card_free(...,(T)x,...) ...+> } when != true x == NULL || ... when != x = E when != E = (T)x when any ( if (x == NULL || ...) S1 | if@p2 (...) { ... when != snd_card_free(...,(T1)x,...) when != if (...) { <+... snd_card_free(...,(T1)x,...) ...+> } when != x = E1 when != E1 = (T1)x ( return \(0\|<+...x...+>\|ptr\); | return@p3 ...; ) } ) @ script:python @ p1 << r.p1; p3 << r.p3; @@ print "* file: %s snd_card_new: %s return: %s" % (p1[0].file,p1[0].line,p3[0].line) // Signed-off-by: Julia Lawall Signed-off-by: Takashi Iwai commit 30d72e9f614e7bd76e28d4d92bd54d90a96905bb Author: Takashi Iwai Date: Thu Nov 27 15:25:34 2008 +0100 ALSA: hda - Fix creation of automatic capture mixers Fixed a wrong boundary check of num_adc_nids in set_capture_mixer() in patch_realtek.c. Signed-off-by: Takashi Iwai commit 529bd6c4a63f8468fd66f63fdc22d7070439b3cd Author: Takashi Iwai Date: Thu Nov 27 14:17:01 2008 +0100 ALSA: hda - Fix PCM reconfigure The reconfiguration of PCM affected all PCM streams on the bus, but this this should be done rather only for the target codec. This patch does the following: - introduce bitmap indicating the PCM device usages on a hda_bus - refactor the PCM build functions - fix __devinit prefix in some fucntions - add a proper ifdef around HDA-reconfig-specific functions Signed-off-by: Takashi Iwai commit f412b09f4ed7c57f5b8935ed7d6fc786f402a629 Merge: 31bccbf 7f1fd31 Author: Russell King Date: Thu Nov 27 12:42:48 2008 +0000 Merge branch 'for-rmk' of git://linux-arm.org/linux-2.6 into devel commit 31bccbf39208133415000520c79ebe7b291786df Merge: e902be5 635f025 Author: Russell King Date: Thu Nov 27 12:39:43 2008 +0000 Merge branch 'clps7500' into devel Conflicts: arch/arm/Kconfig commit e902be56cbf2a48d96d11d6884767e638d41c712 Merge: c750815 5e1dbdb Author: Russell King Date: Thu Nov 27 12:39:14 2008 +0000 Merge branches 'core' and 'clks' into devel commit 5e1dbdb458ada37f7e97265cb2ea87c55fd5d034 Author: Russell King Date: Sat Nov 8 20:48:27 2008 +0000 [ARM] sa1100: match clock by dev_name(dev) Continuing the move away from implementations which give an excuse for other bad implementations, convert SA1100 to lookup its singular clock by dev_name(dev) rather than by id. Signed-off-by: Russell King commit e0d8b13ae1e3ea747620580b6f777992148de182 Author: Russell King Date: Tue Nov 11 17:52:32 2008 +0000 [ARM] pxa: don't pass a consumer clock name for devices with unique clocks Where devices only have one consumer, passing a consumer clock ID has no real benefit. Remove it. Signed-off-by: Russell King commit 8c3abc7d903df492a7394b0adae4349d9a381aaf Author: Russell King Date: Sat Nov 8 20:25:21 2008 +0000 [ARM] pxa: convert to clkdev and match clocks by struct device where possible Signed-off-by: Russell King commit 71a06da08c1a100bba7221d140403aa7a6cdebe7 Author: Russell King Date: Sat Nov 8 20:13:53 2008 +0000 [ARM] versatile: convert to clkdev and lookup clocks by device name People often point to the Integrator/Versatile/Realview implementations to justify using the consumer name as the sole selector for clocks. Eliminate this excuse by changing the Versatile implementation, so it provides a better example of how it should be done. Signed-off-by: Russell King commit d72fbdf01fc77628c0b837d0dd2fd564fa26ede6 Author: Russell King Date: Sat Nov 8 20:08:08 2008 +0000 [ARM] integrator: convert to clkdev and lookup clocks by device name People often point to the Integrator/Versatile/Realview implementations to justify using the consumer name as the sole selector for clocks. Eliminate this excuse by changing the Integrator implementation, so it provides a better example of how it should be done. Signed-off-by: Russell King commit cf30fb4a4f2d261a6527a654a7fdc8636f1e5b16 Author: Russell King Date: Sat Nov 8 20:05:55 2008 +0000 [ARM] realview: convert to clkdev and lookup clocks by device name People often point to the Integrator/Versatile/Realview implementations to justify using the consumer name as the sole selector for clocks. Eliminate this excuse by changing the Realview implementation, so it provides a better example of how it should be done. Signed-off-by: Russell King commit 0318e693d3a56836632bf1a2cfdafb7f34bcc703 Author: Russell King Date: Sun Nov 9 16:32:46 2008 +0000 [ARM] clkdev: add generic clkdev infrastructure Add some generic infrastructure to assist looking up struct clks for the ARM architecture. Signed-off-by: Russell King commit 635f0258e5ae526034486b4ae9020e64bfb7d27e Author: Russell King Date: Tue Oct 28 09:43:54 2008 +0000 [ARM] clps7500: remove support The CLPS7500 platform has not built since 2.6.22-git7 and there seems to be no interest in fixing it. So, remove the platform support. Signed-off-by: Russell King commit c750815e2d436f4379c7af8a8770ef2ae71c5607 Author: Russell King Date: Sun Oct 26 10:55:14 2008 +0000 [ARM] Arrange for platforms to select appropriate CPU support Rather than: config CPU_BLAH bool depends on ARCH_FOO || MACH_BAR default y if ARCH_FOO || MACH_BAR arrange for ARCH_FOO and MACH_BAR to select CPU_BLAH directly. Acked-by: Nicolas Pitre Acked-by: Andrew Victor Acked-by: Brian Swetland Acked-by: Eric Miao Acked-by: Nicolas Bellido Signed-off-by: Russell King commit 59f0cb0fddc14ffc6676ae62e911f8115ebc8ccf Author: Russell King Date: Mon Oct 27 11:24:09 2008 +0000 [ARM] remove memzero() As suggested by Andrew Morton, remove memzero() - it's not supported on other architectures so use of it is a potential build breaking bug. Since the compiler optimizes memset(x,0,n) to __memzero() perfectly well, we don't miss out on the underlying benefits of memzero(). Signed-off-by: Russell King commit c2c631e318091118587f3b766347d259c9265b8b Author: Cyrill Gorcunov Date: Wed Nov 26 22:17:00 2008 +0300 x86: entry_64.S - use ENTRY to define child_rip child_rip is called not by its name but indirectly rather so make it global and aligned. Signed-off-by: Cyrill Gorcunov Acked-by: Alexander van Heukelum Signed-off-by: Ingo Molnar commit 33454539f386a2beb38269bea5fff82b3d56b0e9 Author: gorcunov@gmail.com Date: Wed Nov 26 22:17:02 2008 +0300 x86: entry_64.S - use X86_EFLAGS_IF instead of hardcoded number Impact: cleanup Signed-off-by: Cyrill Gorcunov Acked-by: Alexander van Heukelum Signed-off-by: Ingo Molnar commit fee2fba3586f78762ecc5f432dfd3602765a31b3 Author: Takashi Iwai Date: Thu Nov 27 12:43:28 2008 +0100 ALSA: hda - Move power_save option to hda_intel.c Move power_save option into hda_intel.c, and make a field in hda_bus, instead of keeping module parameters in separate files. Signed-off-by: Takashi Iwai commit 986862bdf17655d012f9b0654925dccdcc4183c9 Author: Takashi Iwai Date: Thu Nov 27 12:40:13 2008 +0100 ALSA: hda - make some functions static Minor clean ups: move snd_hda_codecs_inuse() into hda_intel.c and make static. Also, make snd_hda_query_supported_pcm() static as it's used only in hda_codec.c. Signed-off-by: Takashi Iwai commit d211af055d0c12dc3416c2886e6fbdc6eb74a381 Author: Alexander van Heukelum Date: Mon Nov 24 15:38:45 2008 +0100 i386: get rid of the use of KPROBE_ENTRY / KPROBE_END entry_32.S is now the only user of KPROBE_ENTRY / KPROBE_END, treewide. This patch reorders entry_64.S and explicitly generates a separate section for functions that need the protection. The generated code before and after the patch is equal. The KPROBE_ENTRY and KPROBE_END macro's are removed too. Signed-off-by: Alexander van Heukelum Signed-off-by: Ingo Molnar commit ddeb8f2149de280d54f0c8910cead42e6042b2cb Author: Alexander van Heukelum Date: Mon Nov 24 13:24:28 2008 +0100 x86_64: get rid of the use of KPROBE_ENTRY / KPROBE_END Impact: clean up assembly macros and annotations - with some object impact entry_64.S is the only user of KPROBE_ENTRY / KPROBE_END on x86_64. This patch reorders entry_64.S and explicitly generates a separate section for functions that need the protection. The generated code before and after the patch is equal. Implicitly changing sections in assembly files makes it more difficult to follow why the assembler is doing certain things. For example, .p2align 5 KPROBE_ENTRY(...) was not doing what you would expect. Other section changes (__ex_table, .fixup, .init.rodata) are done explicitly already. Signed-off-by: Alexander van Heukelum Acked-by: Jan Beulich Signed-off-by: Ingo Molnar commit 83a8df618eb04bd2819a758f3b409b1449862434 Author: Frederic Weisbecker Date: Thu Nov 27 01:46:33 2008 +0100 tracing/function-graph-tracer: enhancements for the trace output Impact: enhance the output of the graph-tracer This patch applies some ideas of Ingo Molnar and Steven Rostedt. * Output leaf functions in one line with parenthesis, semicolon and duration output. * Add a second column (after cpu) for an overhead sign. if duration > 100 us, "!" if duration > 10 us, "+" else " " * Print output in us with remaining nanosec: u.n * Print duration on the right end, following the indentation of the functions. Use also visual clues: "-" on entry call (no duration to output) and "+" on return (duration output). The name of the tracer has been fixed as well: function-branch becomes function_branch. Here is an example of the new output: CPU[000] dequeue_entity() { - CPU[000] update_curr() { - CPU[000] update_min_vruntime(); + 0.512 us CPU[000] } + 1.504 us CPU[000] clear_buddies(); + 0.481 us CPU[000] update_min_vruntime(); + 0.504 us CPU[000] } + 4.557 us CPU[000] hrtick_update() { - CPU[000] hrtick_start_fair(); + 0.489 us CPU[000] } + 1.443 us CPU[000] + } + 14.655 us CPU[000] + } + 15.678 us CPU[000] + } + 16.686 us CPU[000] msecs_to_jiffies(); + 0.481 us CPU[000] put_prev_task_fair(); + 0.504 us CPU[000] pick_next_task_fair(); + 0.482 us CPU[000] pick_next_task_rt(); + 0.504 us CPU[000] pick_next_task_fair(); + 0.481 us CPU[000] pick_next_task_idle(); + 0.489 us CPU[000] _spin_trylock(); + 0.655 us CPU[000] _spin_unlock(); + 0.609 us CPU[000] ------------8<---------- thread bash-2794 ------------8<---------- CPU[000] finish_task_switch() { - CPU[000] _spin_unlock_irq(); + 0.722 us CPU[000] } + 2.369 us CPU[000] ! } + 501972.605 us CPU[000] ! } + 501973.763 us CPU[000] copy_from_read_buf() { - CPU[000] _spin_lock_irqsave(); + 0.670 us CPU[000] _spin_unlock_irqrestore(); + 0.699 us CPU[000] copy_to_user() { - CPU[000] might_fault() { - CPU[000] __might_sleep(); + 0.503 us CPU[000] } + 1.632 us CPU[000] __copy_to_user_ll(); + 0.542 us CPU[000] } + 3.858 us CPU[000] tty_audit_add_data() { - CPU[000] _spin_lock_irq(); + 0.609 us CPU[000] _spin_unlock_irq(); + 0.624 us CPU[000] } + 3.196 us CPU[000] _spin_lock_irqsave(); + 0.624 us CPU[000] _spin_unlock_irqrestore(); + 0.625 us CPU[000] + } + 13.611 us CPU[000] copy_from_read_buf() { - CPU[000] _spin_lock_irqsave(); + 0.624 us CPU[000] _spin_unlock_irqrestore(); + 0.616 us CPU[000] } + 2.820 us CPU[000] Signed-off-by: Frederic Weisbecker Signed-off-by: Ingo Molnar commit c7cc77307669336a08928ab8668bdb3f3bcc021b Merge: 0bfc245 d144d5e 437f24f f3f47a6 Author: Ingo Molnar Date: Thu Nov 27 10:56:13 2008 +0100 Merge branches 'tracing/blktrace', 'tracing/ftrace', 'tracing/function-graph-tracer' and 'tracing/power-tracer' into tracing/core commit 40a914fa72abdb9193ecad7dd82e48d952ab9d24 Author: Alexander Duyck Date: Thu Nov 27 00:24:37 2008 -0800 igb: Add support for pci-e Advanced Error Reporting Add the calls necessary to enable advanced error reporting for igb on systems with AER enabled. Signed-off-by: Alexander Duyck Signed-off-by: Jeff Kirsher Signed-off-by: David S. Miller commit f4113030e73db80bc5368a8303458008975402dd Author: Jeff Kirsher Date: Thu Nov 27 00:23:37 2008 -0800 e100: cleanup link up/down messages The system log messages created on a link status change need to follow a specific format to work with tools some customers use. This also makes the messages consistant with other Intel driver link messages. Signed-off-by: Jeff Kirsher Signed-off-by: David S. Miller commit d276016cf990f492cb33a1ff61d789730b3f0d6d Author: Jeff Kirsher Date: Thu Nov 27 00:23:12 2008 -0800 ixgb: cleanup link up/down messages The system log messages created on a link status change need to follow a specific format to work with tools some customers use. This also makes the messages consistant with other Intel driver link messages. Signed-off-by: Jeff Kirsher Signed-off-by: David S. Miller commit b30c4d8f8210bc4ea92942ab786407ec2d780549 Author: Jeff Kirsher Date: Thu Nov 27 00:22:45 2008 -0800 e1000: cleanup link up/down messages The system log messages created on a link status change need to follow a specific format to work with tools some customers use. This also makes the messages consistant with other Intel driver link messages. Signed-off-by: Jeff Kirsher Signed-off-by: David S. Miller commit a46e534bc76ed4e92daa181526b30274d37c6979 Author: Jeff Kirsher Date: Thu Nov 27 00:22:21 2008 -0800 ixgbe: cleanup link up/down messages The system log messages created on a link status change need to follow a specific format to work with tools some customers use. This also makes the messages consistant with other Intel driver link messages. Signed-off-by: Jeff Kirsher Signed-off-by: David S. Miller commit 527d47c11149afb5dd59eaca57d5b4d816ac4f20 Author: Alexander Duyck Date: Thu Nov 27 00:21:39 2008 -0800 igb: link up/down messages must follow a specific format The system log messages created on a link status change need to follow a specific format to work with tools some customers use. Signed-off-by: Alexander Duyck Signed-off-by: Jeff Kirsher Signed-off-by: David S. Miller commit c4106aa88a440430d387e022f2ad6dc1e0d52e98 Author: Harvey Harrison Date: Thu Nov 27 00:12:47 2008 -0800 decnet: remove private wrappers of endian helpers Signed-off-by: Harvey Harrison Reviewed-by: Steven Whitehouse Signed-off-by: David S. Miller commit 5b9ab2ec04ec1e1e53939768805612ac191d7ba2 Merge: 851fd7b 3ec1925 Author: David S. Miller Date: Wed Nov 26 23:48:40 2008 -0800 Merge branch 'master' of master.kernel.org:/pub/scm/linux/kernel/git/davem/net-2.6 Conflicts: drivers/net/hp-plus.c drivers/net/wireless/ath5k/base.c drivers/net/wireless/ath9k/recv.c net/wireless/reg.c commit 12666f050b3b4b122f61ef12707f33fadb4a78b5 Author: Daniel Mack Date: Thu Nov 27 08:21:05 2008 +0100 ALSA: snd-usb-caiaq: clean up the control adding code snd-usb-caiaq: clean up the control adding code by moving dulpicate code to a function. Signed-off-by: Daniel Mack Signed-off-by: Takashi Iwai commit 851fd7bd88524bb4e20f3def3127cd9167d6d0cf Author: Divy Le Ray Date: Wed Nov 26 15:38:36 2008 -0800 cxgb3: Update FW loading path. Update FW loading path to accomodate in-kernel images location Signed-off-by: Divy Le Ray Signed-off-by: David S. Miller commit ad58633c8381e88b54055771877726d3d5d24734 Author: Divy Le Ray Date: Wed Nov 26 15:37:50 2008 -0800 cxgb3: integrate FW and protocol engines in the kernel Include firmware and protocol images in the kernel image if requested Signed-off-by: Divy Le Ray Signed-off-by: David S. Miller commit 5256554489531f3e177e7308752d8f0681cdd5a6 Author: Divy Le Ray Date: Wed Nov 26 15:35:59 2008 -0800 cxgb3: avoid potential memory leak. Add consistency in alloc_ring() parameter checking to avoid potential memory leaks. alloc_ring() callers are correct fo far. Signed-off-by: Divy Le Ray Signed-off-by: David S. Miller commit 43a944f37364e22fff4cbc1e12d227b196e47612 Author: Divy Le Ray Date: Wed Nov 26 15:35:26 2008 -0800 cxgb3: set hard_xmit in the netdev_ops Fix t3_eth_xmit() missing into the netdev_ops structure. Signed-off-by: Divy Le Ray Signed-off-by: David S. Miller commit b5ddedc9cc01b1d86015af08c5f1694191804530 Merge: 244e6c2 b235507 Author: David S. Miller Date: Wed Nov 26 15:28:40 2008 -0800 Merge branch 'master' of git://git.kernel.org/pub/scm/linux/kernel/git/linville/wireless-next-2.6 commit 244e6c2d0724bc4908a1995804704bdee3b31528 Author: Jarek Poplawski Date: Wed Nov 26 15:24:32 2008 -0800 pkt_sched: gen_estimator: Optimize gen_estimator_active() Since all other gen_estimator functions use bstats and rate_est params together, and searching for them is optimized now, let's use this also in gen_estimator_active(). The return type of gen_estimator_active() is changed to bool, and gen_find_node() parameters to const, btw. In tcf_act_police_locate() a check for ACT_P_CREATED is added before calling gen_estimator_active(). Signed-off-by: Jarek Poplawski Signed-off-by: David S. Miller commit c5279dee26c0e8d7c4200993bfc4b540d2469598 Author: Alexey Starikovskiy Date: Wed Nov 26 17:11:53 2008 -0500 ACPI: EC: Add some basic check for ECDT data One more ASUS comes with empty ECDT, add a guard for it... http://bugzilla.kernel.org/show_bug.cgi?id=11880 Signed-off-by: Alexey Starikovskiy Signed-off-by: Len Brown commit 54f01916297bafc18bd7df4e2300a0544a84fce3 Author: Daniel Mack Date: Wed Nov 26 17:47:36 2008 +0100 ASoC: Allow more routing features for tlv320aic3x This patch enables more routing functions for tlv320aic3x codecs. It is now possible to - control the volume of the PGA bypass path for the HPL, HPR, HPLCOM and HPRCOM outputs individually - route right line1 input to the left ADC channel - route left line1 input to the right ADC channel - route right mic3 input to left DAC channel - route left mic3 input to right DAC channel - route left line1 input to right line1 output - route right line1 input to left line1 output Signed-off-by: Daniel Mack Signed-off-by: Mark Brown commit 249da166582801648432d0198be9407fb5ccf9f5 Author: Catalin Marinas Date: Fri Nov 21 12:56:22 2008 +0000 slab: Update the kmem_cache_create documentation regarding the name parameter kmem_cache implementations like slub are allowed to merge multiple caches but only the initial name is preserved. Therefore, kmem_cache_name() is not guaranteed to return the same pointer passed to the former function. This patch updates the documentation to make this clearer. Signed-off-by: Catalin Marinas Signed-off-by: Pekka Enberg commit b235507cc5e552b9e75678d596727249e8fba01b Author: John W. Linville Date: Tue Nov 25 16:47:36 2008 -0500 mac80211_hwsim: fix-up some print_mac merge damage Some print_mac -> %pM conversions got lost in some merge or another... Signed-off-by: John W. Linville commit 860c6e6a15c5082e1a1ff1faeb56cdf439380e87 Author: Ivan Kuten Date: Mon Nov 24 15:17:54 2008 -0500 mac80211: fix unaligned access in ieee80211_wep_encrypt_data Signed-off-by: Ivan Kuten Signed-off-by: John W. Linville commit b50563a68520dea3a19b5a8013c4ae0f8e3b49dd Author: Christian Lamparter Date: Mon Nov 24 14:52:51 2008 +0100 p54: fix wmm queue settings This patch fixes a regression (introduced by "p54: more definitions form lmac_longbow.h and pda.h") It turned out that the "ret" variable wasn't initialized and this caused the following warnings/errors to appear: wmaster1: failed to set TX queue parameters for queue 2 wmaster1: failed to set TX queue parameters for queue 3 wmaster1: failed to set TX queue parameters for queue 1 wmaster1: failed to set TX queue parameters for queue 0 Signed-off-by: Christian Lamparter Signed-off-by: John W. Linville commit 99405f930fda280c9114b15e178902cd204f967f Author: Sujith Date: Mon Nov 24 12:08:35 2008 +0530 ath9k: Use proper TX channel width for setting channels The TX channel width of the BSS can be obtained only after association. In all cases, default to HT20 if HT is enabled, and set chan width to HT40 only if the BSS supports it. Signed-off-by: Sujith Signed-off-by: John W. Linville commit ff37e337beb838d4c2540fa93b2c4c632ee17750 Author: Sujith Date: Mon Nov 24 12:07:55 2008 +0530 ath9k: Code scrub Merge core.c and base.c Remove Antenna Diversity (unused now). Remove unused chainmask handling code. Comment, indentation scrub. Signed-off-by: Sujith Signed-off-by: John W. Linville commit bf8c1ac6d81ba8c0e4dc2215f84f5e2a3c8227e8 Author: Jouni Malinen Date: Sat Nov 22 22:00:31 2008 +0200 nl80211: Change max TX power to be in mBm instead of dBm In order to be consistent with NL80211_ATTR_POWER_RULE_MAX_EIRP, change NL80211_FREQUENCY_ATTR_MAX_TX_POWER to use mBm and U32 instead of dBm and U8. This is a userspace interface change, but the previous version had not yet been pushed upstream and there are no userspace programs using this yet, so there is justification to get this change in as long as it goes in before the previous version gets out. Signed-off-by: Jouni Malinen Signed-off-by: John W. Linville commit 39d1ffee57c7ce02c90ec8e9272df8aa8ddf600f Author: David Kilroy Date: Sat Nov 22 10:37:28 2008 +0000 orinoco: Provide option to avoid unnecessary fw caching Make firmware caching on startup optional, and make it default. When the option is not selected and PM_SLEEP is configured, then cache firmware in the suspend pm_notifier. This configuration saves about 64k RAM in normal use, but can lead to a situation where the driver is configured to use a different firmware. Signed-off by: David Kilroy Signed-off-by: John W. Linville commit ac7cafd72261857278dff9f737e600b30088653b Author: David Kilroy Date: Sat Nov 22 10:37:27 2008 +0000 orinoco: Resume spectrum_cs in the same way as orinoco_cs Retrieval of external firmware has been resolved, and should work with the standard orinoco resume algorithm. This fixes an issue where priv->hw_unavailable indicates the card is ready when firmware has not been loaded. Signed-off by: David Kilroy Signed-off-by: John W. Linville commit 2cea7b261942009e90befbe41d998e2931547026 Author: David Kilroy Date: Sat Nov 22 10:37:26 2008 +0000 orinoco: Cache Symbol firmware Signed-off by: David Kilroy Signed-off-by: John W. Linville commit 7473431297761fa644a128a497b91e299676f501 Author: David Kilroy Date: Sat Nov 22 10:37:25 2008 +0000 orinoco: Separate fw caching from download This refactorring will make it easier to share logic with Symbol firmware. Signed-off by: David Kilroy Signed-off-by: John W. Linville commit cb71d9bafb37adab50ddce53bb119a84b4966c06 Author: Luis R. Rodriguez Date: Fri Nov 21 17:41:33 2008 -0800 ath9k: Handle -ENOMEM on RX gracefully We would get an oops on RX on -ENOMEM by passing NULL to the hardware on ath_rx_buf_link(). The oops would look something like this: ath_rx_tasklet+0x515/0x53b ath9k_tasklet+0x48 tasklet_action __do_softirq irq_exit do_IRQ RIP: ath_rx_buf_link+0x3a We correct this by handling the requeue directly on the ath_rx_tasklet() and trying to allocate an skb *prior* to sending up the last hardware processed skb. If we run out of memory this gauranteees we have skbs to work with while it simply drops new received frames. Signed-off-by: Luis R. Rodriguez Signed-off-by: John W. Linville commit 24689c8590be6bc0486af665c5ceda6aeff4d53a Author: Henrique de Moraes Holschuh Date: Fri Nov 21 20:40:10 2008 -0200 rfkill: always call get_state() hook on resume We "optimize" away the get_state() hook call on rfkill_toggle_radio when doing a forced state change. This means the resume path is not calling get_state() as it should. Call it manually on the resume handler, as we don't want to mess with the EPO path by removing the optimization. This has the added benefit of making it explicit that rfkill->state could have been modified before we hit the rfkill_toggle_radio() call in the class resume handler. Signed-off-by: Henrique de Moraes Holschuh Acked-by: Ivo van Doorn Cc: Matthew Garrett Cc: Alan Jenkins Signed-off-by: John W. Linville commit f80b5e99c7dac5a9a0d72496cec5075a12cd1476 Author: Henrique de Moraes Holschuh Date: Fri Nov 21 20:40:09 2008 -0200 rfkill: preserve state across suspend The rfkill class API requires that the driver connected to a class call rfkill_force_state() on resume to update the real state of the rfkill controller, OR that it provides a get_state() hook. This means there is potentially a hidden call in the resume code flow that changes rfkill->state (i.e. rfkill_force_state()), so the previous state of the transmitter was being lost. The simplest and most future-proof way to fix this is to explicitly store the pre-sleep state on the rfkill structure, and restore from that on resume. Signed-off-by: Henrique de Moraes Holschuh Acked-by: Ivo van Doorn Cc: Matthew Garrett Cc: Alan Jenkins Signed-off-by: John W. Linville commit 5925d976fbe99859d636e7075e5304625503c5fe Author: Vivek Natarajan Date: Fri Nov 21 22:19:50 2008 -0800 mac80211: Look out for some other AP when disassoc is received. When a disassoc packet is received from the AP with a reason code of 'leaving the BSS', mac80211 should go into DISABLED state just as it would do if the AP suddenly went away for some reason, as that is what will happen shortly after the AP leaves anyway. Signed-off-by: Vivek Natarajan Acked-by: Johannes Berg Signed-off-by: John W. Linville commit e2f367f269fe19375f10e63efe0f2a6d3ddef8e6 Author: Jouni Malinen Date: Fri Nov 21 19:01:30 2008 +0200 nl80211: Report max TX power in NL80211_BAND_ATTR_FREQS This is useful information to provide for userspace (e.g., hostapd needs this to generate Country IE). Signed-off-by: Jouni Malinen Signed-off-by: John W. Linville commit 1048643ea94d742bd409f343e284af430656fd6c Author: Felix Fietkau Date: Thu Nov 20 15:16:22 2008 +0100 ath5k: Clean up eeprom parsing and add missing calibration data This patch brings the ath5k eeprom parsing code in sync with the work done on ath_info by Nick Kossifidis and integrates the missing parts based on the code of the Atheros Legacy HAL release. Signed-off-by: Felix Fietkau Signed-off-by: John W. Linville commit 7ac47010a444d9f4285cf1ae06780633a112489b Author: Vasanthakumar Thiagarajan Date: Thu Nov 20 11:51:18 2008 +0530 ath9k: Dont update rate control for every AMPDU Update the rate control only with the tx status of first AMPDU of an aggregation. This patch fixes frequent drops in throughput. Signed-off-by: Vasanthakumar Thiagarajan Signed-off-by: John W. Linville commit 40fc95d57caf258e20282f6526b695426d65a73a Author: Winkler, Tomas Date: Wed Nov 19 15:32:27 2008 -0800 iwlwifi: TX update chicken bits This instructs FH to increment the retry count of a packet when it is brought from the memory to TX-FIFO to save transactions during aggregation flow. Signed-off-by: Tomas Winkler Signed-off-by: Reinette Chatre Signed-off-by: John W. Linville commit 31a73fe4f3284d94d52774c285e9e98a5f441d21 Author: Winkler, Tomas Date: Wed Nov 19 15:32:26 2008 -0800 iwlwifi: TX setup fix confusion between TX queue and TX DMA channel This patch configures correctly TX DMA channel. It is not the same as TX queue. Signed-off-by: Tomas Winkler Acked-by: Zhu Yi Signed-off-by: Reinette Chatre Signed-off-by: John W. Linville commit 25e35a56d5f4795cf52cdd0830a91e3103396cfe Author: Winkler, Tomas Date: Wed Nov 19 15:32:25 2008 -0800 iwlwifi: 4965 define firmware file name once Apply same idiom as in 5000 introduced by 'iwlwifi: define firmware file name once' Signed-off-by: Tomas Winkler Signed-off-by: Reinette Chatre Signed-off-by: John W. Linville commit 201706ac0b1ab6df5343119883964ec7272844b0 Author: Tomas Winkler Date: Wed Nov 19 15:32:24 2008 -0800 iwlwifi: enable base band calibration in 5000 HW This patch adds base band calibration support. Signed-off-by: Tomas Winkler Signed-off-by: Reinette Chatre Signed-off-by: John W. Linville commit 83dde8c90522b89366e241bdbd69113f7094c249 Author: Winkler, Tomas Date: Wed Nov 19 15:32:23 2008 -0800 iwlwifi: move iwl_clear_stations_table to iwl-sta.c This patch moves iwl_clear_stations_table into iwl-sta.c Signed-off-by: Tomas Winkler Signed-off-by: Reinette Chatre Signed-off-by: John W. Linville commit ce546fd2eacdbd8dc15f3d2ffd9a95661d082919 Author: Abhijeet Kolekar Date: Wed Nov 19 15:32:22 2008 -0800 iwl3945 : Fix ad-hoc mode for 3945 Patch fixes the ad-hoc mode by 1) Removing redundant clear_stations_table which prevented generation of beacons. 2) Setting assoc_id to 1. It was never set so preventing tx flow in iwl3945_tx_skb. Signed-off-by: Abhijeet Kolekar Signed-off-by: Reinette Chatre Signed-off-by: John W. Linville commit 0e149cf5a1b1900484f4b808d59a5f246cd720be Author: Bob Copeland Date: Mon Nov 17 23:40:38 2008 -0500 ath5k: set mac address in add_interface Configure the mac address in add_interface and clear it in remove_interface so that users can change the mac address to something other than the one in the eeprom. Also avoid setting it at attach time so that we won't ack packets until fully set up. Signed-off-by: Bob Copeland Signed-off-by: John W. Linville commit 8f93b8b337763a58fcdf23333ffe752db6c93bae Author: Sujith Date: Tue Nov 18 09:10:42 2008 +0530 ath9k: Use straightforward PCI routines to setup the TX buffer. Signed-off-by: Sujith Signed-off-by: John W. Linville commit daa9deb359252496796fa2b7420012e252b327b6 Author: Sujith Date: Tue Nov 18 09:10:22 2008 +0530 ath9k: Update TX trigger level on a FIFO underrun. Signed-off-by: Sujith Signed-off-by: John W. Linville commit 788a3d6f3df595a6537ef537433c870d090afe02 Author: Sujith Date: Tue Nov 18 09:09:54 2008 +0530 ath9k: Fix bug in deciphering channel flags CHANNEL_CCK flag is set for all 2 Ghz channels, so IS_CHAN_CCK() would turn out to be true for all channles in that band. Use IS_CHAN_B() now, which checks the channel mode and not the channel flags. Signed-off-by: Sujith Signed-off-by: John W. Linville commit c428839008f6638317a0db102d4e65d631c288a6 Author: Sujith Date: Tue Nov 18 09:09:30 2008 +0530 ath9k: Move TX completion routine to xmit.c Also, use a helper function to setup RC status data when processing completed TX descriptors. Signed-off-by: Sujith Signed-off-by: John W. Linville commit 2c5a744d43a6a08666930906742fbe704739ba6f Author: Sujith Date: Tue Nov 18 09:08:33 2008 +0530 ath9k: Use helpers Break down huge functions, use helper functions or macros instead. Signed-off-by: Sujith Signed-off-by: John W. Linville commit 46d14a58ffb42702e4c1b8bb88cfa05414617f4c Author: Sujith Date: Tue Nov 18 09:08:13 2008 +0530 ath9k: General code scrub Replace TRUE/FALSE macros with VALID/INVALID macros. Follow a consistent variable convention. Remove unnecessary comments. Add all RC phy macros into a single enum. Merge functions into reasonably sized entities. Signed-off-by: Sujith Signed-off-by: John W. Linville commit e63835b0f4d8545942fd41b3ca32bbf71bd73e4b Author: Sujith Date: Tue Nov 18 09:07:53 2008 +0530 ath9k: Remove ath9k_rate_table Maintaining two sets of rate tables is redundant, remove one and use struct ath_rate_table exclusively. Signed-off-by: Sujith Signed-off-by: John W. Linville commit a8efee4f4740c61fccaf73608df282c4ee24ae86 Author: Sujith Date: Tue Nov 18 09:07:30 2008 +0530 ath9k: Use rate_driver_data Remove the hack using vif, and use rate_driver_data within skb->cb to hold driver specific rate information. Setup the rate series in the skb's tx control area and remove all references to ath9k specific rate series ( using struct ath_rc_series ). Signed-off-by: Sujith Signed-off-by: John W. Linville commit fe7f4a77450c1d0e463a9b1456b40c2305433e41 Author: Sujith Date: Tue Nov 18 09:07:06 2008 +0530 ath9k: Remove ath_rate_softc Move the hw rate tables to ath_softc, and access them directly. tx_triglevel_max is global, move it to ath_rate_node. Now that ath_rate_softc is gone, rate control attach becomes simpler. Signed-off-by: Sujith Signed-off-by: John W. Linville commit 5ddfac3b550250388f1222ec7d09069784a68af6 Author: Sujith Date: Tue Nov 18 09:06:44 2008 +0530 ath9k: Remove rate control reference in VAP Rate control init is now confined to itself, using the HT capabilites of the STA from rate_init(). Signed-off-by: Sujith Signed-off-by: John W. Linville commit 0094de92a4f1da3a845ccc4ecb12ec0db8e48997 Author: David Rientjes Date: Tue Nov 25 19:14:19 2008 -0800 slub: make early_kmem_cache_node_alloc void The return value for early_kmem_cache_node_alloc() is unused, so it is better defined as void. Acked-by: Christoph Lameter Signed-off-by: David Rientjes Signed-off-by: Pekka Enberg commit ffd651c620a2f27502ee5d4517a122c072f13073 Author: Sujith Date: Tue Nov 18 09:06:18 2008 +0530 ath9k: We don't support non-HT devices, so remove superfluous code. Signed-off-by: Sujith Signed-off-by: John W. Linville commit 249b9f331ec162af5a1fdb80f90cce77c2043985 Author: roel kluin Date: Wed Oct 29 17:18:07 2008 -0400 slab: unsigned slabp->inuse cannot be less than 0 unsigned slabp->inuse cannot be less than 0 Acked-by: Christoph Lameter Signed-off-by: Pekka Enberg commit be0418ada3fad110977a9d5fa16d4907d4e7d726 Author: Sujith Date: Tue Nov 18 09:05:55 2008 +0530 ath9k: Revamp RX handling Remove a lot of old, crufty code and make RX status reporting a bit sane and clean. Do not do anything to the RX skb before unmapping. So in ath_rx_tasklet(), move the skb_put() after PCI unmap. Signed-off-by: Sujith Signed-off-by: John W. Linville commit e9beef1815ab3aa88925595582cf09e64b2b9894 Author: Cyrill Gorcunov Date: Tue Oct 28 22:02:26 2008 +0300 slub - fix get_object_page comment Use 'slab page' instead of 'slab object'. Acked-by: Christoph Lameter Signed-off-by: Pekka Enberg commit 2b406f1e68dd5348384fd166ac532af46bfc87fc Author: Sujith Date: Tue Nov 18 09:05:35 2008 +0530 ath9k: Nuke fixed rate handling in driver Signed-off-by: Sujith Signed-off-by: John W. Linville commit ce71e27c6fdc43c29f36d307b9100bde70c947fc Author: Eduard - Gabriel Munteanu Date: Tue Aug 19 20:43:25 2008 +0300 SLUB: Replace __builtin_return_address(0) with _RET_IP_. This patch replaces __builtin_return_address(0) with _RET_IP_, since a previous patch moved _RET_IP_ and _THIS_IP_ to include/linux/kernel.h and they're widely available now. This makes for shorter and easier to read code. [penberg@cs.helsinki.fi: remove _RET_IP_ casts to void pointer] Signed-off-by: Eduard - Gabriel Munteanu Signed-off-by: Pekka Enberg commit 46494e6df8f6d9739d56c8b980229af4e5d2353f Author: Sujith Date: Tue Nov 18 09:05:13 2008 +0530 ath9k: Remove half/quarter rate tables Half/Quarter rate tables are needed only for legacy chipsets. Signed-off-by: Sujith Signed-off-by: John W. Linville commit 210b5c06130f266370b5ff86e3cb6d860e1be29c Author: Cyrill Gorcunov Date: Wed Oct 22 23:00:38 2008 +0400 SLUB: cleanup - define macros instead of hardcoded numbers Signed-off-by: Cyrill Gorcunov Acked-by: Christoph Lameter Signed-off-by: Pekka Enberg commit 4df8ec64fdec5a99ebfe41467d414e235d5d051e Author: Sujith Date: Tue Nov 18 09:04:21 2008 +0530 ath9k: Remove ath_rate_newassoc() Signed-off-by: Sujith Signed-off-by: John W. Linville commit 7b4d27357aebfdaa039f365fd24f2a795af5c0bb Author: Sujith Date: Tue Nov 18 09:04:00 2008 +0530 ath9k: Remove ath_setup_rates Setup legacy rates in ath_rate_init() itself. Signed-off-by: Sujith Signed-off-by: John W. Linville commit fe60594a76d04b4fdea597bf93e4186a03d8d60c Author: Sujith Date: Tue Nov 18 09:03:36 2008 +0530 ath9k: Simplify RC alloc/free functions Signed-off-by: Sujith Signed-off-by: John W. Linville commit 256b77593f3ec07f58cd1f0d573ffe9ccd941b5b Author: Sujith Date: Tue Nov 18 09:03:12 2008 +0530 ath9k: Merge struct ath_tx_ratectrl with ath_rate_node Avoid casting of ath_tx_ratctrl and access the elements directly. Signed-off-by: Sujith Signed-off-by: John W. Linville commit 3fcdfb4b940a226184bc01bfc5c58b32b509b965 Author: Vasanthakumar Thiagarajan Date: Tue Nov 18 01:19:56 2008 +0530 ath9k: Fix panic while unregistering rfkill [ 6133.670329] BUG: unable to handle kernel NULL pointer dereference at 0000000000000010 [ 6133.672802] IP: [] ieee80211_stop_queues+0x26/0x40 [mac80211] [ 6133.672802] PGD 759dc067 PUD 74f1d067 PMD 0 [ 6133.672802] Oops: 0002 [#1] PREEMPT SMP [ 6133.672802] last sysfs file: /sys/class/backlight/acpi_video0/brightness [ 6133.672802] CPU 0 [ 6133.672802] Modules linked in: ath9k(-) mac80211 pciehp pci_hotplug arc4 ecb joydev pcmcia ppdev lp ppp_generic psmouse sg pcspkr s] [ 6133.735830] Pid: 4445, comm: rmmod Tainted: G W 2.6.28-rc5-wl #1 [ 6133.735830] RIP: 0010:[] [] ieee80211_stop_queues+0x26/0x40 [mac80211] [ 6133.735830] RSP: 0018:ffff88007d1efd10 EFLAGS: 00010246 [ 6133.735830] RAX: 0000000000000000 RBX: ffff880074f41aa0 RCX: 0000000000000000 [ 6133.735830] RDX: 0000000000000010 RSI: 0000000000000000 RDI: ffff880074f40340 [ 6133.735830] RBP: ffff880074990000 R08: 0000000000000000 R09: 000000000000224d [ 6133.735830] R10: 0000000000000000 R11: ffffffff8031dc70 R12: 0000000000000000 [ 6133.735830] R13: 0000000000000001 R14: ffff880074f46c9c R15: 0000000000000000 [ 6133.735830] FS: 00007f1e2e0bc6f0(0000) GS:ffffffff805e0b80(0000) knlGS:0000000000000000 [ 6133.735830] CS: 0010 DS: 0000 ES: 0000 CR0: 000000008005003b [ 6133.735830] CR2: 0000000000000010 CR3: 0000000075593000 CR4: 00000000000006e0 [ 6133.735830] DR0: 0000000000000000 DR1: 0000000000000000 DR2: 0000000000000000 [ 6133.735830] DR3: 0000000000000000 DR6: 00000000ffff0ff0 DR7: 0000000000000400 [ 6133.735830] Process rmmod (pid: 4445, threadinfo ffff88007d1ee000, task ffff88007c0c8000) [ 6133.735830] Stack: [ 6133.735830] ffffffffa034d583 ffff88007c7d9410 ffff88007c7d9410 ffff88007c7d9410 [ 6133.735830] ffffffff80481dab ffff880074f41aa0 00000000fffffff0 0000000000000000 [ 6133.735830] 0000000000000001 0000000000000001 ffffffffa034d8a5 ffff88007c7d9400 [ 6133.735830] Call Trace: [ 6133.735830] [] ? ath_radio_disable+0x33/0x150 [ath9k] [ 6133.735830] [] ? __mutex_lock_slowpath+0x20b/0x2a0 [ 6133.735830] [] ? ath_sw_toggle_radio+0x65/0xa0 [ath9k] [ 6133.735830] [] ? rfkill_toggle_radio+0x74/0x140 [rfkill] [ 6133.735830] [] ? rfkill_remove_switch+0x67/0x80 [rfkill] [ 6133.735830] [] ? rfkill_unregister+0x25/0x50 [rfkill] [ 6133.735830] [] ? ath_detach+0xf5/0x140 [ath9k] [ 6133.735830] [] ? ath_pci_remove+0x29/0x80 [ath9k] [ 6133.735830] [] ? pci_device_remove+0x2c/0x60 [ 6133.735830] [] ? __device_release_driver+0x99/0x100 [ 6133.735830] [] ? driver_detach+0xc0/0xd0 [ 6133.735830] [] ? bus_remove_driver+0x8e/0xd0 [ 6133.735830] [] ? pci_unregister_driver+0x36/0xa0 [ 6133.735830] [] ? exit_ath_pci+0x10/0x29 [ath9k] [ 6133.735830] [] ? sys_delete_module+0x1cb/0x2d0 [ 6133.735830] [] ? do_munmap+0x349/0x390 [ 6133.735830] [] ? __up_write+0x21/0x150 [ 6133.735830] [] ? system_call_fastpath+0x16/0x1b [ 6133.735830] Code: c3 0f 1f 40 00 0f b7 57 5e 0f b7 47 5c 01 c2 74 30 31 c9 66 90 48 8b 57 78 0f b7 c1 48 c1 e0 07 48 03 82 00 03 00 [ 6133.735830] RIP [] ieee80211_stop_queues+0x26/0x40 [mac80211] Signed-off-by: Vasanthakumar Thiagarajan Signed-off-by: John W. Linville commit 1548c86ab1552199a3b99b958ccfb590fc9c8f84 Author: Larry Finger Date: Mon Nov 17 09:08:21 2008 -0600 rtl8187: Fix transmission count sent to mac80211 In the commit entitled "mac80211/drivers: rewrite the rate control API", the meaning of the packet transmit count was changed from the number of retries to the total number. In driver rtl8187, this change was missed. Signed-off-by: Larry Finger Acked-by: Herton Ronaldo Krzesinski Tested-by: Hin-Tak Leung Signed-off-by: John W. Linville commit 1dc5a84166d83c892cbf192cad58ebdde95d3ac4 Author: Larry Finger Date: Sun Nov 16 17:09:25 2008 -0600 mac80211: Fix pid rate-setting algorithm to allow rate changes In commit 9ea2c74 named "mac80211/drivers: rewrite the rate control API", the meaning of status.rates[i].count was changed from number of retries to total number of tries. As a result, the pid rate-setting algorithm fails because every packet appears to have needed a retransmit. Signed-off-by: Larry Finger Acked-by: Johannes Berg Signed-off-by: John W. Linville commit d507748ac6de67369e76058a8a921cd22734f40a Author: Ivo van Doorn Date: Sun Nov 16 00:08:50 2008 +0100 rt2x00: Don't switch off LED on initialization When we switch off the LEDS during initialization we kill rt73usb from proper functioning. The immediate result after the first LED command are MCU failures and a complete breakdown of TX/RX. Signed-off-by: Ivo van Doorn Signed-off-by: John W. Linville commit f941f8590c06c6b1a77c4b5a5df59f39a3c7d1e9 Author: Andrey Borzenkov Date: Sat Nov 15 17:15:09 2008 +0300 orinoco: indicate it is using dBm in wireless_stats and spy Since WE7 /proc/net/wireless checks whether level and noise are in dBm and shows them accordingly. Indicate that we return signal and noice levels in dBm. Before: Inter-| sta-| Quality | Discarded packets | Missed | WE face | tus | link level noise | nwid crypt frag retry misc | beacon | 22 eth1: 0000 65. 219. 165. 0 0 148 41 0 0 After: Inter-| sta-| Quality | Discarded packets | Missed | WE face | tus | link level noise | nwid crypt frag retry misc | beacon | 22 eth1: 0000 65. -37. -91. 0 0 0 0 0 0 While at it, replace raw numbers with appropriate macro. Signed-off-by: Andrey Borzenkov Signed-off-by: Pavel Roskin Signed-off-by: John W. Linville commit 8eb41c93685318d177276d1819915571aca7ebb1 Author: Luis R. Rodriguez Date: Fri Nov 14 17:44:53 2008 -0800 mac80211: make Minstrel the default rate control algorithm This makes minstrel the default rate control algorithm for mac80211. For more information see: http://wireless.kernel.org/en/developers/Documentation/mac80211/RateControl/minstrel If someone can come up with a better algorithm they get a prize (undisclosed). Signed-off-by: Luis R. Rodriguez Signed-off-by: John W. Linville commit dcc7461eef7341e84e2f7274f904ce01a43b2506 Author: David Vrabel Date: Wed Nov 26 13:36:59 2008 +0000 wusb: add debug files for ASL, PZL and DI to the whci-hcd driver Add asl, pzl and di debugfs files to uwb/uwbN/wusbhc for WHCI host controller. These dump the current ASL, PZL and DI buffer. Signed-off-by: David Vrabel commit 1c39194878c09bd88ffc9c9d4c2f01c3397c7aed Author: Ingo Molnar Date: Wed Nov 26 14:13:42 2008 +0100 sched: convert struct root_domain to cpumask_var_t, fix Mathieu Desnoyers reported this build failure on powerpc: kernel/sched.c: In function 'sd_init_NODE': kernel/sched.c:7319: error: non-static initialization of a flexible array member kernel/sched.c:7319: error: (near initialization for '(anonymous)') this happens because .span changed to cpumask_var_t, hence the static CPU_MASK_NONE initializers in the SD_*_INIT templates are not type-correct anymore. Remove them, as they default to empty anyway. Also remove them from IA64, MIPS and SH. Reported-by: Mathieu Desnoyers Signed-off-by: Ingo Molnar commit eea0579fc85e64e9f05361d5aacf496fe7a151aa Author: Takashi Iwai Date: Wed Nov 26 14:13:03 2008 +0100 ALSA: pcsp - Fix starting the stream with HRTIMER_CB_IRQSAFE_UNLOCK With the callback mode HRTIMER_CB_IRQSAFE_UNLOCK, the start of the stream with zero delay doesn't work. Since IRQSAFE mode is removed, we have to change the pcsp start-up code. This patch splits the callback function to two parts, the triggering of the port and the calculation of the expire time, and the update of the ALSA PCM core. The first part is called both from the trigger-start and the hrtimer callback while the latter is handled only in the hrtimer callback. Signed-off-by: Takashi Iwai commit e7dd8c1bdacf658b0ade51facb2f7eaf40eb0ac4 Merge: ed31348 bc4a68f Author: Takashi Iwai Date: Wed Nov 26 14:12:42 2008 +0100 Merge branch 'topic/misc' into topic/pcsp-fix Conflicts: sound/drivers/pcsp/pcsp_lib.c commit e4b49580f70380a4216ff8220c8f48a95e21c238 Author: David Vrabel Date: Wed Nov 26 12:47:05 2008 +0000 uwb: fix oops in debug PAL's reservation callback Initialize pal_priv for reservations created by the debug PAL. Signed-off-by: David Vrabel commit 0bfc24559d7945506184d86739fe365a181f06b7 Author: Ingo Molnar Date: Wed Nov 26 11:59:56 2008 +0100 blktrace: port to tracepoints, update Port to the new tracepoints API: split DEFINE_TRACE() and DECLARE_TRACE() sites. Spread them out to the usage sites, as suggested by Mathieu Desnoyers. Signed-off-by: Ingo Molnar Acked-by: Mathieu Desnoyers commit 5f3ea37c7716db4e894a480e0c18b24399595b6b Author: Arnaldo Carvalho de Melo Date: Thu Oct 30 08:34:33 2008 +0100 blktrace: port to tracepoints This was a forward port of work done by Mathieu Desnoyers, I changed it to encode the 'what' parameter on the tracepoint name, so that one can register interest in specific events and not on classes of events to then check the 'what' parameter. Signed-off-by: Arnaldo Carvalho de Melo Signed-off-by: Jens Axboe Signed-off-by: Ingo Molnar commit 43901aabd7a043e62e24e9459dc4949b4cd69f07 Author: Tejun Heo Date: Wed Nov 26 12:03:56 2008 +0100 fuse: add fuse_conn->release() Add fuse_conn->release() so that fuse_conn can be embedded in other structures. Signed-off-by: Tejun Heo Signed-off-by: Miklos Szeredi commit 0d179aa59285ceef529c125e181cbb79ff5245c2 Author: Tejun Heo Date: Wed Nov 26 12:03:55 2008 +0100 fuse: separate out fuse_conn_init() from new_conn() Separate out fuse_conn_init() from new_conn() and while at it initialize fuse_conn->entry during conn initialization. This will be used by CUSE. Signed-off-by: Tejun Heo Signed-off-by: Miklos Szeredi commit b93f858ab2a4bee779c360002f313ad6c3504cdc Author: Tejun Heo Date: Wed Nov 26 12:03:55 2008 +0100 fuse: add fuse_ prefix to several functions Add fuse_ prefix to request_send*() and get_root_inode() as some of those functions will be exported for CUSE. With or without CUSE export, having the function names scoped is a good idea for debuggability. Signed-off-by: Tejun Heo Signed-off-by: Miklos Szeredi commit 95668a69a4bb862063c4d28a746e55107dee7b98 Author: Tejun Heo Date: Wed Nov 26 12:03:55 2008 +0100 fuse: implement poll support Implement poll support. Polled files are indexed using kh in a RB tree rooted at fuse_conn->polled_files. Client should send FUSE_NOTIFY_POLL notification once after processing FUSE_POLL which has FUSE_POLL_SCHEDULE_NOTIFY set. Sending notification unconditionally after the latest poll or everytime file content might have changed is inefficient but won't cause malfunction. fuse_file_poll() can sleep and requires patches from the following thread which allows f_op->poll() to sleep. http://thread.gmane.org/gmane.linux.kernel/726176 Signed-off-by: Tejun Heo Signed-off-by: Miklos Szeredi commit 8599396b5062bf6bd2a0b433503849e2322df1c2 Author: Tejun Heo Date: Wed Nov 26 12:03:55 2008 +0100 fuse: implement unsolicited notification Clients always used to write only in response to read requests. To implement poll efficiently, clients should be able to issue unsolicited notifications. This patch implements basic notification support. Zero fuse_out_header.unique is now accepted and considered unsolicited notification and the error field contains notification code. This patch doesn't implement any actual notification. Signed-off-by: Tejun Heo Signed-off-by: Miklos Szeredi commit acf99433d98c2570a619d8fb8b51abce4e532059 Author: Tejun Heo Date: Wed Nov 26 12:03:55 2008 +0100 fuse: add file kernel handle The file handle, fuse_file->fh, is opaque value supplied by userland FUSE server and uniqueness is not guaranteed. Add file kernel handle, fuse_file->kh, which is allocated by the kernel on file allocation and guaranteed to be unique. This will be used by poll to match notification to the respective file but can be used for other purposes where unique file handle is necessary. Signed-off-by: Tejun Heo Signed-off-by: Miklos Szeredi commit 59efec7b903987dcb60b9ebc85c7acd4443a11a1 Author: Tejun Heo Date: Wed Nov 26 12:03:55 2008 +0100 fuse: implement ioctl support Generic ioctl support is tricky to implement because only the ioctl implementation itself knows which memory regions need to be read and/or written. To support this, fuse client can request retry of ioctl specifying memory regions to read and write. Deep copying (nested pointers) can be implemented by retrying multiple times resolving one depth of dereference at a time. For security and cleanliness considerations, ioctl implementation has restricted mode where the kernel determines data transfer directions and sizes using the _IOC_*() macros on the ioctl command. In this mode, retry is not allowed. For all FUSE servers, restricted mode is enforced. Unrestricted ioctl will be used by CUSE. Plese read the comment on top of fs/fuse/file.c::fuse_file_do_ioctl() for more information. Signed-off-by: Tejun Heo Signed-off-by: Miklos Szeredi commit e9bb09dd6c5b8ec6a971ed6251df5eba3a4c8d3c Author: Tejun Heo Date: Wed Nov 26 12:03:54 2008 +0100 fuse: don't let fuse_req->end() put the base reference fuse_req->end() was supposed to be put the base reference but there's no reason why it should. It only makes things more complex. Move it out of ->end() and make it the responsibility of request_end(). Signed-off-by: Tejun Heo Signed-off-by: Miklos Szeredi commit 193da6092764ab693da7170c5badbf60d7758c1d Author: Tejun Heo Date: Wed Nov 26 12:03:54 2008 +0100 fuse: move FUSE_MINOR to miscdevice.h Move FUSE_MINOR to miscdevice.h. While at it, de-uglify the file. Signed-off-by: Tejun Heo Signed-off-by: Miklos Szeredi commit 1729a16c2c92bbd9e54ac7cad3101fea2e073aa5 Author: Miklos Szeredi Date: Wed Nov 26 12:03:54 2008 +0100 fuse: style fixes Fix coding style errors reported by checkpatch and others. Uptdate copyright date to 2008. Signed-off-by: Miklos Szeredi commit 414ff491b2ab68359c7a2037b30ccfea20d829d4 Author: Mark Brown Date: Wed Nov 26 10:32:26 2008 +0000 ASoC: Fix word wrapping in OMAP Kconfig Signed-off-by: Mark Brown commit 3d4cd60ed0533d3b33832e298530c7b021da982b Author: David S. Miller Date: Wed Nov 26 01:52:15 2008 -0800 smc-mca: Fix build failure due to typo. ultra_netdev_ops --> ultramca_netdev_ops Signed-off-by: David S. Miller commit 70355602879229c6f8bd694ec9c0814222bc4936 Author: Eric Dumazet Date: Wed Nov 26 01:08:18 2008 -0800 net: release skb->dst in sock_queue_rcv_skb() When queuing a skb to sk->sk_receive_queue, we can release its dst, not anymore needed. Since current cpu did the dst_hold(), refcount is probably still hot int this cpu caches. This avoids readers to access the original dst to decrement its refcount, possibly a long time after packet reception. This should speedup UDP and RAW receive path. Signed-off-by: Eric Dumazet Signed-off-by: David S. Miller commit 3ae7020543db0b769538e64d1ce8d51fceff60ca Author: Ingo Molnar Date: Wed Nov 26 10:02:00 2008 +0100 debugobjects: add boot parameter default value Impact: add .config driven boot parameter default value Right now debugobjects can only be activated if the debug_objects boot parameter is passed in via the boot command line. Make this more convenient (and randomizable) by also providing a .config method. Enable it by default. (DEBUG_OBJECTS itself is default-off) Signed-off-by: Ingo Molnar commit 4db646b1af8fdcf01d690d29eeae44cd937edb0d Author: Hannes Eder Date: Sun Nov 23 20:49:52 2008 +0100 x86: microcode: fix sparse warnings Impact: make global variables and a function static Fix following sparse warnings: arch/x86/kernel/microcode_core.c:102:22: warning: symbol 'microcode_ops' was not declared. Should it be static? arch/x86/kernel/microcode_core.c:206:24: warning: symbol 'microcode_pdev' was not declared. Should it be static? arch/x86/kernel/microcode_core.c:322:6: warning: symbol 'microcode_update_cpu' was not declared. Should it be static? arch/x86/kernel/microcode_intel.c:468:22: warning: symbol 'microcode_intel_ops' was not declared. Should it be static? Signed-off-by: Hannes Eder Signed-off-by: Ingo Molnar commit f3f47a6768a29448866da4422b6f6bee485c947f Author: Arjan van de Ven Date: Sun Nov 23 16:49:58 2008 -0800 tracing: add "power-tracer": C/P state tracer to help power optimization Impact: new "power-tracer" ftrace plugin This patch adds a C/P-state ftrace plugin that will generate detailed statistics about the C/P-states that are being used, so that we can look at detailed decisions that the C/P-state code is making, rather than the too high level "average" that we have today. An example way of using this is: mount -t debugfs none /sys/kernel/debug echo cstate > /sys/kernel/debug/tracing/current_tracer echo 1 > /sys/kernel/debug/tracing/tracing_enabled sleep 1 echo 0 > /sys/kernel/debug/tracing/tracing_enabled cat /sys/kernel/debug/tracing/trace | perl scripts/trace/cstate.pl > out.svg Signed-off-by: Arjan van de Ven Signed-off-by: Ingo Molnar commit 7fbb8759eff9a348efa5f352ffaa51c364837c4b Merge: 6003ab0 13d428a Author: Ingo Molnar Date: Wed Nov 26 08:22:50 2008 +0100 Merge commit 'v2.6.28-rc6' into core/debug commit 4f199629b0fba95fd5caecbf35ed68417d9a9b7a Author: Qinghuang Feng Date: Tue Nov 25 23:24:49 2008 +0800 ALSA: sound/pci/hda/hda_codec.c: cleanup kernel-doc There is no argument named @state in snd_hda_resume, remove its' comment. Signed-off-by: Qinghuang Feng Signed-off-by: Takashi Iwai commit 1224e376f2a7e3c7ab19ef37099a78597978a696 Author: Rusty Russell Date: Tue Nov 25 09:59:20 2008 +1030 sched: avoid stack var in move_task_off_dead_cpu, fix Impact: locking fix We can't call cpuset_cpus_allowed_locked() with the rq lock held. However, the rq lock merely protects us from (1) cpu_online_mask changing and (2) someone else changing p->cpus_allowed. The first can't happen because we're being called from a cpu hotplug notifier. The second doesn't really matter: we are forcing the task off a CPU it was affine to, so we're not doing very well anyway. So we remove the rq lock from this path, and all is good. Signed-off-by: Rusty Russell Acked-by: Mike Travis Signed-off-by: Ingo Molnar commit 3d8cbdf8650f44d95333ca645d950832a0653f35 Author: Rusty Russell Date: Tue Nov 25 09:58:41 2008 +1030 sched: convert local_cpu_mask to cpumask_var_t, fix Impact: build fix for !CONFIG_SMP Signed-off-by: Rusty Russell Acked-by: Mike Travis Signed-off-by: Ingo Molnar commit bf4d83f66476086c6b50dc52aac00d71ad70494e Author: Rusty Russell Date: Tue Nov 25 09:57:51 2008 +1030 sched: convert nohz struct to cpumask_var_t, fix Impact: build fix Fix the !CONFIG_SMP case. Signed-off-by: Rusty Russell Acked-by: Mike Travis Signed-off-by: Ingo Molnar commit 437f24fb897d409a9978eb71ecfaf279dcd94acd Author: Steven Rostedt Date: Wed Nov 26 00:16:27 2008 -0500 ftrace: add cpu annotation for function graph tracer Impact: enhancement for function graph tracer When run on a SMP box, the function graph tracer is confusing because it shows the different CPUS as changes in the trace. This patch adds the annotation of 'CPU[###]' where ### is a three digit number. The output will look similar to this: CPU[001] dput() { CPU[000] } 726 CPU[001] } 487 CPU[000] do_softirq() { CPU[001] } 2221 CPU[000] __do_softirq() { CPU[000] __local_bh_disable() { CPU[001] unroll_tree_refs() { CPU[000] } 569 CPU[001] } 501 CPU[000] rcu_process_callbacks() { CPU[001] kfree() { What makes this nice is that now you can grep the file and produce readable format for a particular CPU. # cat /debug/tracing/trace > /tmp/trace # grep '^CPU\[000\]' /tmp/trace > /tmp/trace0 # grep '^CPU\[001\]' /tmp/trace > /tmp/trace1 Will give you: # head /tmp/trace0 CPU[000] ------------8<---------- thread sshd-3899 ------------8<---------- CPU[000] inotify_dentry_parent_queue_event() { CPU[000] } 2531 CPU[000] inotify_inode_queue_event() { CPU[000] } 505 CPU[000] } 69626 CPU[000] } 73089 CPU[000] audit_syscall_exit() { CPU[000] path_put() { CPU[000] dput() { # head /tmp/trace1 CPU[001] ------------8<---------- thread pcscd-3446 ------------8<---------- CPU[001] } 4186 CPU[001] dput() { CPU[001] } 543 CPU[001] vfs_permission() { CPU[001] inode_permission() { CPU[001] shmem_permission() { CPU[001] generic_permission() { CPU[001] } 501 CPU[001] } 2205 Signed-off-by: Steven Rostedt Signed-off-by: Ingo Molnar commit 660c7f9be96321fc80026d76411bd15e6f418a72 Author: Steven Rostedt Date: Wed Nov 26 00:16:26 2008 -0500 ftrace: add thread comm to function graph tracer Impact: enhancement to function graph tracer Export the trace_find_cmdline so the function graph tracer can use it to print the comms of the threads. Signed-off-by: Steven Rostedt Signed-off-by: Ingo Molnar commit e53a6319cca69111c1643dc9f18f4465d7f1cbf0 Author: Steven Rostedt Date: Wed Nov 26 00:16:25 2008 -0500 ftrace: let function tracing and function return run together Impact: feature This patch enables function tracing and function return to run together. I've tested this by enabling the stack tracer and return tracer, where both the function entry and function return are used together with dynamic ftrace. Signed-off-by: Steven Rostedt Signed-off-by: Ingo Molnar commit 5a45cfe1c64862e8cd3b0d79d7c4ba71c3118915 Author: Steven Rostedt Date: Wed Nov 26 00:16:24 2008 -0500 ftrace: use code patching for ftrace graph tracer Impact: more efficient code for ftrace graph tracer This patch uses the dynamic patching, when available, to patch the function graph code into the kernel. This patch will ease the way for letting both function tracing and function graph tracing run together. Signed-off-by: Steven Rostedt Signed-off-by: Ingo Molnar commit df4fc31558dd2a3a30292ddb3a64c2a5befcec73 Author: Steven Rostedt Date: Wed Nov 26 00:16:23 2008 -0500 ftrace: add function tracing to single thread Impact: feature to function trace a single thread This patch adds the ability to function trace a single thread. The file: /debugfs/tracing/set_ftrace_pid contains the pid to trace. Valid pids are any positive integer. Writing any negative number to this file will disable the pid tracing and the function tracer will go back to tracing all of threads. This feature works with both static and dynamic function tracing. Signed-off-by: Steven Rostedt Signed-off-by: Ingo Molnar commit 3496f92beb9aa99ef21fccc154a36c7698e9c538 Merge: 200036c 6ded6ab Author: James Morris Date: Wed Nov 26 10:56:44 2008 +0530 Merge branch 'serge-next' into next commit dd24c00191d5e4a1ae896aafe33c6b8095ab4bd1 Author: Eric Dumazet Date: Tue Nov 25 21:17:14 2008 -0800 net: Use a percpu_counter for orphan_count Instead of using one atomic_t per protocol, use a percpu_counter for "orphan_count", to reduce cache line contention on heavy duty network servers. Signed-off-by: Eric Dumazet Signed-off-by: David S. Miller commit 1748376b6626acf59c24e9592ac67b3fe2a0e026 Author: Eric Dumazet Date: Tue Nov 25 21:16:35 2008 -0800 net: Use a percpu_counter for sockets_allocated Instead of using one atomic_t per protocol, use a percpu_counter for "sockets_allocated", to reduce cache line contention on heavy duty network servers. Note : We revert commit (248969ae31e1b3276fc4399d67ce29a5d81e6fd9 net: af_unix can make unix_nr_socks visbile in /proc), since it is not anymore used after sock_prot_inuse_add() addition Signed-off-by: Eric Dumazet Signed-off-by: David S. Miller commit c1b56878fb68e9c14070939ea4537ad4db79ffae Author: Stephen Hemminger Date: Tue Nov 25 21:14:06 2008 -0800 tc: policing requires a rate estimator Found that while trying average rate policing, it was possible to request average rate policing without a rate estimator. This results in no policing which is harmless but incorrect. Since policing could be setup in two steps, need to check in the kernel. Signed-off-by: Stephen Hemminger Signed-off-by: David S. Miller commit 71bcb09a57894fa35591ce93dd972065eeecb63a Author: Stephen Hemminger Date: Tue Nov 25 21:13:31 2008 -0800 tc: check for errors in gen_rate_estimator creation The functions gen_new_estimator and gen_replace_estimator can return errors, but they were being ignored. Signed-off-by: Stephen Hemminger Signed-off-by: David S. Miller commit 0e991ec6a0340916d3f29bd5dcb35299069e7226 Author: Stephen Hemminger Date: Tue Nov 25 21:12:32 2008 -0800 tc: propogate errors from tcf_hash_create Allow tcf_hash_create to return different errors on estimator failure. Signed-off-by: Stephen Hemminger Signed-off-by: David S. Miller commit 5ceb40da9bacc8b056805d72efb1a52502d56b6b Author: Hiroshi Shimamoto Date: Mon Nov 24 18:24:11 2008 -0800 x86: signal: unify signal_{32|64}.c Impact: cleanup Unify signal_{32|64}.c! Mechanic unification - the two files are the same. Signed-off-by: Hiroshi Shimamoto Signed-off-by: Ingo Molnar commit e5fa2d063cf2ca38eae5fb3469315db669d5c041 Author: Hiroshi Shimamoto Date: Mon Nov 24 18:24:11 2008 -0800 x86: signal: unify signal_{32|64}.c, prepare Impact: cleanup Add #ifdef directive for 32-bit only code. Signed-off-by: Hiroshi Shimamoto Signed-off-by: Ingo Molnar commit bfeb91a9435889ef4fe7bfbb4b673f625e69e790 Author: Hiroshi Shimamoto Date: Mon Nov 24 18:23:12 2008 -0800 x86: signal: cosmetic unification of __setup_sigframe() and __setup_rt_sigframe() Impact: cleanup Add #ifdef directive to unify __setup_sigframe() and __setup_rt_sigframe(). Move them after {setup|restore}_sigcontext() declaration. Signed-off-by: Hiroshi Shimamoto Signed-off-by: Ingo Molnar commit 2601657d223d82053d4e1fe1063091401e6b860a Author: Hiroshi Shimamoto Date: Mon Nov 24 18:21:37 2008 -0800 x86: signal: move {setup|restore}_sigcontext() Impact: cleanup Move {setup|restore}_sigcontext() declaration onto head of file. Signed-off-by: Hiroshi Shimamoto Signed-off-by: Ingo Molnar commit d144d5ee6a265823d39f75ecfed351a516295183 Author: Liming Wang Date: Wed Nov 26 10:29:26 2008 +0800 ftrace: adding other non-leaving .text sections Impact: widen the scope of recordmcount.pl Besides .text section, there are three .text sections that won't be freed after kernel booting. They are: .sched.text, .spinlock.text and .kprobes.text, which contain functions we can trace. But the last section ".kprobes.text" is particular, which has been marked as "notrace", we ignore it. Thus we add other two sections. Signed-off-by: Liming Wang Acked-by: Steven Rostedt Signed-off-by: Ingo Molnar commit 4ef8e768335637749af8d83327b174be0ea798a2 Author: Stephen Hemminger Date: Tue Nov 25 18:26:38 2008 -0800 ne2000: convert to net_device_ops Last driver for today. Signed-off-by: Stephen Hemminger Signed-off-by: David S. Miller commit 53cdd28961f979e4494c85e9ace8c3b51ae39a45 Author: Stephen Hemminger Date: Tue Nov 25 18:26:20 2008 -0800 3c503: convert to net_device_ops Another of the 8390p group. Signed-off-by: Stephen Hemminger Signed-off-by: David S. Miller commit e0b8cb0e0e361a40e4ab9d8463762db2286571f5 Author: Stephen Hemminger Date: Tue Nov 25 18:25:49 2008 -0800 stnic: convert to net_device_ops Can just use common ei_netdev_ops definition. Signed-off-by: Stephen Hemminger Signed-off-by: David S. Miller commit 7d359daafe12b36b6da7ec6247caddf534183aed Author: Stephen Hemminger Date: Tue Nov 25 18:25:32 2008 -0800 apne: convert to net_device_ops Yet another driver. Signed-off-by: Stephen Hemminger Signed-off-by: David S. Miller commit 50014f1b939dff5e591e8aea9ec2932d146d2996 Author: Stephen Hemminger Date: Tue Nov 25 18:25:14 2008 -0800 ne2: convert to net_device_ops Almost there. Signed-off-by: Stephen Hemminger Signed-off-by: David S. Miller commit 4be7ef4eac1d96a61af62bda8a59c1fb78c3b31b Author: Stephen Hemminger Date: Tue Nov 25 18:24:57 2008 -0800 hp: convert to net_device_ops Another old EISA driver converted. Signed-off-by: Stephen Hemminger Signed-off-by: David S. Miller commit 0ec4d4fe413f4d16fb35a326a2dcf912872abcc8 Author: Stephen Hemminger Date: Tue Nov 25 18:24:38 2008 -0800 lne390: convert to net_device_ops Signed-off-by: Stephen Hemminger Signed-off-by: David S. Miller commit 8284abea9b49f9d8eae5b3ed36a9ea76a26388ca Author: Stephen Hemminger Date: Tue Nov 25 18:24:20 2008 -0800 e2100: convert to net_device_ops Signed-off-by: Stephen Hemminger Signed-off-by: David S. Miller commit 9a9aa14a74d49f88e2c2a126b035c22bd1ab0d53 Author: Stephen Hemminger Date: Tue Nov 25 18:23:59 2008 -0800 es3210: convert to net_device_ops Signed-off-by: Stephen Hemminger Signed-off-by: David S. Miller commit d269941b5b562d21ae37b2182846702a4a43f415 Author: Stephen Hemminger Date: Tue Nov 25 18:23:35 2008 -0800 ne3210: convert to net_device_ops By having common code in 8390.o don't need net_dev_ops in the driver. Signed-off-by: Stephen Hemminger Signed-off-by: David S. Miller commit d079841d795b83822357ef058ce8d7979dad854c Author: Stephen Hemminger Date: Tue Nov 25 18:23:06 2008 -0800 smc: convert to net_device_ops Convert both eisa and mca versions of this driver, though I doubt anyone still has the hardware. Signed-off-by: Stephen Hemminger Signed-off-by: David S. Miller commit d4a97d425c2f59849ebdcc94281ecf108818efbf Author: Stephen Hemminger Date: Tue Nov 25 18:22:42 2008 -0800 hp-plus: convert to net_device_ops Another driver converted to new infrastructure. Signed-off-by: Stephen Hemminger Signed-off-by: David S. Miller commit 458228bc4c1370de1dae4ba0f78469092ca21d75 Author: Stephen Hemminger Date: Tue Nov 25 18:21:56 2008 -0800 wd: use net_device_ops Another driver converted to net_device_ops; Compile tested only. Signed-off-by: Stephen Hemminger Signed-off-by: David S. Miller commit 8884c092e5e4f9a1b6e44f2e02a3eb5481af87ab Author: Stephen Hemminger Date: Tue Nov 25 18:12:49 2008 -0800 8390: add common net_device ops Fix the defactoring of ei_XXX functions in 8390 and 8390p. Remove the tx_timeout hack since no driver including the 3c503 overrides tx_timeout at this time, looks like a legacy thing. Also, since several drivers all have same hooks, provide common netdev_ops. Signed-off-by: Stephen Hemminger Signed-off-by: David S. Miller commit c2324b694fa8ffee382a124198c68754088e483c Author: Ingo Molnar Date: Wed Nov 26 03:10:01 2008 +0100 tracing: function graph tracer, fix fix return-tracer => graph-tracer namespace rename fallout. Signed-off-by: Ingo Molnar commit b27aeadb5948d400df83db4d29590fb9862ba49d Author: Alexey Dobriyan Date: Tue Nov 25 18:00:48 2008 -0800 netns xfrm: per-netns sysctls Make net.core.xfrm_aevent_etime net.core.xfrm_acq_expires net.core.xfrm_aevent_rseqth net.core.xfrm_larval_drop sysctls per-netns. For that make net_core_path[] global, register it to prevent two /proc/net/core antries and change initcall position -- xfrm_init() is called from fs_initcall, so this one should be fs_initcall at least. Signed-off-by: Alexey Dobriyan Signed-off-by: David S. Miller commit c68cd1a01ba56995d85a4a62b195b2b3f6415c64 Author: Alexey Dobriyan Date: Tue Nov 25 18:00:14 2008 -0800 netns xfrm: /proc/net/xfrm_stat in netns Signed-off-by: Alexey Dobriyan Signed-off-by: David S. Miller commit 59c9940ed0ef026673cac52f2eaed77af7d486da Author: Alexey Dobriyan Date: Tue Nov 25 17:59:52 2008 -0800 netns xfrm: per-netns MIBs Signed-off-by: Alexey Dobriyan Signed-off-by: David S. Miller commit 4fb236bac9fc7d51e2267866de6d4c30e549d2f8 Author: Alexey Dobriyan Date: Tue Nov 25 17:59:27 2008 -0800 netns xfrm: AH/ESP in netns! Signed-off-by: Alexey Dobriyan Signed-off-by: David S. Miller commit 7013ec30e0e2bc5b1e602e19a4e0668f9b7c0a72 Author: Alexey Dobriyan Date: Tue Nov 25 17:59:00 2008 -0800 netns PF_KEY: per-netns /proc/pfkey Signed-off-by: Alexey Dobriyan Signed-off-by: David S. Miller commit 07fb0f1799dcb6b3df527909811fd6704278842e Author: Alexey Dobriyan Date: Tue Nov 25 17:58:31 2008 -0800 netns PF_KEY: part 2 * interaction with userspace -- take netns from userspace socket. * in ->notify hook take netns either from SA or explicitly passed -- we don't know if SA/SPD flush is coming. * stub policy migration with init_net for now. Signed-off-by: Alexey Dobriyan Signed-off-by: David S. Miller commit 3fa87a3210a24ae406c2ccd37a52585baeb21546 Author: Alexey Dobriyan Date: Tue Nov 25 17:58:07 2008 -0800 netns PF_KEY: part 1 * netns boilerplate * keep per-netns socket list * keep per-netns number of sockets Signed-off-by: Alexey Dobriyan Signed-off-by: David S. Miller commit 7c2776ee21a60e0d370538bd08b9ed82979f6e3a Author: Alexey Dobriyan Date: Tue Nov 25 17:57:44 2008 -0800 netns xfrm: flush SA/SPDs on netns stop SA/SPD doesn't pin netns (and it shouldn't), so get rid of them by hand. Signed-off-by: Alexey Dobriyan Signed-off-by: David S. Miller commit fbda33b2b85941c1ae3a0d89522dec5c1b1bd98c Author: Alexey Dobriyan Date: Tue Nov 25 17:56:49 2008 -0800 netns xfrm: ->get_saddr in netns Signed-off-by: Alexey Dobriyan Signed-off-by: David S. Miller commit c5b3cf46eabe6e7459125fc6e2033b4222665017 Author: Alexey Dobriyan Date: Tue Nov 25 17:51:25 2008 -0800 netns xfrm: ->dst_lookup in netns Signed-off-by: Alexey Dobriyan Signed-off-by: David S. Miller commit db983c1144884cab10d6397532f4bf05eb0c01d2 Author: Alexey Dobriyan Date: Tue Nov 25 17:51:01 2008 -0800 netns xfrm: KM reporting in netns Signed-off-by: Alexey Dobriyan Signed-off-by: David S. Miller commit 7067802e262457a9737521e5669b622028b2283a Author: Alexey Dobriyan Date: Tue Nov 25 17:50:36 2008 -0800 netns xfrm: pass netns with KM notifications SA and SPD flush are executed with NULL SA and SPD respectively, for these cases pass netns explicitly from userspace socket. Signed-off-by: Alexey Dobriyan Signed-off-by: David S. Miller commit fc34acd36eecdec95171b98ef2516e3d4daa5c41 Author: Alexey Dobriyan Date: Tue Nov 25 17:50:08 2008 -0800 netns xfrm: xfrm_user module in netns Grab netns either from netlink socket, state or policy. SA and SPD flush are in init_net for now, this requires little attention, see below. Signed-off-by: Alexey Dobriyan Signed-off-by: David S. Miller commit a6483b790f8efcd8db190c1c0ff93f9d9efe919a Author: Alexey Dobriyan Date: Tue Nov 25 17:38:20 2008 -0800 netns xfrm: per-netns NETLINK_XFRM socket Stub senders to init_net's one temporarily. Signed-off-by: Alexey Dobriyan Signed-off-by: David S. Miller commit bd235e3cfff617ff91677da553714051866ba55f Author: Alexey Dobriyan Date: Tue Nov 25 17:37:56 2008 -0800 netns xfrm: xfrm_input() fixup Signed-off-by: Alexey Dobriyan Signed-off-by: David S. Miller commit ddcfd79680c1dc74eb5f24aa70785c11bf7eec8f Author: Alexey Dobriyan Date: Tue Nov 25 17:37:23 2008 -0800 netns xfrm: dst garbage-collecting in netns Pass netns pointer to struct xfrm_policy_afinfo::garbage_collect() [This needs more thoughts on what to do with dst_ops] [Currently stub to init_net] Signed-off-by: Alexey Dobriyan Signed-off-by: David S. Miller commit 3dd0b4997a1d4f3a3666e400cc75b0279ce96849 Author: Alexey Dobriyan Date: Tue Nov 25 17:36:51 2008 -0800 netns xfrm: flushing/pruning bundles in netns Allow netdevice notifier as result. Signed-off-by: Alexey Dobriyan Signed-off-by: David S. Miller commit 99a66657b2f62ae8b2b1e6ffc6abed051e4561ca Author: Alexey Dobriyan Date: Tue Nov 25 17:36:13 2008 -0800 netns xfrm: xfrm_route_forward() in netns Signed-off-by: Alexey Dobriyan Signed-off-by: David S. Miller commit f6e1e25d703c0a9ba1863384a16851dec52f8e3a Author: Alexey Dobriyan Date: Tue Nov 25 17:35:44 2008 -0800 netns xfrm: xfrm_policy_check in netns Signed-off-by: Alexey Dobriyan Signed-off-by: David S. Miller commit 52479b623d3d41df84c499325b6a8c7915413032 Author: Alexey Dobriyan Date: Tue Nov 25 17:35:18 2008 -0800 netns xfrm: lookup in netns Pass netns to xfrm_lookup()/__xfrm_lookup(). For that pass netns to flow_cache_lookup() and resolver callback. Take it from socket or netdevice. Stub DECnet to init_net. Signed-off-by: Alexey Dobriyan Signed-off-by: David S. Miller commit cdcbca7c1f1946758cfacb69bc1c7eeaccb11e2d Author: Alexey Dobriyan Date: Tue Nov 25 17:34:49 2008 -0800 netns xfrm: policy walking in netns Signed-off-by: Alexey Dobriyan Signed-off-by: David S. Miller commit 8d1211a6aaea43ea36151c17b0193eb763ff2d7e Author: Alexey Dobriyan Date: Tue Nov 25 17:34:20 2008 -0800 netns xfrm: finding policy in netns Add netns parameter to xfrm_policy_bysel_ctx(), xfrm_policy_byidx(). Signed-off-by: Alexey Dobriyan Signed-off-by: David S. Miller commit 33ffbbd52c327225a3e28485c39dc5746d81be03 Author: Alexey Dobriyan Date: Tue Nov 25 17:33:32 2008 -0800 netns xfrm: policy flushing in netns Signed-off-by: Alexey Dobriyan Signed-off-by: David S. Miller commit 1121994c803f4a4f471d617443ff2a09515725e7 Author: Alexey Dobriyan Date: Tue Nov 25 17:33:06 2008 -0800 netns xfrm: policy insertion in netns Signed-off-by: Alexey Dobriyan Signed-off-by: David S. Miller commit e92303f872600978796ff323bc229d911f905849 Author: Alexey Dobriyan Date: Tue Nov 25 17:32:41 2008 -0800 netns xfrm: propagate netns into policy byidx hash Signed-off-by: Alexey Dobriyan Signed-off-by: David S. Miller commit 284fa7da300adcb700b44df2f64a536b434d4650 Author: Alexey Dobriyan Date: Tue Nov 25 17:32:14 2008 -0800 netns xfrm: state walking in netns Signed-off-by: Alexey Dobriyan Signed-off-by: David S. Miller commit 5447c5e401c49aba0c36bb1066f2d25b152553b7 Author: Alexey Dobriyan Date: Tue Nov 25 17:31:51 2008 -0800 netns xfrm: finding states in netns Signed-off-by: Alexey Dobriyan Signed-off-by: David S. Miller commit 12604d8aaa38ac4e24299c9803fefdb301a16421 Author: Alexey Dobriyan Date: Tue Nov 25 17:31:18 2008 -0800 netns xfrm: fixup xfrm_alloc_spi() Signed-off-by: Alexey Dobriyan Signed-off-by: David S. Miller commit 221df1ed33c9284fc7a6f6e47ca7f8d5f3665d43 Author: Alexey Dobriyan Date: Tue Nov 25 17:30:50 2008 -0800 netns xfrm: state lookup in netns Signed-off-by: Alexey Dobriyan Signed-off-by: David S. Miller commit 0e6024519b4da2d9413b97be1de8122d5709ccc1 Author: Alexey Dobriyan Date: Tue Nov 25 17:30:18 2008 -0800 netns xfrm: state flush in netns Signed-off-by: Alexey Dobriyan Signed-off-by: David S. Miller commit 98806f75ba2afc716e4d2f915d3ac7687546f9c0 Author: Alexey Dobriyan Date: Tue Nov 25 17:29:47 2008 -0800 netns xfrm: trivial netns propagations Take netns from xfrm_state or xfrm_policy. Signed-off-by: Alexey Dobriyan Signed-off-by: David S. Miller commit 64d0cd009718ce64cf0f388142ead7ea41f1f3c8 Author: Alexey Dobriyan Date: Tue Nov 25 17:29:21 2008 -0800 netns xfrm: propagate netns into bydst/bysrc/byspi hash functions Signed-off-by: Alexey Dobriyan Signed-off-by: David S. Miller commit 66caf628c3b634c57b14a1a104dcd57e4fab2e3b Author: Alexey Dobriyan Date: Tue Nov 25 17:28:57 2008 -0800 netns xfrm: per-netns policy hash resizing work Signed-off-by: Alexey Dobriyan Signed-off-by: David S. Miller commit dc2caba7b321289e7d02e63d7216961ccecfa103 Author: Alexey Dobriyan Date: Tue Nov 25 17:24:15 2008 -0800 netns xfrm: per-netns policy counts Signed-off-by: Alexey Dobriyan Signed-off-by: David S. Miller commit a35f6c5de32664d82c072a7e2c7d5c5234de4158 Author: Alexey Dobriyan Date: Tue Nov 25 17:23:48 2008 -0800 netns xfrm: per-netns xfrm_policy_bydst hash Signed-off-by: Alexey Dobriyan Signed-off-by: David S. Miller commit 8b18f8eaf9207d53ba3e69f2b98d7290f4dec227 Author: Alexey Dobriyan Date: Tue Nov 25 17:23:26 2008 -0800 netns xfrm: per-netns inexact policies Signed-off-by: Alexey Dobriyan Signed-off-by: David S. Miller commit 8100bea7d619e8496ad8e545d1b41f536e076cd5 Author: Alexey Dobriyan Date: Tue Nov 25 17:22:58 2008 -0800 netns xfrm: per-netns xfrm_policy_byidx hashmask Per-netns hashes are independently resizeable. Signed-off-by: Alexey Dobriyan Signed-off-by: David S. Miller commit 93b851c1c93c7d5cd8d94cd3f3a268b2d5460e9e Author: Alexey Dobriyan Date: Tue Nov 25 17:22:35 2008 -0800 netns xfrm: per-netns xfrm_policy_byidx hash Signed-off-by: Alexey Dobriyan Signed-off-by: David S. Miller commit adfcf0b27e87d16a6a8c364daa724653d4d8930b Author: Alexey Dobriyan Date: Tue Nov 25 17:22:11 2008 -0800 netns xfrm: per-netns policy list Signed-off-by: Alexey Dobriyan Signed-off-by: David S. Miller commit 0331b1f383e1fa4049f8e75cafeea8f006171c64 Author: Alexey Dobriyan Date: Tue Nov 25 17:21:45 2008 -0800 netns xfrm: add struct xfrm_policy::xp_net Again, to avoid complications with passing netns when not necessary. Again, ->xp_net is set-once field, once set it never changes. Signed-off-by: Alexey Dobriyan Signed-off-by: David S. Miller commit 50a30657fd7ee77a94a6bf0ad86eba7c37c3032e Author: Alexey Dobriyan Date: Tue Nov 25 17:21:01 2008 -0800 netns xfrm: per-netns km_waitq Disallow spurious wakeups in __xfrm_lookup(). Signed-off-by: Alexey Dobriyan Signed-off-by: David S. Miller commit c78371441c0d957f54c9f8a35b3ee5a378d14808 Author: Alexey Dobriyan Date: Tue Nov 25 17:20:36 2008 -0800 netns xfrm: per-netns state GC work State GC is per-netns, and this is part of it. Signed-off-by: Alexey Dobriyan Signed-off-by: David S. Miller commit b8a0ae20b0eecd4b86a113d2abe2fa5a582b30a6 Author: Alexey Dobriyan Date: Tue Nov 25 17:20:11 2008 -0800 netns xfrm: per-netns state GC list km_waitq is going to be made per-netns to disallow spurious wakeups in __xfrm_lookup(). To not wakeup after every garbage-collected xfrm_state (which potentially can be from different netns) make state GC list per-netns. Signed-off-by: Alexey Dobriyan Signed-off-by: David S. Miller commit 630827338585022b851ec0a6335df8e436c900e4 Author: Alexey Dobriyan Date: Tue Nov 25 17:19:07 2008 -0800 netns xfrm: per-netns xfrm_hash_work All of this is implicit passing which netns's hashes should be resized. Signed-off-by: Alexey Dobriyan Signed-off-by: David S. Miller commit 0bf7c5b019518d3fe9cb96b9c97bf44d251472c3 Author: Alexey Dobriyan Date: Tue Nov 25 17:18:39 2008 -0800 netns xfrm: per-netns xfrm_state counts Signed-off-by: Alexey Dobriyan Signed-off-by: David S. Miller commit 529983ecabeae3d8e61c9e27079154b1b8544dcd Author: Alexey Dobriyan Date: Tue Nov 25 17:18:12 2008 -0800 netns xfrm: per-netns xfrm_state_hmask Since hashtables are per-netns, they can be independently resized. Signed-off-by: Alexey Dobriyan Signed-off-by: David S. Miller commit b754a4fd8f58d245c9b5e92914cce09c4309cb67 Author: Alexey Dobriyan Date: Tue Nov 25 17:17:47 2008 -0800 netns xfrm: per-netns xfrm_state_byspi hash Signed-off-by: Alexey Dobriyan Signed-off-by: David S. Miller commit d320bbb306f2085892bc958781e8fcaf5d491589 Author: Alexey Dobriyan Date: Tue Nov 25 17:17:24 2008 -0800 netns xfrm: per-netns xfrm_state_bysrc hash Signed-off-by: Alexey Dobriyan Signed-off-by: David S. Miller commit 73d189dce486cd6693fa29169b1aac0872efbcea Author: Alexey Dobriyan Date: Tue Nov 25 17:16:58 2008 -0800 netns xfrm: per-netns xfrm_state_bydst hash Signed-off-by: Alexey Dobriyan Signed-off-by: David S. Miller commit 9d4139c76905833afcb77fe8ccc17f302a0eb9ab Author: Alexey Dobriyan Date: Tue Nov 25 17:16:11 2008 -0800 netns xfrm: per-netns xfrm_state_all list This is done to get a) simple "something leaked" check b) cover possible DoSes when other netns puts many, many xfrm_states onto a list. c) not miss "alien xfrm_state" check in some of list iterators in future. Signed-off-by: Alexey Dobriyan Signed-off-by: David S. Miller commit 673c09be457bb23aa0eaaa79804cbb342210d195 Author: Alexey Dobriyan Date: Tue Nov 25 17:15:16 2008 -0800 netns xfrm: add struct xfrm_state::xs_net To avoid unnecessary complications with passing netns around. * set once, very early after allocating * once set, never changes For a while create every xfrm_state in init_net. Signed-off-by: Alexey Dobriyan Signed-off-by: David S. Miller commit d62ddc21b674b5ac1466091ff3fbf7baa53bc92c Author: Alexey Dobriyan Date: Tue Nov 25 17:14:31 2008 -0800 netns xfrm: add netns boilerplate Signed-off-by: Alexey Dobriyan Signed-off-by: David S. Miller commit c95839693d2a6612af7f75ad877012eba2f69757 Author: Alexey Dobriyan Date: Tue Nov 25 17:13:59 2008 -0800 xfrm: initialise xfrm_policy_gc_work statically Signed-off-by: Alexey Dobriyan Signed-off-by: David S. Miller commit 46a8494a9de6b88a126993e6012322752f997b88 Author: Ingo Molnar Date: Tue Nov 25 17:02:20 2008 -0800 3c523: fix warning in drivers/net/3c523.c fix warning: drivers/net/3c523.c:582: warning: ‘cleanup_card’ defined but not used No code changed: md5: ebe4a1b27d3f21b0b12a78c58463b0d7 3c523.o.before.asm ebe4a1b27d3f21b0b12a78c58463b0d7 3c523.o.after.asm Signed-off-by: Ingo Molnar Signed-off-by: David S. Miller commit 99da1a8a6dc549630733e1cc246265d282fc214e Author: Ingo Molnar Date: Tue Nov 25 17:00:39 2008 -0800 depca: fix warning in drivers/net/depca.c fix warning: drivers/net/depca.c: In function ‘depca_eisa_probe’: drivers/net/depca.c:1564: warning: ‘mem_start’ may be used uninitialized in this function this seems to be a real bug - depca_eisa_probe() does not check for failure. Add it, symmetric to depca_isa_probe(). Signed-off-by: Ingo Molnar Signed-off-by: David S. Miller commit a098397d562e2ce5aca7b9b007a4954d88ef8f5e Author: Ingo Molnar Date: Tue Nov 25 17:00:05 2008 -0800 atlx: fix warning in drivers/net/atlx/atl2.c fix this warning: drivers/net/atlx/atl2.c: In function ‘atl2_request_irq’: drivers/net/atlx/atl2.c:644: warning: unused variable ‘err’ 'err' is unused in the !CONFIG_PCI_MSI case. Instead of further increasing the #ifdeffery in this function, restructure the code a bit and get rid of the #ifdef. This relies on the fact that pci_enable_msi() will always fail in the !CONFIG_PCI_MSI case. There should be no change in driver behavior. Signed-off-by: Ingo Molnar Signed-off-by: David S. Miller commit 287b6e68ca7209caec40b2f44f837c580a413bae Author: Frederic Weisbecker Date: Wed Nov 26 00:57:25 2008 +0100 tracing/function-return-tracer: set a more human readable output Impact: feature This patch sets a C-like output for the function graph tracing. For this aim, we now call two handler for each function: one on the entry and one other on return. This way we can draw a well-ordered call stack. The pid of the previous trace is loosely stored to be compared against the one of the current trace to see if there were a context switch. Without this little feature, the call tree would seem broken at some locations. We could use the sched_tracer to capture these sched_events but this way of processing is much more simpler. 2 spaces have been chosen for indentation to fit the screen while deep calls. The time of execution in nanosecs is printed just after closed braces, it seems more easy this way to find the corresponding function. If the time was printed as a first column, it would be not so easy to find the corresponding function if it is called on a deep depth. I plan to output the return value but on 32 bits CPU, the return value can be 32 or 64, and its difficult to guess on which case we are. I don't know what would be the better solution on X86-32: only print eax (low-part) or even edx (high-part). Actually it's thee same problem when a function return a 8 bits value, the high part of eax could contain junk values... Here is an example of trace: sys_read() { fget_light() { } 526 vfs_read() { rw_verify_area() { security_file_permission() { cap_file_permission() { } 519 } 1564 } 2640 do_sync_read() { pipe_read() { __might_sleep() { } 511 pipe_wait() { prepare_to_wait() { } 760 deactivate_task() { dequeue_task() { dequeue_task_fair() { dequeue_entity() { update_curr() { update_min_vruntime() { } 504 } 1587 clear_buddies() { } 512 add_cfs_task_weight() { } 519 update_min_vruntime() { } 511 } 5602 dequeue_entity() { update_curr() { update_min_vruntime() { } 496 } 1631 clear_buddies() { } 496 update_min_vruntime() { } 527 } 4580 hrtick_update() { hrtick_start_fair() { } 488 } 1489 } 13700 } 14949 } 16016 msecs_to_jiffies() { } 496 put_prev_task_fair() { } 504 pick_next_task_fair() { } 489 pick_next_task_rt() { } 496 pick_next_task_fair() { } 489 pick_next_task_idle() { } 489 ------------8<---------- thread 4 ------------8<---------- finish_task_switch() { } 1203 do_softirq() { __do_softirq() { __local_bh_disable() { } 669 rcu_process_callbacks() { __rcu_process_callbacks() { cpu_quiet() { rcu_start_batch() { } 503 } 1647 } 3128 __rcu_process_callbacks() { } 542 } 5362 _local_bh_enable() { } 587 } 8880 } 9986 kthread_should_stop() { } 669 deactivate_task() { dequeue_task() { dequeue_task_fair() { dequeue_entity() { update_curr() { calc_delta_mine() { } 511 update_min_vruntime() { } 511 } 2813 Signed-off-by: Frederic Weisbecker Acked-by: Steven Rostedt Signed-off-by: Ingo Molnar commit fb52607afcd0629776f1dc9e657647ceae81dd50 Author: Frederic Weisbecker Date: Tue Nov 25 21:07:04 2008 +0100 tracing/function-return-tracer: change the name into function-graph-tracer Impact: cleanup This patch changes the name of the "return function tracer" into function-graph-tracer which is a more suitable name for a tracing which makes one able to retrieve the ordered call stack during the code flow. Signed-off-by: Frederic Weisbecker Acked-by: Steven Rostedt Signed-off-by: Ingo Molnar commit 45555c0ed436b8b06eeaa5c524a3377e6d24fb45 Author: Ingo Molnar Date: Tue Nov 25 16:59:21 2008 -0800 bluetooth: fix warning in net/bluetooth/rfcomm/sock.c fix this warning: net/bluetooth/rfcomm/sock.c: In function ‘rfcomm_sock_ioctl’: net/bluetooth/rfcomm/sock.c:795: warning: unused variable ‘sk’ perhaps BT_DEBUG() should be improved to do printf format checking instead of the #ifdef, but that looks quite intrusive: each bluetooth .c file undefines the macro. Signed-off-by: Ingo Molnar Signed-off-by: David S. Miller commit ff0db0490a2eb6db4f03870987c5c8e3dd81e747 Author: Ingo Molnar Date: Tue Nov 25 16:58:42 2008 -0800 sunrpc: fix warning in net/sunrpc/xprtrdma/verbs.c fix this warning: net/sunrpc/xprtrdma/verbs.c: In function ‘rpcrdma_conn_upcall’: net/sunrpc/xprtrdma/verbs.c:279: warning: unused variable ‘addr’ Signed-off-by: Ingo Molnar Signed-off-by: David S. Miller commit e14bec2e2b59a6180f04544a867b7e52cd414455 Author: Ingo Molnar Date: Tue Nov 25 16:58:19 2008 -0800 ax25: fix warning in net/ax25/sysctl_net_ax25.c fix this warning: net/ax25/sysctl_net_ax25.c:27: warning: ‘min_ds_timeout’ defined but not used net/ax25/sysctl_net_ax25.c:27: warning: ‘max_ds_timeout’ defined but not used These are only used in the CONFIG_AX25_DAMA_SLAVE case. Signed-off-by: Ingo Molnar Signed-off-by: David S. Miller commit 509dceef6470442d8c7b8a43ec34125205840b3c Merge: 1e9b51c 14bfc98 Author: Ingo Molnar Date: Wed Nov 26 01:58:05 2008 +0100 Merge branches 'tracing/hw-branch-tracing' and 'tracing/branch-tracer' into tracing/core commit e6a176228a38d74c0360ca586146bd45a2ac2d60 Author: Ingo Molnar Date: Tue Nov 25 16:57:59 2008 -0800 mlx4: fix warning in drivers/net/mlx4/mcg.c fix warning: drivers/net/mlx4/mcg.c: In function ‘mlx4_multicast_attach’: drivers/net/mlx4/mcg.c:217: warning: integer overflow in expression there was no real danger of overflow here though. md5: db8eb55620f886c03854a2abb2ce6c3f mcg.o.before.asm db8eb55620f886c03854a2abb2ce6c3f mcg.o.after.asm Signed-off-by: Ingo Molnar Signed-off-by: David S. Miller commit 3ed7cc0f8b29da4304825a7bcef25fc83f84c1ae Author: Ingo Molnar Date: Tue Nov 25 16:57:30 2008 -0800 dccp: fix warning in net/dccp/options.c this warning: net/dccp/options.c: In function ‘dccp_parse_options’: net/dccp/options.c:67: warning: ‘value’ may be used uninitialized in this function is a bogus GCC warning. The compiler does not recognize the relation between "value" and "mandatory" variables: the code flow can ever reach the "out_invalid_option:" label if 'mandatory' is set to 1, and when 'mandatory' is non-zero, we'll always have 'value' initialized. Help out the compiler by annotating the variable. Signed-off-by: Ingo Molnar Signed-off-by: David S. Miller commit b71e839f9a33abf8634b1eea4875bc8057fe39e2 Author: Ingo Molnar Date: Tue Nov 25 16:57:05 2008 -0800 cassini: fix warning in drivers/net/cassini.c this warning: drivers/net/cassini.c: In function ‘cas_rx_ringN’: drivers/net/cassini.c:2350: warning: ‘skb’ may be used uninitialized in this function triggers because GCC does not recognize the (correct) error flow between cas_rx_process_pkt() and 'skb'. Annotate it. Signed-off-by: Ingo Molnar Signed-off-by: David S. Miller commit b58515be978f9377b9546ae98ad6c8bbc2f93ee1 Author: Ingo Molnar Date: Tue Nov 25 16:53:32 2008 -0800 mlx4: fix error path in drivers/net/mlx4/en_rx.c this warning: drivers/net/mlx4/en_rx.c: In function ‘mlx4_en_activate_rx_rings’: drivers/net/mlx4/en_rx.c:412: warning: ‘err’ may be used uninitialized in this function Triggers because 'err' is uninitialized in the following input conditions: priv->rx_ring_num is zero and mlx4_en_fill_rx_buffers() fails. But even if ->rx_ring_num is nonzero, 'err' will be zero if mlx4_en_fill_rx_buffers() fails and mlx4_en_activate_rx_rings() returns success - incorrectly. So it's best to keep the error code uptodate on mlx4_en_fill_rx_buffers() calls as well. Signed-off-by: Ingo Molnar Signed-off-by: David S. Miller commit 4174439ef5894964803c6300e7e88d97e075e4c0 Author: Ingo Molnar Date: Tue Nov 25 16:53:08 2008 -0800 z85230: fix warning in drivers/net/wan/z85230.c this warning: drivers/net/wan/z85230.c: In function ‘z8530_interrupt’: drivers/net/wan/z85230.c:713: warning: ‘intr’ may be used uninitialized in this function is clearly bogus - annotate it. Signed-off-by: Ingo Molnar Signed-off-by: David S. Miller commit ef0cd87ef6326609be8abf19030101be24cc5703 Author: Ingo Molnar Date: Tue Nov 25 16:52:13 2008 -0800 sis900: fix warning in drivers/net/sis900.c this warning: drivers/net/sis900.c: In function ‘sis900_timer’: drivers/net/sis900.c:1280: warning: ‘speed’ may be used uninitialized in this function triggers because GCC does not recognize the (correct) error flow between sis900_read_mode(), 'speed' and 'duplex'. Annotate it. Signed-off-by: Ingo Molnar Signed-off-by: David S. Miller commit 180b65df7ba1e700e28aabfbddbad84b7beebe4b Author: Ingo Molnar Date: Tue Nov 25 16:51:45 2008 -0800 fix warning in fs/dlm/netlink.c this warning: fs/dlm/netlink.c: In function ‘dlm_timeout_warn’: fs/dlm/netlink.c:131: warning: ‘send_skb’ may be used uninitialized in this function triggers because GCC does not recognize the (correct) error flow between prepare_data() and send_skb. Annotate it. Signed-off-by: Ingo Molnar Signed-off-by: David S. Miller commit d3f644da909549a4cf0ad27541df342f75158cc0 Author: Ingo Molnar Date: Tue Nov 25 16:51:13 2008 -0800 dsa: fix warning in net/dsa/mv88e6060.c this warning: net/dsa/mv88e6060.c: In function ‘mv88e6060_poll_link’: net/dsa/mv88e6060.c:225: warning: ‘port_status’ may be used uninitialized in this function triggers because GCC does not recognize the (correct) error flow between 'link' and 'port_status'. Annotate it. Signed-off-by: Ingo Molnar Signed-off-by: David S. Miller commit 2a9e79782d99160cad7d834eef9bb77b446e8532 Author: Ingo Molnar Date: Tue Nov 25 16:50:49 2008 -0800 dsa: fix warning in net/dsa/mv88e6xxx.c this warning: net/dsa/mv88e6xxx.c: In function ‘mv88e6xxx_poll_link’: net/dsa/mv88e6xxx.c:361: warning: ‘port_status’ may be used uninitialized in this function triggers because GCC does not recognize the (correct) error flow between 'link' and 'port_status'. Annotate it. Signed-off-by: Ingo Molnar Signed-off-by: David S. Miller commit 55205d400efe3260e29ad26dd64c992cec2efafd Author: Ingo Molnar Date: Tue Nov 25 16:50:30 2008 -0800 ipv6: fix warning in net/ipv6/ip6_flowlabel.c this warning: net/ipv6/ip6_flowlabel.c: In function ‘ipv6_flowlabel_opt’: net/ipv6/ip6_flowlabel.c:467: warning: ‘err’ may be used uninitialized in this function triggers because GCC does not recognize the (correct) error flow between fl_create() and 'err'. Annotate it. Signed-off-by: Ingo Molnar Signed-off-by: David S. Miller commit dc0a0011cfa8ff01b86859006f4db3656c9a896b Author: Ingo Molnar Date: Tue Nov 25 16:50:02 2008 -0800 pkt_sched: fix warning in net/sched/sch_hfsc.c this warning: net/sched/sch_hfsc.c: In function ‘hfsc_enqueue’: net/sched/sch_hfsc.c:1577: warning: ‘err’ may be used uninitialized in this function triggers because GCC does not recognize the (correct) error flow between hfsc_classify(), 'cl' and 'err'. Annotate it. Signed-off-by: Ingo Molnar Signed-off-by: David S. Miller commit ed72b9c6e0ec4e66dd16b7ca212845e1eb985d65 Author: Ingo Molnar Date: Tue Nov 25 16:49:37 2008 -0800 sunrpc: fix warning in net/sunrpc/xprtrdma/svc_rdma_transport.c this warning: net/sunrpc/xprtrdma/svc_rdma_transport.c: In function ‘svc_rdma_accept’: net/sunrpc/xprtrdma/svc_rdma_transport.c:830: warning: ‘dma_mr_acc’ may be used uninitialized in this function triggers because GCC does not recognize the (correct) flow connection between need_dma_mr and dma_mr_acc. Annotate it. Signed-off-by: Ingo Molnar Signed-off-by: David S. Miller commit be5a3c62c805878d67036b4683f09118cab4c9fd Author: Ingo Molnar Date: Tue Nov 25 16:49:07 2008 -0800 qla3xxx: fix warning in drivers/net/qla3xxx.c this warning: drivers/net/qla3xxx.c: In function ‘ql3xxx_probe’: drivers/net/qla3xxx.c:3912: warning: ‘pci_using_dac’ may be used uninitialized in this function triggers because GCC does not recognize the (correct) error flow between 'pci_using_dac' and 'err'. Annotate it. Signed-off-by: Ingo Molnar Signed-off-by: David S. Miller commit f166400bd4c92df72d997e0da8713fae90d56e57 Author: Ingo Molnar Date: Tue Nov 25 16:48:42 2008 -0800 niu: fix another warning in drivers/net/niu.c this warning: drivers/net/niu.c: In function ‘esr_reset’: drivers/net/niu.c:741: warning: ‘reset’ may be used uninitialized in this function triggers because GCC does not recognize the (correct) error flow between: - esr_read_reset() and 'reset' Annotate it. Signed-off-by: Ingo Molnar Signed-off-by: David S. Miller commit 51e0f058c496ef2ca5362c16a53ce1ce454d0817 Author: Ingo Molnar Date: Tue Nov 25 16:48:12 2008 -0800 niu: fix warnings in drivers/net/niu.c these warnings: drivers/net/niu.c: In function ‘serdes_init_niu_1g_serdes’: drivers/net/niu.c:451: warning: ‘sig’ may be used uninitialized in this function drivers/net/niu.c: In function ‘serdes_init_niu_10g_serdes’: drivers/net/niu.c:550: warning: ‘sig’ may be used uninitialized in this function triggers because GCC does not recognize that the max_retry loop always initializes 'sig', due to max_retry != 0. Annotate them. Signed-off-by: Ingo Molnar Signed-off-by: David S. Miller commit 2e6a684b8489b21324f314be2bd8d3788a9f6445 Author: Ingo Molnar Date: Tue Nov 25 16:47:35 2008 -0800 s2io: fix warning in drivers/net/s2io.c this warning: drivers/net/s2io.c: In function ‘rx_intr_handler’: drivers/net/s2io.c:7369: warning: ‘lro’ may be used uninitialized in this function triggers because GCC does not recognize the (correct) error flow between: - s2io_club_tcp_session()and 'lro' Annotate it. Signed-off-by: Ingo Molnar Signed-off-by: David S. Miller commit 09bb52175bf4d6a46fc8502e76be29206d9a677a Author: Daniel Lezcano Date: Tue Nov 25 16:46:37 2008 -0800 netns: filter out uevent not belonging to init_net This patch will filter out the uevent not related to the init_net. Without this patch if a network device is created in a network namespace with the same name as one network device belonging to the initial network namespace (eg. eth0), when the network namespace will die and the network device will be destroyed, an event will be sent and catched by the udevd daemon. That will result to have the real network device to be shutdown because the udevd/uevent are not namespace aware. Signed-off-by: Daniel Lezcano Acked-by: "Eric W. Biederman" Signed-off-by: David S. Miller commit cb13fc209f5c9394713319323166f74b01759ead Author: Robert Olsson Date: Tue Nov 25 16:43:52 2008 -0800 ixgbe: Naming interrupt vectors Signed-off-by: Robert Olsson Acked-by: Peter P Waskiewicz Jr Signed-off-by: David S. Miller commit 70340d728f4f4cb49da00a11b10ded492260caa5 Author: Robert Olsson Date: Tue Nov 25 16:41:57 2008 -0800 niu: Naming interrupt vectors. A patch to put names on the niu interrupt vectors according the syntax below. This is needed to assign correct affinity. > So on a multiqueue card with 2 RX queues and 2 TX queues we'd > have names like: > > eth0-rx-0 > eth0-rx-1 > eth0-tx-0 > eth0-tx-1 Signed-off-by: Robert Olsson Tested-by: Jesper Dangaard Brouer Signed-off-by: David S. Miller commit 9f782db3f5ceee9aa8de6f853969fbec1b8c6e65 Author: Ilpo Järvinen Date: Tue Nov 25 13:57:01 2008 -0800 tcp: skb_shift cannot cache frag ptrs past pskb_expand_head Since pskb_expand_head creates copy of the shared area we cannot keep any frag ptr past de-cloning. This fixes the tcpdump recvfrom -EFAULT problem. Signed-off-by: Ilpo Järvinen Signed-off-by: David S. Miller commit f6486d40b33d1ac2c44c7c55db7edf022d9f4329 Author: Jarek Poplawski Date: Tue Nov 25 13:56:06 2008 -0800 pkt_sched: sch_api: Remove qdisc_list_lock After implementing qdisc->ops->peek() there is no more calling qdisc_tree_decrease_qlen() without rtnl_lock(), so qdisc_list_lock added by commit: f6e0b239a2657ea8cb67f0d83d0bfdbfd19a481b "pkt_sched: Fix qdisc list locking" can be removed. Signed-off-by: Jarek Poplawski Signed-off-by: David S. Miller commit 723b46108f8ee75b61ce703d0c9225e4f537bc46 Author: Eric Dumazet Date: Tue Nov 25 13:55:15 2008 -0800 net: udp_unhash() can test if sk is hashed Impact: Optimization Like done in inet_unhash(), we can avoid taking a chain lock if socket is not hashed in udp_unhash() Triggered by close(socket(AF_INET, SOCK_DGRAM, 0)); Signed-off-by: Eric Dumazet Signed-off-by: David S. Miller commit 5bc0b3bfa758e4ae49c94e31c1edb9a5f10a8060 Author: Eric Dumazet Date: Tue Nov 25 13:53:27 2008 -0800 net: Make sure BHs are disabled in sock_prot_inuse_add() prot->destroy is not called with BH disabled. So we must add explicit BH disable around call to sock_prot_inuse_add() in sctp_destroy_sock() Signed-off-by: Eric Dumazet Signed-off-by: David S. Miller commit 8eecaba900e89643029fd2c253ad8ebb60761165 Author: Ilpo Järvinen Date: Tue Nov 25 13:45:29 2008 -0800 tcp: tcp_limit_reno_sacked can become static Signed-off-by: Ilpo Järvinen Signed-off-by: David S. Miller commit 4ada424db196c78746fec255d493cacb1c9feddf Author: Luis R. Rodriguez Date: Fri Nov 14 14:44:22 2008 -0800 mac80211: don't assume driver has been attached on registration mac80211's ieee80211_register_hw() is often called within the probe path so it cannot assume the device's driver structure has been attached yet so to create a workqueue instead of using driver->name use the wiphy's phy%d name. The name doesn't really matter anyway. This should fix sporadic oopses found when we race to beat the driver pointer setting. Not even sure how this was working properly. http://www.kerneloops.org/search.php?search=ieee80211_register_hw Signed-off-by: Luis R. Rodriguez Acked-by: Johannes Berg Signed-off-by: John W. Linville commit 4d3601b234a51fdd268c8ef8068d239e26dd7ef1 Author: Vasanthakumar Thiagarajan Date: Sat Nov 15 00:49:49 2008 +0530 ath9k: Configure AR_PHY_SWITCH_COM with apropriate antenna control This fixes the poor wireless connection which happens even if we are very well in the range. Signed-off-by: Don.breslin@atheros.com Signed-off-by: Vasanthakumar Thiagarajan Signed-off-by: John W. Linville commit ced0957442af69c5c41b00db85a933ed7876cc40 Author: Christian Lamparter Date: Fri Nov 14 19:42:39 2008 +0100 p54: honour bss_info_changed's basic_rates and other settings As was pointed out in "p54: honour bss_info_changed's short slot time settings", bss_info_changed provides more useful settings that can be used by the driver. Signed-off-by: Christian Lamparter Signed-off-by: John W. Linville commit 40db0b22591f59811feeb7cad26fdde92a190663 Author: Christian Lamparter Date: Sun Nov 16 12:20:32 2008 +0100 p54pci: cache firmware for suspend/resume Johannes pointed out that the driver has cache the firmware for suspend/resume cycles. Signed-off-by: Christian Lamparter Signed-off-by: John W. Linville commit ffed785898a6dfd5f80d069bcb607b8cd5613c76 Author: Christian Lamparter Date: Fri Nov 14 19:41:22 2008 +0100 p54: minor fixes This patch contains only contains a one-liner fixes and enhancements Signed-off-by: Christian Lamparter Signed-off-by: John W. Linville commit d131bb59c142585c389b5284d93743e4e065e393 Author: Christian Lamparter Date: Sat Nov 15 17:02:31 2008 +0100 p54: enable Mesh Point support This patch enables Mesh Point operation for any p54 device. Signed-off-by: Christian Lamparter Signed-off-by: John W. Linville commit f16f33df4d27f18bc6512dbe83ebbeaa693f0359 Author: Sujith Date: Fri Nov 14 16:27:53 2008 +0530 mac80211: Use the HT capabilities from the IE instead of the station's caps. Signed-off-by: Sujith Acked-by: Johannes Berg Signed-off-by: John W. Linville commit 97b777db57f7226e31a4abd5e69d732037743195 Author: Luis R. Rodriguez Date: Thu Nov 13 19:11:57 2008 -0800 ath9k: make DMA memory consistent Make the DMAable mameory consistent with pci_set_consistent_dma_mask(). The DMA-mapping.txt Documentation recommends this but for PCI-X considerations and on strange architecture like SGI SN2, not sure why it would fix an issue but lets see if it does, just in case. Before this, this driver was tested with x86_64 with about 7 GB of RAM, not sure if this is really needed. Signed-off-by: Luis R. Rodriguez Signed-off-by: John W. Linville commit 1d450cfc97bc223e9f94a2fab888bb168e284448 Author: Luis R. Rodriguez Date: Thu Nov 13 19:11:56 2008 -0800 ath9k: Clarify we only want 32-bit DMA Use DMA_32BIT_MASK to clarify we only want 32-bit DMA memory. What was there before is also 32-bit but this makes it clearer Signed-off-by: Luis R. Rodriguez Signed-off-by: John W. Linville commit f1ca2167d89d991eed519c789d3902f9682c06b8 Author: Ivo van Doorn Date: Thu Nov 13 23:07:33 2008 +0100 rt2x00: Detect USB BULK in/out endpoints Instead of hardcoding the used in/out endpoints we should detect them by walking through all available endpoints. rt2800usb will gain the most out of this, because the legacy drivers indicate that there are multiple endpoints available. However this code might benefit at least rt73usb as well for the MIMO queues, and if we are really lucky rt2500usb will benefit because for the TX and PRIO queues. Even if rt2500usb and rt73usb do not get better performance after this patch, the endpoint detection still belongs to rt2x00usb, and it shouldn't hurt to always try to detect the available endpoints. Signed-off-by: Ivo van Doorn Signed-off-by: John W. Linville commit c8f96974eebbc8f078ad64f2d8041e6dce741d67 Author: Larry Finger Date: Thu Nov 13 12:30:41 2008 -0600 rtl8187: Remove module warning and dependence on CONFIG_EXPERIMENTAL After considerable testing, the initial fears that the driver might damage some flavors of RTL8187B hardware seem to be groundless. Accordingly, the logged warning is removed. In addition, Kconfig is changed to remove the dependence on EXPERIMENTAL. Signed-off-by: Larry Finger Acked-by: Herton Ronaldo Krzesinski Acked-by: Hin-Tak Leung Signed-off-by: John W. Linville commit 3517afdefc3ad335b276eb5f8691841f48097abf Author: Herton Ronaldo Krzesinski Date: Thu Nov 13 10:39:16 2008 -0500 rtl8187: feedback transmitted packets using tx close descriptor for 8187B Realtek 8187B has a receive command queue to feedback beacon interrupt and transmitted packet status. Use it to feedback mac80211 about status of transmitted packets. Unfortunately in the course of testing I found that the sequence number reported by hardware includes entire sequence control in a 12 bit only field, so a workaround is done to check only lowest bits. Tested-by: Larry Finger Tested-by: Hin-Tak Leung Signed-off-by: Herton Ronaldo Krzesinski Signed-off-by: John W. Linville commit b4572a9264312fecdb530a3416b8c8336a3bb9a9 Author: Herton Ronaldo Krzesinski Date: Thu Nov 13 10:39:15 2008 -0500 rtl8187: implement conf_tx callback to configure tx queues Add conf_tx callback and use it to configure tx queues of 8187L/8187B. Tested-by: Larry Finger Tested-by: Hin-Tak Leung Signed-off-by: Herton Ronaldo Krzesinski Signed-off-by: John W. Linville commit 54ac218ae676931813169e0ca074aca2e4adee38 Author: Herton Ronaldo Krzesinski Date: Thu Nov 13 10:39:14 2008 -0500 rtl8187: fix 8187B throughput regression Hin-Tak Leung reported that after the change "rtl8187: add short slot handling for 8187B" his RTL8187B started to give low throughput on network transfers. Turns out that the SIFS setting used isn't ok, it doesn't look to be the real aSIFSTime, using the "magical" 0x22 value like on other 818x variants as the vendor does too fixes the issue. Tested-by: Larry Finger Tested-by: Hin-Tak Leung Signed-off-by: Herton Ronaldo Krzesinski Signed-off-by: John W. Linville commit db93e7b5bf9dea9175d5b213f9557758c56abbfc Author: Senthil Balasubramanian Date: Thu Nov 13 18:01:08 2008 +0530 ath9k: Race condition in accessing TX and RX buffers. Race condition causes RX buffers to be accessed even before it is initialized. The RX and TX buffers are initialized immediately after the hardware is registered with mac80211. The mac80211 start callback is ready to be fired once the device is registered for a case when the wpa_supplicant is also running at the same time. The same race condition is also possible for RKFILL registration as RFKILL init happens after the device registration with mac80211 and it is possible that rfkill_register would be called even before it is initialized. Signed-off-by: Senthil Balasubramanian Signed-off-by: John W. Linville commit 306efdd109f086b19d849f1ec0f9104c9fdb3444 Author: Senthil Balasubramanian Date: Thu Nov 13 18:00:37 2008 +0530 ath9k: IRQ should be disabled before calling free_irq() ath9k frees irq even before IRQs are disabled and existing IRQs are flushed when rfkill_register() fails. Signed-off-by: Senthil Balasubramanian Signed-off-by: John W. Linville commit e97275cb062cf927cdb086f0107657dd92160801 Author: Senthil Balasubramanian Date: Thu Nov 13 18:00:02 2008 +0530 ath9k: Build RFKILL feature even when RFKILL subsystem is a MODULE Currently, ath9k builds RFKILL feature only when the RFKILL subsystem is built part of the kernel. Build RFKILL feature regardless of whether RFKILL subsystem is built as a MODULE or part of the kernel. Signed-off-by: Senthil Balasubramanian Signed-off-by: John W. Linville commit f9bbf431beb7dd98b94fa965dab851432be4b762 Author: Senthil Balasubramanian Date: Thu Nov 13 17:59:36 2008 +0530 ath9k: incorrect noise floor threshold values. This patch fixes incorrect noise floor threshold values. Signed-off-by: Senthil Balasubramanian Signed-off-by: John W. Linville commit 9f8042021792f8c0e0a7f5b81f326bfab86cda83 Author: Senthil Balasubramanian Date: Thu Nov 13 17:58:41 2008 +0530 ath9k: INI update for atheros chipets. init values update for various atheros chipsets. Signed-off-by: Senthil Balasubramanian Signed-off-by: John W. Linville commit ea4a82dceec7b5782b1259079c8de508d0afe33a Author: Luis R. Rodriguez Date: Wed Nov 12 14:22:04 2008 -0800 iwlwifi: enable custom fw regulatory solution This enables the custom firmware regulatory solution option on iwlwifi drivers. These devices are uncapable of mapping their EEPROM regulatory domain to a specific ISO / IEC alpha2. Although the new 11n devices (>= iwl 5000) have only 3 regultaory SKUs -- MOW, ABG (no N) and BG -- the older devices (3945 and 4965) have a more complex SKU arrangement and therefore its not practical to move this to the driver. Signed-off-by: Luis R. Rodriguez Acked-by: Zhu Yi Signed-off-by: John W. Linville commit 14b9815af3f4fe0e171ee0c4325c31d2a2c1570b Author: Luis R. Rodriguez Date: Wed Nov 12 14:22:03 2008 -0800 cfg80211: add support for custom firmware regulatory solutions This adds API to cfg80211 to allow wireless drivers to inform us if their firmware can handle regulatory considerations *and* they cannot map these regulatory domains to an ISO / IEC 3166 alpha2. In these cases we skip the first regulatory hint instead of expecting the driver to build their own regulatory structure, providing us with an alpha2, or using the reg_notifier(). Signed-off-by: Luis R. Rodriguez Acked-by: Zhu Yi Signed-off-by: John W. Linville commit 3f2355cb9111ac04e7ae06a4d7044da2ae813863 Author: Luis R. Rodriguez Date: Wed Nov 12 14:22:02 2008 -0800 cfg80211/mac80211: Add 802.11d support This adds country IE parsing to mac80211 and enables its usage within the new regulatory infrastructure in cfg80211. We parse the country IEs only on management beacons for the BSSID you are associated to and disregard the IEs when the country and environment (indoor, outdoor, any) matches the already processed country IE. To avoid following misinformed or outdated APs we build and use a regulatory domain out of the intersection between what the AP provides us on the country IE and what CRDA is aware is allowed on the same country. A secondary device is allowed to follow only the same country IE as it make no sense for two devices on a system to be in two different countries. In the case the AP is using country IEs for an incorrect country the user may help compliance further by setting the regulatory domain before or after the IE is parsed and in that case another intersection will be performed. CONFIG_WIRELESS_OLD_REGULATORY is supported but requires CRDA present. Signed-off-by: Luis R. Rodriguez Acked-by: Johannes Berg Signed-off-by: John W. Linville commit 88dc1c3f7f9058cd5ceae1e4b53453484c7b0364 Author: Luis R. Rodriguez Date: Wed Nov 12 14:22:01 2008 -0800 cfg80211: mark regdomains with > NL80211_MAX_SUPP_REG_RULES invalid Lets remain consistent and mark rds with > NL80211_MAX_SUPP_REG_RULES number of reg rules as invalid in is_valid_rd(). Signed-off-by: Luis R. Rodriguez Acked-by: Johannes Berg Signed-off-by: John W. Linville commit 02ba0b3263f4eb41d2a5714cbe99207ae491a964 Author: Luis R. Rodriguez Date: Wed Nov 12 14:22:00 2008 -0800 cfg80211: call_crda() won't tell us if CRDA was present kobject_uevent_env() can return an error but it just tells us if the uvent was built/sent or not, it doesn't tell us anything about what happened in userspace, whether the udev rule was present nor does it tell us if CRDA was present or not. So remove the informative complaint about it assuming it will tell us such things. Note that you can determine if CRDA is present after loading cfg80211 by using: is_old_static_regdom(cfg80211_regdomain) but this doesn't account for possible user install after initial boot, and also for when the user uses the static EU regulatory domain. Signed-off-by: Luis R. Rodriguez Acked-by: Johannes Berg Signed-off-by: John W. Linville commit a01ddafd43f7d53a65ef053eb80a4dee58839c1f Author: Luis R. Rodriguez Date: Wed Nov 12 14:21:59 2008 -0800 cfg80211: expect different rd in cfg80211 when intersecting When intersecting it is possible that set_regdom() was called with a regulatory domain which we'll only use as an aid to build a final regulatory domain. Signed-off-by: Luis R. Rodriguez Acked-by: Johannes Berg Signed-off-by: John W. Linville commit b8295acdc323e6e383ec822fc1e95edeb9148513 Author: Luis R. Rodriguez Date: Wed Nov 12 14:21:58 2008 -0800 cfg80211: separate intersection section in __set_regdom() So far the __set_regdom() code is pretty generic as the intersection case is fairly straight forward; this will however change when 802.11d support is added so lets separate intersection code for now in preparation for 802.11d support. This patch only has slight functional changes. Signed-off-by: Luis R. Rodriguez Acked-by: Johannes Berg Signed-off-by: John W. Linville commit 8375af3ba213154041cfbc655f452913f23bfbd5 Author: Luis R. Rodriguez Date: Wed Nov 12 14:21:57 2008 -0800 cfg80211: remove switch from __set_regdom() We have control over the REGDOM_SET_BY_* macros passed so remove the switch. This patch has no functional changes. Signed-off-by: Luis R. Rodriguez Acked-by: Johannes Berg Signed-off-by: John W. Linville commit 5203cdb6ad430d3313444ddc6486da70af1a60db Author: Luis R. Rodriguez Date: Wed Nov 12 14:21:56 2008 -0800 cfg80211: remove switch from __regulatory_hint() We have complete control over REGDOM_SET_BY_* enum passed down to __regulatory_hint() as such there is no need to account for unexpected REGDOM_SET_BY_*'s, lets just remove the switch statement as this code does not change and won't change even when we add 802.11d support. This patch has no functional changes. Signed-off-by: Luis R. Rodriguez Acked-by: Johannes Berg Signed-off-by: John W. Linville commit 91e9900418fb01229094fb83befa3591afcae1e7 Author: Luis R. Rodriguez Date: Wed Nov 12 14:21:55 2008 -0800 cfg80211: mark negative frequencies as invalid Regulatory rules with negative frequencies are now marked as invalid in is_valid_reg_rule(). Signed-off-by: Luis R. Rodriguez Acked-by: Johannes Berg Signed-off-by: John W. Linville commit e0737a77d6cba100dea7e53bf490d67d110bc037 Author: Tomas Winkler Date: Wed Nov 12 13:14:11 2008 -0800 iwlwifi: iwl-fh.h cleanup This patch fix value of upper FH register bound plus it reorders and groups registers in more readable way Signed-off-by: Tomas Winkler Acked-by: Zhu Yi Signed-off-by: Reinette Chatre Signed-off-by: John W. Linville commit 34faf780cf342b2c83ae40a2eecf33e55f7002a5 Author: Zhu, Yi Date: Wed Nov 12 13:14:10 2008 -0800 iwlwifi: some fh document fix and cleanup This patch cleans up some flow handler related document. It also removes some blank lines. Signed-off-by: Zhu Yi Acked-by: Tomas Winkler Signed-off-by: Reinette Chatre Signed-off-by: John W. Linville commit 352bc8de19a7e5e065d422825e226e8e80cd6576 Author: Zhu, Yi Date: Wed Nov 12 13:14:09 2008 -0800 iwlwifi: configure_filter rewrite The patch rewrites the mac80211 configure_filter handler to better mapping mac80211 filter flags to iwlwifi hardware filter flags. We now can support 5 mac80211 filter flags: FIF_OTHER_BSS, FIF_ALLMULTI, FIF_PROMISC_IN_BSS, FIF_BCN_PRBRESP_PROMISC and FIF_CONTROL. This patch also avoids reconnecting if the filter flags are changed when the STA is associated. Because rx_assoc is used when full rxon is not necessary. Signed-off-by: Zhu Yi Signed-off-by: Reinette Chatre Signed-off-by: John W. Linville commit c3056065400aeb437390e1a86b85f9c32fb1c1df Author: Abhijeet Kolekar Date: Wed Nov 12 13:14:08 2008 -0800 iwlwifi : fix checkpatch.pl errors Patch fixes checkpatch.pl errors for iwlwifi. Signed-off-by: Abhijeet Kolekar Signed-off-by: Reinette Chatre Signed-off-by: John W. Linville commit dbce56a456f6d6302a77107088340828dcaf9a02 Author: Chatre, Reinette Date: Wed Nov 12 13:14:07 2008 -0800 iwlwifi: replace magic constants with define use IWL_CCK_RATES_MASK and IWL_OFDM_RATES_MASK instead of their values directly. Signed-off-by: Reinette Chatre cc: Harvey Harrison Signed-off-by: John W. Linville commit 417f114bf2efa6183477a75da272c0d452e1cda3 Author: Tomas Winkler Date: Wed Nov 12 13:14:06 2008 -0800 iwlwifi: rs: remove fc variable and other cleanups This patch 1. Removes use once use only fc variables, they are useless after refactoring ieee80211 frame control handlers 2. Other trivial cleanups Signed-off-by: Tomas Winkler Signed-off-by: Reinette Chatre Signed-off-by: John W. Linville commit 9f58671e8d4f4896acea30020308ce72bf94ec6e Author: Tomas Winkler Date: Wed Nov 12 13:14:05 2008 -0800 iwlwifi: consolidate station management code This patch moves code around and group most of the station management code into iwl-sta.c No functional changes (yet) Signed-off-by: Tomas Winkler Signed-off-by: Reinette Chatre Signed-off-by: John W. Linville commit cee53ddb46eb520079335d0868d0e81c8d311089 Author: Kolekar, Abhijeet Date: Wed Nov 12 13:14:04 2008 -0800 iwl3945 : Simplify iwl3945_pci_probe Patch aligns iwl3945_pci_probe with iwlwifi's iwl_pci_probe. Added few comments and code simplified to make readable. Signed-off-by: Abhijeet Kolekar Signed-off-by: Reinette Chatre Signed-off-by: John W. Linville commit 0e3de99846489424c2cba952e0a52c269f01009a Author: Ivo van Doorn Date: Wed Nov 12 00:01:37 2008 +0100 rt2x00: Fix TX failure path The callback function write_tx_data() can only fail when our ENTRY_OWNER_DEVICE_DATA flag on a queue entry failed to determine the entry was not available and it is in fact still owned by the hardware. This means that if that function fails the queue must be stopped in mac80211. When rt2x00queue_get_queue() returns NULL in the TX path, it means mac80211 has passed us an invalid queue, although this should be impossible, it shouldn't hurt if we send mac80211 a signal to stop the queue either. Both issues can simply be resolved by removing their manual failure handler and making them use the failure path provided in rt2x00mac_tx(). Signed-off-by: Ivo van Doorn Signed-off-by: John W. Linville commit 0f829b1d6f499447052f98098e41fd6a091eadd0 Author: Ivo van Doorn Date: Mon Nov 10 19:42:18 2008 +0100 rt2x00: Move rt73usb register access wrappers into rt2x00usb rt2500usb and rt73usb have different register word sizes, for that reason the register access wrappers were never moved into rt2x00usb. With rt2800usb on its way, we should favor the 32bit register access and move those wrappers into rt2x00usb. That saves duplicate code, since only rt2500usb will need the special 16bit wrappers. Signed-off-by: Ivo van Doorn Signed-off-by: John W. Linville commit c9c3b1a5deac4297503145840fffcd122b253db5 Author: Ivo van Doorn Date: Mon Nov 10 19:41:40 2008 +0100 rt2x00: Cleanup indirect register access All code which accessed indirect registers was similar in respect to the for-loop, the given timeout, etc. Move it into a seperate function, which for PCI drivers can be moved into rt2x00pci. This allows us to cleanup the cleanup the code further by removing the goto statementsand making the codepath look a bit nicer. Signed-off-by: Ivo van Doorn Signed-off-by: John W. Linville commit 9764f3f9c3700620f9f8a1f9af57f58758e835da Author: Johannes Berg Date: Mon Nov 10 18:56:59 2008 +0100 ath5k: name pci driver "ath5k" too Call the ath5k pci driver struct "ath5k" too to be less confusing in sysfs. Signed-off-by: Johannes Berg Acked-by: Nick Kossifidis Signed-off-by: John W. Linville commit d6e8cc6cc7ac77b0f9118f78c453a2e834e62709 Author: Ingo Molnar Date: Tue Nov 25 18:23:03 2008 +0100 netfilter: fix warning in net/netfilter/nf_conntrack_ftp.c this warning: net/netfilter/nf_conntrack_ftp.c: In function 'help': net/netfilter/nf_conntrack_ftp.c:360: warning: 'matchoff' may be used uninitialized in this function net/netfilter/nf_conntrack_ftp.c:360: warning: 'matchlen' may be used uninitialized in this function triggers because GCC does not recognize the (correct) error flow between find_pattern(), 'found', 'matchoff' and 'matchlen'. Annotate it. Signed-off-by: Ingo Molnar Signed-off-by: Patrick McHardy commit 65f233fb1669e6c990cd1d7fd308ac7dc66dc207 Author: Ingo Molnar Date: Tue Nov 25 18:20:13 2008 +0100 netfilter: fix warning in net/netfilter/nf_conntrack_proto_tcp.c fix this warning: net/netfilter/nf_conntrack_proto_tcp.c: In function \u2018tcp_in_window\u2019: net/netfilter/nf_conntrack_proto_tcp.c:491: warning: unused variable \u2018net\u2019 net/netfilter/nf_conntrack_proto_tcp.c: In function \u2018tcp_packet\u2019: net/netfilter/nf_conntrack_proto_tcp.c:812: warning: unused variable \u2018net\u2019 Signed-off-by: Ingo Molnar Signed-off-by: Patrick McHardy commit 1e9b51c28312f7334394aa30be56ff52c2b65b7e Author: Markus Metzger Date: Tue Nov 25 09:24:15 2008 +0100 x86, bts, ftrace: a BTS ftrace plug-in prototype Impact: add new ftrace plugin A prototype for a BTS ftrace plug-in. The tracer collects branch trace in a cyclic buffer for each cpu. The tracer is not configurable and the trace for each snapshot is appended when doing cat /debug/tracing/trace. This is a proof of concept that will be extended with future patches to become a (hopefully) useful tool. Signed-off-by: Markus Metzger Signed-off-by: Ingo Molnar commit 8bba1bf5e2434c83f2fe8b1422604ace9bbe4cb8 Author: Markus Metzger Date: Tue Nov 25 09:12:31 2008 +0100 x86, ftrace: call trace->open() before stopping tracing; add trace->print_header() Add a callback to allow an ftrace plug-in to write its own header. Move the call to trace->open() up a few lines. The changes are required by the BTS ftrace plug-in. Signed-off-by: Markus Metzger Signed-off-by: Ingo Molnar commit 6abb11aecd888d1da6276399380b7355f127c006 Author: Markus Metzger Date: Tue Nov 25 09:05:27 2008 +0100 x86, bts, ptrace: move BTS buffer allocation from ds.c into ptrace.c Impact: restructure DS memory allocation to be done by the usage site of DS Require pre-allocated buffers in ds.h. Move the BTS buffer allocation for ptrace into ptrace.c. The pointer to the allocated buffer is stored in the traced task's task_struct together with the handle returned by ds_request_bts(). Removes memory accounting code. Signed-off-by: Markus Metzger Signed-off-by: Ingo Molnar commit ca0002a179bfa532d009a9272d619732872c49bd Author: Markus Metzger Date: Tue Nov 25 09:01:25 2008 +0100 x86, bts: base in-kernel ds interface on handles Impact: generalize the DS code to shared buffers Change the in-kernel ds.h interface to identify the tracer via a handle returned on ds_request_~(). Tracers used to be identified via their task_struct. The changes are required to allow DS to be shared between different tasks, which is needed for perfmon2 and for ftrace. For ptrace, the handle is stored in the traced task's task_struct. This should probably go into a (arch-specific) ptrace context some time. Signed-off-by: Markus Metzger Signed-off-by: Ingo Molnar commit 7d55718b0c19ba611241c330f688ee824e9bab79 Merge: 6f893fb de90add f4166c5 Author: Ingo Molnar Date: Tue Nov 25 17:30:25 2008 +0100 Merge branches 'tracing/core', 'x86/urgent' and 'x86/ptrace' into tracing/hw-branch-tracing This pulls together all the topic branches that are needed for the DS/BTS/PEBS tracing work. commit 9e0f1b7f6bc5265847e995540981642c857f15b6 Author: Qinghuang Feng Date: Tue Nov 25 23:24:54 2008 +0800 ASoC: Clean up kernel-doc for snd_soc_dai_set_fmt There is no argument named @clk_id in snd_soc_dai_set_fmt, remove its' comment. Signed-off-by: Qinghuang Feng Signed-off-by: Mark Brown commit 5c0d7bb797a975691ca8bbc38e53da03c6e151bb Author: Dmitry Baryshkov Date: Tue Nov 25 09:35:21 2008 +0300 ASoC: tosa: move gpio probing to machine callbacks Signed-off-by: Dmitry Baryshkov Signed-off-by: Mark Brown commit 4451582f7e9fc2860b289aca60a6065286439bb8 Author: Misael Lopez Cruz Date: Mon Nov 24 22:21:23 2008 -0600 ASoC: Add support for TI SDP3430 This patch add ASoC support for TI SDP3430. It's based on Gumstix Overo SoC code by Steve Sakoman. Signed-off-by: Misael Lopez Cruz Signed-off-by: Mark Brown commit 9c8f1a0e6ed48f2ecf08ac0fb7fb043f8c34dc63 Author: Arun KS Date: Tue Nov 25 09:56:12 2008 +0530 ASoC: Fix TWL4030 Kconfig dependency Fixes Kconfig dependency of TWL4030 audio codec driver with TWL4030 core driver on both overo and omap2evm boards Signed-off-by: Arun KS Acked-by: David Brownell Signed-off-by: Mark Brown commit 375e8a7c943d5aa8716be229e398473b23709ce9 Author: Jarkko Nikula Date: Tue Nov 25 12:45:09 2008 +0200 ASoC: OMAP: Add support for mono audio links in McBSP DAI Patch adds support for mono audio links so that McBSP DAI can operate with real mono codecs. In I2S, the signalling remains the same but only first frame (left channel) is transmitting audio data and second frame having null data. In DSP_A, only first frame is transmitted. Signed-off-by: Jarkko Nikula Signed-off-by: Mark Brown commit 0be43050d4da08295b985cb23347ecc1003cb8d6 Author: Jarkko Nikula Date: Tue Nov 25 12:45:08 2008 +0200 ASoC: OMAP: Apply channel constrains to N810 machine driver Prepare for upcoming McBSP DAI update adding support for mono links by restricting number of channels to 2 in N810. This is due tlv320aic3x which claims channels_min = 1 and playing pure mono audio over I2S would cause it to be played only from left channel if both cpu and codec DAI's claim to support mono. Signed-off-by: Jarkko Nikula Signed-off-by: Mark Brown commit b0e6481a9ae9e8c80b5d956980767ecad35c95c1 Author: Takashi Iwai Date: Tue Nov 25 16:07:01 2008 +0100 ALSA: hda - Really fix bits value in proc output The fix in 82894b6f6f109722070d4d78730fe50cdaba9443 resulted in zero due to wrong mask and bit shifts. Now fixed really. Signed-off-by: Takashi Iwai commit ca109491f612aab5c8152207631c0444f63da97f Author: Peter Zijlstra Date: Tue Nov 25 12:43:51 2008 +0100 hrtimer: removing all ur callback modes Impact: cleanup, move all hrtimer processing into hardirq context This is an attempt at removing some of the hrtimer complexity by reducing the number of callback modes to 1. This means that all hrtimer callback functions will be ran from HARD-irq context. I went through all the 30 odd hrtimer callback functions in the kernel and saw only one that I'm not quite sure of, which is the one in net/can/bcm.c - hence I'm CC-ing the folks responsible for that code. Furthermore, the hrtimer core now calls callbacks directly with IRQs disabled in case you try to enqueue an expired timer. If this timer is a periodic timer (which should use hrtimer_forward() to advance its time) then it might be possible to end up in an inf. recursive loop due to the fact that hrtimer_forward() doesn't round up to the next timer granularity, and therefore keeps on calling the callback - obviously this needs a fix. Aside from that, this seems to compile and actually boot on my dual core test box - although I'm sure there are some bugs in, me not hitting any makes me certain :-) Signed-off-by: Peter Zijlstra Signed-off-by: Ingo Molnar commit 5a4e1a795d7c5b47e94067a72db09f8cfb52bcff Author: David Vrabel Date: Tue Nov 25 14:34:47 2008 +0000 uwb: clean up whci_wait_for() timeout error message All callers of whci_wait_for() should get consistant error message if a timeout occurs. Signed-off-by: David Vrabel commit 56968d0c1a920eb165c06318f5c458724e1df0af Author: David Vrabel Date: Tue Nov 25 14:23:40 2008 +0000 wusb: whci-hcd shouldn't do ASL/PZL updates while channel is inactive ASL/PZL updates while the WUSB channel is inactive (i.e., the PZL and ASL are stopped) may not complete. This causes hangs when removing the whci-hcd module if a device is still connected (removing the device does an endpoint_disable which results in an ASL update to remove the qset). If the WUSB channel is inactive the update can simply be skipped as the WHC doesn't care about the state of the ASL/PZL. Signed-off-by: David Vrabel commit eefe93b9957e6f14780b7d37aeda0f27f341953d Merge: ee09543 661cd8f Author: Takashi Iwai Date: Tue Nov 25 15:20:57 2008 +0100 Merge branch 'topic/fix/hda' into topic/hda Conflicts: sound/pci/hda/patch_sigmatel.c commit ee09543c866559e1ffb4f5c38533f2bedd725acd Author: Takashi Iwai Date: Tue Nov 25 15:03:38 2008 +0100 ALSA: hda - Add quirk for MSI 7260 mobo Added preset model=targa-dig for MSI 7260 mobo. Signed-off-by: Takashi Iwai commit 65d76f368295973a35d195c9b13053502a67b6bc Merge: dba0a91 ed31348 Author: David Vrabel Date: Tue Nov 25 13:52:56 2008 +0000 Merge branch 'master' of git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux-2.6 into for-upstream commit c0193f39f43c79bde6c1c5804f5315f3983152b5 Author: Markus Bollinger Date: Tue Nov 25 12:37:52 2008 +0100 ALSA: pcxhr - add support for pcxhr stereo sound cards (mixer part) - add support for pcxhr stereo cards mixer controls - adjust tlv db scales to real dBu values - fix bug with monitoring volume control pcxhr_monitor_vol_put - do some cleanup Signed-off-by: Markus Bollinger Signed-off-by: Takashi Iwai commit 2f9889a20cd2854bc6305198255c617b0b4eb719 Author: David S. Miller Date: Tue Nov 25 03:53:09 2008 -0800 Revert "hso: Fix crashes on close." This reverts commit 4a3e818181e1baf970e9232ca8b747e233176b87. On request from Alan Cox. Signed-off-by: David S. Miller commit ab153d84d9609b4e6f53632a6f14b882e866cb47 Author: David S. Miller Date: Tue Nov 25 03:52:46 2008 -0800 Revert "hso: Fix free of mutexes still in use." This reverts commit 52429eb216385fdc6969c0112ba8b46cffefaaef. On request from Alan Cox. Signed-off-by: David S. Miller commit cd90ee1799136bd74158b734cf71b72609244a91 Author: David S. Miller Date: Tue Nov 25 03:52:17 2008 -0800 Revert "hso: Add TIOCM ioctl handling." This reverts commit 7ea3a9ad9bf360f746a7ad6fa72511a5c359490d. On request from Alan Cox. Signed-off-by: David S. Miller commit 7628700e08403618b0b07bd25b6456d8b2d074ef Author: Markus Bollinger Date: Tue Nov 25 12:28:06 2008 +0100 ALSA: pcxhr - add support for pcxhr stereo sound cards (firmware support) - Add support for pcxhr stereo cards and their firmware - autorize sound cards without analog IO - do some cleanup Signed-off-by: Markus Bollinger Signed-off-by: Takashi Iwai commit 9d948d270010e3552c94281bab75694580ca23e9 Author: Markus Bollinger Date: Tue Nov 25 12:24:54 2008 +0100 ALSA: pcxhr - add support for pcxhr stereo sound cards (core change) - Add support for pcxhr stereo cards - minor bugfixes : period and buffer size consraints - fix PLL register values - do some clean up Signed-off-by: Markus Bollinger Signed-off-by: Takashi Iwai commit 93bf5d8753b2e3cc9e8982d551d119a54a31a7ec Author: Markus Bollinger Date: Tue Nov 25 12:21:05 2008 +0100 ALSA: pcxhr - add support for pcxhr stereo sound cards - Add support for pcxhr stereo cards - do some clean up Signed-off-by: Markus Bollinger Signed-off-by: Takashi Iwai commit 9f40ac713c49fb6ca655550b620edc85c445d743 Author: Eric Leblond Date: Tue Nov 25 12:18:11 2008 +0100 netfilter: nfmark IPV6 routing in OUTPUT, mangle, NFQUEUE This patch let nfmark to be evaluated for routing decision for OUTPUT packet, in mangle table, when process paquet in NFQUEUE. This patch is an IPv6 port of Laurent Licour IPv4 one. Signed-off-by: Eric Leblond Signed-off-by: Patrick McHardy commit 5f145e44ae09f629d25536b2947a91e9c01bddcb Author: Eric Leblond Date: Tue Nov 25 12:15:16 2008 +0100 netfilter: nfmark routing in OUTPUT, mangle, NFQUEUE This patch let nfmark to be evaluated for routing decision for OUTPUT packet, in mangle table, when process paquet in NFQUEUE Until now, only change (in NFQUEUE process) on fields src_addr, dest_addr and tos could make netfilter to reevalute the routing. From: Laurent Licour Signed-off-by: Eric Leblond Signed-off-by: Patrick McHardy commit c6e4c66613c2bb040e53bb04006c277992cc8f4b Author: Takashi Iwai Date: Tue Nov 25 11:58:19 2008 +0100 ALSA: hda - Assign unsol tags dynamically in patch_sigmatel.c Since we need to handle many unsolicited events assigned to different widgets, allocate the event dynamically using the existing events array, and use the tag appropriately instead of combination of fixed number and widget nid. (Note that widget nid can be over 4 bits!) Also, replaced the call of unsol_event handler with a dedicated function to be more readable. Signed-off-by: Takashi Iwai commit 0e19e7d2bff0ec04fe4dc920c580d8a321afa07f Merge: 82894b6 f73d358 Author: Takashi Iwai Date: Tue Nov 25 11:56:25 2008 +0100 Merge branch 'topic/fix/hda' into topic/hda Conflicts: sound/pci/hda/patch_sigmatel.c commit 82894b6f6f109722070d4d78730fe50cdaba9443 Author: Takashi Iwai Date: Tue Nov 25 11:42:54 2008 +0100 ALSA: hda - Fix proc pcm rate bits Show only the relevant bits in the PCM rate bits as in the earlier version. Signed-off-by: Takashi Iwai commit fb7e06748c29c08a9f5ca057a780b65acbb91c27 Author: Alexey Dobriyan Date: Tue Nov 25 01:05:54 2008 -0800 xfrm: remove useless forward declarations Signed-off-by: Alexey Dobriyan Signed-off-by: David S. Miller commit 6daad37230ab02bb593d179d704079d4b5912bd7 Author: Alexey Dobriyan Date: Tue Nov 25 01:05:09 2008 -0800 ah4/ah6: remove useless NULL assignments struct will be kfreed in a moment, so... Signed-off-by: Alexey Dobriyan Signed-off-by: David S. Miller commit 69d728baf620839d1a3c874eecac316729f89de4 Author: Alexander Duyck Date: Tue Nov 25 01:04:03 2008 -0800 igb: loopback bits not correctly cleared from RCTL register This change forces the bits to 0 by using an &= operation with an inverted mask of all options instead of using an |= with a value of 0. Signed-off-by: Alexander Duyck Signed-off-by: Jeff Kirsher Signed-off-by: David S. Miller commit 9b07f3d3157487e6467dfa4640f7fb9446165494 Author: Alexander Duyck Date: Tue Nov 25 01:03:26 2008 -0800 igb: remove unneeded bit refrence when enabling jumbo frames There is a reference to a Buffer Size extention bit that is unneded by 82575/82576 hardware. Since it is not needed it should be removed from the code. Signed-off-by: Alexander Duyck Signed-off-by: Jeff Kirsher Signed-off-by: David S. Miller commit 7a6b6f515f77d1c62a2f383b6dce18cb0af0cf4f Author: Jeff Kirsher Date: Tue Nov 25 01:02:08 2008 -0800 DCB: fix kconfig option Since the netlink option for DCB is necessary to actually be useful, simplified the Kconfig option. In addition, added useful help text for the Kconfig option. Signed-off-by: Jeff Kirsher Signed-off-by: David S. Miller commit 411c41eea58bd3500cf897e2c27dd5330935a3a8 Author: Harvey Harrison Date: Tue Nov 25 00:40:37 2008 -0800 aoe: remove private mac address format function Add %pm to omit the colons when printing a mac address. Signed-off-by: Harvey Harrison Signed-off-by: David S. Miller commit 9c8f92aed16dbd1924910f3305f5992a4f29fe2a Author: Denis Joseph Barrow Date: Tue Nov 25 00:36:10 2008 -0800 hso: Hook up ->reset_resume Made usb_drivers reset_resume function point to hso_resume this fixes problems a usb reset is done when the network interface is left idle for a few minutes. Possibly reset_resume should initialise hardware more but this works in the common case. Signed-off-by: Denis Joseph Barrow Signed-off-by: David S. Miller commit 7ea3a9ad9bf360f746a7ad6fa72511a5c359490d Author: Denis Joseph Barrow Date: Tue Nov 25 00:35:26 2008 -0800 hso: Add TIOCM ioctl handling. Makes TIOCM ioctls for Data Carrier Detect & related functions work like /drivers/serial/serial-core.c potentially needed for pppd & similar user programs. Signed-off-by: Denis Joseph Barrow Signed-off-by: David S. Miller commit 52429eb216385fdc6969c0112ba8b46cffefaaef Author: Denis Joseph Barrow Date: Tue Nov 25 00:33:13 2008 -0800 hso: Fix free of mutexes still in use. A new structure hso_mutex_table had to be declared statically & used as as hso_device mutex_lock(&serial->parent->mutex) etc is freed in hso_serial_open & hso_serial_close by kref_put while the mutex is still in use. This is a substantial change but should make the driver much stabler. Signed-off-by: Denis Joseph Barrow Signed-off-by: David S. Miller commit 89930b7b5e3e9bfe9c6ec5e19920451c8f5d9088 Author: Denis Joseph Barrow Date: Tue Nov 25 00:30:48 2008 -0800 hso: Fix URB submission -EINVAL. Added check for IFF_UP in hso_resume, this should eliminate -EINVAL (-22) errors caused from urb's being submitted twice, once by hso_resume & once in hso_net_open, if suspend/resume USB power saving mode is enabled Signed-off-by: Denis Joseph Barrow Signed-off-by: David S. Miller commit 4a3e818181e1baf970e9232ca8b747e233176b87 Author: Denis Joseph Barrow Date: Tue Nov 25 00:27:50 2008 -0800 hso: Fix crashes on close. Moved serial_open_count in hso_serial_open to prevent crashes owing to the serial structure being made NULL when hso_serial_close is called even though hso_serial_open returned -ENODEV, Alan Cox pointed out this happens, also put in sanity check in hso_serial_close to check for a valid serial structure which should prevent the most reproducable crash in the driver when the hso device is disconnected while in use. Signed-off-by: Denis Joseph Barrow Signed-off-by: David S. Miller commit bab04c3adbb55aeb5e8db60522f14ce0bb0d4179 Author: Denis Joseph Barrow Date: Tue Nov 25 00:26:12 2008 -0800 hso: Add new usb device id's. Signed-off-by: Denis Joseph Barrow Signed-off-by: David S. Miller commit 47fd5b8373ecc6bf5473e4139b62b06425448252 Author: Stephen Hemminger Date: Tue Nov 25 00:20:43 2008 -0800 netdev: add HAVE_NET_DEVICE_OPS As a concession to vendors who have to deal with one source for different kernel versions, add a HAVE_NET_DEVICE_OPS so they don't end up hard coding ifdef against kernel version. Signed-off-by: Stephen Hemminger Signed-off-by: David S. Miller commit 7807fafa52b990abb321f1212416c71e64523ecb Author: Ingo Molnar Date: Tue Nov 25 08:44:24 2008 +0100 lockdep: fix unused function warning in kernel/lockdep.c Impact: fix build warning this warning: kernel/lockdep.c:584: warning: ‘print_lock_dependencies’ defined but not used triggers because print_lock_dependencies() is only used if both CONFIG_TRACE_IRQFLAGS and CONFIG_PROVE_LOCKING are enabled. But adding #ifdefs is not an option here - it would spread out to 4-5 other helper functions and uglify the file. So mark this function as __used - it's static and the compiler can eliminate it just fine. Signed-off-by: Ingo Molnar commit e951e4af2e399c46891004d4931333d2d8d520ab Author: Ingo Molnar Date: Tue Nov 25 08:42:01 2008 +0100 x86: fix unused variable warning in arch/x86/kernel/hpet.c Impact: fix build warning this warning: arch/x86/kernel/hpet.c:36: warning: ‘hpet_num_timers’ defined but not used Triggers because hpet_num_timers is unused in the !CONFIG_PCI_MSI case. Signed-off-by: Ingo Molnar commit 14bfc987e395797dfe03e915e8b4c7fc9e5078e4 Author: Ingo Molnar Date: Tue Nov 25 08:58:11 2008 +0100 tracing, tty: fix warnings caused by branch tracing and tty_kref_get() Stephen Rothwell reported tht this warning started triggering in linux-next: In file included from init/main.c:27: include/linux/tty.h: In function ‘tty_kref_get’: include/linux/tty.h:330: warning: ‘______f’ is static but declared in inline function ‘tty_kref_get’ which is not static Which gcc emits for 'extern inline' functions that nevertheless define static variables. Change it to 'static inline', which is the norm in the kernel anyway. Reported-by: Stephen Rothwell Signed-off-by: Ingo Molnar commit 0ace285605314c54339710484b54814945a60df8 Author: Ilpo Järvinen Date: Mon Nov 24 21:30:21 2008 -0800 tcp: handle shift/merge of cloned skbs too This caused me to get repeatably: tcpdump: pcap_loop: recvfrom: Bad address Happens occassionally when I tcpdump my for-looped test xfers: while [ : ]; do echo -n "$(date '+%s.%N') "; ./sendfile; sleep 20; done Rest of the relevant commands: ethtool -K eth0 tso off tc qdisc add dev eth0 root netem drop 4% tcpdump -n -s0 -i eth0 -w sacklog.all Running net-next under kvm, connection goes to the same host (basically just out of kvm). The connection itself works ok and data gets sent without corruption even with a large number of tests while tcpdump fails usually within less than 5 tests. Whether it only happens because of this change or not, I don't know for sure but it's the only thing with which I've seen that error. The non-cloned variant works w/o it for much longer time. I'm yet to debug where the error actually comes from. Signed-off-by: Ilpo Järvinen Signed-off-by: David S. Miller commit 111cc8b913b42ef07793648b1699288332f273e1 Author: Ilpo Järvinen Date: Mon Nov 24 21:27:22 2008 -0800 tcp: add some mibs to track collapsing Signed-off-by: Ilpo Järvinen Signed-off-by: David S. Miller commit 92ee76b6d99bfcdab6162816c9025541ef7248eb Author: Ilpo Järvinen Date: Mon Nov 24 21:26:56 2008 -0800 tcp: Make shifting not clear the hints The earlier version was just very basic one which is "playing safe" by always clearing the hints. However, clearing of a hint is extremely costly operation with large windows, so it must be avoided at all cost whenever possible, there is a way with shifting too achieve not-clearing. Signed-off-by: Ilpo Järvinen Signed-off-by: David S. Miller commit 832d11c5cd076abc0aa1eaf7be96c81d1a59ce41 Author: Ilpo Järvinen Date: Mon Nov 24 21:20:15 2008 -0800 tcp: Try to restore large SKBs while SACK processing During SACK processing, most of the benefits of TSO are eaten by the SACK blocks that one-by-one fragment SKBs to MSS sized chunks. Then we're in problems when cleanup work for them has to be done when a large cumulative ACK comes. Try to return back to pre-split state already while more and more SACK info gets discovered by combining newly discovered SACK areas with the previous skb if that's SACKed as well. This approach has a number of benefits: 1) The processing overhead is spread more equally over the RTT 2) Write queue has less skbs to process (affect everything which has to walk in the queue past the sacked areas) 3) Write queue is consistent whole the time, so no other parts of TCP has to be aware of this (this was not the case with some other approach that was, well, quite intrusive all around). 4) Clean_rtx_queue can release most of the pages using single put_page instead of previous PAGE_SIZE/mss+1 calls In case a hole is fully filled by the new SACK block, we attempt to combine the next skb too which allows construction of skbs that are even larger than what tso split them to and it handles hole per on every nth patterns that often occur during slow start overshoot pretty nicely. Though this to be really useful also a retransmission would have to get lost since cumulative ACKs advance one hole at a time in the most typical case. TODO: handle upwards only merging. That should be rather easy when segment is fully sacked but I'm leaving that as future work item (it won't make very large difference anyway since this current approach already covers quite a lot of normal cases). I was earlier thinking of some sophisticated way of tracking timestamps of the first and the last segment but later on realized that it won't be that necessary at all to store the timestamp of the last segment. The cases that can occur are basically either: 1) ambiguous => no sensible measurement can be taken anyway 2) non-ambiguous is due to reordering => having the timestamp of the last segment there is just skewing things more off than does some good since the ack got triggered by one of the holes (besides some substle issues that would make determining right hole/skb even harder problem). Anyway, it has nothing to do with this change then. I choose to route some abnormal looking cases with goto noop, some could be handled differently (eg., by stopping the walking at that skb but again). In general, they either shouldn't happen at all or are rare enough to make no difference in practice. In theory this change (as whole) could cause some macroscale regression (global) because of cache misses that are taken over the round-trip time but it gets very likely better because of much less (local) cache misses per other write queue walkers and the big recovery clearing cumulative ack. Worth to note that these benefits would be very easy to get also without TSO/GSO being on as long as the data is in pages so that we can merge them. Currently I won't let that happen because DSACK splitting at fragment that would mess up pcounts due to sk_can_gso in tcp_set_skb_tso_segs. Once DSACKs fragments gets avoided, we have some conditions that can be made less strict. TODO: I will probably have to convert the excessive pointer passing to struct sacktag_state... :-) My testing revealed that considerable amount of skbs couldn't be shifted because they were cloned (most likely still awaiting tx reclaim)... [The rest is considering future work instead since I got repeatably EFAULT to tcpdump's recvfrom when I added pskb_expand_head to deal with clones, so I separated that into another, later patch] ...To counter that, I gave up on the fifth advantage: 5) When growing previous SACK block, less allocs for new skbs are done, basically a new alloc is needed only when new hole is detected and when the previous skb runs out of frags space ...which now only happens of if reclaim is fast enough to dispose the clone before the SACK block comes in (the window is RTT long), otherwise we'll have to alloc some. With clones being handled I got these numbers (will be somewhat worse without that), taken with fine-grained mibs: TCPSackShifted 398 TCPSackMerged 877 TCPSackShiftFallback 320 TCPSACKCOLLAPSEFALLBACKGSO 0 TCPSACKCOLLAPSEFALLBACKSKBBITS 0 TCPSACKCOLLAPSEFALLBACKSKBDATA 0 TCPSACKCOLLAPSEFALLBACKBELOW 0 TCPSACKCOLLAPSEFALLBACKFIRST 1 TCPSACKCOLLAPSEFALLBACKPREVBITS 318 TCPSACKCOLLAPSEFALLBACKMSS 1 TCPSACKCOLLAPSEFALLBACKNOHEAD 0 TCPSACKCOLLAPSEFALLBACKSHIFT 0 TCPSACKCOLLAPSENOOPSEQ 0 TCPSACKCOLLAPSENOOPSMALLPCOUNT 0 TCPSACKCOLLAPSENOOPSMALLLEN 0 TCPSACKCOLLAPSEHOLE 12 Signed-off-by: Ilpo Järvinen Signed-off-by: David S. Miller commit f58b22fd3c16444edc393a217a74208f1894b601 Author: Ilpo Järvinen Date: Mon Nov 24 21:14:43 2008 -0800 tcp: make tcp_sacktag_one able to handle partial skb too This is preparatory work for SACK combiner patch which may have to count TCP state changes for only a part of the skb because it will intentionally avoids splitting skb to SACKed and not sacked parts. Signed-off-by: Ilpo Järvinen Signed-off-by: David S. Miller commit adb92db857ee2a0a2b925ccfbd560203c3f88aae Author: Ilpo Järvinen Date: Mon Nov 24 21:13:50 2008 -0800 tcp: Make SACK code to split only at mss boundaries Sadly enough, this adds possible divide though we try to avoid it by checking one mss as common case. Signed-off-by: Ilpo Järvinen Signed-off-by: David S. Miller commit e8bae275d9354104f7ae24a48a90d1a6286e7bd9 Author: Ilpo Järvinen Date: Mon Nov 24 21:12:28 2008 -0800 tcp: more aggressive skipping I knew already when rewriting the sacktag that this condition was too conservative, change it now since it prevent lot of useless work (especially in the sack shifter decision code that is being added by a later patch). This shouldn't change anything really, just save some processing regardless of the shifter. Signed-off-by: Ilpo Järvinen Signed-off-by: David S. Miller commit e1aa680fa40e7492260a09cb57d94002245cc8fe Author: Ilpo Järvinen Date: Mon Nov 24 21:11:55 2008 -0800 tcp: move tcp_simple_retransmit to tcp_input Signed-off-by: Ilpo Järvinen Signed-off-by: David S. Miller commit 4a17fc3add594fcc1c778e93a95b6ecf47f630e5 Author: Ilpo Järvinen Date: Mon Nov 24 21:03:43 2008 -0800 tcp: collapse more than two on retransmission I always had thought that collapsing up to two at a time was intentional decision to avoid excessive processing if 1 byte sized skbs are to be combined for a full mtu, and consecutive retransmissions would make the size of the retransmittee double each round anyway, but some recent discussion made me to understand that was not the case. Thus make collapse work more and wait less. It would be possible to take advantage of the shifting machinery (added in the later patch) in the case of paged data but that can be implemented on top of this change. tcp_skb_is_last check is now provided by the loop. I tested a bit (ss-after-idle-off, fill 4096x4096B xfer, 10s sleep + 4096 x 1byte writes while dropping them for some a while with netem): . 16774097:16775545(1448) ack 1 win 46 . 16775545:16776993(1448) ack 1 win 46 . ack 16759617 win 2399 P 16776993:16777217(224) ack 1 win 46 . ack 16762513 win 2399 . ack 16765409 win 2399 . ack 16768305 win 2399 . ack 16771201 win 2399 . ack 16774097 win 2399 . ack 16776993 win 2399 . ack 16777217 win 2399 P 16777217:16777257(40) ack 1 win 46 . ack 16777257 win 2399 P 16777257:16778705(1448) ack 1 win 46 P 16778705:16780153(1448) ack 1 win 46 FP 16780153:16781313(1160) ack 1 win 46 . ack 16778705 win 2399 . ack 16780153 win 2399 F 1:1(0) ack 16781314 win 2399 While without drop-all period I get this: . 16773585:16775033(1448) ack 1 win 46 . ack 16764897 win 9367 . ack 16767793 win 9367 . ack 16770689 win 9367 . ack 16773585 win 9367 . 16775033:16776481(1448) ack 1 win 46 P 16776481:16777217(736) ack 1 win 46 . ack 16776481 win 9367 . ack 16777217 win 9367 P 16777217:16777218(1) ack 1 win 46 P 16777218:16777219(1) ack 1 win 46 P 16777219:16777220(1) ack 1 win 46 ... P 16777247:16777248(1) ack 1 win 46 . ack 16777218 win 9367 . ack 16777219 win 9367 ... . ack 16777233 win 9367 . ack 16777248 win 9367 P 16777248:16778696(1448) ack 1 win 46 P 16778696:16780144(1448) ack 1 win 46 FP 16780144:16781313(1169) ack 1 win 46 . ack 16780144 win 9367 F 1:1(0) ack 16781314 win 9367 The window seems to be 30-40 segments, which were successfully combined into: P 16777217:16777257(40) ack 1 win 46 Signed-off-by: Ilpo Järvinen Signed-off-by: David S. Miller commit 200036ca9b3f0b2250912142552ce56682190f95 Author: Hannes Eder Date: Mon Nov 24 22:14:43 2008 +0100 CRED: fix sparse warnings Impact: fix sparse warnings Fix the following sparse warnings: security/security.c:228:2: warning: returning void-valued expression security/security.c:233:2: warning: returning void-valued expression security/security.c:616:2: warning: returning void-valued expression Signed-off-by: Hannes Eder Signed-off-by: James Morris commit a21bba945430f3f5e00c349665f88cdacdb32a8d Author: Eric Dumazet Date: Mon Nov 24 16:07:50 2008 -0800 net: avoid a pair of dst_hold()/dst_release() in ip_push_pending_frames() We can reduce pressure on dst entry refcount that slowdown UDP transmit path on SMP machines. This pressure is visible on RTP servers when delivering content to mediagateways, especially big ones, handling thousand of streams. Several cpus send UDP frames to the same destination, hence use the same dst entry. This patch makes ip_push_pending_frames() steal the refcount its callers had to take when filling inet->cork.dst. This doesnt avoid all refcounting, but still gives speedups on SMP, on UDP/RAW transmit path. Signed-off-by: Eric Dumazet Signed-off-by: David S. Miller commit 6ded6ab9be4f6164aef1c527407c1b94f0929799 Author: Serge Hallyn Date: Mon Nov 24 16:24:10 2008 -0500 User namespaces: use the current_user_ns() macro Fix up the last current_user()->user_ns instance to use current_user_ns(). Signed-off-by: Serge E. Hallyn commit 18b6e0414e42d95183f07d8177e3ff0241abd825 Author: Serge Hallyn Date: Wed Oct 15 16:38:45 2008 -0500 User namespaces: set of cleanups (v2) The user_ns is moved from nsproxy to user_struct, so that a struct cred by itself is sufficient to determine access (which it otherwise would not be). Corresponding ecryptfs fixes (by David Howells) are here as well. Fix refcounting. The following rules now apply: 1. The task pins the user struct. 2. The user struct pins its user namespace. 3. The user namespace pins the struct user which created it. User namespaces are cloned during copy_creds(). Unsharing a new user_ns is no longer possible. (We could re-add that, but it'll cause code duplication and doesn't seem useful if PAM doesn't need to clone user namespaces). When a user namespace is created, its first user (uid 0) gets empty keyrings and a clean group_info. This incorporates a previous patch by David Howells. Here is his original patch description: >I suggest adding the attached incremental patch. It makes the following >changes: > > (1) Provides a current_user_ns() macro to wrap accesses to current's user > namespace. > > (2) Fixes eCryptFS. > > (3) Renames create_new_userns() to create_user_ns() to be more consistent > with the other associated functions and because the 'new' in the name is > superfluous. > > (4) Moves the argument and permission checks made for CLONE_NEWUSER to the > beginning of do_fork() so that they're done prior to making any attempts > at allocation. > > (5) Calls create_user_ns() after prepare_creds(), and gives it the new creds > to fill in rather than have it return the new root user. I don't imagine > the new root user being used for anything other than filling in a cred > struct. > > This also permits me to get rid of a get_uid() and a free_uid(), as the > reference the creds were holding on the old user_struct can just be > transferred to the new namespace's creator pointer. > > (6) Makes create_user_ns() reset the UIDs and GIDs of the creds under > preparation rather than doing it in copy_creds(). > >David >Signed-off-by: David Howells Changelog: Oct 20: integrate dhowells comments 1. leave thread_keyring alone 2. use current_user_ns() in set_user() Signed-off-by: Serge Hallyn commit 2e77d89b2fa8e3f8325b8ce7893ec3645f41aff5 Author: Eric Dumazet Date: Mon Nov 24 15:52:46 2008 -0800 net: avoid a pair of dst_hold()/dst_release() in ip_append_data() We can reduce pressure on dst entry refcount that slowdown UDP transmit path on SMP machines. This pressure is visible on RTP servers when delivering content to mediagateways, especially big ones, handling thousand of streams. Several cpus send UDP frames to the same destination, hence use the same dst entry. This patch makes ip_append_data() eventually steal the refcount its callers had to take on the dst entry. This doesnt avoid all refcounting, but still gives speedups on SMP, on UDP/RAW transmit path Signed-off-by: Eric Dumazet Signed-off-by: David S. Miller commit 4db0acf3c0afbbbb2ae35a65f8896ca6655a47ec Author: Jarek Poplawski Date: Mon Nov 24 15:48:05 2008 -0800 net: gen_estimator: Fix gen_kill_estimator() lookups gen_kill_estimator() linear lists lookups are very slow, and e.g. while deleting a large number of HTB classes soft lockups were reported. Here is another try to fix this problem: this time internally, with rbtree, so similarly to Jamal's hashing idea IIRC. (Looking for next hits could be still optimized, but it's really fast as it is.) Reported-by: Badalian Vyacheslav Reported-by: Denys Fedoryshchenko Signed-off-by: Jarek Poplawski Acked-by: Jamal Hadi Salim Signed-off-by: David S. Miller commit 3f0947c3ffaed33c1c38b79e4b17f75ba072d3e9 Author: Patrick McHardy Date: Mon Nov 24 15:46:08 2008 -0800 pkt_sched: sch_drr: fix drr_dequeue loop() Jarek Poplawski points out: If all child qdiscs of sch_drr are non-work-conserving (e.g. sch_tbf) drr_dequeue() will busy-loop waiting for skbs instead of leaving the job for a watchdog. Checking for list_empty() in each loop isn't necessary either, because this can never be true except the first time. Using non-work-conserving qdiscs as children of DRR makes no sense, simply bail out in that case. Reported-by: Jarek Poplawski Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller commit 4b40eed73e3787d60160beed1352ceadd24f6be1 Author: Wang Chen Date: Mon Nov 24 15:34:00 2008 -0800 infiniband: Kill directly reference of netdev->priv This use of netdev->priv is wrong. The right way is: alloc_netdev() with no memory for private data. make netdev->ml_priv to point to c2_dev. Signed-off-by: Wang Chen Acked-by: Roland Dreier Signed-off-by: David S. Miller commit 486bf8de17361232c40e092a219f328093e34dca Author: Wang Chen Date: Mon Nov 24 14:52:16 2008 -0800 netdevice sbni: Convert directly reference of netdev->priv 1. convert netdev->priv to netdev_priv(). 2. make sbni_pci_probe() be static. Signed-off-by: Wang Chen Signed-off-by: David S. Miller commit 5c94afd79cd9e68cb9899fe7788342329e9f445f Author: Jirka Pirko Date: Mon Nov 24 14:49:11 2008 -0800 tokenring/3c359.c: Prevent possible mem leak when open failed Freeing previously allocated buffers in case of error. Signed-off-by: Jirka Pirko Signed-off-by: David S. Miller commit 138a5cdf2ffe8c6602641f8aaa00cfcf10929fe1 Author: Jirka Pirko Date: Mon Nov 24 14:48:25 2008 -0800 tokenring/3c359.c: Fix error message when allocating tx_ring Pointed out by Joe Perches. Error message after tx_ring allocation check was wrong. Signed-off-by: Jirka Pirko Signed-off-by: David S. Miller commit d0cc10ab0e3740b629d88386c907342f77cbdb30 Author: Jirka Pirko Date: Mon Nov 24 14:47:53 2008 -0800 tokenring/3c359.c: fix allocation null check Fixed typo when allocating rx_ring, tx_ring was checked for null instead. Signed-off-by: Jirka Pirko Signed-off-by: David S. Miller commit 85920d43bd5ae8a96f434704438b57c0b8c31198 Author: Stephen Hemminger Date: Mon Nov 24 14:47:01 2008 -0800 8139too: use err.h macros Instead of using call by reference use the PTR_ERR macros to handle return value with error case. Compile tested only. Signed-off-by: Stephen Hemminger Signed-off-by: David S. Miller commit 3755810cebf7f9902b05c7ba9baeac0fc44881be Author: Eric Dumazet Date: Mon Nov 24 14:05:22 2008 -0800 net: Make sure BHs are disabled in sock_prot_inuse_add() There is still a call to sock_prot_inuse_add() in af_netlink while in a preemptable section. Add explicit BH disable around this call. Signed-off-by: Eric Dumazet Signed-off-by: David S. Miller commit 1acdac104668a0834cfa267de9946fac7764d486 Author: Thomas Gleixner Date: Thu Nov 20 10:02:53 2008 -0800 futex: make clock selectable for FUTEX_WAIT_BITSET FUTEX_WAIT_BITSET could be used instead of FUTEX_WAIT by setting the bit set to FUTEX_BITSET_MATCH_ANY, but FUTEX_WAIT uses CLOCK_REALTIME while FUTEX_WAIT_BITSET uses CLOCK_MONOTONIC. Add a flag to select CLOCK_REALTIME for FUTEX_WAIT_BITSET so glibc can replace the FUTEX_WAIT logic which needs to do gettimeofday() calls before and after the syscall to convert the absolute timeout to a relative timeout for FUTEX_WAIT. Signed-off-by: Thomas Gleixner Cc: Ulrich Drepper commit 3e1d7a6219ab64e13b10b1a77c0625db9a8bd8db Merge: 42569c3 13d428a Author: Thomas Gleixner Date: Mon Nov 24 19:54:37 2008 +0100 Merge branch 'linus' into core/futexes commit fde22f272dad4fef7ba611e3f75fa94f7b43fae6 Author: Mark Brown Date: Mon Nov 24 18:08:18 2008 +0000 ASoC: Lower priority of resume work logging Now that the ASoC resume has been punted to a workqueue for a release cycle without attracting bug reports it should be safe to make the log messages associated with it debug level, reducing noise and kernel size in production configurations. Signed-off-by: Mark Brown commit 67c91513b81a101800f113013234d2ab06bc5e52 Author: Mark Brown Date: Mon Nov 24 17:45:26 2008 +0000 ASoC: Flag AD1980 as an AC97 interface Special handling is required for suspend and resume of AC97 codecs due to the control path going over the data bus. Signed-off-by: Mark Brown commit 3ba9e10a6d3b6abf5f5952572cff8f8d5a35ae54 Author: Mark Brown Date: Mon Nov 24 18:01:05 2008 +0000 ASoC: Remove DAI type information DAI type information is only ever used within ASoC in order to special case AC97 and for diagnostic purposes. Since modern CPUs and codecs support multi function DAIs which can be configured for several modes it is more trouble than it's worth to maintain anything other than a flag identifying AC97 DAIs so remove the type field and replace it with an ac97_control flag. Signed-off-by: Mark Brown commit 4813eadf6b17caa7fcce67ac2f929a3dd5178fa2 Author: Patrick McHardy Date: Mon Nov 24 18:34:48 2008 +0100 netfilter: nf_conntrack_ftp: change "partial ..." message to pr_debug() The message triggers when sending non-FTP data on port 21 or with certain clients that use multiple syscalls to send the command. Change to pr_debug() since users have been complaining. Signed-off-by: Patrick McHardy commit 96f874e26428ab5d2db681c100210c254775e154 Author: Rusty Russell Date: Tue Nov 25 02:35:14 2008 +1030 sched: convert remaining old-style cpumask operators Impact: Trivial API conversion NR_CPUS -> nr_cpu_ids cpumask_t -> struct cpumask sizeof(cpumask_t) -> cpumask_size() cpumask_a = cpumask_b -> cpumask_copy(&cpumask_a, &cpumask_b) cpu_set() -> cpumask_set_cpu() first_cpu() -> cpumask_first() cpumask_of_cpu() -> cpumask_of() cpus_* -> cpumask_* There are some FIXMEs where we all archs to complete infrastructure (patches have been sent): cpu_coregroup_map -> cpu_coregroup_mask node_to_cpumask* -> cpumask_of_node There is also one FIXME where we pass an array of cpumasks to partition_sched_domains(): this implies knowing the definition of 'struct cpumask' and the size of a cpumask. This will be fixed in a future patch. Signed-off-by: Rusty Russell Signed-off-by: Ingo Molnar commit 0e3900e6d3b04c44737ebc505604dcd8ed30e354 Author: Rusty Russell Date: Tue Nov 25 02:35:13 2008 +1030 sched: convert local_cpu_mask to cpumask_var_t. Impact: (future) size reduction for large NR_CPUS. Dynamically allocating cpumasks (when CONFIG_CPUMASK_OFFSTACK) saves space for small nr_cpu_ids but big CONFIG_NR_CPUS. cpumask_var_t is just a struct cpumask for !CONFIG_CPUMASK_OFFSTACK. Signed-off-by: Rusty Russell Signed-off-by: Ingo Molnar commit 24600ce89a819a8f2fb4fd69fd777218a82ade20 Author: Rusty Russell Date: Tue Nov 25 02:35:13 2008 +1030 sched: convert check_preempt_equal_prio to cpumask_var_t. Impact: stack reduction for large NR_CPUS Dynamically allocating cpumasks (when CONFIG_CPUMASK_OFFSTACK) saves stack space. We simply return if the allocation fails: since we don't use it we could just pass NULL to cpupri_find and have it handle that. Signed-off-by: Rusty Russell Signed-off-by: Ingo Molnar commit 68e74568fbe5854952355e942acca51f138096d9 Author: Rusty Russell Date: Tue Nov 25 02:35:13 2008 +1030 sched: convert struct cpupri_vec cpumask_var_t. Impact: stack usage reduction, (future) size reduction for large NR_CPUS. Dynamically allocating cpumasks (when CONFIG_CPUMASK_OFFSTACK) saves space for small nr_cpu_ids but big CONFIG_NR_CPUS. The fact cpupro_init is called both before and after the slab is available makes for an ugly parameter unfortunately. We also use cpumask_any_and to get rid of a temporary in cpupri_find. Signed-off-by: Rusty Russell Signed-off-by: Ingo Molnar commit 4212823fb459eacc8098dd420bb68ebb9917989d Author: Rusty Russell Date: Tue Nov 25 02:35:12 2008 +1030 sched: convert falback_doms to cpumask_var_t. Impact: (future) size reduction for large NR_CPUS. Dynamically allocating cpumasks (when CONFIG_CPUMASK_OFFSTACK) saves space for small nr_cpu_ids but big CONFIG_NR_CPUS. cpumask_var_t is just a struct cpumask for !CONFIG_CPUMASK_OFFSTACK. Signed-off-by: Rusty Russell Signed-off-by: Ingo Molnar commit dcc30a35f71bcf51f1e9b336dc5e41923071509a Author: Rusty Russell Date: Tue Nov 25 02:35:12 2008 +1030 sched: convert cpu_isolated_map to cpumask_var_t. Impact: stack usage reduction, (future) size reduction, cleanup Dynamically allocating cpumasks (when CONFIG_CPUMASK_OFFSTACK) saves space for small nr_cpu_ids but big CONFIG_NR_CPUS. cpumask_var_t is just a struct cpumask for !CONFIG_CPUMASK_OFFSTACK. We can also use cpulist_parse() instead of doing it manually in isolated_cpu_setup. Signed-off-by: Rusty Russell Signed-off-by: Ingo Molnar commit d5dd3db1dce73cdd5c45c5a3498c51bd21b8864b Author: Rusty Russell Date: Tue Nov 25 02:35:12 2008 +1030 sched: convert sched_domain_debug to cpumask_var_t. Impact: stack usage reduction Dynamically allocating cpumasks (when CONFIG_CPUMASK_OFFSTACK) saves stack space. cpumask_var_t is just a struct cpumask for !CONFIG_CPUMASK_OFFSTACK. In this case, we always alloced, but we don't need to any more. Signed-off-by: Rusty Russell Signed-off-by: Ingo Molnar commit 5a16f3d30ca4e3f166d691220c003066a14e32b5 Author: Rusty Russell Date: Tue Nov 25 02:35:11 2008 +1030 sched: convert struct (sys_)sched_setaffinity() to cpumask_var_t. Impact: stack usage reduction Dynamically allocating cpumasks (when CONFIG_CPUMASK_OFFSTACK) saves space on the stack. cpumask_var_t is just a struct cpumask for !CONFIG_CPUMASK_OFFSTACK. Note the removal of the initializer of new_mask: since the first thing we did was "cpus_and(new_mask, new_mask, cpus_allowed)" I just changed that to "cpumask_and(new_mask, in_mask, cpus_allowed);". Signed-off-by: Rusty Russell Signed-off-by: Ingo Molnar commit e76bd8d9850c2296a7e8e24c9dce9b5e6b55fe2f Author: Rusty Russell Date: Tue Nov 25 02:35:11 2008 +1030 sched: avoid stack var in move_task_off_dead_cpu Impact: stack usage reduction With some care, we can avoid needing a temporary cpumask (we can't really allocate here, since we can't fail). This version calls cpuset_cpus_allowed_locked() with the task_rq_lock held. I'm fairly sure this works, but there might be a deadlock hiding. And of course, we can't get rid of the last cpumask on stack until we can use cpumask_of_node instead of node_to_cpumask. Signed-off-by: Rusty Russell Signed-off-by: Ingo Molnar commit f17c860760927c2a8e41a021eab3317e4415e962 Author: Rusty Russell Date: Tue Nov 25 02:35:11 2008 +1030 sched: convert sys_sched_getaffinity() to cpumask_var_t. Impact: stack usage reduction Dynamically allocating cpumasks (when CONFIG_CPUMASK_OFFSTACK) saves space in the stack. cpumask_var_t is just a struct cpumask for !CONFIG_CPUMASK_OFFSTACK. Some jiggling here to make sure we always exit at the bottom (so we hit the free_cpumask_var there). Signed-off-by: Rusty Russell Signed-off-by: Ingo Molnar commit a0e902452da16b79d7c9230630ed8a595d14fa85 Author: Rusty Russell Date: Tue Nov 25 02:35:11 2008 +1030 sched: convert rebalance_domains() to cpumask_var_t. Impact: stack usage reduction Dynamically allocating cpumasks (when CONFIG_CPUMASK_OFFSTACK) saves space in the stack. cpumask_var_t is just a struct cpumask for !CONFIG_CPUMASK_OFFSTACK. Signed-off-by: Rusty Russell Signed-off-by: Ingo Molnar commit 4d2732c63e0c05cfef2a74868d08eace922dfc3e Author: Rusty Russell Date: Tue Nov 25 02:35:10 2008 +1030 sched: convert idle_balance() to cpumask_var_t. Impact: stack usage reduction Dynamically allocating cpumasks (when CONFIG_CPUMASK_OFFSTACK) saves space in the stack. cpumask_var_t is just a struct cpumask for !CONFIG_CPUMASK_OFFSTACK. Signed-off-by: Rusty Russell Signed-off-by: Ingo Molnar commit 7d1e6a9b95e3edeac91888bc683ae62f18519432 Author: Rusty Russell Date: Tue Nov 25 02:35:09 2008 +1030 sched: convert nohz struct to cpumask_var_t. Impact: (future) size reduction for large NR_CPUS. Dynamically allocating cpumasks (when CONFIG_CPUMASK_OFFSTACK) saves space for small nr_cpu_ids but big CONFIG_NR_CPUS. cpumask_var_t is just a struct cpumask for !CONFIG_CPUMASK_OFFSTACK. Signed-off-by: Rusty Russell Signed-off-by: Ingo Molnar commit c6c4927b22a3514c6660f0e72c78716226bd3cc8 Author: Rusty Russell Date: Tue Nov 25 02:35:05 2008 +1030 sched: convert struct root_domain to cpumask_var_t. Impact: (future) size reduction for large NR_CPUS. Dynamically allocating cpumasks (when CONFIG_CPUMASK_OFFSTACK) saves space for small nr_cpu_ids but big CONFIG_NR_CPUS. cpumask_var_t is just a struct cpumask for !CONFIG_CPUMASK_OFFSTACK. def_root_domain is static, and so its masks are initialized with alloc_bootmem_cpumask_var. After that, alloc_cpumask_var is used. Signed-off-by: Rusty Russell Signed-off-by: Ingo Molnar commit 6a7b3dc3440f7b5a9b67594af01ed562cdeb41e4 Author: Rusty Russell Date: Tue Nov 25 02:35:04 2008 +1030 sched: convert nohz_cpu_mask to cpumask_var_t. Impact: (future) size reduction for large NR_CPUS. Dynamically allocating cpumasks (when CONFIG_CPUMASK_OFFSTACK) saves space for small nr_cpu_ids but big CONFIG_NR_CPUS. cpumask_var_t is just a struct cpumask for !CONFIG_CPUMASK_OFFSTACK. Signed-off-by: Rusty Russell Signed-off-by: Ingo Molnar commit 6c99e9ad47d9c082bd096f42fb49e397b05d58a8 Author: Rusty Russell Date: Tue Nov 25 02:35:04 2008 +1030 sched: convert struct sched_group/sched_domain cpumask_ts to variable bitmaps Impact: (future) size reduction for large NR_CPUS. We move the 'cpumask' member of sched_group to the end, so when we kmalloc it we can do a minimal allocation: saves space for small nr_cpu_ids but big CONFIG_NR_CPUS. Similar trick for 'span' in sched_domain. This isn't quite as good as converting to a cpumask_var_t, as some sched_groups are actually static, but it's safer: we don't have to figure out where to call alloc_cpumask_var/free_cpumask_var. Signed-off-by: Rusty Russell Signed-off-by: Ingo Molnar commit 758b2cdc6f6a22c702bd8f2344382fb1270b2161 Author: Rusty Russell Date: Tue Nov 25 02:35:04 2008 +1030 sched: wrap sched_group and sched_domain cpumask accesses. Impact: trivial wrap of member accesses This eases the transition in the next patch. We also get rid of a temporary cpumask in find_idlest_cpu() thanks to for_each_cpu_and, and sched_balance_self() due to getting weight before setting sd to NULL. Signed-off-by: Rusty Russell Signed-off-by: Ingo Molnar commit 1e5ce4f4a755ee498bd9217dae26143afa0d8f31 Author: Rusty Russell Date: Tue Nov 25 02:35:03 2008 +1030 sched: remove any_online_cpu() Impact: use new API any_online_cpu() is a good name, but it takes a cpumask_t, not a pointer. There are several places where any_online_cpu() doesn't really want a mask arg at all. Replace all callers with cpumask_any() and cpumask_any_and(). Signed-off-by: Rusty Russell Signed-off-by: Mike Travis Signed-off-by: Ingo Molnar commit 3404c8d97c2d3eb87b1bf4aadad957bfb5235b14 Author: Rusty Russell Date: Tue Nov 25 02:35:03 2008 +1030 sched: get rid of boutique sched.c allocations, use cpumask_var_t. Impact: use new general API Using lots of allocs rather than one big alloc is less efficient, but who cares for this setup function? Signed-off-by: Rusty Russell Signed-off-by: Mike Travis Acked-by: Ingo Molnar Signed-off-by: Ingo Molnar commit abcd083a1a658d2bc1f7fced02632bfe03918002 Author: Rusty Russell Date: Tue Nov 25 02:35:02 2008 +1030 sched: convert sched.c from for_each_cpu_mask to for_each_cpu. Impact: trivial API conversion This is a simple conversion, but note that for_each_cpu() terminates with i >= nr_cpu_ids, not i == NR_CPUS like for_each_cpu_mask() did. I don't convert all of them: sd->span changes in a later patch, so change those iterators there rather than here. Signed-off-by: Rusty Russell Signed-off-by: Ingo Molnar commit ea6f18ed5a1531caf678374f30a0990c9e6742f3 Author: Mike Travis Date: Tue Nov 25 02:35:02 2008 +1030 sched: reduce stack size requirements in kernel/sched.c Impact: cleanup * use node_to_cpumask_ptr in place of node_to_cpumask to reduce stack requirements in sched.c Signed-off-by: Mike Travis Signed-off-by: Rusty Russell Signed-off-by: Ingo Molnar commit 943f3d030003e1fa5f77647328e805441213bf49 Merge: 64b7482 b19b3c7 6f893fb Author: Ingo Molnar Date: Mon Nov 24 17:46:57 2008 +0100 Merge branches 'sched/core', 'core/core' and 'tracing/core' into cpus4096 commit 6f893fb2e89287a4d755f928c3cda9d18440355c Merge: 0429149 1d926f2 69bb54e 65afa5e cbe2f5a 813b852 033601a 958086d fb91ee6 Author: Ingo Molnar Date: Mon Nov 24 17:46:24 2008 +0100 Merge branches 'tracing/branch-tracer', 'tracing/fastboot', 'tracing/ftrace', 'tracing/function-return-tracer', 'tracing/power-tracer', 'tracing/powerpc', 'tracing/ring-buffer', 'tracing/stack-tracer' and 'tracing/urgent' into tracing/core commit b19b3c74c7bbec45a848631b8f970ac110665a01 Merge: ed31348 6003ab0 42569c3 7918baa 29cbda7 2b5fe6d b0788ca 8dd2337 Author: Ingo Molnar Date: Mon Nov 24 17:44:55 2008 +0100 Merge branches 'core/debug', 'core/futexes', 'core/locking', 'core/rcu', 'core/signal', 'core/urgent' and 'core/xen' into core/core commit a2d781fc8d9b16113dd9440107d73c0f21d7cbef Author: Dmitry Torokhov Date: Wed Nov 19 17:02:24 2008 -0500 Input: libps2 - handle 0xfc responses from devices Signed-off-by: Dmitry Torokhov commit 3eb1aa43ef5cb871ba3fb2f08633675eca374d2e Author: Jaya Kumar Date: Wed Nov 19 16:58:50 2008 -0500 Input: add support for Wacom W8001 penabled serial touchscreen The Wacom W8001 sensor is a sensor device (uses electromagnetic resonance) and it is interfaced via its serial microcontroller to the host. Signed-off-by: Jaya Kumar Signed-off-by: Dmitry Torokhov commit 64b7482de253c10efa2589a6212e3d2093a3efc7 Merge: 957ad01 50ee917 Author: Ingo Molnar Date: Mon Nov 24 17:37:12 2008 +0100 Merge branch 'sched/rt' into sched/core commit ef1681d82f4bc2d9e023519f0bedb86519d10c43 Author: Takashi Iwai Date: Mon Nov 24 17:29:28 2008 +0100 ALSA: hda - Add probe_mask quirk for Medion MD96630 Medion MD96630 has ALC268 codec on slot#2 although it's not used for any purpose. This codec conflicts with the primiary codec ALC888 on slot#0, and gives mixer errors. This patch adds a corresponding entry to probe_mask blacklist. Reference: Novell bnc#412528 https://bugzilla.novell.com/show_bug.cgi?id=412528 Signed-off-by: Takashi Iwai commit b0bd53a7399f65e2d1b37cd44c5003e55b886c1e Author: Peter Ujfalusi Date: Mon Nov 24 13:49:38 2008 +0200 ASoC: TWL4030: Add helper function for output gain controls Some of the gain controls in TWL (mostly those which are associated with the outputs) are implemented in an interesting way: 0x0 : Power down (mute) 0x1 : 6dB 0x2 : 0 dB 0x3 : -6 dB Inverting not going to help with these. Custom volsw and volsw_2r get/put functions to handle these gains. Signed-off-by: Peter Ujfalusi Signed-off-by: Mark Brown commit 0d33ea0b0f954dddd3996597c663c111249d4df9 Author: Peter Ujfalusi Date: Mon Nov 24 13:49:36 2008 +0200 ASoC: TWL4030: Add CGAIN volume control Add CGAIN (Coarse gain control) to TWL4030 codec. The range of the CGAIN is: 0 dB to 12 dB in 6 dB steps. Signed-off-by: Peter Ujfalusi Signed-off-by: Mark Brown commit c10b82cf085c38f2568609ffb10a6d725130f389 Author: Peter Ujfalusi Date: Mon Nov 24 13:49:35 2008 +0200 ASoC: TWL4030: Change the Master volume control to TLV TWL4030 FGAIN volume control has a range: -62 to 0 dB in 1 dB steps, 0 in the FGAIN means mute. Signed-off-by: Peter Ujfalusi Signed-off-by: Mark Brown commit f8d05bdbb07458e5f2c6a8281bde08056836fea6 Author: Peter Ujfalusi Date: Mon Nov 24 08:25:45 2008 +0200 ASoC: TWL4030: Disable soft-volume Keep Soft-volume disabled for now, since if it is enabled the FGAIN volume controls are not working in the current configuration: CODEC_MODE:OPT_MODE = 1 OPTION:ARXR2_EN = 1 OPTION:ARXL2_EN = 1 OPTION:ARXR1_EN = 0 OPTION:ARXL1_VRX_EN = 0 RX_PATH_SEL:RXL1_SEL = 0x0 (or 0x1) RX_PATH_SEL:RXR1_SEL = 0x0 (or 0x1) After the patch, FGAIN volume control works. Signed-off-by: Peter Ujfalusi Signed-off-by: Mark Brown commit 55b8bac50a494871594e81a05b37c15e7283f868 Author: Mark Brown Date: Mon Nov 24 14:05:29 2008 +0000 ASoC: Use supplied DAI for WM9713 rather than substream Signed-off-by: Mark Brown commit 328bd8997dbb7184d5389e45c642af44ae6e9043 Author: Patrick McHardy Date: Mon Nov 24 13:44:55 2008 +0100 netfilter: nf_conntrack_proto_sctp: avoid bogus warning net/netfilter/nf_conntrack_proto_sctp.c: In function 'sctp_packet': net/netfilter/nf_conntrack_proto_sctp.c:376: warning: array subscript is above array bounds gcc doesn't realize that do_basic_checks() guarantees that there is at least one valid chunk and thus new_state is never SCTP_CONNTRACK_MAX after the loop. Initialize to SCTP_CONNTRACK_NONE to avoid the warning. Based on patch by Wu Fengguang Signed-off-by: Patrick McHardy commit ad07e914e681f18ec0eaba60db17f497ee7e7e78 Author: Ingo Molnar Date: Mon Nov 24 11:33:12 2008 +0100 x86 defconfig: increase CONFIG_LOG_BUF_SHIFT Impact: double the defconfig printk buffer Booting defconfigs produces more output than 128K so the output is truncated - double it to 256K. Signed-off-by: Ingo Molnar commit e45f2c07742d447597df001c878bc4a8aafcde37 Author: Denis V. Lunev Date: Mon Nov 24 11:28:36 2008 +0300 x86: correct link to HPET timer specification Impact: update documentation / help text Original link is dead. Signed-off-by: Denis V. Lunev Signed-off-by: Ingo Molnar commit 7918baa555140989eeee1270f48533987d48fdba Author: Török Edwin Date: Mon Nov 24 10:17:42 2008 +0200 mutex: __used is needed for function referenced only from inline asm Impact: fix build failure on llvm-gcc-4.2 According to the gcc manual, the 'used' attribute should be applied to functions referenced only from inline assembly. This fixes a build failure with llvm-gcc-4.2, which deleted __mutex_lock_slowpath, __mutex_unlock_slowpath. Signed-off-by: Török Edwin Signed-off-by: Ingo Molnar commit b47b92884212008b4bd044ba6b48b93c00b10ec6 Author: H. Peter Anvin Date: Mon Nov 24 00:50:09 2008 -0800 x86: drop REBOOT_CF9_COND from reboot fallback chain Impact: Reverts sequence of reboot fallbacks Checkin 14d7ca5c575853664d8fe4f225a77b8df1b7de7d changed the default reboot method to "pci", a.k.a. port CF9. Unfortunately this has been shown to cause lockups on at least two systems for which REBOOT_KBD worked, both Thinkpads with Intel chipsets. Checkin 3889d0cea2b73049bdca062d9ff1e5d33468289c reverted the default, but did not revert the fallback chain. This checkin reverts the fallback chain; port CF9 is now only done by explicit "reboot=pci" or a future potential DMI key. Signed-off-by: H. Peter Anvin commit 920de804bca61f88643bc9171bcd06f1a56c6258 Author: Eric Dumazet Date: Mon Nov 24 00:09:29 2008 -0800 net: Make sure BHs are disabled in sock_prot_inuse_add() The rule of calling sock_prot_inuse_add() is that BHs must be disabled. Some new calls were added where this was not true and this tiggers warnings as reported by Ilpo. Fix this by adding explicit BH disabling around those call sites, or moving sock_prot_inuse_add() call inside an existing BH disabled section. Signed-off-by: Eric Dumazet Signed-off-by: David S. Miller commit 1f87e235e6fb92c2968b52b9191de04f1aff8e77 Author: Eric Dumazet Date: Sun Nov 23 23:24:32 2008 -0800 eth: Declare an optimized compare_ether_addr_64bits() function Linus mentioned we could try to perform long word operations, even on potentially unaligned addresses, on x86 at least. David mentioned the HAVE_EFFICIENT_UNALIGNED_ACCESS test to handle this on all arches that have efficient unailgned accesses. I tried this idea and got nice assembly on 32 bits: 158: 33 82 38 01 00 00 xor 0x138(%edx),%eax 15e: 33 8a 34 01 00 00 xor 0x134(%edx),%ecx 164: c1 e0 10 shl $0x10,%eax 167: 09 c1 or %eax,%ecx 169: 74 0b je 176 And very nice assembly on 64 bits of course (one xor, one shl) Nice oprofile improvement in eth_type_trans(), 0.17 % instead of 0.41 %, expected since we remove 8 instructions on a fast path. This patch implements a compare_ether_addr_64bits() function, that uses the CONFIG_HAVE_EFFICIENT_UNALIGNED_ACCESS ifdef to efficiently perform the 6 bytes comparison on all capable arches. Signed-off-by: Eric Dumazet Signed-off-by: David S. Miller commit ef8ef5fb1027b56f867d4b913cf52bfdc610d2a7 Author: Vincent Petry Date: Sun Nov 23 11:31:41 2008 +0800 ALSA: hda: Added an ALC888 model entry for Fujitsu-Siemens Amilo Xa3530 This patch fixes the bug 0004240: ALC888 - Intel HDA - Headphone Controlling. It is made against the 2008-11-23 snapshot. Added Realtek ALC888 model entry for the Fujitsu-Siemens Amilo Xa3530 laptop. It has 4 jacks: HP out, Mic-in, Line-in and Line-out/Side/SPDIF (this one is on the laptop side, the other ones are on the rear). Model detection works. Headphone jack sense works now. Front mic works now, was same as Acer Aspire 4930G. Added channel mode from 2 to 8 channels. In 2ch and 4ch modes, the front is also sent to the Line-out/side jack for convenience instead of just muting the Line-out/side jack like other models do. When using the Mic-in jack as CLFE, the sound is very low (bug?). To work it around, in 6ch mode the CLFE channel is duplicated to the Line-out/side jack because this one has a better amp. Cc: manu@frogged.de Signed-off-by: Vincent Petry Signed-off-by: Takashi Iwai commit a9cb5c90539dd618029884701760fe79b9b83102 Author: Takashi Iwai Date: Mon Nov 24 07:51:11 2008 +0100 ALSA: hda - No 'Headphone as Line-out' swich without line-outs STAC/IDT driver creates "Headphone as Line-Out" switch even if there is no line-out pins on the machine. For devices only with headpohnes and speaker-outs, this switch shouldn't be created. Signed-off-by: Takashi Iwai commit b7be019e80da4db96d283734d55366014509911c Author: Aneesh Kumar K.V Date: Sun Nov 23 23:51:53 2008 -0500 ext4: Fix lockdep recursive locking warning In ext4_mb_init_group(), if the filesystem block size is less than PAGE_SIZE/2, the code tries to grab alloc_sem for multiple block groups in a loop. We need to allow for this by using down_write_nested() and passing in the loop index as a lock subclass number. This works because no other code path needs to take multiple alloc_sem's. Note that lockdep will fail for filesystem blocksize smaller than to PAGE_SIZE/16k. (e.g., a 1k filesystem blocksize with a 32k page size, or a 2k filesystem blocksize with a 64k blocksize, etc.) Signed-off-by: Aneesh Kumar K.V Signed-off-by: "Theodore Ts'o" commit 7a2fcbf7f85737735fd44eb34b62315bccf6d6e4 Author: Aneesh Kumar K.V Date: Mon Jan 5 21:36:55 2009 -0500 ext4: don't use blocks freed but not yet committed in buddy cache init When we generate buddy cache (especially during resize) we need to make sure we don't use the blocks freed but not yet comitted. This makes sure we have the right value of free blocks count in the group info and also in the bitmap. This also ensures the ordered mode consistency Signed-off-by: Aneesh Kumar K.V Signed-off-by: "Theodore Ts'o" Cc: stable@kernel.org commit 70eb1bfd52e97120eddf9b5aaabfe1ecdf4eb663 Author: David S. Miller Date: Sun Nov 23 20:01:59 2008 -0800 axnet_cs: Fix build after net device ops ne2k conversion. Commit 4e4fd4e485ad63a9074ff09a9b53ffc7a5c594ec ("ne2k: convert to net_device_ops") exported some ei_* symbols from the 8390 library, but the axnet_cs driver defines local static versions of the same functions. Rename them to avoid the namespace conflict. Reported by Stephen Rothwell. Signed-off-by: David S. Miller commit 6f756a8c36bf54d0afb1d457082b3e3033d951a7 Author: David S. Miller Date: Sun Nov 23 17:34:03 2008 -0800 net: Make sure BHs are disabled in sock_prot_inuse_add() The rule of calling sock_prot_inuse_add() is that BHs must be disabled. Some new calls were added where this was not true and this tiggers warnings as reported by Ilpo. Fix this by adding explicit BH disabling around those call sites. Signed-off-by: David S. Miller commit be77e5930725c3e77bcc0fb1def28e016080d0a1 Author: Alexey Dobriyan Date: Sun Nov 23 17:26:26 2008 -0800 net: fix tunnels in netns after ndo_ changes dev_net_set() should be the very first thing after alloc_netdev(). "ndo_" changes turned simple assignment (which is OK to do before netns assignment) into quite non-trivial operation (which is not OK, init_net was used). This leads to incomplete initialisation of tunnel device in netns. BUG: unable to handle kernel NULL pointer dereference at 00000004 IP: [] ip6_tnl_exit_net+0x37/0x4f *pde = 00000000 Oops: 0000 [#1] PREEMPT DEBUG_PAGEALLOC last sysfs file: /sys/class/net/lo/operstate Pid: 10, comm: netns Not tainted (2.6.28-rc6 #1) EIP: 0060:[] EFLAGS: 00010246 CPU: 0 EIP is at ip6_tnl_exit_net+0x37/0x4f EAX: 00000000 EBX: 00000020 ECX: 00000000 EDX: 00000003 ESI: c5caef30 EDI: c782bbe8 EBP: c7909f50 ESP: c7909f48 DS: 007b ES: 007b FS: 0000 GS: 0000 SS: 0068 Process netns (pid: 10, ti=c7908000 task=c7905780 task.ti=c7908000) Stack: c03e75e0 c7390bc8 c7909f60 c0245448 c7390bd8 c7390bf0 c7909fa8 c012577a 00000000 00000002 00000000 c0125736 c782bbe8 c7909f90 c0308fe3 c782bc04 c7390bd4 c0245406 c084b718 c04f0770 c03ad785 c782bbe8 c782bc04 c782bc0c Call Trace: [] ? cleanup_net+0x42/0x82 [] ? run_workqueue+0xd6/0x1ae [] ? run_workqueue+0x92/0x1ae [] ? schedule+0x275/0x285 [] ? cleanup_net+0x0/0x82 [] ? worker_thread+0x81/0x8d [] ? autoremove_wake_function+0x0/0x33 [] ? worker_thread+0x0/0x8d [] ? kthread+0x39/0x5e [] ? kthread+0x0/0x5e [] ? kernel_thread_helper+0x7/0x10 Code: db e8 05 ff ff ff 89 c6 e8 dc 04 f6 ff eb 08 8b 40 04 e8 38 89 f5 ff 8b 44 9e 04 85 c0 75 f0 43 83 fb 20 75 f2 8b 86 84 00 00 00 <8b> 40 04 e8 1c 89 f5 ff e8 98 04 f6 ff 89 f0 e8 f8 63 e6 ff 5b EIP: [] ip6_tnl_exit_net+0x37/0x4f SS:ESP 0068:c7909f48 ---[ end trace 6c2f2328fccd3e0c ]--- Signed-off-by: Alexey Dobriyan Signed-off-by: David S. Miller commit c25eb3bfb97294d0543a81230fbc237046b4b84c Author: Eric Dumazet Date: Sun Nov 23 17:22:55 2008 -0800 net: Convert TCP/DCCP listening hash tables to use RCU This is the last step to be able to perform full RCU lookups in __inet_lookup() : After established/timewait tables, we add RCU lookups to listening hash table. The only trick here is that a socket of a given type (TCP ipv4, TCP ipv6, ...) can now flight between two different tables (established and listening) during a RCU grace period, so we must use different 'nulls' end-of-chain values for two tables. We define a large value : #define LISTENING_NULLS_BASE (1U << 29) So that slots in listening table are guaranteed to have different end-of-chain values than slots in established table. A reader can still detect it finished its lookup in the right chain. Signed-off-by: Eric Dumazet Signed-off-by: David S. Miller commit 8c862c23e2563e6aedfc6c4aa6827cadb83f2414 Author: Gerrit Renker Date: Sun Nov 23 16:10:23 2008 -0800 dccp: Header option insertion routine for feature-negotiation The patch extends existing code: * Confirm options divide into the confirmed value plus an optional preference list for SP values. Previously only the preference list was echoed for SP values, now the confirmed value is added as per RFC 4340, 6.1; * length and sanity checks are added to avoid illegal memory (or NULL) access. Signed-off-by: Gerrit Renker Acked-by: Ian McDonald Signed-off-by: David S. Miller commit d371056695ef993d36c57b73d654e66080377a9c Author: Gerrit Renker Date: Sun Nov 23 16:09:11 2008 -0800 dccp: Support for Mandatory options Support for Mandatory options is provided by this patch, which will be used by subsequent feature-negotiation patches. Signed-off-by: Gerrit Renker Acked-by: Ian McDonald Acked-by: Arnaldo Carvalho de Melo Signed-off-by: David S. Miller commit 02fa460ef553faabc7e0b15ff9f607f028739808 Author: Gerrit Renker Date: Sun Nov 23 16:07:53 2008 -0800 dccp: Increase the scope of variable-length htonl/ntohl functions This extends the scope of two available functions, encode|decode_value_var, to work up to 6 (8) bytes, to match maximum requirements in the RFC. These functions are going to be used both by general option processing and feature negotiation code, hence declarations have been put into feat.h. Signed-off-by: Gerrit Renker Acked-by: Ian McDonald Acked-by: Arnaldo Carvalho de Melo Signed-off-by: David S. Miller commit 71c262a3dd42dea73700646d969b0af7a4102edf Author: Gerrit Renker Date: Sun Nov 23 16:04:59 2008 -0800 dccp: API to query the current TX/RX CCID This provides function to query the current TX/RX CCID dynamically, without reliance on the minisock value, using dynamic information available in the currently loaded CCID module. This query function is then used to (a) provide the getsockopt part for getting/setting CCIDs via sockopts; (b) replace the current test for "which CCID is in use" in probe.c. Signed-off-by: Gerrit Renker Acked-by: Ian McDonald Signed-off-by: David S. Miller commit b20a9c24d5c5d466d7e4a25c6f1bedbd2d16ad4f Author: Gerrit Renker Date: Sun Nov 23 16:02:31 2008 -0800 dccp: Set per-connection CCIDs via socket options With this patch, TX/RX CCIDs can now be changed on a per-connection basis, which overrides the defaults set by the global sysctl variables for TX/RX CCIDs. To make full use of this facility, the remaining patches of this patch set are needed, which track dependencies and activate negotiated feature values. Signed-off-by: Gerrit Renker Signed-off-by: David S. Miller commit 2c62ad7b56fa8e2658253c0256ef4c4de228a0b9 Author: Brice Goglin Date: Sun Nov 23 15:49:54 2008 -0800 myri10ge: update firmware headers Update myri10ge firmware headers. Signed-off-by: Brice Goglin Signed-off-by: David S. Miller commit 4ee2ac51359fc37d9ae5d5cc76e93af9105f1722 Author: Brice Goglin Date: Sun Nov 23 15:49:28 2008 -0800 myri10ge: update DCA comments Update DCA sections closing comments. Signed-off-by: Brice Goglin Signed-off-by: David S. Miller commit c1fd3b9455a977057f73534324d4e07a3d9fe502 Author: Eric Dumazet Date: Sun Nov 23 15:48:22 2008 -0800 net: af_netlink should update its inuse counter In order to have relevant information for NETLINK protocol, in /proc/net/protocols, we should use sock_prot_inuse_add() to update a (percpu and pernamespace) counter of inuse sockets. Signed-off-by: Eric Dumazet Signed-off-by: David S. Miller commit 04f258ce7f085dd69422fa01d41c8f0194a0e270 Author: Eric Dumazet Date: Sun Nov 23 15:42:23 2008 -0800 net: some optimizations in af_inet 1) Use eq_net() in inet_netns_ok() to speedup socket creation if !CONFIG_NET_NS 2) Reorder the tests about inet_ehash_secret generation (once only) Use the unlikely() macro when testing if inet_ehash_secret already generated. Signed-off-by: Eric Dumazet Signed-off-by: David S. Miller commit 958086d1784459be3fe85e4cad79d42b17d33381 Author: Török Edwin Date: Sun Nov 23 23:24:53 2008 +0200 vfs, seqfile: fix comment style on mangle_path Impact: use standard docbook tags Reported-by: Randy Dunlap Signed-off-by: Török Edwin Signed-off-by: Ingo Molnar commit 65afa5e603d507014580ead016ec887b49e1afa6 Author: Frederic Weisbecker Date: Sun Nov 23 18:43:39 2008 +0100 tracing/function-return-tracer: free the return stack on free_task() Impact: avoid losing some traces when a task is freed do_exit() is not the last function called when a task finishes. There are still some functions which are to be called such as ree_task(). So we delay the freeing of the return stack to the last moment. Signed-off-by: Frederic Weisbecker Signed-off-by: Ingo Molnar commit 3b71e9e307b3406aa29960a7428247f8a48b810c Author: Hannes Eder Date: Sun Nov 23 20:19:33 2008 +0100 x86: HPET: fix sparse warning Impact: make global variable static Fix this sparse warning: arch/x86/kernel/hpet.c:36:18: warning: symbol 'hpet_num_timers' was not declared. Should it be static? Signed-off-by: Hannes Eder Signed-off-by: Ingo Molnar commit 5f5db591326779a80cfe490c5d6b6ce9fac08b31 Author: jia zhang Date: Sun Nov 23 22:47:10 2008 +0800 x86, debug: remove the confusing entry in call trace Impact: improve backtrace quality avoid the confusion in call trace because of the lack of padding at the tail of function. When do_exit gets called, the return address behind call instruction is pushed into stack. If something get wrong in do_exit, for x86_64, the entry "kernel_execve +0x00/0xXX" rather than "child_rip +0xYY/0xZZ" is in the call trace. That looks confusing, so add a u2d to make the return address still part of the original call site. (This also catches any instances of us returning from that function somehow.) Signed-off-by: jia zhang Acked-by: Alexander van Heukelum Signed-off-by: Ingo Molnar commit a1a00b58855ccdbedf556b4f5638d5208b454472 Author: Hannes Eder Date: Sun Nov 23 19:37:09 2008 +0100 x86: boot - fix sparse warnings Impact: make global variables static Fix these sparse warnings: arch/x86/boot/video.c:233:3: warning: symbol 'saved' was not declared. Should it be static? arch/x86/boot/video-vga.c:37:13: warning: symbol 'video_vga' was not declared. Should it be static? Signed-off-by: Hannes Eder Signed-off-by: Ingo Molnar commit 3b6c52b5b634ae41d762cb174465272d69198160 Author: Cyrill Gorcunov Date: Sun Nov 23 20:21:39 2008 +0300 x86: introduce ENTRY(KPROBE_ENTRY)_X86 assembly helpers to catch unbalanced declaration v3 Impact: make ENTRY()/END() macros more capable It's usefull to catch unbalanced or messed or mixed declarations of ENTRY and KPROBES. These macros would help a bit. For example the following code would compile without problems ENTRY_X86(mcount) retq END_X86(mcount) But if you forget and mess the following form ENTRY_X86(mcount) retq END(mcount) ENTRY_X86(ftrace_caller) The assembler will issue the following message: Error: ENTRY_X86/KPROBE_X86 unbalanced,missed,mixed Actually the checking is performed at every _X86 macro so maybe it's good idea to put ENTRY_KPROBE_FINAL_X86 at the end of .S file to be sure you didn't miss anything. Signed-off-by: Cyrill Gorcunov Cc: Alexander van Heukelum Signed-off-by: Ingo Molnar commit eae849ca034c7f1015f0a6f17421ebc737f0a069 Author: Frederic Weisbecker Date: Sun Nov 23 17:33:12 2008 +0100 tracing/function-return-tracer: don't trace kfree while it frees the return stack Impact: fix a crash While I killed the cat process, I got sometimes the following (but rare) crash: [ 65.689027] Pid: 2969, comm: cat Not tainted (2.6.28-rc6-tip #83) AMILO Li 2727 [ 65.689027] EIP: 0060:[<00000000>] EFLAGS: 00010082 CPU: 1 [ 65.689027] EIP is at 0x0 [ 65.689027] EAX: 00000000 EBX: f66cd780 ECX: c019a64a EDX: f66cd780 [ 65.689027] ESI: 00000286 EDI: f66cd780 EBP: f630be2c ESP: f630be24 [ 65.689027] DS: 007b ES: 007b FS: 00d8 GS: 0000 SS: 0068 [ 65.689027] Process cat (pid: 2969, ti=f630a000 task=f66cd780 task.ti=f630a000) [ 65.689027] Stack: [ 65.689027] 00000012 f630bd54 f630be7c c012c853 00000000 c0133cc9 f66cda54 f630be5c [ 65.689027] f630be68 f66cda54 f66cd88c f66cd878 f7070000 00000001 f630be90 c0135dbc [ 65.689027] f614a614 f630be68 f630be68 f65ba200 00000002 f630bf10 f630be90 c012cad6 [ 65.689027] Call Trace: [ 65.689027] [] ? do_exit+0x603/0x850 [ 65.689027] [] ? next_signal+0x9/0x40 [ 65.689027] [] ? dequeue_signal+0x8c/0x180 [ 65.689027] [] ? do_group_exit+0x36/0x90 [ 65.689027] [] ? get_signal_to_deliver+0x20c/0x390 [ 65.689027] [] ? do_notify_resume+0x99/0x8b0 [ 65.689027] [] ? tty_ldisc_deref+0x5a/0x80 [ 65.689027] [] ? trace_hardirqs_on+0xb/0x10 [ 65.689027] [] ? tty_ldisc_deref+0x5a/0x80 [ 65.689027] [] ? n_tty_write+0x0/0x340 [ 65.689027] [] ? redirected_tty_write+0x82/0x90 [ 65.689027] [] ? vfs_write+0x99/0xd0 [ 65.689027] [] ? redirected_tty_write+0x0/0x90 [ 65.689027] [] ? sys_write+0x42/0x70 [ 65.689027] [] ? work_notifysig+0x13/0x19 [ 65.689027] Code: Bad EIP value. [ 65.689027] EIP: [<00000000>] 0x0 SS:ESP 0068:f630be24 This is because on do_exit(), kfree is called to free the return addresses stack but kfree is traced and stored its return address in this stack. This patch fixes it. Signed-off-by: Frederic Weisbecker Signed-off-by: Ingo Molnar commit e262a7ba31f0cd4dae225e6d2e9037e5ac6108e8 Author: Richard Kennedy Date: Sun Nov 23 14:34:43 2008 +0000 irq.h: remove padding from irq_desc on 64bits Impact: reduce struct irq_desc size struct irq_desc: reorder to remove padding on 64bits shrinks irq_desc to 128 bytes which saves data space & cache lines On a generic x86_64/SMP build this reduces the reported data size by 64k. Signed-off-by: Richard Kennedy Signed-off-by: Ingo Molnar commit 6efdcfaf16cc4fc76651603e083cf3ec4bd1e6de Author: Alexander van Heukelum Date: Sun Nov 23 10:15:32 2008 +0100 x86: KPROBE_ENTRY should be paired wth KPROBE_END Impact: move some code out of .kprobes.text KPROBE_ENTRY switches code generation to .kprobes.text, and KPROBE_END uses .popsection to get back to the previous section (.text, normally). Also replace ENDPROC by END, for consistency. Signed-off-by: Alexander van Heukelum Signed-off-by: Ingo Molnar commit 322648d1ba75280d62f114d47048beb0b35f5047 Author: Alexander van Heukelum Date: Sun Nov 23 10:08:28 2008 +0100 x86: include ENTRY/END in entry handlers in entry_64.S Impact: cleanup of entry_64.S Except for the order and the place of the functions, this patch should not change the generated code. Signed-off-by: Alexander van Heukelum Signed-off-by: Ingo Molnar commit 813b8520f5c240c71df55d14095a7b171de264ce Merge: ed31348 7cc45e6 Author: Ingo Molnar Date: Sun Nov 23 13:47:54 2008 +0100 Merge branch 'ppc/ftrace' of git://git.kernel.org/pub/scm/linux/kernel/git/rostedt/linux-2.6-trace into tracing/powerpc commit 050dc6944b9ca2186f4729ab44e0da3743933941 Author: Hannes Eder Date: Sun Nov 23 13:35:48 2008 +0100 x86: remove duplicate #define from 'cpufeature.h' Impact: cleanup Remove duplicate #define from 'cpufeature.h'. This also fixes the following sparse warning: arch/x86/kernel/cpu/capflags.c:54:3: warning: Initializer entry defined twice arch/x86/kernel/cpu/capflags.c:58:3: also defined here Signed-off-by: Hannes Eder Signed-off-by: Ingo Molnar commit 8a2503fa4a6fae8ee42140b339f37373fc6acaae Author: Cyrill Gorcunov Date: Sun Nov 23 14:53:43 2008 +0300 x86: move dwarf2 related macro to dwarf2.h Impact: cleanup Move recently introduced dwarf2 macros to dwarf2.h file. It allow us to not duplicate them in assembly files. Active usage of _cfi macros don't make assembly files more obvious to understand but we already have a lot of macros there which requires to search the definitions of them *anyway*. But at least it make every cfi usage one line shorter. Also some code alignment is done. Signed-off-by: Cyrill Gorcunov Signed-off-by: Ingo Molnar commit e38da59269be8c0196d16dff1be5bb26076afc6a Author: Török Edwin Date: Sun Nov 23 13:08:10 2008 +0200 tracing/stack-tracer: avoid races accessing file Impact: fix race vma->vm_file reference is only stable while holding the mmap_sem, so move usage of it to within the critical section. Signed-off-by: Ingo Molnar commit 8d26487fd4ddda7a0237da418fb8669fb06ae557 Author: Török Edwin Date: Sun Nov 23 12:39:08 2008 +0200 tracing/stack-tracer: introduce CONFIG_USER_STACKTRACE_SUPPORT Impact: cleanup User stack tracing is just implemented for x86, but it is not x86 specific. Introduce a generic config flag, that is currently enabled only for x86. When other arches implement it, they will have to SELECT USER_STACKTRACE_SUPPORT. Signed-off-by: Török Edwin Signed-off-by: Ingo Molnar commit cffa10aecb6891f090a4d53a075bc40c082c45fc Author: Török Edwin Date: Sun Nov 23 12:39:07 2008 +0200 tracing/stack-tracer: fix locking and refcounts Impact: fix refcounting/object-access bug Hold mmap_sem while looking up/accessing vma. Hold the RCU lock while using the task we looked up. Signed-off-by: Török Edwin Signed-off-by: Ingo Molnar commit 8d7c6a96164651dbbab449ef0b5c20ae1f76a3a1 Author: Török Edwin Date: Sun Nov 23 12:39:06 2008 +0200 tracing/stack-tracer: fix style issues Impact: cleanup Signed-off-by: Török Edwin Signed-off-by: Ingo Molnar commit 0429149fb5e01edc410648591c19095d2074ee00 Author: Steven Rostedt Date: Fri Nov 21 14:44:57 2008 -0500 trace: fix compiler warning in branch profiler Impact: fix compiler warning The ftrace_pointers used in the branch profiler are constant values. They should never change. But the compiler complains when they are passed into the debugfs_create_file as a data pointer, because the function discards the qualifier. This patch typecasts the parameter to debugfs_create_file back to a void pointer. To remind the callbacks that they are pointing to a constant value, I also modified the callback local pointers to be const struct ftrace_pointer * as well. Signed-off-by: Steven Rostedt Signed-off-by: Ingo Molnar commit 69bb54ec05f57da7f6fac2cec0820cbc970df20f Author: Steven Rostedt Date: Fri Nov 21 12:59:38 2008 -0500 ftrace: add ftrace_off_permanent Impact: add new API to disable all of ftrace on anomalies It case of a serious anomaly being detected (like something caught by lockdep) it is a good idea to disable all tracing immediately, without grabing any locks. This patch adds ftrace_off_permanent that disables the tracers, function tracing and ring buffers without a way to enable them again. This should only be used when something serious has been detected. Signed-off-by: Steven Rostedt Signed-off-by: Ingo Molnar commit 033601a32b2012b6948e80e739cca40bff4de4a0 Author: Steven Rostedt Date: Fri Nov 21 12:41:55 2008 -0500 ring-buffer: add tracing_off_permanent Impact: feature to permanently disable ring buffer This patch adds a API to the ring buffer code that will permanently disable the ring buffer from ever recording. This should only be called when some serious anomaly is detected, and the system may be in an unstable state. When that happens, shutting down the recording to the ring buffers may be appropriate. Signed-off-by: Steven Rostedt Signed-off-by: Ingo Molnar commit e58918ab9d4cd375f6d842e6d88cf4d7a55cbfcc Author: Jim Radford Date: Thu Nov 20 19:48:39 2008 -0800 ftrace: scripts/recordmcount.pl support for ARM Impact: extend scripts/recordmcount.pl to ARM Arm uses %progbits instead of @progbits and requires only 4 byte alignment. [ Thanks to Sam Ravnborg for mentioning that ARM uses %progbits ] Signed-off-by: Jim Radford Signed-off-by: Steven Rostedt Signed-off-by: Ingo Molnar commit 3a3d04aed05add2247ea2ba5da5f90dba4062f3f Author: Matt Fleming Date: Thu Nov 20 21:49:52 2008 +0000 ftrace: specify $alignment for sh architecture Impact: extend scripts/recordmcount.pl with default alignment for SH Set $alignment=2 for the sh architecture so that a ".align 2" directive will be emitted for all __mcount_loc sections. Fix a whitspace error while I'm here (converted spaces to tabs). Signed-off-by: Matt Fleming Signed-off-by: Steven Rostedt Signed-off-by: Ingo Molnar commit 2bcd521a684cc94befbe2ce7d5b613c841b0d304 Author: Steven Rostedt Date: Fri Nov 21 01:30:54 2008 -0500 trace: profile all if conditionals Impact: feature to profile if statements This patch adds a branch profiler for all if () statements. The results will be found in: /debugfs/tracing/profile_branch For example: miss hit % Function File Line ------- --------- - -------- ---- ---- 0 1 100 x86_64_start_reservations head64.c 127 0 1 100 copy_bootdata head64.c 69 1 0 0 x86_64_start_kernel head64.c 111 32 0 0 set_intr_gate desc.h 319 1 0 0 reserve_ebda_region head.c 51 1 0 0 reserve_ebda_region head.c 47 0 1 100 reserve_ebda_region head.c 42 0 0 X maxcpus main.c 165 Miss means the branch was not taken. Hit means the branch was taken. The percent is the percentage the branch was taken. This adds a significant amount of overhead and should only be used by those analyzing their system. Signed-off-by: Steven Rostedt Signed-off-by: Ingo Molnar commit bac28bfe42ba98ee67503f78984d1d5e1ebbbb78 Author: Steven Rostedt Date: Fri Nov 21 01:51:53 2008 -0500 trace: branch profiling should not print percent without data Impact: cleanup on output of branch profiler When a branch has not been taken, it does not make sense to show a percentage incorrect or hit. This patch changes the behaviour to print out a 'X' when the branch has not been executed yet. For example: correct incorrect % Function File Line ------- --------- - -------- ---- ---- 2096 0 0 do_arch_prctl process_64.c 832 0 0 X do_arch_prctl process_64.c 804 2604 0 0 IS_ERR err.h 34 130228 5765 4 __switch_to process_64.c 673 0 0 X enable_TSC process_64.c 448 0 0 X disable_TSC process_64.c 431 Signed-off-by: Steven Rostedt Signed-off-by: Ingo Molnar commit 45b797492a0758e64dff74e9db70e1f65e0603a5 Author: Steven Rostedt Date: Fri Nov 21 00:40:40 2008 -0500 trace: consolidate unlikely and likely profiler Impact: clean up to make one profiler of like and unlikely tracer The likely and unlikely profiler prints out the file and line numbers of the annotated branches that it is profiling. It shows the number of times it was correct or incorrect in its guess. Having two different files or sections for that matter to tell us if it was a likely or unlikely is pretty pointless. We really only care if it was correct or not. Signed-off-by: Steven Rostedt Signed-off-by: Ingo Molnar commit 42f565e116e0408b5ddc21a33c4a4d41fd572420 Author: Steven Rostedt Date: Thu Nov 20 23:57:47 2008 -0500 trace: remove extra assign in branch check Impact: clean up of branch check The unlikely/likely profiler does an extra assign of the f.line. This is not needed since it is already calculated at compile time. Signed-off-by: Steven Rostedt Signed-off-by: Ingo Molnar commit c204f7264c7de85aecd3638dc8fe07aba6d1fff5 Author: Steven Rostedt Date: Thu Nov 20 15:07:34 2008 -0500 ftrace: create default variables for archs in recordmcount.pl Impact: cleanup of recordmcount.pl Now that more architectures are being ported to the MCOUNT_RECORD method, there is no reason to have each declare their own arch specific variable if most of them share the same value. This patch creates a set of default values for the arch specific variables based off of i386. Signed-off-by: Steven Rostedt Signed-off-by: Ingo Molnar commit 42e007d0400155fbc12c5344c808889e6ae33d32 Author: Steven Rostedt Date: Thu Nov 20 07:16:16 2008 -0800 ftrace: add support for powerpc to recordmcount.pl script Impact: Add PowerPC port to recordmcount.pl script This patch updates the recordmcount.pl script to process PowerPC. Signed-off-by: Steven Rostedt Signed-off-by: Ingo Molnar commit 0da85c09b44bfea07e63ed5324aabc7cfc8a889a Author: Matt Fleming Date: Wed Nov 12 20:11:47 2008 +0900 sh: dynamic ftrace support. First cut at dynamic ftrace support. [ Steven Rostedt - only updated the recordmcount.pl file. There are updates for PowerPC that will conflict with this, and we need to base off of these changes. ] Signed-off-by: Matt Fleming Signed-off-by: Paul Mundt Signed-off-by: Steven Rostedt Signed-off-by: Ingo Molnar commit 4e42ebd57b2e727b28bf5f6068e95cd19b0e807b Author: Hannes Eder Date: Fri Nov 21 22:56:17 2008 +0100 x86: hypervisor - fix sparse warnings Impact: fix sparse build warning Fix the following sparse warnings: arch/x86/kernel/cpu/hypervisor.c:37:15: warning: symbol 'get_hypervisor_tsc_freq' was not declared. Should it be static? arch/x86/kernel/cpu/hypervisor.c:53:16: warning: symbol 'init_hypervisor' was not declared. Should it be static? Signed-off-by: Hannes Eder Cc: "Alok N Kataria" Cc: "Dan Hecht" Signed-off-by: Ingo Molnar commit 1d926f2756392c6909f60e0c9fe2a09d5462e376 Author: Will Newton Date: Fri Nov 21 14:08:59 2008 -0800 init/main.c: use ktime accessor function in initcall_debug code Impact: fix initcall debug output on non-scalar ktime platforms (32-bit embedded) The initcall_debug code access the tv64 member of ktime. This won't work correctly for large deltas on platforms that don't use the scalar ktime implementation. Signed-off-by: Will Newton Acked-by: Tim Bird Signed-off-by: Andrew Morton Signed-off-by: Ingo Molnar commit c450d7805b2c5cac8846c5f490fddfd9030d2207 Author: Hannes Eder Date: Fri Nov 21 23:17:09 2008 +0100 x86: vmware - fix sparse warnings Impact: fix sparse build warning Fix the following sparse warnings: arch/x86/kernel/cpu/vmware.c:69:5: warning: symbol 'vmware_platform' was not declared. Should it be static? arch/x86/kernel/cpu/vmware.c:89:15: warning: symbol 'vmware_get_tsc_khz' was not declared. Should it be static? arch/x86/kernel/cpu/vmware.c:107:16: warning: symbol 'vmware_set_feature_bits' was not declared. Should it be static? Signed-off-by: Hannes Eder Cc: "Alok N Kataria" Cc: "Dan Hecht" Signed-off-by: Ingo Molnar commit 2456d738ef051f85170bf018faef63f83fa84eb5 Author: Hiroshi Shimamoto Date: Fri Nov 21 17:38:57 2008 -0800 x86: signal: cosmetic unification of sys_rt_sigreturn() Impact: cleanup Add #ifdef directive for unification. Signed-off-by: Hiroshi Shimamoto Signed-off-by: Ingo Molnar commit 666ac7be049ec290625e65d5922ff59f7bdec527 Author: Hiroshi Shimamoto Date: Fri Nov 21 17:38:25 2008 -0800 x86: signal: cosmetic unification of sys_sigaltstack() Impact: cleanup Add #ifdef directive for unification. Signed-off-by: Hiroshi Shimamoto Signed-off-by: Ingo Molnar commit 5c9b3a0c7b8be3cdef3d7418f0a49127e7cdc998 Author: Hiroshi Shimamoto Date: Fri Nov 21 17:36:41 2008 -0800 x86: signal: cosmetic unification of including headers Impact: cleanup Make the headers portion of signal_32.c and signal_64.c the same. Signed-off-by: Hiroshi Shimamoto Signed-off-by: Ingo Molnar commit cbe2f5a6e84eebb98ab42fc5e58c3cd5b7767349 Author: Ingo Molnar Date: Sun Nov 23 10:37:12 2008 +0100 tracing: allow tracing of suspend/resume & hibernation code again Impact: widen function-tracing to suspend+resume (and hibernation) sequences Now that the ftrace kernel thread is gone, we can allow tracing during suspend/resume again. So revert these two commits: f42ac38c5 "ftrace: disable tracing for suspend to ram" 41108eb10 "ftrace: disable tracing for hibernation" This should be tested very carefully, as it could interact with altneratives instruction patching, etc. Signed-off-by: Ingo Molnar commit b54d3de9f3b8956653b06f1a32e9f9321c6d9027 Author: Török Edwin Date: Sat Nov 22 13:28:48 2008 +0200 tracing: identify which executable object the userspace address belongs to Impact: modify+improve the userstacktrace tracing visualization feature Store thread group leader id, and use it to lookup the address in the process's map. We could have looked up the address on thread's map, but the thread might not exist by the time we are called. The process might not exist either, but if you are reading trace_pipe, that is unlikely. Example usage: mount -t debugfs nodev /sys/kernel/debug cd /sys/kernel/debug/tracing echo userstacktrace >iter_ctrl echo sym-userobj >iter_ctrl echo sched_switch >current_tracer echo 1 >tracing_enabled cat trace_pipe >/tmp/trace& .... run application ... echo 0 >tracing_enabled cat /tmp/trace You'll see stack entries like: /lib/libpthread-2.7.so[+0xd370] You can convert them to function/line using: addr2line -fie /lib/libpthread-2.7.so 0xd370 Or: addr2line -fie /usr/lib/debug/libpthread-2.7.so 0xd370 For non-PIC/PIE executables this won't work: a.out[+0x73b] You need to run the following: addr2line -fie a.out 0x40073b (where 0x400000 is the default load address of a.out) Signed-off-by: Török Edwin Signed-off-by: Ingo Molnar commit 74e2f334f4440cbcb63e9ebbcdcea430d41bdfa3 Author: Török Edwin Date: Sat Nov 22 13:28:48 2008 +0200 vfs, seqfile: make mangle_path() global Impact: expose new VFS API make mangle_path() available, as per the suggestions of Christoph Hellwig and Al Viro: http://lkml.org/lkml/2008/11/4/338 Signed-off-by: Török Edwin Signed-off-by: Ingo Molnar commit 02b67518e2b1c490787dac7f35e1204e74fe21ba Author: Török Edwin Date: Sat Nov 22 13:28:47 2008 +0200 tracing: add support for userspace stacktraces in tracing/iter_ctrl Impact: add new (default-off) tracing visualization feature Usage example: mount -t debugfs nodev /sys/kernel/debug cd /sys/kernel/debug/tracing echo userstacktrace >iter_ctrl echo sched_switch >current_tracer echo 1 >tracing_enabled .... run application ... echo 0 >tracing_enabled Then read one of 'trace','latency_trace','trace_pipe'. To get the best output you can compile your userspace programs with frame pointers (at least glibc + the app you are tracing). Signed-off-by: Török Edwin Signed-off-by: Ingo Molnar commit 82f60f0bc854aada696f27d863c03bef91f1509d Author: Ingo Molnar Date: Sun Nov 23 09:18:56 2008 +0100 tracing/function-return-tracer: clean up task start/exit callbacks Impact: cleanup Eliminate #ifdefs in core code by using empty inline functions. Signed-off-by: Ingo Molnar commit f201ae2356c74bcae130b2177b3dca903ea98071 Author: Frederic Weisbecker Date: Sun Nov 23 06:22:56 2008 +0100 tracing/function-return-tracer: store return stack into task_struct and allocate it dynamically Impact: use deeper function tracing depth safely Some tests showed that function return tracing needed a more deeper depth of function calls. But it could be unsafe to store these return addresses to the stack. So these arrays will now be allocated dynamically into task_struct of current only when the tracer is activated. Typical scheme when tracer is activated: - allocate a return stack for each task in global list. - fork: allocate the return stack for the newly created task - exit: free return stack of current - idle init: same as fork I chose a default depth of 50. I don't have overruns anymore. Signed-off-by: Frederic Weisbecker Signed-off-by: Ingo Molnar commit a0a70c735ef714fe1b6777b571630c3d50c7b008 Merge: 9676e73 60a5151 0231022 522a110 Author: Ingo Molnar Date: Sun Nov 23 09:10:32 2008 +0100 Merge branches 'tracing/profiling', 'tracing/options' and 'tracing/urgent' into tracing/core commit f377fa123d0ec621e8e361ecc3f2a8ee70e81a2e Author: Ingo Molnar Date: Sun Nov 23 09:02:26 2008 +0100 x86: clean up stack overflow debug check Impact: cleanup Simplify the irq-sampled stack overflow debug check: - eliminate an #idef - use WARN_ONCE() to emit a single warning (all bets are off after the first such warning anyway) Signed-off-by: Ingo Molnar commit 3aeb95d5b7839708a8d8e11aa274ee4d0d4042cc Author: jia zhang Date: Sun Nov 23 09:51:41 2008 +0800 x86_64: fix the check in stack_overflow_check Impact: make stack overflow debug check and printout narrower stack_overflow_check() should consider the stack usage of pt_regs, and thus it could warn us in advance. Additionally, it looks better for the warning time to start at INITIAL_JIFFIES. Assuming that rsp gets close to the check point before interrupt arrives: when interrupt really happens, thread_info will be partly overrode. Signed-off-by: jia zhang Signed-off-by: Ingo Molnar commit ca9eed76133c00e7f4b1eeb4c1a6cb800cd2654c Merge: 8652cb4 13d428a Author: Ingo Molnar Date: Sun Nov 23 08:55:47 2008 +0100 Merge commit 'v2.6.28-rc6' into x86/debug commit 3889d0cea2b73049bdca062d9ff1e5d33468289c Author: H. Peter Anvin Date: Sat Nov 22 23:39:23 2008 -0800 x86: revert default reboot method to REBOOT_KBD Impact: Reverts default reboot method. Checkin 14d7ca5c575853664d8fe4f225a77b8df1b7de7d changed the default reboot method to "pci", a.k.a. port CF9. Unfortunately this has been shown to cause lockups on at least two systems for which REBOOT_KBD worked, both Thinkpads with Intel chipsets. This reverts the default to REBOOT_KBD, while leaving the option to have "reboot=pci" specified explicitly or via a DMI match. Signed-off-by: H. Peter Anvin commit 4805286bffa9d7b85223ab2038f08b4b6322a176 Author: Wu Fengguang Date: Sat Nov 22 09:40:57 2008 +0800 ALSA: hda - fix build warning when CONFIG_PROC_FS=n Fix "defined but not used" build warning by moving eld_versoin_names[] and cea_edid_version_names[] into hdmi_print_eld_info(). Signed-off-by: Wu Fengguang Signed-off-by: Takashi Iwai commit 9415e1c418b33bf9b8d8903fb98876ec72673e3f Author: Wu Fengguang Date: Sat Nov 22 09:40:56 2008 +0800 ALSA: hda - fix DisplayPort naming DisplayPort is a digital display interface standard put forth by the Video Electronics Standards Association (VESA). It defines a new license-free, royalty-free, digital audio/video interconnect, intended to be used primarily between a computer and its display monitor, or a computer and a home-theater system. - From Wikipedia, the free encyclopedia Signed-off-by: Wu Fengguang Signed-off-by: Takashi Iwai commit a5fcf89eff2372b50f2d47fbb3e1f3090f044ee3 Author: Wu Fengguang Date: Sat Nov 22 09:40:55 2008 +0800 ALSA: hda - document the ELD proc interface Describe what ELD proc interface provides and how to fix incorrect values. Signed-off-by: Wu Fengguang Signed-off-by: Takashi Iwai commit acb05993881005cdaf5f8291491b4edcb8f60ef3 Author: Wu Fengguang Date: Sat Nov 22 09:40:54 2008 +0800 ALSA: hda - ELD proc interface write updates - rename ELD proc write routine to hdmi_write_eld_info() - support modifying WMAPro's profile Write to some ELD fields (monitor_name, manufacture_id, product_id, eld_version, edid_version) are deliberately not supported, since that won't correct wrong behaviors and only leads to confusions. Signed-off-by: Wu Fengguang Signed-off-by: Takashi Iwai commit 03284c8f23440479de79e8cbf368085ea872884e Author: Wu Fengguang Date: Sat Nov 22 09:40:53 2008 +0800 ALSA: hda - make HDMI messages more user friendly - make some messages more user friendly - add message prefix "HDMI:" to indicate the problem's domain (also easier to do `dmesg | grep HDMI` ;-) Signed-off-by: Wu Fengguang Signed-off-by: Takashi Iwai commit cc02b83c904592ce8714787094256a9bf8e24b6f Author: Wu Fengguang Date: Sat Nov 22 09:40:52 2008 +0800 ALSA: hda - report selected CA index for Audio InfoFrame Print some CA selecting info, which could be valuable for debugging when something goes wrong. Signed-off-by: Wu Fengguang Signed-off-by: Takashi Iwai commit b83923a3931a43df7397a7491f0c9d9b9d46624a Author: Wu Fengguang Date: Sat Nov 22 09:40:51 2008 +0800 ALSA: hda - minor HDMI code cleanups Some minor code cleanups. Signed-off-by: Wu Fengguang Signed-off-by: Takashi Iwai commit c81084114f6ff957bc6b5a0048350479c1c1f7b3 Author: Alexander van Heukelum Date: Fri Nov 21 22:59:52 2008 +0100 x86: split out some macro's and move common code to paranoid_exit, fix Impact: fix bootup crash Even though it tested fine for me, there was still a bug in the first patch: I have overlooked a call to ptregscall_common. This patch fixes that, I think, but the code is never executed for me while running a debian install... (I tested this by putting an "1:jmp 1b" in there.) Signed-off-by: Ingo Molnar commit c46920dadba65856eb1a1f1ffa1b350875db1228 Merge: f5f4cf0 6476a90 Author: David S. Miller Date: Fri Nov 21 21:30:58 2008 -0800 Merge branch 'for-david' of git://git.kernel.org/pub/scm/linux/kernel/git/chris/linux-2.6 commit f5f4cf08467db10de061a1b90037a56a360d3554 Author: Alexander Duyck Date: Fri Nov 21 21:30:24 2008 -0800 igb: do not use phy ops in ethtool test cleanup for non-copper parts Currently the igb driver is experiencing a panic due to a null function pointer being used during the cleanup of the ethtool looback test on fiber/serdes parts. This patch prevents that and adds a check prior to calling any phy function. Signed-off-by: Alexander Duyck Signed-off-by: Jeff Kirsher Signed-off-by: David S. Miller commit 21fc578dcaa66dd30bad3c2f2cd7578e2865e8f2 Author: Scott Feldman Date: Fri Nov 21 21:29:25 2008 -0800 enic: misc cleanup items: Clarrify reading PBA has no side-effect (clearing). Add missing GPL license text. Signed-off-by: Scott Feldman Signed-off-by: David S. Miller commit 845964515a76381e204d3399af82c149f8abcc1c Author: Scott Feldman Date: Fri Nov 21 21:29:01 2008 -0800 enic: move wmb closer to where needed: before writing posted_index to hw Signed-off-by: Scott Feldman Signed-off-by: David S. Miller commit cb3c766975985885e64e20cc72c4a36d90da2b30 Author: Scott Feldman Date: Fri Nov 21 21:28:40 2008 -0800 enic: mask off some reserved bits in CQ descriptor for future use Signed-off-by: Scott Feldman Signed-off-by: David S. Miller commit 27372bf5fa5ffc0fee3ddb486a0da942295fd8e0 Author: Scott Feldman Date: Fri Nov 21 21:28:18 2008 -0800 enic: driver/firmware API updates Add driver/firmware compatibility check. Update firmware notify cmd to honor notify area size. Add new version of init cmd. Add link_down_cnt to notify area to track link down count. Signed-off-by: Scott Feldman Signed-off-by: David S. Miller commit 86ca9db794a285f18f31ed15601696b238ccb57a Author: Scott Feldman Date: Fri Nov 21 21:26:55 2008 -0800 enic: enable ethtool LRO support Enable ethtool support for get/set_flags so LRO can be turned on/off by fwding drivers such as the bridge driver. LRO is not compatible with fwding drivers. Signed-off-by: Scott Feldman Signed-off-by: David S. Miller commit 6476a907b57d9229de7807aeea534ad45e19a4ce Author: Krzysztof Hałasa Date: Thu Nov 20 15:51:05 2008 +0100 WAN pc300too.c: Fix PC300-X.21 detection pc300too driver works around a bug in PCI9050 bridge. Unfortunately it was doing that too late. Signed-off-by: Krzysztof Hałasa commit 72364706c3b7c09a658e356218a918c5f92dcad0 Author: Krzysztof Hałasa Date: Thu Aug 14 19:18:17 2008 +0200 WAN: syncppp.c is no longer used by any kernel code. Remove it. Signed-off-by: Krzysztof Hałasa commit e022c2f07ae52bfbd92faa273db0db2f34eb28e8 Author: Krzysztof Hałasa Date: Thu Aug 14 19:17:38 2008 +0200 WAN: new synchronous PPP implementation for generic HDLC. Signed-off-by: Krzysztof Hałasa commit e1f024eb5d88e5b4f8e58e99c95082c342f70a1a Author: Krzysztof Hałasa Date: Fri Jul 11 00:13:09 2008 +0200 WAN: Simplify sca_init_port() in HD64572 driver. Signed-off-by: Krzysztof Hałasa commit fcfe9ff3e2fb2b9606e2e375f34c157271b4555c Author: Krzysztof Hałasa Date: Thu Jul 10 00:30:51 2008 +0200 WAN: Correct comments in hd6457[02].c Signed-off-by: Krzysztof Hałasa commit 0b59cef885f7d451acad02f70c9712f1ef3638b1 Author: Krzysztof Hałasa Date: Wed Jul 9 23:39:12 2008 +0200 WAN: HD64572 drivers don't use next_desc() anymore. Signed-off-by: Krzysztof Hałasa commit 61e0a6a268947f7385282c6841f3e3d64b4c5cb9 Author: Krzysztof Hałasa Date: Wed Jul 9 23:13:49 2008 +0200 WAN: Simplify HD64572 drivers. Signed-off-by: Krzysztof Hałasa commit 967834361a4beb3bbd3069189c192dc6fdeef8a9 Author: Krzysztof Hałasa Date: Wed Jul 9 21:30:17 2008 +0200 WAN: don't print HD64572 driver versions anymore. Signed-off-by: Krzysztof Hałasa commit 0954ed826921bcf11352e05a58d598c493e6bdfb Author: Krzysztof Hałasa Date: Wed Jul 9 21:24:42 2008 +0200 WAN: Simplify HD64572 status handling. Signed-off-by: Krzysztof Hałasa commit 0446c3b1e6208c6563ff9a0b22fb3b5e5e3e775c Author: Krzysztof Hałasa Date: Wed Jul 9 19:28:45 2008 +0200 WAN: rework HD64572 interrupts a bit. Signed-off-by: Krzysztof Hałasa commit b0942f78dd6493c5590cc80fedd5e3b357a15334 Author: Krzysztof Hałasa Date: Wed Jul 9 20:01:23 2008 +0200 WAN: HD64572 already handles TX underruns with DMAC. Signed-off-by: Krzysztof Hałasa commit 09fd65aa8ac934ea4ce7e55945a687292731e9c9 Author: Krzysztof Hałasa Date: Wed Jul 9 19:47:05 2008 +0200 WAN: TX-done handler now uses the ownership bit in HD64572 drivers. Signed-off-by: Krzysztof Hałasa commit abc9d91a35a924c8db0e949cd443471672e37cdb Author: Krzysztof Hałasa Date: Wed Jul 9 16:49:37 2008 +0200 WAN: convert HD64572-based drivers to NAPI. Signed-off-by: Krzysztof Hałasa commit 302243922b374b147380f61774b44612eb2040fd Author: Krzysztof Hałasa Date: Mon Mar 24 20:24:23 2008 +0100 WAN: remove SCA support from SCA-II drivers Signed-off-by: Krzysztof Hałasa commit 88597364573a46a57496c62ff0ee4b8148831ed0 Author: Krzysztof Hałasa Date: Mon Mar 24 19:12:23 2008 +0100 WAN: remove SCA II support from SCA drivers Signed-off-by: Krzysztof Hałasa commit 6b40aba304e6f94c747ad9559e03ea03a49e8008 Author: Krzysztof Hałasa Date: Mon Mar 24 16:39:02 2008 +0100 WAN: split hd6457x.c into hd64570.c and hd64572.c Supporting both original SCA and SCA-II in one file was nice at some point but now it's increasingly painful. Signed-off-by: Krzysztof Hałasa commit 4e4fd4e485ad63a9074ff09a9b53ffc7a5c594ec Author: Stephen Hemminger Date: Fri Nov 21 17:39:02 2008 -0800 ne2k: convert to net_device_ops Convert driver to new net_device_ops. Compile tested only. This required some additional work to export common code ei_XXX. Signed-off-by: Stephen Hemminger Signed-off-by: David S. Miller commit 99921b7e64f7726e7134046f8e1e8004e2711f30 Author: Stephen Hemminger Date: Fri Nov 21 17:37:54 2008 -0800 eql: convert to net_device_ops Convert driver to new net_device_ops. Compile tested only. Signed-off-by: Stephen Hemminger Signed-off-by: David S. Miller commit 974acda0ea3261436ddf5fd7e79b56150acdb138 Author: Stephen Hemminger Date: Fri Nov 21 17:37:24 2008 -0800 sc92031: convert to net_device_ops Convert this driver to net_device_ops. Compile tested only. Signed-off-by: Stephen Hemminger Signed-off-by: David S. Miller commit da1c14a19b978a95180ea91ab0008b97a5843995 Author: Stephen Hemminger Date: Fri Nov 21 17:36:58 2008 -0800 qla3xxx: convert to net_device_ops Convert this driver to net_device_ops. Compile tested only. Signed-off-by: Stephen Hemminger Signed-off-by: David S. Miller commit a8652d237b599a03d7d982fcfdab276706babfa5 Author: Stephen Hemminger Date: Fri Nov 21 17:36:36 2008 -0800 hamachi: convert to net_device_ops Convert driver to new net_device_ops. Compile tested only. Signed-off-by: Stephen Hemminger Signed-off-by: David S. Miller commit c64213cd138cf9815839f7278b5eee89d31fbacb Author: Stephen Hemminger Date: Fri Nov 21 17:36:04 2008 -0800 bnx2x: convert to net_device_ops Convert driver to new net_device_ops. Compile tested only. Signed-off-by: Stephen Hemminger Signed-off-by: David S. Miller commit 6557d7b8599c22819d16497ab6dcc33f2f3027a4 Author: Stephen Hemminger Date: Fri Nov 21 17:35:40 2008 -0800 ns83820: convert to net_device_ops Convert driver to new net_device_ops. Compile tested only. Signed-off-by: Stephen Hemminger Signed-off-by: David S. Miller commit bfd82c35824016920c629ea55963dc6db6f9effe Author: Stephen Hemminger Date: Fri Nov 21 17:35:16 2008 -0800 yellowfin: convert to net_device_ops Convert driver to new net_device_ops. Compile tested only. Signed-off-by: Stephen Hemminger Signed-off-by: David S. Miller commit a7bd89cbb1aa8342617c2f8a6dc0595e5f553115 Author: Stephen Hemminger Date: Fri Nov 21 17:34:56 2008 -0800 r6040: convert to net_device_ops Convert driver to new net_device_ops. Compile tested only. Signed-off-by: Stephen Hemminger Signed-off-by: David S. Miller commit 09ab9e7cddf0f10afd4695d098120d63183c74d1 Author: Stephen Hemminger Date: Fri Nov 21 17:34:32 2008 -0800 sis900: convert to net_device_ops Convert driver to new net_device_ops. Compile tested only. Signed-off-by: Stephen Hemminger Signed-off-by: David S. Miller commit 2f30b1f666b8fa13eb7a254243066e6b77b583f7 Author: Stephen Hemminger Date: Fri Nov 21 17:34:09 2008 -0800 tehuti: convert to net_device_ops Convert driver to new net_device_ops. Compile tested only. Signed-off-by: Stephen Hemminger Signed-off-by: David S. Miller commit c3ecb9f3235ce6e39249690cdd24d678894c2c72 Author: Stephen Hemminger Date: Fri Nov 21 17:32:54 2008 -0800 sfc: convert to net_device_ops Convert driver to new net_device_ops. Compile tested only. Signed-off-by: Stephen Hemminger Acked-by: Ben Hutchings Signed-off-by: David S. Miller commit 1abd266f091e4f281a7c1e8813106fdf1528bb56 Author: Stephen Hemminger Date: Fri Nov 21 17:32:15 2008 -0800 netxen: convert to net_device_ops Convert driver to new net_device_ops. Compile tested only. Had to do some refactoring on multicast_list. Fix ethtool restart to propogate error code. Signed-off-by: Stephen Hemminger Signed-off-by: David S. Miller commit 876526443e64ae15bc3715dd6fbe8b9deadf89bc Author: Stephen Hemminger Date: Fri Nov 21 17:31:51 2008 -0800 dl2k: convert to net_device_ops Convert driver to new net_device_ops. Compile tested only. Signed-off-by: Stephen Hemminger Signed-off-by: David S. Miller commit 0421eae68ffaf5ecfac860ee86e6a92e5b32a992 Author: Stephen Hemminger Date: Fri Nov 21 17:31:27 2008 -0800 bnx2: convert to net_device_ops Convert driver to new net_device_ops. Compile tested only. Signed-off-by: Stephen Hemminger Signed-off-by: David S. Miller commit 3addc568a656e9c8e313e78cfe7ea1e289bf6fd8 Author: Stephen Hemminger Date: Fri Nov 21 17:30:58 2008 -0800 mlx4: convert to net_device_ops Convert driver to new net_device_ops. Compile tested only. Signed-off-by: Stephen Hemminger Signed-off-by: David S. Miller commit 8126089f9f3ee2608b11dd6c629a71ae1806e4fc Author: Stephen Hemminger Date: Fri Nov 21 17:30:35 2008 -0800 myri10ge: convert to net_device_ops Convert driver to new net_device_ops. Compile tested only. Signed-off-by: Stephen Hemminger Signed-off-by: David S. Miller commit 5d1d07d8b0bbed82546b89e3222ec98567c1652b Author: Stephen Hemminger Date: Fri Nov 21 17:30:11 2008 -0800 via-rhine: convert to net_device_ops Convert driver to new net_device_ops. Compile tested only. Signed-off-by: Stephen Hemminger Signed-off-by: David S. Miller commit 8668ae9241de085f046aa14fa3a97654a31a06e3 Author: Stephen Hemminger Date: Fri Nov 21 17:29:50 2008 -0800 qlge: fix sparse warnings Fix sparse warnings and one bug: * Several routines can be static * Don't lose __iomem annotation * fix locking on error path (bug) Signed-off-by: Stephen Hemminger Signed-off-by: David S. Miller commit 25ed784910e43e61b5642dd8d2d8c13384a0d290 Author: Stephen Hemminger Date: Fri Nov 21 17:29:16 2008 -0800 qlge: convert to net_device_ops Convert driver to new net_device_ops. Compile tested only. Signed-off-by: Stephen Hemminger Signed-off-by: David S. Miller commit 040250959da9b96e2fd30415e4ca15257a3460e4 Author: Stephen Hemminger Date: Fri Nov 21 17:28:55 2008 -0800 s2io: convert to net_device_ops Convert this driver to network device ops. Compile teseted only. Signed-off-by: Stephen Hemminger Signed-off-by: David S. Miller commit e48714baac0e81ed9e19a5785eee52e1eca8f56e Author: Stephen Hemminger Date: Fri Nov 21 17:28:33 2008 -0800 jme: convert driver to net_device_ops Convert driver to new net_device_ops. Compile tested only. Signed-off-by: Stephen Hemminger Signed-off-by: David S. Miller commit e245a3855eec42127b722ed9688a49ec3f3c9a27 Author: Matt Carlson Date: Fri Nov 21 17:23:26 2008 -0800 tg3: Update version to 3.96 This patch updates the version number to 3.96. Signed-off-by: Matt Carlson Signed-off-by: Michael Chan Signed-off-by: David S. Miller commit 2fbb69aa576f4392c4a04e6874fa429b8bde0f68 Author: Matt Carlson Date: Fri Nov 21 17:22:53 2008 -0800 broadcom: Add 57780 support This patch adds the 57780 PHY ID to the broadcom module. Signed-off-by: Matt Carlson Signed-off-by: Michael Chan Signed-off-by: David S. Miller commit 321d32a052d6b5f71111ebad4fbebea5577f8974 Author: Matt Carlson Date: Fri Nov 21 17:22:19 2008 -0800 tg3: Add 57780 support This patch adds support for the 57780 ASIC revision. Signed-off-by: Matt Carlson Signed-off-by: Michael Chan Signed-off-by: David S. Miller commit 22435849a6dcde2ce10d1870aba461a54e347fe3 Author: Matt Carlson Date: Fri Nov 21 17:21:13 2008 -0800 tg3: Allow GPHY powerdown on 5761 The ENABLE_APE flag tells the driver whether or not the device has an Application Processing Engine (APE). The APE does not need the PHY to be powered unless it is running management firmware. For backwards compatibility, management firmware will still set the ENABLE_ASF bit. Consequently, there is no reason to consider the ENABLE_APE flag when deciding whether or not to power down the phy. Signed-off-by: Matt Carlson Signed-off-by: Michael Chan Signed-off-by: David S. Miller commit d5fe488a7b59e41b98b91137805159466b7b49c2 Author: Matt Carlson Date: Fri Nov 21 17:20:32 2008 -0800 tg3: Embrace pci_ioremap_bar() Per Dave Miller's suggestion, replace the remaining ioremap_nocache() call with pci_ioremap_bar(). Remove the two IORESOURCE_MEM checks as they are redundant. Signed-off-by: Matt Carlson Signed-off-by: Michael Chan Signed-off-by: David S. Miller commit dfe00d7d890134f9cafda49e3e60e6ce27af91ed Author: Matt Carlson Date: Fri Nov 21 17:19:41 2008 -0800 tg3: Extract FW ver from alt NVRAM formats This patch extracts the bootcode firmware version from the alternate selfboot patch NVRAM format. This format is used on the 5784, 5761 and some newer devices. Signed-off-by: Matt Carlson Signed-off-by: Michael Chan Signed-off-by: David S. Miller commit 6833c043f9fc03696fde623914c4a0277df2a0bc Author: Matt Carlson Date: Fri Nov 21 17:18:59 2008 -0800 tg3: Enable GPHY APD on select devices GPHY Autopowerdown (APD) is a way to save power when energy is not detected on the wire. At the moment, only the 5784 and 5761 are capable of enabling this mode. Signed-off-by: Matt Carlson Signed-off-by: Michael Chan Signed-off-by: David S. Miller commit 5e7dfd0fb94abed04f59481d1ce0cc06a892048a Author: Matt Carlson Date: Fri Nov 21 17:18:16 2008 -0800 tg3: Prevent corruption at 10 / 100Mbps w CLKREQ This patch disables CLKREQ at 10Mbps and 100Mbps to workaround a TX BD corruption issue. This problem only affects the 5784 and 5761 (and 57780 AX) ASIC revisions. Signed-off-by: Matt Carlson Signed-off-by: Michael Chan Signed-off-by: David S. Miller commit 52f4490c3b6dcb1e8dec7ff9f1c35f09bd7c136f Author: Matt Carlson Date: Fri Nov 21 17:17:04 2008 -0800 tg3: Qualify use of tp->pcix_cap This patch makes sure the device is a PCIX device before attempting to use the pcix_cap device structure member. This is prep work for the following patch. Signed-off-by: Matt Carlson Signed-off-by: Michael Chan Signed-off-by: David S. Miller commit ad8292681a629cdb16bb19ee7d721b457c32a23a Author: Matt Carlson Date: Fri Nov 21 17:16:16 2008 -0800 tg3: Use NET_IP_ALIGN This patch replaces hardcoded 2's with the NET_IP_ALIGN constant or TG3_RAW_IP_ALIGN where appropriate. Some platforms can redefine the NET_IP_ALIGN definition to zero if unaligned DMA transfers cost more than the IP header alignment gains. This patch represents a performance improvement when using the 5701 on these platforms. The copy path can be avoided. TG3_RAW_IP_ALIGN is used in cases where we always want to align the IP header on dword boundaries. Signed-off-by: Matt Carlson Signed-off-by: Michael Chan Signed-off-by: David S. Miller commit cf005b1d0e34d8c964347331c43de089c674a5a1 Author: Qinghuang Feng Date: Fri Nov 21 17:15:03 2008 -0800 net: remove redundant argument comments Remove redundant argument comments in files of net/* Signed-off-by: Qinghuang Feng Signed-off-by: David S. Miller commit 6c0bce37ffc8f000a516fadf6dee84579c4c8f9b Merge: e243455 a1eb5fe Author: David S. Miller Date: Fri Nov 21 17:05:11 2008 -0800 Merge branch 'master' of git://git.kernel.org/pub/scm/linux/kernel/git/linville/wireless-next-2.6 commit e243455d345ef62751723671bc2605a2f6032ceb Author: Bruce Allan Date: Fri Nov 21 17:02:41 2008 -0800 e1000e: check return code from NVM accesses and fix bank detection Check return code for all NVM accesses[1] and error out accordingly; log a debug message for failed accesses. For ICH8/9, the valid NVM bank detect function was not checking whether the SEC1VAL (sector 1 valid) bit in the EECD register was itself valid (bits 8 and 9 also have to be set). If invalid, it would have defaulted to the possibly invalid bank 0. Instead, try to use the valid bank detection method used by ICH10 which has been cleaned up a bit. [1] - reads and updates only; not writes because those are only writing to the Shadow RAM, the update following the write is the only thing actually writing the modified Shadow RAM contents to the NVM. Signed-off-by: Bruce Allan Signed-off-by: David S. Miller commit a20e4cf9e6a37e40532593e00df153d01e317baf Author: Bruce Allan Date: Fri Nov 21 17:01:35 2008 -0800 e1000e: fix incorrect link status when switch module pulled On 82571 with SerDes, the true link state is not always correct when read from the STATUS register; use existing e1000_has_link() function instead. Signed-off-by: Bruce Allan Signed-off-by: Jeff Kirsher Signed-off-by: David S. Miller commit 8452759060ad46fc071a7d5bbf1647df5ea2ceab Author: Bruce Allan Date: Fri Nov 21 17:00:22 2008 -0800 e1000e: store EEPROM version number to prevent unnecessary NVM reads Rather than reading the NVM to get the EEPROM version number everytime the ethool get_drvinfo function is called, read it once during probe and save it for future reference. Signed-off-by: Bruce Allan Signed-off-by: Jeff Kirsher Signed-off-by: David S. Miller commit 0285c8dcaeaa73ddadc4f38383e5bbc03c394a29 Author: Bruce Allan Date: Fri Nov 21 16:59:54 2008 -0800 e1000e: cosmetic newline in debug message Add missing newline from debug message. Signed-off-by: Bruce Allan Signed-off-by: Jeff Kirsher Signed-off-by: David S. Miller commit 5c48ef3e2028677a890d46d9a38b19174274f2e9 Author: Bruce Allan Date: Fri Nov 21 16:57:36 2008 -0800 e1000e: sync change flow control variables with ixgbe Sync flow control variables and usage model with that found in the ixgbe driver. Signed-off-by: Bruce Allan Signed-off-by: Jeff Kirsher Signed-off-by: David S. Miller commit 8f12fe8653eb699a6bc4f88f1a80312466ea2b0e Author: Bruce Allan Date: Fri Nov 21 16:54:43 2008 -0800 e1000e: link up/down messages must follow a specific format The system log messages created on a link status change need to follow a specific format to work with tools some customers use. Signed-off-by: Bruce Allan Signed-off-by: Jeff Kirsher Signed-off-by: David S. Miller commit 75eb0fad56da8494b43865097f362633debdc958 Author: Bruce Allan Date: Fri Nov 21 16:53:51 2008 -0800 e1000e: ESB2 config after link up On ESB2, the MAC-to-PHY (Kumeran) interface must be configured after link is up before any traffic is sent; a new PHY operations function pointer is provided for this. To facilitate read/write of the Kumeran registers without blocking PHY register writes, the driver/firmware synchronization method which previously used a hardware semaphore for both PHY and Kumeran register accesses is now split. New Kumeran register read/write functions utilize this new synchronization method. Signed-off-by: Bruce Allan Signed-off-by: Jeff Kirsher Signed-off-by: David S. Miller commit 438b365a2758c012393a7be24d31a9c06aa0a504 Author: Bruce Allan Date: Fri Nov 21 16:51:33 2008 -0800 e1000e: check return of pci_save_state Check return of pci_save_state and error out accordingly. Signed-off-by: Bruce Allan Signed-off-by: Jeff Kirsher Signed-off-by: David S. Miller commit 1605927fcee41fe205f1713725f47f0d52978489 Author: Bruce Allan Date: Fri Nov 21 16:51:06 2008 -0800 e1000e: update comments listing supported parts for each MAC family Some branding strings (displayed via lspci) are missing from the comments in various family-specific files in the driver. Signed-off-by: Bruce Allan Signed-off-by: Jeff Kirsher Signed-off-by: David S. Miller commit 63dcf3d353f32ca7007bfa53a9384f3283076afc Author: Bruce Allan Date: Fri Nov 21 16:50:34 2008 -0800 e1000e: 82571 check for link fix on 82571 serdes Check for link test does not work properly for 82571 parts in a blade environment with an unterminated serdes link partner. Make the test more robust by checking the invalid bit. Signed-off-by: Bruce Allan Signed-off-by: Jeff Kirsher Signed-off-by: David S. Miller commit 5aa49c82118d2aa08c6cfaba01fd86f969b3f1d7 Author: Bruce Allan Date: Fri Nov 21 16:49:53 2008 -0800 e1000e: commit speed/duplex changes for m88 PHY Follow the convention used elsewhere in e1000e to 'commit' PHY changes instead of directly writing to the PHY CTRL register to reset it. Signed-off-by: Bruce Allan Signed-off-by: Jeff Kirsher Signed-off-by: David S. Miller commit 005cbdfc29cfc23b8faadd3619eed43e6550bfc1 Author: Alexander Duyck Date: Fri Nov 21 16:49:10 2008 -0800 e1000e: disable correctable errors for quad ports while going to D3 There has been an issue seen with the pci-e quad port adapters that will cause them to generate a pci-e correctable error on some system while transitioning to D3. Since no action is needed on this correctable error the simplest solution is to mask off the reporting of correctable errors. Signed-off-by: Alexander Duyck Signed-off-by: Bruce Allan Signed-off-by: Jeff Kirsher Signed-off-by: David S. Miller commit 7e3aab4a9cd7d37f80eee75bebb6a71347f82476 Author: David S. Miller Date: Fri Nov 21 16:39:19 2008 -0800 inet_diag: Missed conversion after changing inet ehash lockl to spinlocks. They are no longer a rwlocks. Signed-off-by: David S. Miller commit 176301e82190adb70f9bdf37cd5cb08fcfcb25fb Author: Wang Chen Date: Fri Nov 21 16:36:22 2008 -0800 netdevice pc300: Add the reason about PC300 BROKEN in Kconfig When compile test my previous patch, I found PC300 driver was broken. And there is no explanation about the broken. Add the reason about why change this driver to broken in Kconfig. Signed-off-by: Wang Chen Signed-off-by: David S. Miller commit 6636e1170d1e49818933ecea0e715e0c73e19bb8 Author: Wang Chen Date: Fri Nov 21 16:35:44 2008 -0800 netdevice pc300: Convert directly reference of netdev->priv netdev's private data should be hdlc. pc300dev_t is the private data of hdlc. Signed-off-by: Wang Chen Signed-off-by: David S. Miller commit 2baf8a2daab65cdd3f20bfeb4676a2f6aff7c3bf Author: Wang Chen Date: Fri Nov 21 16:34:18 2008 -0800 netdevice hdlc: Convert directly reference of netdev->priv For killing directly reference of netdev->priv, use netdev->ml_priv to replace it. Because the private pvc data comes from add_pvc() and can't be allocated in alloc_netdev(). Signed-off-by: Wang Chen Acked-by: Krzysztof Halasa Signed-off-by: David S. Miller commit f757fec4b0d45dfcb52f9a914a12225a6a0a3e05 Author: Eric Dumazet Date: Fri Nov 21 15:49:19 2008 -0800 net: use net_eq() in INET_MATCH and INET_TW_MATCH We can avoid some useless instructions if !CONFIG_NET_NS Because of RCU, we use INET_MATCH or INET_TW_MATCH twice for the found socket, so thats six instructions less per incoming TCP packet. Yet another tbench speedup :) Signed-off-by: Eric Dumazet Signed-off-by: David S. Miller commit 5043e9e737c4909e7f187d479227df46f5a2dd53 Author: Kalle Jokiniemi Date: Fri Nov 21 13:39:55 2008 -0800 i2c-omap: Enable I2C wakeups for 34xx I2C_WE registers were not configured, which caused huge delays in I2C operations while cpu idle was enabled and omap entered WFI. This patch enables all I2C wakeup sources. Signed-off-by: Kalle Jokiniemi Signed-off-by: Tony Lindgren commit fdd07fe6f6fe54250d8b1126b42ebdc72d938f05 Author: Paul Walmsley Date: Fri Nov 21 13:39:55 2008 -0800 i2c-omap: reprogram OCP_SYSCONFIG register after reset The I2C controller clears its OCP_SYSCONFIG register after an OCP soft reset. Reprogram OCP_SYSCONFIG for maximum power savings on rev3.6 controllers and beyond. On 2430, this involves setting the module AUTOIDLE bit. On 3430, this includes module AUTOIDLE, wakeup enable, slave smart-idle, and considers only the module functional clock state for idle-ack. Boot-tested on 2430SDP and 3430SDP. Signed-off-by: Paul Walmsley Cc: Richard Woodruff Signed-off-by: Tony Lindgren commit 9c76b878eb3f837ff98b37aa254e6cc7942e946b Author: Paul Walmsley Date: Fri Nov 21 13:39:55 2008 -0800 i2c-omap: convert 'rev1' flag to generic 'rev' u8 i2c-omap discriminates only between "revision 1" or "greater than revision 1." A following patch introduces code that must also discriminate between rev2.x, rev3.6, and rev3.12 controllers. Support this by storing the full revision data from the I2C_REV register, rather than just a single bit. The revision definitions may need to be extended for other ES levels that aren't currently available here. rev3.6 is what's present on the 2430SDP here (unknown ES revision); rev3.12 is used on the 3430ES2 here. Signed-off-by: Paul Walmsley Signed-off-by: Tony Lindgren commit 3831f154418e058616129942e8175dc4c7e4a1d8 Author: Paul Walmsley Date: Fri Nov 21 13:39:47 2008 -0800 i2c-omap: fix I2C timeouts due to recursive omap_i2c_{un,}idle() omap_i2c_unidle() and omap_i2c_idle() are called recursively during omap_i2c_probe(). This is evidently unexpected and will wipe out the I2C interrupt enable register the second time that omap_i2c_idle() is called consecutively. Any I2C transactions following a probe of a bus with at least one device on it will then time out. Fix by moving omap_i2c_idle() further up in omap_i2c_probe(). Ensure the I2C controller is marked as idle before the probe starts. Also attempt to catch future reappearances of this bug early in development by warning in omap_i2c_{un,}idle() when they are called recursively. Problem reported by David Brownell . Tested on 3430SDP and 2430SDP. Signed-off-by: Paul Walmsley Cc: David Brownell Cc: Richard Woodruff Acked-by; Steve Sakoman Signed-off-by: Tony Lindgren commit c1a473bde4c06e8e6996ce3a33121b7a9a86b4b9 Author: Tony Lindgren Date: Fri Nov 21 13:39:47 2008 -0800 i2c-omap: Clean-up i2c-omap Minor sparse, checkpatch and formatting clean-up. Also update copyrights. Signed-off-by: Tony Lindgren commit 43469d8e2aaecc61403d1527dda7441fba8c0e50 Author: Paul Walmsley Date: Fri Nov 21 13:39:47 2008 -0800 i2c-omap: Don't compile in OMAP15xx I2C ISR for non-OMAP15xx builds Skip compiling OMAP15xx I2C ISR for non-OMAP15xx builds. Saves 400 bytes of text for most OMAP builds. Signed-off-by: Paul Walmsley Signed-off-by: Tony Lindgren commit 510be9c9ad852dc902fd926ec8e03b67e62d8915 Author: Paul Walmsley Date: Fri Nov 21 13:39:46 2008 -0800 i2c-omap: Mark init-only functions as __init Mark functions called only at init time as __init. Signed-off-by: Paul Walmsley Signed-off-by: Tony Lindgren commit 3d522fb41ead214d9d9236ec184271633e1cfc2f Author: Chandra shekhar Date: Fri Nov 21 13:39:46 2008 -0800 i2c-omap: Add support for omap34xx Add support for omap34xx Signed-off-by: chandra shekhar Signed-off-by: Tony Lindgren commit b6ee52c39999b2f3bcd9e26f0edf1f07599cf40e Author: Nishanth Menon Date: Fri Nov 21 13:39:46 2008 -0800 i2c-omap: FIFO handling support and broken hw workaround for i2c-omap Based on an earlier patch from Nishant Menon: - Transfers can use FIFO on FIFO capable devices - Prevents errors for HSI2C if FIFO is not used - Implemented errenous handling of STT-STP handling on SDP2430 Also merged in is a fix from Jaron Marini to fix occasional i2c hang if OMAP_I2C_CON_STT remains asserted. Signed-off-by: Jason P Marini Signed-off-by: Nishanth Menon Signed-off-by: Tony Lindgren commit 4574eb6892a13bc91aac8676457d46798935d653 Author: Syed Mohammed Khasim Date: Fri Nov 21 13:39:45 2008 -0800 i2c-omap: Add high-speed support to omap-i2c Omap2430 has additional support for high-speed I2C. This patch moves I2C speed parameter (from module) to platform data. Also added basic High Speed support based on I2C bus speed. This patch is tested for high speed I2C (with TWL4030 Keypad) and works as expected. Also change the 2430 i2chs_fck names to use the standard naming. Cc: Russell King Signed-off-by: Syed Mohammed Khasim Signed-off-by: Tony Lindgren commit 0cbbcffdf5f30ef60d918549014684eada4f5b3f Author: Paul Walmsley Date: Fri Nov 21 13:39:45 2008 -0800 i2c-omap: Close suspected race between omap_i2c_idle() and omap_i2c_isr() omap_i2c_idle() sets an internal flag, "dev->idle", instructing its ISR to decline interrupts. It sets this flag before it actually masks the interrupts on the I2C controller. This is problematic, since an I2C interrupt could arrive after dev->idle is set, but before the interrupt source is masked. When this happens, Linux disables the I2C controller's IRQ, causing all future transactions on the bus to fail. Symptoms, happening on about 7% of boots: irq 56: nobody cared (try booting with the "irqpoll" option) Disabling IRQ #56 i2c_omap i2c_omap.1: controller timed out In omap_i2c_idle(), this patch sets dev->idle only after the interrupt mask write to the I2C controller has left the ARM write buffer. That's probably the major offender. For additional prophylaxis, in omap_i2c_unidle(), the patch clears the dev->idle flag before interrupts are enabled, rather than afterwards. The patch has survived twenty-two reboots on the 3430SDP here without wedging I2C1. Not absolutely dispositive, but promising! Signed-off-by: Paul Walmsley Signed-off-by: Tony Lindgren commit b7af349b175af45f9d87b3bf3f0a221e1831ed39 Author: Jarkko Nikula Date: Fri Nov 21 13:39:45 2008 -0800 i2c-omap: Do not use interruptible wait call in omap_i2c_xfer_msg If there is a signal pending and wait_for_completion_interruptible_timeout terminates with -ERESTARTSYS, we return and disable the i2c clocks in omap_i2c_xfer. If we terminate before sending last i2c message with a stop condition, the bus remains busy and we are not able to send new messages into bus with successive omap_i2c_xfer calls. Therefore a pending signal is not caught here and we return only because of timeout or i2c error. Signed-off-by: Jarkko Nikula Signed-off-by: Juha Yrjola Signed-off-by: Tony Lindgren commit b20222667d371bb9ddeadd47d18072efcab3f6d2 Author: Takashi Iwai Date: Fri Nov 21 21:24:03 2008 +0100 ALSA: hda - Fix build without CONFIG_PROC_FS snd_print_pcm_rates() and snd_print_pcm_bits() are used by both hda_proc.c and hda_eld.c, thus they have to be defined in the common place. Signed-off-by: Takashi Iwai commit b8b1d08bf6fe7c09e6cb2294bc0e5e964b361241 Author: Alexander van Heukelum Date: Fri Nov 21 16:44:28 2008 +0100 x86: entry_64.S: split out some macro's and move common code to paranoid_exit Impact: cleanup DISABLE_INTERRUPTS(CLBR_NONE)/TRACE_IRQS_OFF is now always executed just before paranoid_exit. Move it there. Split out paranoidzeroentry, paranoiderrorentry, and paranoidzeroentry_ist to get more readable macro's. Signed-off-by: Alexander van Heukelum Signed-off-by: Ingo Molnar commit e2f6bc25b98dbb10d809ee50262b43fcae67840a Author: Alexander van Heukelum Date: Fri Nov 21 16:43:18 2008 +0100 x86: entry_64.S: factor out save_paranoid and paranoid_exit Impact: cleanup, shrink kernel image size Also expand the paranoid_exit0 macro into nmi_exit inside the nmi stub in the case of enabled irq-tracing. This gives a few hundred bytes code size reduction. Signed-off-by: Alexander van Heukelum Signed-off-by: Ingo Molnar commit c002a1e6b6b6f07ae04e68987054bf1f2150ae48 Author: Alexander van Heukelum Date: Fri Nov 21 16:41:55 2008 +0100 x86: introduce save_rest and restructure the PTREGSCALL macro in entry_64.S Impact: cleanup The save_rest function completes a partial stack frame for use by the PTREGSCALL macro. This also avoids the indirect call in PTREGSCALLs. This adds the macro movq_cfi_restore to hide the CFI_RESTORE annotation when restoring a register from the stack frame. Signed-off-by: Alexander van Heukelum Signed-off-by: Ingo Molnar commit c70bfa8733e1ec4babe5a1b4a9a90053f79eb301 Merge: d6752a5 b0fc5e0 Author: Takashi Iwai Date: Fri Nov 21 18:02:57 2008 +0100 Merge branch 'topic/fix/hda' into topic/hda commit d6752a532c700927fc7586cdd086391bfc50eaa9 Author: Takashi Iwai Date: Fri Nov 21 18:01:44 2008 +0100 ALSA: hda - mark Dell studio 1535 quirk Fixed the quirk string for Dell studio 1535 (the product name wasn't published at the time the patch was made). Signed-off-by: Takashi Iwai commit a1eb5fe319beb9e181aa52c8adf75ad9aab56a89 Author: Rami Rosen Date: Wed Nov 19 09:37:43 2008 +0200 wireless: missing include in lib80211.h This patch adds #include in lib80211.h to avoid these compilation erros. > In file included from /work/src/wireless-testing/net/wireless/lib80211.c:24: > /work/src/wireless-testing/include/net/lib80211.h:113: error: field > 'crypt_deinit_timer' has incomplete type > /work/src/wireless-testing/net/wireless/lib80211.c: In function > 'lib80211_crypt_info_init': > /work/src/wireless-testing/net/wireless/lib80211.c:83: error: implicit > declaration of function 'setup_timer' > /work/src/wireless-testing/net/wireless/lib80211.c: In function > 'lib80211_crypt_info_free': > /work/src/wireless-testing/net/wireless/lib80211.c:95: error: implicit > declaration of function 'del_timer_sync' > /work/src/wireless-testing/net/wireless/lib80211.c: In function > 'lib80211_crypt_deinit_handler': > /work/src/wireless-testing/net/wireless/lib80211.c:157: error: > implicit declaration of function 'add_timer' > /work/src/wireless-testing/net/wireless/lib80211.c: In function > 'lib80211_crypt_delayed_deinit': > /work/src/wireless-testing/net/wireless/lib80211.c:182: error: > implicit declaration of function 'timer_pending' > make[3]: *** [net/wireless/lib80211.o] Error 1 > make[2]: *** [net/wireless] Error 2 > make[1]: *** [net] Error 2 > make: *** [sub-make] Error 2 Signed-off-by: Rami Rosen Signed-off-by: John W. Linville commit 3461fc12a423c09169c6bb350319808ca4ec4b86 Author: Larry Finger Date: Wed Nov 12 17:31:52 2008 -0600 rtl8187: Update file authorship in comments Modify the file comments to reflect the current maintainers. Signed-off-by: Larry Finger Acked-by: Herton Ronaldo Krzesinski Acked-by: Hin-Tak Leung Signed-off-by: John W. Linville commit 59840488c207ca85ea3787b36169e7fa9582baaf Author: Larry Finger Date: Wed Nov 12 17:13:09 2008 -0600 Update of MAINTAINERS for RTL8187 As noted by John Linville, the RTL818X maintainers have "moved on", and the responsibilities for RTL8180 and RTL8187 have been split. This is the corresponding update of MAINTAINERS. Signed-off-by: Larry Finger Acked-by: Herton Ronaldo Krzesinski Acked-by: Hin-Tak Leung Signed-off-by: John W. Linville commit 4f6d4d1e36f30ac05bc39bcbfdba09e64e0f918c Author: Johannes Berg Date: Tue Oct 28 14:00:54 2008 +0100 wireless: clean up sysfs code using %pM Remove converting the MAC address to a string by a direct byte conversion and use %pM instead, since the code is now boilerplate use a macro to define the show functions, and also use the shorter __ATTR_RO macro to define the attributes. Signed-off-by: Johannes Berg Signed-off-by: John W. Linville commit 96dd603f3817c5289a906539cb85bddae9536868 Author: John W. Linville Date: Wed Nov 12 14:51:56 2008 -0500 MAINTAINERS: claim maintenance over rtl818x drivers Michael and Andrea have moved-on, so we shouldn't be bothering them about these drivers anymore. Actually, Herton Ronaldo Krzesinski, Hin-Tak Leung, and Larry Finger have been handling the rtl8187 stuff for a while. So, I would welcome a patch from one of them changing this to just RTL8180 and adding an RTL8187 entry with their names... Signed-off-by: John W. Linville commit da81dede95cf69b0e51442cb472f1581583381e4 Author: John W. Linville Date: Wed Nov 12 14:37:11 2008 -0500 rtl8180: adapt for deprecated IEEE80211_CONF_SHORT_SLOT_TIME flag This updates rtl8180 handling for short slot after "mac80211: fix short slot handling". Only rtl8180_rtl8225 actually had code for handling short slot times, so the other RF devices are untouched by this change. Signed-off-by: John W. Linville commit 627271018df75c8861b9e75b39d5995842e6ec95 Author: John W. Linville Date: Wed Nov 12 10:01:41 2008 -0500 mac80211: add explicit padding in struct ieee80211_tx_info Otherwise, the BUILD_BUG_ON calls in ieee80211_tx_info_clear_status can fail on some architectures. Signed-off-by: John W. Linville commit beb2a7f331361bfe81e71acdb0739eae570475a2 Author: John W. Linville Date: Tue Nov 11 16:45:38 2008 -0500 net/ieee80211 -> drivers/net/ipw2x00/libipw_* rename The old ieee80211 code only remains as a support library for the ipw2100 and ipw2200 drivers. So, move the code and rename it appropriately to reflects it's true purpose and status. Signed-off-by: John W. Linville commit 0795cd29b6fe05107b40080cb1fccadb96320c96 Author: John W. Linville Date: Tue Nov 11 16:22:09 2008 -0500 ipw2x00: relocate ipw2100/ipw2200 to common directory Signed-off-by: John W. Linville commit 2ba4b32ecf748d5f45f298fc9677fa46d1dd9aff Author: John W. Linville Date: Tue Nov 11 16:00:06 2008 -0500 lib80211: consolidate crypt init routines Signed-off-by: John W. Linville commit 274bfb8dc5ffa16cb073801bebe76ab7f4e2e73d Author: John W. Linville Date: Wed Oct 29 11:35:05 2008 -0400 lib80211: absorb crypto bits from net/ieee80211 These bits are shared already between ipw2x00 and hostap, and could probably be shared both more cleanly and with other drivers. This commit simply relocates the code to lib80211 and adjusts the drivers appropriately. Signed-off-by: John W. Linville commit dfe1bafdbac1c7b48b636fb7ace799e78170e0d6 Author: Pavel Roskin Date: Mon Nov 10 09:25:53 2008 -0500 orinoco: fix last beacon reporting on 64-bit systems orinoco_translate_scan() and orinoco_translate_ext_scan() wrongly truncate last_scanned argument from unsigned long to unsigned int. Signed-off-by: Pavel Roskin Signed-off-by: John W. Linville commit 1d047def6d19106a91f7756f970ac8429033a4d8 Author: Rami Rosen Date: Mon Nov 10 09:01:09 2008 +0200 mac80211: remove unnecessary include. This patch removes unnecessary #include from /net/mac80211/mlme.c. Signed-off-by: Rami Rosen Signed-off-by: John W. Linville commit 8ff48a8bbe4a1ba29dea2836dfce74660f97c1be Author: Ivo van Doorn Date: Sun Nov 9 23:40:46 2008 +0100 rt2x00: Fix race condition when using inderect registers Indirect registers require multiple calls to the CSR register in order to access the indirect registers. This must be protected under a lock to prevent race conditions which could cause invalid data to be returned when reading from the indirect register or silent failures when writing data to the indirect register. USB drivers where already protected under a mutex, so rename the mutex and make PCI drivers use the mutex as well. This now means that BBP and RF registers are no longer accessible in interrupt context. That is not a bad situation since the slow behavior of accessing those registers means we don't _want_ to access them in interrupt context either. Signed-off-by: Ivo van Doorn Signed-off-by: John W. Linville commit bad13639a30e1557fbe9d440adc1906673c9de4e Author: Ivo van Doorn Date: Sun Nov 9 20:47:00 2008 +0100 rt2x00: Optimize get_duration / get_duration_res We can optimize get_duration and get_duration_res by making them a macro. They are really simple calculation handlers so this doesn't matter much. Often (especially in rt2400pci and rt2500pci, the arguments are hardcoded, and the result value is passed into other hardcoded values. By making the functions a macro GCC can optimize the entire thing much better. Signed-off-by: Ivo van Doorn Signed-off-by: John W. Linville commit 87c1687d1a7bf0d4975d613cb699ba95b329359e Author: Julia Lawall Date: Sun Nov 9 17:56:10 2008 +0100 drivers/net/wireless/ath9k/rc.c: use ARRAY_SIZE ARRAY_SIZE is more concise to use when the size of an array is divided by the size of its type or the size of its first element. The semantic patch that makes this change is as follows: (http://www.emn.fr/x-info/coccinelle/) // @i@ @@ #include @depends on i using "paren.iso"@ type T; T[] E; @@ - (sizeof(E)/sizeof(E[...])) + ARRAY_SIZE(E) // Signed-off-by: Julia Lawall Signed-off-by: John W. Linville commit f9f88fed3433139b58962011c81597b44fd48458 Author: Jouni Malinen Date: Sun Nov 9 18:38:51 2008 +0200 mac80211_hwsim: Update documentation (AP mode enabled) AP mode is now enabled in mac80211, so there is no need to point users to an additional patch to enable the mode. In addition, add a pointer to more hwsim test cases in hostap.git. Signed-off-by: Jouni Malinen Signed-off-by: John W. Linville commit 9902b1843ff460d08a40d6c99ad8f5362296c3d4 Author: Tomas Winkler Date: Sat Nov 8 23:50:55 2008 +0200 mac80211: rc80211_pid eliminate sparse warnings This patch eliminates sparse warnings in pid rate scale algorithm 'debugfs: allow access to signed values' patch hit the dead end year ago w/o much echo so I guess there is no real need to address this properly. Signed-off-by: Tomas Winkler Acked-by: Johannes Berg Signed-off-by: John W. Linville commit 798b7adb4ed3533ab1282f51d16892034cfd8aae Author: Ivo van Doorn Date: Sat Nov 8 15:25:33 2008 +0100 rt2x00: Cleanup TX/RX entry handling Merge the callback functions init_txentry() and init_rxentry(). This makes life in rt2x00lib a lot simpler and we can cleanup several functions. rt2x00pci contained "fake" FIELD definitions for descriptor words. This is not flexible since it assumes the driver will always have the same field to indicate if a driver is available or not. This should be dependent on the driver, and we should add a callback function for this. Signed-off-by: Ivo van Doorn Signed-off-by: John W. Linville commit 0ed94eaaed618634f68197161203aac9f849471e Author: Randy Dunlap Date: Fri Nov 7 19:50:42 2008 -0800 mac80211: remove more excess kernel-doc Delete kernel-doc struct descriptions for fields that don't exist: Warning(include/net/mac80211.h:1263): Excess struct/union/enum/typedef member 'conf_ht' description in 'ieee80211_ops' Warning(net/mac80211/sta_info.h:309): Excess struct/union/enum/typedef member 'addr' description in 'sta_info' Warning(net/mac80211/sta_info.h:309): Excess struct/union/enum/typedef member 'aid' description in 'sta_info' Signed-off-by: Randy Dunlap cc: Johannes Berg cc: John W. Linville Signed-off-by: John W. Linville commit e4e58cf8cc646d93de852f32f972448a95387c60 Author: Zhu, Yi Date: Fri Nov 7 09:58:46 2008 -0800 iwlwifi: use Rx single frame mode (one Rx frame per RB) The RCSR default value for single frame mode is off (a RB contains more than one frames). But the driver assumes single frame mode apparently. This patch enables single frame mode for the hardware. It also adds a BUG_ON to make sure the allocated skb satisfies the hardware alignment requirement and removes a useless check. Signed-off-by: Zhu Yi Signed-off-by: Reinette Chatre Signed-off-by: John W. Linville commit 01ef932341de1fb69848ee0b9206e11baac9c340 Author: Winkler, Tomas Date: Fri Nov 7 09:58:45 2008 -0800 iwlwifi: get some more information about command failure This patch adds additional info about wrong command queue bug Signed-off-by: Tomas Winkler Signed-off-by: Reinette Chatre Signed-off-by: John W. Linville commit c24f0817458464fc9c54489dba19cd94787e5eaf Author: Kolekar, Abhijeet Date: Fri Nov 7 09:58:44 2008 -0800 iwl3945 : Simplify iwl3945_send_beacon_cmd Moved rate_msk calculation to iwl3945_rate_get_lowest_plcp. Signed-off-by: Abhijeet Kolekar Signed-off-by: Reinette Chatre Signed-off-by: John W. Linville commit cb299bae8929705bf025fdbd6ce0ffcc62f5b3d0 Author: Winkler, Tomas Date: Fri Nov 7 09:58:43 2008 -0800 iwlwifi: move iwl_print_hex_dump to iwl-debug.h This patch moves iwl_print_hex_dump to iwl-debug.h where it belongs Signed-off-by: Tomas Winkler Signed-off-by: Reinette Chatre Signed-off-by: John W. Linville commit e720ce9d15050d06e5162d5f70b133caccd64258 Author: Kolekar, Abhijeet Date: Fri Nov 7 09:58:42 2008 -0800 iwl3945 : Fix Sparse Warnings Patch fixes sparse warnings. No need to convert u8 variable to 32. Signed-off-by: Abhijeet Kolekar Signed-off-by: Reinette Chatre Signed-off-by: John W. Linville commit 21c339bf51ad46c6f8143df907b4bcce99dbe0b8 Author: Tomas Winkler Date: Fri Nov 7 09:58:41 2008 -0800 iwlwifi: move spectrum measurement code to iwl-spectrum.c file This patch moves spectrum measurement code into iwl-sepctrum.c file. Signed-off-by: Tomas Winkler Signed-off-by: Reinette Chatre Signed-off-by: John W. Linville commit 4ddbb7d060061e584cb2137f4c7e41e502a560b4 Author: Tomas Winkler Date: Fri Nov 7 09:58:40 2008 -0800 iwlwifi: revamp tx scheduler byte count tables handling This moves byte count tables to tx domain removing completely ambivalent shared data. Changes handling of allocation byte count tables and keep warm consistent memory Moves general tx scheduler definitions from iwl-4956-hw.h to iwl-fh.h Signed-off-by: Tomas Winkler Signed-off-by: Reinette Chatre Signed-off-by: John W. Linville commit 8d86422a83d79e3d3241cf0f269fca0c2640bcee Author: Winkler, Tomas Date: Fri Nov 7 09:58:39 2008 -0800 iwlwifi: move rx queue read pointer into rxq This patch moves rx status/read registers into iwl_rx_queue structures. This solution is more memory hungry but is more structured and provides needed RX/TX separation Signed-off-by: Tomas Winkler Signed-off-by: Reinette Chatre Signed-off-by: John W. Linville commit 5c5aa3f13a50881b8f6e529e321bbefb5faec37b Author: Halperin, Daniel C Date: Fri Nov 7 09:58:38 2008 -0800 iwlwifi: update iwl-commands.h for 3 stream support This patch updates comments and constants to support 1, 2, or 3 spatial streams in rate_n_flags . Signed-off-by: Daniel Halperin Signed-off-by: Tomas Winkler Signed-off-by: John W. Linville commit a71c8f62d46e4496011182658dc058303960c068 Author: Winkler, Tomas Date: Fri Nov 7 09:58:37 2008 -0800 iwlwifi: don't fail power set when calibration is not done yet This patch doesn't fail power save setting when calibration is not done yet. The new power index is registered and will be evaluated again anyway upon calibration completion. This patch also eliminates WARN_ON in mac80211 hw_config during initialization Signed-off-by: Tomas Winkler Signed-off-by: Reinette Chatre Signed-off-by: John W. Linville commit 193357748979985498f21abc94c7a0a3ed5a3b8e Author: Winkler, Tomas Date: Fri Nov 7 09:58:36 2008 -0800 iwlwifi: trivial fix in includes This patch removes one FIXME: in rearranging includes Signed-off-by: Tomas Winkler Signed-off-by: Reinette Chatre Signed-off-by: John W. Linville commit 9bdf5ecabf1cd2fb012f87d9742590fdd8290da0 Author: Mohamed Abbas Date: Fri Nov 7 09:58:35 2008 -0800 iwl3945: fix resume for ADHOC network ieee80211_notify_mac only reconnect BSS networks. Since IBSS does not need any auth or assoc steps we can just resume to the same condition before suspend. This patch will reestablish the ad-hoc network once it comes back from resume. http://www.intellinuxwireless.org/bugzilla/show_bug.cgi?id=1774 Signed-off-by: Mohamed Abbas Signed-off-by: Reinette Chatre Signed-off-by: John W. Linville commit ada1751346b5539f393c2e9c9dc04d9e7078e53a Author: Mohamed Abbas Date: Fri Nov 7 09:58:34 2008 -0800 iwlagn: fix resume for ADHOC network ieee80211_notify_mac only reconnect BSS networks. Since IBSS does not need any auth or assoc steps we can just resume to the same condition before suspend. This patch will reestablish the ad-hoc network once it comes back from resume. http://www.intellinuxwireless.org/bugzilla/show_bug.cgi?id=1774 Signed-off-by: Mohamed Abbas Signed-off-by: Reinette Chatre Signed-off-by: John W. Linville commit 1e87d68083cd073c84edb3a71fa4365d7fc092bd Author: Johannes Berg Date: Thu Nov 6 17:20:24 2008 +0100 b43: remove rate index warning I frequently run into this warning, and added some debugging to see why, and got this: b43 bad rx: 00000000: 2f d2 e2 63 cf a7 14 04 28 18 c8 5f 88 4a a2 00 bogus junk | plcp | fctl| dur b43 bad rx: 00000010: 00 11 24 91 07 4d 00 06 25 ff 8f 78 00 06 25 ff my MAC address | BSSID | AP MAC b43 bad rx: 00000020: 8f 76 20 74 00 00 42 07 00 20 00 00 00 00 aa aa | seq | QoS | CCMP IV | data ... As you can see, there are 6 bogus bytes (sometimes only five) and then the frame. I don't know why, and I don't see how to recover, so let's just drop these frames. Signed-off-by: Johannes Berg Signed-off-by: Michael Buesch Signed-off-by: John W. Linville commit 7f3704e992ee4044f8e0068e060458377004473a Author: Johannes Berg Date: Thu Nov 6 15:18:11 2008 +0100 b43legacy: implement short slot and basic rate handling This implements proper short slot handling and adds code to program the hardware for the correct response rates derived from the basic rate set for the current BSS. (port from b43) Signed-off-by: Johannes Berg Signed-off-by: John W. Linville commit 3e4127fa6db34765685599fb8d1177e51850a63c Author: Alexey Fisher Date: Thu Nov 6 09:51:16 2008 +0100 ipw2200: make association only if SSID is known. 'iwconfig eth1 channel 6' would trigger association to _something_, which is wrong. Changing the channel should (and does) trigger reassociation, but only if there is an SSID to associate with. Signed-off-by: Alexey Fisher Acked-by: Zhu Yi Signed-off-by: John W. Linville commit ffb826767bffda61426d964a8fc24a216a14b0bd Author: Luis R. Rodriguez Date: Mon Nov 3 14:43:01 2008 -0800 ath9k: enable RXing of beacons on STA/IBSS This enables beacons to come through on STA/IBSS. It should fix sporadic connection issues. Right now mac80211 expect beacons so give it beacons. Signed-off-by: Luis R. Rodriguez Signed-off-by: John W. Linville commit 296bf2aefdf7b4b1bf093a7b42a86ee21b46d07f Author: Luis R. Rodriguez Date: Mon Nov 3 14:43:00 2008 -0800 ath5k: allow APs to receive beacons Allow APs to receive beacons to detect when it needs to use protection to update the NAV correctly on 11b stations. Signed-off-by: Luis R. Rodriguez Signed-off-by: John W. Linville commit 6a53a8a99cb044e1873648ba184440db6d9c65b8 Author: Nick Kossifidis Date: Tue Nov 4 00:25:54 2008 +0200 ath5k: Fix IMR init *On a previous patch i splitted AR5K_INT_TX to multiple different TX interrupt flags for better handling but i forgot to unmask the new TXDESC and TXEOL interrupts on ath5k_init and only left TXOK. However for each queue we enable TXDESC and TXEOL interrupts, not TXOK so we don't handle TX interrupts at all (because these interrupts remain masked on PISR) and under load it results packet loss. Fix the problem by unmasking TXDESC and TXEOL on ath5k_init. Signed-Off-by: Nick Kossifidis Signed-off-by: John W. Linville commit 392dff836f40370033bbe3b39e3b9bf4148d1435 Author: Benoit PAPILLAULT Date: Thu Nov 6 22:26:49 2008 +0100 ath9k : Display MAC/BB and RF version at startup (v2) This patch decodes the MAC/BB version (for instance: AR5416) and the RF part version (for instance: AR5133). It has been tested on AR5416/AR5133 which is a 2.4/5GHz 11n device. It also makes the differences between AR5416 (PCI) and AR5418 (PCI Express). Both are named AR5416 in the register definitions. Signed-off-by: Benoit Papillault Signed-off-by: John W. Linville commit 4821277f36e008b531728e359fbbedb229117f4b Author: Felix Fietkau Date: Mon Nov 3 21:05:01 2008 +0100 mac80211: fix BUILD_BUG_ON() caused by misalignment on arm On ARM alignment is done slightly different from other architectures. struct ieee80211_tx_rate is aligned to word size, even though it only has 3 single-byte members, which triggers the BUILD_BUG_ON in ieee80211_tx_info_clear_status This patch marks the struct ieee80211_tx_rate as packed, so that ARM behaves like the other architectures. Signed-off-by: Felix Fietkau Signed-off-by: John W. Linville commit 8b0162a3dc5c30e862b7a73da29e32de3170f5e4 Author: Felix Fietkau Date: Mon Nov 3 11:27:38 2008 +0100 ath5k: ignore the return value of ath5k_hw_noise_floor_calibration Noise floor calibration occasionally fails on Atheros hardware. This is not fatal and can happen if there's simply too much noise on the air. Ignoring the calibration error is the right thing to do here, because when the error is ignored, the hardware will still work, whereas if the error causes the driver to bail out of a bigger configuration function and does not configure the tx queues or the IMR (as is the case in reset.c), the hw no longer works properly until the next reset. Signed-off-by: Felix Fietkau Signed-off-by: John W. Linville commit 6d64360ac56cda95243f15738a06f2a123c663e5 Author: Ivo van Doorn Date: Sun Nov 2 00:38:10 2008 +0100 rt2x00: Fix BUG_ON() with antenna handling With the new configuration handling, and more specifically splitting the configuration of the antenna from the normal configuration steps allowed a BUG_ON() to be triggered in the driver because the SW_DIVERSITY was send to the driver. This fixes that by catching the value early in rt2x00config.c and replacing it with a sensible value. This also fixes a problem where the antenna is not being initialized at all when the radio is enabled. Since it no longer is part of the mac80211 configuration the only place where rt2x00 configured it was the SW diversity handler. Obviously this is broken for all non-diversity hardware and breaks SW diversity due to a broken initialization. When the radio is enabled the antenna will be configured once as soon as the config() callback function is called. Signed-off-by: Ivo van Doorn Signed-off-by: John W. Linville commit 8058409c4fb8e38632207d572ed29943d2585520 Author: Ivo van Doorn Date: Sun Nov 2 00:37:25 2008 +0100 rt2x00: Block set_key() during suspend/shutdown mac80211 will call set_key() when the device is shutting down. When the device is unplugged the keys will be lost automatically due to the power loss. When the device is not plugged but the module is only unloaded the keys can remain in the device hardware, when the module is loaded the keys will be cleaned up during initialization. This should prevent the problem reported by Johannes Berg, where unplugging the device while suspended resulted in a NULL pointer error during set_key() which was caused because of the CSR base address being freed. Signed-off-by: Ivo van Doorn Signed-off-by: John W. Linville commit 9a95dba32735534bda59def40c747bf606fedf05 Author: Ivo van Doorn Date: Sun Nov 2 00:37:09 2008 +0100 rt2x00: Fix LED state handling For every global LED state change (register/unregister, suspend/resume) we should force the LEDS to turn off. This makes sure that the LEDS will always be in a sane state after the state switch. Note that when unregister is called but the LED class wasn't resumed yet, we shouldn't change the LED state since we might not have access to the device (device was unplugged while suspended). Also remove the checks in the activity, assoc and radio LEDS which blocked calls to brightness_set() when the state hasn't changed. Some of those LEDS could be enabled by themselves when something happens in the hardware (e.g. firmware is loaded). We already did called rt2x00leds to switch the LED off, but those calls were blocked. Signed-off-by: Ivo van Doorn Signed-off-by: John W. Linville commit 3d8606a680529d41ad8985f36ecf83a7b393ecaf Author: Ivo van Doorn Date: Sun Nov 2 00:36:40 2008 +0100 rt2x00: Remove RATE_BASIC flag mac80211 is in charge of determining the basic rates, so we are not using the RATE_BASIC flag anymore. Signed-off-by: Ivo van Doorn Signed-off-by: John W. Linville commit 1c740ed2210a0d124674a477ea538468aba47810 Author: Larry Finger Date: Fri Oct 31 17:19:31 2008 -0700 Move all rtl818x files to a common directory. This change improves the maintainability of these drivers. No functionality is changed. Signed-off-by: Larry Finger Signed-off-by: John W. Linville commit 55b3961953494c340b3625486f484af8ded31dd7 Author: Andrey Yurovsky Date: Fri Oct 31 23:23:35 2008 -0700 mac80211_hwsim: enable Mesh Point operation Initial mesh support: add Mesh Point to supported interfaces mask and allow hwsim to send beacons in mesh mode. Signed-off-by: Andrey Yurovsky Signed-off-by: John W. Linville commit a3c9aa512945aa5552d03c7d6d6c3b826a3f9e28 Author: Andrey Yurovsky Date: Fri Oct 31 14:50:12 2008 -0700 mac80211: disable BSSID filtering for mesh interfaces Mesh interfaces are currently opened with the FIF_ALLMULTI rx filter flag set, however there is no BSSID in mesh so BSSID filtering should be disabled by setting the FIF_OTHER_BSS flag as well. Also explicitly call ieee80211_configure_filter for mesh. Signed-off-by: Andrey Yurovsky Signed-off-by: Javier Cardona Acked-by: Johannes Berg Signed-off-by: John W. Linville commit b7b05fe7f92e21e933caa529fd8d78bbbbfbd293 Author: Kay Sievers Date: Thu Oct 30 15:51:57 2008 +0100 ssb: struct device - replace bus_id with dev_name(), dev_set_name() This patch is part of a larger patch series which will remove the "char bus_id[20]" name string from struct device. The device name is managed in the kobject anyway, and without any size limitation, and just needlessly copied into "struct device". To set and read the device name dev_name(dev) and dev_set_name(dev) must be used. If your code uses static kobjects, which it shouldn't do, "const char *init_name" can be used to statically provide the name the registered device should have. At registration time, the init_name field is cleared, to enforce the use of dev_name(dev) to access the device name at a later time. We need to get rid of all occurrences of bus_id in the entire tree to be able to enable the new interface. Please apply this patch, and possibly convert any remaining remaining occurrences of bus_id. We want to submit a patch to -next, which will remove bus_id from "struct device", to find the remaining pieces to convert, and finally switch over to the new api, which will remove the 20 bytes array and does no longer have a size limitation. CC: Michael Buesch Acked-by: Greg Kroah-Hartman Signed-Off-By: Kay Sievers Signed-off-by: John W. Linville commit 582c1b538fb47a2d6a41dbdadb031086c49446c1 Author: Anna Neal Date: Mon Oct 20 16:46:56 2008 -0700 libertas: Fine grained configuration of wake-on-lan. Based on a patch from Shailendra Govardhan . This patch allows implementation of more specific wake-on-lan rules than those of ethtool. Please note that only firmware 5.110.22.p20 and above supports this feature. This patch only implements the driver/firmware interface, not the userspace/driver interface. Signed-off-by: Anna Neal Signed-off-by: Javier Cardona Signed-off-by: John W. Linville commit 50da3ead624d46f1b9f1007a184691bbb841eba7 Author: John W. Linville Date: Mon Nov 10 13:59:18 2008 -0500 ipw2100, ipw2200: select LIB80211 Otherwise some configs can result in missing print_ssid... Signed-off-by: John W. Linville commit 3d29b0c33d431ecc69ec778f8c236d382f59a85f Author: John W. Linville Date: Fri Oct 31 14:13:12 2008 -0400 netdevice zd1201: Convert directly reference of netdev->priv to netdev_priv() We have some reasons to kill netdev->priv: 1. netdev->priv is equal to netdev_priv(). 2. netdev_priv() wraps the calculation of netdev->priv's offset, obviously netdev_priv() is more flexible than netdev->priv. But we cann't kill netdev->priv, because so many drivers reference to it directly. OK, becasue Dave S. Miller said, "every direct netdev->priv usage is a bug", and I want to kill netdev->priv later, I decided to convert all the direct reference of netdev->priv first. (Original patch posted by Wang Chen w/ above changelog but using dev->ml_priv. That doesn't seem appropriate to me for this driver, so I've revamped it to use netdev_priv() instead. -- JWL) Reviewed-by: Wang Chen Signed-off-by: John W. Linville commit 4f904735c809e44c11f57cd4f82446aac1243e0e Author: Mark Brown Date: Fri Nov 21 15:08:23 2008 +0000 ALSA: ASoC: Fix typo in snd_soc_card update documentation Signed-off-by: Mark Brown Signed-off-by: Takashi Iwai commit 42e81c991a71909929f8d0cdcdf8ced68799388a Author: Hannes Eder Date: Fri Nov 21 16:03:24 2008 +0100 ALSA: hda - fix sparse warning Fix the following sparse warning: sound/pci/hda/patch_nvhdmi.c:161:25: warning: symbol 'snd_hda_preset_nvhdmi' was not declared. Should it be static? Signed-off-by: Hannes Eder Signed-off-by: Takashi Iwai commit 39639faba98eafeb327a30bc10b7d921c398a59a Author: Mark Brown Date: Fri Nov 21 14:28:49 2008 +0000 ASoC: Improve error reporting for AC97 reset failures Print something a bit more verbose to help make errors a little more obvious. Signed-off-by: Mark Brown commit 0e734ad5d16ad1d87a428a30d117bb3541a8e24d Author: Mark Brown Date: Fri Nov 21 14:05:48 2008 +0000 ASoC: Staticise pxa2xx_pcm_ops It's not exported. Signed-off-by: Mark Brown commit 0c758bdd678860fff3c4b600ec6f134e43526850 Author: Jarkko Nikula Date: Fri Nov 21 14:31:33 2008 +0200 ASoC: OMAP: Fix preprocessor filled DAI name in McBSP DAI Signed-off-by: Jarkko Nikula Signed-off-by: Mark Brown commit 2dac9217b26fd0a0a1712386ce2ea1411835ffb7 Author: Mark Brown Date: Fri Nov 21 14:01:41 2008 +0000 ASoC: Add Marvell Zylonite machine support Implement support for the Marvell Zylonite PXA3xx reference platform, supporting standard AC97 stereo and AUX interfaces together with the auxiliary I2S interface of the WM9713. The board has two options for the MCLK of the WM9713: either the standard AC97 system clock can be used or the 13MHz CLK_POUT output of the PXA3xx can be used, selected via SW15 on the board. Currently only the AC97 system clock is supported by this driver. Signed-off-by: Mark Brown commit 14ae22ba2b8bb3d53fb795f9b8074aa39ef7b6cd Author: Ingo Molnar Date: Fri Nov 21 15:20:47 2008 +0100 x86: entry_64.S: rename Impact: cleanup Rename: CFI_PUSHQ => pushq_cfi CFI_POPQ => popq_cfi CFI_MOVQ => movq_cfi To make it blend better into regular assembly code. Signed-off-by: Ingo Molnar commit e8a0e27662186f8856a0a6242e7a8386c9a64a53 Author: Ingo Molnar Date: Fri Nov 21 15:11:32 2008 +0100 x86: clean up after: move entry_64.S register saving out of the macros, fix Impact: build fix The break builds with older binutils (2.16.1): arch/x86/kernel/entry_64.S: Assembler messages: arch/x86/kernel/entry_64.S:282: Error: too many positional arguments arch/x86/kernel/entry_64.S:283: Error: too many positional arguments arch/x86/kernel/entry_64.S:284: Error: too many positional arguments arch/x86/kernel/entry_64.S:285: Error: too many positional arguments arch/x86/kernel/entry_64.S:286: Error: too many positional arguments arch/x86/kernel/entry_64.S:287: Error: too many positional arguments arch/x86/kernel/entry_64.S:288: Error: too many positional arguments arch/x86/kernel/entry_64.S:289: Error: too many positional arguments arch/x86/kernel/entry_64.S:290: Error: too many positional arguments Took some time to figure out the detail that GAS chokes on: it's negative offsets. Rearrange the calculations to make sure we never go negative. Signed-off-by: Ingo Molnar commit dee89c4d94433520e4e3977ae203d4cfbfe385fb Author: Mark Brown Date: Tue Nov 18 22:11:38 2008 +0000 ASoC: Merge snd_soc_ops into snd_soc_dai_ops Liam Girdwood's ASoC v2 work avoids having two different ops structures for DAIs by merging the members of struct snd_soc_ops into struct snd_soc_dai_ops, allowing per DAI configuration for everything. Backport this change. This paves the way for future work allowing any combination of DAIs to be connected rather than having fixed purpose CODEC and CPU DAIs and only allowing CODEC<->CPU interconnections. Signed-off-by: Mark Brown commit a47cbe7263236691ee0bbc392f7fd4ec0da1159f Author: Mark Brown Date: Wed Jul 23 14:03:07 2008 +0100 ASoC: Move DAI structure definitions into new soc-dai.h ASoC v2 factors most of the contents of soc.h out into separate headers, including soc-dai.h for the DAI. Factor the existing DAI API out into this file in order to prepare for backporting of the ASoC v2 DAI API. Also backport some of Liam's improvements to the documentation. Signed-off-by: Mark Brown commit 5de27b6cc0a8a1d27158ec9047cb5981745edfc0 Author: Karl Beldan Date: Thu Nov 20 15:39:31 2008 +0100 ASoC: ssm2602: Update supported stream formats Signed-off-by: Karl Beldan Signed-off-by: Mark Brown commit faab5a32f4d0784d6bde57963267be0453be3546 Author: Karl Beldan Date: Thu Nov 20 15:39:27 2008 +0100 ASoC: ssm2602: Fix priv substreams refs Clean up our record of the active streams in shutdown(), fixing subsequent failures of snd_pcm_hw_constraints_complete after closure of a stream. NOTE: - The ssm2602 allows pairs of non-matching PB/REC rates. - This is a fix for less evil: The logic is flawed (e.g. the slave might startup before the master's rate and sample_bits are set). Signed-off-by: Karl Beldan Signed-off-by: Mark Brown commit bd903bde7e0ad017cb87a228f451e05011e6d302 Author: Mark Brown Date: Wed Nov 19 19:16:05 2008 +0000 ASoC: Add abbreviation to maintainers for searchability Signed-off-by: Mark Brown commit 875065491fba8eb13219f16c36e79a6fb4e15c68 Author: Mark Brown Date: Tue Nov 18 20:50:34 2008 +0000 ASoC: Rename snd_soc_card to snd_soc_machine One of the issues with the ASoC v1 API which has been addressed in the ASoC v2 work that Liam Girdwood has done is that the ALSA card provided by ASoC is distributed around the ASoC structures. For example, machine wide data such as the struct snd_card are maintained as part of the CODEC data structure, preventing the use of multiple codecs. This has been addressed by refactoring the data structures so that all the data for the ALSA card is contained in a single structure snd_soc_card which replaces the existing snd_soc_machine and snd_soc_device. Begin the process of backporting this by renaming struct snd_soc_machine to struct snd_soc_card, better reflecting its function and bringing it closer to standard ALSA terminology. Signed-off-by: Mark Brown commit 98aa9c80f1fee01e98dfdc484ab7316af45f8f17 Author: Jarek Poplawski Date: Fri Nov 21 04:37:27 2008 -0800 pkt_sched: sch_drr: Fix qlen in drr_drop() Signed-off-by: Jarek Poplawski Acked-by: Patrick McHardy Signed-off-by: David S. Miller commit 9d2f4720971c00852a3fc8278a76f1a5e9add5c7 Author: Wang Chen Date: Fri Nov 21 01:56:07 2008 -0800 ixgbe: convert directly reference of netdev->priv Signed-off-by: Wang Chen Signed-off-by: David S. Miller commit 11b444d5627d87beb55029601cf8d2c9fa9324fd Author: Takashi Iwai Date: Fri Nov 21 09:32:40 2008 +0100 ALSA: hda - Move HD-audio Kconfig items to sound/pci/hda/Kconfig Signed-off-by: Takashi Iwai commit e7ee058cac89ec2f2c0c9ab0ec92a3776c182642 Author: Takashi Iwai Date: Fri Nov 21 09:26:20 2008 +0100 ALSA: hda - Make CONFIG_SND_HDA_RECONFIG for codec reconfiguration Make the codec re-configuration feature selectable via Kconfig, CONFIG_SND_HDA_RECONFIG. Also mark it as experimental (as it really is). Signed-off-by: Takashi Iwai commit f208dba97f2f3ff2fbcbe771195061e2a0dac870 Author: Takashi Iwai Date: Fri Nov 21 09:11:50 2008 +0100 ALSA: hda - Release ELD proc file Release ELD proc file when reconfigured so that no leak occurs. Signed-off-by: Takashi Iwai commit b94d3539de59ec6481e38f83c455324fd3aeabc1 Author: Takashi Iwai Date: Fri Nov 21 09:08:06 2008 +0100 ALSA: hda - Fix double free of jack instances The jack instances created in patch_sigmatel.c may be double-freed. The device management code checks the invalid element, and thus there is no real breakage, but it spews annoying warning messages. But, we can't simply remove the release calls of these jack instances because they have to be freed when the codec is re-configured. Now, a new flag, bus->shutdown is introduced to indicate that the bus is really being unloaded, i.e. the objects managed by the device manager will be automatically deleted. We release these objects only when this flag isn't set. Signed-off-by: Takashi Iwai commit 957ad0166e9f76a8561dafa5e14ef5bd3f5e9a3b Author: Vegard Nossum Date: Fri Nov 21 01:30:36 2008 +0100 sched: update comment for move_task_off_dead_cpu Impact: cleanup This commit: commit f7b4cddcc5aca03e80e357360c9424dfba5056c2 Author: Oleg Nesterov Date: Tue Oct 16 23:30:56 2007 -0700 do CPU_DEAD migrating under read_lock(tasklist) instead of write_lock_irq(ta Currently move_task_off_dead_cpu() is called under write_lock_irq(tasklist). This means it can't use task_lock() which is needed to improve migrating to take task's ->cpuset into account. Change the code to call move_task_off_dead_cpu() with irqs enabled, and change migrate_live_tasks() to use read_lock(tasklist). ...forgot to update the comment in front of move_task_off_dead_cpu. Reference: http://lkml.org/lkml/2008/6/23/135 Signed-off-by: Vegard Nossum Signed-off-by: Ingo Molnar commit fc02e90c34bacd5d7bc77b832c65a8f06e1bd60e Merge: ec4e0e2 13d428a Author: Ingo Molnar Date: Fri Nov 21 08:57:04 2008 +0100 Merge commit 'v2.6.28-rc6' into sched/core commit 0623536ca3e8fd7cb8b7468b0fd4d61d80f0b6ea Author: Takashi Iwai Date: Fri Nov 21 08:54:54 2008 +0100 ALSA: hda - Add missing static for snd_hda_eld_proc_new() inline funciton Signed-off-by: Takashi Iwai commit 3ddd972d970fdabbe6515aa2f95e0ef2c8df903d Author: Hiroshi Shimamoto Date: Thu Nov 20 18:32:17 2008 -0800 x86: signal: rename COPY_SEG_STRICT to COPY_SEG_CPL3 Impact: cleanup Rename macro COPY_SEG_STRICT to COPY_SEG_CPL3, as suggested by hpa. Signed-off-by: Hiroshi Shimamoto Signed-off-by: Ingo Molnar commit acdda7915eb5dae20b6e43b8b772b712b1ed32c3 Author: Wu Fengguang Date: Fri Nov 21 11:41:50 2008 +0800 ALSA: hda - support writing to the ELD proc file Allow users to fix quicks of ELD ROMs by writing new values to the ELD proc interface. The format is one or more lines of "name hex_value". Users can add/remove/modify up to 32 SAD(Short Audio Descriptor) entries. Signed-off-by: Wu Fengguang Signed-off-by: Takashi Iwai commit db742104704cfb047732aa66451c608382da3aee Author: Wu Fengguang Date: Fri Nov 21 12:34:05 2008 +0800 ALSA: hda: modify monitor name to be consistent with other ELD proc items Rename "monitor name" to "monitor_name" to conform with the keyword style. Signed-off-by: Wu Fengguang Signed-off-by: Takashi Iwai commit 218b5ffc0d3fa852624e67a1bb2528ca29274d6e Author: Wu Fengguang Date: Fri Nov 21 09:42:59 2008 +0800 ALSA: hda - properly print ELD sample bits Fix bugs on printing the ELD sample bits. Signed-off-by: Wu Fengguang Signed-off-by: Takashi Iwai commit 75a287d9a35a825cb758d2f8d8df93d41f9f8e3e Merge: 1725b82 3a7abfd Author: Takashi Iwai Date: Fri Nov 21 08:27:04 2008 +0100 Merge branch 'topic/fix/hda' into topic/hda Conflicts: sound/pci/hda/patch_sigmatel.c commit c4900be053d376dfe4f603d000aa5e4c60745dec Author: Donald Skidmore Date: Thu Nov 20 21:11:42 2008 -0800 ixgbe: add SFP+ driver support This patch adds support for SFP+ PHY in the following device ID's (10DB, 10F1, 10E1). These SFP+ PHY's are accessed via an I2C interface so the patch also includes functions to support this. Another feature of note is that the PHY is pluggable and some rearchitecting was needed to support this. Signed-off-by: Donald Skidmore Signed-off-by: Peter P Waskiewicz Jr Signed-off-by: Jeff Kirsher Signed-off-by: David S. Miller commit 859ee3c43812051e21816c6d6d4cc04fb7ce9b2e Author: Alexander Duyck Date: Thu Nov 20 21:10:23 2008 -0800 DCB: Add support for DCB BCN Adds an interface to configure the Backward Congestion Notification (BCN) feature. In a BCN capabale network, congestion notifications from congested points out in the network can cause the end station limit the rate of a given traffic flow. Signed-off-by: Alexander Duyck Signed-off-by: Jeff Kirsher Signed-off-by: Peter P Waskiewicz Jr Signed-off-by: David S. Miller commit 0eb3aa9bab20217fb42244ccdcb5bf8a002f504c Author: Alexander Duyck Date: Thu Nov 20 21:09:23 2008 -0800 DCB: Add interface to query the state of PFC feature. Adds a netlink interface for Data Center Bridging (DCB) to get and set the enable state of the Priority Flow Control (PFC) feature. Primarily, this is a way to turn off PFC in the driver while DCB remains enabled. Signed-off-by: Alexander Duyck Signed-off-by: Jeff Kirsher Signed-off-by: Peter P Waskiewicz Jr Signed-off-by: David S. Miller commit 33dbabc4a7f7bd72313c73a3c199f31f3900336f Author: Alexander Duyck Date: Thu Nov 20 21:08:19 2008 -0800 DCB: Add interface to query # of TCs supported by device Adds interface for Data Center Bridging (DCB) to query (and set if supported) the number of traffic classes currently supported by the device for the two (DCB) features: priority groups (PG) and priority flow control (PFC). Signed-off-by: Alexander Duyck Signed-off-by: Jeff Kirsher Signed-off-by: Peter P Waskiewicz Jr Signed-off-by: David S. Miller commit 46132188bf72e22ef097f16ed5c969ee8cea1e8b Author: Alexander Duyck Date: Thu Nov 20 21:05:08 2008 -0800 DCB: Add interface to query for the DCB capabilities of an device. Adds to the netlink interface for Data Center Bridging (DCB), allowing the DCB capabilities supported by a device to be queried. Signed-off-by: Alexander Duyck Signed-off-by: Jeff Kirsher Signed-off-by: Peter P Waskiewicz Jr Signed-off-by: David S. Miller commit 2f90b8657ec942d1880f720e0177ee71df7c8e3c Author: Alexander Duyck Date: Thu Nov 20 20:52:10 2008 -0800 ixgbe: this patch adds support for DCB to the kernel and ixgbe driver This adds support for Data Center Bridging (DCB) features in the ixgbe driver and adds an rtnetlink interface for configuring DCB to the kernel. The DCB feature support included are Priority Grouping (PG) - which allows bandwidth guarantees to be allocated to groups to traffic based on the 802.1q priority, and Priority Based Flow Control (PFC) - which introduces a new MAC control PAUSE frame which works at granularity of the 802.1p priority instead of the link (IEEE 802.3x). Signed-off-by: Alexander Duyck Signed-off-by: Jeff Kirsher Signed-off-by: Peter P Waskiewicz Jr Signed-off-by: David S. Miller commit 9db66bdcc83749affe61c61eb8ff3cf08f42afec Author: Eric Dumazet Date: Thu Nov 20 20:39:09 2008 -0800 net: convert TCP/DCCP ehash rwlocks to spinlocks Now TCP & DCCP use RCU lookups, we can convert ehash rwlocks to spinlocks. /proc/net/tcp and other seq_file 'readers' can safely be converted to 'writers'. This should speedup writers, since spin_lock()/spin_unlock() only use one atomic operation instead of two for write_lock()/write_unlock() Signed-off-by: Eric Dumazet Signed-off-by: David S. Miller commit b8c26a33c8b6f0a150e9cb38ed80b890be55395c Author: Stephen Hemminger Date: Thu Nov 20 20:34:29 2008 -0800 ipgre: convert to netdevice_ops Convert ipgre tunnel to netdevice ops. Signed-off-by: Stephen Hemminger Signed-off-by: David S. Miller commit 1326c3d5a4b792a2b15877feb7fb691f8945d203 Author: Stephen Hemminger Date: Thu Nov 20 20:33:56 2008 -0800 ipv6: convert tunnels to net_device_ops Like IPV4, convert the tunnel virtual devices to use net_device_ops. Signed-off-by: Stephen Hemminger Signed-off-by: David S. Miller commit 23a12b14715e2dcd34dc8002927263ad3437344c Author: Stephen Hemminger Date: Thu Nov 20 20:33:21 2008 -0800 ipip: convert to net_device_ops Convert to network device ops. Needed to change to directly call the init routine since two sides share same ops. In the process found by inspection a device ref count leak if register_netdevice failed. Signed-off-by: Stephen Hemminger Signed-off-by: David S. Miller commit 748ff68fad9600593c6abe47856037602bd5d133 Author: Stephen Hemminger Date: Thu Nov 20 20:32:15 2008 -0800 hippi: convert driver to net_device_ops Convert the HIPPI infrastructure for use with net_device_ops. Signed-off-by: Stephen Hemminger Signed-off-by: David S. Miller commit fd8f4997e35f2c9a8bfc4d797ec09a6ae7858e04 Author: Stephen Hemminger Date: Thu Nov 20 20:31:40 2008 -0800 defxx: convert driver to net_device_ops Convert this driver to net_device_ops. Signed-off-by: Stephen Hemminger Signed-off-by: David S. Miller commit 145186a39570244aead77dc2efc559e5cac90548 Author: Stephen Hemminger Date: Thu Nov 20 20:29:48 2008 -0800 fddi: convert to new network device ops Similar to ethernet. Convert infrastructure and the one lone FDDI driver (for the one lone user of that hardware??). Compile tested only. Signed-off-by: Stephen Hemminger Signed-off-by: David S. Miller commit 007c3838d9fdcc8fdaea87e4879ec3759f016ed5 Author: Stephen Hemminger Date: Thu Nov 20 20:28:35 2008 -0800 ipmr: convert ipmr virtual interface to net_device_ops Convert to new network device ops interface. Signed-off-by: Stephen Hemminger Signed-off-by: David S. Miller commit aa18e9e88c863a58f6ea63eeee0e740be071fdcf Author: Stephen Hemminger Date: Thu Nov 20 20:28:00 2008 -0800 dummy: convert to net_device_ops Convert to new network device ops interface. Signed-off-by: Stephen Hemminger Signed-off-by: David S. Miller commit 008298231abbeb91bc7be9e8b078607b816d1a4a Author: Stephen Hemminger Date: Thu Nov 20 20:14:53 2008 -0800 netdev: add more functions to netdevice ops This patch moves neigh_setup and hard_start_xmit into the network device ops structure. For bisection, fix all the previously converted drivers as well. Bonding driver took the biggest hit on this. Added a prefetch of the hard_start_xmit in the fast path to try and reduce any impact this would have. Signed-off-by: Stephen Hemminger Signed-off-by: David S. Miller commit 1725b82a6e2721612a3572d0336f51f1f1c3cf54 Author: Takashi Iwai Date: Fri Nov 21 02:25:48 2008 +0100 ALSA: hda - make laptop-eapd model back for AD1986A The changes specific for Samsung laptops seem unapplicable to other hardware models like ASUS. The mic inputs are lost on such hardware by the change 5d5d5f43f1b835c375de9bd270cce030d16e2871. This patch adds back the old laptop-eapd model, and create a new model "samsung" for the new one specific to Samsung laptops with automatic mic selection feature. Reference: kernel bugzilla #12070 http://bugzilla.kernel.org/show_bug.cgi?id=12070 Signed-off-by: Takashi Iwai commit 6ab33d51713d6d60c7677c0d020910a8cb37e513 Merge: 7be6065 13d428a Author: David S. Miller Date: Thu Nov 20 16:44:00 2008 -0800 Merge branch 'master' of master.kernel.org:/pub/scm/linux/kernel/git/davem/net-2.6 Conflicts: drivers/net/ixgbe/ixgbe_main.c include/net/mac80211.h net/phonet/af_phonet.c commit e42b6646a8298fe06a33a0f68dab661335f5db6e Author: Peter Hutterer Date: Thu Nov 20 15:24:42 2008 -0500 Input: synaptics - report multi-taps only if supported by the device According to Section 2.4.4 of the Synaptics TouchPad Interfacing Guide, bit 2 specifies if multi-finger detection is provided by the touchpad. Thus, only set BTN_TOOL_DOUBLETAP and BTN_TOOL_TRIPLETAP if the device actually supports it. Signed-off-by: Peter Hutterer Signed-off-by: Dmitry Torokhov commit 7cc45e64323c8a1042f56e6a8d1dc982f98d52a8 Author: Steven Rostedt Date: Sat Nov 15 02:39:05 2008 -0500 powerpc/ppc32: ftrace, dynamic ftrace to handle modules Impact: add ability to trace modules on 32 bit PowerPC This patch performs the necessary trampoline calls to handle modules with dynamic ftrace on 32 bit PowerPC. Signed-off-by: Steven Rostedt commit f48cb8b48b0b10025ca9c451b9b32cac3fcd33ba Author: Steven Rostedt Date: Fri Nov 14 20:47:03 2008 -0800 powerpc/ppc64: ftrace, handle module trampolines for dyn ftrace Impact: Allow 64 bit PowerPC to trace modules with dynamic ftrace This adds code to handle the PPC64 module trampolines, and allows for PPC64 to use dynamic ftrace. Thanks to Paul Mackerras for these updates: - fix the mod and rec->arch.mod NULL checks. - fix to is_bl_op compare. Thanks to Milton Miller for: - finding the nasty race with using two nops, and recommending instead that I use a branch 8 forward. Signed-off-by: Steven Rostedt commit e4486fe316895e87672a563c4f36393218f84ff1 Author: Steven Rostedt Date: Fri Nov 14 16:21:20 2008 -0800 powerpc: ftrace, use probe_kernel API to modify code Impact: use cleaner probe_kernel API over assembly Using probe_kernel_read/write interface is a much cleaner approach than the current assembly version. Signed-off-by: Steven Rostedt commit 8fd6e5a8c81e2e9b912ea33c8425a10729db469b Author: Steven Rostedt Date: Fri Nov 14 16:21:19 2008 -0800 powerpc: ftrace, convert to new dynamic ftrace arch API Impact: update to PowerPC ftrace arch API This patch converts PowerPC to use the new dynamic ftrace arch API. Thanks to Paul Mackennas for pointing out the mistakes of my original test_24bit_addr function. Signed-off-by: Steven Rostedt commit 6d07bb47354174a9b52d3b03f9e38b069a93d341 Author: Steven Rostedt Date: Fri Nov 14 16:21:19 2008 -0800 powerpc: ftrace, do not latency trace idle Impact: fix for irq off latency tracer When idle is called, interrupts are disabled, but the idle function will still wake up on an interrupt. The problem is that the interrupt disabled latency tracer will take this call to idle as a latency. This patch disables the latency tracing when going into idle. Signed-off-by: Steven Rostedt commit dcd072e26055de600cecdc3f7a1e083ecd55c2e4 Author: Alexander van Heukelum Date: Thu Nov 20 14:40:11 2008 +0100 x86: clean up after: move entry_64.S register saving out of the macros This add-on patch to x86: move entry_64.S register saving out of the macros visually cleans up the appearance of the code by introducing some basic helper macro's. It also adds some cfi annotations which were missing. Signed-off-by: Alexander van Heukelum Signed-off-by: Ingo Molnar commit ea6a478ed9758cb0f5af228104b9434840aa20ff Author: Josef Bacik Date: Thu Nov 20 12:16:16 2008 -0500 Btrfs: Fix for lockdep warnings with alloc_mutex and pinned_mutex This the lockdep complaint by having a different mutex to gaurd caching the block group, so you don't end up with this backwards dependancy. Thank you, Signed-off-by: Josef Bacik commit 0e6bd956ed238eb2f69386f251847fe3163532e1 Author: Chris Mason Date: Thu Nov 20 10:46:35 2008 -0500 Btrfs: only flush down bios for writeback pages The btrfs write_cache_pages call has a flush function so that it submits the bio it has been building before it waits on any writeback pages. This adds a check so that flush only happens on writeback pages. Signed-off-by: Chris Mason commit 43dd729b862f4a053310f75d3ee559b678772f59 Author: Liu Hui Date: Thu Nov 20 10:25:31 2008 -0500 Btrfs: Fix cow semantic in run_delalloc_nocow() The file preallocation code reversed the logic to force nodatacow. This fixes it. commit e556ce2c9d2163aea122e91a1512c9a110fece5d Author: Yan Zheng Date: Thu Nov 20 10:25:19 2008 -0500 Btrfs: Drop dirty roots created by log replay immediately when The log replay produces dirty roots. These dirty roots should be dropped immediately if the fs is mounted as ro. Otherwise they can be added to the dirty root list again when remounting the fs as rw. Thank you, Signed-off-by: Yan Zheng commit 4b4e25f2a6ddb070bab7f7dd2bd2926fb8db9e04 Author: Chris Mason Date: Thu Nov 20 10:22:27 2008 -0500 Btrfs: compat code fixes The btrfs git kernel trees is used to build a standalone tree for compiling against older kernels. This commit makes the standalone tree work with 2.6.27 Signed-off-by: Chris Mason commit 018a7bf1e55000dd792194238c9043918d24d3dd Author: Andy Whitcroft Date: Thu Nov 20 15:59:56 2008 +0100 netfilter: ip{,6}t_policy.h should include xp_policy.h It seems that all of the include/netfilter_{ipv4,ipv6}/{ipt,ip6t}_*.h which share constants include the corresponding include/netfilter/xp_*.h files. Neither ipt_policy.h not ip6t_policy.h do. Make these consistant with the norm. Signed-off-by: Andy Whitcroft Signed-off-by: Patrick McHardy commit 7be6065b39c3f1cfa796667eac1a2170465acc91 Author: Wang Chen Date: Thu Nov 20 04:26:21 2008 -0800 netdevice wanrouter: Convert directly reference of netdev->priv 1. Make device driver to allocate memory for netdev. 2. Convert all directly reference of netdev->priv to netdev_priv(). Signed-off-by: Wang Chen Signed-off-by: David S. Miller commit 826dd0e1e3c83ce0cd8c295cd0f6e72b8b527809 Author: Wang Chen Date: Thu Nov 20 04:25:06 2008 -0800 netdevice ni65: Convert directly reference of netdev->priv This patch is to kill directly reference of netdev->priv too. Because the private data needs special memory: lower 16MB DMA. alloc_etherdev() can not do this work. So we can't use netdev->priv to point to netdev's private data. Use netdev->ml_priv instead. Signed-off-by: Wang Chen Signed-off-by: David S. Miller commit c8019bf3aff653cceb64f66489fc299ee5957b57 Author: Wang Chen Date: Thu Nov 20 04:24:17 2008 -0800 netdevice ppp: Convert directly reference of netdev->priv 1. Use netdev_priv(dev) to replace dev->priv. 2. Alloc netdev's private data by alloc_netdev(). Signed-off-by: Wang Chen Signed-off-by: David S. Miller commit f7b29271c35ed38f990ca3419696ca148349c2d3 Author: Steve Glendinning Date: Thu Nov 20 04:19:21 2008 -0800 smsc95xx: add tx checksum offload support LAN9500 supports tx checksum offload, which slightly decreases cpu utilisation. The benefit isn't very large because we still require the skb to be linearized, but it does save a few cycles. This patch adds support for it, and enables it by default. Signed-off-by: Steve Glendinning Signed-off-by: David S. Miller commit 8761169cf15fdc9336abfddbb9c8dda59d974190 Author: Ben Hutchings Date: Thu Nov 20 04:17:42 2008 -0800 sfc: Fix dependency for SFC_MTD Randy Dunlap found that SFC_MTD was selected when sfc was built-in and the MTD core was a module. Don't allow that combination. Signed-off-by: Ben Hutchings Acked-by: Randy Dunlap Signed-off-by: David S. Miller commit 47a1a1d4be2910b13a8e90f75c17e253c39531ff Author: Patrick McHardy Date: Wed Nov 19 08:03:09 2008 +0000 pkt_sched: remove unnecessary xchg() in packet classifiers The use of xchg() hasn't been necessary since 2.2.something when proper locking was added to packet schedulers. In the case of classifiers they mostly weren't even necessary before that since they're mainly used to assign a NULL pointer to the filter root in the ->destroy path; the root is destroyed immediately after that. Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller commit b94c8afcba3ae6584653b98e315446ea83be6ea5 Author: Patrick McHardy Date: Thu Nov 20 04:11:36 2008 -0800 pkt_sched: remove unnecessary xchg() in packet schedulers The use of xchg() hasn't been necessary since 2.2.something when proper locking was added to packet schedulers. Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller commit c19d0369d4c791d90fe0b84d6040a897fe25cc14 Author: Harvey Harrison Date: Thu Nov 20 04:10:51 2008 -0800 isdn: isdn_net.c annotate struct ip_ports and trivial sparse fixes Signed-off-by: Harvey Harrison Signed-off-by: David S. Miller commit 13d2a1d2b032de08d7dcab6a1edcd47802681f96 Author: Patrick McHardy Date: Thu Nov 20 04:10:00 2008 -0800 pkt_sched: add DRR scheduler Add classful DRR scheduler as a more flexible replacement for SFQ. The main difference to the algorithm described in "Efficient Fair Queueing using Deficit Round Robin" is that this implementation doesn't drop packets from the longest queue on overrun because its classful and limits are handled by each individual child qdisc. Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller commit 0c19b0adb8dd33dbd10ff48e41971231c486855c Author: Patrick McHardy Date: Thu Nov 20 04:08:29 2008 -0800 netlink: avoid memset of 0 bytes sparse warning A netlink attribute padding of zero triggers this sparse warning: include/linux/netlink.h:245:8: warning: memset with byte count of 0 Avoid the memset when the size parameter is constant and requires no padding. Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller commit c0103606b7e3db191dcbaf988f28fa26aa711230 Author: Wang Chen Date: Thu Nov 20 04:05:56 2008 -0800 netdevice lance: Convert directly reference of netdev->priv This patch is to kill directly reference of netdev->priv too. Because the private data should be allocated in DMA area, alloc_etherdev() can't satisfy this needs. Use netdev->ml_priv to point to lance_private. Signed-off-by: Wang Chen Signed-off-by: David S. Miller commit 537715226408b83c36b0688a1fb718f572d4dbe6 Author: Lennert Buytenhek Date: Thu Nov 20 03:59:04 2008 -0800 mv643xx_eth: calculate descriptor pointer only once in rxq_refill() Signed-off-by: Lennert Buytenhek Signed-off-by: David S. Miller commit f61e5547763338b793ed291f3de3130216d00430 Author: Lennert Buytenhek Date: Thu Nov 20 03:58:46 2008 -0800 mv643xx_eth: move receive error handling out of line Signed-off-by: Lennert Buytenhek Signed-off-by: David S. Miller commit 66e63ffbc04706568d8789cbb00eaa8ddbcae648 Author: Lennert Buytenhek Date: Thu Nov 20 03:58:27 2008 -0800 mv643xx_eth: implement ->set_rx_mode() Currently, if multiple unicast addresses are programmed into a mv643xx_eth interface, the core networking will resort to enabling promiscuous mode on the interface, as mv643xx_eth does not implement ->set_rx_mode(). This patch switches mv643xx_eth over from ->set_multicast_list() to ->set_rx_mode(), and implements support for secondary unicast addresses. The hardware can handle multiple unicast addresses as long as their first 11 nibbles are the same (i.e. are of the form xx:xx:xx:xx:xx:xy where the x part is the same for all addresses), so if that is the case, we use that mode. If it's not the case, we enable unicast promiscuous mode in the hardware, which is slightly better than enabling promiscuous mode for multicasts as well, which is what would happen before. While we are at it, change the programming sequence so that we don't clear all filter bits first, so we don't lose all incoming packets while the filter is being reprogrammed. Signed-off-by: Lennert Buytenhek Signed-off-by: David S. Miller commit 66823b928d746df21485deeff6744c77702abf29 Author: Lennert Buytenhek Date: Thu Nov 20 03:58:09 2008 -0800 mv643xx_eth: inline txq_alloc_desc_index() Since txq_alloc_desc_index() is a very simple function, and since descriptor ring index handling for transmit reclaim, receive processing and receive refill is already handled inline as well, inline txq_alloc_desc_index() into its two call sites. Signed-off-by: Lennert Buytenhek Signed-off-by: David S. Miller commit 37a6084f4b4693a408ac2fb229843af9f9f301ce Author: Lennert Buytenhek Date: Thu Nov 20 03:57:36 2008 -0800 mv643xx_eth: introduce per-port register area pointer The mv643xx_eth driver uses the rdl()/wrl() macros to read and write hardware registers. Per-port registers are accessed in the following way: #define PORT_STATUS(p) (0x0444 + ((p) << 10)) [...] static inline u32 rdl(struct mv643xx_eth_private *mp, int offset) { return readl(mp->shared->base + offset); } [...] port_status = rdl(mp, PORT_STATUS(mp->port_num)); By giving the per-port 'struct mv643xx_eth_private' its own 'void __iomem *base' pointer that points to the per-port register area, we can get rid of both the double indirection and the << 10 that is done for every per-port register access -- this patch does that. Signed-off-by: Lennert Buytenhek Signed-off-by: David S. Miller commit 10a9948d13eb51d757684da4354cf67891dc3481 Author: Lennert Buytenhek Date: Thu Nov 20 03:57:16 2008 -0800 mv643xx_eth: checkpatch fixes Fix up a couple of coding style issues caught by checkpatch. Signed-off-by: Lennert Buytenhek Signed-off-by: David S. Miller commit 21d1a161f6b1fff154e3614a6b5a2111fa7a4191 Author: Harvey Harrison Date: Thu Nov 20 01:54:27 2008 -0800 net: ip_sockglue.c add static, annotate ports' endianness Fixes sparse warnings: net/ipv4/ip_sockglue.c:146:15: warning: incorrect type in assignment (different base types) net/ipv4/ip_sockglue.c:146:15: expected restricted __be16 [assigned] [usertype] sin_port net/ipv4/ip_sockglue.c:146:15: got unsigned short [unsigned] [short] [usertype] net/ipv4/ip_sockglue.c:130:6: warning: symbol 'ip_cmsg_recv_dstaddr' was not declared. Should it be static? Signed-off-by: Harvey Harrison Signed-off-by: David S. Miller commit 00b5e50549aa9da770f1161907b4ed68aa4ece3a Author: Brice Goglin Date: Thu Nov 20 01:50:28 2008 -0800 myri10ge: remove hardcoded sram_size Removes the use of a hardcoded sram_size, determine string_spec location from the MCP header instead. Signed-off-by: Brice Goglin Signed-off-by: David S. Miller commit d6279c88f246adf94b7f7a014c5f19d527bc785b Author: Brice Goglin Date: Thu Nov 20 01:50:04 2008 -0800 myri10ge: fix per-slice rx/tx_dropped counters Properly attribute transmit and receive drops by incrementing the per-slice counter. Signed-off-by: Brice Goglin Signed-off-by: David S. Miller commit d99015b1abbad743aa049b439c1e1dede6d0fa49 Author: Alexander van Heukelum Date: Wed Nov 19 01:18:11 2008 +0100 x86: move entry_64.S register saving out of the macros Here is a combined patch that moves "save_args" out-of-line for the interrupt macro and moves "error_entry" mostly out-of-line for the zeroentry and errorentry macros. The save_args function becomes really straightforward and easy to understand, with the possible exception of the stack switch code, which now needs to copy the return address of to the calling function. Normal interrupts arrive with ((~vector)-0x80) on the stack, which gets adjusted in common_interrupt: : (5) addq $0xffffffffffffff80,(%rsp) /* -> ~(vector) */ (4) sub $0x50,%rsp /* space for registers */ (5) callq ffffffff80211290 (5) callq ffffffff80214290 : ... An apic interrupt stub now look like this: : (5) pushq $0xffffffffffffff05 /* ~(vector) */ (4) sub $0x50,%rsp /* space for registers */ (5) callq ffffffff80211290 (5) callq ffffffff80212b8f (5) jmpq ffffffff80211f93 Similarly the exception handler register saving function becomes simpler, without the need of any parameter shuffling. The stub for an exception without errorcode looks like this: : (6) callq *0x1cad12(%rip) # ffffffff803dd448 (2) pushq $0xffffffffffffffff /* no syscall */ (4) sub $0x78,%rsp /* space for registers */ (5) callq ffffffff8030e3b0 (3) mov %rsp,%rdi /* pt_regs pointer */ (2) xor %esi,%esi /* no error code */ (5) callq ffffffff80213446 (5) jmpq ffffffff8030e460 And one for an exception with errorcode like this: : (6) callq *0x1cab92(%rip) # ffffffff803dd448 (4) sub $0x78,%rsp /* space for registers */ (5) callq ffffffff8030e3b0 (3) mov %rsp,%rdi /* pt_regs pointer */ (5) mov 0x78(%rsp),%rsi /* load error code */ (9) movq $0xffffffffffffffff,0x78(%rsp) /* no syscall */ (5) callq ffffffff80213209 (5) jmpq ffffffff8030e460 Unfortunately, this last type is more than 32 bytes. But the total space savings due to this patch is about 2500 bytes on an smp-configuration, and I think the code is clearer than it was before. The tested kernels were non-paravirt ones (i.e., without the indirect call at the top of the exception handlers). Anyhow, I tested this patch on top of a recent -tip. The machine was an 2x4-core Xeon at 2333MHz. Measured where the delays between (almost-)adjacent rdtsc instructions. The graphs show how much time is spent outside of the program as a function of the measured delay. The area under the graph represents the total time spent outside the program. Eight instances of the rdtsctest were started, each pinned to a single cpu. The histogams are added. For each kernel two measurements were done: one in mostly idle condition, the other while running "bonnie++ -f", bound to cpu 0. Each measurement took 40 minutes runtime. See the attached graphs for the results. The graphs overlap almost everywhere, but there are small differences. Signed-off-by: Alexander van Heukelum Signed-off-by: Ingo Molnar commit c032a2de4c1a82187e9a754511043be47c8a92b5 Merge: 722024d cbe9ee0 Author: Ingo Molnar Date: Thu Nov 20 10:48:28 2008 +0100 Merge branch 'x86/cleanups' into x86/irq [ merged x86/cleanups into x86/irq to enable a wider IRQ entry code patch to be applied, which depends on a cleanup patch in x86/cleanups. ] commit 87f7606591aea6a8a38ea4c8911b5eeeee2740b8 Author: Yinghai Lu Date: Wed Nov 19 20:50:53 2008 -0800 x86: fix wakeup_cpu with numaq/es7000 v2 - call ->update_genapic() Impact: fix boot crash on 32-bit Hiroshi Shimamoto reported a boot failure on 32-bit x86. The setting of x86_quirks.wakeup_cpu is missing (when not passing in an explicit apic= boot parameter). Reported-by: Hiroshi Shimamoto Signed-off-by: Ingo Molnar commit a61fc1e995e6ccc884df50a1609b831a4b45a600 Author: Mike Frysinger Date: Mon Nov 17 21:23:40 2008 +0000 netdev/smc91x: unify Blackfin code a bit and use proper read/write functions Signed-off-by: Mike Frysinger Signed-off-by: Bryan Wu Signed-off-by: David S. Miller commit 3d3e35aa78c9498eed3209c9d82376085ed0c36f Author: Gerrit Renker Date: Thu Nov 20 01:03:08 2008 -0800 dccp: Fix bracing in dccp_feat_list_lookup. From: Gerrit Renker Signed-off-by: David S. Miller commit f4bdd264b43cc60dccb617afce2859dffdd7a935 Author: Wang Chen Date: Thu Nov 20 01:02:05 2008 -0800 netdevice hamradio: Convert directly reference of netdev->priv Since all the memory, which pointed by netdev->priv, are allocated in advance instead of by alloc_netdev(). Use netdev->ml_priv to point to those memory. Signed-off-by: Wang Chen Signed-off-by: David S. Miller commit 56bc0f9603e45cf13db51e554e1541e289a7f8e9 Author: Alexey Dobriyan Date: Thu Nov 20 10:01:37 2008 +0100 netfilter: nf_conntrack_proto_gre: spread __exit Signed-off-by: Alexey Dobriyan Signed-off-by: Patrick McHardy commit f3a216d1da1c034c425c4eafe27a1b45269985c7 Author: Wang Chen Date: Thu Nov 20 01:01:00 2008 -0800 netdevice: 82596: Convert netdev->priv to netdev_priv 1. When alloc_etherdev(), no memory be allocated to netdev->priv. 2. And it's need to get a whole page for priv. For these reasons, use netdev->ml_priv to point to the page is the best method to convert directly reference of netdev->priv. Signed-off-by: Wang Chen Signed-off-by: David S. Miller commit 61d3015808d877eb4ea225b5924feb128b0c1bc7 Author: Alexey Dobriyan Date: Thu Nov 20 09:58:08 2008 +0100 netfilter: ip6table_filter: merge LOCAL_IN and FORWARD hooks Signed-off-by: Alexey Dobriyan Signed-off-by: Patrick McHardy commit b0ceb560a4119f187dc50da655be389cb54ae4f9 Author: Alexey Dobriyan Date: Thu Nov 20 09:57:01 2008 +0100 netfilter: xt_recent: don't save proc dirs Not needed, since creation and removal are done by name. Signed-off-by: Alexey Dobriyan Signed-off-by: Patrick McHardy commit d214c7537bbf2f247991fb65b3420b0b3d712c67 Author: Pablo Neira Ayuso Date: Thu Nov 20 00:49:27 2008 -0800 filter: add SKF_AD_NLATTR_NEST to look for nested attributes SKF_AD_NLATTR allows us to find the first matching attribute in a stream of netlink attributes from one offset to the end of the netlink message. This is not suitable to look for a specific matching inside a set of nested attributes. For example, in ctnetlink messages, if we look for the CTA_V6_SRC attribute in a message that talks about an IPv4 connection, SKF_AD_NLATTR returns the offset of CTA_STATUS which has the same value of CTA_V6_SRC but outside the nest. To differenciate CTA_STATUS and CTA_V6_SRC, we would have to make assumptions on the size of the attribute and the usual offset, resulting in horrible BSF code. This patch adds SKF_AD_NLATTR_NEST, which is a variant of SKF_AD_NLATTR, that looks for an attribute inside the limits of a nested attributes, but not further. This patch validates that we have enough room to look for the nested attributes - based on a suggestion from Patrick McHardy. Signed-off-by: Pablo Neira Ayuso Acked-by: Patrick McHardy Signed-off-by: David S. Miller commit 68fd991020fdf51bc94327d288ae4ae5d0b8dced Author: Alexander Duyck Date: Thu Nov 20 00:48:10 2008 -0800 igb: Fix tx/rx_ring_count parameters for igb on suspend/resume/ring resize When suspending the device the ring structure is freed which causes it to loose track of the count. To resolve this we need to move the ring count outside of the ring structure and store it in the adapter struct. In addition to resolving the suspend/resume issue this patch also addresses issues seen in the event of memory allocation errors causing uneven ring sizes on multiple queues. Signed-off-by: Alexander Duyck Signed-off-by: Jeff Kirsher Signed-off-by: David S. Miller commit b2d565365e02947699a8e3d594275662a8d00646 Author: Alexander Duyck Date: Thu Nov 20 00:47:34 2008 -0800 igb: simplify swap in clean_rx_irq if using packet split This update replaces the xchg calls that were added with a pair of assignments as there is no need for the xchg calls and they were found to cause issues on some architectures. Signed-off-by: Alexander Duyck Signed-off-by: Jeff Kirsher Signed-off-by: David S. Miller commit 3ef6b2354f5ac340396e47a49b64b8da61ada3b7 Author: Alexander Duyck Date: Thu Nov 20 00:46:57 2008 -0800 igb: update name to reflect new hardware This patch adds the 82576 device to the description for igb in Kconfig. Signed-off-by: Alexander Duyck Signed-off-by: Jeff Kirsher Signed-off-by: David S. Miller commit 5caea4ea7088e80ac5410d04660346094608b909 Author: Eric Dumazet Date: Thu Nov 20 00:40:07 2008 -0800 net: listening_hash get a spinlock per bucket This patch prepares RCU migration of listening_hash table for TCP/DCCP protocols. listening_hash table being small (32 slots per protocol), we add a spinlock for each slot, instead of a single rwlock for whole table. This should reduce hold time of readers, and writers concurrency. Signed-off-by: Eric Dumazet Signed-off-by: David S. Miller commit bb5574608a8375026510b4f983ffbb06ece33fe2 Author: Richard A. Holden III Date: Wed Nov 19 16:05:15 2008 -0700 x86: fix arch/x86/kernel/setup.c build warning when !CONFIG_X86_RESERVE_LOW_64K Impact: cleanup Fix: arch/x86/kernel/setup.c:592: warning: 'dmi_low_memory_corruption' defined but not used this is only used if CONFIG_X86_RESERVE_LOW_64K is defined. Signed-off-by: Richard A. Holden III Signed-off-by: Ingo Molnar commit 90accd6fabf9b2fa2705945a4c601877a75d43bf Merge: b43d196 ee2f6cc Author: Ingo Molnar Date: Thu Nov 20 09:03:38 2008 +0100 Merge branch 'linus' into x86/memory-corruption-check commit 77be80e437fec44f8b7a620314b7d7b605b8d93b Author: Richard A. Holden III Date: Wed Nov 19 16:05:14 2008 -0700 x86: fix arch/x86/kernel/genx2apic_uv_x.c build warning when !CONFIG_HOTPLUG_CPU Impact: cleanup, reduce size of the kernel image a bit Fix: arch/x86/kernel/genx2apic_uv_x.c:403: warning: 'uv_heartbeat_disable' defined but not used the function is only used when CONFIG_HOTPLUG_CPU is defined. Signed-off-by: Richard A. Holden III Signed-off-by: Ingo Molnar commit fbc2a06056c9aa3cb8c44bf1cfeb1d260e229e5c Merge: a3d732f ee2f6cc Author: Ingo Molnar Date: Thu Nov 20 09:02:39 2008 +0100 Merge branch 'linus' into x86/uv commit 5b2d1ecac2a79b9438aed731557b8912564cedfd Author: Vincent Petry Date: Tue Nov 18 22:21:57 2008 +0800 ALSA: hda: Added Realtek ALC888 model entry for Acer Aspire 4930G laptop Added Realtek ALC888 model entry for the Acer Aspire 4930G laptop that fixes the following features: - internal microphone - heaphone jack sense - channel mode Signed-off-by: Vincent Petry Signed-off-by: Takashi Iwai commit 41dda0fdd2cb22d989aa76fbbbd5a6514a3e0802 Author: Wu Fengguang Date: Thu Nov 20 09:24:52 2008 +0800 ALSA: azx_probe() cleanup Replace 5 free-and-return-err blocks with goto-out-free ones. This makes the main logic more outstanding. Signed-off-by: Wu Fengguang Signed-off-by: Takashi Iwai commit d8b83c57a7e497cba9b5cb156e63176323035785 Author: Stephen Hemminger Date: Wed Nov 19 22:28:46 2008 -0800 acenic: convert to net_device_ops Convert this driver to network device ops. Compile tested only. Signed-off-by: Stephen Hemminger Signed-off-by: David S. Miller commit 2c9171d4ef431d8ed897daf4fee6798979cbb432 Author: Stephen Hemminger Date: Wed Nov 19 22:27:43 2008 -0800 niu: convert to net_device_ops Convert this driver to network device ops. Compile tested only (give me hw!) Signed-off-by: Stephen Hemminger Signed-off-by: David S. Miller commit b94426bd9d16fb2753ada1255c7a432f49dfebcb Author: Stephen Hemminger Date: Wed Nov 19 22:26:51 2008 -0800 forcedeth: convert to net_device_ops Convert this driver to network device ops. Compile tested only. Signed-off-by: Stephen Hemminger Signed-off-by: David S. Miller commit 7c7d64b8c00bcf9519e5ec38368bc7afdc185c51 Author: Stephen Hemminger Date: Wed Nov 19 22:25:36 2008 -0800 tg3: convert to net_device_ops Convert this driver to network device ops. Signed-off-by: Stephen Hemminger Signed-off-by: David S. Miller commit 0edc352743156a39dfc3f21206b2bf7b9f371832 Author: Stephen Hemminger Date: Wed Nov 19 22:24:29 2008 -0800 ixgb: convert to net_device_ops Convert this driver to network device ops. Compile tested only. Signed-off-by: Stephen Hemminger Signed-off-by: David S. Miller commit afe29f7a61b7b9b9dae9f443c34733c2b4f461ba Author: Stephen Hemminger Date: Wed Nov 19 22:23:26 2008 -0800 enic: convert to net_device_ops Convert this driver to network device ops. Compile tested only. Signed-off-by: Stephen Hemminger Signed-off-by: David S. Miller commit 52256cfc9f81cd8713e00a0713e68347bbffba5a Author: Stephen Hemminger Date: Wed Nov 19 22:22:30 2008 -0800 ppp: convert to net_device_ops Convert this driver to network device ops. Compile tested only. Signed-off-by: Stephen Hemminger Signed-off-by: David S. Miller commit acc784263b0c46f3052fb4f155fdfe39b7001c98 Author: Stephen Hemminger Date: Wed Nov 19 22:21:53 2008 -0800 e100: convert to net_device_ops Convert to new network device ops interface. Compile tested only. Signed-off-by: Stephen Hemminger Signed-off-by: David S. Miller commit 2e5c69228ef52b8fe6b3d38caf45f03b22fda7bd Author: Stephen Hemminger Date: Wed Nov 19 22:20:44 2008 -0800 igb: convert to net_device_ops Convert to new network device ops interface. Compile tested only. Signed-off-by: Stephen Hemminger Signed-off-by: David S. Miller commit 39a11bd9102cf8601f02d595dc022b715103afde Author: Stephen Hemminger Date: Wed Nov 19 22:19:33 2008 -0800 via-velocity: convert to net_device_ops Convert this driver to network device ops. Compile tested only. Signed-off-by: Stephen Hemminger Signed-off-by: David S. Miller commit 0e7614bc3df034e2f92e0d424cc6f81dcdb7af65 Author: Stephen Hemminger Date: Wed Nov 19 22:18:22 2008 -0800 e1000: convert to net_device_ops Convert to new network device ops interface. Signed-off-by: Stephen Hemminger Signed-off-by: David S. Miller commit 80ff32b76f7969bf62206840c4e1d04674e41df9 Author: Stephen Hemminger Date: Wed Nov 19 22:17:06 2008 -0800 cxgb2: convert to net_device_ops Convert this driver to network device ops. Compile teseted only. Signed-off-by: Stephen Hemminger Signed-off-by: David S. Miller commit dd7526960ec2a7c85a5b8bfae8f297d317bf4b86 Author: Stephen Hemminger Date: Wed Nov 19 22:15:39 2008 -0800 cxgb3: convert to net_device_ops Convert this driver to network device ops. Compile tested only. Signed-off-by: Stephen Hemminger Signed-off-by: David S. Miller commit 825a84d1d3d612c2b8db77dd4719882690d01bae Author: Stephen Hemminger Date: Wed Nov 19 22:14:17 2008 -0800 atlx: convert to net_device_ops Convert this driver to network device ops. Compile tested only. Signed-off-by: Stephen Hemminger Signed-off-by: David S. Miller commit 1e058ab58f03fedbd2aa202c3a81c777d623be3a Author: Stephen Hemminger Date: Wed Nov 19 22:12:06 2008 -0800 atl1e: convert to net_device_ops Convert this driver to network device ops. Compile tested only. Signed-off-by: Stephen Hemminger Signed-off-by: David S. Miller commit 758e43b74c903ad368ceced31601ba5d96f31238 Author: Stephen Hemminger Date: Wed Nov 19 22:10:37 2008 -0800 tun: convert to net_device_ops Convert the TUN/TAP tunnel driver to net_device_ops. Split the ops in two, and retain compatability. Signed-off-by: Stephen Hemminger Signed-off-by: David S. Miller commit 48dfcde46ef23cfad1e0c0f13d4eae15c7f46efc Author: Stephen Hemminger Date: Wed Nov 19 22:09:07 2008 -0800 8139: convert to net_device_ops Convert to new network device ops interface. Signed-off-by: Stephen Hemminger Signed-off-by: David S. Miller commit 8b4ab28dae8afa14f22d210c591046def2f4d742 Author: Francois Romieu Date: Wed Nov 19 22:05:25 2008 -0800 r8169: convert to net_device_ops Based upon a patch by Stephen Hemminger. Signed-off-by: David S. Miller commit f80d032b5fe95e3ce89f79210859b7ec799e1ccc Author: Stephen Hemminger Date: Wed Nov 19 22:01:26 2008 -0800 skge: convert to net_device_ops Convert to new network device ops interface. Signed-off-by: Stephen Hemminger Signed-off-by: David S. Miller commit 1436b301ec2b184fc01dc29fa22d1fbac619b491 Author: Stephen Hemminger Date: Wed Nov 19 21:59:54 2008 -0800 sky2: convert to net_device_ops Convert to new network device ops interface. Slight additional complexity here because the second port does not allow netpoll and therefore has different virtual function table. Signed-off-by: Stephen Hemminger Signed-off-by: David S. Miller commit 651c24669316b955c3c7797bd535cdaa4533cb16 Author: Stephen Hemminger Date: Wed Nov 19 21:57:48 2008 -0800 e1000e: convert to net_device_ops Convert e1000e to network device ops. Signed-off-by: Stephen Hemminger commit eb7cc59a038b4e1914ae991d313f35904924759f Author: Stephen Hemminger Date: Wed Nov 19 21:56:05 2008 -0800 bonding: convert to net_device_ops Convert to net_device_ops table. Note: for some operations move error checking into generic networking layer (rather than looking at pointers in bonding). A couple of gratituous style cleanups to get rid of extra {} Signed-off-by: Stephen Hemminger Signed-off-by: David S. Miller commit 656299f706e52e0409733d704c2761f1b12d6954 Author: Stephen Hemminger Date: Wed Nov 19 21:53:47 2008 -0800 vlan: convert to net_device_ops Convert vlan devices and function pointers to net_device_ops. Signed-off-by: Stephen Hemminger Signed-off-by: David S. Miller commit 5bc3eb7e2f0026f246d939851109df99e8e9f64a Author: Stephen Hemminger Date: Wed Nov 19 21:52:05 2008 -0800 ip: convert to net_device_ops for ioctl Convert to net_device_ops function table pointer for ioctl. Signed-off-by: Stephen Hemminger Signed-off-by: David S. Miller commit 54a30c975b6b27c0c9268461b647576b146d39bb Author: Stephen Hemminger Date: Wed Nov 19 21:51:06 2008 -0800 macvlan: convert to net_device_ops Convert to net_device_ops function table. Signed-off-by: Stephen Hemminger Signed-off-by: David S. Miller commit 4456e7bdf74c9f27e2312a6f197b2da467541433 Author: Stephen Hemminger Date: Wed Nov 19 21:50:10 2008 -0800 veth: convert to net_device_ops Convert to net_device_ops function table. Signed-off-by: Stephen Hemminger Signed-off-by: David S. Miller commit a2dbb88210b9877f1c53d3798fd5d717a4d45256 Author: Stephen Hemminger Date: Wed Nov 19 21:49:00 2008 -0800 bridge: convert to net_device_ops Convert to net_device_ops function table. Signed-off-by: Stephen Hemminger Signed-off-by: David S. Miller commit 8dfcdf342d9e8294a3292005f9158022289dfd67 Author: Stephen Hemminger Date: Wed Nov 19 21:47:07 2008 -0800 ifb: convert to net_device_ops Convert to new network device ops interface. Signed-off-by: Stephen Hemminger Signed-off-by: David S. Miller commit c02373bf2759dd210dc8c72c9c9b4a8f1c279cac Author: Stephen Hemminger Date: Wed Nov 19 21:46:18 2008 -0800 netdev: convert loopback to net_device_ops First device to convert over is the loopback device. Signed-off-by: Stephen Hemminger Signed-off-by: David S. Miller commit ccad637b0c57de1825ffd34c311bf71487545ac2 Author: Stephen Hemminger Date: Wed Nov 19 22:42:31 2008 -0800 netdev: expose ethernet address primitives When ethernet devices are converted, the function pointer setup by eth_setup() need to be done during intialization. Signed-off-by: Stephen Hemminger Signed-off-by: David S. Miller commit eeda3fd64f75bcbfaa70ce946513abaf3f23b8e0 Author: Stephen Hemminger Date: Wed Nov 19 21:40:23 2008 -0800 netdev: introduce dev_get_stats() In order for the network device ops get_stats call to be immutable, the handling of the default internal network device stats block has to be changed. Add a new helper function which replaces the old use of internal_get_stats. Note: change return code to make it clear that the caller should not go changing the returned statistics. Signed-off-by: Stephen Hemminger Signed-off-by: David S. Miller commit d314774cf2cd5dfeb39a00d37deee65d4c627927 Author: Stephen Hemminger Date: Wed Nov 19 21:32:24 2008 -0800 netdev: network device operations infrastructure This patch changes the network device internal API to move adminstrative operations out of the network device structure and into a separate structure. This patch involves some hackery to maintain compatablity between the new and old model, so all 300+ drivers don't have to be changed at once. For drivers that aren't converted yet, the netdevice_ops virt function list still resides in the net_device structure. For old protocols, the new net_device_ops are copied out to the old net_device pointers. After the transistion is completed the nag message can be changed to an WARN_ON, and the compatiablity code can be made configurable. Some function pointers aren't moved: * destructor can't be in net_device_ops because it may need to be referenced after the module is unloaded. * neighbor setup is manipulated in a couple of places that need special consideration * hard_start_xmit is in the fast path for transmit. Signed-off-by: Stephen Hemminger Signed-off-by: David S. Miller commit 79683f2d685cfb6ef9c97c5194e3ce3319e80cac Author: Chris Mason Date: Wed Nov 19 22:00:53 2008 -0500 Btrfs: Use current_fsuid/gid This fixes compile problems with linux-next Signed-off-by: Chris Mason commit 15916de835a683bd8133a0d1ac0c982b795ab4ff Author: Chris Mason Date: Wed Nov 19 21:17:22 2008 -0500 Btrfs: Fixes for 2.6.28-rc API changes * open/close_bdev_excl -> open/close_bdev_exclusive * blkdev_issue_discard takes a GFP mask now * Fix blkdev_issue_discard usage now that it is enabled Signed-off-by: Chris Mason commit 6b41e7dd90c6a628ab5fb8d781302d60a243b2ce Author: Eric Dumazet Date: Wed Nov 19 15:48:09 2008 -0800 net: af_unix should use KERN_INFO instead of KERN_DEBUG As spotted by Joe Perches, we should use KERN_INFO in unix_sock_destructor() Signed-off-by: Eric Dumazet Signed-off-by: David S. Miller commit d171235e712c11c0a0f47f62619024bf726125e1 Author: Joe Perches Date: Wed Nov 19 15:45:15 2008 -0800 drivers/s390/ - csum_partial - remove unnecessary casts The first argument to csum_partial is const void * casts to char/u8 * are not necessary Signed-off-by: Joe Perches Signed-off-by: David S. Miller commit 07f0757a6808f2f36a0e58c3a54867ccffdb8dc9 Author: Joe Perches Date: Wed Nov 19 15:44:53 2008 -0800 include/net net/ - csum_partial - remove unnecessary casts The first argument to csum_partial is const void * casts to char/u8 * are not necessary Signed-off-by: Joe Perches Signed-off-by: David S. Miller commit a7a0d6a87b70f7b2bab5281fc0fd443772bd0795 Author: Eric Dumazet Date: Wed Nov 19 15:43:27 2008 -0800 net: inet_diag_handler structs can be const Signed-off-by: Eric Dumazet Signed-off-by: David S. Miller commit 14e943db133489c98d426a0dcfce4a99c6e8ad97 Author: Eric Dumazet Date: Wed Nov 19 15:14:01 2008 -0800 net: make /proc/net/protocols namespace aware Converting /proc/net/protocols to be namespace aware is quite easy and permits us to use sock_prot_inuse_get(). This provides seperate counters for each protocol. For example we can really count TCPv6 sockets and TCPv4 sockets, while previously, we had the same value, and this value was not namespace aware. Signed-off-by: Eric Dumazet Signed-off-by: Alexey Dobriyan Signed-off-by: David S. Miller commit 3680453c8be54fff0d23fdf33e8961a48e1f2cd6 Author: Eric Dumazet Date: Wed Nov 19 14:25:35 2008 -0800 net: af_packet should update its inuse counter This patch is a preparation to namespace conversion of /proc/net/protocols In order to have relevant information for PACKET protocols, we should use sock_prot_inuse_add() to update a (percpu and pernamespace) counter of inuse sockets. Signed-off-by: Eric Dumazet Signed-off-by: David S. Miller commit cec87e38e92cdfe86678ca2a5c29c38d05127601 Author: Peter Popovec Date: Tue Nov 11 14:46:14 2008 -0500 Input: add joystick driver for Walkera WK-0701 RC transmitter Signed-off-by: Peter Popovec Signed-off-by: Dmitry Torokhov commit 59bdb43769f2c3995badcd930d799451f5a39f76 Author: Zoltan Devai Date: Wed Nov 12 23:05:40 2008 -0500 Input: pcspkr - fix PIT lockup on some chipsets There've been reports [1] about the sysem bell causing a hard lockup. My machine was affected as well: any speaker output hung the machine completely, nothing in the logs, no magic sysrq, etc., looked like a hardware problem. Had a closer look on the issue, and it turned out that the pcspkr module is responsible. The cause is the bad setup of Timer 2 in the i8253 controller, which probably hangs the whole PIT controller. Intel datasheets [2] state that the timer registers are in an undefined state after reset and they need to be programmed before enabling the timer. (And enabling without programming the frequency first doesn't make sense anyway). I don't know which chipsets are affected (if not all), it also depends on the BIOS whether it initializes the timer (e.g. to beep when you start the machine). The following patch solved the issue on my ICH6 notebook, couldn't test it with any others, but should be safe to apply. [1] https://bugs.launchpad.net/ubuntu/+source/linux/+bug/146151 https://bugs.launchpad.net/ubuntu/+bug/270790 http://ubuntuforums.org/showthread.php?t=227693 http://bugs.gentoo.org/show_bug.cgi?id=222583 https://bugzilla.redhat.com/show_bug.cgi?id=454225 [2] http://www.intel.com/assets/pdf/datasheet/252516.pdf http://www.intel.com/assets/pdf/datasheet/301473.pdf http://www.intel.com/design/chipsets/datashts/29065503.pdf Signed-off-by: Zoltan Devai Signed-off-by: Dmitry Torokhov commit 2ec6f246c33a0b830a6ad3171161e9d880e2251e Author: Nuno Lucas Date: Tue Nov 11 16:48:04 2008 -0500 Input: usbtouchscreen - fix TSC-10 DM USB controllers without EEPROM The usbtouchscreen module implements a driver for the TSC-10 DM USB touchscreen controllers, but assumes a 2-byte response for the CMD_RESET and CMD_RATE commands, when they can be only a single byte when no EEPROM is connected. The driver worked with an earlier controller revision, but new revisions of the controller fail. It seems the problem is that the early controller had the SEL4/EEPROM-CS pin high, but the new controller has it down, making the response different. Without the fix, the controller would answer the single byte 0x06 (ACK), making the init fail with -ENODEV because buf[1] is 0xFF (as initialized before). As the single byte is the only thing we need to check it was ok, there is no need to verify the second byte. The [0x15 0x01] case is the NAK [0x15] response for when there is no data in the EEPROM [bit-0 of second byte set], so I let that be, as I don't have any controller with an EEPROM. With this patch, both the earlier and latest controller work the same. Note: This was previously submited as BUG #11961 [1] on the bugzilla tracker, but rebased to version 2.6.27.4 and with unnecessary comments and printk's removed. [1] http://bugzilla.kernel.org/show_bug.cgi?id=11961 Signed-off-by: Nuno Lucas Acked-by: Daniel Ritz Signed-off-by: Dmitry Torokhov commit 9789cfe22e5d7bc10cad841a4ea96ecedb34b267 Author: Randy Dunlap Date: Wed Nov 19 11:46:46 2008 -0800 nfsctl: add headers for credentials Needs headers help for current_cred: Adding only cred.h wasn't enough. linux-next-20081023/fs/nfsctl.c:45: error: implicit declaration of function 'current_cred' Signed-off-by: Randy Dunlap Cc: David Howells Cc: James Morris Signed-off-by: Andrew Morton Signed-off-by: James Morris commit 7596b27dbd8de7bcfa7a80b2756114b49bd5c018 Author: Randy Dunlap Date: Wed Nov 19 11:30:27 2008 -0800 coda: fix creds reference Needs a header file for credentials struct: linux-next-20081023/fs/coda/file.c:177: error: dereferencing pointer to incomplete type Signed-off-by: Randy Dunlap Cc: Jan Harkes Cc: David Howells Cc: James Morris Signed-off-by: Andrew Morton Signed-off-by: James Morris commit ae20a6afec1cf21919d97303f2d8b737eac5acc7 Merge: 9bf1a24 07103a3 Author: Chris Mason Date: Wed Nov 19 15:59:28 2008 -0500 Merge branch 'master' of git://git.kernel.org/pub/scm/linux/kernel/git/mason/btrfs-unstable commit 07103a3cdb24099324a11be1f35279b463cdfc31 Author: Josef Bacik Date: Wed Nov 19 15:17:55 2008 -0500 Btrfs: fix free space accounting when unpinning extents This patch fixes what I hope is the last early ENOSPC bug left. I did not know that pinned extents would merge into one big extent when inserted on to the pinned extent tree, so I was adding free space to a block group that could possibly span multiple block groups. This is a big issue because first that space doesn't exist in that block group, and second we won't actually use that space because there are a bunch of other checks to make sure we're allocating within the constraints of the block group. This patch fixes the problem by adding the btrfs_add_free_space to btrfs_update_pinned_extents which makes sure we are adding the appropriate amount of free space to the appropriate block group. Thanks much to Lee Trager for running my myriad of debug patches to help me track this problem down. Thank you, Signed-off-by: Josef Bacik commit 7c2ca4682a2b401cb0c43f96b05eced25eb83eec Author: Chris Mason Date: Wed Nov 19 15:13:35 2008 -0500 Btrfs: Do fsync log replay when mount -o ro, except when on readonly media fsync log replay can change the filesystem, so it cannot be delayed until mount -o rw,remount, and it can't be forgotten entirely. So, this patch changes btrfs to do with reiserfs, ext3 and xfs do, which is to do the log replay even when mounted readonly. On a readonly device if log replay is required, the mount is aborted. Getting all of this right had required fixing up some of the error handling in open_ctree. Signed-off-by: Chris Mason commit d2c3f4f695edac4d75c1b3eb01a1d16072de63bb Author: Chris Mason Date: Wed Nov 19 12:44:22 2008 -0500 Btrfs: Avoid writeback stalls While building large bios in writepages, btrfs may end up waiting for other page writeback to finish if WB_SYNC_ALL is used. While it is waiting, the bio it is building has a number of pages with the writeback bit set and they aren't getting to the disk any time soon. This lowers the latencies of writeback in general by sending down the bio being built before waiting for other pages. The bio submission code tries to limit the total number of async bios in flight by waiting when we're over a certain number of async bios. But, the waits are happening while writepages is building bios, and this can easily lead to stalls and other problems for people calling wait_on_page_writeback. The current fix is to let the congestion tests take care of waiting. sync() and others make sure to drain the current async requests to make sure that everything that was pending when the sync was started really get to disk. The code would drain pending requests both before and after submitting a new request. But, if one of the requests is waiting for page writeback to finish, the draining waits might block that page writeback. This changes the draining code to only wait after submitting the bio being processed. Signed-off-by: Chris Mason commit ec4e0e2fe018992d980910db901637c814575914 Author: Ken Chen Date: Tue Nov 18 22:41:57 2008 -0800 sched: fix inconsistency when redistribute per-cpu tg->cfs_rq shares Impact: make load-balancing more consistent In the update_shares() path leading to tg_shares_up(), the calculation of per-cpu cfs_rq shares is rather erratic even under moderate task wake up rate. The problem is that the per-cpu tg->cfs_rq load weight used in the sd_rq_weight aggregation and actual redistribution of the cfs_rq->shares are collected at different time. Under moderate system load, we've seen quite a bit of variation on the cfs_rq->shares and ultimately wildly affects sched_entity's load weight. This patch caches the result of initial per-cpu load weight when doing the sum calculation, and then pass it down to update_group_shares_cpu() for redistributing per-cpu cfs_rq shares. This allows consistent total cfs_rq shares across all CPUs. It also simplifies the rounding and zero load weight check. Signed-off-by: Ken Chen Acked-by: Peter Zijlstra Signed-off-by: Ingo Molnar commit dba0a918722ee0f0ba3442575e4448c3ab622be4 Merge: 0996e63 7f0f598 Author: David Vrabel Date: Wed Nov 19 14:48:07 2008 +0000 Merge branch 'master' of git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux-2.6 into for-upstream commit 0996e6382482ce9014787693d3884e9468153a5c Author: David Vrabel Date: Mon Nov 17 16:23:22 2008 +0000 uwb: remove unused beacon group join/leave events The UWB_NOTIF_BG_JOIN/UWB_NOTIF_BG_LEAVE events have been superceeded by the channel_changed callback in struct uwb_pal. Signed-off-by: David Vrabel commit e8e1594c8126b1b773988fa2e3bfec76cff88336 Author: David Vrabel Date: Mon Nov 17 16:16:51 2008 +0000 wlp: start/stop radio on network interface up/down Signed-off-by: David Vrabel commit 6fae35f9cea92793a98b2d9ab21235e5ae035581 Author: David Vrabel Date: Mon Nov 17 15:53:42 2008 +0000 uwb: add basic radio manager The UWB radio manager coordinates the use of the radio between the PALs that may be using it. PALs request use of the radio with uwb_radio_start() and the radio manager will start beaconing if its not already doing so. When the last PAL has called uwb_radio_stop() beaconing will be stopped. In the future, the radio manager will have a more sophisticated channel selection algorithm, probably following the Channel Selection Policy from the WiMedia Alliance when it is finalized. For now, channel 9 (BG1, TFC1) is selected. The user may override the channel selected by the radio manager and may force the radio to stop beaconing. The WUSB Host Controller PAL makes use of this and there are two new debug PAL commands that can be used for testing. Signed-off-by: David Vrabel commit 9b0db7e7fd20d5a38844e9435f7d4246ea44978a Author: Mark Brown Date: Tue Nov 18 22:17:49 2008 +0000 ASoC: Convert blackfin machines to use DAI accessor functions Signed-off-by: Mark Brown commit d0c36631bbee9eb89f2fe4251e0e9583f37156cd Author: Mark Brown Date: Tue Nov 18 21:57:17 2008 +0000 ASoC: s3c24xx_uda134x DAI accessor functions and static cleanup Missed these during review. Signed-off-by: Mark Brown commit df573d2fd1b077b98ffc3eb62a9908075e69e578 Author: Arun KS Date: Wed Nov 19 17:45:19 2008 +0530 ASoC: Add support for omap2evm board This patch adds twl4030 audio support on omap2evm Signed-off-by: Arun KS Signed-off-by: Mark Brown commit 08bd16869645f435eba6a612d166532b3047c5f7 Author: Hugo Villeneuve Date: Wed Nov 19 01:37:32 2008 -0500 ASoC: Add driver for the Lyrtech SFFSDR board The PCM3008 is used on the Lyrtech SFFSDR board, in conjunction with an FPGA that generates the bit clock and the master clock [Downgraded the rate debug print to pr_debug() in hw_params, converted asm/gpio.h to linux/gpio.h -- broonie] Signed-off-by: Hugo Villeneuve Signed-off-by: Mark Brown commit 1c0090c280da18f79e3e94168b5f3bfe4eb5f1c8 Author: Hugo Villeneuve Date: Wed Nov 19 01:37:31 2008 -0500 ASoC: Add PCM3008 ALSA SoC driver The PCM3008 is a 16-bit stereo audio codec. It accepts left-justified format for ADC, and right-justified format for DAC. Independent power-down modes for ADC and DAC are provided, as well as a digital de-emphasis filter (4 modes). [Merged Makefile & Kconfig, changed asm/gpio.h to linux/gpio.h -- broonie] Signed-off-by: Hugo Villeneuve Signed-off-by: Mark Brown commit 8563964617a6685d790448d9d7e45b49be90a448 Author: Takashi Iwai Date: Wed Nov 19 14:14:50 2008 +0100 ALSA: hda - Show missing GPIO unsol bits The GPIO unsolicited event bits are read but not shown in the proc file. Let's fix it. Signed-off-by: Takashi Iwai commit 60a515132086b2c28a8141d873297fdf7a180ca7 Author: Andrew Morton Date: Tue Nov 18 22:20:10 2008 -0800 profiling: clean up profile_nop() Impact: cleanup No point in inlining this. Signed-off-by: Andrew Morton Signed-off-by: Ingo Molnar commit 9676e73a9e0cbdc521e1ebf4e13e6e5aada34247 Merge: 5a209c2 86fa2f6 6d5b43a Author: Ingo Molnar Date: Wed Nov 19 10:04:25 2008 +0100 Merge branches 'tracing/ftrace' and 'tracing/urgent' into tracing/core Conflicts: kernel/trace/ftrace.c [ We conflicted here because we backported a few fixes to tracing/urgent - which has different internal APIs. ] commit 86fa2f60674540df0b34f5c547ed0c1cf3a8f212 Author: Ingo Molnar Date: Wed Nov 19 10:00:15 2008 +0100 ftrace: fix selftest locking Impact: fix self-test boot crash Self-test failure forgot to re-lock the BKL - crashing the next initcall: Testing tracer irqsoff: .. no entries found ..FAILED! initcall init_irqsoff_tracer+0x0/0x11 returned 0 after 3906 usecs calling init_mmio_trace+0x0/0xf @ 1 ------------[ cut here ]------------ Kernel BUG at c0c0a915 [verbose debug info unavailable] invalid opcode: 0000 [#1] SMP DEBUG_PAGEALLOC last sysfs file: Pid: 1, comm: swapper Not tainted (2.6.28-rc5-tip #53704) EIP: 0060:[] EFLAGS: 00010286 CPU: 1 EIP is at unlock_kernel+0x10/0x2b EAX: ffffffff EBX: 00000000 ECX: 00000000 EDX: f7030000 ESI: c12da19c EDI: 00000000 EBP: f7039f54 ESP: f7039f54 DS: 007b ES: 007b FS: 00d8 GS: 0000 SS: 0068 Process swapper (pid: 1, ti=f7038000 task=f7030000 task.ti=f7038000) Stack: f7039f6c c0164d30 c013fed8 a7d8d7b4 00000000 00000000 f7039f74 c12fb78a f7039fd0 c0101132 c12fb77d 00000000 6f727200 6f632072 2d206564 c1002031 0000000f f7039fa2 f7039fb0 3531b171 00000000 00000000 0000002f c12ca480 Call Trace: [] ? register_tracer+0x66/0x13f [] ? ktime_get+0x19/0x1b [] ? init_mmio_trace+0xd/0xf [] ? do_one_initcall+0x4a/0x111 [] ? init_mmio_trace+0x0/0xf [] ? init_irq_proc+0x46/0x59 [] ? kernel_init+0x104/0x152 [] ? kernel_init+0x0/0x152 [] ? kernel_thread_helper+0x7/0x10 Code: 58 14 43 75 0a b8 00 9b 2d c1 e8 51 43 7a ff 64 a1 00 a0 37 c1 89 58 14 5b 5d c3 55 64 8b 15 00 a0 37 c1 83 7a 14 00 89 e5 79 04 <0f> 0b eb fe 8b 42 14 48 85 c0 89 42 14 79 0a b8 00 9b 2d c1 e8 EIP: [] unlock_kernel+0x10/0x2b SS:ESP 0068:f7039f54 ---[ end trace a7919e7f17c0a725 ]--- Kernel panic - not syncing: Attempted to kill init! So clean up the flow a bit. Signed-off-by: Ingo Molnar commit 3ac3ba0b396fd99550e08034b0e4c27fdf39c252 Merge: 934352f 7f0f598 Author: Ingo Molnar Date: Wed Nov 19 09:44:37 2008 +0100 Merge branch 'linus' into sched/core Conflicts: kernel/Makefile commit ae8cb4caa34af20311fcf5ef248afc54407aa9a8 Author: Wu Fengguang Date: Wed Nov 19 15:14:03 2008 +0800 ALSA: hda: compact ELD output messages Strip out some ELD printk messages that end user won't care, and make the output compact. Signed-off-by: Wu Fengguang Signed-off-by: Takashi Iwai commit d39b4352f2356bde9d4dae8591d4c8022360922f Author: Wu Fengguang Date: Wed Nov 19 15:14:02 2008 +0800 ALSA: hda: make global snd_print_pcm_bits() Introduce a global function snd_print_pcm_bits() and use it in the ELD code. Signed-off-by: Wu Fengguang Signed-off-by: Takashi Iwai commit 06f69d17a90ced7d74ff12ce69b7b101aed4ffd9 Author: Wu Fengguang Date: Wed Nov 19 15:14:01 2008 +0800 ALSA: hda: minor output message cleanups Some minor user visible message cleanups. Signed-off-by: Wu Fengguang Signed-off-by: Takashi Iwai commit 5b87ebb7a79455358c1910f2896112ac0fa0d0fa Author: Wu Fengguang Date: Wed Nov 19 15:14:00 2008 +0800 ALSA: hda: rename sink_eld to hdmi_eld Rename struct sink_eld to hdmi_eld. Signed-off-by: Wu Fengguang Signed-off-by: Takashi Iwai commit 4e19c58f27af67735d64d9af0b184181cea7ca63 Author: Wu Fengguang Date: Wed Nov 19 15:13:59 2008 +0800 ALSA: hda: minor code cleanups Some minor code cleanups. Signed-off-by: Wu Fengguang Signed-off-by: Takashi Iwai commit 198d6ba4d7f48c94f990f4604f0b3d73925e0ded Merge: 9a57f7f 7f0f598 Author: David S. Miller Date: Tue Nov 18 23:38:23 2008 -0800 Merge branch 'master' of master.kernel.org:/pub/scm/linux/kernel/git/davem/net-2.6 Conflicts: drivers/isdn/i4l/isdn_net.c fs/cifs/connect.c commit c6798d2bd1805e32a92ba8db168ec51cdbb534b0 Author: Matthew Ranostay Date: Tue Nov 18 20:54:17 2008 -0500 ALSA: hda: EAPD mute on suspend Moved support for EAPD mute on suspend from stac92hd71xx_suspend to the generic stac92xx_suspend function. Signed-off-by: Matthew Ranostay Signed-off-by: Takashi Iwai commit 9c8641e8ee438273079337c86f4d739fbfdd8b33 Author: Wu Fengguang Date: Wed Nov 19 08:56:18 2008 +0800 ALSA: hda: HDMI channel mapping cleanups Refactor the channel mapping code for consistent naming and make it more informed about channel allocations. Signed-off-by: Wu Fengguang Signed-off-by: Takashi Iwai commit 698544de8a31a7cadc26c27cbaa69ae82dd4f86c Author: Wu Fengguang Date: Wed Nov 19 08:56:17 2008 +0800 ALSA: hda: HDMI channel allocations for audio infoframe To play a 3+ channels LPCM/DSD stream via HDMI, - HDMI sink must tell HDMI source about its speaker placements (via ELD, speaker-allocation field) - HDMI source must tell the HDMI sink about channel allocation (via audio infoframe, channel-allocation field) (related docs: HDMI 1.3a spec section 7.4, CEA-861-D section 7.5.3 and 6.6) This patch attempts to set the CA(channel-allocation) byte in the audio infoframe according to - the number of channels in the current stream - the speakers attached to the HDMI sink A channel_allocations[] line must meet the following two criteria to be considered as a valid candidate for CA: 1) its number of allocated channels = substream->runtime->channels 2) its speakers are a subset of the available ones on the sink side If there are multiple candidates, the first one is selected. This simple policy shall cheat the sink into playing music, but may direct data to the wrong speakers. Signed-off-by: Wu Fengguang Signed-off-by: Takashi Iwai commit 903b21d8b7bb49d3438abdd7b9d4145511e1cba2 Author: Wu Fengguang Date: Wed Nov 19 08:56:16 2008 +0800 ALSA: hda: make global snd_print_channel_allocation() code refactor: make a global function snd_print_channel_allocation(). Signed-off-by: Wu Fengguang Signed-off-by: Takashi Iwai commit 5457a98039cebf20b564b5c3d73a50615e2b2696 Author: Wu Fengguang Date: Wed Nov 19 08:56:15 2008 +0800 ALSA: hda: make standalone hdmi_fill_audio_infoframe() code refactor: make a standalone function hdmi_fill_audio_infoframe(). Signed-off-by: Wu Fengguang Signed-off-by: Takashi Iwai commit cea555d384b85271035814c5adad23e6c7fc5d2a Merge: 78608dd 7f0f598 Author: Paul Mackerras Date: Wed Nov 19 16:10:32 2008 +1100 Merge branch 'linux-2.6' into next commit 78608dd32ce46789e970d6c3c423cd668c138d6c Author: Milton Miller Date: Fri Oct 10 01:56:50 2008 +0000 powerpc/mpic: Use new smp_request_message_ipi MPIC has 4 ipis, so it can use the new smp_request_message_ipi to reduce pathlength when receiving an ipi. This has the side effect of using the common ipi names, and also continuing to try request the remaining messages when one fails. Signed-off-by: Milton Miller Signed-off-by: Paul Mackerras commit 25ddd738c2ebffb6c2d3cf29c91b986d1bb39c99 Author: Milton Miller Date: Fri Nov 14 20:11:49 2008 +0000 powerpc: Provide a separate handler for each IPI action With the new generic smp call function helpers, I noticed the code in smp_message_recv was a single function call in many cases. While getting the message number from the ipi data is easy, we can reduce the path length by a function and data-dependent switch by registering seperate IPI actions for these simple calls. Originally I left the ipi action array exposed, but then I realized the registration code should be common too. The three users each had their own name array, so I made a fourth to convert all users to use a common one. Signed-off-by: Milton Miller Signed-off-by: Paul Mackerras commit a6326e98a28d8a57f693369c82559543c6950f09 Author: Robert Jennings Date: Fri Nov 14 12:07:34 2008 +0000 powerpc: Correct page-in counter for CMM with 64k pages Linux will report the number of page-ins so that the hypervisor can better determine partition memory pressure. The hardware page size and the OS page size can be different. In the case where the hardware page size is 4k and the OS is running with 64k pages the code in commit 409001948d9f221c94a61c3ee96de112755fc04d ("powerpc: Update page-in counter for CMM") would under-report the number of pages. This corrects the reporting to the hypervisor by incrementing the page_in count by 1 << PAGE_FACTOR each time. Reported-by: Andrew Theurer Signed-off-by: Robert Jennings Signed-off-by: Paul Mackerras commit 22059a90b82d6cd02d488c48c27a4d0ad976c919 Author: Michael Ellerman Date: Wed Nov 12 18:20:43 2008 +0000 powerpc/pmac: Use of_find_node_with_property() in pmac_setup_arch() Signed-off-by: Michael Ellerman Acked-by: Benjamin Herrenschmidt Signed-off-by: Paul Mackerras commit ba82efbd3b48cb2a0e03c043911ce44c28f2825a Author: Michael Ellerman Date: Wed Nov 12 18:20:40 2008 +0000 powerpc: Use of_find_node_with_property() in cell_iommu_fixed_mapping_init() Signed-off-by: Michael Ellerman Signed-off-by: Paul Mackerras commit 54018178ef05e32f140158cb7d7770b66042d131 Author: Michael Ellerman Date: Wed Nov 12 18:20:37 2008 +0000 powerpc: Use for_each_node_with_property() in of_irq_map_init() Signed-off-by: Michael Ellerman Signed-off-by: Paul Mackerras commit 1e291b14c8f1101b9093434489bd4dc0e03f3d0f Author: Michael Ellerman Date: Wed Nov 12 18:54:42 2008 +0000 of: Add helpers for finding device nodes which have a given property This commit adds a routine for finding a device node which has a certain property. The contents of the property are not taken into account, merely the presence or absence of the property. Based on that routine, we add a for_each_ macro for iterating over all nodes that have a certain property. Signed-off-by: Michael Ellerman Signed-off-by: Paul Mackerras commit ae564c63b8311fa73c21e456e00dba1f4b1ff6bc Author: Nick Piggin Date: Tue Nov 11 17:54:15 2008 +0000 powerpc: Optimise mutex This implements an optimised mutex fastpath for powerpc, making use of acquire and release barrier semantics. This takes the mutex lock+unlock benchmark from 203 to 173 cycles on a G5. Signed-off-by: Nick Piggin Signed-off-by: Paul Mackerras commit 957ab07b44d839ee8267e827fc4e8f1853798f57 Author: Nick Piggin Date: Tue Nov 11 17:51:18 2008 +0000 powerpc: Optimise smp_rmb After commit 598056d5af8fef1dbe8f96f5c2b641a528184e5a ("[POWERPC] Fix rmb to order cacheable vs. noncacheable"), rmb() becomes a sync instruction, which is needed to order cacheable vs noncacheable loads. However smp_rmb() is #defined to rmb(), and smp_rmb() can be an lwsync. This restores smp_rmb() performance by using lwsync there and updates the comments. Signed-off-by: Nick Piggin Signed-off-by: Paul Mackerras commit 46d075be585eae2b74265e4e64ca38dde16a09c6 Author: Nick Piggin Date: Tue Nov 11 17:50:48 2008 +0000 powerpc: Optimise smp_wmb Change 2d1b2027626d5151fff8ef7c06ca8e7876a1a510 ("powerpc: Fixup lwsync at runtime") removed __SUBARCH_HAS_LWSYNC, causing smp_wmb to revert back to eieio for all CPUs. This restores the behaviour intorduced in 74f0609526afddd88bef40b651da24f3167b10b2 ("powerpc: Optimise smp_wmb on 64-bit processors"). Signed-off-by: Nick Piggin Signed-off-by: Paul Mackerras commit a4e22f02f5b6518c1484faea1f88d81802b9feac Author: Mark Nelson Date: Tue Nov 11 00:53:34 2008 +0000 powerpc: Update 64bit __copy_tofrom_user() using CPU_FTR_UNALIGNED_LD_STD In exactly the same way that we updated memcpy() with new feature sections in commit 25d6e2d7c58ddc4a3b614fc5381591c0cfe66556 ("powerpc: Update 64bit memcpy() using CPU_FTR_UNALIGNED_LD_STD"), we do the same thing here for __copy_tofrom_user(). Once again this is purely a performance tweak for Cell and Power6 - this has no effect on all the other 64bit powerpc chips. We can make these same changes to __copy_tofrom_user() because the basic copy algorithm is the same as in memcpy() - this version just has all the exception handling logic needed when copying to or from userspace as well as a special case for copying whole 4K pages that are page aligned. CPU_FTR_UNALIGNED_LD_STD CPU was added in commit 4ec577a28980a0790df3c3dfe9c81f6e2222acfb ("powerpc: Add new CPU feature: CPU_FTR_UNALIGNED_LD_STD"). We also make the same simple one line change from cmpldi r1,... to cmpldi cr1,... for consistency. Signed-off-by: Mark Nelson Signed-off-by: Paul Mackerras commit 7526ff76f84178f8c926de7e590e4c5f9d4a2e62 Author: Hollis Blanchard Date: Mon Nov 10 14:33:36 2008 +0000 powerpc: Remove superfluous WARN_ON() from dma-noncoherent.c I can't tell why this WARN_ON exists, and there's no comment explaining it. Whether the pmd is present or not, pte_alloc_kernel() seems to handle both cases. Booting a 440 kernel with 64K PAGE_SIZE triggers the warning, but boot successfully completes and I see no problems beyond that. Signed-off-by: Hollis Blanchard Acked-by: Benjamin Herrenschmidt Signed-off-by: Paul Mackerras commit efc3624c9419cad3cca93dfabb7b12664773d2b1 Author: Paul Mackerras Date: Wed Nov 5 18:39:27 2008 +0000 powerpc: Tell gcc when we clobber the carry in inline asm We have several instances of inline assembly code that use the addic or addic. instructions, but don't include XER in the list of clobbers. The addic and addic. instructions affect the carry bit, which is in the XER register. This adds "xer" to the list of clobbers for those inline asm statements that use addic or addic. and didn't already have it. Signed-off-by: Paul Mackerras commit d5e54913433fff89609adfc4b96fefcf807a9030 Author: David Gibson Date: Wed Nov 5 14:20:17 2008 +0000 powerpc: udbg-based backend for hvc_console This adds a new backend for the hvc console based on the low-level udbg callbacks. This effectively implements a working runtime console in terms of the simple udbg primitives. This is kind of a hack - since udbg isn't something you really want to be using routinely - but it's really useful during bringup. This can be used to quickly implement a userspace-usable console while you're working on a proper driver for whatever console I/O device the hardware has. Or, it can be used to avoid writing a full blown tty/console driver entirely for quick-and-dirty I/O hardware that will later be replaced by something else. Signed-off-by: David Gibson Signed-off-by: Paul Mackerras commit 8c6531868d4917adbd363030f28a734b76c7471a Author: Chris J Arges Date: Tue Nov 4 12:19:06 2008 +0000 serial/pmac_zilog: Add console polling support This implements poll_get_char and poll_put_char for console polling, which enables kgdb to work on machines that use the pmac_zilog serial driver, for example the Apple PowerMac G5. Signed-off-by: Chris J Arges Signed-off-by: Paul Mackerras commit 9b82f3e61758ed897200f0244b63a77c1791bcba Author: Geert Uytterhoeven Date: Thu Oct 30 08:12:58 2008 +0000 powerpc/ps3: Replace the flip_ctl logic in ps3av and ps3fb by a mutex Introduce ps3_gpu_mutex to synchronizes GPU-related operations, like: - invoking the L1GPU_CONTEXT_ATTRIBUTE_FB_BLIT command using the lv1_gpu_context_attribute() hypervisor call, - handling the PS3AV_CID_AVB_PARAM packet in the PS3 A/V Settings driver. Signed-off-by: Geert Uytterhoeven Signed-off-by: Geoff Levand Signed-off-by: Paul Mackerras commit a22506347d038a66506c6f57e9b97104128e280d Author: Heiko Carstens Date: Tue Nov 18 18:06:35 2008 +0100 ftrace: preemptoff selftest not working Impact: fix preemptoff and preemptirqsoff tracer self-tests I was wondering why the preemptoff and preemptirqsoff tracer selftests don't work on s390. After all its just that they get called from non-preemptible context: kernel_init() will execute all initcalls, however the first line in kernel_init() is lock_kernel(), which causes the preempt_count to be increased. Any later calls to add_preempt_count() (especially those from the selftests) will therefore not result in a call to trace_preempt_off() since the check below in add_preempt_count() will be false: if (preempt_count() == val) trace_preempt_off(CALLER_ADDR0, get_parent_ip(CALLER_ADDR1)); Hence the trace buffer will be empty. Fix this by releasing the BKL during the self-tests. Signed-off-by: Heiko Carstens Acked-by: Steven Rostedt Signed-off-by: Ingo Molnar commit ca3ea02e90d63a6a91c1c2a445d6d71f9031a44a Author: Mark Brown Date: Tue Nov 18 20:40:36 2008 +0000 ASoC: Remove unused snd_soc_machine_config declaration Signed-off-by: Mark Brown commit 2af752936b311a846622668f8b0f1893d8eccade Author: Hannes Eder Date: Tue Nov 18 12:25:06 2008 -0500 sound: Fix warnings relating to ignored return value in snd_card_register Do not ignore the return of 'device_create_file' in 'snd_card_register' and thereby fixing the following warnings: sound/core/init.c: In function 'snd_card_register': sound/core/init.c:640: warning: ignoring return value of 'device_create_file', declared with attribute warn_unused_result sound/core/init.c:641: warning: ignoring return value of 'device_create_file', declared with attribute warn_unused_result Signed-off-by: Hannes Eder Signed-off-by: Takashi Iwai commit 105d931d482b7d1b1b2dd4b0ea30365db8630b9f Author: Chris Mason Date: Tue Nov 18 12:13:12 2008 -0500 Btrfs: switch back to wait_on_page_writeback to wait on metadata writes The extent based waiting was using more CPU, and other fixes have helped with the unplug storm problems. Signed-off-by: Chris Mason commit 73e9f5beb16f568f797bba87f082556fac18dede Author: Chris Mason Date: Tue Nov 18 11:50:33 2008 -0500 Btrfs: Update the disk format for the seed device and new root code Signed-off-by: Chris Mason commit b5fe363b7d89577fcfda9b6cf0efc32760bbccc6 Author: Yinghai Lu Date: Tue Nov 18 08:14:14 2008 -0800 x86: use update_genapic to get rid of ES7000_CLUSTERED_APIC v2 Impact: clean up We can autodetect those system that need cluster apic, and update genapic accordingly. We can also remove wakeup.h for e7000, because it's default one is now the same as overall default mach_wakecpu.h Signed-off-by: Yinghai Lu Signed-off-by: Ingo Molnar commit f632ddcc0786149c0e4bef9b6b44c96a75c0d074 Author: Ingo Molnar Date: Tue Nov 18 17:32:26 2008 +0100 x86: fix wakeup_cpu with numaq/es7000, v2, fix #2 Impact: fix boot crash fix default_update_genapic(). Signed-off-by: Yinghai Lu Signed-off-by: Ingo Molnar commit 64977609e316c86fad513d9bf0afff998581e59d Author: Hiroshi Shimamoto Date: Mon Nov 17 15:49:14 2008 -0800 x86: ia32_signal: change order of storing in setup_sigcontext() Impact: cleanup Change order of storing to match the sigcontext_ia32. And add casting to make this code same as arch/x86/kernel/signal_32.c. Signed-off-by: Hiroshi Shimamoto Signed-off-by: Ingo Molnar commit 047ce93581ca122442ed3c13a62a645249a7db1d Author: Hiroshi Shimamoto Date: Mon Nov 17 15:48:27 2008 -0800 x86: ia32_signal: remove using temporary variable Impact: cleanup No need to use temporary variable. Also rename the variable same as arch/x86/kernel/signal_32.c. Signed-off-by: Hiroshi Shimamoto Reviewed-by: WANG Cong Signed-off-by: Ingo Molnar commit 8c6e5ce0fd67c57ad5e19d1718e1250214e855db Author: Hiroshi Shimamoto Date: Mon Nov 17 15:47:48 2008 -0800 x86: ia32_signal: cleanup macro RELOAD_SEG Impact: cleanup Remove mask parameter because it's always 3. Cleanup coding styles. Signed-off-by: Hiroshi Shimamoto Reviewed-by: WANG Cong Signed-off-by: Ingo Molnar commit d71a68dca54756049e0eae62458a1705bf680d09 Author: Hiroshi Shimamoto Date: Mon Nov 17 15:47:06 2008 -0800 x86: ia32_signal: introduce COPY_SEG_CPL3 Impact: cleanup Introduce COPY_SEG_CPL3 for ia32_restore_sigcontext(). Signed-off-by: Hiroshi Shimamoto Signed-off-by: Ingo Molnar commit b78a5b5260abf90d574911e7c7b8d35d5b48d6c0 Author: Hiroshi Shimamoto Date: Mon Nov 17 15:44:50 2008 -0800 x86: ia32_signal: cleanup macro COPY Impact: cleanup No need to use temporary variable in this case. Signed-off-by: Hiroshi Shimamoto Signed-off-by: Ingo Molnar commit 9f0ba5bd91d42706ba78f97ec638c6a821db1c5e Author: Chris Mason Date: Tue Nov 18 10:31:22 2008 -0500 Btrfs: unplug all devices in the unplug call back For larger multi-device filesystems, there was logic to limit the number of devices unplugged to just the page that was sent to our sync_page function. But, the code wasn't always unplugging the right device. Since this was just an optimization, disable it for now. Signed-off-by: Chris Mason commit b4eec2ca1167bae46295aeb66abd15fd52387845 Author: Liu Hui Date: Tue Nov 18 11:30:10 2008 -0500 Btrfs: Some fixes for batching extent insert. In insert_extents(), when ret==1 and last is not zero, it should check if the current inserted item is the last item in this batching inserts. If so, it should just break from loop. If not, 'cur = insert_list->next' will make no sense because the list is empty now, and 'op' will point to an unexpectable place. There are also some trivial fixs in this patch including one comment typo error and deleting two redundant lines. Signed-off-by: Chris Mason commit cbe9ee00cea58d1f77b172fe22a51080e90877f2 Merge: 0bd7b79 10db4ef Author: Ingo Molnar Date: Tue Nov 18 15:41:36 2008 +0100 Merge branch 'x86/urgent' into x86/cleanups commit a1afd01c175324656d0e8f1c82ea94b474953c04 Author: Joerg Roedel Date: Tue Nov 18 12:44:21 2008 +0100 x86: default to SWIOTLB=y on x86_64 Impact: fixes korg bugzilla 11980 A kernel for a 64bit x86 system should always contain the swiotlb code in case it is booted on a machine without any hardware IOMMU supported by the kernel and more than 4GB of RAM. This patch changes Kconfig to always compile swiotlb into the kernel for x86_64. Signed-off-by: Joerg Roedel Cc: stable@kernel.org Signed-off-by: Ingo Molnar commit 72f2b894455775b980a5ac7ae70ab560b3d3d247 Author: Mark Brown Date: Tue Nov 18 12:25:46 2008 +0000 ASoC: Move uda134x_codec.h to uda134x.h For consistency with other ASoC codec drivers. Signed-off-by: Mark Brown commit a0bd65f45faae78bda7a2a07370c40c3e0a2502a Author: Mike Frysinger Date: Tue Nov 18 16:18:22 2008 +0800 ASoC: Blackfin: always set a default value for that GPIO range Cc: Cliff Cai Signed-off-by: Mike Frysinger Signed-off-by: Bryan Wu Signed-off-by: Mark Brown commit 27b9be5a7894f571bbfb87de19ad7cd8c7737d22 Author: Bryan Wu Date: Tue Nov 18 16:18:21 2008 +0800 ASoC: Blackfin: Simplify the MMAP_SUPPORT macros protected code Cc: Cliff Cai Signed-off-by: Bryan Wu Signed-off-by: Mark Brown commit caa45836d6bdfde603f3afd739ec3fc2360b1dac Author: Mike Frysinger Date: Tue Nov 18 16:18:20 2008 +0800 ASoC: Blackfin: do not force TWI bus for ssm2602 codec Cc: Cliff Cai Signed-off-by: Mike Frysinger Signed-off-by: Bryan Wu Signed-off-by: Mark Brown commit 0cade26e366549adcf211f67200b2934c8220f05 Author: Michael Hennerich Date: Tue Nov 18 16:18:19 2008 +0800 ASoC: Fix Blackfin AC97 DAI probe function return code A probe function should have a clean return 0 path. Cc: Cliff Cai Signed-off-by: Michael Hennerich Signed-off-by: Bryan Wu Signed-off-by: Mark Brown commit a89e611a1dfefbf5d21f6def54c958bf6c4971bc Author: Cliff Cai Date: Tue Nov 18 16:18:18 2008 +0800 ASoC: Blackfin: Fix AD1980/1 build with MMAP support disabled clean up redudent code and correct building problem in non-mmap mode Signed-off-by: Cliff Cai Signed-off-by: Bryan Wu Signed-off-by: Mark Brown commit 67f854b910613eeffec4fe71e35c0cd8c32c82ec Author: Cliff Cai Date: Tue Nov 18 16:18:17 2008 +0800 ASoC: Blackfin: add multi-channel function support This patch provides a option for users to enable multi-channel function support in Blackfin ASoC driver. Because Blackfin is without MMU, it is easy for us and the user to enable this function at compiling stage not dynamically on the fly. Signed-off-by: Cliff Cai Signed-off-by: Bryan Wu Signed-off-by: Mark Brown commit 9905ed35fdec0ebb3be8a724021ff3b104571667 Author: Cliff Cai Date: Tue Nov 18 16:18:16 2008 +0800 ASoC: AD1980 codec: add multi-channel function support We added multi-channel function to this codec driver and Blackfin ASoC driver as well. It was tested on Blackfin hardware. Signed-off-by: Cliff Cai Signed-off-by: Bryan Wu Signed-off-by: Mark Brown commit a11311d71d59145d920c19c0a4eed3fa7e26d222 Author: Mike Frysinger Date: Tue Nov 18 16:18:15 2008 +0800 ASoC: Blackfin: updates Kconfig for SPORT tweak SPORT range for non-BF54x so we get proper behavior for BF52x parts Signed-off-by: Mike Frysinger Signed-off-by: Bryan Wu Signed-off-by: Mark Brown commit cb6e2063697e91ca6983f9fe6958d20469b43641 Author: Naresh Medisetty Date: Tue Nov 18 11:01:03 2008 +0530 ASoC: DaVinci: Fix audio stall when doing full duplex Fix concurrent capture/playback issue. The issue is caused by re-initialization of control registers used specifically for capture or playback in both capture and playback operations. Signed-off-by: Steve Chen Signed-off-by: Naresh Medisetty Signed-off-by: Mark Brown commit cd896c331dd442c43cd9e23de3f1a4f3c111c292 Author: Takashi Iwai Date: Tue Nov 18 12:36:33 2008 +0100 ALSA: hda - Allow multiple imux for matrix-type mixers of ALC codecs Allow the multiple imux instances for matrix-type mixers like ALC882. So far, only ALC260 used this feature, but other codecs may need a similar stuff. Signed-off-by: Takashi Iwai commit e17b666a468285409ab9f6caff9df16936d27d71 Author: Patrick McHardy Date: Tue Nov 18 12:24:17 2008 +0100 netfilter: nf_conntrack: fix warning and prototype mismatch net/netfilter/nf_conntrack_core.c:46:1: warning: symbol 'nfnetlink_parse_nat_setup_hook' was not declared. Should it be static? Including the proper header also revealed an incorrect prototype. Signed-off-by: Patrick McHardy commit d9e150071d18b5c87ba7a097af4063a5ad0c6a0c Author: Patrick McHardy Date: Tue Nov 18 12:16:52 2008 +0100 netfilter: nfnetlink_log: fix warning and prototype mismatch net/netfilter/nfnetlink_log.c:537:1: warning: symbol 'nfulnl_log_packet' was not declared. Should it be static? Including the proper header also revealed an incorrect prototype. Signed-off-by: Patrick McHardy commit 19abb7b090a6bce88d4e9b2914a0367f4f684432 Author: Pablo Neira Ayuso Date: Tue Nov 18 11:56:20 2008 +0100 netfilter: ctnetlink: deliver events for conntracks changed from userspace As for now, the creation and update of conntracks via ctnetlink do not propagate an event to userspace. This can result in inconsistent situations if several userspace processes modify the connection tracking table by means of ctnetlink at the same time. Specifically, using the conntrack command line tool and conntrackd at the same time can trigger unconsistencies. This patch also modifies the event cache infrastructure to pass the process PID and the ECHO flag to nfnetlink_send() to report back to userspace if the process that triggered the change needs so. Based on a suggestion from Patrick McHardy. Signed-off-by: Pablo Neira Ayuso Signed-off-by: Patrick McHardy commit 226c0c0ef2abdf91b8d9cce1aaf7d4635a5e5926 Author: Pablo Neira Ayuso Date: Tue Nov 18 11:54:05 2008 +0100 netfilter: ctnetlink: helper modules load-on-demand support This patch adds module loading for helpers via ctnetlink. * Creation path: We support explicit and implicit helper assignation. For the explicit case, we try to load the module. If the module is correctly loaded and the helper is present, we return EAGAIN to re-start the creation. Otherwise, we return EOPNOTSUPP. * Update path: release the spin lock, load the module and check. If it is present, then return EAGAIN to re-start the update. This patch provides a refactorized function to lookup-and-set the connection tracking helper. The function removes the exported symbol __nf_ct_helper_find as it has not clients anymore. Signed-off-by: Pablo Neira Ayuso Signed-off-by: Patrick McHardy commit 0231022cc32d5f2e7f3c06b75691dda0ad6aec33 Author: Frederic Weisbecker Date: Mon Nov 17 03:22:41 2008 +0100 tracing/function-return-tracer: add the overrun field Impact: help to find the better depth of trace We decided to arbitrary define the depth of function return trace as "20". Perhaps this is not enough. To help finding an optimal depth, we measure now the overrun: the number of functions that have been missed for the current thread. By default this is not displayed, we have to do set a particular flag on the return tracer: echo overrun > /debug/tracing/trace_options And the overrun will be printed on the right. As the trace shows below, the current 20 depth is not enough. update_wall_time+0x37f/0x8c0 -> update_xtime_cache (345 ns) (Overruns: 2838) update_wall_time+0x384/0x8c0 -> clocksource_get_next (1141 ns) (Overruns: 2838) do_timer+0x23/0x100 -> update_wall_time (3882 ns) (Overruns: 2838) tick_do_update_jiffies64+0xbf/0x160 -> do_timer (5339 ns) (Overruns: 2838) tick_sched_timer+0x6a/0xf0 -> tick_do_update_jiffies64 (7209 ns) (Overruns: 2838) vgacon_set_cursor_size+0x98/0x120 -> native_io_delay (2613 ns) (Overruns: 274) vgacon_cursor+0x16e/0x1d0 -> vgacon_set_cursor_size (33151 ns) (Overruns: 274) set_cursor+0x5f/0x80 -> vgacon_cursor (36432 ns) (Overruns: 274) con_flush_chars+0x34/0x40 -> set_cursor (38790 ns) (Overruns: 274) release_console_sem+0x1ec/0x230 -> up (721 ns) (Overruns: 274) release_console_sem+0x225/0x230 -> wake_up_klogd (316 ns) (Overruns: 274) con_flush_chars+0x39/0x40 -> release_console_sem (2996 ns) (Overruns: 274) con_write+0x22/0x30 -> con_flush_chars (46067 ns) (Overruns: 274) n_tty_write+0x1cc/0x360 -> con_write (292670 ns) (Overruns: 274) smp_apic_timer_interrupt+0x2a/0x90 -> native_apic_mem_write (330 ns) (Overruns: 274) irq_enter+0x17/0x70 -> idle_cpu (413 ns) (Overruns: 274) smp_apic_timer_interrupt+0x2f/0x90 -> irq_enter (1525 ns) (Overruns: 274) ktime_get_ts+0x40/0x70 -> getnstimeofday (465 ns) (Overruns: 274) ktime_get_ts+0x60/0x70 -> set_normalized_timespec (436 ns) (Overruns: 274) ktime_get+0x16/0x30 -> ktime_get_ts (2501 ns) (Overruns: 274) hrtimer_interrupt+0x77/0x1a0 -> ktime_get (3439 ns) (Overruns: 274) Signed-off-by: Frederic Weisbecker Acked-by: Steven Rostedt Signed-off-by: Ingo Molnar commit 0619faf657806b943e6acf51f60f1cd023a96c78 Author: Frederic Weisbecker Date: Mon Nov 17 19:26:30 2008 +0100 tracing/ftrace: make nop tracer using tracer flags Impact: give an example on how to use specific tracer flags This patch propose to use the nop tracer to provide an example for using the tracer's custom flags implementation. V2: replace structures and defines just after the headers includes for cleanliness. V3: replace defines by enum values. Signed-off-by: Frederic Weisbecker Acked-by: Steven Noonan Acked-by: Steven Rostedt Signed-off-by: Ingo Molnar commit adf9f19574334c9a29a2bc956009fcac7edf1a6b Author: Frederic Weisbecker Date: Mon Nov 17 19:23:42 2008 +0100 tracing/ftrace: implement a set_flag callback for tracers Impact: give a way to send specific messages to tracers The current implementation of tracing uses some flags to control the output of general tracers. But we have no way to implement custom flags handling for a specific tracer. This patch proposes a new callback for the struct tracer which called set_flag and a structure that represents a 32 bits variable flag. A tracer can implement a struct tracer_flags on which it puts the initial value of the flag integer. Than it can place a range of flags with their name and their flag mask on the flag integer. The structure that implement a single flag is called struct tracer_opt. These custom flags will be available through the trace_options file like the general tracing flags. Changing their value is done like the other general flags. For example if you have a flag that calls "foo", you can activate it by writing "foo" or "nofoo" on trace_options. Note that the set_flag callback is optional and is only needed if you want the flags changing to be signaled to your tracer and let it to accept or refuse their assignment. V2: Some arrangements in coding style.... Signed-off-by: Frederic Weisbecker Acked-by: Steven Rostedt Signed-off-by: Ingo Molnar commit a5f0717e51c5fe6cdaf885b7f621ba48ae745bfb Author: Michael Hennerich Date: Tue Nov 18 18:04:31 2008 +0800 Blackfin arch: Fix bug - change cpufreq doesn't take effect on bf537 now CCLK is variable: get current CCLK in show_cpuinfo Signed-off-by: Michael Hennerich Signed-off-by: Bryan Wu commit a581780aa17f9027c422cb2d10f0bd88135c36f5 Merge: af9f341 c5d08bb Author: Takashi Iwai Date: Tue Nov 18 10:57:07 2008 +0100 Merge branch 'topic/fix/hda' into topic/hda commit 8eb3e3bfd5544c4549a52e3cfc3df2be0b224dbd Author: Graf Yang Date: Tue Nov 18 17:48:22 2008 +0800 Blackfin arch: Request the gpio resource when making it as an irq pin, avoiding override it. Signed-off-by: Graf Yang Signed-off-by: Bryan Wu commit 30af6d490427b49af5beca5824e22b00e468c951 Author: Graf Yang Date: Tue Nov 18 17:48:21 2008 +0800 Blackfin arch: Add code to free gpio when shutdown irq Signed-off-by: Graf Yang Signed-off-by: Bryan Wu commit b7e11293a4340dc20674144f7e83883a7a40049e Author: Mike Frysinger Date: Tue Nov 18 17:48:22 2008 +0800 Blackfin arch: fix bug - reboot fails on BF527 add ANOMALY_05000435 to handle SIC_IWR1 workaround for rebooting Signed-off-by: Mike Frysinger Signed-off-by: Bryan Wu commit 94b28211d83a7d8e86a8452a1bc65c95853af448 Author: Mike Frysinger Date: Tue Nov 18 17:48:21 2008 +0800 Blackfin arch: add ANOMALY_05000435 to our headers Signed-off-by: Mike Frysinger Signed-off-by: Bryan Wu commit b5e986c46857a4bed329afd41faec73be24b6d74 Author: Mike Frysinger Date: Tue Nov 18 17:48:22 2008 +0800 Blackfin arch: only define HI/LO macros for assembly files Only define HI/LO macros for assembly files since some common C files use HI/LO as variable names Signed-off-by: Mike Frysinger Signed-off-by: Bryan Wu commit dce783c5e400d6a470c86ccb5a7fdeabf27afbf4 Author: Mike Frysinger Date: Tue Nov 18 17:48:21 2008 +0800 Blackfin arch: add BUG_ON() checks to make sure we dont overflow the cplb tables Signed-off-by: Mike Frysinger Signed-off-by: Bryan Wu commit 8624991187c365779f101b926662950794a6bfbe Author: Mike Frysinger Date: Tue Nov 18 17:48:22 2008 +0800 Blackfin arch: make ROM_BASE depend on ROMKERNEL Signed-off-by: Mike Frysinger Signed-off-by: Bryan Wu commit cb15e57cc7d68e524f709c9a541b4900df80df16 Author: Mike Frysinger Date: Tue Nov 18 17:48:22 2008 +0800 Blackfin arch: noMMU CPLB lookup tables can be in L1 SRAM - unify duplicate page_size_table definitions - make sure it is placed alongside the other cplb switching code Pointed-out-by: Michael McTernan Signed-off-by: Mike Frysinger Signed-off-by: Bryan Wu commit 05a717fbc893c777165b00821b9dcde968a95bcc Author: Mike Frysinger Date: Tue Nov 18 17:48:22 2008 +0800 Blackfin arch: do not include init sections in the kernel lock down as it gets released afterwards Signed-off-by: Mike Frysinger Signed-off-by: Bryan Wu commit 383163826012d70da070bedd432a74bb8d915315 Author: Mike Frysinger Date: Tue Nov 18 17:48:22 2008 +0800 Blackfin arch: change return value change return of close_cplbtab() and fill_cplbtab() to void since we always return 0 and nowhere do we check this Signed-off-by: Mike Frysinger Signed-off-by: Bryan Wu commit 4c5b8a648ff0e6bda853cc4094cb7e962ebd8d1d Author: Mike Frysinger Date: Tue Nov 18 17:48:22 2008 +0800 Blackfin arch: remove pointless define IN_KERNEL Signed-off-by: Mike Frysinger Signed-off-by: Bryan Wu commit ff4c02e4be00dccfb4b7baa8e56300b6ab3e290a Author: Mike Frysinger Date: Tue Nov 18 17:48:22 2008 +0800 Blackfin arch: unify cplbinfo files Merge MPU and noMPU version of CPLB info code to one common version. Signed-off-by: Mike Frysinger Signed-off-by: Bryan Wu commit 4db557d4aeb6a9a6713e66e222949bc93b2bf2e9 Author: Mike Frysinger Date: Tue Nov 18 17:48:22 2008 +0800 Blackfin arch: define BASE_BAUD like everyone else define BASE_BAUD like everyone else, althought it is only used by 8250 Signed-off-by: Mike Frysinger Signed-off-by: Bryan Wu commit 55e359a825d25cecea2007db3e4018675e42f1af Author: Mike Frysinger Date: Tue Nov 18 17:48:22 2008 +0800 Blackfin arch: remove BFIN_DMA_5XX option Do not make BFIN_DMA_5XX optional since a large portion of our code relies on dma functions existing Signed-off-by: Mike Frysinger Signed-off-by: Bryan Wu commit ecdbfc1ac10eaba04c699d6f8a004f987622264c Author: Mike Frysinger Date: Tue Nov 18 17:48:21 2008 +0800 Blackfin arch: add mmiowb() as some drivers expect Signed-off-by: Mike Frysinger Signed-off-by: Bryan Wu commit 5ad2ca5fbbb002e48097b2ab364497d0f9f77987 Author: Michael Hennerich Date: Tue Nov 18 17:48:22 2008 +0800 Blackfin arch: Fix BUG - Kernel does not link when CONFIG_CPU_FREQ_STAT=m to reproduce: $ make BF537-STAMP_defconfig $ make menuconfig CPU Frequency scaling ---> [*] CPU Frequency scaling CPU frequency translation statistics $ make arch/blackfin/mach-common/built-in.o: In function `bfin_target': arch/blackfin/mach-common/cpufreq.c:(.text+0xf1e): undefined reference to `cpufreq_frequency_table_target' arch/blackfin/mach-common/built-in.o: In function `bfin_verify_speed': arch/blackfin/mach-common/cpufreq.c:(.text+0x1056): undefined reference to `cpufreq_frequency_table_verify' arch/blackfin/mach-common/built-in.o: In function `__bfin_cpu_init': arch/blackfin/mach-common/cpufreq.c:(.init.text+0x554): undefined reference to `cpufreq_frequency_table_get_attr' arch/blackfin/mach-common/cpufreq.c:(.init.text+0x56a): undefined reference to `cpufreq_frequency_table_cpuinfo' arch/blackfin/mach-common/built-in.o: In function `sys_call_table': (.data+0x83c): undefined reference to `cpufreq_freq_attr_scaling_available_freqs' make: *** [.tmp_vmlinux1] Error 1 Blackfin wants CPU_FREQ_TABLE Signed-off-by: Michael Hennerich Signed-off-by: Bryan Wu commit 9b78442fadc1d0319f77437c811fe53398822602 Author: Mike Frysinger Date: Tue Nov 18 17:48:22 2008 +0800 Blackfin arch: rename cache_lock() to bfin_cache_lock() rename cache_lock() to bfin_cache_lock() to avoid namespace collision with common code Signed-off-by: Mike Frysinger Signed-off-by: Bryan Wu commit a3765e0cd5fb76d7d62bc2d74be4627279d44005 Author: Mike Frysinger Date: Tue Nov 18 17:48:22 2008 +0800 Blackfin arch: use generic xor.h Signed-off-by: Mike Frysinger Signed-off-by: Bryan Wu commit 1b047d8cc58f7f8b50fb9c80b131ef054f091f1b Author: Mike Frysinger Date: Tue Nov 18 17:48:22 2008 +0800 Blackfin arch: cleanup the time.c code - make the code a bit more readable - kill of warnings/ifdef mess a bit Signed-off-by: Mike Frysinger Signed-off-by: Bryan Wu commit 33c8691f45459a41864562ae8d1ec12b4503f200 Author: Mike Frysinger Date: Tue Nov 18 17:48:22 2008 +0800 Blackfin arch: fix building with CONFIG_DEBUG_DOUBLEFAULT arch/blackfin/mach-common/entry.S:465: Error: pcrel too far BFD_RELOC_BFIN_10 Signed-off-by: Mike Frysinger Signed-off-by: Bryan Wu commit 36f649a55aa3ad1e2196403ba95a652f9900bc50 Author: Mike Frysinger Date: Tue Nov 18 17:48:22 2008 +0800 Blackfin arch: do not define decode_instruction if hwtrace is turned off Signed-off-by: Mike Frysinger Signed-off-by: Bryan Wu commit 400597842452c02916a61a51f3154dd032c2d569 Author: Mike Frysinger Date: Tue Nov 18 17:48:22 2008 +0800 Blackfin arch: rename irq_flags to bfin_irq_flags rename irq_flags to bfin_irq_flags to avoid namespace collision with common code Signed-off-by: Mike Frysinger Signed-off-by: Bryan Wu commit b60705765a635728187e5cea5f36914886675013 Author: Mike Frysinger Date: Tue Nov 18 17:48:22 2008 +0800 Blackfin arch: move out irq related functions move irq related functions into asm/irq.h and out of the mondo asm/system.h Signed-off-by: Mike Frysinger Signed-off-by: Bryan Wu commit b1271d31a59e73a70284c2cdcbe2b0589f6479c7 Author: Mike Frysinger Date: Tue Nov 18 17:48:22 2008 +0800 Blackfin arch: move the PORT registers down Move the PORT registers down as well since they may utilize asm/system.h code Signed-off-by: Mike Frysinger Signed-off-by: Bryan Wu commit 31fba6e752fee4ef8747bc9cac141dc70ae74652 Author: Mike Frysinger Date: Tue Nov 18 17:48:22 2008 +0800 Blackfin arch: introduce an IM_MEM macro to kgdb create an IN_MEM() macro to simplify comparing an address in an on-chip region of memory and make things readable Signed-off-by: Mike Frysinger Signed-off-by: Bryan Wu commit 89c6c139a57e27617850ddc7df90e267374a1a5c Author: Mike Frysinger Date: Tue Nov 18 17:48:22 2008 +0800 Blackfin arch: fix off-by-one errors on end of memory range Signed-off-by: Mike Frysinger Signed-off-by: Bryan Wu commit 09c1db922dd5b41e6421a5a7a94c1282ee881e81 Author: Mike Frysinger Date: Tue Nov 18 17:48:22 2008 +0800 Blackfin arch: delete unused vars and add parenthesis to fixup warnings Signed-off-by: Mike Frysinger Signed-off-by: Bryan Wu commit bda07aac9db0d5eb2d6fbe83b99e070b58820dcf Author: Mike Frysinger Date: Tue Nov 18 17:48:22 2008 +0800 Blackfin arch: move fixed code into init section Signed-off-by: Mike Frysinger Signed-off-by: Bryan Wu commit f8c1b3909c7e557f98e621d3ad8711303b776654 Author: Mike Frysinger Date: Tue Nov 18 17:48:22 2008 +0800 Blackfin arch: remove superficial check on blackfin watchdog Signed-off-by: Mike Frysinger Signed-off-by: Bryan Wu commit d1a3336e2fdd5dc48b80acee6f0aaa65ebb3426c Author: Mike Frysinger Date: Tue Nov 18 17:48:22 2008 +0800 Blackfin arch: set PM_WAKEUP_GPIO_NUMBER default to 2 for everyone Signed-off-by: Mike Frysinger Signed-off-by: Bryan Wu commit 53442e1cbdc1559cd39e0076adae6df64af36a3e Author: Mike Frysinger Date: Tue Nov 18 17:48:22 2008 +0800 Blackfin arch: delay PLL_CTL/VR_CTL wrappers Delay PLL_CTL/VR_CTL wrappers as much as possible to avoid the inter-dependency problems with cdef and common headers Signed-off-by: Mike Frysinger Signed-off-by: Bryan Wu commit b94919e2da2f7acde842972a57fcd6dcc4a528db Author: Mike Frysinger Date: Tue Nov 18 17:48:22 2008 +0800 Blackfin arch: dont export ack_bad_irq as no one else does Signed-off-by: Mike Frysinger Signed-off-by: Bryan Wu commit 7beb7439acea38ecd0abbbdc72f85732dd59658c Author: Mike Frysinger Date: Tue Nov 18 17:48:22 2008 +0800 Blackfin arch: move SIC_SYSIRQ() to the one file that actually uses it Signed-off-by: Mike Frysinger Signed-off-by: Bryan Wu commit a638735b3d7fd844fd7f0586ad3ba4a3fe9c23a8 Author: Mike Frysinger Date: Tue Nov 18 17:48:22 2008 +0800 Blackfin arch: move ack_bad_irq() prototype to hardirq.h to match other arches Signed-off-by: Mike Frysinger Signed-off-by: Bryan Wu commit 34616c8bbddebd4cc1a69d990bb6727f6987f5de Author: Mike Frysinger Date: Tue Nov 18 17:48:22 2008 +0800 Blackfin arch: delete old comments and NO_IRQ define Signed-off-by: Mike Frysinger Signed-off-by: Bryan Wu commit 8a86176c4aee493bf8eb1dce8190b2f63d70d130 Author: Mike Frysinger Date: Tue Nov 18 17:48:22 2008 +0800 Blackfin arch: overlay thread.usp over PT_USP overlay thread.usp over PT_USP when getting the whole regfile to match PT_USP behavior Signed-off-by: Mike Frysinger Signed-off-by: Bryan Wu commit 3c1fbd5184f9c3c52c0a392fae0efb0b0d99a079 Author: Mike Frysinger Date: Tue Nov 18 17:48:22 2008 +0800 Blackfin arch: rewrite blackfin_invalidate_entire_dcache function rewrite blackfin_invalidate_entire_dcache() in C for easier management, better optimization, and so we take all SSYNC anomalies into account Signed-off-by: Mike Frysinger Signed-off-by: Bryan Wu commit fe85cad25e56aad5e020ea5cab50a100892f645b Author: Mike Frysinger Date: Tue Nov 18 17:48:22 2008 +0800 Blackfin arch: make ADI board names consistent Cc: Graf Yang Signed-off-by: Mike Frysinger Signed-off-by: Bryan Wu commit 8a0e9acfd153cf5c726f010b075a3d4d55f80895 Author: Sonic Zhang Date: Tue Nov 18 17:48:22 2008 +0800 Blackfin arch: Fix bug - hardware breakpoint doesn't always work in kgdb Hardware breakpoint doesn't always work in kgdb. It works at the first two times, but if you repeatedly trigger that hardware breakpoint, it would slip over that point once in two times. Fix it by always setting hw bp skip to 0. gdb does skip after hw bp trap. Signed-off-by: Sonic Zhang Signed-off-by: Bryan Wu commit 0b82e27444f4c186e931ecc97c9a8dae07128078 Author: Mike Frysinger Date: Tue Nov 18 17:48:22 2008 +0800 Blackfin arch: fix unused warning for some blackfin derivatives Signed-off-by: Mike Frysinger Signed-off-by: Bryan Wu commit 2e8ca591479e7127c7a6406cfb54962afbd5a68e Author: Bryan Wu Date: Tue Nov 18 17:48:22 2008 +0800 Blackfin arch: Use GPIO_BANKSIZE macro to replace const number 16 for GPIO_BANK_NUM macro caculating Signed-off-by: Bryan Wu commit 46fa5eecec58934902ea4a65d9c7b7a486ac6f6b Author: Graf Yang Date: Wed Jan 7 23:14:39 2009 +0800 Blackfin arch: SMP supporting patchset: some other misc code Blackfin dual core BF561 processor can support SMP like features. https://docs.blackfin.uclinux.org/doku.php?id=linux-kernel:smp-like In this patch, we provide SMP extend to some other misc code Singed-off-by: Graf Yang Signed-off-by: Bryan Wu commit 8f65873e47784a390949f0d61e5692dbf2a8253e Author: Graf Yang Date: Tue Nov 18 17:48:22 2008 +0800 Blackfin arch: SMP supporting patchset: Blackfin kernel and memory management code Blackfin dual core BF561 processor can support SMP like features. https://docs.blackfin.uclinux.org/doku.php?id=linux-kernel:smp-like In this patch, we provide SMP extend to Blackfin kernel and memory management code Singed-off-by: Graf Yang Signed-off-by: Mike Frysinger Signed-off-by: Bryan Wu commit b8a989893cbdeb6c97a7b5af5f38fb0e480235f9 Author: Graf Yang Date: Tue Nov 18 17:48:22 2008 +0800 Blackfin arch: SMP supporting patchset: Blackfin CPLB related code Blackfin dual core BF561 processor can support SMP like features. https://docs.blackfin.uclinux.org/doku.php?id=linux-kernel:smp-like In this patch, we provide SMP extend to Blackfin CPLB related code Signed-off-by: Graf Yang Signed-off-by: Bryan Wu commit 6b3087c64a92a36ae20d33479b4df6d7afc910d4 Author: Graf Yang Date: Wed Jan 7 23:14:39 2009 +0800 Blackfin arch: SMP supporting patchset: Blackfin header files and machine common code Blackfin dual core BF561 processor can support SMP like features. https://docs.blackfin.uclinux.org/doku.php?id=linux-kernel:smp-like In this patch, we provide SMP extend to Blackfin header files and machine common code Signed-off-by: Graf Yang Signed-off-by: Bryan Wu commit c51b4488cd5bff08ed5690a8f303ff7f0894da2a Author: Graf Yang Date: Wed Jan 7 23:14:39 2009 +0800 Blackfin arch: SMP supporting patchset: BF561 related code Blackfin dual core BF561 processor can support SMP like features. https://docs.blackfin.uclinux.org/doku.php?id=linux-kernel:smp-like In this patch, we provide SMP extend to BF561 kernel code Signed-off-by: Graf Yang Signed-off-by: Mike Frysinger Signed-off-by: Bryan Wu commit 2de73e71c298842db814556379cbe25f5c14691e Author: Mike Frysinger Date: Tue Nov 18 17:48:22 2008 +0800 Blackfin arch: use physmap in board resources rather than legacy config method Signed-off-by: Mike Frysinger Signed-off-by: Bryan Wu commit a4f0b32c331a3da1dd1336f1691504268c63fc14 Author: Michael Hennerich Date: Tue Nov 18 17:48:22 2008 +0800 Blackfin arch: Convert Blackfin GPIO driver to use common gpiolib/gpiochip infrastructure - This patch adds support for ARCH_WANT_OPTIONAL_GPIOLIB. - It may be changed in future to ARCH_REQUIRE_GPIOLIB. - Change GPIO_BANK_NUM use DIV_ROUND_UP( , ) macro Signed-off-by: Michael Hennerich Signed-off-by: Bryan Wu commit 8d0223744f531168d4ae87f33354d12a50402779 Author: Michael Hennerich Date: Tue Nov 18 17:48:22 2008 +0800 Blackfin arch: Cleanup and unify Blackfin IRQ and GPIO IRQ handling - Remove SSYNC() - Use irq_to_gpio where applicable - Remove gpio_edge_triggered bitfield, check irq_desc fields instead. - Remove gpio_both_edge_triggeredb bitfield, check irq_desc fields instead. - Use BITMAP and bitops on gpio_enabled - Preferably use 32-bit - Looking at the disassembly this indeed saves quite a few instructions. Signed-off-by: Michael Hennerich Signed-off-by: Bryan Wu commit 4989dbc17f085031885c3d898d95ce951fbd20aa Author: Yi Li Date: Tue Nov 18 17:48:22 2008 +0800 Blackfin arch: workaround bug: spi_mmc driver working in dma mode may hang the system Disable spi_mmc DMA by default. Signed-off-by: Yi Li Signed-off-by: Bryan Wu commit c6db04a78ac21e13aa1be17da73732355d07b2ba Author: Mike Frysinger Date: Tue Nov 18 17:48:22 2008 +0800 Blackfin arch: remove useless SSYNC() in irq priority code - remove SSYNC() left over from irq init split - do not force SSYNC() when masking/unmasking IRQs in the SIC as any order enforced by the hardware should already be enforced by software Signed-off-by: Mike Frysinger Signed-off-by: Bryan Wu commit 397861cd8046549957a04d34a0b97b267cbb9589 Author: Bryan Wu Date: Tue Nov 18 17:48:22 2008 +0800 Blackfin arch: fix bug - gpio_bank() macros messed up bank number caculating with positioning a gpio The whole story: Before BF51x merged, all the MAX_BLACKFIN_GPIOS are integral multiple of GPIO_BANKSIZE (= 16). But BF51x provides MAX_BLACKFIN_GPIOS = 40 which includes 3 banks and the 3rd bank has only 8 GPIO pins. Therefore, gpio_bank() macros is correct when you try to find a GPIO in which bank (GPIO_35 is in bank 2). But on BF51x gpio_bank(MAX_BLACKFIN_GPIOS) only gives out 2 banks instead of 3 banks for some static array initialization. This patch add a new macros gpio_bank_n() and GPIO_BANK_NUM to do bank number caculating and remain the gpio_bank() macros for positioning a gpio in which bank. Signed-off-by: Bryan Wu commit 10a88a2be569002ddbb669278c598d8ee11e2f50 Author: Mike Frysinger Date: Tue Nov 18 17:48:22 2008 +0800 Blackfin arch: enable i2c_bfin_twi0_device in cm_bf548 board Signed-off-by: Mike Frysinger Signed-off-by: Bryan Wu commit 3f37569044cb3d9ba4722710b84d018f573d4b0e Author: Michael Hennerich Date: Tue Nov 18 17:48:22 2008 +0800 Blackfin arch: Enable ISP1760 USB Host Driver in platform device initialization code. Signed-off-by: Michael Hennerich Signed-off-by: Bryan Wu commit 5ff294fa00fd01ce905dbe0808dbdb10b80bb372 Author: Mike Frysinger Date: Tue Nov 18 17:48:22 2008 +0800 Blackfin arch: fixup get_user() macros - to avoid uninitialized errors - make invalid sizes a build error Signed-off-by: Mike Frysinger Signed-off-by: Bryan Wu commit 9f20cf2527fdbd5ee942ac87acff253d391b162f Author: Mike Frysinger Date: Tue Nov 18 17:48:22 2008 +0800 Blackfin arch: do not bother initializing the first 4k our kernel should be sane now, and we want to catch NULL bugs, not ignore them Signed-off-by: Mike Frysinger Signed-off-by: Bryan Wu commit c2414bd0b19e22632835cbd2686cf4103038cf3a Author: Mike Frysinger Date: Tue Nov 18 17:48:22 2008 +0800 Blackfin arch: use sti to set the mask rather than banging on imask Signed-off-by: Mike Frysinger Signed-off-by: Bryan Wu commit 88a8078b3b31349e9cbf09215eab6891fb1aed0f Author: Michael Hennerich Date: Tue Nov 18 17:48:22 2008 +0800 Blackfin arch: don't assume a specific SPI flash part - take whatever you probe Signed-off-by: Michael Hennerich Signed-off-by: Bryan Wu commit 57a55077dd0ed60030ead4a971b95cac0e8953c3 Author: Mike Frysinger Date: Tue Nov 18 17:48:22 2008 +0800 Blackfin arch: update defconfig file for all boards - do not bother generating deprecated /sys files by default now since mdev does not need it - Don't built-in char sport driver and build it as a module in defconfig - disable CONFIG_DEVKMEM by default - enable spi flash driver on boards that have one - switch config to the NAND platfrom driver rather than the bfin async one - do not make BFIN_DMA_5XX optional since a large portion of our code relies on dma functions existing Signed-off-by: Mike Frysinger Signed-off-by: Bryan Wu commit af9f341a94482594ac28cb5b07c655b458bfe84e Author: Takashi Iwai Date: Tue Nov 18 10:38:56 2008 +0100 ALSA: hda - Fix restore of pin configs at resume for STAC/IDT codecs Fixed the restore of pin configs at resume for some STAC/IDT codec models. These models set explicitly the pin configs after the default init configs, and these aren't restored properly at resume. This patch introduces two changes: - Allocate always pin_configs array in stac_spec so that the driver can overwrite the value freely - Introduce stac_change_pin_config() to change the pin config value Signed-off-by: Takashi Iwai commit 2c885878c1b29293f04cfb4a5bd285c969148a8b Author: Takashi Iwai Date: Tue Nov 18 09:36:55 2008 +0100 ALSA: hda - Use init callback in stac92xx_resume() Call the init callback and remove duplicated codes in stac92xx_resume(). This also fixes the missing initialization such as digital I/O pins. Signed-off-by: Takashi Iwai commit e4973e1e5a42072ce88736ba0e39e4b8fc6c3c44 Author: Takashi Iwai Date: Tue Nov 18 09:32:42 2008 +0100 ALSA: hda - Create jack detection elements in build_controls The jack detection input elements should be created in build_controls callback instead of init callback because init can be called multiple times by suspend/resume and power-saving. Signed-off-by: Takashi Iwai commit f3a5c547012a09f38f7c27b17a8e3150b69cd259 Merge: e50a906 4e14e83 Author: James Morris Date: Tue Nov 18 18:52:37 2008 +1100 Merge branch 'master' into next Conflicts: fs/cifs/misc.c Merge to resolve above, per the patch below. Signed-off-by: James Morris diff --cc fs/cifs/misc.c index ec36410,addd1dc..0000000 --- a/fs/cifs/misc.c +++ b/fs/cifs/misc.c @@@ -347,13 -338,13 +338,13 @@@ header_assemble(struct smb_hdr *buffer /* BB Add support for establishing new tCon and SMB Session */ /* with userid/password pairs found on the smb session */ /* for other target tcp/ip addresses BB */ - if (current->fsuid != treeCon->ses->linux_uid) { + if (current_fsuid() != treeCon->ses->linux_uid) { cFYI(1, ("Multiuser mode and UID " "did not match tcon uid")); - read_lock(&GlobalSMBSeslock); - list_for_each(temp_item, &GlobalSMBSessionList) { - ses = list_entry(temp_item, struct cifsSesInfo, cifsSessionList); + read_lock(&cifs_tcp_ses_lock); + list_for_each(temp_item, &treeCon->ses->server->smb_ses_list) { + ses = list_entry(temp_item, struct cifsSesInfo, smb_ses_list); - if (ses->linux_uid == current->fsuid) { + if (ses->linux_uid == current_fsuid()) { if (ses->server == treeCon->ses->server) { cFYI(1, ("found matching uid substitute right smb_uid")); buffer->Uid = ses->Suid; commit 5a209c2d58e70f9bc415b9cdf0e3b9aaefb70371 Merge: 3f8e402 0c726da e270219 Author: Ingo Molnar Date: Tue Nov 18 08:52:13 2008 +0100 Merge branches 'tracing/branch-tracer' and 'tracing/urgent' into tracing/core commit 5f1e71b1cc2cc788c0f452772e2ce5e7430c40c2 Author: Wu Fengguang Date: Tue Nov 18 11:47:53 2008 +0800 ALSA: ELD proc interface for HDMI sinks Create /proc/asound/card/eld# to reflect the audio configurations and capabilities of the attached HDMI sink. Some notes: - Shall we show an empty file if the ELD content is not valid? Well it's not that simple. There could be partially populated ELD, and there may be malformed ELD provided by buggy drivers/monitors. So expose ELD as it is. - The ELD retrieval routines rely on the Intel HDA interface, others are/could be universal and independent ones. - How do we name the proc file? If there are going to be two HDMI pins per codec, then the current naming scheme (eld#) will fail. Luckily the user space dependencies should be minimal, so it would be trivial to do the rename if that happens. - The ELD proc file content is designed to be easy for scripts and human reading. Its lines all have the pattern: \t[\t]* where is a keyword in c language, while could be any contents, including white spaces. could also be a null value. Signed-off-by: Wu Fengguang Signed-off-by: Takashi Iwai commit 7f4a9f43427793bfe4d42e71f42e2b551bcfe354 Author: Wu Fengguang Date: Tue Nov 18 11:47:52 2008 +0800 ALSA: create hda_eld.c for ELD routines and proc interface ELD handling routines can be shared by all HDMI codecs, and they are large enough to make a standalone source file. Signed-off-by: Wu Fengguang Signed-off-by: Takashi Iwai commit 33deeca3bb6a945677d70876ea9d044fc5797eb3 Author: Wu Fengguang Date: Tue Nov 18 11:47:51 2008 +0800 ALSA: introduce snd_print_pcm_rates() We want to share some code with print_pcm_rates(), so extract a common routine snd_print_pcm_rates() from it. Signed-off-by: Wu Fengguang Signed-off-by: Takashi Iwai commit 2eca83ba9cc6f811f8c63314b22b4bc0532e2207 Author: Wu Fengguang Date: Tue Nov 18 10:21:55 2008 +0800 ALSA: hda: remove redundant get_amp_nid() Remove get_amp_nid(): it duplicates the one defined in hda_local.h Signed-off-by: Wu Fengguang Signed-off-by: Takashi Iwai commit bc4a68fed4b4c01005ef3c71ede6a8cbe91b7dc9 Author: Risto Suominen Date: Tue Nov 18 07:35:14 2008 +0100 ALSA: snd-powermac: enable mic on iMac G4 Allow input from microphone on iMac G4 Flat-panel (Tumbler). Signed-off-by: Risto Suominen Signed-off-by: Takashi Iwai commit ea9e8b11bd1252dcbc23afefcf1a52ec6aa3c113 Author: Chris Mason Date: Mon Nov 17 21:14:24 2008 -0500 Btrfs: prevent loops in the directory tree when creating snapshots For a directory tree: /mnt/subvolA/subvolB btrfsctl -s /mnt/subvolA/subvolB /mnt Will create a directory loop with subvolA under subvolB. This commit uses the forward refs for each subvol and snapshot to error out before creating the loop. Signed-off-by: Chris Mason commit 0660b5af3f7ac0fac69de975914e1f4a3a586fb3 Author: Chris Mason Date: Mon Nov 17 20:37:39 2008 -0500 Btrfs: Add backrefs and forward refs for subvols and snapshots Subvols and snapshots can now be referenced from any point in the directory tree. We need to maintain back refs for them so we can find lost subvols. Forward refs are added so that we know all of the subvols and snapshots referenced anywhere in the directory tree of a single subvol. This can be used to do recursive snapshotting (but they aren't yet) and it is also used to detect and prevent directory loops when creating new snapshots. Signed-off-by: Chris Mason commit 3394e1607eaf870ebba37d303fbd590a4c569908 Author: Chris Mason Date: Mon Nov 17 20:42:26 2008 -0500 Btrfs: Give each subvol and snapshot their own anonymous devid Each subvolume has its own private inode number space, and so we need to fill in different device numbers for each subvolume to avoid confusing applications. This commit puts a struct super_block into struct btrfs_root so it can call set_anon_super() and get a different device number generated for each root. btrfs_rename is changed to prevent renames across subvols. Signed-off-by: Chris Mason commit 3de4586c5278a28107030c336956381f69ff7a9d Author: Chris Mason Date: Mon Nov 17 21:02:50 2008 -0500 Btrfs: Allow subvolumes and snapshots anywhere in the directory tree Before, all snapshots and subvolumes lived in a single flat directory. This was awkward and confusing because the single flat directory was only writable with the ioctls. This commit changes the ioctls to create subvols and snapshots at any point in the directory tree. This requires making separate ioctls for snapshot and subvol creation instead of a combining them into one. The subvol ioctl does: btrfsctl -S subvol_name parent_dir After the ioctl is done subvol_name lives inside parent_dir. The snapshot ioctl does: btrfsctl -s path_for_snapshot root_to_snapshot path_for_snapshot can be an absolute or relative path. btrfsctl breaks it up into directory and basename components. root_to_snapshot can be any file or directory in the FS. The snapshot is taken of the entire root where that file lives. Signed-off-by: Chris Mason commit 4ce4cb526f67775c1cce3e3fa01c292672ba874e Author: Josef Bacik Date: Mon Nov 17 21:12:00 2008 -0500 Btrfs: Add some debugging around the ENOSPC bugs Some people are still reporting problems with early enospc. This will help narrown down the cause. Signed-off-by: Chris Mason commit e3e469f86eebb1b3364c118add362d00c6cff956 Author: Josef Bacik Date: Mon Nov 17 21:11:49 2008 -0500 Btrfs: fix free space leak In my batch delete/update/insert patch I introduced a free space leak. The extent that we do the original search on in free_extents is never pinned, so we always update the block saying that it has free space, but the free space never actually gets added to the free space tree, since op->del will always be 0 and it's never actually added to the pinned extents tree. This patch fixes this problem by making sure we call pin_down_bytes on the pending extent op and set op->del to the return value of pin_down_bytes so update_block_group is called with the right value. This seems to fix the case where we were getting ENOSPC when there was plenty of space available. Signed-off-by: Josef Bacik commit 54ac14a8e982ae6c7ac71ee2b0d0173b974509e2 Author: Yinghai Lu Date: Mon Nov 17 15:19:53 2008 -0800 x86: fix wakeup_cpu with numaq/es7000, v2, fix Impact: fix wakeup_secondary_cpu with hotplug We can not put that into x86_quirks, because that is __initdata. So try to move that to genapic, and add update_genapic in x86_quirks. later we even could use that stub to: 1. autodetect CONFIG_ES7000_CLUSTERED_APIC 2. more correct inquire_remote_apic with apic_verbosity setting. Signed-off-by: Yinghai Lu Signed-off-by: Ingo Molnar commit 8d702f2376d25ab277c38b57015f4aa990bc7f16 Author: Mark Brown Date: Mon Nov 17 21:42:01 2008 +0000 ASoC: Build tlv320aic23 cleanly Also merge down a couple of last minute style changes that got lost in the shuffle. Signed-off-by: Mark Brown commit 2adb9833d1782262c20b21457d645163928cf2a2 Author: Mark Brown Date: Mon Nov 17 17:11:14 2008 +0000 ASoC: Manage VMID mode for WM8990 A small additional power saving can be achieved for the WM8990 by maintaining VMID using a 2*250k divider when in standby mode. Signed-off-by: Mark Brown commit be1b87c70af69acfadb8a27a7a76dfb61de92643 Author: Mark Brown Date: Mon Nov 17 17:09:34 2008 +0000 ASoC: Enable WM8990 ADC clocking workaround Enable a hardware workaround which avoids problems with the clocking of the ADCs in certain configurations. Signed-off-by: Mark Brown commit ba533e95b929c577d69237692ee588001347be8a Author: Mark Brown Date: Mon Nov 17 16:59:24 2008 +0000 ASoC: Allow writes to uncached registers in WM8990 Only fully documented registers are cached in the WM8990 but additional registers exist. Signed-off-by: Mark Brown commit 569712b2b0970fa5b19673544d62ae661d04a220 Author: Yinghai Lu Date: Sun Nov 16 03:12:49 2008 -0800 x86: fix wakeup_cpu with numaq/es7000, v2 Impact: fix secondary-CPU wakeup/init path with numaq and es7000 While looking at wakeup_secondary_cpu for WAKE_SECONDARY_VIA_NMI: |#ifdef WAKE_SECONDARY_VIA_NMI |/* | * Poke the other CPU in the eye via NMI to wake it up. Remember that the normal | * INIT, INIT, STARTUP sequence will reset the chip hard for us, and this | * won't ... remember to clear down the APIC, etc later. | */ |static int __devinit |wakeup_secondary_cpu(int logical_apicid, unsigned long start_eip) |{ | unsigned long send_status, accept_status = 0; | int maxlvt; |... | if (APIC_INTEGRATED(apic_version[phys_apicid])) { | maxlvt = lapic_get_maxlvt(); I noticed that there is no warning about undefined phys_apicid... because WAKE_SECONDARY_VIA_NMI and WAKE_SECONDARY_VIA_INIT can not be defined at the same time. So NUMAQ is using wrong wakeup_secondary_cpu. WAKE_SECONDARY_VIA_NMI, WAKE_SECONDARY_VIA_INIT and WAKE_SECONDARY_VIA_MIP are variants of a weird and fragile preprocessor-driven "HAL" mechanisms to specify the kind of secondary-CPU wakeup strategy a given x86 kernel will use. The vast majority of systems want to use INIT for secondary wakeup - NUMAQ uses an NMI, (old-style-) ES7000 uses 'MIP' (a firmware driven in-memory flag to let secondaries continue). So convert these mechanisms to x86_quirks and add a ->wakeup_secondary_cpu() method to specify the rare exception to the sane default. Extend genapic accordingly as well, for 32-bit. While looking further, I noticed that functions in wakecup.h for numaq and es7000 are different to the default in mach_wakecpu.h - but smpboot.c will only use default mach_wakecpu.h with smphook.h. So we need to add mach_wakecpu.h for mach_generic, to properly support numaq and es7000, and vectorize the following SMP init methods: int trampoline_phys_low; int trampoline_phys_high; void (*wait_for_init_deassert)(atomic_t *deassert); void (*smp_callin_clear_local_apic)(void); void (*store_NMI_vector)(unsigned short *high, unsigned short *low); void (*restore_NMI_vector)(unsigned short *high, unsigned short *low); void (*inquire_remote_apic)(int apicid); Signed-off-by: Yinghai Lu Signed-off-by: Ingo Molnar commit 2b5fe6de58276d0b5a7c884d5dbfc300ca47db78 Author: Oleg Nesterov Date: Mon Nov 17 15:40:08 2008 +0100 thread_group_cputime: move a couple of callsites outside of ->siglock Impact: relax the locking of cpu-time accounting calls ->siglock buys nothing for thread_group_cputime() in do_sys_times() and wait_task_zombie() (which btw takes the unrelated parent's ->siglock). Actually I think do_sys_times() doesn't need ->siglock at all. Signed-off-by: Oleg Nesterov Signed-off-by: Ingo Molnar commit ce394471d13bf071939a9a0b48c64c297676d233 Author: Oleg Nesterov Date: Mon Nov 17 15:40:01 2008 +0100 thread_group_cputime: kill the bogus ->signal != NULL check Impact: simplify the code thread_group_cputime() is called by current when it must have the valid ->signal, or under ->siglock, or under tasklist_lock after the ->signal check, or the caller is wait_task_zombie() which reaps the child. In any case ->signal can't be NULL. But the point of this patch is not optimization. If it is possible to call thread_group_cputime() when ->signal == NULL we are doing something wrong, and we should not mask the problem. thread_group_cputime() fills *times and the caller will use it, if we silently use task_struct->*times* we report the wrong values. Signed-off-by: Oleg Nesterov Signed-off-by: Ingo Molnar commit 74fcd524e808975dd546dac847119f1995a7c622 Author: Oleg Nesterov Date: Mon Nov 17 15:39:52 2008 +0100 account_steal_time: kill the unneeded account_group_system_time() Impact: remove unnecessary accounting call I don't actually understand account_steal_time() and I failed to find the commit which added account_group_system_time(), but this looks bogus. In any case rq->idle must be single-threaded, so it can't have ->totals. Signed-off-by: Oleg Nesterov Signed-off-by: Ingo Molnar commit e17be2b2a95b43fe0d5878adf330701bb7a77115 Author: David Vrabel Date: Mon Nov 17 15:24:14 2008 +0000 uwb: add pal parameter to new reservation callback The pal parameter allows PALs to retrieve their PAL-specific data structure. Signed-off-by: David Vrabel commit 4dc06f9633444f426ef9960c53426f2d2ded64ac Author: Pablo Neira Ayuso Date: Mon Nov 17 16:01:42 2008 +0100 netfilter: nf_conntrack: connection tracking helper name persistent aliases This patch adds the macro MODULE_ALIAS_NFCT_HELPER that defines a way to provide generic and persistent aliases for the connection tracking helpers. This next patch requires this patch. Signed-off-by: Pablo Neira Ayuso Signed-off-by: Patrick McHardy commit 528a3a6f67d4fbe708b9f306be194e78b29e8d7a Author: Pablo Neira Ayuso Date: Mon Nov 17 16:00:40 2008 +0100 netfilter: ctnetlink: get rid of module refcounting in ctnetlink This patch replaces the unnecessary module refcounting with the read-side locks. With this patch, all the dump and fill_info function are called under the RCU read lock. Based on a patch from Fabian Hugelshofer. Signed-off-by: Pablo Neira Ayuso Signed-off-by: Patrick McHardy commit bfe2967735e0e0f650bf698a5683db2b6cf4cfd7 Author: Pablo Neira Ayuso Date: Mon Nov 17 15:55:48 2008 +0100 netfilter: ctnetlink: use EOPNOTSUPP instead of EINVAL if the conntrack has no helper This patch changes the return value if the conntrack has no helper assigned. Instead of EINVAL, which is reserved for malformed messages, it returns EOPNOTSUPP. Signed-off-by: Pablo Neira Ayuso Signed-off-by: Patrick McHardy commit 238ede8160443a32379fd8f9eb88d00456a09bb4 Author: Pablo Neira Ayuso Date: Mon Nov 17 15:53:33 2008 +0100 netfilter: ctnetlink: use nf_conntrack_get instead of atomic_inc Use nf_conntrack_get instead of the direct call to atomic_inc. Signed-off-by: Pablo Neira Ayuso Signed-off-by: Patrick McHardy commit 7ad933d7a6677c20ce1bdb17425e732cf1ebee8a Author: Christian Pellegrin Date: Sat Nov 15 08:58:32 2008 +0100 ASoC: Machine driver for for s3c24xx with uda134x Signed-off-by: Christian Pellegrin Signed-off-by: Mark Brown commit 1cad1de1b216b355a60d907c103b2daf1a285345 Author: Christian Pellegrin Date: Sat Nov 15 08:58:16 2008 +0100 ASoC: UDA134x codec driver Signed-off-by: Christian Pellegrin Signed-off-by: Mark Brown commit 0c726da983de0704254250ef6495ca152e7abcca Author: Aneesh Kumar K.V Date: Sun Nov 16 16:07:58 2008 +0530 tracing: branch tracer, fix writing to trace/trace_options Impact: fix trace_options behavior writing to trace/trace_options use the index of the array to find the value of the flag. With branch tracer flag defined conditionally, this breaks writing to trace_options with branch tracer disabled. Signed-off-by: Aneesh Kumar K.V Signed-off-by: Ingo Molnar commit 6e5d9db271ab57789b09bcc61083ab71b7eabea9 Author: Peter Ujfalusi Date: Fri Nov 14 08:57:28 2008 +0200 ASoC: Fix for master playback/capture volume range for TWL4030 codec FGAIN for playback is in range of 0-0x3f, while for capture GAIN it is in the range of 0-0x1f. The original value of 128 (0x7f) would modify the CGAIN also for playback. Signed-off-by: Peter Ujfalusi Acked-by: Steve Sakoman Signed-off-by: Mark Brown commit 9a57f7fabd383920585ed8b74eacd117c6551f2d Author: Eric Dumazet Date: Mon Nov 17 02:41:00 2008 -0800 net: sctp should update its inuse counter This patch is a preparation to namespace conversion of /proc/net/protocols In order to have relevant information for SCTP protocols, we should use sock_prot_inuse_add() to update a (percpu and pernamespace) counter of inuse sockets. Signed-off-by: Eric Dumazet Signed-off-by: David S. Miller commit a8076d8db98de6da61394b2e942320e4612643ac Author: Eric Dumazet Date: Mon Nov 17 02:38:49 2008 -0800 net: af_unix should update its inuse counter This patch is a preparation to namespace conversion of /proc/net/protocols In order to have relevant information for UNIX protocol, we should use sock_prot_inuse_add() to update a (percpu and pernamespace) counter of inuse sockets. Signed-off-by: Eric Dumazet Signed-off-by: David S. Miller commit 0bd7b79851d0f74b24a9ce87d088f2e7c718f668 Author: Alexander van Heukelum Date: Sun Nov 16 15:29:00 2008 +0100 x86: entry_64.S: remove whitespace at end of lines Impact: cleanup All blame goes to: color white,red "[^[:graph:]]+$" in .nanorc ;). Signed-off-by: Alexander van Heukelum Signed-off-by: Ingo Molnar commit 9dacc71ff31a008d1e689fc824d31f6696454f68 Merge: 19f47c6 9bf1a24 Author: Ingo Molnar Date: Mon Nov 17 10:46:18 2008 +0100 Merge commit 'v2.6.28-rc5' into x86/cleanups commit 796359d150356adabb677d708a4e66a09d29d9d8 Author: Wu Fengguang Date: Mon Nov 17 16:57:33 2008 +0800 ALSA: hda-intel: reorder HDMI audio enabling sequence Reorder HDMI audio enabling sequence so that 1) the sink knows about the coming audio stream 2) unmute 3) start transferring audio samples The theory is that in the path A=>B=>C, we first make C ready, and then enable B, and lastly allow A to send audio samples. Signed-off-by: Wu Fengguang Signed-off-by: Takashi Iwai commit c0cea0d09d15350c398e2951e7cf4d6f0fc98977 Author: Matthew Ranostay Date: Sun Nov 16 11:42:34 2008 -0500 ALSA: hda: STAC_DELL_M6 EAPD Add support for EAPD on system suspend and disabling EAPD on headphone jack detection for STAC_DELL_M6 laptops. Signed-off-by: Matthew Ranostay Signed-off-by: Takashi Iwai commit 3ab909351a3c653a879a35b3342979ac483c0460 Author: Wu Fengguang Date: Mon Nov 17 09:51:09 2008 +0100 ALSA: hda: alc883 model for ASUS P5Q-EM boards Add a new alc883 model ALC1200_ASUS_P5Q for ASUS P5Q-EM boards. It is the same as ALC883_6ST_DIG except that the SPDIF digital output nid is 0x10. Tested-by: Andrei Tanas Signed-off-by: Wu Fengguang Signed-off-by: Takashi Iwai commit 3f8e402f34ecc7d1d00b54703d3baa401b8bdd78 Merge: 072b40a e7d3737 227a837 5821e1b Author: Ingo Molnar Date: Mon Nov 17 09:36:22 2008 +0100 Merge branches 'tracing/branch-tracer', 'tracing/ftrace', 'tracing/function-return-tracer', 'tracing/tracepoints' and 'tracing/urgent' into tracing/core commit 248969ae31e1b3276fc4399d67ce29a5d81e6fd9 Author: Eric Dumazet Date: Mon Nov 17 00:00:30 2008 -0800 net: af_unix can make unix_nr_socks visbile in /proc Currently, /proc/net/protocols displays socket counts only for TCP/TCPv6 protocols We can provide unix_nr_socks for free here, this counter being already maintained in af_unix Before patch : # grep UNIX /proc/net/protocols UNIX 428 -1 -1 NI 0 yes kernel After patch : # grep UNIX /proc/net/protocols UNIX 428 98 -1 NI 0 yes kernel Signed-off-by: Eric Dumazet Signed-off-by: David S. Miller commit c3ccc12339afa2633c72131e2aa97d52d9ca1b8a Author: Wang Chen Date: Sun Nov 16 23:06:39 2008 -0800 netdevice chelsio: Convert directly reference of netdev->priv Several netdev share one adapter here. We use netdev->ml_priv of the netdevs point to the first netdev's priv. Signed-off-by: Wang Chen Signed-off-by: David S. Miller commit 4d24b52ac5085ef8a264d044f1b302b7c029887a Author: Alexey Dobriyan Date: Sun Nov 16 23:01:49 2008 -0800 ematch: simpler tcf_em_unregister() Simply delete ops from list and let list debugging do the job. Signed-off-by: Alexey Dobriyan Signed-off-by: David S. Miller commit 6eba6a372b501aa3cdfb7df21a8364099125b9c4 Author: Eric Dumazet Date: Sun Nov 16 22:58:44 2008 -0800 net: Cleanup of af_unix This is a pure cleanup of net/unix/af_unix.c to meet current code style standards Signed-off-by: Eric Dumazet Signed-off-by: David S. Miller commit 191029963630719e867d8bd0c315d32c822622cb Author: Gerrit Renker Date: Sun Nov 16 22:56:55 2008 -0800 dccp: Tidy up setsockopt calls This splits the setsockopt calls into two groups, depending on whether an integer argument (val) is required and whether routines being called do their own locking. Some options (such as setting the CCID) use u8 rather than int, so that for these the test with regard to integer-sizeof can not be used. The second switch-case statement now only has those statements which need locking and which make use of `val'. Signed-off-by: Gerrit Renker Acked-by: Ian McDonald Acked-by: Arnaldo Carvalho de Melo Reviewed-by: Eugene Teo Signed-off-by: David S. Miller commit dd9c0e363cef32b7d6f23d4c87e8dfe4f91fd1c5 Author: Gerrit Renker Date: Sun Nov 16 22:55:08 2008 -0800 dccp: Deprecate Ack Ratio sysctl This patch deprecates the Ack Ratio sysctl, since * Ack Ratio is entirely ignored by CCID-3 and CCID-4, * Ack Ratio currently doesn't work in CCID-2 (i.e. is always set to 1); * even if it would work in CCID-2, there is no point for a user to change it: - Ack Ratio is constrained by cwnd (RFC 4341, 6.1.2), - if Ack Ratio > cwnd, the system resorts to spurious RTO timeouts (since waiting for Acks which will never arrive in this window), - cwnd is not a user-configurable value. The only reasonable place for Ack Ratio is to print it for debugging. It is planned to do this later on, as part of e.g. dccp_probe. With this patch Ack Ratio is now under full control of feature negotiation: * Ack Ratio is resolved as a dependency of the selected CCID; * if the chosen CCID supports it (i.e. CCID == CCID-2), Ack Ratio is set to the default of 2, following RFC 4340, 11.3 - "New connections start with Ack Ratio 2 for both endpoints"; * what happens then is part of another patch set, since it concerns the dynamic update of Ack Ratio while the connection is in full flight. Thanks to Tomasz Grobelny for discussion leading up to this patch. Signed-off-by: Gerrit Renker Acked-by: Arnaldo Carvalho de Melo Signed-off-by: David S. Miller commit 29450559849da7066813601effb7666966869853 Author: Gerrit Renker Date: Sun Nov 16 22:53:48 2008 -0800 dccp: Feature negotiation for minimum-checksum-coverage This provides feature negotiation for server minimum checksum coverage which so far has been missing. Since sender/receiver coverage values range only from 0...15, their type has also been reduced in size from u16 to u4. Feature-negotiation options are now generated for both sender and receiver coverage, i.e. when the peer has `forgotten' to enable partial coverage then feature negotiation will automatically enable (negotiate) the partial coverage value for this connection. Signed-off-by: Gerrit Renker Acked-by: Ian McDonald Signed-off-by: David S. Miller commit 49aebc66d6b896f9c7c5739d85c4548c00015aa7 Author: Gerrit Renker Date: Sun Nov 16 22:51:23 2008 -0800 dccp: Deprecate old setsockopt framework The previous setsockopt interface, which passed socket options via struct dccp_so_feat, is complicated/difficult to use. Continuing to support it leads to ugly code since the old approach did not distinguish between NN and SP values. This patch removes the old setsockopt interface and replaces it with two new functions to register NN/SP values for feature negotiation. These are essentially wrappers around the internal __feat_register functions, with checking added to avoid * wrong usage (type); * changing values while the connection is in progress. Signed-off-by: Gerrit Renker Signed-off-by: David S. Miller commit 0c1168398ecbfacbb27203b281bde20ec9f78017 Author: Gerrit Renker Date: Sun Nov 16 22:49:52 2008 -0800 dccp: Mechanism to resolve CCID dependencies This adds a hook to resolve features whose value depends on the choice of CCID. It is done at the server since it can only be done after the CCID values have been negotiated; i.e. the client will add its CCID preference list on the Change options sent in the Request, which will be reconciled with the local preference list of the server. The concept is documented on http://www.erg.abdn.ac.uk/users/gerrit/dccp/notes/feature_negotiation/\ implementation_notes.html#ccid_dependencies Signed-off-by: Gerrit Renker Acked-by: Ian McDonald Signed-off-by: David S. Miller commit 3f2c31d90327f21d76d296af34aa4ca547932ff4 Author: Mark McLoughlin Date: Sun Nov 16 22:41:34 2008 -0800 virtio_net: VIRTIO_NET_F_MSG_RXBUF (imprive rcv buffer allocation) If segmentation offload is enabled by the host, we currently allocate maximum sized packet buffers and pass them to the host. This uses up 20 ring entries, allowing us to supply only 20 packet buffers to the host with a 256 entry ring. This is a huge overhead when receiving small packets, and is most keenly felt when receiving MTU sized packets from off-host. The VIRTIO_NET_F_MRG_RXBUF feature flag is set by hosts which support using receive buffers which are smaller than the maximum packet size. In order to transfer large packets to the guest, the host merges together multiple receive buffers to form a larger logical buffer. The number of merged buffers is returned to the guest via a field in the virtio_net_hdr. Make use of this support by supplying single page receive buffers to the host. On receive, we extract the virtio_net_hdr, copy 128 bytes of the payload to the skb's linear data buffer and adjust the fragment offset to point to the remaining data. This ensures proper alignment and allows us to not use any paged data for small packets. If the payload occupies multiple pages, we simply append those pages as fragments and free the associated skbs. This scheme allows us to be efficient in our use of ring entries while still supporting large packets. Benchmarking using netperf from an external machine to a guest over a 10Gb/s network shows a 100% improvement from ~1Gb/s to ~2Gb/s. With a local host->guest benchmark with GSO disabled on the host side, throughput was seen to increase from 700Mb/s to 1.7Gb/s. Based on a patch from Herbert Xu. Signed-off-by: Mark McLoughlin Signed-off-by: Rusty Russell (use netdev_priv) Signed-off-by: David S. Miller commit 0276b4972e932ea8bf2941dcd37e9caac5652ed7 Author: Mark McLoughlin Date: Sun Nov 16 22:40:36 2008 -0800 virtio_net: hook up the set-tso ethtool op Seems like an oversight that we have set-tx-csum and set-sg hooked up, but not set-tso. Also leads to the strange situation that if you e.g. disable tx-csum, then tso doesn't get disabled. Signed-off-by: Mark McLoughlin Signed-off-by: Rusty Russell Signed-off-by: David S. Miller commit 0a888fd1f6320d1d9318c58de9bca3cef41546d6 Author: Mark McLoughlin Date: Sun Nov 16 22:39:18 2008 -0800 virtio_net: Recycle some more rx buffer pages Each time we re-fill the recv queue with buffers, we allocate one too many skbs and free it again when adding fails. We should recycle the pages allocated in this case. A previous version of this patch made trim_pages() trim trailing unused pages from skbs with some paged data, but this actually caused a barely measurable slowdown. Signed-off-by: Mark McLoughlin Signed-off-by: Rusty Russell (use netdev_priv) Signed-off-by: David S. Miller commit cc09c0dc57de7f7d2ed89d480b5653e5f6a32f2c Author: Dave Chinner Date: Mon Nov 17 17:37:10 2008 +1100 [XFS] Fix double free of log tickets When an I/O error occurs during an intermediate commit on a rolling transaction, xfs_trans_commit() will free the transaction structure and the related ticket. However, the duplicate transaction that gets used as the transaction continues still contains a pointer to the ticket. Hence when the duplicate transaction is cancelled and freed, we free the ticket a second time. Add reference counting to the ticket so that we hold an extra reference to the ticket over the transaction commit. We drop the extra reference once we have checked that the transaction commit did not return an error, thus avoiding a double free on commit error. Credit to Nick Piggin for tripping over the problem. SGI-PV: 989741 Signed-off-by: Dave Chinner Reviewed-by: Christoph Hellwig Signed-off-by: Lachlan McIlroy commit 908cd2dabbfbbefb02f6b908a1188a62e685136a Author: Alexey Dobriyan Date: Sun Nov 16 19:50:35 2008 -0800 net: use %pF for /proc/net/ptype Technically, patch changes format for modules, but I think nobody cares. -86dd :ipv6:ipv6_rcv+0x0 +86dd ipv6_rcv+0x0/0x400 [ipv6] Signed-off-by: Alexey Dobriyan Signed-off-by: David S. Miller commit 5635c10d976716ef47ae441998aeae144c7e7387 Author: Eric Dumazet Date: Sun Nov 16 19:46:36 2008 -0800 net: make sure struct dst_entry refcount is aligned on 64 bytes As found in the past (commit f1dd9c379cac7d5a76259e7dffcd5f8edc697d17 [NET]: Fix tbench regression in 2.6.25-rc1), it is really important that struct dst_entry refcount is aligned on a cache line. We cannot use __atribute((aligned)), so manually pad the structure for 32 and 64 bit arches. for 32bit : offsetof(truct dst_entry, __refcnt) is 0x80 for 64bit : offsetof(truct dst_entry, __refcnt) is 0xc0 As it is not possible to guess at compile time cache line size, we use a generic value of 64 bytes, that satisfies many current arches. (Using 128 bytes alignment on 64bit arches would waste 64 bytes) Add a BUILD_BUG_ON to catch future updates to "struct dst_entry" dont break this alignment. "tbench 8" is 4.4 % faster on a dual quad core (HP BL460c G1), Intel E5450 @3.00GHz (2350 MB/s instead of 2250 MB/s) Signed-off-by: Eric Dumazet Signed-off-by: David S. Miller commit 536533e69e3e4a9f0174509813f8df28970d6ebe Author: Eric Dumazet Date: Sun Nov 16 19:41:14 2008 -0800 rcu: documents rculist_nulls Adds Documentation/RCU/rculist_nulls.txt file to describe how 'nulls' end-of-list can help in some RCU algos. Signed-off-by: Eric Dumazet Acked-by: Peter Zijlstra Signed-off-by: David S. Miller commit 3ab5aee7fe840b5b1b35a8d1ac11c3de5281e611 Author: Eric Dumazet Date: Sun Nov 16 19:40:17 2008 -0800 net: Convert TCP & DCCP hash tables to use RCU / hlist_nulls RCU was added to UDP lookups, using a fast infrastructure : - sockets kmem_cache use SLAB_DESTROY_BY_RCU and dont pay the price of call_rcu() at freeing time. - hlist_nulls permits to use few memory barriers. This patch uses same infrastructure for TCP/DCCP established and timewait sockets. Thanks to SLAB_DESTROY_BY_RCU, no slowdown for applications using short lived TCP connections. A followup patch, converting rwlocks to spinlocks will even speedup this case. __inet_lookup_established() is pretty fast now we dont have to dirty a contended cache line (read_lock/read_unlock) Only established and timewait hashtable are converted to RCU (bind table and listen table are still using traditional locking) Signed-off-by: Eric Dumazet Signed-off-by: David S. Miller commit 88ab1932eac721c6e7336708558fa5ed02c85c80 Author: Eric Dumazet Date: Sun Nov 16 19:39:21 2008 -0800 udp: Use hlist_nulls in UDP RCU code This is a straightforward patch, using hlist_nulls infrastructure. RCUification already done on UDP two weeks ago. Using hlist_nulls permits us to avoid some memory barriers, both at lookup time and delete time. Patch is large because it adds new macros to include/net/sock.h. These macros will be used by TCP & DCCP in next patch. Signed-off-by: Eric Dumazet Signed-off-by: David S. Miller commit bbaffaca4810de1a25e32ecaf836eeaacc7a3d11 Author: Eric Dumazet Date: Sun Nov 16 19:37:55 2008 -0800 rcu: Introduce hlist_nulls variant of hlist hlist uses NULL value to finish a chain. hlist_nulls variant use the low order bit set to 1 to signal an end-of-list marker. This allows to store many different end markers, so that some RCU lockless algos (used in TCP/UDP stack for example) can save some memory barriers in fast paths. Two new files are added : include/linux/list_nulls.h - mimics hlist part of include/linux/list.h, derived to hlist_nulls variant include/linux/rculist_nulls.h - mimics hlist part of include/linux/rculist.h, derived to hlist_nulls variant Only four helpers are declared for the moment : hlist_nulls_del_init_rcu(), hlist_nulls_del_rcu(), hlist_nulls_add_head_rcu() and hlist_nulls_for_each_entry_rcu() prefetches() were removed, since an end of list is not anymore NULL value. prefetches() could trigger useless (and possibly dangerous) memory transactions. Example of use (extracted from __udp4_lib_lookup()) struct sock *sk, *result; struct hlist_nulls_node *node; unsigned short hnum = ntohs(dport); unsigned int hash = udp_hashfn(net, hnum); struct udp_hslot *hslot = &udptable->hash[hash]; int score, badness; rcu_read_lock(); begin: result = NULL; badness = -1; sk_nulls_for_each_rcu(sk, node, &hslot->head) { score = compute_score(sk, net, saddr, hnum, sport, daddr, dport, dif); if (score > badness) { result = sk; badness = score; } } /* * if the nulls value we got at the end of this lookup is * not the expected one, we must restart lookup. * We probably met an item that was moved to another chain. */ if (get_nulls_value(node) != hash) goto begin; if (result) { if (unlikely(!atomic_inc_not_zero(&result->sk_refcnt))) result = NULL; else if (unlikely(compute_score(result, net, saddr, hnum, sport, daddr, dport, dif) < badness)) { sock_put(result); goto begin; } } rcu_read_unlock(); return result; Signed-off-by: Eric Dumazet Acked-by: Peter Zijlstra Signed-off-by: David S. Miller commit e8b2dfe9b4501ed0047459b2756ba26e5a940a69 Author: Balazs Scheidler Date: Sun Nov 16 19:32:39 2008 -0800 TPROXY: implemented IP_RECVORIGDSTADDR socket option In case UDP traffic is redirected to a local UDP socket, the originally addressed destination address/port cannot be recovered with the in-kernel tproxy. This patch adds an IP_RECVORIGDSTADDR sockopt that enables a IP_ORIGDSTADDR ancillary message in recvmsg(). This ancillary message contains the original destination address/port of the packet being received. Signed-off-by: Balazs Scheidler Signed-off-by: David S. Miller commit 8164f1b79731ad8ad9c713dc53d587a3b746f82f Author: Ben Greear Date: Sun Nov 16 19:19:38 2008 -0800 ipv4: Fix ARP behavior with many mac-vlans Ben Greear wrote: > I have 500 mac-vlans on a system talking to 500 other > mac-vlans. My problem is that the arp-table gets extremely > huge because every time an arp-request comes in on all mac-vlans, > a stale arp entry is added for each mac-vlan. I have filtering > turned on, but that doesn't help because the neigh_event_ns call > below will cause a stale neighbor entry to be created regardless > of whether a replay will be sent or not. > Maybe the neigh_event code should be below the checks for dont_send, > and only create check neigh_event_ns if we are !dont_send? The attached patch makes it work much better for me. The patch will cause the code to NOT create a stale neighbor entry if we are not going to respond to the ARP request. The old code *would* create a stale entry even if we are not going to respond. Signed-off-by: Ben Greear Signed-off-by: David S. Miller commit 6ea7ae1d0fc02a6c4ccd27e43346f67c44226e7a Author: Alexander Duyck Date: Fri Nov 14 06:54:36 2008 +0000 e1000e: enable ECC correction on 82571 silicon This change enables ECC correction for the packet buffer on all 82571 silicon. Signed-off-by: Alexander Duyck Signed-off-by: Jeff Kirsher Signed-off-by: David S. Miller commit f004f3ea34209d8b836426b26ade3dc502631b18 Author: Paulius Zaleckas Date: Fri Nov 14 00:24:34 2008 +0000 phylib: make mdio-gpio work without OF (v4) make mdio-gpio work with non OpenFirmware gpio implementation. Aditional changes to mdio-gpio: - use gpio_request() and gpio_free() - place irq[] array in struct mdio_gpio_info - add module description, author and license - add note about compiling this driver as module - rename mdc and mdio function (were ugly names) - change MII to MDIO in bus name - add __init __exit to module (un)loading functions - probe fails if no phys added to the bus - kzalloc bitbang with sizeof(*bitbang) Changes since v3: - keep bus naming "%x" to be compatible with existing drivers. Changes since v2: - more #ifdefs reduction - platform driver will be registered on OF platforms also - unified platform and OF bus_id to phy%i Changes since v1: - removed NO_IRQ - reduced #idefs Laurent, please test this driver under OF. Signed-off-by: Paulius Zaleckas Signed-off-by: David S. Miller commit 72af187f216ed83c77ca3e6f22dfc9caf72e9347 Author: Paulius Zaleckas Date: Fri Nov 14 00:24:28 2008 +0000 phylib: rename mdio-ofgpio to mdio-gpio Signed-off-by: Paulius Zaleckas Signed-off-by: David S. Miller commit 6817ba2cd22cfed2e93d062dca3d7a82465d693d Author: David S. Miller Date: Sun Nov 16 12:41:35 2008 -0800 dm9000: Fix build error. Reported by Stephen Rothwell: drivers/net/dm9000.c:1450: error: expected ')' before ';' token drivers/net/dm9000.c:1455: error: expected ';' before '}' token Signed-off-by: David S. Miller commit 227a837567e339c74d9d4243d03a29bd943a018c Author: Ingo Molnar Date: Sun Nov 16 09:50:34 2008 +0100 markers/tracpoints: fix non-modular build fix: kernel/marker.c: In function 'marker_module_notify': kernel/marker.c:905: error: 'MODULE_STATE_COMING' undeclared (first use in this function) [...] Signed-off-by: Ingo Molnar commit cda2836dc66f814aecc58370251566e1c225c8d3 Author: David Brownell Date: Sun Nov 16 00:36:08 2008 -0800 pegasus: minor resource shrinkage Make pegasus driver not allocate a workqueue until the driver is bound to some device, which will need that workqueue if the device is brought up. This conserves resources when the driver is linked but there's no pegasus device connected. Also shrink the runtime footprint a smidgeon by moving some init-only code into its proper section, and move an obnoxious (frequent and meaningless) message to be debug-only. Signed-off-by: David Brownell Signed-off-by: David S. Miller commit 74ad0a5421edc6ef13a4059c6076cd7a4f3a1fd5 Author: PJ Waskiewicz Date: Fri Nov 7 12:16:08 2008 +0000 ixgbe: Fix usage of netif_*_all_queues() with netif_carrier_{off|on}() netif_carrier_off() is sufficient to stop Tx into the driver. Stopping the Tx queues is redundant and unnecessary. By the same token, netif_carrier_on() will be sufficient to re-enable Tx, so waking the queues is unnecessary. Signed-off-by: Peter P Waskiewicz Jr Signed-off-by: Jeff Kirsher Signed-off-by: David S. Miller commit 0a7ad64531713e33e39af95bdbfb172f4f328b1e Author: Ingo Molnar Date: Sun Nov 16 08:54:36 2008 +0100 tracepoints: format documentation Impact: documentation update Properly format Documentation/tracepoints.txt - it was full of overlong lines and other typographical problems. Signed-off-by: Ingo Molnar commit 0dcf8fe5fe5d7279f1c479fa82f1f1ca6f22e814 Author: Mathieu Desnoyers Date: Fri Nov 14 17:47:49 2008 -0500 tracepoints, docs: marker_synchronize_unregister->tracepoint_synchronize_unregister Impact: documentation update. Signed-off-by: Zhaolei Signed-off-by: Mathieu Desnoyers Signed-off-by: Ingo Molnar commit 8fd88d159031bd238dad1d7186a2030b9f9349de Author: Mathieu Desnoyers Date: Fri Nov 14 17:47:48 2008 -0500 tracepoints: documentation fix for teardown Impact: documentation update Need a tracepoint_synchronize_unregister() before the end of exit() to make sure every probe callers have exited the non preemptible section and thus are not executing the probe code anymore. Signed-off-by: Mathieu Desnoyers Signed-off-by: Ingo Molnar commit 7e066fb870fcd1025ec3ba7bbde5d541094f4ce1 Author: Mathieu Desnoyers Date: Fri Nov 14 17:47:47 2008 -0500 tracepoints: add DECLARE_TRACE() and DEFINE_TRACE() Impact: API *CHANGE*. Must update all tracepoint users. Add DEFINE_TRACE() to tracepoints to let them declare the tracepoint structure in a single spot for all the kernel. It helps reducing memory consumption, especially when declaring a lot of tracepoints, e.g. for kmalloc tracing. *API CHANGE WARNING*: now, DECLARE_TRACE() must be used in headers for tracepoint declarations rather than DEFINE_TRACE(). This is the sane way to do it. The name previously used was misleading. Updates scheduler instrumentation to follow this API change. Signed-off-by: Mathieu Desnoyers Signed-off-by: Ingo Molnar commit 32f85742778dfc2c74975cf0b9f5bdb13470cb32 Author: Mathieu Desnoyers Date: Fri Nov 14 17:47:46 2008 -0500 tracepoints: use modules notifiers Impact: cleanup Use module notifiers for tracepoint updates rather than adding a hook in module.c. Signed-off-by: Mathieu Desnoyers Signed-off-by: Ingo Molnar commit 5f382671def7cb9c0f4b75d586dc5f60dca5e1c3 Author: Mathieu Desnoyers Date: Fri Nov 14 17:47:45 2008 -0500 tracepoints: do not put arguments in name Impact: cleanup That's overkill, takes space. We have a global tracepoint registery in header files anyway. Signed-off-by: Mathieu Desnoyers Signed-off-by: Ingo Molnar commit c420970ef476d7d68df119711700666224001f43 Author: Mathieu Desnoyers Date: Fri Nov 14 17:47:44 2008 -0500 tracepoints: use unregister return value Impact: bugfix. Unregistering a tracepoint can fail. Return the error value. Signed-off-by: Mathieu Desnoyers Signed-off-by: Ingo Molnar commit da7b3eab167091693ad215ad7692f7d0d24d1356 Author: Mathieu Desnoyers Date: Fri Nov 14 17:47:43 2008 -0500 tracepoints: use rcu_*_sched_notrace Make sure tracepoints can be called within ftrace callbacks. Signed-off-by: Mathieu Desnoyers Signed-off-by: Ingo Molnar commit de0baf9ad661ac630a45a50ea1717cc4f4b33ace Author: Mathieu Desnoyers Date: Fri Nov 14 17:47:42 2008 -0500 tracepoints: fix disable Impact: fix race Set the probe array pointer to NULL when the tracepoint is disabled. The probe array point not being NULL could generate a race condition where the reader would dereference a freed pointer. Signed-off-by: Mathieu Desnoyers Signed-off-by: Ingo Molnar commit 2504ea5edfebb14133b8571c20785cdc077e07d2 Author: Mathieu Desnoyers Date: Fri Nov 14 17:47:41 2008 -0500 tracepoints: samples, fix teardown Impact: fix a bug in sample tracepoints Need a tracepoint_synchronize_unregister() before the end of exit() to make sure every probe callers have exited the non preemptible section and thus are not executing the probe code anymore. Signed-off-by: Mathieu Desnoyers Signed-off-by: Ingo Molnar commit a0bca6a59ebc052751eed6e3b182c153495672d8 Author: Mathieu Desnoyers Date: Fri Nov 14 17:47:40 2008 -0500 markers: create DEFINE_MARKER and GET_MARKER (new API) Impact: new API. Allow markers to be used only for declaration, without function call associated. Useful to create specialized probes. The problem we had is that two function calls were required when one wanted to put a marker in a tracepoint probe. Now the marker can be used simply for trace data type declaration, leaving the trace write work within the tracepoint probe without any additional function call. Signed-off-by: Mathieu Desnoyers Signed-off-by: Ingo Molnar commit c1df1bd2c4d4b20c83755a0f41956b57aec4842a Author: Mathieu Desnoyers Date: Fri Nov 14 17:47:39 2008 -0500 markers: auto enable tracepoints (new API : trace_mark_tp()) Impact: new API Add a new API trace_mark_tp(), which declares a marker within a tracepoint probe. When the marker is activated, the tracepoint is automatically enabled. No branch test is used at the marker site, because it would be a duplicate of the branch already present in the tracepoint. Signed-off-by: Mathieu Desnoyers Signed-off-by: Ingo Molnar commit a419246ac7c2d9282dfd843103702895bb3f3fd7 Author: Mathieu Desnoyers Date: Fri Nov 14 17:47:38 2008 -0500 markers: use module notifier Impact: cleanup Use module notifiers instead of adding a hook in module.c. Signed-off-by: Mathieu Desnoyers Signed-off-by: Ingo Molnar commit 021aeb057fc48af03fe5f37d3dda366c0d97aaf3 Author: Mathieu Desnoyers Date: Fri Nov 14 17:47:37 2008 -0500 markers: use rcu_*_sched_notrace and notrace Make marker critical code use notrace to make sure they can be used as an ftrace callback. Signed-off-by: Mathieu Desnoyers Signed-off-by: Ingo Molnar commit e3f8c4b9117d70127a8cab480af83bbfd048a28b Author: Arnaldo Carvalho de Melo Date: Fri Nov 14 17:47:36 2008 -0500 markers: add missing stdargs.h include, needed due to va_list usage Impact: build fix (for future changes) That seemed to cause built issue when marker.h is included early, even though stdargs.h is included in kernel.h. Signed-off-by: Mathieu Desnoyers Signed-off-by: Ingo Molnar commit 2bdba316c989da028a59becf7516c6350ce3c173 Author: Mathieu Desnoyers Date: Fri Nov 14 17:47:35 2008 -0500 markers: fix unregister Impact: fix marker registers/unregister race get_marker() can return a NULL entry because the mutex is released in the middle of those functions. Make sure we check to see if it has been concurrently removed. Signed-off-by: Mathieu Desnoyers Signed-off-by: Ingo Molnar commit 954e100d2275cb2f150f2b18d5cddcdf67b956ac Author: Mathieu Desnoyers Date: Fri Nov 14 17:47:34 2008 -0500 rcu: add rcu_read_*_sched_notrace() Impact: new API, useful for tracepoints and markers. Add _notrace version to rcu_read_*_sched(). Signed-off-by: Mathieu Desnoyers Reviewed-by: Paul E McKenney Signed-off-by: Ingo Molnar commit e7d3737ea1b102030f44e96c97754101e41515f0 Author: Frederic Weisbecker Date: Sun Nov 16 06:02:06 2008 +0100 tracing/function-return-tracer: support for dynamic ftrace on function return tracer This patch adds the support for dynamic tracing on the function return tracer. The whole difference with normal dynamic function tracing is that we don't need to hook on a particular callback. The only pro that we want is to nop or set dynamically the calls to ftrace_caller (which is ftrace_return_caller here). Some security checks ensure that we are not trying to launch dynamic tracing for return tracing while normal function tracing is already running. An example of trace with getnstimeofday set as a filter: ktime_get_ts+0x22/0x50 -> getnstimeofday (2283 ns) ktime_get_ts+0x22/0x50 -> getnstimeofday (1396 ns) ktime_get_ts+0x22/0x50 -> getnstimeofday (1382 ns) ktime_get_ts+0x22/0x50 -> getnstimeofday (1825 ns) ktime_get_ts+0x22/0x50 -> getnstimeofday (1426 ns) ktime_get_ts+0x22/0x50 -> getnstimeofday (1464 ns) ktime_get_ts+0x22/0x50 -> getnstimeofday (1524 ns) ktime_get_ts+0x22/0x50 -> getnstimeofday (1382 ns) ktime_get_ts+0x22/0x50 -> getnstimeofday (1382 ns) ktime_get_ts+0x22/0x50 -> getnstimeofday (1434 ns) ktime_get_ts+0x22/0x50 -> getnstimeofday (1464 ns) ktime_get_ts+0x22/0x50 -> getnstimeofday (1502 ns) ktime_get_ts+0x22/0x50 -> getnstimeofday (1404 ns) ktime_get_ts+0x22/0x50 -> getnstimeofday (1397 ns) ktime_get_ts+0x22/0x50 -> getnstimeofday (1051 ns) ktime_get_ts+0x22/0x50 -> getnstimeofday (1314 ns) ktime_get_ts+0x22/0x50 -> getnstimeofday (1344 ns) ktime_get_ts+0x22/0x50 -> getnstimeofday (1163 ns) ktime_get_ts+0x22/0x50 -> getnstimeofday (1390 ns) ktime_get_ts+0x22/0x50 -> getnstimeofday (1374 ns) Signed-off-by: Frederic Weisbecker Signed-off-by: Ingo Molnar commit b01c746617da5e260803eb10ed64ca043e9a1241 Author: Frederic Weisbecker Date: Sat Nov 15 02:37:44 2008 +0100 tracing/function-return-tracer: add a barrier to ensure return stack index is incremented in memory Impact: fix possible race condition in ftrace function return tracer This fixes a possible race condition if index incrementation is not immediately flushed in memory. Thanks for Andi Kleen and Steven Rostedt for pointing out this issue and give me this solution. Signed-off-by: Frederic Weisbecker Signed-off-by: Ingo Molnar commit 985809608f758a8d3ddda4ce5a53ed0e57fb9e1b Merge: c91add5 1c80025 Author: Ingo Molnar Date: Sun Nov 16 07:57:13 2008 +0100 Merge branch 'tracing/ftrace' into tracing/function-return-tracer commit 072b40a15616fe6bea68466e6bffcfcbf5c8f26f Author: Frederic Weisbecker Date: Sun Nov 16 05:59:52 2008 +0100 tracing/branch-tracer: fix a trace recursion on branch tracer Impact: fix crash when enabling the branch-tracer When the branch tracer inserts an event through probe_likely_condition(), it calls local_irq_save() and then results in a trace recursion. local_irq_save() -> trace_hardirqs_off() -> trace_hardirqs_off_caller() -> unlikely() The trace_branch.c file is protected by DISABLE_BRANCH_PROFILING but that doesn't prevent from external call to functions that use unlikely(). My box crashed each time I tried to set this tracer (sudden and hard reboot). Signed-off-by: Frederic Weisbecker Signed-off-by: Ingo Molnar commit 1c80025a49855b12fa09bb6db71820e3367b1369 Author: Frederic Weisbecker Date: Sun Nov 16 05:57:26 2008 +0100 tracing/ftrace: change the type of the init() callback Impact: extend the ->init() method with the ability to fail This bring a way to know if the initialization of a tracer successed. A tracer must return 0 on success and a traditional error (ie: -ENOMEM) if it fails. If a tracer fails to init, it is free to print a detailed warn. The tracing api will not and switch to a new tracer will just return the error from the init callback. Note: this will be used for the return tracer. Signed-off-by: Frederic Weisbecker Signed-off-by: Ingo Molnar commit e6e7a65aabdb696cf05a56cfd495c49a11fd4cde Author: Frederic Weisbecker Date: Sun Nov 16 05:53:19 2008 +0100 tracing/ftrace: fix unexpected -EINVAL when longest tracer name is set Impact: fix confusing write() -EINVAL when changing the tracer The following commit d9e540762f5cdd89f24e518ad1fd31142d0b9726 remade alive the bug which made the set of a new tracer returning -EINVAL if this is the longest name of tracer. This patch corrects it. Signed-off-by: Frederic Weisbecker Signed-off-by: Ingo Molnar commit ee02a2e5c88ca2e4d6921f08d037b46d5bf82641 Author: Steven Rostedt Date: Sat Nov 15 16:31:41 2008 -0500 ftrace: make filtered functions effective on setting Impact: set filtered functions at time the filter is set It can be confusing when the set_filter_functions is set (or cleared) and the functions being recorded by the dynamic tracer does not match. This patch causes the code to be updated if the function tracer is enabled and the filter is changed. Signed-off-by: Steven Rostedt Signed-off-by: Ingo Molnar commit 982c350b9ec4b3564d67f3627a274ae61bbc7e95 Author: Steven Rostedt Date: Sat Nov 15 16:31:41 2008 -0500 ftrace: fix dyn ftrace filter Impact: correct implementation of dyn ftrace filter The old decisions made by the filter algorithm was complex and incorrect. This lead to inconsistent enabling or disabling of functions when the filter was used. This patch simplifies that code and in doing so, corrects the usage of the filters. Signed-off-by: Steven Rostedt Signed-off-by: Ingo Molnar commit 20e5227e9f55ae1969934821ccbf581563785bbe Author: Steven Rostedt Date: Fri Nov 14 16:21:19 2008 -0800 ftrace: allow NULL pointers in mcount_loc Impact: make ftrace_convert_nops() more permissive Due to the way different architecture linkers combine the data sections of the mcount_loc (the section that lists all the locations that call mcount), there may be zeros added in that section. This is usually due to strange alignments that the linker performs, that pads in zeros. This patch makes the conversion code to nops skip any pointer in the mcount_loc section that is NULL. Signed-off-by: Steven Rostedt Signed-off-by: Ingo Molnar commit 31e889098a80ceb3e9e3c555d522b2686a6663c6 Author: Steven Rostedt Date: Fri Nov 14 16:21:19 2008 -0800 ftrace: pass module struct to arch dynamic ftrace functions Impact: allow archs more flexibility on dynamic ftrace implementations Dynamic ftrace has largly been developed on x86. Since x86 does not have the same limitations as other architectures, the ftrace interaction between the generic code and the architecture specific code was not flexible enough to handle some of the issues that other architectures have. Most notably, module trampolines. Due to the limited branch distance that archs make in calling kernel core code from modules, the module load code must create a trampoline to jump to what will make the larger jump into core kernel code. The problem arises when this happens to a call to mcount. Ftrace checks all code before modifying it and makes sure the current code is what it expects. Right now, there is not enough information to handle modifying module trampolines. This patch changes the API between generic dynamic ftrace code and the arch dependent code. There is now two functions for modifying code: ftrace_make_nop(mod, rec, addr) - convert the code at rec->ip into a nop, where the original text is calling addr. (mod is the module struct if called by module init) ftrace_make_caller(rec, addr) - convert the code rec->ip that should be a nop into a caller to addr. The record "rec" now has a new field called "arch" where the architecture can add any special attributes to each call site record. Signed-off-by: Steven Rostedt Signed-off-by: Ingo Molnar commit d51ad7ac48f991c4a8834485727efa99a691cb87 Author: Steven Rostedt Date: Sat Nov 15 15:48:29 2008 -0500 ftrace: replace raw_local_irq_save with local_irq_save Impact: fix lockdep disabling itself when function tracing is enabled The raw_local_irq_saves used in ftrace is causing problems with lockdep. (it thinks the irq flags are out of sync and disables itself with a warning) The raw ops here are not needed, and the normal local_irq_save is fine. Signed-off-by: Steven Rostedt Signed-off-by: Ingo Molnar commit 918c115410c6cc57033835b6a401e57697f9ea4f Author: Steven Rostedt Date: Fri Nov 14 16:21:19 2008 -0800 ftrace: do not process freed records Impact: keep from converting freed records When the tracer is started or stopped, it converts all code pointed to by the saved records into callers to ftrace or nops. When modules are unloaded, their records are freed, but they still exist within the record pages. This patch changes the code to skip over freed records. Signed-off-by: Steven Rostedt Signed-off-by: Ingo Molnar commit b17e8a37a13d0e87165054714434534bb7e69f2d Author: Steven Rostedt Date: Fri Nov 14 16:21:19 2008 -0800 ftrace: disable ftrace on anomalies in trace start and stop Impact: robust feature to disable ftrace on start or stop tracing on error Currently only the initial conversion to nops will disable ftrace on an anomaly. But if an anomaly happens on start or stopping of the tracer, it will silently fail. This patch adds a check there too, to disable ftrace and warn if the conversion fails. Signed-off-by: Steven Rostedt Signed-off-by: Ingo Molnar commit f3c7ac40a99f4044b843e6e2c4f46ab2d354c563 Author: Steven Rostedt Date: Fri Nov 14 16:21:19 2008 -0800 ftrace: remove condition from ftrace_record_ip Impact: let module functions be recorded when dyn ftrace not enabled When dynamic ftrace had a daemon and a hash to record the locations of mcount callers at run time, the recording needed to stop when ftrace was disabled. But now that the recording is done at compile time and the ftrace_record_ip is only called at boot up and when a module is loaded, we no longer need to check if ftrace_enabled is set. In fact, this breaks module load if it is not set because we skip over module functions. Signed-off-by: Steven Rostedt Signed-off-by: Ingo Molnar commit c91add5fa68ea9b1f2923b3788c5dae0e60e1f6b Merge: d1aaf8c b3535c6 ee51a1d Author: Ingo Molnar Date: Sun Nov 16 07:28:46 2008 +0100 Merge branches 'tracing/fastboot', 'tracing/ftrace' and 'tracing/urgent' into tracing/core commit e2da9ba570418fb4061f0a5cfe4338be6470c02b Merge: 127e82e c39555d Author: Takashi Iwai Date: Sat Nov 15 19:05:21 2008 +0100 Merge branch 'topic/fix/hda' into topic/hda Conflicts: sound/pci/hda/patch_sigmatel.c commit e50a906e0200084f04f8f3b7c3a14b0442d1347f Author: Eric Paris Date: Thu Nov 13 18:37:25 2008 -0500 capabilities: define get_vfs_caps_from_disk when file caps are not enabled When CONFIG_SECURITY_FILE_CAPABILITIES is not set the audit system may try to call into the capabilities function vfs_cap_from_file. This patch defines that function so kernels can build and work. Signed-off-by: Eric Paris Signed-off-by: James Morris commit 71cfc9028d762419ce4dea62b4afc9c32c4b4820 Author: Mark Brown Date: Thu Nov 13 14:33:14 2008 +0000 ASoC: Add WM8728 codec driver The WM8728 is a high performance stereo DAC designed for applications such as DVD, home theatre and digital TV. Signed-off-by: Mark Brown commit 2bef901071448e0c86af8edb4797cd5f81b6240d Author: Mark Brown Date: Fri Nov 14 14:40:46 2008 +0000 ASoC: Revert "ASoC: Add new parameter to s3c24xx_pcm_enqueue" This reverts commit 8dc840f88d9c9f75f46d5dbe489242f8a114fab6. Christian Pellegrin reported that on some systems the patch caused DMA to fail which is much more serious than the original skipped audio issue. Further investigation by Dave shows that the behaviour depends on the clock speed of the SoC - a better fix is neeeded. Signed-off-by: Mark Brown commit 127e82e3bfaad29e78ff5d4b1c41ab5e2d69c17f Author: Takashi Iwai Date: Fri Nov 14 14:03:33 2008 +0100 ALSA: hda - Support Headphone and Speaker volumes control on VAIO Split the bound Master control to individual Headphone and Speaker volume controls for VAIO with STAC982x codecs. The Master controls is still created as a vmaster. Signed-off-by: Takashi Iwai commit 8a75f4fb28766878893b4335f4b5743ce9b931fe Author: Takashi Iwai Date: Fri Nov 14 13:58:43 2008 +0100 ALSA: pcsp - Use HRTIMER_CB_IRQSAFE_UNLOCKED HRTIMER_CB_IRQSAFE was removed in the upstream. Try to use HRTIMER_CB_IRQSAFE_UNLOCKED instead. Signed-off-by: Takashi Iwai commit ef711cf1d156428d4c2911b8c86c6ce90519dc45 Author: Eric Dumazet Date: Fri Nov 14 00:53:54 2008 -0800 net: speedup dst_release() During tbench/oprofile sessions, I found that dst_release() was in third position. CPU: Core 2, speed 2999.68 MHz (estimated) Counted CPU_CLK_UNHALTED events (Clock cycles when not halted) with a unit mask of 0x00 (Unhalted core cycles) count 100000 samples % symbol name 483726 9.0185 __copy_user_zeroing_intel 191466 3.5697 __copy_user_intel 185475 3.4580 dst_release 175114 3.2648 ip_queue_xmit 153447 2.8608 tcp_sendmsg 108775 2.0280 tcp_recvmsg 102659 1.9140 sysenter_past_esp 101450 1.8914 tcp_current_mss 95067 1.7724 __copy_from_user_ll 86531 1.6133 tcp_transmit_skb Of course, all CPUS fight on the dst_entry associated with 127.0.0.1 Instead of first checking the refcount value, then decrement it, we use atomic_dec_return() to help CPU to make the right memory transaction (ie getting the cache line in exclusive mode) dst_release() is now at the fifth position, and tbench a litle bit faster ;) CPU: Core 2, speed 3000.1 MHz (estimated) Counted CPU_CLK_UNHALTED events (Clock cycles when not halted) with a unit mask of 0x00 (Unhalted core cycles) count 100000 samples % symbol name 647107 8.8072 __copy_user_zeroing_intel 258840 3.5229 ip_queue_xmit 258302 3.5155 __copy_user_intel 209629 2.8531 tcp_sendmsg 165632 2.2543 dst_release 149232 2.0311 tcp_current_mss 147821 2.0119 tcp_recvmsg 137893 1.8767 sysenter_past_esp 127473 1.7349 __copy_from_user_ll 121308 1.6510 ip_finish_output 118510 1.6129 tcp_transmit_skb 109295 1.4875 tcp_v4_rcv Signed-off-by: Eric Dumazet Signed-off-by: David S. Miller commit f30ab418a1d3c5a8b83493e7d70d6876a74aa0ce Author: Jarek Poplawski Date: Thu Nov 13 22:56:30 2008 -0800 pkt_sched: Remove qdisc->ops->requeue() etc. After implementing qdisc->ops->peek() and changing sch_netem into classless qdisc there are no more qdisc->ops->requeue() users. This patch removes this method with its wrappers (qdisc_requeue()), and also unused qdisc->requeue structure. There are a few minor fixes of warnings (htb_enqueue()) and comments btw. The idea to kill ->requeue() and a similar patch were first developed by David S. Miller. Signed-off-by: Jarek Poplawski Signed-off-by: David S. Miller commit 38a7ddffa4b79d7b1fbc9bf2fa82b21b72622858 Author: Petr Tesarik Date: Thu Nov 13 22:44:11 2008 -0800 tcp: remove an unnecessary field in struct tcp_skb_cb The urg_ptr field is not used anywhere and is merely confusing. Signed-off-by: Petr Tesarik Signed-off-by: David S. Miller commit 00bcd522ea0a62f5e2a9c6ad4924cbbd8d05b026 Author: Harvey Harrison Date: Thu Nov 13 22:41:29 2008 -0800 isdn: use %pI4, remove get_{u8/u16/u32} and put_{u8/u16/u32} inlines They would have been better named as get_be16, put_be16, etc. as they were hiding an endian shift inside. They don't add much over explicitly coding the byteshifting and gcc sometimes has a problem with builtin_constant_p inside inline functions, so it may do a better job of byteswapping at compile time rather than runtime. Signed-off-by: Harvey Harrison Signed-off-by: David S. Miller commit 722024dbb74f3ea316c285c0a71a4512e113b0c4 Author: Alexander van Heukelum Date: Thu Nov 13 13:50:20 2008 +0100 x86: irq: fix apicinterrupts on 64 bits Impact: Fix interrupt via the apicinterrupt macro Checkin 939b787130bf22887a09d8fd2641a094dcef8c22 changed the "interrupt" macro, but the "interrupt" macro is also invoked indirectly from the "apicinterrupt" macro. The "apicinterrupt" macro probably should have its own collection of systematic stubs for the same reason the main IRQ code does; as is it is a huge amount of replicated code. Signed-off-by: Alexander van Heukelum Signed-off-by: H. Peter Anvin commit 2b828925652340277a889cbc11b2d0637f7cdaf7 Merge: 3a3b7ce 58e20d8 Author: James Morris Date: Fri Nov 14 11:29:12 2008 +1100 Merge branch 'master' into next Conflicts: security/keys/internal.h security/keys/process_keys.c security/keys/request_key.c Fixed conflicts above by using the non 'tsk' versions. Signed-off-by: James Morris commit 3a3b7ce9336952ea7b9564d976d068a238976c9d Author: David Howells Date: Fri Nov 14 10:39:28 2008 +1100 CRED: Allow kernel services to override LSM settings for task actions Allow kernel services to override LSM settings appropriate to the actions performed by a task by duplicating a set of credentials, modifying it and then using task_struct::cred to point to it when performing operations on behalf of a task. This is used, for example, by CacheFiles which has to transparently access the cache on behalf of a process that thinks it is doing, say, NFS accesses with a potentially inappropriate (with respect to accessing the cache) set of credentials. This patch provides two LSM hooks for modifying a task security record: (*) security_kernel_act_as() which allows modification of the security datum with which a task acts on other objects (most notably files). (*) security_kernel_create_files_as() which allows modification of the security datum that is used to initialise the security data on a file that a task creates. The patch also provides four new credentials handling functions, which wrap the LSM functions: (1) prepare_kernel_cred() Prepare a set of credentials for a kernel service to use, based either on a daemon's credentials or on init_cred. All the keyrings are cleared. (2) set_security_override() Set the LSM security ID in a set of credentials to a specific security context, assuming permission from the LSM policy. (3) set_security_override_from_ctx() As (2), but takes the security context as a string. (4) set_create_files_as() Set the file creation LSM security ID in a set of credentials to be the same as that on a particular inode. Signed-off-by: Casey Schaufler [Smack changes] Signed-off-by: David Howells Signed-off-by: James Morris commit 1bfdc75ae077d60a01572a7781ec6264d55ab1b9 Author: David Howells Date: Fri Nov 14 10:39:27 2008 +1100 CRED: Add a kernel_service object class to SELinux Add a 'kernel_service' object class to SELinux and give this object class two access vectors: 'use_as_override' and 'create_files_as'. The first vector is used to grant a process the right to nominate an alternate process security ID for the kernel to use as an override for the SELinux subjective security when accessing stuff on behalf of another process. For example, CacheFiles when accessing the cache on behalf on a process accessing an NFS file needs to use a subjective security ID appropriate to the cache rather then the one the calling process is using. The cachefilesd daemon will nominate the security ID to be used. The second vector is used to grant a process the right to nominate a file creation label for a kernel service to use. Signed-off-by: David Howells Signed-off-by: James Morris commit 3b11a1decef07c19443d24ae926982bc8ec9f4c0 Author: David Howells Date: Fri Nov 14 10:39:26 2008 +1100 CRED: Differentiate objective and effective subjective credentials on a task Differentiate the objective and real subjective credentials from the effective subjective credentials on a task by introducing a second credentials pointer into the task_struct. task_struct::real_cred then refers to the objective and apparent real subjective credentials of a task, as perceived by the other tasks in the system. task_struct::cred then refers to the effective subjective credentials of a task, as used by that task when it's actually running. These are not visible to the other tasks in the system. __task_cred(task) then refers to the objective/real credentials of the task in question. current_cred() refers to the effective subjective credentials of the current task. prepare_creds() uses the objective creds as a base and commit_creds() changes both pointers in the task_struct (indeed commit_creds() requires them to be the same). override_creds() and revert_creds() change the subjective creds pointer only, and the former returns the old subjective creds. These are used by NFSD, faccessat() and do_coredump(), and will by used by CacheFiles. In SELinux, current_has_perm() is provided as an alternative to task_has_perm(). This uses the effective subjective context of current, whereas task_has_perm() uses the objective/real context of the subject. Signed-off-by: David Howells Signed-off-by: James Morris commit 98870ab0a5a3f1822aee681d2997017e1c87d026 Author: David Howells Date: Fri Nov 14 10:39:26 2008 +1100 CRED: Documentation Document credentials and the new credentials API. Signed-off-by: David Howells Signed-off-by: James Morris commit d76b0d9b2d87cfc95686e148767cbf7d0e22bdc0 Author: David Howells Date: Fri Nov 14 10:39:25 2008 +1100 CRED: Use creds in file structs Attach creds to file structs and discard f_uid/f_gid. file_operations::open() methods (such as hppfs_open()) should use file->f_cred rather than current_cred(). At the moment file->f_cred will be current_cred() at this point. Signed-off-by: David Howells Reviewed-by: James Morris Signed-off-by: James Morris commit 1d045980e1eff4800472f0e81df9460640c8eee9 Author: David Howells Date: Fri Nov 14 10:39:24 2008 +1100 CRED: Prettify commoncap.c Prettify commoncap.c. Signed-off-by: David Howells Acked-by: Serge Hallyn Reviewed-by: James Morris Signed-off-by: James Morris commit a6f76f23d297f70e2a6b3ec607f7aeeea9e37e8d Author: David Howells Date: Fri Nov 14 10:39:24 2008 +1100 CRED: Make execve() take advantage of copy-on-write credentials Make execve() take advantage of copy-on-write credentials, allowing it to set up the credentials in advance, and then commit the whole lot after the point of no return. This patch and the preceding patches have been tested with the LTP SELinux testsuite. This patch makes several logical sets of alteration: (1) execve(). The credential bits from struct linux_binprm are, for the most part, replaced with a single credentials pointer (bprm->cred). This means that all the creds can be calculated in advance and then applied at the point of no return with no possibility of failure. I would like to replace bprm->cap_effective with: cap_isclear(bprm->cap_effective) but this seems impossible due to special behaviour for processes of pid 1 (they always retain their parent's capability masks where normally they'd be changed - see cap_bprm_set_creds()). The following sequence of events now happens: (a) At the start of do_execve, the current task's cred_exec_mutex is locked to prevent PTRACE_ATTACH from obsoleting the calculation of creds that we make. (a) prepare_exec_creds() is then called to make a copy of the current task's credentials and prepare it. This copy is then assigned to bprm->cred. This renders security_bprm_alloc() and security_bprm_free() unnecessary, and so they've been removed. (b) The determination of unsafe execution is now performed immediately after (a) rather than later on in the code. The result is stored in bprm->unsafe for future reference. (c) prepare_binprm() is called, possibly multiple times. (i) This applies the result of set[ug]id binaries to the new creds attached to bprm->cred. Personality bit clearance is recorded, but now deferred on the basis that the exec procedure may yet fail. (ii) This then calls the new security_bprm_set_creds(). This should calculate the new LSM and capability credentials into *bprm->cred. This folds together security_bprm_set() and parts of security_bprm_apply_creds() (these two have been removed). Anything that might fail must be done at this point. (iii) bprm->cred_prepared is set to 1. bprm->cred_prepared is 0 on the first pass of the security calculations, and 1 on all subsequent passes. This allows SELinux in (ii) to base its calculations only on the initial script and not on the interpreter. (d) flush_old_exec() is called to commit the task to execution. This performs the following steps with regard to credentials: (i) Clear pdeath_signal and set dumpable on certain circumstances that may not be covered by commit_creds(). (ii) Clear any bits in current->personality that were deferred from (c.i). (e) install_exec_creds() [compute_creds() as was] is called to install the new credentials. This performs the following steps with regard to credentials: (i) Calls security_bprm_committing_creds() to apply any security requirements, such as flushing unauthorised files in SELinux, that must be done before the credentials are changed. This is made up of bits of security_bprm_apply_creds() and security_bprm_post_apply_creds(), both of which have been removed. This function is not allowed to fail; anything that might fail must have been done in (c.ii). (ii) Calls commit_creds() to apply the new credentials in a single assignment (more or less). Possibly pdeath_signal and dumpable should be part of struct creds. (iii) Unlocks the task's cred_replace_mutex, thus allowing PTRACE_ATTACH to take place. (iv) Clears The bprm->cred pointer as the credentials it was holding are now immutable. (v) Calls security_bprm_committed_creds() to apply any security alterations that must be done after the creds have been changed. SELinux uses this to flush signals and signal handlers. (f) If an error occurs before (d.i), bprm_free() will call abort_creds() to destroy the proposed new credentials and will then unlock cred_replace_mutex. No changes to the credentials will have been made. (2) LSM interface. A number of functions have been changed, added or removed: (*) security_bprm_alloc(), ->bprm_alloc_security() (*) security_bprm_free(), ->bprm_free_security() Removed in favour of preparing new credentials and modifying those. (*) security_bprm_apply_creds(), ->bprm_apply_creds() (*) security_bprm_post_apply_creds(), ->bprm_post_apply_creds() Removed; split between security_bprm_set_creds(), security_bprm_committing_creds() and security_bprm_committed_creds(). (*) security_bprm_set(), ->bprm_set_security() Removed; folded into security_bprm_set_creds(). (*) security_bprm_set_creds(), ->bprm_set_creds() New. The new credentials in bprm->creds should be checked and set up as appropriate. bprm->cred_prepared is 0 on the first call, 1 on the second and subsequent calls. (*) security_bprm_committing_creds(), ->bprm_committing_creds() (*) security_bprm_committed_creds(), ->bprm_committed_creds() New. Apply the security effects of the new credentials. This includes closing unauthorised files in SELinux. This function may not fail. When the former is called, the creds haven't yet been applied to the process; when the latter is called, they have. The former may access bprm->cred, the latter may not. (3) SELinux. SELinux has a number of changes, in addition to those to support the LSM interface changes mentioned above: (a) The bprm_security_struct struct has been removed in favour of using the credentials-under-construction approach. (c) flush_unauthorized_files() now takes a cred pointer and passes it on to inode_has_perm(), file_has_perm() and dentry_open(). Signed-off-by: David Howells Acked-by: James Morris Acked-by: Serge Hallyn Signed-off-by: James Morris commit d84f4f992cbd76e8f39c488cf0c5d123843923b1 Author: David Howells Date: Fri Nov 14 10:39:23 2008 +1100 CRED: Inaugurate COW credentials Inaugurate copy-on-write credentials management. This uses RCU to manage the credentials pointer in the task_struct with respect to accesses by other tasks. A process may only modify its own credentials, and so does not need locking to access or modify its own credentials. A mutex (cred_replace_mutex) is added to the task_struct to control the effect of PTRACE_ATTACHED on credential calculations, particularly with respect to execve(). With this patch, the contents of an active credentials struct may not be changed directly; rather a new set of credentials must be prepared, modified and committed using something like the following sequence of events: struct cred *new = prepare_creds(); int ret = blah(new); if (ret < 0) { abort_creds(new); return ret; } return commit_creds(new); There are some exceptions to this rule: the keyrings pointed to by the active credentials may be instantiated - keyrings violate the COW rule as managing COW keyrings is tricky, given that it is possible for a task to directly alter the keys in a keyring in use by another task. To help enforce this, various pointers to sets of credentials, such as those in the task_struct, are declared const. The purpose of this is compile-time discouragement of altering credentials through those pointers. Once a set of credentials has been made public through one of these pointers, it may not be modified, except under special circumstances: (1) Its reference count may incremented and decremented. (2) The keyrings to which it points may be modified, but not replaced. The only safe way to modify anything else is to create a replacement and commit using the functions described in Documentation/credentials.txt (which will be added by a later patch). This patch and the preceding patches have been tested with the LTP SELinux testsuite. This patch makes several logical sets of alteration: (1) execve(). This now prepares and commits credentials in various places in the security code rather than altering the current creds directly. (2) Temporary credential overrides. do_coredump() and sys_faccessat() now prepare their own credentials and temporarily override the ones currently on the acting thread, whilst preventing interference from other threads by holding cred_replace_mutex on the thread being dumped. This will be replaced in a future patch by something that hands down the credentials directly to the functions being called, rather than altering the task's objective credentials. (3) LSM interface. A number of functions have been changed, added or removed: (*) security_capset_check(), ->capset_check() (*) security_capset_set(), ->capset_set() Removed in favour of security_capset(). (*) security_capset(), ->capset() New. This is passed a pointer to the new creds, a pointer to the old creds and the proposed capability sets. It should fill in the new creds or return an error. All pointers, barring the pointer to the new creds, are now const. (*) security_bprm_apply_creds(), ->bprm_apply_creds() Changed; now returns a value, which will cause the process to be killed if it's an error. (*) security_task_alloc(), ->task_alloc_security() Removed in favour of security_prepare_creds(). (*) security_cred_free(), ->cred_free() New. Free security data attached to cred->security. (*) security_prepare_creds(), ->cred_prepare() New. Duplicate any security data attached to cred->security. (*) security_commit_creds(), ->cred_commit() New. Apply any security effects for the upcoming installation of new security by commit_creds(). (*) security_task_post_setuid(), ->task_post_setuid() Removed in favour of security_task_fix_setuid(). (*) security_task_fix_setuid(), ->task_fix_setuid() Fix up the proposed new credentials for setuid(). This is used by cap_set_fix_setuid() to implicitly adjust capabilities in line with setuid() changes. Changes are made to the new credentials, rather than the task itself as in security_task_post_setuid(). (*) security_task_reparent_to_init(), ->task_reparent_to_init() Removed. Instead the task being reparented to init is referred directly to init's credentials. NOTE! This results in the loss of some state: SELinux's osid no longer records the sid of the thread that forked it. (*) security_key_alloc(), ->key_alloc() (*) security_key_permission(), ->key_permission() Changed. These now take cred pointers rather than task pointers to refer to the security context. (4) sys_capset(). This has been simplified and uses less locking. The LSM functions it calls have been merged. (5) reparent_to_kthreadd(). This gives the current thread the same credentials as init by simply using commit_thread() to point that way. (6) __sigqueue_alloc() and switch_uid() __sigqueue_alloc() can't stop the target task from changing its creds beneath it, so this function gets a reference to the currently applicable user_struct which it then passes into the sigqueue struct it returns if successful. switch_uid() is now called from commit_creds(), and possibly should be folded into that. commit_creds() should take care of protecting __sigqueue_alloc(). (7) [sg]et[ug]id() and co and [sg]et_current_groups. The set functions now all use prepare_creds(), commit_creds() and abort_creds() to build and check a new set of credentials before applying it. security_task_set[ug]id() is called inside the prepared section. This guarantees that nothing else will affect the creds until we've finished. The calling of set_dumpable() has been moved into commit_creds(). Much of the functionality of set_user() has been moved into commit_creds(). The get functions all simply access the data directly. (8) security_task_prctl() and cap_task_prctl(). security_task_prctl() has been modified to return -ENOSYS if it doesn't want to handle a function, or otherwise return the return value directly rather than through an argument. Additionally, cap_task_prctl() now prepares a new set of credentials, even if it doesn't end up using it. (9) Keyrings. A number of changes have been made to the keyrings code: (a) switch_uid_keyring(), copy_keys(), exit_keys() and suid_keys() have all been dropped and built in to the credentials functions directly. They may want separating out again later. (b) key_alloc() and search_process_keyrings() now take a cred pointer rather than a task pointer to specify the security context. (c) copy_creds() gives a new thread within the same thread group a new thread keyring if its parent had one, otherwise it discards the thread keyring. (d) The authorisation key now points directly to the credentials to extend the search into rather pointing to the task that carries them. (e) Installing thread, process or session keyrings causes a new set of credentials to be created, even though it's not strictly necessary for process or session keyrings (they're shared). (10) Usermode helper. The usermode helper code now carries a cred struct pointer in its subprocess_info struct instead of a new session keyring pointer. This set of credentials is derived from init_cred and installed on the new process after it has been cloned. call_usermodehelper_setup() allocates the new credentials and call_usermodehelper_freeinfo() discards them if they haven't been used. A special cred function (prepare_usermodeinfo_creds()) is provided specifically for call_usermodehelper_setup() to call. call_usermodehelper_setkeys() adjusts the credentials to sport the supplied keyring as the new session keyring. (11) SELinux. SELinux has a number of changes, in addition to those to support the LSM interface changes mentioned above: (a) selinux_setprocattr() no longer does its check for whether the current ptracer can access processes with the new SID inside the lock that covers getting the ptracer's SID. Whilst this lock ensures that the check is done with the ptracer pinned, the result is only valid until the lock is released, so there's no point doing it inside the lock. (12) is_single_threaded(). This function has been extracted from selinux_setprocattr() and put into a file of its own in the lib/ directory as join_session_keyring() now wants to use it too. The code in SELinux just checked to see whether a task shared mm_structs with other tasks (CLONE_VM), but that isn't good enough. We really want to know if they're part of the same thread group (CLONE_THREAD). (13) nfsd. The NFS server daemon now has to use the COW credentials to set the credentials it is going to use. It really needs to pass the credentials down to the functions it calls, but it can't do that until other patches in this series have been applied. Signed-off-by: David Howells Acked-by: James Morris Signed-off-by: James Morris commit 745ca2475a6ac596e3d8d37c2759c0fbe2586227 Author: David Howells Date: Fri Nov 14 10:39:22 2008 +1100 CRED: Pass credentials through dentry_open() Pass credentials through dentry_open() so that the COW creds patch can have SELinux's flush_unauthorized_files() pass the appropriate creds back to itself when it opens its null chardev. The security_dentry_open() call also now takes a creds pointer, as does the dentry_open hook in struct security_operations. Signed-off-by: David Howells Acked-by: James Morris Signed-off-by: James Morris commit 88e67f3b8898c5ea81d2916dd5b8bc9c0c35ba13 Author: David Howells Date: Fri Nov 14 10:39:21 2008 +1100 CRED: Make inode_has_perm() and file_has_perm() take a cred pointer Make inode_has_perm() and file_has_perm() take a cred pointer rather than a task pointer. Signed-off-by: David Howells Acked-by: James Morris Acked-by: Serge Hallyn Signed-off-by: James Morris commit 6cc88bc45ce8043171089c9592da223dfab91823 Author: David Howells Date: Fri Nov 14 10:39:21 2008 +1100 CRED: Rename is_single_threaded() to is_wq_single_threaded() Rename is_single_threaded() to is_wq_single_threaded() so that a new is_single_threaded() can be created that refers to tasks rather than waitqueues. Signed-off-by: David Howells Reviewed-by: James Morris Signed-off-by: James Morris commit bb952bb98a7e479262c7eb25d5592545a3af147d Author: David Howells Date: Fri Nov 14 10:39:20 2008 +1100 CRED: Separate per-task-group keyrings from signal_struct Separate per-task-group keyrings from signal_struct and dangle their anchor from the cred struct rather than the signal_struct. Signed-off-by: David Howells Reviewed-by: James Morris Signed-off-by: James Morris commit 275bb41e9d058fbb327e7642f077e1beaeac162e Author: David Howells Date: Fri Nov 14 10:39:19 2008 +1100 CRED: Wrap access to SELinux's task SID Wrap access to SELinux's task SID, using task_sid() and current_sid() as appropriate. Signed-off-by: David Howells Acked-by: James Morris Signed-off-by: James Morris commit c69e8d9c01db2adc503464993c358901c9af9de4 Author: David Howells Date: Fri Nov 14 10:39:19 2008 +1100 CRED: Use RCU to access another task's creds and to release a task's own creds Use RCU to access another task's creds and to release a task's own creds. This means that it will be possible for the credentials of a task to be replaced without another task (a) requiring a full lock to read them, and (b) seeing deallocated memory. Signed-off-by: David Howells Acked-by: James Morris Acked-by: Serge Hallyn Signed-off-by: James Morris commit 86a264abe542cfececb4df129bc45a0338d8cdb9 Author: David Howells Date: Fri Nov 14 10:39:18 2008 +1100 CRED: Wrap current->cred and a few other accessors Wrap current->cred and a few other accessors to hide their actual implementation. Signed-off-by: David Howells Acked-by: James Morris Acked-by: Serge Hallyn Signed-off-by: James Morris commit f1752eec6145c97163dbce62d17cf5d928e28a27 Author: David Howells Date: Fri Nov 14 10:39:17 2008 +1100 CRED: Detach the credentials from task_struct Detach the credentials from task_struct, duplicating them in copy_process() and releasing them in __put_task_struct(). Signed-off-by: David Howells Acked-by: James Morris Acked-by: Serge Hallyn Signed-off-by: James Morris commit b6dff3ec5e116e3af6f537d4caedcad6b9e5082a Author: David Howells Date: Fri Nov 14 10:39:16 2008 +1100 CRED: Separate task security context from task_struct Separate the task security context from task_struct. At this point, the security data is temporarily embedded in the task_struct with two pointers pointing to it. Note that the Alpha arch is altered as it refers to (E)UID and (E)GID in entry.S via asm-offsets. With comment fixes Signed-off-by: Marc Dionne Signed-off-by: David Howells Acked-by: James Morris Acked-by: Serge Hallyn Signed-off-by: James Morris commit 15a2460ed0af7538ca8e6c610fe607a2cd9da142 Author: David Howells Date: Fri Nov 14 10:39:15 2008 +1100 CRED: Constify the kernel_cap_t arguments to the capset LSM hooks Constify the kernel_cap_t arguments to the capset LSM hooks. Signed-off-by: David Howells Acked-by: Serge Hallyn Acked-by: James Morris Signed-off-by: James Morris commit 1cdcbec1a3372c0c49c59d292e708fd07b509f18 Author: David Howells Date: Fri Nov 14 10:39:14 2008 +1100 CRED: Neuter sys_capset() Take away the ability for sys_capset() to affect processes other than current. This means that current will not need to lock its own credentials when reading them against interference by other processes. This has effectively been the case for a while anyway, since: (1) Without LSM enabled, sys_capset() is disallowed. (2) With file-based capabilities, sys_capset() is neutered. Signed-off-by: David Howells Acked-by: Serge Hallyn Acked-by: Andrew G. Morgan Acked-by: James Morris Signed-off-by: James Morris commit 8bbf4976b59fc9fc2861e79cab7beb3f6d647640 Author: David Howells Date: Fri Nov 14 10:39:14 2008 +1100 KEYS: Alter use of key instantiation link-to-keyring argument Alter the use of the key instantiation and negation functions' link-to-keyring arguments. Currently this specifies a keyring in the target process to link the key into, creating the keyring if it doesn't exist. This, however, can be a problem for copy-on-write credentials as it means that the instantiating process can alter the credentials of the requesting process. This patch alters the behaviour such that: (1) If keyctl_instantiate_key() or keyctl_negate_key() are given a specific keyring by ID (ringid >= 0), then that keyring will be used. (2) If keyctl_instantiate_key() or keyctl_negate_key() are given one of the special constants that refer to the requesting process's keyrings (KEY_SPEC_*_KEYRING, all <= 0), then: (a) If sys_request_key() was given a keyring to use (destringid) then the key will be attached to that keyring. (b) If sys_request_key() was given a NULL keyring, then the key being instantiated will be attached to the default keyring as set by keyctl_set_reqkey_keyring(). (3) No extra link will be made. Decision point (1) follows current behaviour, and allows those instantiators who've searched for a specifically named keyring in the requestor's keyring so as to partition the keys by type to still have their named keyrings. Decision point (2) allows the requestor to make sure that the key or keys that get produced by request_key() go where they want, whilst allowing the instantiator to request that the key is retained. This is mainly useful for situations where the instantiator makes a secondary request, the key for which should be retained by the initial requestor: +-----------+ +--------------+ +--------------+ | | | | | | | Requestor |------->| Instantiator |------->| Instantiator | | | | | | | +-----------+ +--------------+ +--------------+ request_key() request_key() This might be useful, for example, in Kerberos, where the requestor requests a ticket, and then the ticket instantiator requests the TGT, which someone else then has to go and fetch. The TGT, however, should be retained in the keyrings of the requestor, not the first instantiator. To make this explict an extra special keyring constant is also added. Signed-off-by: David Howells Reviewed-by: James Morris Signed-off-by: James Morris commit e9e349b051d98799b743ebf248cc2d986fedf090 Author: David Howells Date: Fri Nov 14 10:39:13 2008 +1100 KEYS: Disperse linux/key_ui.h Disperse the bits of linux/key_ui.h as the reason they were put here (keyfs) didn't get in. Signed-off-by: David Howells Reviewed-by: James Morris Signed-off-by: James Morris commit 76aac0e9a17742e60d408be1a706e9aaad370891 Author: David Howells Date: Fri Nov 14 10:39:12 2008 +1100 CRED: Wrap task credential accesses in the core kernel Wrap access to task credentials so that they can be separated more easily from the task_struct during the introduction of COW creds. Change most current->(|e|s|fs)[ug]id to current_(|e|s|fs)[ug]id(). Change some task->e?[ug]id to task_e?[ug]id(). In some places it makes more sense to use RCU directly rather than a convenient wrapper; these will be addressed by later patches. Signed-off-by: David Howells Reviewed-by: James Morris Acked-by: Serge Hallyn Cc: Al Viro Cc: linux-audit@redhat.com Cc: containers@lists.linux-foundation.org Cc: linux-mm@kvack.org Signed-off-by: James Morris commit b103c59883f1ec6e4d548b25054608cb5724453c Author: David Howells Date: Fri Nov 14 10:39:11 2008 +1100 CRED: Wrap task credential accesses in the capabilities code Wrap access to task credentials so that they can be separated more easily from the task_struct during the introduction of COW creds. Change most current->(|e|s|fs)[ug]id to current_(|e|s|fs)[ug]id(). Change some task->e?[ug]id to task_e?[ug]id(). In some places it makes more sense to use RCU directly rather than a convenient wrapper; these will be addressed by later patches. Signed-off-by: David Howells Reviewed-by: James Morris Acked-by: Serge Hallyn Cc: Andrew G. Morgan Signed-off-by: James Morris commit 47d804bfa1857b0edcac972c86499dcd14df3cf2 Author: David Howells Date: Fri Nov 14 10:39:11 2008 +1100 CRED: Wrap task credential accesses in the key management code Wrap access to task credentials so that they can be separated more easily from the task_struct during the introduction of COW creds. Change most current->(|e|s|fs)[ug]id to current_(|e|s|fs)[ug]id(). Change some task->e?[ug]id to task_e?[ug]id(). In some places it makes more sense to use RCU directly rather than a convenient wrapper; these will be addressed by later patches. Signed-off-by: David Howells Reviewed-by: James Morris Acked-by: Serge Hallyn Signed-off-by: James Morris commit 8192b0c482d7078fcdcb4854341b977426f6f09b Author: David Howells Date: Fri Nov 14 10:39:10 2008 +1100 CRED: Wrap task credential accesses in the networking subsystem Wrap access to task credentials so that they can be separated more easily from the task_struct during the introduction of COW creds. Change most current->(|e|s|fs)[ug]id to current_(|e|s|fs)[ug]id(). Change some task->e?[ug]id to task_e?[ug]id(). In some places it makes more sense to use RCU directly rather than a convenient wrapper; these will be addressed by later patches. Signed-off-by: David Howells Reviewed-by: James Morris Acked-by: Serge Hallyn Cc: netdev@vger.kernel.org Signed-off-by: James Morris commit 19d65624d38d6296dddf725d1b03baa8a491a553 Author: David Howells Date: Fri Nov 14 10:39:10 2008 +1100 CRED: Wrap task credential accesses in the UNIX socket protocol Wrap access to task credentials so that they can be separated more easily from the task_struct during the introduction of COW creds. Change most current->(|e|s|fs)[ug]id to current_(|e|s|fs)[ug]id(). Change some task->e?[ug]id to task_e?[ug]id(). In some places it makes more sense to use RCU directly rather than a convenient wrapper; these will be addressed by later patches. Signed-off-by: David Howells Reviewed-by: James Morris Acked-by: Serge Hallyn Cc: netdev@vger.kernel.org Signed-off-by: James Morris commit 8f4194026bb1e3d95fedb340a2935895845ea1d5 Author: David Howells Date: Fri Nov 14 10:39:09 2008 +1100 CRED: Wrap task credential accesses in the SunRPC protocol Wrap access to task credentials so that they can be separated more easily from the task_struct during the introduction of COW creds. Change most current->(|e|s|fs)[ug]id to current_(|e|s|fs)[ug]id(). Change some task->e?[ug]id to task_e?[ug]id(). In some places it makes more sense to use RCU directly rather than a convenient wrapper; these will be addressed by later patches. Signed-off-by: David Howells Reviewed-by: James Morris Acked-by: Serge Hallyn Cc: Trond Myklebust Cc: J. Bruce Fields Cc: Neil Brown Cc: linux-nfs@vger.kernel.org Signed-off-by: James Morris commit c2a2b8d3b299feb7ac62c2825941dec57141f6f4 Author: David Howells Date: Fri Nov 14 10:39:08 2008 +1100 CRED: Wrap task credential accesses in the ROSE protocol Wrap access to task credentials so that they can be separated more easily from the task_struct during the introduction of COW creds. Change most current->(|e|s|fs)[ug]id to current_(|e|s|fs)[ug]id(). Change some task->e?[ug]id to task_e?[ug]id(). In some places it makes more sense to use RCU directly rather than a convenient wrapper; these will be addressed by later patches. Signed-off-by: David Howells Reviewed-by: James Morris Acked-by: Serge Hallyn Acked-by: Ralf Baechle Cc: linux-hams@vger.kernel.org Signed-off-by: James Morris commit ba95b2353cf1a7f7f236946530ccf5d0ccec6b38 Author: David Howells Date: Fri Nov 14 10:39:08 2008 +1100 CRED: Wrap task credential accesses in the netrom protocol Wrap access to task credentials so that they can be separated more easily from the task_struct during the introduction of COW creds. Change most current->(|e|s|fs)[ug]id to current_(|e|s|fs)[ug]id(). Change some task->e?[ug]id to task_e?[ug]id(). In some places it makes more sense to use RCU directly rather than a convenient wrapper; these will be addressed by later patches. Signed-off-by: David Howells Reviewed-by: James Morris Acked-by: Serge Hallyn Acked-by: Ralf Baechle Cc: linux-hams@vger.kernel.org Signed-off-by: James Morris commit f82b359023c8b7b343edef6c63322b900d9e74a1 Author: David Howells Date: Fri Nov 14 10:39:07 2008 +1100 CRED: Wrap task credential accesses in the IPv6 protocol Wrap access to task credentials so that they can be separated more easily from the task_struct during the introduction of COW creds. Change most current->(|e|s|fs)[ug]id to current_(|e|s|fs)[ug]id(). Change some task->e?[ug]id to task_e?[ug]id(). In some places it makes more sense to use RCU directly rather than a convenient wrapper; these will be addressed by later patches. Signed-off-by: David Howells Reviewed-by: James Morris Acked-by: Serge Hallyn Cc: netdev@vger.kernel.org Signed-off-by: James Morris commit 734004072e05ae81c3cdd0a04ee37868fb09b71e Author: David Howells Date: Fri Nov 14 10:39:06 2008 +1100 CRED: Wrap task credential accesses in the AX25 protocol Wrap access to task credentials so that they can be separated more easily from the task_struct during the introduction of COW creds. Change most current->(|e|s|fs)[ug]id to current_(|e|s|fs)[ug]id(). Change some task->e?[ug]id to task_e?[ug]id(). In some places it makes more sense to use RCU directly rather than a convenient wrapper; these will be addressed by later patches. Signed-off-by: David Howells Reviewed-by: James Morris Acked-by: Serge Hallyn Acked-by: Ralf Baechle Cc: linux-hams@vger.kernel.org Signed-off-by: James Morris commit 414c0708d0d60eccf8345c405ac81cf32c43e901 Author: David Howells Date: Fri Nov 14 10:39:06 2008 +1100 CRED: Wrap task credential accesses in the SYSV IPC subsystem Wrap access to task credentials so that they can be separated more easily from the task_struct during the introduction of COW creds. Change most current->(|e|s|fs)[ug]id to current_(|e|s|fs)[ug]id(). Change some task->e?[ug]id to task_e?[ug]id(). In some places it makes more sense to use RCU directly rather than a convenient wrapper; these will be addressed by later patches. Signed-off-by: David Howells Reviewed-by: James Morris Acked-by: Serge Hallyn Signed-off-by: James Morris commit da9592edebceeba1b9301beafe80ec8b9c2db0ce Author: David Howells Date: Fri Nov 14 10:39:05 2008 +1100 CRED: Wrap task credential accesses in the filesystem subsystem Wrap access to task credentials so that they can be separated more easily from the task_struct during the introduction of COW creds. Change most current->(|e|s|fs)[ug]id to current_(|e|s|fs)[ug]id(). Change some task->e?[ug]id to task_e?[ug]id(). In some places it makes more sense to use RCU directly rather than a convenient wrapper; these will be addressed by later patches. Signed-off-by: David Howells Reviewed-by: James Morris Acked-by: Serge Hallyn Cc: Al Viro Signed-off-by: James Morris commit 82ab8deda7fef36f067ccdeacc3b3caefc970f89 Author: David Howells Date: Fri Nov 14 10:39:04 2008 +1100 CRED: Wrap task credential accesses in the XFS filesystem Wrap access to task credentials so that they can be separated more easily from the task_struct during the introduction of COW creds. Change most current->(|e|s|fs)[ug]id to current_(|e|s|fs)[ug]id(). Change some task->e?[ug]id to task_e?[ug]id(). In some places it makes more sense to use RCU directly rather than a convenient wrapper; these will be addressed by later patches. Signed-off-by: David Howells Reviewed-by: James Morris Acked-by: Serge Hallyn Cc: xfs@oss.sgi.com Signed-off-by: James Morris commit a5f773a65928a10eb5e5534fe6da6b427ac5b646 Author: David Howells Date: Fri Nov 14 10:39:04 2008 +1100 CRED: Wrap task credential accesses in the UFS filesystem Wrap access to task credentials so that they can be separated more easily from the task_struct during the introduction of COW creds. Change most current->(|e|s|fs)[ug]id to current_(|e|s|fs)[ug]id(). Change some task->e?[ug]id to task_e?[ug]id(). In some places it makes more sense to use RCU directly rather than a convenient wrapper; these will be addressed by later patches. Signed-off-by: David Howells Reviewed-by: James Morris Acked-by: Serge Hallyn Cc: Evgeniy Dushistov Signed-off-by: James Morris commit 7706bb39adff18a48ff98f203ffcbb00878d8589 Author: David Howells Date: Fri Nov 14 10:39:03 2008 +1100 CRED: Wrap task credential accesses in the UDF filesystem Wrap access to task credentials so that they can be separated more easily from the task_struct during the introduction of COW creds. Change most current->(|e|s|fs)[ug]id to current_(|e|s|fs)[ug]id(). Change some task->e?[ug]id to task_e?[ug]id(). In some places it makes more sense to use RCU directly rather than a convenient wrapper; these will be addressed by later patches. Signed-off-by: David Howells Reviewed-by: James Morris Acked-by: Serge Hallyn Acked-by: Jan Kara Signed-off-by: James Morris commit 26bf1946e69abf9528beda7adb4a783c439a5f7b Author: David Howells Date: Fri Nov 14 10:39:03 2008 +1100 CRED: Wrap task credential accesses in the UBIFS filesystem Wrap access to task credentials so that they can be separated more easily from the task_struct during the introduction of COW creds. Change most current->(|e|s|fs)[ug]id to current_(|e|s|fs)[ug]id(). Change some task->e?[ug]id to task_e?[ug]id(). In some places it makes more sense to use RCU directly rather than a convenient wrapper; these will be addressed by later patches. Signed-off-by: David Howells Reviewed-by: James Morris Acked-by: Serge Hallyn Cc: Artem Bityutskiy Cc: Adrian Hunter Cc: linux-mtd@lists.infradead.org Signed-off-by: James Morris commit fc7333deb741da8aafbda9ff905d3ff2c5e28a66 Author: David Howells Date: Fri Nov 14 10:39:02 2008 +1100 CRED: Wrap task credential accesses in the SYSV filesystem Wrap access to task credentials so that they can be separated more easily from the task_struct during the introduction of COW creds. Change most current->(|e|s|fs)[ug]id to current_(|e|s|fs)[ug]id(). Change some task->e?[ug]id to task_e?[ug]id(). In some places it makes more sense to use RCU directly rather than a convenient wrapper; these will be addressed by later patches. Signed-off-by: David Howells Reviewed-by: James Morris Acked-by: Serge Hallyn Cc: Christoph Hellwig Signed-off-by: James Morris commit e2950b178e8fa1cb0b122c212b6cd48e75e2b41f Author: David Howells Date: Fri Nov 14 10:39:01 2008 +1100 CRED: Wrap task credential accesses in the SMBFS filesystem Wrap access to task credentials so that they can be separated more easily from the task_struct during the introduction of COW creds. Change most current->(|e|s|fs)[ug]id to current_(|e|s|fs)[ug]id(). Change some task->e?[ug]id to task_e?[ug]id(). In some places it makes more sense to use RCU directly rather than a convenient wrapper; these will be addressed by later patches. Signed-off-by: David Howells Reviewed-by: James Morris Acked-by: Serge Hallyn Cc: Steven French Signed-off-by: James Morris commit 414cb209eaca52b708debc014a8085b7fbb15f14 Author: David Howells Date: Fri Nov 14 10:39:01 2008 +1100 CRED: Wrap task credential accesses in the ReiserFS filesystem Wrap access to task credentials so that they can be separated more easily from the task_struct during the introduction of COW creds. Change most current->(|e|s|fs)[ug]id to current_(|e|s|fs)[ug]id(). Change some task->e?[ug]id to task_e?[ug]id(). In some places it makes more sense to use RCU directly rather than a convenient wrapper; these will be addressed by later patches. Signed-off-by: David Howells Reviewed-by: James Morris Acked-by: Serge Hallyn Cc: reiserfs-devel@vger.kernel.org Signed-off-by: James Morris commit 0785f4dad0f7173f3b7133e3c274fe130e8fdbc6 Author: David Howells Date: Fri Nov 14 10:39:00 2008 +1100 CRED: Wrap task credential accesses in the RAMFS filesystem Wrap access to task credentials so that they can be separated more easily from the task_struct during the introduction of COW creds. Change most current->(|e|s|fs)[ug]id to current_(|e|s|fs)[ug]id(). Change some task->e?[ug]id to task_e?[ug]id(). In some places it makes more sense to use RCU directly rather than a convenient wrapper; these will be addressed by later patches. Signed-off-by: David Howells Reviewed-by: James Morris Acked-by: Serge Hallyn Signed-off-by: James Morris commit c222d53eb32ea0c9516261268a24c6f162423acd Author: David Howells Date: Fri Nov 14 10:38:59 2008 +1100 CRED: Wrap task credential accesses in the OMFS filesystem Wrap access to task credentials so that they can be separated more easily from the task_struct during the introduction of COW creds. Change most current->(|e|s|fs)[ug]id to current_(|e|s|fs)[ug]id(). Change some task->e?[ug]id to task_e?[ug]id(). In some places it makes more sense to use RCU directly rather than a convenient wrapper; these will be addressed by later patches. Signed-off-by: David Howells Reviewed-by: James Morris Acked-by: Serge Hallyn Cc: Bob Copeland Cc: linux-karma-devel@lists.sourceforge.net Signed-off-by: James Morris commit b19c2a3b839b9dfb3f258e8943dc3784ae20c7b0 Author: David Howells Date: Fri Nov 14 10:38:59 2008 +1100 CRED: Wrap task credential accesses in the OCFS2 filesystem Wrap access to task credentials so that they can be separated more easily from the task_struct during the introduction of COW creds. Change most current->(|e|s|fs)[ug]id to current_(|e|s|fs)[ug]id(). Change some task->e?[ug]id to task_e?[ug]id(). In some places it makes more sense to use RCU directly rather than a convenient wrapper; these will be addressed by later patches. Signed-off-by: David Howells Reviewed-by: James Morris Acked-by: Serge Hallyn Acked-by: Mark Fasheh Cc: Joel Becker Cc: ocfs2-devel@oss.oracle.com Signed-off-by: James Morris commit 5cc0a84076e172c18fb927781f44c6e47d6c5a06 Author: David Howells Date: Fri Nov 14 10:38:58 2008 +1100 CRED: Wrap task credential accesses in the NFS daemon Wrap access to task credentials so that they can be separated more easily from the task_struct during the introduction of COW creds. Change most current->(|e|s|fs)[ug]id to current_(|e|s|fs)[ug]id(). Change some task->e?[ug]id to task_e?[ug]id(). In some places it makes more sense to use RCU directly rather than a convenient wrapper; these will be addressed by later patches. Signed-off-by: David Howells Reviewed-by: James Morris Acked-by: Serge Hallyn Cc: J. Bruce Fields Cc: Neil Brown Cc: linux-nfs@vger.kernel.org Signed-off-by: James Morris commit 48937024c65db88abafd0fb14021db31f09cd4ec Author: David Howells Date: Fri Nov 14 10:38:58 2008 +1100 CRED: Wrap task credential accesses in the NCPFS filesystem Wrap access to task credentials so that they can be separated more easily from the task_struct during the introduction of COW creds. Change most current->(|e|s|fs)[ug]id to current_(|e|s|fs)[ug]id(). Change some task->e?[ug]id to task_e?[ug]id(). In some places it makes more sense to use RCU directly rather than a convenient wrapper; these will be addressed by later patches. Signed-off-by: David Howells Reviewed-by: James Morris Acked-by: Serge Hallyn Acked-by: Petr Vandrovec Signed-off-by: James Morris commit 922c030f260df9d256fecea3164210e7cb2ce407 Author: David Howells Date: Fri Nov 14 10:38:57 2008 +1100 CRED: Wrap task credential accesses in the Minix filesystem Wrap access to task credentials so that they can be separated more easily from the task_struct during the introduction of COW creds. Change most current->(|e|s|fs)[ug]id to current_(|e|s|fs)[ug]id(). Change some task->e?[ug]id to task_e?[ug]id(). In some places it makes more sense to use RCU directly rather than a convenient wrapper; these will be addressed by later patches. Signed-off-by: David Howells Reviewed-by: James Morris Acked-by: Serge Hallyn Signed-off-by: James Morris commit 8f659adfa246a1e57d0cd3f109accfe071f2d0f1 Author: David Howells Date: Fri Nov 14 10:38:56 2008 +1100 CRED: Wrap task credential accesses in the JFS filesystem Wrap access to task credentials so that they can be separated more easily from the task_struct during the introduction of COW creds. Change most current->(|e|s|fs)[ug]id to current_(|e|s|fs)[ug]id(). Change some task->e?[ug]id to task_e?[ug]id(). In some places it makes more sense to use RCU directly rather than a convenient wrapper; these will be addressed by later patches. Signed-off-by: David Howells Reviewed-by: James Morris Acked-by: Serge Hallyn Acked-by: Dave Kleikamp Cc: jfs-discussion@lists.sourceforge.net Signed-off-by: James Morris commit 77c70de15a74801f427ee5fb85ddfdde48ed84f2 Author: David Howells Date: Fri Nov 14 10:38:56 2008 +1100 CRED: Wrap task credential accesses in the hugetlbfs filesystem Wrap access to task credentials so that they can be separated more easily from the task_struct during the introduction of COW creds. Change most current->(|e|s|fs)[ug]id to current_(|e|s|fs)[ug]id(). Change some task->e?[ug]id to task_e?[ug]id(). In some places it makes more sense to use RCU directly rather than a convenient wrapper; these will be addressed by later patches. Signed-off-by: David Howells Reviewed-by: James Morris Acked-by: Serge Hallyn Cc: William Irwin Signed-off-by: James Morris commit de395b8ac25da56893d83cd5da67cf927dfa7e4d Author: David Howells Date: Fri Nov 14 10:38:55 2008 +1100 CRED: Wrap task credential accesses in the HPFS filesystem Wrap access to task credentials so that they can be separated more easily from the task_struct during the introduction of COW creds. Change most current->(|e|s|fs)[ug]id to current_(|e|s|fs)[ug]id(). Change some task->e?[ug]id to task_e?[ug]id(). In some places it makes more sense to use RCU directly rather than a convenient wrapper; these will be addressed by later patches. Signed-off-by: David Howells Reviewed-by: James Morris Acked-by: Serge Hallyn Cc: Mikulas Patocka Signed-off-by: James Morris commit 4ac8489a7294dcf92127825d74f2d981143e825d Author: David Howells Date: Fri Nov 14 10:38:54 2008 +1100 CRED: Wrap task credential accesses in the HFSplus filesystem Wrap access to task credentials so that they can be separated more easily from the task_struct during the introduction of COW creds. Change most current->(|e|s|fs)[ug]id to current_(|e|s|fs)[ug]id(). Change some task->e?[ug]id to task_e?[ug]id(). In some places it makes more sense to use RCU directly rather than a convenient wrapper; these will be addressed by later patches. Signed-off-by: David Howells Reviewed-by: James Morris Acked-by: Serge Hallyn Cc: Roman Zippel Signed-off-by: James Morris commit 94c9a5ee4cc7fb7eee2a9f9e47f7ccea6b1869ff Author: David Howells Date: Fri Nov 14 10:38:54 2008 +1100 CRED: Wrap task credential accesses in the HFS filesystem Wrap access to task credentials so that they can be separated more easily from the task_struct during the introduction of COW creds. Change most current->(|e|s|fs)[ug]id to current_(|e|s|fs)[ug]id(). Change some task->e?[ug]id to task_e?[ug]id(). In some places it makes more sense to use RCU directly rather than a convenient wrapper; these will be addressed by later patches. Signed-off-by: David Howells Reviewed-by: James Morris Acked-by: Serge Hallyn Cc: Roman Zippel Signed-off-by: James Morris commit 3de7be335593859bc84a122b1338ec358bf70e9b Author: David Howells Date: Fri Nov 14 10:38:53 2008 +1100 CRED: Wrap task credential accesses in the GFS2 filesystem Wrap access to task credentials so that they can be separated more easily from the task_struct during the introduction of COW creds. Change most current->(|e|s|fs)[ug]id to current_(|e|s|fs)[ug]id(). Change some task->e?[ug]id to task_e?[ug]id(). In some places it makes more sense to use RCU directly rather than a convenient wrapper; these will be addressed by later patches. Signed-off-by: David Howells Reviewed-by: James Morris Acked-by: Serge Hallyn Cc: Steven Whitehouse Cc: cluster-devel@redhat.com Signed-off-by: James Morris commit 2186a71cbcddda946dd3cfccd5285e210ec3af10 Author: David Howells Date: Fri Nov 14 10:38:53 2008 +1100 CRED: Wrap task credential accesses in the FUSE filesystem Wrap access to task credentials so that they can be separated more easily from the task_struct during the introduction of COW creds. Change most current->(|e|s|fs)[ug]id to current_(|e|s|fs)[ug]id(). Change some task->e?[ug]id to task_e?[ug]id(). In some places it makes more sense to use RCU directly rather than a convenient wrapper; these will be addressed by later patches. Signed-off-by: David Howells Reviewed-by: James Morris Acked-by: Serge Hallyn Cc: Miklos Szeredi Cc: fuse-devel@lists.sourceforge.net Signed-off-by: James Morris commit f0ce7ee3a8ec1e80b6f460983ef1f26e603026f5 Author: David Howells Date: Fri Nov 14 10:38:52 2008 +1100 CRED: Wrap task credential accesses in the FAT filesystem Wrap access to task credentials so that they can be separated more easily from the task_struct during the introduction of COW creds. Change most current->(|e|s|fs)[ug]id to current_(|e|s|fs)[ug]id(). Change some task->e?[ug]id to task_e?[ug]id(). In some places it makes more sense to use RCU directly rather than a convenient wrapper; these will be addressed by later patches. Signed-off-by: David Howells Reviewed-by: James Morris Acked-by: Serge Hallyn Acked-by: OGAWA Hirofumi Signed-off-by: James Morris commit 4c9c544e4987efe6643ad5692af47a0abfd4e0d1 Author: David Howells Date: Fri Nov 14 10:38:51 2008 +1100 CRED: Wrap task credential accesses in the Ext4 filesystem Wrap access to task credentials so that they can be separated more easily from the task_struct during the introduction of COW creds. Change most current->(|e|s|fs)[ug]id to current_(|e|s|fs)[ug]id(). Change some task->e?[ug]id to task_e?[ug]id(). In some places it makes more sense to use RCU directly rather than a convenient wrapper; these will be addressed by later patches. Signed-off-by: David Howells Reviewed-by: James Morris Acked-by: Serge Hallyn Cc: Stephen Tweedie Cc: Andrew Morton Cc: adilger@sun.com Cc: linux-ext4@vger.kernel.org Signed-off-by: James Morris commit 6a2f90e9fae0824e8b6b123f1ea7d9fff9079ef3 Author: David Howells Date: Fri Nov 14 10:38:51 2008 +1100 CRED: Wrap task credential accesses in the Ext3 filesystem Wrap access to task credentials so that they can be separated more easily from the task_struct during the introduction of COW creds. Change most current->(|e|s|fs)[ug]id to current_(|e|s|fs)[ug]id(). Change some task->e?[ug]id to task_e?[ug]id(). In some places it makes more sense to use RCU directly rather than a convenient wrapper; these will be addressed by later patches. Signed-off-by: David Howells Reviewed-by: James Morris Acked-by: Serge Hallyn Cc: Stephen Tweedie Cc: Andrew Morton Cc: adilger@sun.com Cc: linux-ext4@vger.kernel.org Signed-off-by: James Morris commit a8dd4d67bdf9c48c5ebfa366592fde7e2d318b4f Author: David Howells Date: Fri Nov 14 10:38:50 2008 +1100 CRED: Wrap task credential accesses in the Ext2 filesystem Wrap access to task credentials so that they can be separated more easily from the task_struct during the introduction of COW creds. Change most current->(|e|s|fs)[ug]id to current_(|e|s|fs)[ug]id(). Change some task->e?[ug]id to task_e?[ug]id(). In some places it makes more sense to use RCU directly rather than a convenient wrapper; these will be addressed by later patches. Signed-off-by: David Howells Reviewed-by: James Morris Acked-by: Serge Hallyn Cc: linux-ext4@vger.kernel.org Signed-off-by: James Morris commit 4eea03539d9a8e3f5056aed690efde1f75535e7b Author: David Howells Date: Fri Nov 14 10:38:49 2008 +1100 CRED: Wrap task credential accesses in the eCryptFS filesystem Wrap access to task credentials so that they can be separated more easily from the task_struct during the introduction of COW creds. Change most current->(|e|s|fs)[ug]id to current_(|e|s|fs)[ug]id(). Change some task->e?[ug]id to task_e?[ug]id(). In some places it makes more sense to use RCU directly rather than a convenient wrapper; these will be addressed by later patches. Signed-off-by: David Howells Reviewed-by: James Morris Acked-by: Serge Hallyn Cc: Mike Halcrow Cc: Phillip Hellewell Cc: ecryptfs-devel@lists.sourceforge.net Signed-off-by: James Morris commit ec4c2aacd16672febca053109eb9ddf672108ca1 Author: David Howells Date: Fri Nov 14 10:38:49 2008 +1100 CRED: Wrap task credential accesses in the devpts filesystem Wrap access to task credentials so that they can be separated more easily from the task_struct during the introduction of COW creds. Change most current->(|e|s|fs)[ug]id to current_(|e|s|fs)[ug]id(). Change some task->e?[ug]id to task_e?[ug]id(). In some places it makes more sense to use RCU directly rather than a convenient wrapper; these will be addressed by later patches. Signed-off-by: David Howells Reviewed-by: James Morris Acked-by: Serge Hallyn Signed-off-by: James Morris commit 97b7702cd1bdb8e89bde6c70aa983e7b82a52ec6 Author: David Howells Date: Fri Nov 14 10:38:48 2008 +1100 CRED: Wrap task credential accesses in the Coda filesystem Wrap access to task credentials so that they can be separated more easily from the task_struct during the introduction of COW creds. Change most current->(|e|s|fs)[ug]id to current_(|e|s|fs)[ug]id(). Change some task->e?[ug]id to task_e?[ug]id(). In some places it makes more sense to use RCU directly rather than a convenient wrapper; these will be addressed by later patches. Signed-off-by: David Howells Reviewed-by: James Morris Acked-by: Serge Hallyn Cc: Jan Harkes Cc: codalist@coda.cs.cmu.edu Signed-off-by: James Morris commit a001e5b558f25eb1e588522d73ac949b643b7a37 Author: David Howells Date: Fri Nov 14 10:38:47 2008 +1100 CRED: Wrap task credential accesses in the CIFS filesystem Wrap access to task credentials so that they can be separated more easily from the task_struct during the introduction of COW creds. Change most current->(|e|s|fs)[ug]id to current_(|e|s|fs)[ug]id(). Change some task->e?[ug]id to task_e?[ug]id(). In some places it makes more sense to use RCU directly rather than a convenient wrapper; these will be addressed by later patches. Signed-off-by: David Howells Reviewed-by: James Morris Acked-by: Serge Hallyn Cc: Steve French Cc: linux-cifs-client@lists.samba.org Signed-off-by: James Morris commit 1109b07b7dcb938de7a0d65efc1b4739dc4e9787 Author: David Howells Date: Fri Nov 14 10:38:47 2008 +1100 CRED: Wrap task credential accesses in the BFS filesystem Wrap access to task credentials so that they can be separated more easily from the task_struct during the introduction of COW creds. Change most current->(|e|s|fs)[ug]id to current_(|e|s|fs)[ug]id(). Change some task->e?[ug]id to task_e?[ug]id(). In some places it makes more sense to use RCU directly rather than a convenient wrapper; these will be addressed by later patches. Signed-off-by: David Howells Reviewed-by: James Morris Acked-by: Serge Hallyn Cc: Tigran A. Aivazian Signed-off-by: James Morris commit 0eb790e3a2d872192af8ceff2cabff8594c56440 Author: David Howells Date: Fri Nov 14 10:38:46 2008 +1100 CRED: Wrap task credential accesses in the autofs4 filesystem Wrap access to task credentials so that they can be separated more easily from the task_struct during the introduction of COW creds. Change most current->(|e|s|fs)[ug]id to current_(|e|s|fs)[ug]id(). Change some task->e?[ug]id to task_e?[ug]id(). In some places it makes more sense to use RCU directly rather than a convenient wrapper; these will be addressed by later patches. Signed-off-by: David Howells Reviewed-by: James Morris Acked-by: Serge Hallyn Cc: Ian Kent Cc: autofs@linux.kernel.org Signed-off-by: James Morris commit 73c646e4afb658e601a46bf1b57925450307a119 Author: David Howells Date: Fri Nov 14 10:38:45 2008 +1100 CRED: Wrap task credential accesses in the autofs filesystem Wrap access to task credentials so that they can be separated more easily from the task_struct during the introduction of COW creds. Change most current->(|e|s|fs)[ug]id to current_(|e|s|fs)[ug]id(). Change some task->e?[ug]id to task_e?[ug]id(). In some places it makes more sense to use RCU directly rather than a convenient wrapper; these will be addressed by later patches. Signed-off-by: David Howells Reviewed-by: James Morris Acked-by: Serge Hallyn Cc: H. Peter Anvin Cc: autofs@linux.kernel.org Signed-off-by: James Morris commit 215599815d8977a4338fbd27d6fe2c1721200197 Author: David Howells Date: Fri Nov 14 10:38:45 2008 +1100 CRED: Wrap task credential accesses in the AFFS filesystem Wrap access to task credentials so that they can be separated more easily from the task_struct during the introduction of COW creds. Change most current->(|e|s|fs)[ug]id to current_(|e|s|fs)[ug]id(). Change some task->e?[ug]id to task_e?[ug]id(). In some places it makes more sense to use RCU directly rather than a convenient wrapper; these will be addressed by later patches. Signed-off-by: David Howells Reviewed-by: James Morris Acked-by: Serge Hallyn Cc: Roman Zippel Signed-off-by: James Morris commit f8b9d53a31dca2c1185232c5fe2731d99cc963c8 Author: David Howells Date: Fri Nov 14 10:38:44 2008 +1100 CRED: Wrap task credential accesses in 9P2000 filesystem Wrap access to task credentials so that they can be separated more easily from the task_struct during the introduction of COW creds. Change most current->(|e|s|fs)[ug]id to current_(|e|s|fs)[ug]id(). Change some task->e?[ug]id to task_e?[ug]id(). In some places it makes more sense to use RCU directly rather than a convenient wrapper; these will be addressed by later patches. Signed-off-by: David Howells Reviewed-by: James Morris Acked-by: Serge Hallyn Reviewed-by: Eric Van Hensbergen Cc: Ron Minnich Cc: Latchesar Ionkov Cc: v9fs-developer@lists.sourceforge.net Signed-off-by: James Morris commit cd80ca8a03fd712b046028c1f66e10f3aec43eee Author: David Howells Date: Fri Nov 14 10:38:43 2008 +1100 CRED: Wrap task credential accesses in the USB driver Wrap access to task credentials so that they can be separated more easily from the task_struct during the introduction of COW creds. Change most current->(|e|s|fs)[ug]id to current_(|e|s|fs)[ug]id(). Change some task->e?[ug]id to task_e?[ug]id(). In some places it makes more sense to use RCU directly rather than a convenient wrapper; these will be addressed by later patches. Signed-off-by: David Howells Reviewed-by: James Morris Acked-by: Serge Hallyn Cc: Greg Kroah-Hartman Cc: linux-usb@vger.kernel.org Signed-off-by: James Morris commit ee9785ada3573700efe77b78c03d4e26a4e1bf26 Author: David Howells Date: Fri Nov 14 10:38:43 2008 +1100 CRED: Wrap task credential accesses in the network device drivers Wrap access to task credentials so that they can be separated more easily from the task_struct during the introduction of COW creds. Change most current->(|e|s|fs)[ug]id to current_(|e|s|fs)[ug]id(). Change some task->e?[ug]id to task_e?[ug]id(). In some places it makes more sense to use RCU directly rather than a convenient wrapper; these will be addressed by later patches. Signed-off-by: David Howells Reviewed-by: James Morris Acked-by: Serge Hallyn Cc: netdev@vger.kernel.org Signed-off-by: James Morris commit 0e164b685cab357546a9a09ef234922b82ecbfaf Author: David Howells Date: Fri Nov 14 10:38:42 2008 +1100 CRED: Wrap task credential accesses in the ISDN drivers Wrap access to task credentials so that they can be separated more easily from the task_struct during the introduction of COW creds. Change most current->(|e|s|fs)[ug]id to current_(|e|s|fs)[ug]id(). Change some task->e?[ug]id to task_e?[ug]id(). In some places it makes more sense to use RCU directly rather than a convenient wrapper; these will be addressed by later patches. Signed-off-by: David Howells Reviewed-by: James Morris Acked-by: Serge Hallyn Acked-by: Karsten Keil Cc: isdn4linux@listserv.isdn4linux.de Signed-off-by: James Morris commit 66303bce9b924e35e435d35409d3abc371755767 Author: David Howells Date: Fri Nov 14 10:38:41 2008 +1100 CRED: Wrap task credential accesses in the tty driver Wrap access to task credentials so that they can be separated more easily from the task_struct during the introduction of COW creds. Change most current->(|e|s|fs)[ug]id to current_(|e|s|fs)[ug]id(). Change some task->e?[ug]id to task_e?[ug]id(). In some places it makes more sense to use RCU directly rather than a convenient wrapper; these will be addressed by later patches. Signed-off-by: David Howells Reviewed-by: James Morris Acked-by: Serge Hallyn Cc: Alan Cox Signed-off-by: James Morris commit b0fafa816ece0080771355de6158b4dfa8531a95 Author: David Howells Date: Fri Nov 14 10:38:41 2008 +1100 CRED: Wrap task credential accesses in the block loopback driver Wrap access to task credentials so that they can be separated more easily from the task_struct during the introduction of COW creds. Change most current->(|e|s|fs)[ug]id to current_(|e|s|fs)[ug]id(). Change some task->e?[ug]id to task_e?[ug]id(). In some places it makes more sense to use RCU directly rather than a convenient wrapper; these will be addressed by later patches. Signed-off-by: David Howells Reviewed-by: James Morris Acked-by: Serge Hallyn Cc: Jens Axboe Signed-off-by: James Morris commit 350b4da71f8326b9319ada7b701f2bce2e1285b7 Author: David Howells Date: Fri Nov 14 10:38:40 2008 +1100 CRED: Wrap task credential accesses in the x86 arch Wrap access to task credentials so that they can be separated more easily from the task_struct during the introduction of COW creds. Change most current->(|e|s|fs)[ug]id to current_(|e|s|fs)[ug]id(). Change some task->e?[ug]id to task_e?[ug]id(). In some places it makes more sense to use RCU directly rather than a convenient wrapper; these will be addressed by later patches. Signed-off-by: David Howells Reviewed-by: James Morris Acked-by: Serge Hallyn Cc: Thomas Gleixner Cc: Ingo Molnar Cc: H. Peter Anvin Signed-off-by: James Morris commit e54237053204caebacb3eda3d37363f1a6118707 Author: David Howells Date: Fri Nov 14 10:38:39 2008 +1100 CRED: Wrap task credential accesses in the S390 arch Wrap access to task credentials so that they can be separated more easily from the task_struct during the introduction of COW creds. Change most current->(|e|s|fs)[ug]id to current_(|e|s|fs)[ug]id(). Change some task->e?[ug]id to task_e?[ug]id(). In some places it makes more sense to use RCU directly rather than a convenient wrapper; these will be addressed by later patches. Signed-off-by: David Howells Reviewed-by: James Morris Acked-by: Serge Hallyn Cc: Martin Schwidefsky Cc: Heiko Carstens Cc: linux-s390@vger.kernel.org Signed-off-by: James Morris commit 1330deb0f6e89525c8e9fcbd6b13522c9243bfc0 Author: David Howells Date: Fri Nov 14 10:38:39 2008 +1100 CRED: Wrap task credential accesses in the PowerPC arch Wrap access to task credentials so that they can be separated more easily from the task_struct during the introduction of COW creds. Change most current->(|e|s|fs)[ug]id to current_(|e|s|fs)[ug]id(). Change some task->e?[ug]id to task_e?[ug]id(). In some places it makes more sense to use RCU directly rather than a convenient wrapper; these will be addressed by later patches. Signed-off-by: David Howells Reviewed-by: James Morris Acked-by: Serge Hallyn Acked-by: Benjamin Herrenschmidt Cc: Paul Mackerras Cc: linuxppc-dev@ozlabs.org Signed-off-by: James Morris commit 25e15731af0c8d7adc58f72327dab7293857129f Author: David Howells Date: Fri Nov 14 10:38:38 2008 +1100 CRED: Wrap task credential accesses in the PA-RISC arch Wrap access to task credentials so that they can be separated more easily from the task_struct during the introduction of COW creds. Change most current->(|e|s|fs)[ug]id to current_(|e|s|fs)[ug]id(). Change some task->e?[ug]id to task_e?[ug]id(). In some places it makes more sense to use RCU directly rather than a convenient wrapper; these will be addressed by later patches. Signed-off-by: David Howells Reviewed-by: James Morris Acked-by: Serge Hallyn Acked-by: Kyle McMartin Cc: Matthew Wilcox Cc: Grant Grundler Cc: linux-parisc@vger.kernel.org Signed-off-by: James Morris commit b4212737a39e4cfb0fb66769acbc0bd182a93253 Author: David Howells Date: Fri Nov 14 10:38:37 2008 +1100 CRED: Wrap task credential accesses in the MIPS arch Wrap access to task credentials so that they can be separated more easily from the task_struct during the introduction of COW creds. Change most current->(|e|s|fs)[ug]id to current_(|e|s|fs)[ug]id(). Change some task->e?[ug]id to task_e?[ug]id(). In some places it makes more sense to use RCU directly rather than a convenient wrapper; these will be addressed by later patches. Signed-off-by: David Howells Reviewed-by: James Morris Acked-by: Serge Hallyn Acked-by: Ralf Baechle Cc: linux-mips@linux-mips.org Signed-off-by: James Morris commit ef81ee9855d6c605ed6090a8018c78572cc68b5c Author: David Howells Date: Fri Nov 14 10:38:37 2008 +1100 CRED: Wrap task credential accesses in the IA64 arch Wrap access to task credentials so that they can be separated more easily from the task_struct during the introduction of COW creds. Change most current->(|e|s|fs)[ug]id to current_(|e|s|fs)[ug]id(). Change some task->e?[ug]id to task_e?[ug]id(). In some places it makes more sense to use RCU directly rather than a convenient wrapper; these will be addressed by later patches. Signed-off-by: David Howells Reviewed-by: James Morris Acked-by: Serge Hallyn Cc: Tony Luck Cc: linux-ia64@vger.kernel.org Signed-off-by: James Morris commit d1aaf8cf8afe70a8c2235a565885291fe290c57c Author: Stephen Hemminger Date: Thu Nov 13 08:33:00 2008 -0800 tracing/fastboot: put error message on stderr Since this scripts output is usually redirected, put error messages on standard error and exit with error code if no data is found. Signed-off-by: Stephen Hemminger Acked-by: Arjan van de Ven Signed-off-by: Ingo Molnar commit b3535c6390f27d04273e4eee0bc687f171fbf5f4 Author: walimis Date: Fri Nov 14 00:21:02 2008 +0800 ftrace: remove unnecessary if condition of __unregister_ftrace_function Because it has goto out before ftrace_list == &ftrace_list_end, that's to say, we never meet this condition. Signed-off-by: walimis Acked-by: Steven Rostedt Signed-off-by: Ingo Molnar commit cd80bc6f4811b48eb68716c8255bf7e5f0006caa Merge: c4da29c 6a12afb Author: Takashi Iwai Date: Thu Nov 13 14:38:00 2008 +0100 Merge branch 'topic/fix/hda' into topic/hda Conflicts: sound/pci/hda/patch_sigmatel.c commit 0b6048561d5f505e3a027a519a6d0f488ba9a2bb Author: Jarkko Nikula Date: Wed Nov 12 17:05:51 2008 +0200 ASoC: OMAP: Add more supported sample rates into McBSP DAI driver Originally it was put too tight limits to support only 44.1 kHz and 48 kHz sample rates in McBSP DAI driver. Extend it now to 8 kHz - 96 kHz. With 96 kHz and 2*16 bits, bit clock is 3.072 MHz < 3.125 MHz (I2S max?). Tested on Nokia N810 with TVL320AIC33 from rates 8 - 96 kHz and on Texas Instruments Beagle with TWL4030 from rates 8 - 48 kHz. Signed-off-by: Jarkko Nikula Acked-by: Steve Sakoman Acked-by: Arun KS Signed-off-by: Mark Brown commit bbba944410310181de14a5c60a7c161ff2447dd9 Author: Jarkko Nikula Date: Wed Nov 12 17:05:41 2008 +0200 ASoC: Fix supported sample rates of TWL4030 audio codec TWL4030 currently supports rates between 8 kHz and 48 kHz and sets the codec mode register accordingly in twl4030_hw_params. Expose this info so that ASoC can match other rates than 44.1 kHz or 48 kHz as well. Signed-off-by: Jarkko Nikula Acked-by: Steve Sakoman Signed-off-by: Mark Brown commit c4da29ca08e09ed41a2030c1f7b5860f116573be Author: Yang, Libin Date: Thu Nov 13 11:07:07 2008 +0100 ALSA: hda - support detecting HD Audio devices with PCI class code The patch uses HD Audio PCI class code to detect AMD HD Audio cards. Signed-off-by: Libin Yang Signed-off-by: Takashi Iwai commit 12ef7d448613ead2babd41c3ebfa1fe03c20edef Author: Steven Rostedt Date: Wed Nov 12 17:52:38 2008 -0500 ftrace: CPU buffer start annotation clean ups Impact: better handling of CPU buffer start annotation Because of the confusion with the per CPU buffers wrapping where one CPU might be more active at the end of the trace than the other CPUs causing that one CPU to have a shorter history. Kernel developers were confused by the "missing" data of that one CPU at the beginning of the trace output. An annotation was added to the trace output to show that the buffer had started: # tracer: function # # TASK-PID CPU# TIMESTAMP FUNCTION # | | | | | ##### CPU 3 buffer started #### -0 [003] 158.192959: smp_apic_timer_interrupt [...] -0 [003] 161.556520: default_idle ##### CPU 1 buffer started #### -0 [001] 161.592494: hrtimer_force_reprogram [etc] But this annotation gets a bit messy when tracers do not fill the buffers. This patch does a couple of things: One) it adds a flag to trace_options to disable these annotations Two) it does not annotate if the tracer did not overflow its buffer. This makes the output much cleaner. Signed-off-by: Steven Rostedt Signed-off-by: Ingo Molnar commit ee6bce52276c0717ed3e63296e5d9465d339e923 Author: Steven Rostedt Date: Wed Nov 12 17:52:37 2008 -0500 ftrace: rename iter_ctrl to trace_options Impact: rename file /debug/tracing/iter_ctrl to /debug/tracing/trace_options The original ftrace had a file called "iter_ctrl" that would control the way the output was iterated. But this file grew into a catch all for different trace options. This patch renames the file from iter_ctrl to trace_options to reflect this change. Signed-off-by: Steven Rostedt Signed-off-by: Ingo Molnar commit 1696b2b0f44a8d42f3e6b1ea90c21790871c04d9 Author: Steven Rostedt Date: Thu Nov 13 00:09:35 2008 -0500 ftrace: show buffer size in kilobytes Impact: change the units of buffer_size_kb to kilobytes This patch changes the units of the buffer_size_kb file to kilobytes. Reading and writing to the file uses kilobytes as units. To help users to know what units are used, the output of the file now looks like: # cat /debug/tracing/buffer_size_kb 1408 Signed-off-by: Steven Rostedt Signed-off-by: Ingo Molnar commit a94c80e78bc9f4493ffc25a02d5d7bcd93c399d0 Author: Steven Rostedt Date: Wed Nov 12 17:52:36 2008 -0500 ftrace: rename trace_entries to buffer_size_kb Impact: rename of debugfs file trace_entries to buffer_size_kb The original ftrace had fixed size entries, and the number of entries was shown and modified via the file called trace_entries. By converting to the unified trace buffer, we now allow for variable size entries which makes the meaning of trace_entries pointless. Since trace_size might be confused to the size of the trace, this patch names it "buffer_size_kb" (thanks to Arjan van de Ven for this idea). [ mingo@elte.hu: changed from buffer_size to buffer_size_kb ] ( Note, the units are still bytes - the next patch changes that, to keep the wide rename patch separate from the unit-change patch. ) Signed-off-by: Steven Rostedt Signed-off-by: Ingo Molnar commit 24de38620dd3504782c90c0892eef888d0c351e9 Merge: 94b80ff 68f96c0 1dc1c6a 47e74f2 Author: Ingo Molnar Date: Thu Nov 13 09:48:03 2008 +0100 Merge branches 'tracing/branch-tracer', 'tracing/fastboot', 'tracing/function-return-tracer' and 'tracing/urgent' into tracing/core commit 524ad0a79126efabf58d0a49eace6155ab5b4549 Author: Wang Chen Date: Wed Nov 12 23:39:10 2008 -0800 netdevice: safe convert to netdev_priv() #part-4 We have some reasons to kill netdev->priv: 1. netdev->priv is equal to netdev_priv(). 2. netdev_priv() wraps the calculation of netdev->priv's offset, obviously netdev_priv() is more flexible than netdev->priv. But we cann't kill netdev->priv, because so many drivers reference to it directly. This patch is a safe convert for netdev->priv to netdev_priv(netdev). Since all of the netdev->priv is only for read. But it is too big to be sent in one mail. I split it to 4 parts and make every part smaller than 100,000 bytes, which is max size allowed by vger. Signed-off-by: Wang Chen Signed-off-by: David S. Miller commit 8f15ea42b64941001a401cf855a0869e24f3a845 Author: Wang Chen Date: Wed Nov 12 23:38:36 2008 -0800 netdevice: safe convert to netdev_priv() #part-3 We have some reasons to kill netdev->priv: 1. netdev->priv is equal to netdev_priv(). 2. netdev_priv() wraps the calculation of netdev->priv's offset, obviously netdev_priv() is more flexible than netdev->priv. But we cann't kill netdev->priv, because so many drivers reference to it directly. This patch is a safe convert for netdev->priv to netdev_priv(netdev). Since all of the netdev->priv is only for read. But it is too big to be sent in one mail. I split it to 4 parts and make every part smaller than 100,000 bytes, which is max size allowed by vger. Signed-off-by: Wang Chen Signed-off-by: David S. Miller commit 4cf1653aa90c6320dc8032443b5e322820aa28b1 Author: Wang Chen Date: Wed Nov 12 23:38:14 2008 -0800 netdevice: safe convert to netdev_priv() #part-2 We have some reasons to kill netdev->priv: 1. netdev->priv is equal to netdev_priv(). 2. netdev_priv() wraps the calculation of netdev->priv's offset, obviously netdev_priv() is more flexible than netdev->priv. But we cann't kill netdev->priv, because so many drivers reference to it directly. This patch is a safe convert for netdev->priv to netdev_priv(netdev). Since all of the netdev->priv is only for read. But it is too big to be sent in one mail. I split it to 4 parts and make every part smaller than 100,000 bytes, which is max size allowed by vger. Signed-off-by: Wang Chen Signed-off-by: David S. Miller commit 454d7c9b14e20fd1949e2686e9de4a2926e01476 Author: Wang Chen Date: Wed Nov 12 23:37:49 2008 -0800 netdevice: safe convert to netdev_priv() #part-1 We have some reasons to kill netdev->priv: 1. netdev->priv is equal to netdev_priv(). 2. netdev_priv() wraps the calculation of netdev->priv's offset, obviously netdev_priv() is more flexible than netdev->priv. But we cann't kill netdev->priv, because so many drivers reference to it directly. This patch is a safe convert for netdev->priv to netdev_priv(netdev). Since all of the netdev->priv is only for read. But it is too big to be sent in one mail. I split it to 4 parts and make every part smaller than 100,000 bytes, which is max size allowed by vger. Signed-off-by: Wang Chen Signed-off-by: David S. Miller commit 7a12122c7a00347da9669cfcde82954c9e3d6f5e Author: Arnaud Ebalard Date: Wed Nov 12 23:28:15 2008 -0800 net: Remove unused parameter of xfrm_gen_index() In commit 2518c7c2b3d7f0a6b302b4efe17c911f8dd4049f ("[XFRM]: Hash policies when non-prefixed."), the last use of xfrm_gen_policy() first argument was removed, but the argument was left behind in the prototype. Signed-off-by: Arnaud Ebalard Acked-by: Herbert Xu Signed-off-by: David S. Miller commit 2378982487c492541d17adc0a870e7e83b07ba43 Author: Alexey Dobriyan Date: Wed Nov 12 23:25:32 2008 -0800 net: ifdef struct sock::sk_async_wait_queue Every user is under CONFIG_NET_DMA already, so ifdef field as well. Signed-off-by: Alexey Dobriyan Signed-off-by: David S. Miller commit 3a95cb972bb0eb80dfdb42f11628e6d58bcdde29 Author: Wu Fengguang Date: Thu Nov 13 10:19:38 2008 +0800 ALSA: handle SiI1392 HDMI codec in patch_intelhdmi.c Move the handling of SiI1392 HDMI codec from patch_atihdmi.c to patch_intelhdmi.c, which makes our ASUS P5E-VM HDMI board work. Signed-off-by: Wu Fengguang Signed-off-by: Takashi Iwai commit e4412cb8a6b4190cf73ae44c859fd7e3727d8b13 Author: Michael Chan Date: Wed Nov 12 16:03:05 2008 -0800 bnx2: Update version to 1.8.2. Signed-off-by: Michael Chan Signed-off-by: Matt Carlson Signed-off-by: Benjamin Li Signed-off-by: David S. Miller commit 40105c0b0753515711318db87d36c8338dc74490 Author: Michael Chan Date: Wed Nov 12 16:02:45 2008 -0800 bnx2: Reorganize timeout constants. Move all related timeout constants to the same location. BNX2 prefix is also added to make them more consistent. Signed-off-by: Michael Chan Signed-off-by: Matt Carlson Signed-off-by: Benjamin Li Signed-off-by: David S. Miller commit d8026d939495c105cf747c0196a8fa738cf2ad20 Author: Michael Chan Date: Wed Nov 12 16:02:20 2008 -0800 bnx2: Set rx buffer water marks based on MTU. The default rx buffer water marks for XOFF/XON are for 1500 MTU. At larger MTUs, these water marks need to be adjusted for effective flow control. Signed-off-by: Michael Chan Signed-off-by: Matt Carlson Signed-off-by: Benjamin Li Signed-off-by: David S. Miller commit 5ec6d7bf195c2e70003ff30e4f51390ef7e85a31 Author: Michael Chan Date: Wed Nov 12 16:01:41 2008 -0800 bnx2: Restrict WoL support. On some quad-port cards that cannot support WoL on all ports due to excessive power consumption, the driver needs to restrict WoL on some ports by checking VAUX_PRESET bit. Signed-off-by: Michael Chan Signed-off-by: Matt Carlson Signed-off-by: Benjamin Li Signed-off-by: David S. Miller commit 1caacecb7cb2b72e798f06a32b5061075cf397fa Author: Michael Chan Date: Wed Nov 12 16:01:12 2008 -0800 bnx2: Add PCI ID for 5716S. Signed-off-by: Michael Chan Signed-off-by: Matt Carlson Signed-off-by: Benjamin Li Signed-off-by: David S. Miller commit 1dc1c6adf38bc5799d1594681645ced40ced4b6b Author: Frederic Weisbecker Date: Wed Nov 12 22:49:23 2008 +0100 tracing/function-return-tracer: call prepare_ftrace_return by registers Impact: Optimize a bit the function return tracer This patch changes the calling convention of prepare_ftrace_return to pass its arguments by register. This will optimize it a bit and prepare it to support dynamic tracing. Signed-off-by: Frederic Weisbecker Signed-off-by: Ingo Molnar commit 62d59d17a5f98edb48b171742dfa531488802f07 Author: Frederic Weisbecker Date: Wed Nov 12 22:47:54 2008 +0100 tracing/function-return-tracer: make the function return tracer lockless Impact: remove spinlocks and irq disabling in function return tracer. I've tried to figure out all of the race condition that could happen when the tracer pushes or pops a return address trace to/from the current thread_info. Theory: _ One thread can only execute on one cpu at a time. So this code doesn't need to be SMP-safe. Just drop the spinlock. _ The only race could happen between the current thread and an interrupt. If an interrupt is raised, it will increase the index of the return stack storage and then execute until the end of the tracing to finally free the index it used. We don't need to disable irqs. This is theorical. In practice, I've tested it with a two-core SMP and had no problem at all. Perhaps -tip testing could confirm it. Signed-off-by: Frederic Weisbecker Signed-off-by: Ingo Molnar commit 94b80ffd650b22e1fd493ccf6bad7efda4b8ea85 Author: Steven Rostedt Date: Wed Nov 12 16:18:45 2008 -0500 ftrace: rename trace_unlikely.c file Impact: File name change of trace_unlikely.c The "unlikely" name for the tracer is quite ugly. We renamed all the parts of it to "branch" and now it is time to rename the file too. Signed-off-by: Steven Rostedt Signed-off-by: Ingo Molnar commit 80e5ea4506791af206266c5921c97f11d3b17866 Author: Steven Rostedt Date: Wed Nov 12 15:24:24 2008 -0500 ftrace: add tracer called branch Impact: added new branch tracer Currently the tracing of branch profiling (unlikelys and likelys hit) is only activated by the iter_ctrl. This patch adds a tracer called "branch" that will just trace the branch profiling. The advantage of adding this tracer is that it can be added to the ftrace selftests on startup. Signed-off-by: Steven Rostedt Signed-off-by: Ingo Molnar commit 9f029e83e968e5661d7be045bbcb620dbb909938 Author: Steven Rostedt Date: Wed Nov 12 15:24:24 2008 -0500 ftrace: rename unlikely iter_ctrl to branch Impact: rename of iter_ctrl unlikely to branch The unlikely name is ugly. This patch converts the iter_ctrl command "unlikely" and "nounlikely" to "branch" and "nobranch" respectively. It also renames a lot of internal functions to use "branch" instead of "unlikely". Signed-off-by: Steven Rostedt Signed-off-by: Ingo Molnar commit 2ed84eeb8808cf3c9f039213ca137ffd7d753f0e Author: Steven Rostedt Date: Wed Nov 12 15:24:24 2008 -0500 trace: rename unlikely profiler to branch profiler Impact: name change of unlikely tracer and profiler Ingo Molnar suggested changing the config from UNLIKELY_PROFILE to BRANCH_PROFILING. I never did like the "unlikely" name so I went one step farther, and renamed all the unlikely configurations to a "BRANCH" variant. Signed-off-by: Steven Rostedt Signed-off-by: Ingo Molnar commit 7cbd8a839118eede2393f0926b8e15027162bcd6 Author: yanhai zhu Date: Wed Nov 12 14:38:54 2008 -0500 Btrfs: Add a missing return pointer check Add a missing kzalloc() return pointer check in add_missing_dev(). Signed-off-by: Chris Mason commit 0df49b911db2b22ea808b596070b1cc65c23d148 Author: yanhai zhu Date: Wed Nov 12 14:36:58 2008 -0500 Btrfs: Check kthread_should_stop() before schedule() in worker_loop In worker_loop(), the func should check whether it has been requested to stop before it decides to schedule out. Otherwise if the stop request(also the last wake_up()) sent by btrfs_stop_workers() happens when worker_loop() running after the "while" judgement and before schedule(), woker_loop() will schedule away and never be woken up, which will also cause btrfs_stop_workers() wait forever. Signed-off-by: Chris Mason commit c36047d729a3fa080dd194b20b684cc9fe73e90c Author: Yan Zheng Date: Wed Nov 12 14:19:50 2008 -0500 Btrfs: Fix race in btrfs_mark_extent_written When extent needs to be split, btrfs_mark_extent_written truncates the extent first, then inserts a new extent and increases the reference count. The race happens if someone else deletes the old extent before the new extent is inserted. The fix here is increase the reference count in advance. This race is similar to the race in btrfs_drop_extents that was recently fixed. Signed-off-by: Yan Zheng commit 2b82032c34ec40515d3c45c36cd1961f37977de8 Author: Yan Zheng Date: Mon Nov 17 21:11:30 2008 -0500 Btrfs: Seed device support Seed device is a special btrfs with SEEDING super flag set and can only be mounted in read-only mode. Seed devices allow people to create new btrfs on top of it. The new FS contains the same contents as the seed device, but it can be mounted in read-write mode. This patch does the following: 1) split code in btrfs_alloc_chunk into two parts. The first part does makes the newly allocated chunk usable, but does not do any operation that modifies the chunk tree. The second part does the the chunk tree modifications. This division is for the bootstrap step of adding storage to the seed device. 2) Update device management code to handle seed device. The basic idea is: For an FS grown from seed devices, its seed devices are put into a list. Seed devices are opened on demand at mounting time. If any seed device is missing or has been changed, btrfs kernel module will refuse to mount the FS. 3) make btrfs_find_block_group not return NULL when all block groups are read-only. Signed-off-by: Yan Zheng commit c146afad2c7fea6a366d4945c1bab9b03880f526 Author: Yan Zheng Date: Wed Nov 12 14:34:12 2008 -0500 Btrfs: mount ro and remount support This patch adds mount ro and remount support. The main changes in patch are: adding btrfs_remount and related helper function; splitting the transaction related code out of close_ctree into btrfs_commit_super; updating allocator to properly handle read only block group. Signed-off-by: Yan Zheng commit f3465ca44e2a51fd647c167045768a8ab5a96603 Author: Josef Bacik Date: Wed Nov 12 14:19:50 2008 -0500 Btrfs: batch extent inserts/updates/deletions on the extent root While profiling the allocator I noticed a good amount of time was being spent in finish_current_insert and del_pending_extents, and as the filesystem filled up more and more time was being spent in those functions. This patch aims to try and reduce that problem. This happens two ways 1) track if we tried to delete an extent that we are going to update or insert. Once we get into finish_current_insert we discard any of the extents that were marked for deletion. This saves us from doing unnecessary work almost every time finish_current_insert runs. 2) Batch insertion/updates/deletions. Instead of doing a btrfs_search_slot for each individual extent and doing the needed operation, we instead keep the leaf around and see if there is anything else we can do on that leaf. On the insert case I introduced a btrfs_insert_some_items, which will take an array of keys with an array of data_sizes and try and squeeze in as many of those keys as possible, and then return how many keys it was able to insert. In the update case we search for an extent ref, update the ref and then loop through the leaf to see if any of the other refs we are looking to update are on that leaf, and then once we are done we release the path and search for the next ref we need to update. And finally for the deletion we try and delete the extent+ref in pairs, so we will try to find extent+ref pairs next to the extent we are trying to free and free them in bulk if possible. This along with the other cluster fix that Chris pushed out a bit ago helps make the allocator preform more uniformly as it fills up the disk. There is still a slight drop as we fill up the disk since we start having to stick new blocks in odd places which results in more COW's than on a empty fs, but the drop is not nearly as severe as it was before. Signed-off-by: Josef Bacik commit c5c9cd4d1b827fe545ed2a945e91e3a6909f3886 Author: Sage Weil Date: Wed Nov 12 14:32:25 2008 -0500 Btrfs: allow clone of an arbitrary file range This patch adds an additional CLONE_RANGE ioctl to clone an arbitrary (block-aligned) file range to another file. The original CLONE ioctl becomes a special case of cloning the entire file range. The logic is a bit more complex now since ranges may be cloned to different offsets, and because we may only be cloning the beginning or end of a particular extent or checksum item. An additional sanity check ensures the source and destination files aren't the same (which would previously deadlock), although eventually this could be extended to allow the duplication of file data at a different offset within the same file. Any extents within the destination range in the target file are dropped. We currently do not cope with the case where a compressed inline extent needs to be split. This will probably require decompressing the extent into a temporary address_space, and inserting just the cloned portion as a new compressed inline extent. For now, just return -EINVAL in this case. Note that this never comes up in the more common case of cloning an entire file. Signed-off-by: Chris Mason commit 2ed6d66408527be0d1c6131d44cec7e86008ba26 Author: Chris Mason Date: Thu Nov 13 09:59:33 2008 -0500 Btrfs: Fix handling of space info full during allocations When we fail to allocate a new block group, we should still do the checks to make sure allocations try again with the minimum requested allocation size. This also fixes a deadlock that come from a missed down_read in the chunk allocation failure handling. Signed-off-by: Chris Mason commit 6f3577bdc768e6dae3c4d419e89b5a904f470728 Author: Chris Mason Date: Thu Nov 13 09:59:36 2008 -0500 Btrfs: Improve metadata read latencies This fixes latency problems on metadata reads by making sure they don't go through the async submit queue, and by tuning down the amount of readahead done during btree searches. Also, the btrfs bdi congestion function is tuned to ignore the number of pending async bios and checksums pending. There is additional code that throttles new async bios now and the congestion function doesn't need to worry about it anymore. Signed-off-by: Chris Mason commit 8652cb4b0d87accbe78725fd2a13be2787059649 Author: Prarit Bhargava Date: Wed Nov 12 13:35:00 2008 -0500 x86: warn of incorrect cpu_khz on AMD systems Impact: add debug check If none of the perfctrs are free when calculating cpu_khz we default to using ctr 3 (ie, we just choose 3). This may lead to an incorrect tsc freq value which can cause the system to be unstable. To aid in future debugging, WARN the user of a potential problem. Signed-off-by: Prarit Bhargava Signed-off-by: Ingo Molnar commit 8665596ec05498525014436520b316ba174a068a Author: H. Peter Anvin Date: Wed Nov 12 10:27:35 2008 -0800 x86: fix up the new IRQ code for older versions of gas Older versions of gas don't implement the C-style != operator, they instead want the Pascal-style <> operator. Change != to <> so we don't break compilation with those old versions of gas. Signed-off-by: H. Peter Anvin commit 68f96c0c889b55bf62eee98e859cb686f8850188 Author: Stephen Hemminger Date: Wed Nov 12 10:21:01 2008 -0800 tracing/fastboot: fix perlcritic warning Impact: cleanup Fix the following warning from the perl syntax checking tool perlcritic. This tool is a lint like tool that checks for perl best practices. Loop iterator is not lexical at line 113, column 1. See page 108 of PBP. (Severity: 5) Signed-off-by: Stephen Hemminger Signed-off-by: Ingo Molnar commit c415b3dce30dfb41234e118662e8720f47343a4f Author: Eduardo Habkost Date: Wed Nov 12 11:34:44 2008 -0200 x86: disable IRQs before doing anything on nmi_shootdown_cpus() Impact: make nmi_shootdown_cpus() callable from preemptible context We need to know on which CPU we are running on, and we don't want to be preempted while doing this. Signed-off-by: Eduardo Habkost Signed-off-by: Ingo Molnar commit bb8dd270e62217e2d2172094c6c352c4ddc0a127 Author: Eduardo Habkost Date: Wed Nov 12 11:34:43 2008 -0200 x86: make nmi_shootdown_cpus() available on !SMP and !X86_LOCAL_APIC Impact: widen nmi_shootdown_cpus() availability The X86_LOCAL_APIC #ifdef was for kdump. For !SMP, the function simply does nothing. Signed-off-by: Eduardo Habkost Signed-off-by: Ingo Molnar commit 2ddded213895e41b9cfe1c084127e6c01632ac1a Author: Eduardo Habkost Date: Wed Nov 12 11:34:42 2008 -0200 x86: move nmi_shootdown_cpus() to reboot.c Impact: make nmi_shootdown_cpus() available to the rest of the x86 platform Now nmi_shootdown_cpus() is ready to be used by non-kdump code also. Move it to reboot.c. Signed-off-by: Eduardo Habkost Signed-off-by: Ingo Molnar commit c370e5e089adfd5b1b863f3464cccae9ebf33cca Author: Eduardo Habkost Date: Wed Nov 12 11:34:41 2008 -0200 x86 kdump: make nmi_shootdown_cpus() non-static Impact: make API available to the rest of x86 platform code Add prototype to asm/reboot.h. Signed-off-by: Eduardo Habkost Signed-off-by: Ingo Molnar commit 8e294786316aca41c66b8b73ba1ee74a4ae7d452 Author: Eduardo Habkost Date: Wed Nov 12 11:34:40 2008 -0200 x86 kdump: make kdump_nmi_callback() a function ptr on crash_nmi_callback() Impact: extend nmi_shootdown_cpus() with a callback The reboot code will use a different function on crash_nmi_callback(). Adding a function pointer parameter to nmi_shootdown_cpus() for that. Signed-off-by: Eduardo Habkost Signed-off-by: Ingo Molnar commit d1e7b91cfaa8fc5ed736dcfb8beb5134a2385228 Author: Eduardo Habkost Date: Wed Nov 12 11:34:39 2008 -0200 x86 kdump: create kdump_nmi_shootdown_cpus() Impact: cleanup For the kdump-specific code that was living on nmi_shootdown_cpus(). Signed-off-by: Eduardo Habkost Signed-off-by: Ingo Molnar commit b2bbe71b829564fb65a6bc7e1e25e02d70cffce8 Author: Eduardo Habkost Date: Wed Nov 12 11:34:38 2008 -0200 x86 kdump: move crashing_cpu assignment to nmi_shootdown_cpus() Impact: cleanup This variable will be moved to non-kdump-specific code. Signed-off-by: Eduardo Habkost Signed-off-by: Ingo Molnar commit a7d41820f683c35b53af719210a51f6aa0f86a6a Author: Eduardo Habkost Date: Wed Nov 12 11:34:37 2008 -0200 x86 kdump: extract kdump-specific code from crash_nmi_callback() Impact: cleanup The NMI CPU-halting code will be used on non-kdump cases, also (e.g. emergency_reboot when virtualization is enabled). Signed-off-by: Eduardo Habkost Signed-off-by: Ingo Molnar commit fd64138c0eff8351b93ef99f7da929bb8a49b9ed Author: Jaroslav Kysela Date: Wed Nov 12 16:53:47 2008 +0100 ALSA: include/sound/info.h - coding style changed Change coding style to be more acceptable by checkpatch.pl. Signed-off-by: Jaroslav Kysela Signed-off-by: Takashi Iwai commit 972d4c50fbbb1b9c10293ff90e4e1d45e7fb21ac Author: Jaroslav Kysela Date: Wed Nov 12 16:37:48 2008 +0100 ALSA: hdsp/hdspm: remove card->id from rawmidi device name The card->id (card text identification) can be changed at runtime. It might be confusing to have old text identification in device name. Signed-off-by: Jaroslav Kysela Signed-off-by: Takashi Iwai commit c2eb9c4ea383aee154e7139395872c4da629e715 Author: Jaroslav Kysela Date: Wed Nov 12 16:31:37 2008 +0100 ALSA: when card identification is changed, change also /proc/asound symlink Signed-off-by: Jaroslav Kysela Signed-off-by: Takashi Iwai commit 9fb6198e8c574c6547fbfac0ae1eaf7894ddfdcc Author: Jaroslav Kysela Date: Tue Nov 11 16:51:02 2008 +0100 ALSA: add /sys/class/sound/card#/id (r/w) and card#/number (r/o) files For udev, we need a way to rename soundcard names. The soundcard numbers (indexes) are hardwired but we have a text identification which can be changed at run-time. The ALSA user space tools already allow using of this text identification. Signed-off-by: Jaroslav Kysela Signed-off-by: Takashi Iwai commit eb42c75878e4d13941dcbcf2ef1027c257b099a6 Merge: 9868ee6 f21f237 Author: Ingo Molnar Date: Wed Nov 12 15:43:39 2008 +0100 Merge branch 'linus' into x86/crashdump commit 11843ee4d5ee130b84de01c019dde7bf0a3eca78 Author: Takashi Iwai Date: Wed Nov 12 15:18:41 2008 +0100 ALSA: powermac - Rename mic-analog loopback mixer element PCM Playback Volume:1 is actually assigned to a mic loopback volume on iBook G4. Let's rename it. Signed-off-by: Takashi Iwai commit 68d119f0a66f7e3663304343b072e56a2693446b Author: Ingo Molnar Date: Wed Nov 12 14:09:30 2008 +0100 tracing: finetune branch-tracer output Steve suggested the to change the output from this: > bash-3471 [003] 357.014755: [ MISS ] sched_info_dequeued:sched_stats.h:177 > bash-3471 [003] 357.014756: [ .... ] update_curr:sched_fair.c:489 > bash-3471 [003] 357.014758: [ .... ] calc_delta_fair:sched_fair.c:411 to this: > bash-3471 [003] 357.014755: [ MISS ] sched_info_dequeued:sched_stats.h:177 > bash-3471 [003] 357.014756: [ ok ] update_curr:sched_fair.c:489 > bash-3471 [003] 357.014758: [ ok ] calc_delta_fair:sched_fair.c:411 as it makes it clearer to the user what it means exactly. Acked-by: Steven Rostedt Signed-off-by: Ingo Molnar commit 2b7d0390a6d6d595f43ea3806639664afe5b9ebe Author: Ingo Molnar Date: Wed Nov 12 13:17:38 2008 +0100 tracing: branch tracer, fix vdso crash Impact: fix bootup crash the branch tracer missed arch/x86/vdso/vclock_gettime.c from disabling tracing, which caused such bootup crashes: [ 201.840097] init[1]: segfault at 7fffed3fe7c0 ip 00007fffed3fea2e sp 000077 also clean up the ugly ifdefs in arch/x86/kernel/vsyscall_64.c by creating DISABLE_UNLIKELY_PROFILE facility for code to turn off instrumentation on a per file basis. Signed-off-by: Ingo Molnar commit fb0ef645f2c546f8297b2fbf9b2b8fff4a7455e8 Author: Naresh Medisetty Date: Wed Nov 12 10:26:31 2008 +0530 ASoC: DaVinci: Audio: Fix swapping of channels at start of stereo playback Fixes swapping of channels at start of stereo playback. Channel swap can be observed while playing left-only or right-only audio data. The channel swap is fixed by handling the XSYNCERR condition. Signed-off-by: Naresh Medisetty Signed-off-by: Mark Brown commit e25cf3db560e803292946ef23a30c69e341ce56f Author: Ingo Molnar Date: Fri Oct 17 15:55:07 2008 +0200 lockdep: include/linux/lockdep.h - fix warning in net/bluetooth/af_bluetooth.c fix this warning: net/bluetooth/af_bluetooth.c:60: warning: ‘bt_key_strings’ defined but not used net/bluetooth/af_bluetooth.c:71: warning: ‘bt_slock_key_strings’ defined but not used this is a lockdep macro problem in the !LOCKDEP case. We cannot convert it to an inline because the macro works on multiple types, but we can mark the parameter used. [ also clean up a misaligned tab in sock_lock_init_class_and_name() ] [ also remove #ifdefs from around af_family_clock_key strings - which were certainly added to get rid of the ugly build warnings. ] Signed-off-by: Ingo Molnar commit 708b8eae0fd532af73ea8350e6dcc10255ff7376 Merge: d98d38f f21f237 Author: Ingo Molnar Date: Wed Nov 12 12:39:21 2008 +0100 Merge branch 'linus' into core/locking commit 9cc3c49ed1b1dbf6e50de4055a6773bd162f24b7 Author: Hiroshi Shimamoto Date: Tue Nov 11 19:11:39 2008 -0800 x86: ia32_signal: remove unnecessary padding Impact: reduce structure padding Remove unnecessary paddings, this saves 4 bytes. Signed-off-by: Hiroshi Shimamoto Signed-off-by: Ingo Molnar commit 4a61204856e8b28e9f5489a7875cb3a60afd1e43 Author: Hiroshi Shimamoto Date: Tue Nov 11 19:09:29 2008 -0800 x86: signal_32: introduce retcode and rt_retcode Impact: cleanup Introduce retcode and rt_retcode to replace setting up frame->retcode. Signed-off-by: Hiroshi Shimamoto Signed-off-by: Ingo Molnar commit f88c4ae9f8c3939bee4337c75c7a673b5de7a8a7 Author: Ingo Molnar Date: Wed Nov 12 11:55:41 2008 +0100 tracing: branch tracer, tweak output Impact: modify the tracer output, to make it a bit easier to read Change the output from: > bash-3471 [003] 357.014755: [INCORRECT] sched_info_dequeued:sched_stats.h:177 > bash-3471 [003] 357.014756: [correct] update_curr:sched_fair.c:489 > bash-3471 [003] 357.014758: [correct] calc_delta_fair:sched_fair.c:411 to: > bash-3471 [003] 357.014755: [ MISS ] sched_info_dequeued:sched_stats.h:177 > bash-3471 [003] 357.014756: [ .... ] update_curr:sched_fair.c:489 > bash-3471 [003] 357.014758: [ .... ] calc_delta_fair:sched_fair.c:411 it's good to have fields aligned vertically, and the only important information is a prediction miss, so display only that information. Signed-off-by: Ingo Molnar commit 52f232cb720a7babb752849cbc2cab2d24021209 Author: Steven Rostedt Date: Wed Nov 12 00:14:40 2008 -0500 tracing: likely/unlikely branch annotation tracer Impact: new likely/unlikely branch tracer This patch adds a way to record the instances of the likely() and unlikely() branch condition annotations. When "unlikely" is set in /debugfs/tracing/iter_ctrl the unlikely conditions will be added to any of the ftrace tracers. The change takes effect when a new tracer is passed into the current_tracer file. For example: bash-3471 [003] 357.014755: [INCORRECT] sched_info_dequeued:sched_stats.h:177 bash-3471 [003] 357.014756: [correct] update_curr:sched_fair.c:489 bash-3471 [003] 357.014758: [correct] calc_delta_fair:sched_fair.c:411 bash-3471 [003] 357.014759: [correct] account_group_exec_runtime:sched_stats.h:356 bash-3471 [003] 357.014761: [correct] update_curr:sched_fair.c:489 bash-3471 [003] 357.014763: [INCORRECT] calc_delta_fair:sched_fair.c:411 bash-3471 [003] 357.014765: [correct] calc_delta_mine:sched.c:1279 Which shows the normal tracer heading, as well as whether the condition was correct "[correct]" or was mistaken "[INCORRECT]", followed by the function, file name and line number. Signed-off-by: Steven Rostedt Signed-off-by: Ingo Molnar commit 1f0d69a9fc815db82f15722bf05227190b1d714d Author: Steven Rostedt Date: Wed Nov 12 00:14:39 2008 -0500 tracing: profile likely and unlikely annotations Impact: new unlikely/likely profiler Andrew Morton recently suggested having an in-kernel way to profile likely and unlikely macros. This patch achieves that goal. When configured, every(*) likely and unlikely macro gets a counter attached to it. When the condition is hit, the hit and misses of that condition are recorded. These numbers can later be retrieved by: /debugfs/tracing/profile_likely - All likely markers /debugfs/tracing/profile_unlikely - All unlikely markers. # cat /debug/tracing/profile_unlikely | head correct incorrect % Function File Line ------- --------- - -------- ---- ---- 2167 0 0 do_arch_prctl process_64.c 832 0 0 0 do_arch_prctl process_64.c 804 2670 0 0 IS_ERR err.h 34 71230 5693 7 __switch_to process_64.c 673 76919 0 0 __switch_to process_64.c 639 43184 33743 43 __switch_to process_64.c 624 12740 64181 83 __switch_to process_64.c 594 12740 64174 83 __switch_to process_64.c 590 # cat /debug/tracing/profile_unlikely | \ awk '{ if ($3 > 25) print $0; }' |head -20 44963 35259 43 __switch_to process_64.c 624 12762 67454 84 __switch_to process_64.c 594 12762 67447 84 __switch_to process_64.c 590 1478 595 28 syscall_get_error syscall.h 51 0 2821 100 syscall_trace_leave ptrace.c 1567 0 1 100 native_smp_prepare_cpus smpboot.c 1237 86338 265881 75 calc_delta_fair sched_fair.c 408 210410 108540 34 calc_delta_mine sched.c 1267 0 54550 100 sched_info_queued sched_stats.h 222 51899 66435 56 pick_next_task_fair sched_fair.c 1422 6 10 62 yield_task_fair sched_fair.c 982 7325 2692 26 rt_policy sched.c 144 0 1270 100 pre_schedule_rt sched_rt.c 1261 1268 48073 97 pick_next_task_rt sched_rt.c 884 0 45181 100 sched_info_dequeued sched_stats.h 177 0 15 100 sched_move_task sched.c 8700 0 15 100 sched_move_task sched.c 8690 53167 33217 38 schedule sched.c 4457 0 80208 100 sched_info_switch sched_stats.h 270 30585 49631 61 context_switch sched.c 2619 # cat /debug/tracing/profile_likely | awk '{ if ($3 > 25) print $0; }' 39900 36577 47 pick_next_task sched.c 4397 20824 15233 42 switch_mm mmu_context_64.h 18 0 7 100 __cancel_work_timer workqueue.c 560 617 66484 99 clocksource_adjust timekeeping.c 456 0 346340 100 audit_syscall_exit auditsc.c 1570 38 347350 99 audit_get_context auditsc.c 732 0 345244 100 audit_syscall_entry auditsc.c 1541 38 1017 96 audit_free auditsc.c 1446 0 1090 100 audit_alloc auditsc.c 862 2618 1090 29 audit_alloc auditsc.c 858 0 6 100 move_masked_irq migration.c 9 1 198 99 probe_sched_wakeup trace_sched_switch.c 58 2 2 50 probe_wakeup trace_sched_wakeup.c 227 0 2 100 probe_wakeup_sched_switch trace_sched_wakeup.c 144 4514 2090 31 __grab_cache_page filemap.c 2149 12882 228786 94 mapping_unevictable pagemap.h 50 4 11 73 __flush_cpu_slab slub.c 1466 627757 330451 34 slab_free slub.c 1731 2959 61245 95 dentry_lru_del_init dcache.c 153 946 1217 56 load_elf_binary binfmt_elf.c 904 102 82 44 disk_put_part genhd.h 206 1 1 50 dst_gc_task dst.c 82 0 19 100 tcp_mss_split_point tcp_output.c 1126 As you can see by the above, there's a bit of work to do in rethinking the use of some unlikelys and likelys. Note: the unlikely case had 71 hits that were more than 25%. Note: After submitting my first version of this patch, Andrew Morton showed me a version written by Daniel Walker, where I picked up the following ideas from: 1) Using __builtin_constant_p to avoid profiling fixed values. 2) Using __FILE__ instead of instruction pointers. 3) Using the preprocessor to stop all profiling of likely annotations from vsyscall_64.c. Thanks to Andrew Morton, Arjan van de Ven, Theodore Tso and Ingo Molnar for their feed back on this patch. (*) Not ever unlikely is recorded, those that are used by vsyscalls (a few of them) had to have profiling disabled. Signed-off-by: Steven Rostedt Cc: Andrew Morton Cc: Frederic Weisbecker Cc: Theodore Tso Cc: Arjan van de Ven Cc: Steven Rostedt Signed-off-by: Ingo Molnar commit cb9382e5a94e54d0356d730954396c746ae66d6e Merge: 7423907 642edba Author: Ingo Molnar Date: Wed Nov 12 11:50:51 2008 +0100 Merge branches 'tracing/fastboot', 'tracing/function-return-tracer' and 'tracing/ring-buffer' into tracing/core commit 642edba5f5c545772b89907cf96134c73d6073c7 Author: Steven Rostedt Date: Wed Nov 12 00:01:26 2008 -0500 ring-buffer: fix deadlock from reader_lock in read_start Impact: deadlock fix in ring_buffer_read_start The ring_buffer_iter_reset was called from ring_buffer_read_start where both grabbed the reader_lock. This patch separates out the internals of ring_buffer_iter_reset to its own function so that both APIs may grab the reader_lock. Signed-off-by: Steven Rostedt Signed-off-by: Ingo Molnar commit 92a77aac9812d5397abbe6f1920e085e50838635 Author: James Morris Date: Wed Nov 12 21:20:00 2008 +1100 security: remove broken and useless declarations Remove broken declarations for security_capable* functions, which were not needed anyway. Signed-off-by: James Morris commit a7d26f84cb76b962217ce277c3e3a9748a26ac11 Author: Jaroslav Kysela Date: Wed Nov 12 11:02:25 2008 +0100 ALSA: Release v1.0.18a Signed-off-by: Jaroslav Kysela Signed-off-by: Takashi Iwai commit 74239072830ef3f1398edeb1bc1076fc330fd4a2 Author: Frederic Weisbecker Date: Tue Nov 11 23:24:42 2008 +0100 tracing/fastboot: Use the ring-buffer timestamp for initcall entries Impact: Split the boot tracer entries in two parts: call and return Now that we are using the sched tracer from the boot tracer, we want to use the same timestamp than the ring-buffer to have consistent time captures between sched events and initcall events. So we get rid of the old time capture by the boot tracer and split the initcall events in two parts: call and return. This way we have the ring buffer timestamp of both. An example trace: [ 27.904149584] calling net_ns_init+0x0/0x1c0 @ 1 [ 27.904429624] initcall net_ns_init+0x0/0x1c0 returned 0 after 0 msecs [ 27.904575926] calling reboot_init+0x0/0x20 @ 1 [ 27.904655399] initcall reboot_init+0x0/0x20 returned 0 after 0 msecs [ 27.904800228] calling sysctl_init+0x0/0x30 @ 1 [ 27.905142914] initcall sysctl_init+0x0/0x30 returned 0 after 0 msecs [ 27.905287211] calling ksysfs_init+0x0/0xb0 @ 1 ##### CPU 0 buffer started #### init-1 [000] 27.905395: 1:120:R + [001] 11:115:S ##### CPU 1 buffer started #### -0 [001] 27.905425: 0:140:R ==> [001] 11:115:R init-1 [000] 27.905426: 1:120:D ==> [000] 0:140:R -0 [000] 27.905431: 0:140:R + [000] 4:115:S -0 [000] 27.905451: 0:140:R ==> [000] 4:115:R ksoftirqd/0-4 [000] 27.905456: 4:115:S ==> [000] 0:140:R udevd-11 [001] 27.905458: 11:115:R + [001] 14:115:R -0 [000] 27.905459: 0:140:R + [000] 4:115:S -0 [000] 27.905462: 0:140:R ==> [000] 4:115:R udevd-11 [001] 27.905462: 11:115:R ==> [001] 14:115:R ksoftirqd/0-4 [000] 27.905467: 4:115:S ==> [000] 0:140:R -0 [000] 27.905470: 0:140:R + [000] 4:115:S -0 [000] 27.905473: 0:140:R ==> [000] 4:115:R ksoftirqd/0-4 [000] 27.905476: 4:115:S ==> [000] 0:140:R -0 [000] 27.905479: 0:140:R + [000] 4:115:S -0 [000] 27.905482: 0:140:R ==> [000] 4:115:R ksoftirqd/0-4 [000] 27.905486: 4:115:S ==> [000] 0:140:R udevd-14 [001] 27.905499: 14:120:X ==> [001] 11:115:R udevd-11 [001] 27.905506: 11:115:R + [000] 1:120:D -0 [000] 27.905515: 0:140:R ==> [000] 1:120:R udevd-11 [001] 27.905517: 11:115:S ==> [001] 0:140:R [ 27.905557107] initcall ksysfs_init+0x0/0xb0 returned 0 after 3906 msecs [ 27.905705736] calling init_jiffies_clocksource+0x0/0x10 @ 1 [ 27.905779239] initcall init_jiffies_clocksource+0x0/0x10 returned 0 after 0 msecs [ 27.906769814] calling pm_init+0x0/0x30 @ 1 [ 27.906853627] initcall pm_init+0x0/0x30 returned 0 after 0 msecs [ 27.906997803] calling pm_disk_init+0x0/0x20 @ 1 [ 27.907076946] initcall pm_disk_init+0x0/0x20 returned 0 after 0 msecs [ 27.907222556] calling swsusp_header_init+0x0/0x30 @ 1 [ 27.907294325] initcall swsusp_header_init+0x0/0x30 returned 0 after 0 msecs [ 27.907439620] calling stop_machine_init+0x0/0x50 @ 1 init-1 [000] 27.907485: 1:120:R + [000] 2:115:S init-1 [000] 27.907490: 1:120:D ==> [000] 2:115:R kthreadd-2 [000] 27.907507: 2:115:R + [001] 15:115:R -0 [001] 27.907517: 0:140:R ==> [001] 15:115:R kthreadd-2 [000] 27.907517: 2:115:D ==> [000] 0:140:R -0 [000] 27.907521: 0:140:R + [000] 4:115:S -0 [000] 27.907524: 0:140:R ==> [000] 4:115:R udevd-15 [001] 27.907527: 15:115:D + [000] 2:115:D ksoftirqd/0-4 [000] 27.907537: 4:115:S ==> [000] 2:115:R udevd-15 [001] 27.907537: 15:115:D ==> [001] 0:140:R kthreadd-2 [000] 27.907546: 2:115:R + [000] 1:120:D kthreadd-2 [000] 27.907550: 2:115:S ==> [000] 1:120:R init-1 [000] 27.907584: 1:120:R + [000] 15: 0:D init-1 [000] 27.907589: 1:120:R + [000] 2:115:S init-1 [000] 27.907593: 1:120:D ==> [000] 15: 0:R udevd-15 [000] 27.907601: 15: 0:S ==> [000] 2:115:R ##### CPU 0 buffer started #### kthreadd-2 [000] 27.907616: 2:115:R + [001] 16:115:R ##### CPU 1 buffer started #### -0 [001] 27.907620: 0:140:R ==> [001] 16:115:R kthreadd-2 [000] 27.907621: 2:115:D ==> [000] 0:140:R udevd-16 [001] 27.907625: 16:115:D + [000] 2:115:D -0 [000] 27.907628: 0:140:R + [000] 4:115:S udevd-16 [001] 27.907629: 16:115:D ==> [001] 0:140:R -0 [000] 27.907631: 0:140:R ==> [000] 4:115:R ksoftirqd/0-4 [000] 27.907636: 4:115:S ==> [000] 2:115:R kthreadd-2 [000] 27.907644: 2:115:R + [000] 1:120:D kthreadd-2 [000] 27.907647: 2:115:S ==> [000] 1:120:R init-1 [000] 27.907657: 1:120:R + [001] 16: 0:D -0 [001] 27.907666: 0:140:R ==> [001] 16: 0:R [ 27.907703862] initcall stop_machine_init+0x0/0x50 returned 0 after 0 msecs [ 27.907850704] calling filelock_init+0x0/0x30 @ 1 [ 27.907926573] initcall filelock_init+0x0/0x30 returned 0 after 0 msecs [ 27.908071327] calling init_script_binfmt+0x0/0x10 @ 1 [ 27.908165195] initcall init_script_binfmt+0x0/0x10 returned 0 after 0 msecs [ 27.908309461] calling init_elf_binfmt+0x0/0x10 @ 1 Signed-off-by: Frederic Weisbecker Acked-by: Steven Rostedt Signed-off-by: Ingo Molnar commit 3f5ec13696fd4a33bde42f385406cbb1d3cc96fd Author: Frederic Weisbecker Date: Tue Nov 11 23:21:31 2008 +0100 tracing/fastboot: move boot tracer structs and funcs into their own header. Impact: Cleanups on the boot tracer and ftrace This patch bring some cleanups about the boot tracer headers. The functions and structures of this tracer have nothing related to ftrace and should have so their own header file. Signed-off-by: Frederic Weisbecker Acked-by: Steven Rostedt Signed-off-by: Ingo Molnar commit 60a011c736e7dd09a0b01ca6a051a416f3f52ffb Merge: d06bbd6 19b3e96 Author: Ingo Molnar Date: Wed Nov 12 10:17:09 2008 +0100 Merge branch 'tracing/function-return-tracer' into tracing/fastboot commit d06bbd669539215405874d8fe32ab65105e6c4bb Merge: d844222 3e89c7b c1e7abb Author: Ingo Molnar Date: Wed Nov 12 10:11:37 2008 +0100 Merge branches 'tracing/ftrace' and 'tracing/urgent' into tracing/core Conflicts: kernel/trace/ring_buffer.c commit 90d0be2fc33b4c4e11fc596da4736189be947d99 Merge: f43aa02 d7a8943 Author: Takashi Iwai Date: Wed Nov 12 10:02:04 2008 +0100 Merge branch 'topic/fix/hda' into topic/hda Conflicts: sound/pci/hda/patch_sigmatel.c commit e42ea986e4a4cab4209d982feffcaf50f21e80e3 Author: Eric Dumazet Date: Wed Nov 12 00:54:54 2008 -0800 net: Cleanup of neighbour code Using read_pnet() and write_pnet() in neighbour code ease the reading of code. Signed-off-by: Eric Dumazet Signed-off-by: David S. Miller commit 7a9546ee354ec6f23af403992b8c07baa50a23d2 Author: Eric Dumazet Date: Wed Nov 12 00:54:20 2008 -0800 net: ib_net pointer should depends on CONFIG_NET_NS We can shrink size of "struct inet_bind_bucket" by 50%, using read_pnet() and write_pnet() Signed-off-by: Eric Dumazet Signed-off-by: David S. Miller commit 8f424b5f32d78b4f353b3cddca9804808ef063eb Author: Eric Dumazet Date: Wed Nov 12 00:53:30 2008 -0800 net: Introduce read_pnet() and write_pnet() helpers This patch introduces two helpers that deal with reading and writing struct net pointers in various network structures. Their implementation depends on CONFIG_NET_NS For symmetry, both functions work with "struct net **pnet". Their usage should reduce the number of #ifdef CONFIG_NET_NS, without adding many helpers for each network structure that hold a "struct net *pointer" Signed-off-by: Eric Dumazet Signed-off-by: David S. Miller commit 9eca0a47dee201a73967026985b5f0a79a46bd36 Author: Gerrit Renker Date: Wed Nov 12 00:48:44 2008 -0800 dccp: Resolve dependencies of features on choice of CCID This provides a missing link in the code chain, as several features implicitly depend and/or rely on the choice of CCID. Most notably, this is the Send Ack Vector feature, but also Ack Ratio and Send Loss Event Rate (also taken care of). For Send Ack Vector, the situation is as follows: * since CCID2 mandates the use of Ack Vectors, there is no point in allowing endpoints which use CCID2 to disable Ack Vector features such a connection; * a peer with a TX CCID of CCID2 will always expect Ack Vectors, and a peer with a RX CCID of CCID2 must always send Ack Vectors (RFC 4341, sec. 4); * for all other CCIDs, the use of (Send) Ack Vector is optional and thus negotiable. However, this implies that the code negotiating the use of Ack Vectors also supports it (i.e. is able to supply and to either parse or ignore received Ack Vectors). Since this is not the case (CCID-3 has no Ack Vector support), the use of Ack Vectors is here disabled, with a comment in the source code. An analogous consideration arises for the Send Loss Event Rate feature, since the CCID-3 implementation does not support the loss interval options of RFC 4342. To make such use explicit, corresponding feature-negotiation options are inserted which signal the use of the loss event rate option, as it is used by the CCID3 code. Lastly, the values of the Ack Ratio feature are matched to the choice of CCID. The patch implements this as a function which is called after the user has made all other registrations for changing default values of features. The table is variable-length, the reserved (and hence for feature-negotiation invalid, confirmed by considering section 19.4 of RFC 4340) feature number `0' is used to mark the end of the table. Signed-off-by: Gerrit Renker Acked-by: Ian McDonald Signed-off-by: David S. Miller commit d90ebcbfa7f5a8b4e20518c9f94c5c4e4cd3c2e5 Author: Gerrit Renker Date: Wed Nov 12 00:47:26 2008 -0800 dccp: Query supported CCIDs This provides a data structure to record which CCIDs are locally supported and three accessor functions: - a test function for internal use which is used to validate CCID requests made by the user; - a copy function so that the list can be used for feature-negotiation; - documented getsockopt() support so that the user can query capabilities. The data structure is a table which is filled in at compile-time with the list of available CCIDs (which in turn depends on the Kconfig choices). Using the copy function for cloning the list of supported CCIDs is useful for feature negotiation, since the negotiation is now with the full list of available CCIDs (e.g. {2, 3}) instead of the default value {2}. This means negotiation will not fail if the peer requests to use CCID3 instead of CCID2. Signed-off-by: Gerrit Renker Acked-by: Ian McDonald Signed-off-by: David S. Miller commit e8ef967a54f401ac5e8637b7f7f8bddb006144c4 Author: Gerrit Renker Date: Wed Nov 12 00:43:40 2008 -0800 dccp: Registration routines for changing feature values Two registration routines, for SP and NN features, are provided by this patch, replacing a previous routine which was used for both feature types. These are internal-only routines and therefore start with `__feat_register'. It further exports the known limits of Sequence Window and Ack Ratio as symbolic constants. Signed-off-by: Gerrit Renker Acked-by: Ian McDonald Signed-off-by: David S. Miller commit f74e91b6cca5889e667193c7e794186db73c2000 Author: Gerrit Renker Date: Wed Nov 12 00:42:58 2008 -0800 dccp: Limit feature negotiation to connection setup phase This patch limits feature (capability) negotation to the connection setup phase: 1. Although it is theoretically possible to perform feature negotiation at any time (and RFC 4340 supports this), in practice this is prohibitively complex, as it requires to put traffic on hold for each new negotiation. 2. As a byproduct of restricting feature negotiation to connection setup, the feature-negotiation retransmit timer is no longer required. This part is now mapped onto the protocol-level retransmission. Details indicating why timers are no longer needed can be found on http://www.erg.abdn.ac.uk/users/gerrit/dccp/notes/feature_negotiation/\ implementation_notes.html This patch disables anytime negotiation, subsequent patches work out full feature negotiation support for connection setup. Signed-off-by: Gerrit Renker Signed-off-by: David S. Miller commit 6bb3ce25d05f2990c8a19adaf427531430267c1f Author: Alexey Dobriyan Date: Tue Nov 11 17:25:22 2008 -0800 net: remove struct dst_entry::entry_size Unused after kmem_cache_zalloc() conversion. Signed-off-by: Alexey Dobriyan Signed-off-by: David S. Miller commit 9b739ba5e66c96938fbc07a4dbd9da5b81eac56f Author: Alexey Dobriyan Date: Tue Nov 11 16:47:44 2008 -0800 net: remove struct neigh_table::pde ->pde isn't actually needed, since name is stashed in ->id. Signed-off-by: Alexey Dobriyan Signed-off-by: David S. Miller commit 14d7ca5c575853664d8fe4f225a77b8df1b7de7d Author: H. Peter Anvin Date: Tue Nov 11 16:19:48 2008 -0800 x86: attempt reboot via port CF9 if we have standard PCI ports Impact: Changes reboot behavior. If port CF9 seems to be safe to touch, attempt it before trying the keyboard controller. Port CF9 is not available on all chipsets (a significant but decreasing number of modern chipsets don't implement it), but port CF9 itself should in general be safe to poke (no ill effects if unimplemented) on any system which has PCI Configuration Method #1 or #2, as it falls inside the PCI configuration port range in both cases. No chipset without PCI is known to have port CF9, either, although an explicit "pci=bios" would mean we miss this and therefore don't use port CF9. An explicit "reboot=pci" can be used to force the use of port CF9. Signed-off-by: H. Peter Anvin commit 5a6bb10393eb9a1985e97af12f0cb2906bcbf1af Author: Christoph Hellwig Date: Wed Nov 12 07:48:01 2008 +0900 fat: make sure to set d_ops in fat_get_parent fat_get_parent needs to setup the dentry operations, otherwise we might lose them when the NFS server needs to reconnect out of cache inodes. Signed-off-by: Christoph Hellwig Signed-off-by: OGAWA Hirofumi commit 985eafcc5480b0d98419b96869f2560abb2764c7 Author: OGAWA Hirofumi Date: Wed Nov 12 07:48:01 2008 +0900 fat: fix duplicate addition of ->llseek handler Signed-off-by: OGAWA Hirofumi commit ebeb0406f153db51ab2d4771faf2342bd6ca14dd Author: OGAWA Hirofumi Date: Wed Nov 12 07:48:00 2008 +0900 fat: drop negative dentry on rename() path Drop the negative dentry on rename() path, in order to make sure to use the case sensitive name which is specified by user if this is for creation. For it, this uses newly added LOOKUP_RENAME_TARGET like LOOKUP_CREATE. Signed-off-by: OGAWA Hirofumi commit 7e452baf6b96b5aeba097afd91501d33d390cc97 Merge: 3ac38c3 f21f237 Author: David S. Miller Date: Tue Nov 11 15:43:02 2008 -0800 Merge branch 'master' of master.kernel.org:/pub/scm/linux/kernel/git/davem/net-2.6 Conflicts: drivers/message/fusion/mptlan.c drivers/net/sfc/ethtool.c net/mac80211/debugfs_sta.c commit 3ac38c3a2e7dac3f8f35a56eb85c27881a4c3833 Merge: eb37b41 9757d55 Author: David S. Miller Date: Tue Nov 11 14:40:06 2008 -0800 Merge branch 'master' of git://git.kernel.org/pub/scm/linux/kernel/git/linville/wireless-next-2.6 commit 939b787130bf22887a09d8fd2641a094dcef8c22 Author: H. Peter Anvin Date: Tue Nov 11 13:51:52 2008 -0800 x86: 64 bits: shrink and align IRQ stubs Move the IRQ stub generation to assembly to simplify it and for consistency with 32 bits. Doing it in a C file with asm() statements doesn't help clarity, and it prevents some optimizations. Shrink the IRQ stubs down to just over four bytes per (we fit seven into a 32-byte chunk.) This shrinks the total icache consumption of the IRQ stubs down to an even kilobyte, if all of them are in active use. The downside is that we end up with a double jump, which could have a negative effect on some pipelines. The double jump is always inside the same cacheline on any modern chips. To get the most effect, cache-align the IRQ stubs. This makes the 64-bit code match changes already done to the 32-bit code, and should open up irqinit*.c for unification. Signed-off-by: H. Peter Anvin commit 486936cd93e99c802153b3f2f629c5ce62b8c0d4 Merge: 1c1b777 f21f237 Author: Paul Mackerras Date: Wed Nov 12 08:43:22 2008 +1100 Merge branch 'linux-2.6' into next commit b7c6244f13d37592003b46e12500a90e9781ad9d Author: H. Peter Anvin Date: Tue Nov 11 13:24:58 2008 -0800 x86: 32 bits: shrink and align IRQ stubs Shrink the IRQ stubs on 32 bits down to just over four bytes per (we fit seven into a 32-byte chunk.) This shrinks the total icache consumption of the IRQ stubs down to an even kilobyte, if all of them are in active use. The downside is that we end up with a double jump, which could have a negative effect on some pipelines. The double jump is always inside the same cacheline on any modern chips (the exception being 486/Elan/Geode which have only 16-byte cachelines, but are unlikely to have too many interrupt sources.) To get the most effect, cache-align the IRQ stubs. Signed-off-by: H. Peter Anvin commit 4687518c4cb7807fbeff21770e309080f9eb7f2f Author: H. Peter Anvin Date: Tue Nov 11 13:03:07 2008 -0800 x86: 32 bit: interrupt stub consistency with 64 bit Don't generate interrupt stubs for interrupt vectors below FIRST_EXTERNAL_VECTOR, and make the table of interrupt vectors (interrupt[]) __initconst. Both of these changes both conserve memory and improve consistency with 64 bits. Signed-off-by: H. Peter Anvin commit 3e89c7bb92fc92bb964734341487798c8d497bae Author: Steven Rostedt Date: Tue Nov 11 15:28:41 2008 -0500 ring-buffer: clean up warn ons Impact: Restructure WARN_ONs in ring_buffer.c The current WARN_ON macros in ring_buffer.c are quite ugly. This patch cleans them up and uses a single RB_WARN_ON that returns the value of the condition. This allows the caller to abort the function if the condition is true. Signed-off-by: Steven Rostedt Signed-off-by: Ingo Molnar commit 9ee670fd87b7d69c8633b94c42aadcbbcb96f28e Author: KOSAKI Motohiro Date: Tue Nov 11 11:49:01 2008 +0900 x86/doc: spelling fix for grub Impact: documentation fix I met okuji-san (GRUB maintainer) yesterday. He said GRuB isn't correct spelled and he want to fix it. Signed-off-by: KOSAKI Motohiro Signed-off-by: Ingo Molnar commit c280ea5e4c6ba0b38ed6b005150fe16a660e903b Author: Ingo Molnar Date: Sat Nov 8 13:29:45 2008 +0100 x86: fix documentation typo in arch/x86/Kconfig Impact: documentation update Chris Snook pointed out that it's Core i7, not Core 7i. Reported-by: Chris Snook Signed-off-by: Ingo Molnar commit a4c52791fa8c73e3cffe4a82865edb41e8fe8c3c Author: Jiri Slaby Date: Sat Nov 8 11:24:57 2008 +0100 x86, 64-bit: update address space documentation Impact: documentation update Commit a6523748bddd38bcec11431f57502090b6014a96 (paravirt/x86, 64-bit: move __PAGE_OFFSET to leave a space for hypervisor) changed address space without changing the documentation. Change it according to the code change -- direct mapping start: ffff810000000000 => ffff880000000000 which gives 57 TiB, something between 45 and 46 bits. Signed-off-by: Jiri Slaby Signed-off-by: Ingo Molnar commit 9757d55652f98836b9a4cac307a01f8b0232dbd9 Author: Sujith Date: Tue Nov 4 18:25:27 2008 +0530 ath9k: Fix compilation failure when RFKILL is enabled Signed-off-by: Sujith Signed-off-by: John W. Linville commit f83c9d0fe42a7544b4d4ffcebb2e6716fcfd95c0 Author: Steven Rostedt Date: Tue Nov 11 18:47:44 2008 +0100 ring-buffer: add reader lock Impact: serialize reader accesses to individual CPU ring buffers The code in the ring buffer expects only one reader at a time, but currently it puts that requirement on the caller. This is not strong enough, and this patch adds a "reader_lock" that serializes the access to the reader API of the ring buffer. Signed-off-by: Steven Rostedt Signed-off-by: Ingo Molnar commit 5b050f04c8ce911c5b6831305a24d70eab95e732 Author: Chris Mason Date: Tue Nov 11 09:34:41 2008 -0500 Btrfs: Fix compile warnings on 32 bit machines Simple casting here and there to fix things up. Signed-off-by: Chris Mason commit 8247b41ac980d125de8aeba6f33f381056ac0ecb Author: Yan Zheng Date: Tue Nov 11 09:33:29 2008 -0500 Btrfs: Fix starting search offset inside btrfs_drop_extents btrfs_drop_extents will drop paths and search again when it needs to force COW of higher nodes. It was using the key it found during the last search as the offset for the next search. But, this wasn't always correct. The key could be from before our desired range, and because we're dropping the path, it is possible for file's items to change while we do the search again. The fix here is to make sure we don't search for something smaller than the offset btrfs_drop_extents was called with. Signed-off-by: Chris Mason commit 91a15026eb89a687dfcac860a969cfd872f3c94f Author: Harvey Harrison Date: Sun Nov 9 18:51:09 2008 -0800 xtensa: switch to packed struct unaligned access implementation Rely on byteorder.h checking for endianness. Signed-off-by: Harvey Harrison Signed-off-by: Chris Zankel commit a98f8fd24fb24fcb9a359553e64dd6aac5cf4279 Author: Thomas Gleixner Date: Thu Nov 6 01:13:39 2008 +0100 x86: apic reset counter on shutdown Impact: avoid spurious lapic timer events on shutdown The apic timer might be close to firing when it is shutdown. We can not really disable the timer - we just mask the interrupt. That way we can get an extra interrupt when it is reenabled. Set the counter to max on shutdown to avoid this. Signed-off-by: Thomas Gleixner Signed-off-by: Ingo Molnar commit d3ec5cae0921611ceae06464ef6291012dd9849f Author: Ivan Vecera Date: Tue Nov 11 14:33:44 2008 +0100 x86: call machine_shutdown and stop all CPUs in native_machine_halt Impact: really halt all CPUs on halt Function machine_halt (resp. native_machine_halt) is empty for x86 architectures. When command 'halt -f' is invoked, the message "System halted." is displayed but this is not really true because all CPUs are still running. There are also similar inconsistencies for other arches (some uses power-off for halt or forever-loop with IRQs enabled/disabled). IMO there should be used the same approach for all architectures OR what does the message "System halted" really mean? This patch fixes it for x86. Signed-off-by: Ivan Vecera Signed-off-by: Ingo Molnar commit 50ee91765e25e7967a7b69cd5cc2bcab85e2eeb8 Author: Dhaval Giani Date: Tue Nov 11 18:13:23 2008 +0530 sched/rt: removed unneeded defintion Impact: cleanup This function no longer exists, so remove the defintion. Signed-off-by: Dhaval Giani Signed-off-by: Ingo Molnar commit 934352f214b3251eb0793c1209d346595a661d80 Author: Bharata B Rao Date: Mon Nov 10 20:41:13 2008 +0530 sched: add hierarchical accounting to cpu accounting controller Impact: improve CPU time accounting of tasks under the cpu accounting controller Add hierarchical accounting to cpu accounting controller and include cpuacct documentation. Currently, while charging the task's cputime to its accounting group, the accounting group hierarchy isn't updated. This patch charges the cputime of a task to its accounting group and all its parent accounting groups. Reported-by: Srivatsa Vaddagiri Signed-off-by: Bharata B Rao Reviewed-by: Paul Menage Acked-by: Balbir Singh Acked-by: Peter Zijlstra Signed-off-by: Ingo Molnar commit 19b3e9671c5a219b8c34da2cc66e0ce7c3a501ae Author: Ingo Molnar Date: Tue Nov 11 11:57:02 2008 +0100 tracing: function return tracer, build fix fix: arch/x86/kernel/ftrace.c: In function 'ftrace_return_to_handler': arch/x86/kernel/ftrace.c:112: error: implicit declaration of function 'cpu_clock' cpu_clock() is implicitly included via a number of ways, but its real location is sched.h. (Build failure is triggerable if enough other kernel components are turned off.) Signed-off-by: Ingo Molnar commit 066746796bd2f0a1ba210c0dded3b6ee4032692a Author: Eric Paris Date: Tue Nov 11 22:02:57 2008 +1100 Currently SELinux jumps through some ugly hoops to not audit a capbility check when determining if a process has additional powers to override memory limits or when trying to read/write illegal file labels. Use the new noaudit call instead. Signed-off-by: Eric Paris Acked-by: Stephen Smalley Signed-off-by: James Morris commit a2f2945a99057c7d44043465906c6bb63c3368a0 Author: Eric Paris Date: Tue Nov 11 22:02:54 2008 +1100 The oomkiller calculations make decisions based on capabilities. Since these are not security decisions and LSMs should not record if they fall the request they should use the new has_capability_noaudit() interface so the denials will not be recorded. Signed-off-by: Eric Paris Acked-by: Stephen Smalley Signed-off-by: James Morris commit 06112163f5fd9e491a7f810443d81efa9d88e247 Author: Eric Paris Date: Tue Nov 11 22:02:50 2008 +1100 Add a new capable interface that will be used by systems that use audit to make an A or B type decision instead of a security decision. Currently this is the case at least for filesystems when deciding if a process can use the reserved 'root' blocks and for the case of things like the oom algorithm determining if processes are root processes and should be less likely to be killed. These types of security system requests should not be audited or logged since they are not really security decisions. It would be possible to solve this problem like the vm_enough_memory security check did by creating a new LSM interface and moving all of the policy into that interface but proves the needlessly bloat the LSM and provide complex indirection. This merely allows those decisions to be made where they belong and to not flood logs or printk with denials for thing that are not security decisions. Signed-off-by: Eric Paris Acked-by: Stephen Smalley Signed-off-by: James Morris commit 637d32dc720897616e8a1a4f9e9609e29d431800 Author: Eric Paris Date: Wed Oct 29 15:42:12 2008 +1100 Capabilities: BUG when an invalid capability is requested If an invalid (large) capability is requested the capabilities system may panic as it is dereferencing an array of fixed (short) length. Its possible (and actually often happens) that the capability system accidentally stumbled into a valid memory region but it also regularly happens that it hits invalid memory and BUGs. If such an operation does get past cap_capable then the selinux system is sure to have problems as it already does a (simple) validity check and BUG. This is known to happen by the broken and buggy firegl driver. This patch cleanly checks all capable calls and BUG if a call is for an invalid capability. This will likely break the firegl driver for some situations, but it is the right thing to do. Garbage into a security system gets you killed/bugged Signed-off-by: Eric Paris Acked-by: Arjan van de Ven Acked-by: Serge Hallyn Acked-by: Andrew G. Morgan Signed-off-by: James Morris commit e68b75a027bb94066576139ee33676264f867b87 Author: Eric Paris Date: Tue Nov 11 21:48:22 2008 +1100 When the capset syscall is used it is not possible for audit to record the actual capbilities being added/removed. This patch adds a new record type which emits the target pid and the eff, inh, and perm cap sets. example output if you audit capset syscalls would be: type=SYSCALL msg=audit(1225743140.465:76): arch=c000003e syscall=126 success=yes exit=0 a0=17f2014 a1=17f201c a2=80000000 a3=7fff2ab7f060 items=0 ppid=2160 pid=2223 auid=0 uid=0 gid=0 euid=0 suid=0 fsuid=0 egid=0 sgid=0 fsgid=0 tty=pts0 ses=1 comm="setcap" exe="/usr/sbin/setcap" subj=unconfined_u:unconfined_r:unconfined_t:s0-s0:c0.c1023 key=(null) type=UNKNOWN[1322] msg=audit(1225743140.465:76): pid=0 cap_pi=ffffffffffffffff cap_pp=ffffffffffffffff cap_pe=ffffffffffffffff Signed-off-by: Eric Paris Acked-by: Serge Hallyn Signed-off-by: James Morris commit 3fc689e96c0c90b6fede5946d6c31075e9464f69 Author: Eric Paris Date: Tue Nov 11 21:48:18 2008 +1100 Any time fcaps or a setuid app under SECURE_NOROOT is used to result in a non-zero pE we will crate a new audit record which contains the entire set of known information about the executable in question, fP, fI, fE, fversion and includes the process's pE, pI, pP. Before and after the bprm capability are applied. This record type will only be emitted from execve syscalls. an example of making ping use fcaps instead of setuid: setcap "cat_net_raw+pe" /bin/ping type=SYSCALL msg=audit(1225742021.015:236): arch=c000003e syscall=59 success=yes exit=0 a0=1457f30 a1=14606b0 a2=1463940 a3=321b770a70 items=2 ppid=2929 pid=2963 auid=0 uid=500 gid=500 euid=500 suid=500 fsuid=500 egid=500 sgid=500 fsgid=500 tty=pts0 ses=3 comm="ping" exe="/bin/ping" subj=unconfined_u:unconfined_r:unconfined_t:s0-s0:c0.c1023 key=(null) type=UNKNOWN[1321] msg=audit(1225742021.015:236): fver=2 fp=0000000000002000 fi=0000000000000000 fe=1 old_pp=0000000000000000 old_pi=0000000000000000 old_pe=0000000000000000 new_pp=0000000000002000 new_pi=0000000000000000 new_pe=0000000000002000 type=EXECVE msg=audit(1225742021.015:236): argc=2 a0="ping" a1="127.0.0.1" type=CWD msg=audit(1225742021.015:236): cwd="/home/test" type=PATH msg=audit(1225742021.015:236): item=0 name="/bin/ping" inode=49256 dev=fd:00 mode=0100755 ouid=0 ogid=0 rdev=00:00 obj=system_u:object_r:ping_exec_t:s0 cap_fp=0000000000002000 cap_fe=1 cap_fver=2 type=PATH msg=audit(1225742021.015:236): item=1 name=(null) inode=507915 dev=fd:00 mode=0100755 ouid=0 ogid=0 rdev=00:00 obj=system_u:object_r:ld_so_t:s0 Signed-off-by: Eric Paris Acked-by: Serge Hallyn Signed-off-by: James Morris commit 851f7ff56d9c21272f289dd85fb3f1b6cf7a6e10 Author: Eric Paris Date: Tue Nov 11 21:48:14 2008 +1100 This patch will print cap_permitted and cap_inheritable data in the PATH records of any file that has file capabilities set. Files which do not have fcaps set will not have different PATH records. An example audit record if you run: setcap "cap_net_admin+pie" /bin/bash /bin/bash type=SYSCALL msg=audit(1225741937.363:230): arch=c000003e syscall=59 success=yes exit=0 a0=2119230 a1=210da30 a2=20ee290 a3=8 items=2 ppid=2149 pid=2923 auid=0 uid=0 gid=0 euid=0 suid=0 fsuid=0 egid=0 sgid=0 fsgid=0 tty=pts0 ses=3 comm="ping" exe="/bin/ping" subj=unconfined_u:unconfined_r:unconfined_t:s0-s0:c0.c1023 key=(null) type=EXECVE msg=audit(1225741937.363:230): argc=2 a0="ping" a1="www.google.com" type=CWD msg=audit(1225741937.363:230): cwd="/root" type=PATH msg=audit(1225741937.363:230): item=0 name="/bin/ping" inode=49256 dev=fd:00 mode=0104755 ouid=0 ogid=0 rdev=00:00 obj=system_u:object_r:ping_exec_t:s0 cap_fp=0000000000002000 cap_fi=0000000000002000 cap_fe=1 cap_fver=2 type=PATH msg=audit(1225741937.363:230): item=1 name=(null) inode=507915 dev=fd:00 mode=0100755 ouid=0 ogid=0 rdev=00:00 obj=system_u:object_r:ld_so_t:s0 Signed-off-by: Eric Paris Acked-by: Serge Hallyn Signed-off-by: James Morris commit c0b004413a46a0a5744e6d2b85220fe9d2c33d48 Author: Eric Paris Date: Tue Nov 11 21:48:10 2008 +1100 This patch add a generic cpu endian caps structure and externally available functions which retrieve fcaps information from disk. This information is necessary so fcaps information can be collected and recorded by the audit system. Signed-off-by: Eric Paris Acked-by: Serge Hallyn Signed-off-by: James Morris commit 9d36be76c55ad2c2bb29683b752b0d9ad2e4eeef Author: Eric Paris Date: Tue Nov 11 21:48:07 2008 +1100 Document the order of arguments for cap_issubset. It's not instantly clear which order the argument should be in. So give an example. Signed-off-by: Eric Paris Acked-by: Serge Hallyn Signed-off-by: James Morris commit ff9b48c3598732926fa09afd7f526981c32a48cc Author: Bharata B Rao Date: Mon Nov 10 21:34:09 2008 +0530 sched: include group statistics in /proc/sched_debug Impact: extend /proc/sched_debug info Since the statistics of a group entity isn't exported directly from the kernel, it becomes difficult to obtain some of the group statistics. For example, the current method to obtain exec time of a group entity is not always accurate. One has to read the exec times of all the tasks(/proc//sched) in the group and add them. This method fails (or becomes difficult) if we want to collect stats of a group over a duration where tasks get created and terminated. This patch makes it easier to obtain group stats by directly including them in /proc/sched_debug. Stats like group exec time would help user programs (like LTP) to accurately measure the group fairness. An example output of group stats from /proc/sched_debug: cfs_rq[3]:/3/a/1 .exec_clock : 89.598007 .MIN_vruntime : 0.000001 .min_vruntime : 256300.970506 .max_vruntime : 0.000001 .spread : 0.000000 .spread0 : -25373.372248 .nr_running : 0 .load : 0 .yld_exp_empty : 0 .yld_act_empty : 0 .yld_both_empty : 0 .yld_count : 4474 .sched_switch : 0 .sched_count : 40507 .sched_goidle : 12686 .ttwu_count : 15114 .ttwu_local : 11950 .bkl_count : 67 .nr_spread_over : 0 .shares : 0 .se->exec_start : 113676.727170 .se->vruntime : 1592.612714 .se->sum_exec_runtime : 89.598007 .se->wait_start : 0.000000 .se->sleep_start : 0.000000 .se->block_start : 0.000000 .se->sleep_max : 0.000000 .se->block_max : 0.000000 .se->exec_max : 1.000282 .se->slice_max : 1.999750 .se->wait_max : 54.981093 .se->wait_sum : 217.610521 .se->wait_count : 50 .se->load.weight : 2 Signed-off-by: Bharata B Rao Acked-by: Srivatsa Vaddagiri Acked-by: Dhaval Giani Acked-by: Peter Zijlstra Signed-off-by: Ingo Molnar commit a3d732f93785da17e0137210deadb4616f5536fc Author: Cliff Wickman Date: Mon Nov 10 16:16:31 2008 -0600 x86, UV: fix redundant creation of sgi_uv Impact: fix double entry creation in /proc There is a collision between two UV functions: both uv_ptc_init() and gru_proc_init() try to make /proc/sgi_uv So move it's creation to a single place: uv_system_init() Signed-off-by: Cliff Wickman Signed-off-by: Ingo Molnar commit 867f7fb3ebb831970847b179e7df5a9ab10da16d Author: Ingo Molnar Date: Tue Nov 11 11:18:14 2008 +0100 tracing, x86: function return tracer, fix assembly constraints fix: arch/x86/kernel/ftrace.c: Assembler messages: arch/x86/kernel/ftrace.c:140: Error: missing ')' arch/x86/kernel/ftrace.c:140: Error: junk `(%ebp))' after expression arch/x86/kernel/ftrace.c:141: Error: missing ')' arch/x86/kernel/ftrace.c:141: Error: junk `(%ebp))' after expression the [parent_replaced] is used in an =rm fashion, so that constraint is correct in isolation - but [parent_old] aliases register %0 and uses it in an addressing mode that is only valid with registers - so change the constraint from =rm to =r. This fixes the build failure. Signed-off-by: Ingo Molnar commit 8587b33f4adee4e7614ea7f443346c3b6bb5427a Author: Wim Van Sebroeck Date: Tue Nov 11 09:56:00 2008 +0000 [PATCH] nvram - convert PRINT_PROC to seq_file Convert the /proc/drivers/nvram file from the old PRINT_PROC macro to the new seq_file filesystem. Signed-off-by: Wim Van Sebroeck commit 971ddcf8ad3aa88e0daee6799925858e9f820cb4 Author: Wim Van Sebroeck Date: Tue Nov 11 09:44:07 2008 +0000 [PATCH] nvram - CodingStyle Bring drivers/char/nvram.c in line with the Coding Style. Signed-off-by: Wim Van Sebroeck commit f1c4be5edad3756212cbbbeab39428fe90c27109 Author: Ingo Molnar Date: Tue Nov 11 10:22:36 2008 +0100 tracing, x86: clean up FUNCTION_RET_TRACER Kconfig Impact: cleanup move FUNCTION_RET_TRACER to the X86 select section, where we have all the other options. Signed-off-by: Ingo Molnar commit 15e6cb3673ea6277999642802406a764b49391b0 Author: Frederic Weisbecker Date: Tue Nov 11 07:14:25 2008 +0100 tracing: add a tracer to catch execution time of kernel functions Impact: add new tracing plugin which can trace full (entry+exit) function calls This tracer uses the low level function return ftrace plugin to measure the execution time of the kernel functions. The first field is the caller of the function, the second is the measured function, and the last one is the execution time in nanoseconds. - v3: - HAVE_FUNCTION_RET_TRACER have been added. Each arch that support ftrace return should enable it. - ftrace_return_stub becomes ftrace_stub. - CONFIG_FUNCTION_RET_TRACER depends now on CONFIG_FUNCTION_TRACER - Return traces printing can be used for other tracers on trace.c - Adapt to the new tracing API (no more ctrl_update callback) - Correct the check of "disabled" during insertion. - Minor changes... Signed-off-by: Frederic Weisbecker Cc: Steven Rostedt Signed-off-by: Ingo Molnar commit caf4b323b02a16c92fba449952ac6515ddc76d7a Author: Frederic Weisbecker Date: Tue Nov 11 07:03:45 2008 +0100 tracing, x86: add low level support for ftrace return tracing Impact: add infrastructure for function-return tracing Add low level support for ftrace return tracing. This plug-in stores return addresses on the thread_info structure of the current task. The index of the current return address is initialized when the task is the first one (init) and when a process forks (the child). It is not needed when a task does a sys_execve because after this syscall, it still needs to return on the kernel functions it called. Note that the code of return_to_handler has been suggested by Steven Rostedt as almost all of the ideas of improvements in this V3. For purpose of security, arch/x86/kernel/process_32.c is not traced because __switch_to() changes the current task during its execution. That could cause inconsistency in the stored return address of this function even if I didn't have any crash after testing with tracing on this function enabled. Signed-off-by: Frederic Weisbecker Cc: Steven Rostedt Signed-off-by: Ingo Molnar commit d844222a54c33a960755b44b934cd1b01b05dceb Author: Ingo Molnar Date: Tue Nov 11 09:58:36 2008 +0100 Merge branches 'tracing/ftrace' and 'tracing/urgent' into tracing/core commit f536aafc5a2e6f0c8f1577a155e6f93db5e469f0 Author: Steven Rostedt Date: Mon Nov 10 23:07:30 2008 -0500 ring-buffer: replace most bug ons with warn on and disable buffer This patch replaces most of the BUG_ONs in the ring_buffer code with RB_WARN_ON variants. It adds some more variants as needed for the replacement. This lets the buffer die nicely and still warn the user. One BUG_ON remains in the code, and that is because it detects a bad pointer passed in by the calling function, and not a bug by the ring buffer code itself. Signed-off-by: Steven Rostedt Signed-off-by: Ingo Molnar commit 5aa1ba6a6c710e747838a22d798ac97a8b248745 Author: Steven Rostedt Date: Mon Nov 10 23:07:30 2008 -0500 ftrace: prevent ftrace_special from recursion Impact: stop ftrace_special from recursion The ftrace_special is used to help debug areas of the kernel. Because of this, if it is put in certain locations, the fact that it allows recursion can become a problem if the kernel developer using does not realize that. This patch changes ftrace_special to not allow recursion into itself to make it more robust. It also changes from preempt disable interrupts disable to prevent any loss of trace entries. Signed-off-by: Steven Rostedt Signed-off-by: Ingo Molnar commit e0cb4ebcd9e5b4ddd8216c20f54445c91b1fa4b9 Merge: a309720 45b86a9 Author: Ingo Molnar Date: Tue Nov 11 09:40:18 2008 +0100 Merge branch 'tracing/urgent' into tracing/ftrace Conflicts: kernel/trace/trace.c commit ae1e9130bfb9ad55eb97ec3fb17a122b7a118f98 Author: Ingo Molnar Date: Tue Nov 11 09:05:16 2008 +0100 sched: rename SCHED_NO_NO_OMIT_FRAME_POINTER => SCHED_OMIT_FRAME_POINTER Impact: cleanup, change .config option name We had this ugly config name for a long time for hysteric raisons. Rename it to a saner name. We still cannot get rid of it completely, until /proc//stack usage replaces WCHAN usage for good. We'll be able to do that in the v2.6.29/v2.6.30 timeframe. Signed-off-by: Ingo Molnar commit eb37b41cc2274cdecfc19d371717c321fe2ab426 Author: Jesse Brandeburg Date: Mon Nov 10 16:48:03 2008 -0800 pktgen: add full reset functionality While testing pktgen, I found that sometimes my configurations from previous runs would be left over, particularly when going from a test with 8 threads down to a test with 4 threads. This adds new functionality to pktgen where you can call pgset "reset" and it will be just like you just insmod'ed pktgen again. Signed-off-by: Jesse Brandeburg Signed-off-by: Jeff Kirsher Signed-off-by: Robert Olsson Signed-off-by: David S. Miller commit 9b1582d4513a2102c68fe12ac1106595f3c09120 Author: Rémi Denis-Courmont Date: Mon Nov 10 16:21:05 2008 -0800 Phonet: use net_device built-in stats for GPRS Signed-off-by: Rémi Denis-Courmont Signed-off-by: David S. Miller commit fb28ad35906af2f042c94e2f9c0f898ef9acfa37 Author: Kay Sievers Date: Mon Nov 10 13:55:14 2008 -0800 net: struct device - replace bus_id with dev_name(), dev_set_name() Acked-by: Marcel Holtmann Acked-by: Greg Kroah-Hartman Signed-off-by: Kay Sievers Signed-off-by: David S. Miller commit 23779897546c1effb546ff89b89803d9d955d517 Merge: f574179 c483246 Author: David S. Miller Date: Mon Nov 10 13:24:44 2008 -0800 Merge branch 'master' of git://git.kernel.org/pub/scm/linux/kernel/git/linville/wireless-next-2.6 commit 8a1413a296d38b54ded651e76ef16c033d38fd5d Author: Chris Mason Date: Mon Nov 10 16:13:54 2008 -0500 Btrfs: empty_size allocation fixes again The allocator wasn't catching all of the cases where it needed to do extra loops because the check to enforce them wasn't happening early enough. When the allocator decided to increase the size of the allocation for metadata clustering, it wasn't always setting the empty_size to include the extra (optional) bytes. This also fixes the empty_size field to be correct. Signed-off-by: Chris Mason commit c4832467a5c8c2ae96d6dad882be4d4ab9eefad7 Author: Larry Finger Date: Fri Oct 31 09:40:44 2008 -0700 rtl8187: Change TX power settings The latest vendor driver (rtl8187B_linux_26.1036.0708.2008) has a different CCK power setting code as compared with the Linux driver. Signed-off-by: Larry Finger Tested-by: Piter Punk Signed-off-by: John W. Linville commit b2e53b338b7b4608372d070bb477f3bae3971e5a Author: David Kilroy Date: Fri Oct 31 13:35:21 2008 +0000 orinoco: Move sources to a subdirectory Keeping all the orinoco drivers in a common directory will make maintenance easier. Signed-off by: David Kilroy Signed-off-by: John W. Linville commit 5166ccd220f187b2e9edfc5f01eb49f4a0ebf586 Author: Luis R. Rodriguez Date: Thu Oct 30 13:33:56 2008 -0700 cfg80211: Add kdoc for struct regulatory_request As regulatory_request gets bigger there will be more questions of what things means, so clarify documenation for it and keep track of the special alpha2 codes we use internally and on the userspace regulatory agents. Signed-off-by: Luis R. Rodriguez Signed-off-by: John W. Linville commit b219cee191e7cfe88a695a57249a295d0d5b22e9 Author: Luis R. Rodriguez Date: Thu Oct 30 13:33:55 2008 -0700 cfg80211: make use of reg macros on REG_RULE Ensure regulatory converstion macros safely accept multiple arguments and make REG_RULE() use them. Signed-off-by: Luis R. Rodriguez Signed-off-by: John W. Linville commit 9c96477d10763d4314012425ecc8a3cff9e60ea9 Author: Luis R. Rodriguez Date: Thu Oct 30 13:33:53 2008 -0700 cfg80211: Add regulatory domain intersection capability There are certain scenerios where we require intersecting two regulatory domains. This adds intersection support. When we enable 802.11d support we will use this to intersect the regulatory domain from the AP's country IE and what our regulatory agent believes is correct for a country. This patch enables intersection for now in the case where the last regdomain was set by a country IE which was parsed and the user then wants to set the regulatory domain. Since we don't support country IE parsing yet this code path will not be hit, however this allows us to pave the way for 11d support. Intersection code has been tested in userspace with CRDA. Signed-off-by: Luis R. Rodriguez Signed-off-by: John W. Linville commit d71aaf6053e380996e40c9ecfe39a8dced52694c Author: Luis R. Rodriguez Date: Thu Oct 30 13:33:52 2008 -0700 cfg80211: a reg rule is invalid if freq diff is 0 A regulatory rule is invalid when the frequency difference between the end of the frequency range and the start is 0. Signed-off-by: Luis R. Rodriguez Signed-off-by: John W. Linville commit fc6971d491517ba15e800540ff88caa55dc65b01 Author: Jouni Malinen Date: Thu Oct 30 19:59:05 2008 +0200 mac80211_hwsim: Add support for client PS mode This introduces a debugfs file (ieee80211/phy#/hwsim/ps) that can be used to force a simulated radio into power save mode. Following values can be written into this file to change PS mode: 0 = power save disabled (constantly awake) 1 = power save enabled (drop all frames; do not send PS-Poll) 2 = power save enabled (send PS-Poll frames automatically to receive buffered unicast frames); not yet fully implemented 3 = manual PS-Poll trigger (send a single PS-Poll frame) Two different behavior for power save mode processing can be tested: - move between modes 1 and 0 (i.e., receive all buffered frames at a time) - move to mode 1 and use manual PS-Poll frames (write 3 to the 'ps' debugfs file) to fetch power save buffered frames one at a time Mode 2 (automatic PS-Poll) does not yet parse Beacon frames, but eventually, it should take a look at TIM IE and send PS-Poll if a traffic bit is set for our AID. Signed-off-by: Jouni Malinen Signed-off-by: John W. Linville commit fbf189273926d83d71c4c321f1215162569506ac Author: Jouni Malinen Date: Thu Oct 30 19:50:30 2008 +0200 mac80211: Allow AP mode to be enabled With the addition of basic rate set and TX queue parameter configuration and confirmation that power save buffering is working again, mac80211 is now in state that allows AP mode to be used without major problems. Consequently, it is time to allow this mode to be enabled without having to patch the kernel. AP mode requires hostapd for management frame processing and as such, configuring this mode is only allowed through cfg80211 (not with iwconfig and WEXT). Signed-off-by: Jouni Malinen Signed-off-by: John W. Linville commit d61272cbb35fa1c08fe94898583d880256f2dbd3 Author: Tomas Winkler Date: Thu Oct 30 17:08:08 2008 +0200 mac80211: fix basic rates setting from association response In previous code all the rates were marked as basic. Signed-off-by: Tomas Winkler Signed-off-by: Johannes Berg Signed-off-by: John W. Linville commit ab1ef980504ca7f17b675b3a53a88956f800fce3 Author: Jouni Malinen Date: Thu Oct 30 16:59:25 2008 +0200 mac80211_hwsim: Make sure beacon_timer gets deleted It was possible to trigger a kernel panic because beacon_timer may not have been deleted in all cases when the kernel module was removed while hostapd was still running. Signed-off-by: Jouni Malinen Signed-off-by: John W. Linville commit 318884875bdddca663ecc373c813cf8e117d9e43 Author: Jouni Malinen Date: Thu Oct 30 16:59:24 2008 +0200 nl80211: Add TX queue parameter configuration Add a new attribute, NL80211_ATTR_WIPHY_TXQ_PARAMS, that can be used with NL80211_CMD_SET_WIPHY for userspace (e.g., hostapd) to set TX queue parameters (txop, cwmin, cwmax, aifs). Signed-off-by: Jouni Malinen Signed-off-by: John W. Linville commit 1e898ff83c31c303f73c3893d1ac519e4d9b59e5 Author: Jouni Malinen Date: Thu Oct 30 16:59:23 2008 +0200 mac80211_hwsim: Debug info for TX queue parameters Provide detailed information on TX queue parameter changes to make it easier to debug mac80211 functionality. Signed-off-by: Jouni Malinen Signed-off-by: John W. Linville commit 90c97a040d6b08cc4890328aa262fdc37336ab01 Author: Jouni Malinen Date: Thu Oct 30 16:59:22 2008 +0200 nl80211: Add basic rate configuration for AP mode Add a new attribute, NL80211_ATTR_BSS_BASIC_RATES, that can be used with NL80211_CMD_SET_BSS for userspace (e.g., hostapd) to set which rates are in the basic rate set. Signed-off-by: Jouni Malinen Acked-by: Johannes Berg Signed-off-by: John W. Linville commit fe63bfa3669dbdd4985ed35d9a0ed08881f62516 Author: Jouni Malinen Date: Thu Oct 30 16:59:21 2008 +0200 mac80211_hwsim: Debug info for BSS config changes Provide detailed information on BSS configuration changes to make it easier to debug mac80211 functionality. Signed-off-by: Jouni Malinen Signed-off-by: John W. Linville commit 95f8e38deffc55f7108bcfa3e180bd5b3d53fc04 Author: Ilpo Järvinen Date: Thu Oct 30 13:43:41 2008 +0200 b43legacy: reindent misleading statement Signed-off-by: Ilpo Järvinen Signed-off-by: John W. Linville commit ccf5dd14f8a4273f40d8319e75b377edb1f5220d Author: Johannes Berg Date: Wed Oct 29 23:24:14 2008 +0100 libertas_tf: fix skb tail pointer skb->tail can't be meant here because it's not the same across 32/64 bit compilations. This means there's no way the current driver can work on 64-bit architectures. Signed-off-by: Johannes Berg Cc: stable@kernel.org [2.6.27] Signed-off-by: John W. Linville commit 9483407d09077c0bfc612c72835b1e9bbdda0a10 Author: Chr Date: Wed Oct 29 22:39:50 2008 +0100 p54: initialize all deprecated fields The new mechanism for allocing space for control frames, didn't "zero" out the payload data... However I haven't heard of any hiccups so far... Signed-off-by: Christian Lamparter Signed-off-by: John W. Linville commit c8034c44851ba4c6b55ec6e6b60573cf51589be3 Author: Pavel Roskin Date: Wed Oct 29 17:31:43 2008 -0400 p54: don't report known but unhandled EEPROM codes as unknown Signed-off-by: Pavel Roskin Signed-off-by: John W. Linville commit 61780ee313846b29bfb06dfcb2f3bdf0b7ba3f66 Author: Mohamed Abbas Date: Wed Oct 29 14:05:49 2008 -0700 iwlwifi: do not call statistics from rfkill Signed-off-by: Mohamed Abbas Signed-off-by: Reinette Chatre Signed-off-by: John W. Linville commit eb48dcaf57d4e9b6521aeb593fe95a36db6c2109 Author: Winkler, Tomas Date: Wed Oct 29 14:05:48 2008 -0700 iwlwifi: iwl-agn-rs: initialize rs with valid antenna This patch fix rate scaling initialization. Rate scaling was initialized always with B antenna. Signed-off-by: Tomas Winkler Signed-off-by: Reinette Chatre Signed-off-by: John W. Linville commit 6a63578ddf6148927a80c07a73b40ccc8f3ac8e2 Author: Emmanuel Grumbach Date: Wed Oct 29 14:05:47 2008 -0700 iwlwifi: rename double inclusion protection name in iwl-commands.h This patch change the name of the double inclusion protection in iwl-commands.h Signed-off-by: Emmanuel Grumbach Reviewed-by: Tomas Winkler Signed-off-by: Reinette Chatre Signed-off-by: John W. Linville commit 5b9f8cd3eea04770ff186b853bbde1741f321866 Author: Emmanuel Grumbach Date: Wed Oct 29 14:05:46 2008 -0700 iwlwifi: rename generic iwlagn functions that had a HW specific name This patch renames functions that are generic in iwl-agn and had a iwl4965 prefix. Signed-off-by: Emmanuel Grumbach Reviewed-by: Tomas Winkler Signed-off-by: Reinette Chatre Signed-off-by: John W. Linville commit 60294de3af99586bb4a205274d02a7c8b910c0c3 Author: Zhu, Yi Date: Wed Oct 29 14:05:45 2008 -0700 iwlwifi: fix priv->iw_mode setting when multiple vif are configured mac80211 supports multiple virtual interfaces for a single device. For example, a managed interface (wlan0) and a monitor interface (mon0) can exist at the same time. Thus priv->iw_mode is not sufficient to track the wireless mode any more. The patch redefines priv->iw_mode as the first interface mode (the same as priv->vif->type if priv->vif != NULL). If another monitor type interface is created later, we don't change priv->iw_mode into monitor. This way, the original interface still works. The patch also requests mac80211 to do reassociation after we change the Rx filter flags. Signed-off-by: Zhu Yi Signed-off-by: Reinette Chatre Signed-off-by: John W. Linville commit eb4779c40549f8e0dd45c9a30f279134c9a86131 Author: Winkler, Tomas Date: Wed Oct 29 14:05:44 2008 -0700 iwlwifi: trivial removal of some 4965 remaining from iwl-agn-rs.h This patch removes 4965 prefix from comments and one function in iwl-agn-rs.h Signed-off-by: Tomas Winkler Signed-off-by: Reinette Chatre Signed-off-by: John W. Linville commit 9c80c50211d638555bc4b160d9ccd348e98eedad Author: Winkler, Tomas Date: Wed Oct 29 14:05:43 2008 -0700 iwlwifi: reorganize flow handler bitology This patch cleans up FH bits and adds missing register values that will be used later in TX initialization rewrite Signed-off-by: Tomas Winkler Signed-off-by: Reinette Chatre Signed-off-by: John W. Linville commit c7ab5ef9bcd281135c21b4732c9be779585181be Author: Johannes Berg Date: Wed Oct 29 20:02:12 2008 +0100 b43: implement short slot and basic rate handling This implements proper short slot handling and adds code to program the hardware for the correct response rates derived from the basic rate set for the current BSS. Signed-off-by: Johannes Berg Signed-off-by: John W. Linville commit bd815252720e4b667d9946d050d003ec89bda099 Author: Johannes Berg Date: Wed Oct 29 20:00:45 2008 +0100 wireless: implement basic rate helper function This adds a helper function that, given a bitmap of basic rates and a bitrate returns the response rate for this rate. Signed-off-by: Johannes Berg Signed-off-by: John W. Linville commit 743b97caf98036ec8ee4bfc6fc6f85ad94e04783 Author: Ivo van Doorn Date: Wed Oct 29 19:41:03 2008 +0100 rt2x00: Remove debugfs CSR access wrappers Move calculation of CSR register offset into rt2x00debug.c and remove the wrapper functions from each individual driver. (Except rt2500usb, which still needs to wrap for the different value type argument). Signed-off-by: Ivo van Doorn Signed-off-by: John W. Linville commit f161796700ed89b07dff2ad4ba3a932bc721af7e Author: John W. Linville Date: Fri Oct 31 16:45:15 2008 -0400 ath9k: correct warning about unintialized variable 'tid' drivers/net/wireless/ath9k/xmit.c: In function ‘ath_tx_start’: drivers/net/wireless/ath9k/xmit.c:1858: warning: ‘tid’ may be used uninitialized in this function Signed-off-by: John W. Linville commit 74508b29c51158e5b45bca13e702c68ef5c3b641 Author: Larry Finger Date: Fri Oct 31 09:54:49 2008 -0700 rtl8187: Reduce channel switch delay The latest vendor driver (rtl8187B_linux_26.1036.0708.2008) has a 10 msec delay after the call to set a new channel, but not before. Signed-off-by: Larry Finger Tested-by: Herton Ronaldo Krzesinski Tested-by: Hin-Tak Leung Signed-off-by: John W. Linville commit 94d4fe9824e5c62240f3ae2a33b2dd5a8a32a01b Author: Larry Finger Date: Fri Oct 31 09:54:30 2008 -0700 rtl8187: Remove primitive write delays Each of the primary write routines, rtl8187_write_phy(), rtl8225_write_bitbang(), and rtl8225_write_8051() all conclude with an msleep() command. Testing shows that these are not needed. Signed-off-by: Larry Finger Tested-by: Herton Ronaldo Krzesinski Tested-by: Hin-Tak Leung Signed-off-by: John W. Linville commit 946d1c22644a5de07efc1c847fb64bb0cf8f82f2 Author: Larry Finger Date: Fri Oct 31 09:54:13 2008 -0700 rtl8187: Remove msleep calls after calls to rtl8225_write Routine rtl8225_write() calls either rtl8225_write_bitbang() or rtl8225_write_8051(), both of which end with an msleep() command. As a result, a rtl8225_write() immediately followed by an msleep() is not needed. Signed-off-by: Larry Finger Tested-by: Herton Ronaldo Krzesinski Tested-by: Hin-Tak Leung Signed-off-by: John W. Linville commit a3d67bc2e9e25f09151971192946fe3b68543649 Author: Larry Finger Date: Fri Oct 31 09:52:58 2008 -0700 rtl8187: Remove CCK delays Routine rtl8225_write_phy_cck() calls rtl8225_write_phy(), which concludes with a sleep of 1 msec; therefore a call to rtl8225_write_phy_cck() immediately followed by an msleep(1) is not needed. Signed-off-by: Larry Finger Tested-by: Herton Ronaldo Krzesinski Tested-by: Hin-Tak Leung Signed-off-by: John W. Linville commit 35cc988a5620cea03fd97e96c530e1f259ef913b Author: Larry Finger Date: Fri Oct 31 09:52:39 2008 -0700 rtl8187: Remove OFDM delays Routine rtl8225_write_phy_ofdm() calls rtl8225_write_phy(), which concludes with a sleep of 1 msec; therefore a call to rtl8225_write_phy_ofdm() immediately followed by an msleep(1) is not needed. Signed-off-by: Larry Finger Tested-by: Herton Ronaldo Krzesinski Tested-by: Hin-Tak Leung Signed-off-by: John W. Linville commit 2f20596b50ee964715f9ad44d848802f0baba5d8 Author: Larry Finger Date: Fri Oct 31 09:52:07 2008 -0700 rtl8187: Remove large delays The rtl8187 driver contains 3 sleep statements that are longer than a second. Testing has shown no bad effects when they are removed. Signed-off-by: Larry Finger Tested-by: Herton Ronaldo Krzesinski Tested-by: Hin-Tak Leung Signed-off-by: John W. Linville commit 9344e86e577df483475845096dba07f2deb11ce3 Author: Ivo van Doorn Date: Wed Oct 29 17:19:29 2008 +0100 rt2x00: Release rt2x00 2.2.2 Version bump. Signed-off-by: Ivo van Doorn Signed-off-by: John W. Linville commit 3514a441265c6788d85e8222dcca10cd66433123 Author: Ivo van Doorn Date: Wed Oct 29 17:18:46 2008 +0100 rt2x00: Improve interface_modes initialization All operating modes which require beaconing should depend on the availability of beacon entries from the hardware. Signed-off-by: Ivo van Doorn Signed-off-by: John W. Linville commit c3fd7b41cae2fa213858d6501e6065f24097c0a8 Author: Ivo van Doorn Date: Wed Oct 29 17:18:22 2008 +0100 rt2x00: Remove ieee80211_bss_conf from rt2x00_intf We can safely remove ieee80211_bss_conf from rt2x00_intf, it is provided by mac80211 in ieee80211_vif as well. (rt2x00_intf is the drv_priv field of ieee80211_vif). Signed-off-by: Ivo van Doorn Signed-off-by: John W. Linville commit e4ea1c403acece78c271bf9cd6f797d1cb093df9 Author: Ivo van Doorn Date: Wed Oct 29 17:17:57 2008 +0100 rt2x00: Optimize configuration handling Implement latest changed from mac80211 configuration handling to optmize configuration handling in rt2x00. * Remove set_retry_limit callback function, handled through config() * Move config_antenna to its own callback function, it isn't handled by mac80211 anymore * Use IEEE80211_CONF_CHANGED_* flags and remove manual checks * Removed deprecated short slot setting through config() and put it in config_erp() through which mac80211 now configures it * Remove config_phymode() and move contents to config_erp() since it only managed the basic rates which is now determined by mac80211 through config_erp(). Signed-off-by: Ivo van Doorn Signed-off-by: John W. Linville commit 3f64b435ab76e79bfb3b4d36f043e6f892093b71 Author: Bob Copeland Date: Wed Oct 29 23:19:14 2008 -0400 ath5k: update keycache to support TKIP handling Newer parts have slots at entry+64 for michael mic and can do WPA-TKIP in hardware. The open-sourced Atheros HAL has code for accessing this portion so now we know how where to put the key material. Signed-off-by: Bob Copeland Acked-by: Nick Kossifidis Signed-off-by: John W. Linville commit 9ad9a26e7b7b6671a9aefbb1edb2e8a9ed50ee8d Author: Bob Copeland Date: Wed Oct 29 08:30:54 2008 -0400 ath5k: enable hardware encryption for WEP This change re-enables hardware encryption for ath5k after setting up mac80211 to handle the initialization vectors which happens to make it work. Add a module param (nohwcrypt) to optionally turn it off. Signed-off-by: Bob Copeland Signed-off-by: John W. Linville commit 2a941ecb5178cb8c94190f17a42f35a772cbc5c6 Author: Holger Schurig Date: Wed Oct 29 09:43:50 2008 +0100 wireless: fix two bad print_ssid conversions This patch fixes two current compilation problems. They showed up with CONFIG_IEEE80211_DEBUG defined. Signed-off-by: Holger Schurig Signed-off-by: John W. Linville commit 8469cdef1f123e2e3e56645f1ac26c7cfb333d9c Author: Sujith Date: Wed Oct 29 10:19:28 2008 +0530 mac80211: Add a new event in ieee80211_ampdu_mlme_action Send a notification to the driver on succesful reception of an ADDBA response, add IEEE80211_AMPDU_TX_RESUME for this purpose. Signed-off-by: Sujith Signed-off-by: John W. Linville commit dca3edb88ef567671886a85c5e40d491ccecf934 Author: Sujith Date: Wed Oct 29 10:19:01 2008 +0530 ath9k: Remove internal RX A-MPDU processing mac80211 has RX A-MPDU reordering support. Use that and remove redundant RX processing within the driver. Signed-off-by: Sujith Signed-off-by: John W. Linville commit 7f959032bbee5eedaf4c606d11f0c5d41498644e Author: Sujith Date: Wed Oct 29 10:18:39 2008 +0530 ath9k: Clear HT info on starting the driver Doing an interface down/up leaves the old HT assoc information, clear it. Signed-off-by: Sujith Signed-off-by: John W. Linville commit ccc75c526611e62c4c9adcb4a62bf4a164478d2c Author: Sujith Date: Wed Oct 29 10:18:14 2008 +0530 ath9k: Remove ath_tx_aggr_resp() Accessing mac80211's internal state machine is wrong. Will add resumption of a TID in a later patch. Signed-off-by: Sujith Signed-off-by: John W. Linville commit 05a1e2d111c98340fb17ec702cf09450eec3a947 Author: Sujith Date: Wed Oct 29 10:17:54 2008 +0530 ath9k: Enable interrupts at the proper place config_interface() was the wrong place to enable interrupts when bringing up an interface, move it to ath_open(). Signed-off-by: Sujith Signed-off-by: John W. Linville commit 154662a6356ec3ccfea0a22218cf149220ea6373 Author: Sujith Date: Wed Oct 29 10:17:34 2008 +0530 ath9k: Remove unnecessary TSF reset The TSF is already reset properly via mac80211's callback. Resetting it in config_interface() is not needed. Signed-off-by: Sujith Signed-off-by: John W. Linville commit 9c84b7978f1b99048bf31be5a0218cd509e74148 Author: Sujith Date: Wed Oct 29 10:17:13 2008 +0530 ath9k: Streamline attach/detach Simplify attach and detach routines by consolidating the stop and suspend functions. Signed-off-by: Sujith Signed-off-by: John W. Linville commit 50fdae2c7bcb6417997f90c3d9853a59a9ed06ce Author: Sujith Date: Wed Oct 29 10:16:52 2008 +0530 ath9k: Remove unused function ath_get_currentCountry() Signed-off-by: Sujith Signed-off-by: John W. Linville commit f1dc56003b23d2d5bb5a756de6b1633a76c9e697 Author: Sujith Date: Wed Oct 29 10:16:30 2008 +0530 ath9k: Refactor hw.c Split hw.c into more manageable files: ani.c calib.c eeprom.c mac.c Signed-off-by: Sujith Signed-off-by: John W. Linville commit 5640b08ef7e88b606c740e746cb77bc97d78508e Author: Sujith Date: Wed Oct 29 10:16:06 2008 +0530 ath9k: Revamp VAP management Remove the internal VAP management routines and embed ath_vap in mac80211's driver private area provided in ieee80211_vif. Signed-off-by: Sujith Signed-off-by: John W. Linville commit a37c2c79404940dfc5e88c851c3de5328975b1a9 Author: Sujith Date: Wed Oct 29 10:15:40 2008 +0530 ath9k: Use bitfields to store tid's state in a single variable Signed-off-by: Sujith Signed-off-by: John W. Linville commit 102e0572d330e6cdb89a8f8fbd3999e3c67a1f9e Author: Sujith Date: Wed Oct 29 10:15:16 2008 +0530 ath9k: Ensure ath_node is not NULL when updating tx chainmask Also, random indentation and whitespace cleanup. Signed-off-by: Sujith Signed-off-by: John W. Linville commit 43453b3392c1ecfdd1471383ad42ba926533a722 Author: Sujith Date: Wed Oct 29 10:14:52 2008 +0530 ath9k: Remove SM Power Save as it is not supported now Signed-off-by: Sujith Signed-off-by: John W. Linville commit 528f0c6b3b6bbed1328ee49bfc906543daa00866 Author: Sujith Date: Wed Oct 29 10:14:26 2008 +0530 ath9k: Revamp transmit control block Use the ath_buf instance associated with each tx frame directly and remove all redundant information in ath_tx_control. Signed-off-by: Sujith Signed-off-by: John W. Linville commit c51701632c8becdf0ffedb96d9cedc1149f2183a Author: Sujith Date: Wed Oct 29 10:13:59 2008 +0530 ath9k: Simplify node attach/detach routines Signed-off-by: Sujith Signed-off-by: John W. Linville commit b5aa9bf9460f9e97f2c10940b029d75c6557ad7c Author: Sujith Date: Wed Oct 29 10:13:31 2008 +0530 ath9k: Node cleanup Start removing the internal node list in ath9k, in preparation for using mac80211's STA list. Remove lists, locks, routines, flags, functions managing nodes in ath9k. Signed-off-by: Sujith Signed-off-by: John W. Linville commit 17683c65c8a5f3f29f5408334992986b996d8205 Author: Bob Copeland Date: Wed Oct 29 23:24:26 2008 -0400 ath5k: fix keytable type buglet in ath5k_hw_reset_key Be sure we clear out both the mic (if applicable) and the encryption key type. Signed-off-by: Bob Copeland Signed-off-by: John W. Linville commit f07a6c495e88ae0143e3c20b1ed666314197277f Author: Nick Kossifidis Date: Wed Oct 29 04:28:28 2008 +0200 ath5k: Update PCU code * In set_opmode don't handle antenna settings and preserve other STA_ID1 settings (shouldn't matter because we call it during reset but it makes things cleaner) Also set properly AP/ADHOC indicator flag on CFG while setting AP/ADHOC modes and always enable key search mode. * Properly set BSSID Mask during reset (cache it and reuse it durring set_associd) * Update beacon_init to flush pending BMISS interrupts and handle setting of adhoc beacon ATIM policy flag for ad-hoc mode. Also set TSF to 0 to start TSF increment on AP mode. We need to handle sleep timers for AR5212 there + add support for PCF. * Properly clean MIC key from keytable when TKIP is used (Bob is working on set_key function etc so i leave it for now). Tested on AR5212 (Hainan) and AR5413 and works fine v2 Set PISR on AR5211+ and ISR on AR5210, got to sleep more ;-) Changes-Licensed-under: ISC Signed-Off-by: Nick Kossifidis Signed-off-by: John W. Linville commit 2c706002fc147decdba2658ea48e4436faca3af2 Author: Johannes Berg Date: Thu Oct 30 22:09:54 2008 +0100 don't use net/ieee80211.h Convert all the drivers using net/ieee80211.h to use linux/ieee80211.h. Contains a bugfix in libertas where the SSID parsing could overrun the buffer when the AP sends invalid information. Signed-off-by: Johannes Berg Acked-by: Dan Williams [airo, libertas] Acked-by: Pavel Roskin [orinoco] Acked-by: David Kilroy [orinoco] Signed-off-by: John W. Linville commit 9b1fbae4b242cf86a878771eb59dc600dde72ec8 Author: Johannes Berg Date: Wed Oct 29 01:02:27 2008 +0100 iwl3945: remove bogus comment I added this comment myself, but it's clearly wrong. I had meant to place it in iwl_mac_add_interface, which at the time didn't honour the MAC address setting, but it does now. Signed-off-by: Johannes Berg Signed-off-by: John W. Linville commit 41bb73eeac5ff5fb217257ba33b654747b3abf11 Author: Johannes Berg Date: Wed Oct 29 01:09:37 2008 +0100 mac80211: remove SSID driver code Remove the SSID from the driver API since now there is no driver that requires knowing the SSID and I think it's unlikely that any hardware design that does require the SSID will play well with mac80211. This also removes support for setting the SSID in master mode which will require a patch to hostapd to not try. Signed-off-by: Johannes Berg Signed-off-by: John W. Linville commit b23f99bcfa12c7b452f7ad201ea5921534d4e9ff Author: Johannes Berg Date: Tue Oct 28 18:50:12 2008 +0100 adm8211: remove SSID code Since adm8211 currently doesn't implement IBSS mode anyway, it can't be using the SSID. And if/when it does implement IBSS mode, we'll have to see how to make it beacon anyway. Signed-off-by: Johannes Berg Signed-off-by: John W. Linville commit 71c11fb57b924c160297ccd9e1761db598d00ac2 Author: Johannes Berg Date: Tue Oct 28 18:29:48 2008 +0100 b43/legacy: remove SSID code The SSID programmed into the device is used by the ucode only to reply to probe requests, a functionality we disable anyway because it doesn't fit with the mac80211/hostapd programming model. Therefore, it isn't useful to program the SSID into device. Signed-off-by: Johannes Berg Signed-off-by: John W. Linville commit 4607816f608b42a5379aca97ceed08378804c99f Author: Johannes Berg Date: Tue Oct 28 18:25:43 2008 +0100 iwlwifi: remove unused essid variable Now the essid stuff is unused, so remove it. Signed-off-by: Johannes Berg Signed-off-by: John W. Linville commit a57a59f247b651e8ed6d3eeb7e2f9d83b83134c9 Author: Johannes Berg Date: Tue Oct 28 18:21:05 2008 +0100 iwlwifi: remove implicit direct scan When an undirected scan is requested and iwlwifi is not associated but the user has set an SSID (and maybe was associated with that network at some point) then iwlwifi will assume the user wanted to scan for this SSID which seems wrong. Remove this code. Signed-off-by: Johannes Berg Signed-off-by: John W. Linville commit 430cfe95a401baa0dc2022deaad02cb75d63c73c Author: Johannes Berg Date: Tue Oct 28 18:06:02 2008 +0100 iwl3945: remove dead code Was wondering about this code since supposedly the firmware will add the SSID element. Turns out it's dead, so remove it. Signed-off-by: Johannes Berg Signed-off-by: John W. Linville commit e5704bf0ba4bb2ca54a1c74f6a6dca53dfccc33d Author: Johannes Berg Date: Tue Oct 28 16:59:57 2008 +0100 ath9k: remove useless NULL initialisers When I added .set_frag_threshold I didn't realise it was already there which now generated a sparse warning. Therefore, remove the .set_frag_threshold NULL initialiser, and while at it all the other useless ones. Signed-off-by: Johannes Berg Acked-by: Luis R. Rodriguez Signed-off-by: John W. Linville commit 2df78167ade3d0542f0f95be7cc58861343cce3a Author: Johannes Berg Date: Tue Oct 28 16:49:41 2008 +0100 wireless: fix a few sparse warnings Signed-off-by: Johannes Berg Signed-off-by: John W. Linville commit 1239cd58d237fa6ad501acaec8776262a5784ec8 Author: Johannes Berg Date: Tue Oct 28 11:12:57 2008 +0100 wireless: move mesh config length constant This is a constant from the 802.11 specification. Signed-off-by: Johannes Berg Cc: Javier Cardona Signed-off-by: John W. Linville commit 97c8b013da7a8ec7aa0a192489d4e7a33c4127fc Author: Zhu Yi Date: Tue Oct 28 15:58:31 2008 +0800 mac80211: print reason code for deauth/dissoc frames The patch prints reason code for deauth/dissoc frames to give users more ideas what's happened for the disconnection. Signed-off-by: Zhu Yi Acked-by: Johannes Berg Signed-off-by: John W. Linville commit db4186cf15a5a7e8e8526f7c158f042ccc3ed576 Author: John W. Linville Date: Fri Oct 31 15:53:12 2008 -0400 p54: eliminate warning for uninitialized variable 'tim_len' drivers/net/wireless/p54/p54common.c: In function ‘p54_tx’: drivers/net/wireless/p54/p54common.c:1058: warning: ‘tim_len’ may be used uninitialized in this function Signed-off-by: John W. Linville commit e5ea92a7528d304e8e327d0d261653e98b163e8a Author: Christian Lamparter Date: Sat Oct 18 23:19:00 2008 +0200 p54: AP & Ad-hoc testing This patch finally adds all necessary code to test Ad-hoc & AP mode with p54. Signed-off-by: Christian Lamparter Signed-off-by: John W. Linville commit 94585b090baf982a850678a1dc3395bce0c1e302 Author: Christian Lamparter Date: Sat Oct 18 23:18:44 2008 +0200 p54: put broadcast frames into the right queues stlc45xx's specs finally brought some light what all the 4 extra queues for. now CAB data and managment frames have their own queue. Signed-off-by: Christian Lamparter Signed-off-by: John W. Linville commit 9e7f3f8e4acdc480584d6b5e6a6be5d1f7bda8fa Author: Christian Lamparter Date: Sat Oct 18 23:18:01 2008 +0200 p54: more definitions form lmac_longbow.h and pda.h This patch ports more useful features to p54 - PDR definitions for the synth chips & regulatory domain. - honour IEEE80211_TX_CTL_ASSIGN_SEQ flag, if it's set. - adds some lost mutex_lock & mutex_unlock. - replace two more "magic values" that sneaked past. Signed-off-by: Christian Lamparter Signed-off-by: John W. Linville commit 9a8675d712d57da0993ad2e43b168c9585892097 Author: Christian Lamparter Date: Sat Oct 18 23:04:15 2008 +0200 p54: introduce new names for device firmwares Johannes thought it would have been a good idea to change the firmware names. Note: we still have fallbacks in case our users don't want to "break their running system", but we won't advertise them with MODULE_FIRMWARE. Signed-off-by: Christian Lamparter Signed-off-by: John W. Linville commit 4ceb7b6ae2cf5b6e32c403a11bb54081bf8f8b83 Author: Wang Chen Date: Fri Sep 5 11:28:47 2008 +0800 netdevice libertas: Fix directly reference of netdev->priv We have some reasons to kill netdev->priv: 1. netdev->priv is equal to netdev_priv(). 2. netdev_priv() wraps the calculation of netdev->priv's offset, obviously netdev_priv() is more flexible than netdev->priv. But we cann't kill netdev->priv, because so many drivers reference to it directly. OK, becasue Dave S. Miller said, "every direct netdev->priv usage is a bug", and I want to kill netdev->priv later, I decided to convert all the direct reference of netdev->priv first. Different to readonly reference of netdev->priv, in this driver, netdev->priv was changed. I use netdev->ml_priv to replace netdev->priv. Signed-off-by: Wang Chen Signed-off-by: John W. Linville commit 240d5d482b69415b92ffce4b8dfca10799c9890b Author: Chris Mason Date: Mon Nov 10 13:08:31 2008 -0500 Btrfs: tune btrfs unplug functions for a small number of devices When btrfs unplugs, it tries to find the correct device to unplug via search through the extent_map tree. This avoids unplugging a device that doesn't need it, but is a waste of time for filesystems with a small number of devices. This patch checks the total number of devices before doing the search. Signed-off-by: Chris Mason commit b47eda8690a10f4fc01eb7b795078fa3fa57149f Author: Chris Mason Date: Mon Nov 10 12:34:40 2008 -0500 Btrfs: Turn off extent state leak debugging The extent_io.c code has a #define to find and cleanup extent state leaks on module unmount. This adds a very highly contended spinlock to a hot path for most FS operations. Turn it off by default. A later changeset will add a .config option for it. Signed-off-by: Chris Mason commit 445a69449994a37615cd47e47bcab2e42a070adf Author: Chris Mason Date: Mon Nov 10 11:53:33 2008 -0500 Btrfs: Fix usage of struct extent_map->orig_start This makes sure the orig_start field in struct extent_map gets set everywhere the extent_map structs are created or modified. Signed-off-by: Chris Mason commit 39be25cd89450940b0e5f8a6aad71d1ec99b17bf Author: Chris Mason Date: Mon Nov 10 11:50:50 2008 -0500 Btrfs: Use invalidatepage when writepage finds a page outside of i_size With all the recent fixes to the delalloc locking, it is now safe again to use invalidatepage inside the writepage code for pages outside of i_size. This used to deadlock against some of the code to write locked ranges of pages, but all of that has been fixed. Signed-off-by: Chris Mason commit f5a31e166772a7b9fff6725b697eb8b57633671e Author: Chris Mason Date: Mon Nov 10 11:47:09 2008 -0500 Btrfs: Try harder while searching for free space The loop searching for free space would exit out too soon when metadata clustering was trying to allocate a large extent. This makes sure a full scan of the free space is done searching for only the minimum extent size requested by the higher layers. Signed-off-by: Chris Mason commit e04ca626baee684bea9d6239e4e1119b696101b2 Author: Chris Mason Date: Mon Nov 10 11:44:58 2008 -0500 Btrfs: Fix use after free during compressed reads Yan's fix to use the correct file offset during compressed reads used the extent_map struct pointer after it had been freed. This saves the fields we want for later use instead. Signed-off-by: Chris Mason commit f43aa025b7de79d6a615ea4c1e6be7e6b1cea538 Author: Takashi Iwai Date: Mon Nov 10 16:24:26 2008 +0100 ALSA: hda - Fix another cache list management Fix another silly bug in the amp cache list management. Signed-off-by: Takashi Iwai commit 7f1fd31db158c95418d9cc5690ab60ecc6fb632d Author: Catalin Marinas Date: Mon Nov 10 14:14:11 2008 +0000 Fix the teehbr_read function prototype A "void" was missing inside brackets. Signed-off-by: Catalin Marinas commit 8553cb67d2318db327071018fc81084cbabccc46 Author: Catalin Marinas Date: Mon Nov 10 14:14:11 2008 +0000 Modern processors may need to drain the WB before WFI Since WFI may cause the processor to enter a low-power mode, data may still be in the write buffer. This patch adds a DSB (or DWB) to the cpu_(v6|v7)_do_idle functions before the WFI. Signed-off-by: Catalin Marinas commit 877d1f338912c1bf49a026eeca1d411755efece5 Author: Catalin Marinas Date: Mon Nov 10 14:10:14 2008 +0000 RealView: Make more vmalloc space by changing IO_ADDRESS Since boards like PB11MPCore have 512MB of RAM and 128MB of flash, the virtual space is short on vmalloc memory and mapping the flash fails. This patch changes the IO_ADDRESS so that static mappings start at 0xfc000000 and moves the PCI virtual addresses higher up. The new VMALLOC_END is set to 0xf8000000 (512MB higher than the old value). Signed-off-by: Catalin Marinas commit 2c0aec814d259e35366a0a22747f8c9d5e39ee9c Author: Catalin Marinas Date: Mon Nov 10 14:10:13 2008 +0000 RealView: Add debug-macro.S support for the PB1176 platform The UART0 address is different on PB1176 from EB or PB11MPCore. This patch adds the necessary #ifdef's to this file. The disadvantage is that enabling CONFIG_DEBUG_LL will work properly on PB1176 if only this platform is enabled. Signed-off-by: Catalin Marinas commit 4eccca20a3528804d6d4583f312fbb0d59b6540b Author: Catalin Marinas Date: Mon Nov 10 14:10:13 2008 +0000 RealView: Change the clcd panel controls to use RGB instead of BGR Signed-off-by: Catalin Marinas commit c34a10255407c777bfd26160d7cf2b58b8dd0537 Author: Colin Tuckley Date: Mon Nov 10 14:10:12 2008 +0000 RealView: Allow XVGA (1024x768) CLCD resolution on the RealView boards This patch adds another clcd_panel structure for the above resolution and makes it the default for the PB1176 and PB11MPCore platforms. Signed-off-by: Colin Tuckley Signed-off-by: Catalin Marinas commit 68c3d93586223f7aeb04a815686b4d04146a2ada Author: Colin Tuckley Date: Mon Nov 10 14:10:11 2008 +0000 RealView: Use the correct oscillator for the CLCD on PB1176 On PB1176, oscillator 0 rather than 4 should be used. Signed-off-by: Colin Tuckley Signed-off-by: Catalin Marinas commit ff5b7ee33d82414bf4baf299c21fb703bcc89629 Author: Yan Zheng Date: Mon Nov 10 07:34:43 2008 -0500 Btrfs: Fix csum error for compressed data The decompress code doesn't take the logical offset in extent pointer into account. If the logical offset isn't zero, data will be decompressed into wrong pages. The solution used here is to record the starting offset of the extent in the file separately from the logical start of the extent_map struct. This allows us to avoid problems inserting overlapping extents. Signed-off-by: Yan Zheng commit f2b1c41cf94d7f839fe9ede5f3ead92698a93fb3 Author: Chris Mason Date: Mon Nov 10 07:31:30 2008 -0500 Btrfs: Make sure pages are dirty before doing delalloc for them This adds a PageDirty check to the writeback path that locks pages for delalloc. If a page wasn't dirty at this point, it is in the process of being truncated away. Signed-off-by: Chris Mason commit 5b7c3fcc46b5deb8a368d5319cf87c78c2df65fe Author: Chris Mason Date: Mon Nov 10 07:26:33 2008 -0500 Btrfs: Don't substract too much from the allocation target (avoid wrapping) When metadata allocation clustering has to fall back to unclustered allocs because large free areas could not be found, it was sometimes substracting too much from the total bytes to allocate. This would make it wrap below zero. Signed-off-by: Chris Mason commit b402dff8739cd82c58b632ba472caf26ae8741ed Author: Hugo Villeneuve Date: Sat Nov 8 13:26:09 2008 -0500 ASoC: Add Right-Justified mode and Codec clock master to davinci-i2s The TI DVEVM board uses the SND_SOC_DAIFMT_CBM_CFM & I2S formats, but the Lyrtech SFFSDR board uses the SND_SOC_DAIFMT_CBM_CFS & RIGHT-JUSTIFIED formats. Signed-off-by: Hugo Villeneuve Signed-off-by: Mark Brown commit 53599bbc30343f0cbfe750d2af19c9c45b841b82 Author: Christian Pellegrin Date: Sat Nov 8 08:44:16 2008 +0100 ASoC: s3c24xx 8 bit sound fix fixes playing/recording of 8 bit audio files. Generated on 20081108 against v2.6.27 Signed-off-by: Christian Pellegrin Signed-off-by: Mark Brown commit ba21ebb6abac5c46e1d818d2ceda82420bd099ba Author: Cyrill Gorcunov Date: Mon Nov 10 09:16:41 2008 +0100 x86: apic - use pr_ macros for logging Impact: cleanup It saves us some source lines and shift the code a bit righter. And a multiline comment style is fixed too :-) Signed-off-by: Cyrill Gorcunov Acked-by: "Maciej W. Rozycki" Signed-off-by: Ingo Molnar commit 4e0304310f5180eee11b4edc72cf4cb78acdc634 Author: Cyrill Gorcunov Date: Mon Nov 10 09:16:40 2008 +0100 x86: apic - calibrate_APIC_clock remove redundant irq-enable-disable Impact: cleanup lapic_timer_setup is self-protected with local_irq_save/restore no need to use them in caller and levt is the per-cpu variable so no concurrent access from another cpu. Signed-off-by: Cyrill Gorcunov Acked-by: "Maciej W. Rozycki" Signed-off-by: Ingo Molnar commit 4ecd33d930591d41fe356160593a9076467b961c Merge: 7d5a78c f7160c7 Author: Ingo Molnar Date: Mon Nov 10 09:16:27 2008 +0100 Merge commit 'v2.6.28-rc4' into x86/apic commit a5a64498c194c82ecad3a2d67cff6231cda8d3dd Merge: bb93d80 f7160c7 Author: Ingo Molnar Date: Mon Nov 10 09:10:44 2008 +0100 Merge commit 'v2.6.28-rc4' into timers/rtc Conflicts: drivers/rtc/rtc-cmos.c commit f4166c54bfe04f64603974058e44fbd7cfef0ccc Author: Markus Metzger Date: Sun Nov 9 14:29:21 2008 +0100 x86, bts: DS and BTS initialization Impact: widen BTS/PEBS ptrace enablement to more CPU models Move BTS initialisation out of an #ifdef CONFIG_X86_64 guard. Assume core2 BTS and DS layout for future models of family 6 processors. Signed-off-by: Markus Metzger Signed-off-by: Ingo Molnar commit 19f47c634ea8c5a10ff7bb1a08c52fd0f49bc54c Author: Harvey Harrison Date: Sun Nov 9 21:28:15 2008 -0800 x86: x86_32 has its own irq_regs definition Impact: cleanup Arches that have their own irq_regs definition are expected to define ARCH_HAS_OWN_IRQ_REGS or else a generic (unused) set will also be defined in lib/irq_regs.c Sparse noticed the unused generic one had no prototype: lib/irq_regs.c:15:1: warning: symbol 'per_cpu____irq_regs' was not declared. Should it be static? Signed-off-by: Harvey Harrison Signed-off-by: Ingo Molnar commit 87135d92b4ae73208c53242f3cfec5b20b772cb3 Merge: 4fcc50a f7160c7 Author: Ingo Molnar Date: Mon Nov 10 08:41:38 2008 +0100 Merge commit 'v2.6.28-rc4' into x86/cleanups commit 6307091fe69ae74747298bdcaf43119ad67bda3a Author: Dave Chinner Date: Mon Nov 10 17:13:23 2008 +1100 [XFS] Avoid using inodes that haven't been completely initialised The radix tree walks in xfs_sync_inodes_ag and xfs_qm_dqrele_all_inodes() can find inodes that are still undergoing initialisation. Avoid them by checking for the the XFS_INEW() flag once we have a reference on the inode. This flag is cleared once the inode is properly initialised. SGI-PV: 987246 Signed-off-by: Dave Chinner Signed-off-by: Lachlan McIlroy commit cb4f0d1d4229f609f43c68acec69c7618ed72397 Author: Dave Chinner Date: Mon Nov 10 17:11:18 2008 +1100 [XFS] fix uninitialised variable bug in dquot release gcc on ARM warns about an using an uninitialised variable in xfs_qm_dqrele_all_inodes(). This is a real bug, but gcc on x86_64 is not reporting this warning so it went unnoticed. Fix the bug by bring the inode radix tree walk code up to date with xfs_sync_inodes_ag(). SGI-PV: 987246 Signed-off-by: Dave Chinner Reviewed-by: Christoph Hellwig Signed-off-by: Lachlan McIlroy commit d44dab8d1cde8aeba1faf44a7654f90800feb7fc Author: Stephen Rothwell Date: Mon Nov 10 17:06:05 2008 +1100 fs: xfs needs inode_wait to be exported Since wait_on_inode() references it. Signed-off-by: Stephen Rothwell Reviewed-by: Dave Chinner Reviewed-by: Christoph Hellwig Signed-off-by: Lachlan McIlroy commit 644c3567d16b7e53cf52ae98c4150d601c9eacfe Author: Dave Chinner Date: Mon Nov 10 16:50:24 2008 +1100 [XFS] handle memory allocation failures during log initialisation When there is no memory left in the system, xfs_buf_get_noaddr() can fail. If this happens at mount time during xlog_alloc_log() we fail to catch the error and oops. Catch the error from xfs_buf_get_noaddr(), and allow other memory allocations to fail and catch those errors too. Report the error to the console and fail the mount with ENOMEM. Tested by manually injecting errors into xfs_buf_get_noaddr() and xlog_alloc_log(). Version 2: o remove unnecessary casts of the returned pointer from kmem_zalloc() SGI-PV: 987246 Signed-off-by: Dave Chinner Reviewed-by: Christoph Hellwig Signed-off-by: Lachlan McIlroy commit 4fcc50abdffb517cee36cec9cb22138d84fb62d0 Author: Ingo Molnar Date: Sun Nov 9 08:10:03 2008 +0100 x86: clean up vget_cycles() Impact: remove unused variable I forgot to remove the now unused "cycles_t cycles" parameter from vget_cycles() - which triggers build warnings as tsc.h is included in a number of files. Remove it. Signed-off-by: Ingo Molnar commit 39c9aede2b4a252bd296c0a86be832c3d3d0a273 Author: Eric Paris Date: Wed Nov 5 09:34:42 2008 -0500 SELinux: Use unknown perm handling to handle unknown netlink msg types Currently when SELinux has not been updated to handle a netlink message type the operation is denied with EINVAL. This patch will leave the audit/warning message so things get fixed but if policy chose to allow unknowns this will allow the netlink operation. Signed-off-by: Eric Paris Acked-by: Stephen Smalley Signed-off-by: James Morris commit cb9e35dce94a1b9c59d46224e8a94377d673e204 Author: Ingo Molnar Date: Sat Nov 8 20:27:00 2008 +0100 x86: clean up rdtsc_barrier() use Impact: cleanup Move rdtsc_barrier() use to vsyscall_64.c where it's relied on, and point out its role in the context of its use. Signed-off-by: Ingo Molnar commit 895e031707954a9ca26ed4f5f794575313854ed1 Merge: 838e8bb a622cf6 Author: Ingo Molnar Date: Sat Nov 8 20:23:02 2008 +0100 Merge branch 'linus' into x86/cleanups commit 15002fa9bf3a79ac9dcafba7ff308586936088b2 Author: Hiroshi Shimamoto Date: Fri Nov 7 19:25:36 2008 -0800 x86: signal: cosmetic unification of setup_sigcontext() Impact: cleanup Make setup_sigcontext() same. Signed-off-by: Hiroshi Shimamoto Signed-off-by: Ingo Molnar commit a309720c876d7ad2e224bfd1982c92ae4364c82e Author: Steven Rostedt Date: Fri Nov 7 22:36:02 2008 -0500 ftrace: display start of CPU buffer in trace output Impact: change in trace output Because the trace buffers are per cpu ring buffers, the start of the trace can be confusing. If one CPU is very active at the end of the trace, its history will not go as far back as the other CPU traces. This means that output for a particular CPU may not appear for the first part of a trace. To help annotate what is happening, and to prevent any more confusion, this patch adds a line that annotates the start of a CPU buffer output. For example: automount-3495 [001] 184.596443: dnotify_parent <-vfs_write [...] automount-3495 [001] 184.596449: dput <-path_put automount-3496 [002] 184.596450: down_read_trylock <-do_page_fault [...] sshd-3497 [001] 184.597069: up_read <-do_page_fault -0 [000] 184.597074: __exit_idle <-exit_idle [...] automount-3496 [002] 184.597257: filemap_fault <-__do_fault -0 [003] 184.597261: exit_idle <-smp_apic_timer_interrupt Note, parsers of a trace output should always ignore any lines that start with a '#'. Signed-off-by: Steven Rostedt Signed-off-by: Ingo Molnar commit 769c48eb2530c5c1a393e2c82063f4f050571d24 Author: Steven Rostedt Date: Fri Nov 7 22:36:02 2008 -0500 ftrace: force pass of preemptoff selftest Impact: preemptoff not tested in selftest Due to the BKL not being preemptable anymore, the selftest of the preemptoff code can not be tested. It requires that it is called with preemption enabled, but since the BKL is held, that is no longer the case. This patch simply skips those tests if it detects that the context is not preemptable. The following will now show up in the tests: Testing tracer preemptoff: can not test ... force PASSED Testing tracer preemptirqsoff: can not test ... force PASSED When the BKL is removed, or it becomes preemptable once again, then the tests will be performed. Signed-off-by: Steven Rostedt Signed-off-by: Ingo Molnar commit 7d5222a6afa4e429f55df8c086adb747837cbdf5 Author: Matt Fleming Date: Fri Nov 7 13:26:25 2008 +0000 ftrace: align __mcount_loc sections Impact: add alignment option for recordmcount.pl script Align the __mcount_loc sections so that architectures with strict alignment requirements need not worry about performing unaligned accesses. This fixes an issue where I was seeing unaligned accesses, which are not supported on our architecture (the results of an unaligned access are undefined). Signed-off-by: Matt Fleming Signed-off-by: Steven Rostedt Signed-off-by: Ingo Molnar commit c76f06945be50564f925799ddfb6235ee4c26aa0 Author: Steven Rostedt Date: Fri Nov 7 22:36:02 2008 -0500 ftrace: remove trace array ctrl Impact: remove obsolete variable in trace_array structure With the new start / stop method of ftrace, the ctrl variable in the trace_array structure is now obsolete. Remove it. Signed-off-by: Steven Rostedt Signed-off-by: Ingo Molnar commit bbf5b1a0cecb56de6236db8b01c5bfb7ab8ba8b2 Author: Steven Rostedt Date: Fri Nov 7 22:36:02 2008 -0500 ftrace: remove ctrl_update method Impact: Remove the ctrl_update tracer method With the new quick start/stop method of tracing, the ctrl_update method is out of date. Signed-off-by: Steven Rostedt Signed-off-by: Ingo Molnar commit 49833fc232bd6a5076496994d855f601354501d7 Author: Steven Rostedt Date: Fri Nov 7 22:36:02 2008 -0500 ftrace: enable trace_printk by default Impact: have the ftrace_printk enabled on startup It is confusing to have to "echo trace_printk > /debug/tracing/iter_ctrl" after adding ftrace_printk in the kernel. Currently the trace_printk is set to off by default. ftrace_printk should only be in open kernel code when used for debugging, and thus it should be enabled by default. It may also be used to record data within a tracer, but those ftrace_printks should be within wrappers that are either enabled by trace_points or have a variable protecting the code path from being entered when the tracer is disabled. Signed-off-by: Steven Rostedt Signed-off-by: Ingo Molnar commit 451931702017951f74624ddc4f7f02e4641b0e20 Author: Steven Rostedt Date: Fri Nov 7 22:36:02 2008 -0500 ftrace: irqsoff tracer incorrect reset Impact: fix to irqsoff tracer output In converting to the new start / stop ftrace handling, the irqsoff tracer start called the irqsoff reset function. irqsoff tracer is not the same as the other traces, and it resets the buffers while searching for the longest latency. The reset that the irqsoff stop method calls disables the function tracing. That means that, by starting the tracer, the function tracer is disabled incorrectly. This patch simply removes the call to reset which keeps the function tracing enabled. Reset is not needed for the irqsoff stop method. Signed-off-by: Steven Rostedt Signed-off-by: Ingo Molnar commit e168e0516e476070faa9e8e7b23dfcba79b76d82 Author: Steven Rostedt Date: Fri Nov 7 22:36:02 2008 -0500 ftrace: fix sched_switch API Impact: fix for sched_switch that broke dynamic ftrace startup The commit: tracing/fastboot: use sched switch tracer from boot tracer broke the API of the sched_switch trace. The use of the tracing_start/stop_cmdline record is for only recording the cmdline, NOT recording the schedule switches themselves. Seeing that the boot tracer broke the API to do something that it wanted, this patch adds a new interface for the API while puting back the original interface of the old API. Signed-off-by: Steven Rostedt Acked-by: Frederic Weisbecker Signed-off-by: Ingo Molnar commit 75f5c47da386445ba0c5a8b7e3ca0c906e763369 Author: Steven Rostedt Date: Fri Nov 7 22:36:02 2008 -0500 ftrace: fix boot trace sched startup Impact: boot tracer startup modified The boot tracer calls into some of the schedule tracing private functions that should not be exported. This patch cleans it up, and makes way for further changes in the ftrace infrastructure. This patch adds a api to assign a tracer array to the schedule context switch tracer. Signed-off-by: Steven Rostedt Acked-by: Frederic Weisbecker Signed-off-by: Ingo Molnar commit 0183fb1c94b74862b073590fc52c56b7364b7bad Author: Steven Rostedt Date: Fri Nov 7 22:36:02 2008 -0500 ftrace: fix set_ftrace_filter Impact: fix of output of set_ftrace_filter Commit ftrace: do not show freed records in available_filter_functions Removed a bit too much from the set_ftrace_filter code, where we now see all functions in the set_ftrace_filter file even when we set a filter. Signed-off-by: Steven Rostedt Signed-off-by: Ingo Molnar commit a6b0786f7f83bcc4d414a2977aaebe2941ebe1de Merge: 3e03fb7 6a60dd1 072ba49 Author: Ingo Molnar Date: Sat Nov 8 09:34:35 2008 +0100 Merge branches 'tracing/ftrace', 'tracing/fastboot', 'tracing/nmisafe' and 'tracing/urgent' into tracing/core commit f574179b63e48f5285468b5ee40f3c480221f708 Author: Harvey Harrison Date: Fri Nov 7 23:37:50 2008 -0800 tipc: trivial endian annotation in debug statement Use htonl rather than ntohl on a u32. net/tipc/name_table.c:557:2: warning: cast to restricted __be32 Signed-off-by: Harvey Harrison Signed-off-by: David S. Miller commit f400923735ecbb67cbe4a3606c9479f694754f51 Author: Thomas Graf Date: Fri Nov 7 22:56:00 2008 -0800 pkt_sched: Control group classifier The classifier should cover the most common use case and will work without any special configuration. The principle of the classifier is to directly access the task_struct via get_current(). In order for this to work, classification requests from softirqs must be ignored. This is not a problem because the vast majority of packets in softirq context are not assigned to a task anyway. For this to work, a mechanism is needed to trace softirq context. This repost goes back to the method of relying on the number of nested bh disable calls for the sake of not adding too much complexity and the option to come up with something more reliable if actually needed. Signed-off-by: Thomas Graf Signed-off-by: David S. Miller commit 505d4f73dda9e20d59da05008f1f5eb432613e71 Author: Eric W. Biederman Date: Fri Nov 7 22:54:20 2008 -0800 net: Guaranetee the proper ordering of the loopback device. v2 I was recently hunting a bug that occurred in network namespace cleanup. In looking at the code it became apparrent that we have and will continue to have cases where if we have anything going on in a network namespace there will be assumptions that the loopback device is present. Things like sending igmp unsubscribe messages when we bring down network devices invokes the routing code which assumes that at least the loopback driver is present. Therefore to avoid magic initcall ordering hackery that is hard to follow and hard to get right insert a call to register the loopback device directly from net_dev_init(). This guarantes that the loopback device is the first device registered and the last network device to go away. But do it carefully so we register the loopback device after we clear dev_boot_phase. Signed-off-by: Eric W. Biederman Signed-off-by: David S. Miller commit 5d6d480908300a0c0b3be8b58567dfcef62c83a5 Author: Eric W. Biederman Date: Fri Nov 7 22:52:34 2008 -0800 net: fib_rules ordering fixes. We need to setup the network namespace state before we register the notifier. Otherwise if a network device is already registered we get a nasty NULL pointer dereference. Signed-off-by: Eric W. Biederman Signed-off-by: David S. Miller commit 3d8160b1493bcadca74fbb635d79b3928b8999cf Author: David S. Miller Date: Fri Nov 7 22:52:14 2008 -0800 Revert "net: Guaranetee the proper ordering of the loopback device." This reverts commit ae33bc40c0d96d02f51a996482ea7e41c5152695. commit 5f2cc086ccab27ac5252b3883ac004347860b4c7 Author: Chris Mason Date: Fri Nov 7 18:22:45 2008 -0500 Btrfs: Avoid unplug storms during commit While doing a commit, btrfs makes sure all the metadata blocks were properly written to disk, calling wait_on_page_writeback for each page. This writeback happens after allowing another transaction to start, so it competes for the disk with other processes in the FS. If the page writeback bit is still set, each wait_on_page_writeback might trigger an unplug, even though the page might be waiting for checksumming to finish or might be waiting for the async work queue to submit the bio. This trades wait_on_page_writeback for waiting on the extent writeback bits. It won't trigger any unplugs and substantially improves performance in a number of workloads. This also changes the async bio submission to avoid requeueing if there is only one device. The requeue just wastes CPU time because there are no other devices to service. Signed-off-by: Chris Mason commit 42e70e7a2f9d96fd843723fa46d5121cb3e551d0 Author: Chris Mason Date: Fri Nov 7 18:17:11 2008 -0500 Btrfs: Fix more false enospc errors and an oops from empty clustering In comes cases the empty cluster was added twice to the total number of bytes the allocator was trying to find. With empty clustering on, the hint byte was sometimes outside of the block group. Add an extra goto to find the correct block group. Signed-off-by: Chris Mason commit 58be81ed301d96045bca2b85f3b838910efcfde4 Author: David Vrabel Date: Fri Nov 7 18:19:19 2008 +0000 uwb: fix races between events and neh timers Always use del_timer_sync() before freeing nehs. Destroy all nehs after stopping the radio controller and before cleaning up the reservation manager. Handle the timer running after an event has removed the neh. This fixes various oopses that may occur if a radio controller is removed while a neh timer is still active. Signed-off-by: David Vrabel commit 307ba6dd73254fe7d2ce27db64ffd90e1bb3c6c0 Author: David Vrabel Date: Fri Nov 7 17:37:33 2008 +0000 uwb: don't unbind the radio controller driver when resetting Use pre_reset and post_reset methods to avoid unbinding the radio controller driver after a uwb_rc_reset_all() call. This avoids a deadlock in uwb_rc_rm() when waiting for the uwb event thread to stop. Signed-off-by: David Vrabel commit af09abfece59aa50bfbf16f6f1f85822554e061f Author: Chris Mason Date: Fri Nov 7 12:35:44 2008 -0500 Btrfs: make sure compressed bios don't complete too soon When writing a compressed extent, a number of bios are created that point to a single struct compressed_bio. At end_io time an atomic counter in the compressed_bio struct makes sure that all of the bios have finished before final end_io processing is done. But when multiple bios are needed to write a compressed extent, the counter was being incremented after the first bio was sent to submit_bio. It is possible the bio will complete before the counter is incremented, making the end_io handler free the compressed_bio struct before processing is finished. The fix is to increment the atomic counter before bio submission, both for compressed reads and writes. Signed-off-by: Chris Mason commit 4366211ccd050e00674b3276b5ed81981b2d7793 Author: Chris Mason Date: Fri Nov 7 09:06:11 2008 -0500 Btfs: More metadata allocator optimizations This lowers the empty cluster target for metadata allocations. The lower target makes it easier to do allocations and still seems to perform well. It also fixes the allocator loop to drop the empty cluster when things start getting difficult, avoiding false enospc warnings. Signed-off-by: Chris Mason commit 0edb94543092535a2c6ef33e7285004168ca73d7 Author: Takashi Iwai Date: Fri Nov 7 14:53:09 2008 +0100 ALSA: hda - Fix probe errors on Dell Studio Desktop BIOS on Dell Studio Desktop tells wrong codec probe masks. This patch gives the preset mask value to avoid invalid access. Reference: Novell bug#440907 https://bugzilla.novell.com/show_bug.cgi?id=440907 Signed-off-by: Takashi Iwai commit 30cde0aacc5f6786b0c4d4fafaac95eac845b8d7 Author: Takashi Iwai Date: Fri Nov 7 14:49:28 2008 +0100 ALSA: hda - Fix ALC260 hp3013 master switch The master switch doesn't influence on NID 0x15, the headphone jack on HP 3013 model because alc260_hp_master_update() ignores the passed arguments. Also, corrected the wrong arguments of hp3013 (0x10 and 0x15) although this doesn't change any behavior. Signed-off-by: Takashi Iwai commit 26df91c36fb976af9d08c20028b5cb1317eedcb3 Author: Troy Kisky Date: Wed Nov 5 18:53:28 2008 +0000 ASoC: TLV320AIC23B Support more sample rates Add support for more sample rates, different crystals and split playback/capture rates. Signed-off-by: Troy Kisky Acked-by: Arun KS Signed-off-by: Mark Brown commit 167c6274c30d17c41742096d1a12c32bd3b7e366 Merge: 5c7f033 a827206 Author: David S. Miller Date: Fri Nov 7 01:37:16 2008 -0800 Merge branch 'davem-next' of master.kernel.org:/pub/scm/linux/kernel/git/jgarzik/netdev-2.6 commit 6d21cd62516a9697cb7ec33cc52e6b814fb65a13 Author: Li Zefan Date: Fri Nov 7 17:03:18 2008 +0800 sched: clean up SCHED_CPUMASK_ALLOC Impact: cleanup The #if/#endif is ugly. Change SCHED_CPUMASK_ALLOC and SCHED_CPUMASK_FREE to static inline functions. Signed-off-by: Li Zefan Acked-by: Peter Zijlstra Signed-off-by: Ingo Molnar commit 258594a138f4ca9adf214f5272592d7f21def610 Merge: a87d091 ca3273f Author: Ingo Molnar Date: Fri Nov 7 10:29:58 2008 +0100 Merge branch 'sched/urgent' into sched/core commit f66fcedc84dd06d42a0dba3894d238498509e8b7 Author: Takashi Iwai Date: Fri Nov 7 09:37:22 2008 +0100 ALSA: Document debug macros Add descriptions of snd_BUG() and snd_BUG_ON(). Also fixed a typo in the comment of snd_printk(), too. Signed-off-by: Takashi Iwai commit a8272061fe533f6d0261b38c58c93bd0855baebe Author: Komuro Date: Mon Nov 3 10:56:04 2008 +0900 fmvj18x_cs: write interrupt ack bit for lan and modem to work simultaneously. Write interrupt ack bit in fjn_interrupt for lan and modem to work simultaneously. Signed-off-by: Komuro Signed-off-by: Jeff Garzik commit 945eed02cd619f525e097319cd3d18c58d01da87 Author: Takashi Iwai Date: Fri Nov 7 09:08:15 2008 +0100 ALSA: Evaluate condition in snd_BUG_ON() in non-debugging case Change snd_BUG_ON() to evaluate the given condition, at least, in syntax for avoiding compile warnings such as unused variables. The compiler should optimize out the condition evaluation in the real code, though. Signed-off-by: Takashi Iwai commit 077402317291437521ed86d3326b3bcc62d40529 Merge: ea2da6e 959973b Author: Takashi Iwai Date: Fri Nov 7 09:06:45 2008 +0100 Merge branch 'topic/fix/hda' into topic/hda commit 63cf123bf5d538a066e4a899390c9ce56ab6df9f Merge: 6834d7c fcef783 Author: Takashi Iwai Date: Fri Nov 7 09:06:05 2008 +0100 Merge branch 'topic/fix/misc' into topic/misc commit 5c7f0333584128c745fbda845abbe3a32c22d467 Author: Harvey Harrison Date: Thu Nov 6 23:10:50 2008 -0800 phonet: sparse annotations of protocol, remove forward declaration net/phonet/af_phonet.c:38:36: error: marked inline, but without a definition net/phonet/pep-gprs.c:63:10: warning: incorrect type in return expression (different base types) net/phonet/pep-gprs.c:63:10: expected int net/phonet/pep-gprs.c:63:10: got restricted __be16 [usertype] net/phonet/pep-gprs.c:65:10: warning: incorrect type in return expression (different base types) net/phonet/pep-gprs.c:65:10: expected int net/phonet/pep-gprs.c:65:10: got restricted __be16 [usertype] net/phonet/pep-gprs.c:124:16: warning: incorrect type in assignment (different base types) net/phonet/pep-gprs.c:124:16: expected restricted __be16 [usertype] protocol net/phonet/pep-gprs.c:124:16: got unsigned short [unsigned] [usertype] protocol Signed-off-by: Harvey Harrison Signed-off-by: David S. Miller commit ca62059b7ec7267d1d2cab0791d3ed6d033e0583 Author: Harvey Harrison Date: Thu Nov 6 23:09:56 2008 -0800 ipvs: oldlen, newlen should be be16, not be32 Noticed by sparse: net/netfilter/ipvs/ip_vs_proto_tcp.c:195:6: warning: incorrect type in argument 5 (different base types) net/netfilter/ipvs/ip_vs_proto_tcp.c:195:6: expected restricted __be16 [usertype] oldlen net/netfilter/ipvs/ip_vs_proto_tcp.c:195:6: got restricted __be32 [usertype] net/netfilter/ipvs/ip_vs_proto_tcp.c:196:6: warning: incorrect type in argument 6 (different base types) net/netfilter/ipvs/ip_vs_proto_tcp.c:196:6: expected restricted __be16 [usertype] newlen net/netfilter/ipvs/ip_vs_proto_tcp.c:196:6: got restricted __be32 [usertype] net/netfilter/ipvs/ip_vs_proto_tcp.c:270:6: warning: incorrect type in argument 5 (different base types) net/netfilter/ipvs/ip_vs_proto_tcp.c:270:6: expected restricted __be16 [usertype] oldlen net/netfilter/ipvs/ip_vs_proto_tcp.c:270:6: got restricted __be32 [usertype] net/netfilter/ipvs/ip_vs_proto_tcp.c:271:6: warning: incorrect type in argument 6 (different base types) net/netfilter/ipvs/ip_vs_proto_tcp.c:271:6: expected restricted __be16 [usertype] newlen net/netfilter/ipvs/ip_vs_proto_tcp.c:271:6: got restricted __be32 [usertype] net/netfilter/ipvs/ip_vs_proto_udp.c:206:6: warning: incorrect type in argument 5 (different base types) net/netfilter/ipvs/ip_vs_proto_udp.c:206:6: expected restricted __be16 [usertype] oldlen net/netfilter/ipvs/ip_vs_proto_udp.c:206:6: got restricted __be32 [usertype] net/netfilter/ipvs/ip_vs_proto_udp.c:207:6: warning: incorrect type in argument 6 (different base types) net/netfilter/ipvs/ip_vs_proto_udp.c:207:6: expected restricted __be16 [usertype] newlen net/netfilter/ipvs/ip_vs_proto_udp.c:207:6: got restricted __be32 [usertype] net/netfilter/ipvs/ip_vs_proto_udp.c:282:6: warning: incorrect type in argument 5 (different base types) net/netfilter/ipvs/ip_vs_proto_udp.c:282:6: expected restricted __be16 [usertype] oldlen net/netfilter/ipvs/ip_vs_proto_udp.c:282:6: got restricted __be32 [usertype] net/netfilter/ipvs/ip_vs_proto_udp.c:283:6: warning: incorrect type in argument 6 (different base types) net/netfilter/ipvs/ip_vs_proto_udp.c:283:6: expected restricted __be16 [usertype] newlen net/netfilter/ipvs/ip_vs_proto_udp.c:283:6: got restricted __be32 [usertype] Signed-off-by: Harvey Harrison Acked-by: Simon Horman Signed-off-by: David S. Miller commit 76acfdb9b78acf73023307974f6d38a269e9967a Author: Alexey Dobriyan Date: Thu Nov 6 23:06:44 2008 -0800 net: mark flow_cache_cpu_prepare() as __init It's called from __init code only. And__devinit in generic networking code is pretty strange :^) Signed-off-by: Alexey Dobriyan Signed-off-by: David S. Miller commit 9eeda9abd1faf489f3df9a1f557975f4c8650363 Merge: 61c9eaf 4bab0ea Author: David S. Miller Date: Thu Nov 6 22:43:03 2008 -0800 Merge branch 'master' of master.kernel.org:/pub/scm/linux/kernel/git/davem/net-2.6 Conflicts: drivers/net/wireless/ath5k/base.c net/8021q/vlan_core.c commit dcd7b4e5c0649b1d2219399529b20de1df517e55 Merge: 75fa677 91b7771 Author: Niv Sardi Date: Fri Nov 7 15:07:12 2008 +1100 Merge branch 'master' of git://oss.sgi.com:8090/xfs/linux-2.6 commit 3b7885bf96e03271a9fff41124c38ed7176616e2 Author: Chris Mason Date: Thu Nov 6 21:48:27 2008 -0500 Btrfs: enforce metadata allocation clustering The allocator uses the last allocation as a starting point for metadata allocations, and tries to allocate in clusters of at least 256k. If the search for a free block fails to find the expected block, this patch forces a new cluster to be found in the free list. Signed-off-by: Chris Mason commit 771ed689d2cd53439e28e095bc38fbe40a71429e Author: Chris Mason Date: Thu Nov 6 22:02:51 2008 -0500 Btrfs: Optimize compressed writeback and reads When reading compressed extents, try to put pages into the page cache for any pages covered by the compressed extent that readpages didn't already preload. Add an async work queue to handle transformations at delayed allocation processing time. Right now this is just compression. The workflow is: 1) Find offsets in the file marked for delayed allocation 2) Lock the pages 3) Lock the state bits 4) Call the async delalloc code The async delalloc code clears the state lock bits and delalloc bits. It is important this happens before the range goes into the work queue because otherwise it might deadlock with other work queue items that try to lock those extent bits. The file pages are compressed, and if the compression doesn't work the pages are written back directly. An ordered work queue is used to make sure the inodes are written in the same order that pdflush or writepages sent them down. This changes extent_write_cache_pages to let the writepage function update the wbc nr_written count. Signed-off-by: Chris Mason commit 4a69a41009c4ac691f7d9c289f5f37fabeddce46 Author: Chris Mason Date: Thu Nov 6 22:03:00 2008 -0500 Btrfs: Add ordered async work queues Btrfs uses kernel threads to create async work queues for cpu intensive operations such as checksumming and decompression. These work well, but they make it difficult to keep IO order intact. A single writepages call from pdflush or fsync will turn into a number of bios, and each bio is checksummed in parallel. Once the checksum is computed, the bio is sent down to the disk, and since we don't control the order in which the parallel operations happen, they might go down to the disk in almost any order. The code deals with this somewhat by having deep work queues for a single kernel thread, making it very likely that a single thread will process all the bios for a single inode. This patch introduces an explicitly ordered work queue. As work structs are placed into the queue they are put onto the tail of a list. They have three callbacks: ->func (cpu intensive processing here) ->ordered_func (order sensitive processing here) ->ordered_free (free the work struct, all processing is done) The work struct has three callbacks. The func callback does the cpu intensive work, and when it completes the work struct is marked as done. Every time a work struct completes, the list is checked to see if the head is marked as done. If so the ordered_func callback is used to do the order sensitive processing and the ordered_free callback is used to do any cleanup. Then we loop back and check the head of the list again. This patch also changes the checksumming code to use the ordered workqueues. One a 4 drive array, it increases streaming writes from 280MB/s to 350MB/s. Signed-off-by: Chris Mason commit ea2da6e898033b9736a26cf588b9ce841a433337 Author: Takashi Iwai Date: Fri Nov 7 00:49:48 2008 +0100 ALSA: hda - Fix broken hash chain allocation The chaining for amp hash got broken due to the rewrite with snd_array. Fixed now. Signed-off-by: Takashi Iwai commit b910d9ae5b370cf5bf9d6a71028119861b6ea8a4 Author: Takashi Iwai Date: Fri Nov 7 00:26:52 2008 +0100 ALSA: hda - Add max allocation check in array allocator Added a check for max allocation size in snd_array_new() for a debugging purpose. Signed-off-by: Takashi Iwai commit c217429b14708999d6ac5de964c452600e8797d3 Author: Takashi Iwai Date: Fri Nov 7 00:23:30 2008 +0100 ALSA: hda - Add missing NULL check in amp hash allocation Added the missing NULL check from allocator in get_alloc_hash(). Signed-off-by: Takashi Iwai commit fb68407b0d9efba962c03f55009c797e22f024bc Author: Aneesh Kumar K.V Date: Thu Nov 6 17:50:21 2008 -0500 jbd2: Call journal commit callback without holding j_list_lock Avoid freeing the transaction in __jbd2_journal_drop_transaction() so the journal commit callback can run without holding j_list_lock, to avoid lock contention on this spinlock. Signed-off-by: Aneesh Kumar K.V Signed-off-by: "Theodore Ts'o" commit c3a326a657562dab81acf05aee106dc1fe345eb4 Author: Aneesh Kumar K.V Date: Tue Nov 25 15:11:52 2008 -0500 ext4: cleanup mballoc header files Move some of the forward declaration of the static functions to mballoc.c where they are used. This enables us to include mballoc.h in other .c files. Also correct the buddy cache documentation. Signed-off-by: Aneesh Kumar K.V Signed-off-by: "Theodore Ts'o" commit 920313a726e04fef0f2c0bcb04ad8229c0e700d8 Author: Aneesh Kumar K.V Date: Mon Jan 5 21:36:19 2009 -0500 ext4: Use EXT4_GROUP_INFO_NEED_INIT_BIT during resize The new groups added during resize are flagged as need_init group. Make sure we properly initialize these groups. When we have block size < page size and we are adding new groups the page may still be marked uptodate even though we haven't initialized the group. While forcing the init of buddy cache we need to make sure other groups part of the same page of buddy cache is not using the cache. group_info->alloc_sem is added to ensure the same. Signed-off-by: Aneesh Kumar K.V Signed-off-by: "Theodore Ts'o" cc: stable@kernel.org commit e21675d4b63975d09eb75c443c48ebe663d23e18 Author: Aneesh Kumar K.V Date: Mon Jan 5 21:36:02 2009 -0500 ext4: Add blocks added during resize to bitmap With this change new blocks added during resize are marked as free in the block bitmap and the group is flagged with EXT4_GROUP_INFO_NEED_INIT_BIT flag. This makes sure when mballoc tries to allocate blocks from the new group we would reload the buddy information using the bitmap present in the disk. Signed-off-by: Aneesh Kumar K.V Signed-off-by: "Theodore Ts'o" Cc: stable@kernel.org commit 3a06d778dfeda7eaeeb79bfa49cf97f2aae132b4 Author: Aneesh Kumar K.V Date: Sat Nov 22 15:04:59 2008 -0500 ext4: sparse fixes * Change EXT4_HAS_*_FEATURE to return a boolean * Add a function prototype for ext4_fiemap() in ext4.h * Make ext4_ext_fiemap_cb() and ext4_xattr_fiemap() be static functions * Add lock annotations to mb_free_blocks() Signed-off-by: Aneesh Kumar K.V Signed-off-by: "Theodore Ts'o" commit a87d091434ed2a34d647979ab12084139ee1fe41 Author: Ken Chen Date: Thu Nov 6 11:10:49 2008 -0800 x86, sched: enable wchan config menu item on 64-bit Enable the wchan config menu item for now on x86-64 arch? This will at least allow people to enable/disable frame pointers on scheduler functions. Signed-off-by: Ken Chen Signed-off-by: Ingo Molnar commit 6a60dd121c5b6c2d827e99b38c1326f2600c3891 Author: Steven Rostedt Date: Thu Nov 6 15:55:21 2008 -0500 ftrace: split out hardirq ftrace code into own header Impact: moving of function prototypes into own header file ftrace.h is too big of a file for hardirq.h, and some archs will fail to build because of the include dependencies not being met. This patch pulls out the required prototypes for hardirq.h into a smaller and safer ftrace_irq.h file. Signed-off-by: Steven Rostedt Signed-off-by: Ingo Molnar commit cf7f8690e864c6fe11e77202dd847fa60f483418 Author: Sripathi Kodi Date: Wed Nov 5 18:57:14 2008 +0530 sched, lockdep: inline double_unlock_balance() We have a test case which measures the variation in the amount of time needed to perform a fixed amount of work on the preempt_rt kernel. We started seeing deterioration in it's performance recently. The test should never take more than 10 microseconds, but we started 5-10% failure rate. Using elimination method, we traced the problem to commit 1b12bbc747560ea68bcc132c3d05699e52271da0 (lockdep: re-annotate scheduler runqueues). When LOCKDEP is disabled, this patch only adds an additional function call to double_unlock_balance(). Hence I inlined double_unlock_balance() and the problem went away. Here is a patch to make this change. Signed-off-by: Sripathi Kodi Acked-by: Peter Zijlstra Signed-off-by: Ingo Molnar commit 8fa5723aa7e053d498336b48448b292fc2e0458b Author: Chris Zankel Date: Thu Nov 6 10:17:46 2008 -0800 xtensa: Add xt2000 support files. The last check-in to support the xt2000 development platform was missing some files. Signed-off-by: Chris Zankel commit 367b8112fe2ea5c39a7bb4d263dcdd9b612fae18 Author: Chris Zankel Date: Thu Nov 6 06:40:46 2008 -0800 xtensa: move headers files to arch/xtensa/include Move all header files for xtensa to arch/xtensa/include and platform and variant header files to the appropriate arch/xtensa/platforms/ and arch/xtensa/variants/ directories. Moving the files gets also rid of all uses of symlinks in the Makefile. This has been completed already for the majority of the architectures and xtensa is one out of six missing. Signed-off-by: Sam Ravnborg Signed-off-by: Chris Zankel commit 64154835c58a99370c3b7fbf85d2451d6906b3b4 Author: Tony Vroon Date: Thu Nov 6 15:08:49 2008 +0000 ALSA: hda - Add lifebook model for Realtek ALC269 The widget layout of the Fujitsu Lifebook S6420 (which is ICH9M-based and uses an ALC269) is similar but not identical to the Lifebook S6410/E8410 (which are ICH8M-based and use an ALC262). It is named lifebook as fujitsu is in use for Amilo machines. This builds on the Quanta FL1 work and supports all analog inputs & outputs that I am aware of. Microphone autoswitch is implemented. The laptop mic port takes precedence over the dock mic port if both happen to have a jack plugged in. This made sense to me as a design decision (imagine a presentation environment with the dock fully wired in and the presenter quickly wanting to override the mic with a headset). There is mention of a digital audio path on the codec graph, so perhaps the headphone socket is dual-function analog/digital. I will follow up with another patch if I can acquire equipment to test this. Signed-off-by: Tony Vroon Signed-off-by: Takashi Iwai commit 6ce4a3bc1b93e8ca50b142b00dd73bfdb5c4a172 Author: Takashi Iwai Date: Thu Nov 6 17:11:10 2008 +0100 ALSA: hda - Make codec-probing more robust When an error occurs during the codec probing, typically accessing to an non-existing codec slot, the controller chip gets often screwed up and can no longer communicate with the codecs. This patch adds a preparation phase just to probe codec addresses before actually creating codec instances. If any error occurs during this probing phase, the driver resets the controller to recover. This will (hopefully) fix the famous "single_cmd" errors. Signed-off-by: Takashi Iwai commit 33fa35ed0d7e8996cc68cc2ffc21f12b38fa03c1 Author: Takashi Iwai Date: Thu Nov 6 16:50:40 2008 +0100 ALSA: hda - simplify hda_bus ops callbacks The hda_bus ops callback take struct hda_bus pointer. Also, the command callback takes the composed command word, instead of each small bits in arguments. Signed-off-by: Takashi Iwai commit 206ead28377fee86b129637edada8c77816cc0d6 Author: Harvey Harrison Date: Wed Nov 5 10:35:31 2008 -0800 xtensa: use the new byteorder headers Signed-off-by: Harvey Harrison Signed-off-by: Chris Zankel commit 73b63efaac7352c9e2bf1570fac98fd44a99f8f9 Author: Jon Callan Date: Thu Nov 6 13:23:09 2008 +0000 ARMv7: Add SMP initialisation to proc-v7.S This patch adds the SMP/nAMP mode setting to __v7_setup and also sets TTBR to shared page table walks if SMP is enabled. The PTWs are also marked inner cacheable for both SMP and UP modes (setting this is fine even if the CPU doesn't support the feature). Signed-off-by: Jon Callan Signed-off-by: Catalin Marinas commit 6b07d7fea0496374ff7754dc3d1dca03b2911828 Author: Catalin Marinas Date: Thu Nov 6 13:23:08 2008 +0000 ARMv7: Do not set TTBR0 in __v7_setup This register is set in __enable_mmu in the head.S file. Signed-off-by: Catalin Marinas commit 376e14218d3d791127e9b9bfbe2f99c44c2a19c2 Author: Catalin Marinas Date: Thu Nov 6 13:23:08 2008 +0000 Do not flush the cache in flush_cache_v(un)map for VIPT caches In case of non-aliasing VIPT caches, there is no need to flush the whole cache when new mapping is created. The patch introduces this condition check. In the non-aliasing VIPT case flush_cache_vmap() needs a DSB since the set_pte_at() function called from vmap_pte_range() does not have such barrier (done usually via TLB flushing functions). Signed-off-by: Catalin Marinas commit 24b647a042b988b017e6cdf60b47a0bfecd1dc41 Author: Catalin Marinas Date: Thu Nov 6 13:23:08 2008 +0000 ARMv7: Branch over conditional undefined instructions in vfphw.S On ARMv7, conditional undefined instructions may generate exceptions even if the condition is not met. The vfphw.S contains the FPINST and FPINST2 access instructions which may not be present on processors with synchronous VFP exceptions. Signed-off-by: Catalin Marinas commit c30c2f99e10b6a810dae9a25b35c6d48796d8ffb Author: Catalin Marinas Date: Thu Nov 6 13:23:07 2008 +0000 ARMv7: Add extra barriers for flush_cache_all compressed/head.S The flush_cache_all function on ARMv7 is implemented as a series of cache operations by set/way. These are not guaranteed to be ordered with previous memory accesses, requiring a DMB. This patch also adds barriers for the TLB operations in compressed/head.S Signed-off-by: Catalin Marinas commit 2bedbdf4148ebbe48c7a89449ab52e475a788f42 Author: Catalin Marinas Date: Thu Nov 6 13:23:07 2008 +0000 Add HWCAP_NEON to the ARM hwcap.h file Signed-off-by: Catalin Marinas commit 4369ae16eec16e6a922d4333da88a58fbc201369 Author: Catalin Marinas Date: Thu Nov 6 13:23:06 2008 +0000 Add "thumbee" to the hwcap_str array This part was missed in the initial patch adding ThumbEE support. Signed-off-by: Catalin Marinas commit e18c94d20224f3df584531a48d944d8cccfda46d Author: Grazvydas Ignotas Date: Wed Nov 5 23:51:05 2008 +0200 ALSA: ASoC: TWL4030 codec - fix 256*Fs clock According to TRM, 256*Fs clock output should be enabled when TWL4030 is in slave mode, not master. This allows sound to work on OMAP3 Pandora, which uses 256*Fs clock. Signed-off-by: Grazvydas Ignotas Acked-by: Steve Sakoman Signed-off-by: Mark Brown commit fd51b2d7d5df932767b89e00d0871a38a2c53e74 Author: KOSAKI Motohiro Date: Wed Nov 5 02:27:19 2008 +0900 x86: update CONFIG_NUMA description Impact: clarify/update CONFIG_NUMA text CONFIG_NUMA description talk about a bit old thing. So, following changes are better. o CONFIG_NUMA is no longer EXPERIMENTAL o Opteron is not the only processor of NUMA topology on x86_64 no longer, but also Intel Core7i has it. Signed-off-by: KOSAKI Motohiro Signed-off-by: Ingo Molnar commit 90080bf4b803efbc9b9cd3a7ed1639f1e036238e Author: Randy Dunlap Date: Tue Nov 4 14:37:25 2008 -0800 sched, documentation: update scheduler header file paths Impact: update documentation Update Documentation/scheduler/ files to reflect changed header files locations. Signed-off-by: Randy Dunlap Signed-off-by: Ingo Molnar commit 8735b7d0a2a6246faa406a8cdd1376bd0e689ba3 Author: Hiroshi Shimamoto Date: Wed Nov 5 18:34:35 2008 -0800 x86: signal_64: make setup_sigcontext() similar Impact: cleanup remove passing task struct. Signed-off-by: Hiroshi Shimamoto Signed-off-by: Ingo Molnar commit ee7d523c124a186ce3a886868de9cd1d8bc991f3 Author: Hiroshi Shimamoto Date: Wed Nov 5 18:33:35 2008 -0800 x86: signal_64: setup fpstate in setup_sigcontext() Impact: cleanup set fpstate field of signal context at setup_sigcontext(). Signed-off-by: Hiroshi Shimamoto Signed-off-by: Ingo Molnar commit 99ea1b93bf80a287dd70499b96d9c4d06f320ff2 Author: Hiroshi Shimamoto Date: Wed Nov 5 18:32:54 2008 -0800 x86: ia32_signal: do save_i387_xstate_ia32 at get_sigframe() Impact: cleanup move calling save_i387_xstate_ia32() into get_sigframe() from setup_sigcontext(). Signed-off-by: Hiroshi Shimamoto Signed-off-by: Ingo Molnar commit 4b33669e817a01dd99ff91df330d504ccfb2e99c Author: Hiroshi Shimamoto Date: Wed Nov 5 18:30:25 2008 -0800 x86: signal_32: do save_i387_xstate() at get_sigframe() Impact: cleanup move calling save_i387_xstate() into get_sigframe() from setup_sigcontext() like 64bit. Signed-off-by: Hiroshi Shimamoto Signed-off-by: Ingo Molnar commit 3e03fb7f1da2e691644526c0d6df42d778716349 Author: Steven Rostedt Date: Thu Nov 6 00:09:43 2008 -0500 ring-buffer: convert to raw spinlocks Impact: no lockdep debugging of ring buffer The problem with running lockdep on the ring buffer is that the ring buffer is the core infrastructure of ftrace. What happens is that the tracer will start tracing the lockdep code while lockdep is testing the ring buffers locks. This can cause lockdep to fail due to testing cases that have not fully finished their locking transition. This patch converts the spin locks used by the ring buffer back into raw spin locks which lockdep does not check. Signed-off-by: Steven Rostedt Signed-off-by: Ingo Molnar commit 9036990d462e09366f7297a2d1da6582c3e6b1d3 Author: Steven Rostedt Date: Wed Nov 5 16:05:44 2008 -0500 ftrace: restructure tracing start/stop infrastructure Impact: change where tracing is started up and stopped Currently, when a new tracer is selected via echo'ing a tracer name into the current_tracer file, the startup is only done if tracing_enabled is set to one. If tracing_enabled is changed to zero (by echo'ing 0 into the tracing_enabled file) a full shutdown is performed. The full startup and shutdown of a tracer can be expensive and the user can lose out traces when echo'ing in 0 to the tracing_enabled file, because the process takes too long. There can also be places that the user would like to start and stop the tracer several times and doing the full startup and shutdown of a tracer might be too expensive. This patch performs the full startup and shutdown when a tracer is selected. It also adds a way to do a quick start or stop of a tracer. The quick version is just a flag that prevents the tracing from taking place, but the overhead of the code is still there. For example, the startup of a tracer may enable tracepoints, or enable the function tracer. The stop and start will just set a flag to have the tracer ignore the calls when the tracepoint or function trace is called. The overhead of the tracer may still be present when the tracer is stopped, but no tracing will occur. Setting the tracer to the 'nop' tracer (or any other tracer) will perform the shutdown of the tracer which will disable the tracepoint or disable the function tracer. The tracing_enabled file will simply start or stop tracing. This change is all internal. The end result for the user should be the same as before. If tracing_enabled is not set, no trace will happen. If tracing_enabled is set, then the trace will happen. The tracing_enabled variable is static between tracers. Enabling tracing_enabled and going to another tracer will keep tracing_enabled enabled. Same is true with disabling tracing_enabled. This patch will now provide a fast start/stop method to the users for enabling or disabling tracing. Note: There were two methods to the struct tracer that were never used: The methods start and stop. These were to be used as a hook to the reading of the trace output, but ended up not being necessary. These two methods are now used to enable the start and stop of each tracer, in case the tracer needs to do more than just not write into the buffer. For example, the irqsoff tracer must stop recording max latencies when tracing is stopped. Signed-off-by: Steven Rostedt Signed-off-by: Ingo Molnar commit 0f04870148ecb825133bc2733f473b1c5773ac0b Author: Steven Rostedt Date: Wed Nov 5 16:05:44 2008 -0500 ftrace: soft tracing stop and start Impact: add way to quickly start stop tracing from the kernel This patch adds a soft stop and start to the trace. This simply disables function tracing via the ftrace_disabled flag, and disables the trace buffers to prevent recording. The tracing code may still be executed, but the trace will not be recorded. Signed-off-by: Steven Rostedt Signed-off-by: Ingo Molnar commit 60a7ecf42661f2b22168751298592da6ee210c9e Author: Steven Rostedt Date: Wed Nov 5 16:05:44 2008 -0500 ftrace: add quick function trace stop Impact: quick start and stop of function tracer This patch adds a way to disable the function tracer quickly without the need to run kstop_machine. It adds a new variable called function_trace_stop which will stop the calls to functions from mcount when set. This is just an on/off switch and does not handle recursion like preempt_disable(). It's main purpose is to help other tracers/debuggers start and stop tracing fuctions without the need to call kstop_machine. The config option HAVE_FUNCTION_TRACE_MCOUNT_TEST is added for archs that implement the testing of the function_trace_stop in the mcount arch dependent code. Otherwise, the test is done in the C code. x86 is the only arch at the moment that supports this. Signed-off-by: Steven Rostedt Signed-off-by: Ingo Molnar commit 79c81d220c8e25163f56edcdfaf23f83a4c88e6b Merge: 3299b4d 79a9d46 Author: Ingo Molnar Date: Thu Nov 6 07:43:47 2008 +0100 Merge branch 'tracing/fastboot' into tracing/ftrace commit fd9abb3d97c2ab883e4732ec1214fe64190236e7 Author: Steve Glendinning Date: Wed Nov 5 00:35:37 2008 +0000 SMSC LAN911x and LAN921x vendor driver Attached is a driver for SMSC's LAN911x and LAN921x families of embedded ethernet controllers. There is an existing smc911x driver in the tree; this is intended to replace it. Dustin McIntire (the author of the smc911x driver) has expressed his support for switching to this driver. This driver contains workarounds for all known hardware issues, and has been tested on all flavours of the chip on multiple architectures. This driver now uses phylib, so this patch also adds support for the device's internal phy Signed-off-by: Steve Glendinning Signed-off-by: Bahadir Balban Signed-off-by: Dustin Mcintire Signed-off-by: Bill Gatliff Signed-off-by: Jeff Garzik commit c5916cf8dbd3ac5ec675d9347aeaa796b546b50e Author: Hannes Hering Date: Wed Nov 5 13:18:21 2008 +0100 ehea: Fix some whitespace issues This patch removes some trailing whitespaces and spaces before tabs. Signed-off-by: Hannes Hering Signed-off-by: Jeff Garzik commit 739bb23d722313e37322f485eb65f700b060d817 Author: Ben Hutchings Date: Tue Nov 4 20:35:36 2008 +0000 sfc: Do not reset when hardware monitor detects a fault The TX watchdog should trigger a reset, but a temperature/power alarm should not as this is unlikely to solve the problem. Signed-off-by: Ben Hutchings Signed-off-by: Jeff Garzik commit 3e133c44d24a094118caee182200462d46c55b56 Author: Ben Hutchings Date: Tue Nov 4 20:34:56 2008 +0000 sfc: Use lm87 and lm90 drivers for board temperature/power monitoring Add board monitoring to periodic work whenever link is down. For SFE4001, report when a fault has caused the PHY to turn off. For SFE4002, switch XFP PHY into low-power state in case of a fault. Signed-off-by: Ben Hutchings Signed-off-by: Jeff Garzik commit f41507245ef8b079685aba8da5b5b2b5e87e70bc Author: Ben Hutchings Date: Tue Nov 4 20:34:28 2008 +0000 sfc: Expose flash region storing boot code as MTD The boot code that appears as a PCI expansion ROM on the SFC4000 is stored in flash. Expose this as a standard MTD device to allow for in-place upgrades. Signed-off-by: Ben Hutchings Signed-off-by: Jeff Garzik commit 0a95f56323ce93dac354c1b2d54bf959a985cf7d Author: Ben Hutchings Date: Tue Nov 4 20:33:11 2008 +0000 sfc: Clean up non-volatile memory partitioning Move flash and EEPROM partition boundary constants into spi.h and rename them to be consistent. Add a comment on the partitioning. Signed-off-by: Ben Hutchings Signed-off-by: Jeff Garzik commit 2883f552f2c6c6ccb2021643652c6d930f205f6f Author: Ben Hutchings Date: Tue Nov 4 20:32:45 2008 +0000 sfc: Correct address of gPXE boot configuration in EEPROM Due to a hardware bug, the originally assigned range cannot reliably be used for boot configuration and must not be modifiable through ethtool. Signed-off-by: Ben Hutchings Signed-off-by: Jeff Garzik commit fd989c83325cb34795bc4d4aa6b13c06f90eac99 Author: Jay Vosburgh Date: Tue Nov 4 17:51:16 2008 -0800 bonding: alternate agg selection policies for 802.3ad This patch implements alternative aggregator selection policies for 802.3ad. The existing policy, now termed "stable," selects the active aggregator by greatest bandwidth, and only reselects a new aggregator if the active aggregator is entirely disabled (no more ports or all ports down). This patch adds two new policies: bandwidth and count, selecting the active aggregator by total bandwidth (like the stable policy) or by the number of ports in the aggregator, respectively. These two policies also differ from the stable policy in that they will reselect the active aggregator when availability-related changes occur in the bond (e.g., link state change). This permits "gang failover" within 802.3ad, allowing redundant aggregators along parallel paths to always maintain the "best" aggregator as the active aggregator (rather than having to wait for the active to entirely fail). This patch also updates the driver version to 3.5.0. Signed-off-by: Jay Vosburgh Signed-off-by: Jeff Garzik commit 6146b1a4da98377e4abddc91ba5856bef8f23f1e Author: Jay Vosburgh Date: Tue Nov 4 17:51:15 2008 -0800 bonding: Fix ALB mode to balance traffic on VLANs The current ALB function that processes incoming ARPs does not handle traffic for VLANs configured above bonding. This causes traffic on those VLANs to all be assigned the same slave. This patch corrects that misbehavior by locating the bonding interface nested below the VLAN interface. Bug reported by Sven Anders , who also tested an earlier version of this patch and confirmed that it resolved the problem. Signed-off-by: Jay Vosburgh Signed-off-by: Jeff Garzik commit 305d552accae6afb859c493ebc7d98ca3371dae2 Author: Brian Haley Date: Tue Nov 4 17:51:14 2008 -0800 bonding: send IPv6 neighbor advertisement on failover This patch adds better IPv6 failover support for bonding devices, especially when in active-backup mode and there are only IPv6 addresses configured, as reported by Alex Sidorenko. - Creates a new file, net/drivers/bonding/bond_ipv6.c, for the IPv6-specific routines. Both regular bonds and VLANs over bonds are supported. - Adds a new tunable, num_unsol_na, to limit the number of unsolicited IPv6 Neighbor Advertisements that are sent on a failover event. Default is 1. - Creates two new IPv6 neighbor discovery functions: ndisc_build_skb() ndisc_send_skb() These were required to support VLANs since we have to be able to add the VLAN id to the skb since ndisc_send_na() and friends shouldn't be asked to do this. These two routines are basically __ndisc_send() split into two pieces, in a slightly different order. - Updates Documentation/networking/bonding.txt and bumps the rev of bond support to 3.4.0. On failover, this new code will generate one packet: - An unsolicited IPv6 Neighbor Advertisement, which helps the switch learn that the address has moved to the new slave. Testing has shown that sending just the NA results in pretty good behavior when in active-back mode, I saw no lost ping packets for example. Signed-off-by: Brian Haley Signed-off-by: Jay Vosburgh Signed-off-by: Jeff Garzik commit 7d9d1f25c3872080ce599e5dd0dac3305d0a028b Author: Dean Nelson Date: Wed Nov 5 17:29:48 2008 -0600 sgi-xp: support getting the address of a partition's reserved page Add support for getting the address of a partition's reserved page. Signed-off-by: Dean Nelson Signed-off-by: H. Peter Anvin commit 31de5ece351a218a35b9bf83ab05a14373261bb6 Author: Dean Nelson Date: Wed Nov 5 17:28:35 2008 -0600 sgi-xp: define xp_partition_id and xp_region_size Define xp_partition_id and xp_region_size to their correct values. Signed-off-by: Dean Nelson Signed-off-by: H. Peter Anvin commit 2525789b4694d78df4f001063f042b2b74227d26 Author: Dean Nelson Date: Wed Nov 5 17:28:00 2008 -0600 sgi-xp: create activate and notify gru message queues For UV add the code to create the activate and notify gru message queues. Signed-off-by: Dean Nelson Signed-off-by: H. Peter Anvin commit 6c1c325de908cbc444cf284f59c3a892161012e9 Author: Dean Nelson Date: Wed Nov 5 17:27:22 2008 -0600 sgi-xp: define xp_expand_memprotect() and xp_restrict_memprotect() Define xp_expand_memprotect() and xp_restrict_memprotect() so they can be tailered to the hardware they are run on. Signed-off-by: Dean Nelson Signed-off-by: H. Peter Anvin commit 23c357003b3671cdfb17bc4d5383589e74b71511 Author: Russ Anderson Date: Wed Nov 5 22:15:13 2008 -0600 x86: uv: Add UV reserved page bios call Add UV bios call to get the address of the reserved page. Signed-off-by: Russ Anderson Signed-off-by: H. Peter Anvin commit e8929c8a6acbecbd629b8e3f2d1a2546ec4ebdfc Author: Russ Anderson Date: Wed Nov 5 22:13:44 2008 -0600 x86: uv: Add UV memory protection bios call Add UV bios call to change memory protections. Signed-off-by: Russ Anderson Signed-off-by: H. Peter Anvin commit 64ccf2f9a70a06ba56cd8cedfa610b4e77181587 Author: Russ Anderson Date: Wed Nov 5 22:11:56 2008 -0600 x86: uv: Add UV watchlist bios call Add UV bios calls to allocate and free watchlists. Signed-off-by: Russ Anderson Signed-off-by: H. Peter Anvin commit 61c9eaf90081cbe6dc4f389e0056bff76eca19ec Author: Jarek Poplawski Date: Wed Nov 5 16:02:34 2008 -0800 pkt_sched: Fix qdisc len in qdisc_peek_dequeued() A packet dequeued and stored as gso_skb in qdisc_peek_dequeued() should be seen as part of the queue for sch->q.qlen queries until it's really dequeued with qdisc_dequeue_peeked(), so qlen needs additional updating in these functions. (Updating qstats.backlog shouldn't matter here.) Signed-off-by: Jarek Poplawski Signed-off-by: David S. Miller commit 0a36b345ab99d6b3c96999e7e3b79bd243cf9bf7 Author: Eric W. Biederman Date: Wed Nov 5 16:00:24 2008 -0800 net: Don't leak packets when a netns is going down I have been tracking for a while a case where when the network namespace exits the cleanup gets stck in an endless precessess of: unregister_netdevice: waiting for lo to become free. Usage count = 3 unregister_netdevice: waiting for lo to become free. Usage count = 3 unregister_netdevice: waiting for lo to become free. Usage count = 3 unregister_netdevice: waiting for lo to become free. Usage count = 3 unregister_netdevice: waiting for lo to become free. Usage count = 3 unregister_netdevice: waiting for lo to become free. Usage count = 3 unregister_netdevice: waiting for lo to become free. Usage count = 3 It turns out that if you listen on a multicast address an unsubscribe packet is sent when the network device goes down. If you shutdown the network namespace without carefully cleaning up this can trigger the unsubscribe packet to be sent over the loopback interface while the network namespace is going down. All of which is fine except when we drop the packet and forget to free it leaking the skb and the dst entry attached to. As it turns out the dst entry hold a reference to the idev which holds the dev and keeps everything from being cleaned up. Yuck! By fixing my earlier thinko and add the needed kfree_skb and everything cleans up beautifully. Signed-off-by: Eric W. Biederman Signed-off-by: David S. Miller commit ae33bc40c0d96d02f51a996482ea7e41c5152695 Author: Eric W. Biederman Date: Wed Nov 5 16:00:02 2008 -0800 net: Guaranetee the proper ordering of the loopback device. I was recently hunting a bug that occurred in network namespace cleanup. In looking at the code it became apparrent that we have and will continue to have cases where if we have anything going on in a network namespace there will be assumptions that the loopback device is present. Things like sending igmp unsubscribe messages when we bring down network devices invokes the routing code which assumes that at least the loopback driver is present. Therefore to avoid magic initcall ordering hackery that is hard to follow and hard to get right insert a call to register the loopback device directly from net_dev_init(). This guarantes that the loopback device is the first device registered and the last network device to go away. Signed-off-by: Eric W. Biederman Signed-off-by: David S. Miller commit d0c082cea6dfb9b674b4f6e1e84025662dbd24e8 Author: Eric W. Biederman Date: Wed Nov 5 15:59:38 2008 -0800 netns: Delete virtual interfaces during namespace cleanup When physical devices are inside of network namespace and that network namespace terminates we can not make them go away. We have to keep them and moving them to the initial network namespace is the best we can do. For virtual devices left in a network namespace that is exiting we have no need to preserve them and we now have the infrastructure that allows us to delete them. So delete virtual devices when we exit a network namespace. Keeping the necessary user space clean up after a network namespace exits much more tractable. Acked-by: Daniel Lezcano Acked-by: Pavel Emelyanov Signed-off-by: Eric W. Biederman Signed-off-by: David S. Miller commit 1c1b777a5673b57a6c0377ba60a790d05e4a0676 Author: Harvey Harrison Date: Wed Nov 5 09:51:12 2008 -0800 powerpc: Use the new byteorder headers Signed-off-by: Harvey Harrison Signed-off-by: Paul Mackerras commit 1f29fae29709b4668979e244c09b2fa78ff1ad59 Author: Serge E. Hallyn Date: Wed Nov 5 16:08:52 2008 -0600 file capabilities: add no_file_caps switch (v4) Add a no_file_caps boot option when file capabilities are compiled into the kernel (CONFIG_SECURITY_FILE_CAPABILITIES=y). This allows distributions to ship a kernel with file capabilities compiled in, without forcing users to use (and understand and trust) them. When no_file_caps is specified at boot, then when a process executes a file, any file capabilities stored with that file will not be used in the calculation of the process' new capability sets. This means that booting with the no_file_caps boot option will not be the same as booting a kernel with file capabilities compiled out - in particular a task with CAP_SETPCAP will not have any chance of passing capabilities to another task (which isn't "really" possible anyway, and which may soon by killed altogether by David Howells in any case), and it will instead be able to put new capabilities in its pI. However since fI will always be empty and pI is masked with fI, it gains the task nothing. We also support the extra prctl options, setting securebits and dropping capabilities from the per-process bounding set. The other remaining difference is that killpriv, task_setscheduler, setioprio, and setnice will continue to be hooked. That will be noticable in the case where a root task changed its uid while keeping some caps, and another task owned by the new uid tries to change settings for the more privileged task. Changelog: Nov 05 2008: (v4) trivial port on top of always-start-\ with-clear-caps patch Sep 23 2008: nixed file_caps_enabled when file caps are not compiled in as it isn't used. Document no_file_caps in kernel-parameters.txt. Signed-off-by: Serge Hallyn Acked-by: Andrew G. Morgan Signed-off-by: James Morris commit e21e696edb498c7f7eed42ba3096f6bbe13927b6 Merge: 2f99db2 75fa677 Author: James Morris Date: Thu Nov 6 07:12:34 2008 +0800 Merge branch 'master' into next commit 2f99db28af90957271a6448479c3e492ccf7c697 Author: Michal Schmidt Date: Wed Nov 5 13:35:06 2008 +0100 selinux: recognize netlink messages for 'ip addrlabel' In enforcing mode '/sbin/ip addrlabel' results in a SELinux error: type=SELINUX_ERR msg=audit(1225698822.073:42): SELinux: unrecognized netlink message type=74 for sclass=43 The problem is missing RTM_*ADDRLABEL entries in SELinux's netlink message types table. Reported in https://bugzilla.redhat.com/show_bug.cgi?id=469423 Signed-off-by: Michal Schmidt Acked-by: Stephen Smalley Signed-off-by: James Morris commit 5b4d2189446fd31cd618bbd1c24566b8d0ab11c8 Author: Sebastian Siewior Date: Sat Nov 1 10:00:56 2008 +0000 powerpc/boot: Allocate more memory for dtb David Gibson suggested that since we are now unconditionally copying the dtb into a malloc()ed buffer, it would be sensible to add a little padding to the buffer at that point, so that further device tree manipulations won't need to reallocate it. This implements that suggestion. Signed-off-by: Sebastian Andrzej Siewior Signed-off-by: Paul Mackerras commit 7d4320f3d5ace5758111f2beac931376737f80f5 Author: Jon Tollefson Date: Thu Oct 30 12:03:57 2008 +0000 powerpc: Hugetlb pgtable cache access cleanup Andrew Morton suggested that using a macro that makes an array reference look like a function call makes it harder to understand the code. This therefore removes the huge_pgtable_cache(psize) macro and replaces its uses with pgtable_cache[HUGE_PGTABLE_INDEX(psize)]. Signed-off-by: Jon Tollefson Cc: Nick Piggin Cc: Benjamin Herrenschmidt Signed-off-by: Andrew Morton Acked-by: David Gibson Signed-off-by: Paul Mackerras commit d4ad304841a9790d4fa35e51d6aa9baeba631559 Author: Masakazu Mokuno Date: Thu Oct 30 08:17:18 2008 +0000 powerpc/ps3: Fix memory leak in device init Free dynamically allocated device data structures when device registration fails. This fixes memory leakage when the registration fails. Signed-off-by: Masakazu Mokuno Signed-off-by: Geoff Levand Signed-off-by: Paul Mackerras commit 3cc698789a3f44dabc5eed389b6c123caf787c0f Author: Paul Mackerras Date: Tue Oct 28 00:18:11 2008 +0000 powerpc: Eliminate unused do_gtod variable Since we started using the generic timekeeping code, we haven't had a powerpc-specific version of do_gettimeofday, and hence there is now nothing that reads the do_gtod variable in arch/powerpc/kernel/time.c. This therefore removes it and the code that sets it. Signed-off-by: Paul Mackerras commit 597bc5c00b666fe123abb0af64f6e86f7ab72a90 Author: Paul Mackerras Date: Mon Oct 27 23:56:03 2008 +0000 powerpc: Improve resolution of VDSO clock_gettime Currently the clock_gettime implementation in the VDSO produces a result with microsecond resolution for the cases that are handled without a system call, i.e. CLOCK_REALTIME and CLOCK_MONOTONIC. The nanoseconds field of the result is obtained by computing a microseconds value and multiplying by 1000. This changes the code in the VDSO to do the computation for clock_gettime with nanosecond resolution. That means that the resolution of the result will ultimately depend on the timebase frequency. Because the timestamp in the VDSO datapage (stamp_xsec, the real time corresponding to the timebase count in tb_orig_stamp) is in units of 2^-20 seconds, it doesn't have sufficient resolution for computing a result with nanosecond resolution. Therefore this adds a copy of xtime to the VDSO datapage and updates it in update_gtod() along with the other time-related fields. Signed-off-by: Paul Mackerras commit c73049f6aa58ac1d1a9ca8cb2b415ef97240b2d3 Author: Mark Nelson Date: Mon Oct 27 20:38:14 2008 +0000 powerpc: Remove map_/unmap_single() from dma_mapping_ops Now that all of the remaining dma_mapping_ops have had their map_/unmap_single functions updated to become map/unmap_page functions, there is no need to have the map_/unmap_single function pointers in the dma_mapping_ops. So, this removes them and also removes the code that does the checking for which set of functions to use. Signed-off-by: Mark Nelson Acked-by: Becky Bruce Signed-off-by: Paul Mackerras commit 7eef440a545c7f812ed10b49d4a10a351df9cad6 Author: Benjamin Herrenschmidt Date: Mon Oct 27 19:48:56 2008 +0000 powerpc/pci: Cosmetic cleanups of pci-common.c This does a few cosmetic cleanups, moving a couple of things around but without actually changing what the code does. (There is a minor change in ordering of operations in pcibios_setup_bus_devices but it should have no impact). Signed-off-by: Benjamin Herrenschmidt Signed-off-by: Paul Mackerras commit fd6852c8fa060bd45c82a2593e18f933f6c6204f Author: Benjamin Herrenschmidt Date: Mon Oct 27 19:48:52 2008 +0000 powerpc/pci: Fix various pseries PCI hotplug issues The pseries PCI hotplug code has a number of issues, ranging from incorrect resource setup to crashes, depending on what is added, when, whether it contains a bridge, etc etc.... This fixes a whole bunch of these, while actually simplifying the code a bit, using more generic code in the process and factoring out common code between adding of a PHB, a slot or a device. Signed-off-by: Benjamin Herrenschmidt Signed-off-by: Paul Mackerras commit b5ae5f911d221ad85090d6805ab9ab020f6e4703 Author: Benjamin Herrenschmidt Date: Mon Oct 27 19:48:44 2008 +0000 powerpc/pci: Make pcibios_allocate_bus_resources more robust To properly fix PCI hotplug, it's useful to be able to make the fixup passes on all devices whether they were just hot plugged or already there. However, pcibios_allocate_bus_resources() wouldn't cope well with being called twice for a given bus. This makes it ignore resources that have already been allocated, along with adding a bit of debug output. Signed-off-by: Benjamin Herrenschmidt Signed-off-by: Paul Mackerras commit 57b066ff4ec53a0ac7cbf7fb363bb670cf58ddae Author: Benjamin Herrenschmidt Date: Mon Oct 27 19:48:41 2008 +0000 powerpc/eeh: Make EEH device add/remove more robust To properly fix PCI hotplug, it's useful to be able to make the fixup passes on all devices whether they were just hot plugged or already there. The EEH code however used to not be very friendly with calling eeh_add_device_late() multiple time, and not very rebust in the way it generally tests whether a device is in the expected state vs. the EEH code. This improves it, along with cleaning up a couple of debug printk's. Signed-off-by: Benjamin Herrenschmidt Signed-off-by: Paul Mackerras commit 8b8da35804bb89eee23f9bcd5638e1f754bd4c91 Author: Benjamin Herrenschmidt Date: Mon Oct 27 19:48:37 2008 +0000 powerpc/pci: Split pcibios_fixup_bus() into bus setup and device setup Currently, our PCI code uses the pcibios_fixup_bus() callback, which is called by the generic code when probing PCI buses, for two different things. One is to set up things related to the bus itself, such as reading bridge resources for P2P bridges, fixing them up, or setting up the iommu's associated with bridges on some platforms. The other is some setup for each individual device under that bridge, mostly setting up DMA mappings and interrupts. The problem is that this approach doesn't work well with PCI hotplug when an existing bus is re-probed for new children. We fix this problem by splitting pcibios_fixup_bus into two routines: pcibios_setup_bus_self() is now called to setup the bus itself pcibios_setup_bus_devices() is now called to setup devices pcibios_fixup_bus() is then modified to call these two after reading the bridge bases, and the OF based PCI probe is modified to avoid calling into the first one when rescanning an existing bridge. [paulus@samba.org - fixed eeh.h for 32-bit compile now that pci-common.c is including it unconditionally.] Signed-off-by: Benjamin Herrenschmidt Signed-off-by: Paul Mackerras commit 8dc840f88d9c9f75f46d5dbe489242f8a114fab6 Author: David Anders Date: Wed Nov 5 07:39:47 2008 -0800 ASoC: Add new parameter to s3c24xx_pcm_enqueue The S3C24xx dma does not allow more than one buffer to be enqueue prior to the dma transfers starting. This patch adds an additional parameter to s3c24xx_pcm_enqueue() to allow for passing an initial dma maximum load value. Signed-off-by: David Anders Signed-off-by: Mark Brown commit ea913940c39a61214c799cc7093d7b20fe11a94c Author: Mark Brown Date: Wed Nov 5 11:13:21 2008 +0000 ASoC: Remove core version number Rather than try to remember to keep the core version number updated (which hasn't been happening) just remove it. It was much more useful when ASoC was out of tree. Signed-off-by: Mark brown commit 74e722015fe47c8f0e7ef7c0b4cf32d3e4ae11a0 Author: Marek Vasut Date: Mon Nov 3 12:02:12 2008 +0000 ASoC: Add Palm/PXA27x unified ASoC audio driver this patch adds asoc audio driver for pxa27x based Palm PDAs. I tested it for palmtx, t5 and ld, it should work with palmz72 as well (slapin, please test). I sent it here some time ago, but now I got to fixing bugs in it. It should be somehow mostly ok and ready for applying. [Converted to use snd_soc_dapm_nc_pin() and bool Kconfig -- broonie] Signed-off-by: Marek Vasut Signed-off-by: Mark Brown commit 838e8bb71dc0c892bf8f84abd3c709d8fe3a8d3c Author: Uros Bizjak Date: Fri Oct 24 16:53:33 2008 +0200 x86: Implement change_bit with immediate operand as "lock xorb" Impact: Minor optimization. Implement change_bit with immediate bit count as "lock xorb". This is similar to "lock orb" and "lock andb" for set_bit and clear_bit functions. Signed-off-by: Uros Bizjak Signed-off-by: H. Peter Anvin commit 6834d7ce224a6f6a1dd05da3a867730c40943154 Author: Takashi Iwai Date: Wed Nov 5 17:41:23 2008 +0100 ALSA: ice1724 - Re-fix IRQ mask initialization The previous IRQ mask initialization was wrong. It must set the bits to be masked. Signed-off-by: Takashi Iwai commit c238b4f4038e0e49bb241640610584a088b268b1 Author: Takashi Iwai Date: Wed Nov 5 14:57:20 2008 +0100 ALSA: hda - Split ALC268 acer model There are actually two variants of ALC268 Acer implementation, one with an analog built-in mic (pin 0x19) and another with a digital mic (pin 0x12). Created a new model, acer-dmic, for the latter case now. So far, all known models are assigned to be analog-mic, according to the BIOS setup. If this doesn't match with the actual case, one needs to try model=acer-dmic, and fix the entry to point ALC268_ACER_DMIC if it works. Signed-off-by: Takashi Iwai commit ab56ced9c57b66862c687f3158045d15133f02d6 Author: Benjamin Herrenschmidt Date: Mon Oct 27 19:48:33 2008 +0000 powerpc/pci: Remove pcibios_do_bus_setup() The function pcibios_do_bus_setup() was used by pcibios_fixup_bus() to perform setup that is different between the 32-bit and 64-bit code. This difference no longer exists, thus the function is removed and the setup now done directly from pci-common.c. Signed-off-by: Benjamin Herrenschmidt Signed-off-by: Paul Mackerras commit 53280323350621985b3f2f8ffe649215304bcc5f Author: Benjamin Herrenschmidt Date: Mon Oct 27 19:48:29 2008 +0000 powerpc/pci: Use common PHB resource hookup The 32-bit and 64-bit powerpc PCI code used to set up the resource pointers of the root bus of a given PHB in completely different places. This unifies this in large part, by making 32-bit use a routine very similar to what 64-bit does when initially scanning the PCI busses. The actual setup of the PHB resources itself is then moved to a common function in pci-common.c. This should cause no functional change on 64-bit. On 32-bit, the effect is that the PHB resources are going to be setup a bit earlier, instead of being setup from pcibios_fixup_bus(). Signed-off-by: Benjamin Herrenschmidt Signed-off-by: Paul Mackerras commit b0494bc8ee449f0534afa92a51e2e3bb27bab69b Author: Benjamin Herrenschmidt Date: Mon Oct 27 19:48:22 2008 +0000 powerpc/pci: Cleanup debug printk's This removes the various DBG() macro from the powerpc PCI code and makes it use the standard pr_debug instead. Signed-off-by: Benjamin Herrenschmidt Signed-off-by: Paul Mackerras commit 25d6e2d7c58ddc4a3b614fc5381591c0cfe66556 Author: Mark Nelson Date: Mon Oct 27 00:46:51 2008 +0000 powerpc: Update 64bit memcpy() using CPU_FTR_UNALIGNED_LD_STD Update memcpy() to add two new feature sections: one for aligning the destination before copying and one for copying using aligned load and store doubles. These new feature sections will only affect Power6 and Cell because the CPU feature bit was only added to these two processors. Power6 gets its best performance in memcpy() when aligning neither the source nor the destination, while Cell gets its best performance when just the destination is aligned. But in order to save on CPU feature bits we can use the previously added CPU_FTR_CP_USE_DCBTZ feature bit to differentiate between Power6 and Cell (because CPU_FTR_CP_USE_DCBTZ was added to Cell but not Power6). The first feature section acts to nop out the branch that takes us to the code that aligns us to an eight byte boundary for the destination. We only want to nop out this branch on Power6. So the ALT_FTR_SECTION_END() for this feature section creates a test mask of the two feature bits ORed together and provides an expected result of just CPU_FTR_UNALIGNED_LD_STD, thus we nop out the branch if we're on a CPU that has CPU_FTR_UNALIGNED_LD_STD set and CPU_FTR_CP_USE_DCBTZ unset. For the second feature section added, if we're on a CPU that has the CPU_FTR_UNALIGNED_LD_STD bit set then we don't want to do the copy with aligned loads and stores (and the appropriate shifting left and right instructions), so we want to nop out the branch to .Lsrc_unaligned. The andi. used for this branch is moved to just above the branch because this allows us to nop out both instructions with just one feature section which gives us better performance and doesn't hurt readability which two separate feature sections did. Moving the andi. to just above the branch doesn't have any noticeable negative effect on the remaining 64bit processors (the ones that didn't have this feature bit added). On Cell this simple modification results in an improvement to measured memcpy() bandwidth of up to 50% in the hot cache case and up to 15% in the cold cache case. On Power6 we get memory bandwidth results that are up to three times faster in the hot cache case and up to 50% faster in the cold cache case. Commit 2a9294369bd020db89bfdf78b84c3615b39a5c84 ("powerpc: Add new CPU feature: CPU_FTR_CP_USE_DCBTZ") was where CPU_FTR_CP_USE_DCBTZ was added. To say that Cell gets its best performance in memcpy() with just the destination aligned is true but only for the reason that the indirect shift and rotate instructions, sld and srd, are microcoded on Cell. This means that either the destination or the source can be aligned, but not both, and seeing as we get better performance with the destination aligned we choose this option. While we're at it make a one line change from cmpldi r1,... to cmpldi cr1,... for consistency. Signed-off-by: Mark Nelson Signed-off-by: Paul Mackerras commit 4ec577a28980a0790df3c3dfe9c81f6e2222acfb Author: Mark Nelson Date: Mon Oct 27 00:43:02 2008 +0000 powerpc: Add new CPU feature: CPU_FTR_UNALIGNED_LD_STD Add a new CPU feature bit, CPU_FTR_UNALIGNED_LD_STD, to be added to the 64bit powerpc chips that can do unaligned load double and store double without any performance hit. This is added to Power6 and Cell and will be used in the next commit to disable the code that gets the destination address aligned on those CPUs where doing that doesn't improve performance. Signed-off-by: Mark Nelson Signed-off-by: Paul Mackerras commit 409001948d9f221c94a61c3ee96de112755fc04d Author: Brian King Date: Wed Oct 22 05:53:45 2008 +0000 powerpc: Update page-in counter for CMM A new field has been added to the VPA as a method for the client OS to communicate to firmware the number of page-ins it is performing when running collaborative memory overcommit. The hypervisor will use this information to better determine if a partition is experiencing memory pressure and needs more memory allocated to it. Signed-off-by: Brian King Signed-off-by: Paul Mackerras commit 1ef8014debb6410ed1960c4477d0006df11157c1 Author: Sebastien Dugue Date: Wed Oct 22 04:36:32 2008 +0000 powerpc/pseries: Fix getting the server number size The 'ibm,interrupt-server#-size' properties are not in the cpu nodes, which is where we currently look for them, but rather live under the interrupt source controller nodes (which have "ibm,ppc-xics" in their compatible property). This moves the code that looks for the ibm,interrupt-server#-size properties from xics_update_irq_servers() into xics_init_IRQ(). Also this adds a check for mismatched sizes across the interrupt source controller nodes. Not sure this is necessary as in this case the firmware might be seriously busted. This property only appears on POWER6 boxes and is only used in the set-indicator(gqirm) call, and apparently firmware currently ignores the value we pass. Nevertheless we need to fix it in case future firmware versions use it. Signed-off-by: Sebastien Dugue Cc: Benjamin Herrenschmidt Acked-by: Milton Miller Signed-off-by: Paul Mackerras commit 691de57679e3f05b708b98ca2ab27657c768843f Author: Anton Vorontsov Date: Tue Oct 21 08:58:44 2008 +0000 powerpc: Remove device_type = "rtc" properties in .dts files We don't want to encourage the device_type usage. It isn't used in the code, so we can simply remove it from the dts files. Suggested-by: Scott Wood Signed-off-by: Anton Vorontsov Acked-by: Grant Likely Acked-by: David Gibson Signed-off-by: Paul Mackerras commit a6a8e009b118b4906cbb4b382f8cc17195cff860 Author: Benjamin Herrenschmidt Date: Tue Oct 14 18:25:28 2008 +0000 powerpc: Silence software timebase sync When no hardware method is provided to sync the timebase registers across the machine, and the platform doesn't sync them for us, then we use a generic software implementation. Currently, the code for that has many printks, and they don't have log levels. Most of the printks are only useful for debugging the code, and since we haven't had any problems with it for years, this turns them into pr_debug. Signed-off-by: Benjamin Herrenschmidt Signed-off-by: Paul Mackerras commit 1fd0f52583a85b21a394201b007bc1ee104b235d Author: Benjamin Herrenschmidt Date: Thu Oct 2 14:12:51 2008 +0000 powerpc: Fix domain numbers in /proc on 64-bit The code to properly expose domain numbers in /proc is somewhat bogus on ppc64 as it depends on the "buid" field being non-0, but that field is really pseries specific. This removes that code and makes ppc64 use the same code as 32-bit which effectively decides whether to expose domains based on ppc_pci_flags set by the platform, and sets the default for 64-bit to enable domains and enable compatibility for domain 0 (which strips the domain number for domain 0 to help with X servers). Signed-off-by: Benjamin Herrenschmidt Signed-off-by: Paul Mackerras commit 270acefafeb74ce2fe93d35b75733870bf1e11e7 Author: Eric Dumazet Date: Wed Nov 5 01:38:06 2008 -0800 net: sk_free_datagram() should use sk_mem_reclaim_partial() I noticed a contention on udp_memory_allocated on regular UDP applications. While tcp_memory_allocated is seldom used, it appears each incoming UDP frame is currently touching udp_memory_allocated when queued, and when received by application. One possible solution is to use sk_mem_reclaim_partial() instead of sk_mem_reclaim(), so that we keep a small reserve (less than one page) of memory for each UDP socket. We did something very similar on TCP side in commit 9993e7d313e80bdc005d09c7def91903e0068f07 ([TCP]: Do not purge sk_forward_alloc entirely in tcp_delack_timer()) A more complex solution would need to convert prot->memory_allocated to use a percpu_counter with batches of 64 or 128 pages. Signed-off-by: Eric Dumazet Signed-off-by: David S. Miller commit d99a7bd210a14001007fc5233597c78877f0a11c Author: Gerrit Renker Date: Tue Nov 4 23:56:30 2008 -0800 dccp: Cleanup routines for feature negotiation This inserts the required de-allocation routines for memory allocated by feature negotiation in the socket destructors, replacing dccp_feat_clean() in one instance. Signed-off-by: Gerrit Renker Acked-by: Ian McDonald Signed-off-by: David S. Miller commit ac75773c2742d82cbcb078708df406e9017224b7 Author: Gerrit Renker Date: Tue Nov 4 23:55:49 2008 -0800 dccp: Per-socket initialisation of feature negotiation This provides feature-negotiation initialisation for both DCCP sockets and DCCP request_sockets, to support feature negotiation during connection setup. It also resolves a FIXME regarding the congestion control initialisation. Thanks to Wei Yongjun for help with the IPv6 side of this patch. Signed-off-by: Gerrit Renker Acked-by: Ian McDonald Signed-off-by: David S. Miller commit 61e6473efbd6087e1db3aaa93a5266c5bfd8aa99 Author: Gerrit Renker Date: Tue Nov 4 23:54:04 2008 -0800 dccp: List management for new feature negotiation This adds list initial fields and list management functions for the new feature negotiation implementation. Thanks to Arnaldo for suggestions and improvements. Signed-off-by: Gerrit Renker Acked-by: Ian McDonald Signed-off-by: David S. Miller commit 7d43d1a0f2cf535167ec7247f110a1f85cecac43 Author: Gerrit Renker Date: Tue Nov 4 23:43:47 2008 -0800 dccp: Implement lookup table for feature-negotiation information A lookup table for feature-negotiation information, extracted from RFC 4340/42, is provided by this patch. All currently known features can be found in this table, along with their feature location, their default value, and type. Signed-off-by: Gerrit Renker Acked-by: Ian McDonald Acked-by: Arnaldo Carvalho de Melo Signed-off-by: David S. Miller commit bd012f2e7be9f69a47d240ded0fa491967d9827c Author: Gerrit Renker Date: Tue Nov 4 23:38:20 2008 -0800 dccp: Basic data structure for feature negotiation This patch prepares for the new and extended feature-negotiation routines. The following feature-negotiation data structures are provided: * a container for the various (SP or NN) values, * symbolic state names to track feature states, * an entry struct which holds all current information together, * elementary functions to fill in and process these structures. Entry structs are arranged as FIFO for the following reason: RFC 4340 specifies that if multiple options of the same type are present, they are processed in the order of their appearance in the packet; which means that this order needs to be preserved in the local data structure (the later insertion code also respects this order). The struct list_head has been chosen for the following reasons: the most frequent operations are * add new entry at tail (when receiving Change or setting socket options); * delete entry (when Confirm has been received); * deep copy of entire list (cloning from listening socket onto request socket). The NN value has been set to 64 bit, which is a currently sufficient upper limit (Sequence Window feature has 48 bit). Thanks to Arnaldo, who contributed the streamlined layout of the entry struct. Signed-off-by: Gerrit Renker Acked-by: Arnaldo Carvalho de Melo Signed-off-by: David S. Miller commit 13c947444f4355293b49f83b809f178393a0a4d9 Author: Takashi Iwai Date: Wed Nov 5 08:06:08 2008 +0100 ALSA: hda - Add ASUS V1Sn support Asus V1s series laptops have an ALC660VD with PCI id: 0x1043, 0x1633. 1.) remove the previous behaviour of mapping that to the ALC861VD_LENOVO device. 2.) add a new ALC660VD_V1S device based on ALC861VD_LENOVO, with an added digital out. Signed-off-by: Tristan Aston Signed-off-by: Takashi Iwai commit beb0b9cf78b56b0f30f5defe62b7b9712cd02a50 Author: Takashi Iwai Date: Wed Nov 5 07:58:25 2008 +0100 ALSA: hda - Fix unused function in patch_intelhdmi.c Add a proper ifdef to shut out a compile warning: CC [M] sound/pci/hda/patch_intelhdmi.o sound/pci/hda/patch_intelhdmi.c:286: warning: ‘hdmi_get_dip_index’ defined but \ not used Signed-off-by: Takashi Iwai commit 91504877c50a792412e2043a1c2099f054d7254a Author: Wu, Fengguang Date: Wed Nov 5 11:16:56 2008 +0800 ALSA: hda - Intel HDMI audio support Add support for Intel G45 integrated HDMI audio codecs. This initial release supports: - 2 channel stereo sound output - report monitor's ELD information Signed-off-by: Wu Fengguang Signed-off-by: Takashi Iwai commit 1a0d3786dd57dbd74f340322054c3d618b999dcf Author: Theodore Ts'o Date: Wed Nov 5 00:09:22 2008 -0500 jbd2: Remove a large array of bh's from the stack of the checkpoint routine jbd2_log_do_checkpoint()n is one of the kernel's largest stack users. Move the array of buffer head's from the stack of jbd2_log_do_checkpoint() to the in-core journal structure. Signed-off-by: "Theodore Ts'o" commit 498e5f24158da7bf8fa48074a70e370e22844492 Author: Theodore Ts'o Date: Wed Nov 5 00:14:04 2008 -0500 ext4: Change unsigned long to unsigned int Convert the unsigned longs that are most responsible for bloating the stack usage on 64-bit systems. Nearly all places in the ext3/4 code which uses "unsigned long" is probably a bug, since on 32-bit systems a ulong a 32-bits, which means we are wasting stack space on 64-bit systems. Signed-off-by: "Theodore Ts'o" commit a9df9a49102f3578909cba7bd33784eb3b9caaa4 Author: Theodore Ts'o Date: Mon Jan 5 22:18:16 2009 -0500 ext4: Make ext4_group_t be an unsigned int Nearly all places in the ext3/4 code which uses "unsigned long" is probably a bug, since on 32-bit systems a ulong a 32-bits, which means we are wasting stack space on 64-bit systems. Signed-off-by: "Theodore Ts'o" commit cde6436004ad9cd8cab5a874b6fa8b01f1da91bf Author: Theodore Ts'o Date: Tue Nov 4 18:46:03 2008 -0500 ext4: Remove i_ext_generation from ext4_inode_info structure The i_ext_generation was incremented, but never used. Remove it to slim down the ext4_inode_info structure. Signed-off-by: "Theodore Ts'o" commit 30773840c19cea60dcef39545960d541b1ac1cf8 Author: Theodore Ts'o Date: Sat Jan 3 20:27:38 2009 -0500 ext4: add fsync batch tuning knobs Add new mount options, min_batch_time and max_batch_time, which controls how long the jbd2 layer should wait for additional filesystem operations to get batched with a synchronous write transaction. Signed-off-by: "Theodore Ts'o" commit d7cfa4684d82f58e5d7cb73b8a3c88c169937f25 Author: Theodore Ts'o Date: Wed Dec 17 00:20:45 2008 -0500 ext4: display average commit time Display the average commit time (which is used by the ext4 fsync batching patch) in /proc/fs/jbd2/*/info for performance tuning purposes. Signed-off-by: "Theodore Ts'o" commit e07f7183a486cf9783d1f8c9d2997b5b39eeb2d4 Author: Josef Bacik Date: Wed Nov 26 01:14:26 2008 -0500 jbd2: improve jbd2 fsync batching This patch removes the static sleep time in favor of a more self optimizing approach where we measure the average amount of time it takes to commit a transaction to disk and the ammount of time a transaction has been running. If somebody does a sync write or an fsync() traditionally we would sleep for 1 jiffies, which depending on the value of HZ could be a significant amount of time compared to how long it takes to commit a transaction to the underlying storage. With this patch instead of sleeping for a jiffie, we check to see if the amount of time this transaction has been running is less than the average commit time, and if it is we sleep for the delta using schedule_hrtimeout to give us a higher precision sleep time. This greatly benefits high end storage where you could end up sleeping for longer than it takes to commit the transaction and therefore sitting idle instead of allowing the transaction to be committed by keeping the sleep time to a minimum so you are sure to always be doing something. Signed-off-by: Josef Bacik Signed-off-by: "Theodore Ts'o" commit 032115fcef837a00336ddf7bda584e89789ea498 Author: Aneesh Kumar K.V Date: Mon Jan 5 21:34:30 2009 -0500 ext4: Don't overwrite allocation_context ac_status We can call ext4_mb_check_limits even after successfully allocating the requested blocks. In that case, make sure we don't overwrite ac_status if it already has the status AC_STATUS_FOUND. This fixes the lockdep warning: ============================================= [ INFO: possible recursive locking detected ] 2.6.28-rc6-autokern1 #1 --------------------------------------------- fsstress/11948 is trying to acquire lock: (&meta_group_info[i]->alloc_sem){----}, at: [] ext4_mb_load_buddy+0x9f/0x278 ..... stack backtrace: ..... [] ext4_mb_regular_allocator+0xbb5/0xd44 ..... but task is already holding lock: (&meta_group_info[i]->alloc_sem){----}, at: [] ext4_mb_load_buddy+0x9f/0x278 Signed-off-by: Aneesh Kumar K.V Signed-off-by: "Theodore Ts'o" Cc: stable@kernel.org commit fde4d95ad8711c84a36735a17136c45b19746af9 Author: Theodore Ts'o Date: Mon Jan 5 22:17:35 2009 -0500 ext4: remove extraneous newlines from calls to ext4_error() and ext4_warning() This removes annoying blank syslog entries emitted by ext4_error() or ext4_warning(), since these functions add their own newline. Signed-off-by: Nick Warne Signed-off-by: "Theodore Ts'o" commit fd98496f467b3d26d05ab1498f41718b5ef13de5 Author: Theodore Ts'o Date: Mon Jan 5 21:34:13 2009 -0500 jbd2: Add barrier not supported test to journal_wait_on_commit_record Xen doesn't report that barriers are not supported until buffer I/O is reported as completed, instead of when the buffer I/O is submitted. Add a check and a fallback codepath to journal_wait_on_commit_record() to detect this case, so that attempts to mount ext4 filesystems on LVM/devicemapper devices on Xen guests don't blow up with an "Aborting journal on device XXX"; "Remounting filesystem read-only" error. Thanks to Andreas Sundstrom for reporting this issue. Signed-off-by: "Theodore Ts'o" Cc: stable@kernel.org commit 0390131ba84fd3f726f9e24fc4553828125700bb Author: Frank Mayhar Date: Wed Jan 7 00:06:22 2009 -0500 ext4: Allow ext4 to run without a journal A few weeks ago I posted a patch for discussion that allowed ext4 to run without a journal. Since that time I've integrated the excellent comments from Andreas and fixed several serious bugs. We're currently running with this patch and generating some performance numbers against both ext2 (with backported reservations code) and ext4 with and without a journal. It just so happens that running without a journal is slightly faster for most everything. We did iozone -T -t 4 s 2g -r 256k -T -I -i0 -i1 -i2 which creates 4 threads, each of which create and do reads and writes on a 2G file, with a buffer size of 256K, using O_DIRECT for all file opens to bypass the page cache. Results: ext2 ext4, default ext4, no journal initial writes 13.0 MB/s 15.4 MB/s 15.7 MB/s rewrites 13.1 MB/s 15.6 MB/s 15.9 MB/s reads 15.2 MB/s 16.9 MB/s 17.2 MB/s re-reads 15.3 MB/s 16.9 MB/s 17.2 MB/s random readers 5.6 MB/s 5.6 MB/s 5.7 MB/s random writers 5.1 MB/s 5.3 MB/s 5.4 MB/s So it seems that, so far, this was a useful exercise. Signed-off-by: Frank Mayhar Signed-off-by: "Theodore Ts'o" commit ff7ef329b268b603ea4a2303241ef1c3829fd574 Author: Yasunori Goto Date: Wed Dec 17 00:48:39 2008 -0500 ext4: Widen type of ext4_sb_info.s_mb_maxs[] I chased the cause of following ext4 oops report which is tested on ia64 box. http://bugzilla.kernel.org/show_bug.cgi?id=12018 The cause is the size of s_mb_maxs array that is defined as "unsigned short" in ext4_sb_info structure. If the file system's block size is 8k or greater, an unsigned short is not wide enough to contain the value fs->blocksize << 3. Signed-off-by: Yasunori Goto Signed-off-by: "Theodore Ts'o" Cc: Li Zefan Cc: Miao Xie Cc: stable@kernel.org commit 93c0d86371a5b2e68473752a6e54ff03185c473e Author: Solofo.Ramangalahy@bull.net <> Date: Wed Nov 26 23:44:10 2008 -0500 ext4: When resizing set the EXT4_BG_INODE_ZEROED flag for new block groups The inode table has been zeroed in setup_new_group_blocks(). Mark it as such in ext4_group_add(). Since we are currently clearing inode table for the new block group, we should set the EXT4_BG_INODE_ZEROED flag. If at some point in the future we don't immediately zero out the inode table as part of the resize operation, then obviously we shouldn't do this. Signed-off-by: Solofo.Ramangalahy@bull.net Signed-off-by: "Theodore Ts'o" commit 23475e264c4f5c8b635a31924851287ead1ebe32 Author: Roel Kluin Date: Wed Nov 26 02:23:19 2008 -0500 ext4: Use simple_strtol() instead of simple_strtoul() in ext4_ui_proc_open Signed-off-by: Roel Kluin Signed-off-by: "Theodore Ts'o" commit 171bbfbeab7730031eec8025341401fabe540bd5 Author: Mark Fasheh Date: Tue Nov 25 17:42:31 2008 -0500 jbd2: Add BH_JBDPrivateStart Add this so that file systems using JBD2 can safely allocate unused b_state bits. In this case, we add it so that Ocfs2 can define a single bit for tracking the validation state of a buffer. Signed-off-by: Mark Fasheh Signed-off-by: "Theodore Ts'o" commit 25f1ee3aba17584ba4810da892175acab7fff9c8 Author: Wu Fengguang Date: Tue Nov 25 17:24:23 2008 -0500 ext4: fix build warning Replace `if' with `goto' to assure gcc that ix has been initialized. Signed-off-by: Wu Fengguang commit 565a9617b2151e21b22700e97a8b04e70e103153 Author: Aneesh Kumar K.V Date: Mon Jan 5 21:51:07 2009 -0500 ext4: avoid ext4_error when mounting a fs with a single bg Remove some completely unneeded code which which caused an ext4_error to be generated when mounting a file system with only a single block group. Signed-off-by: Aneesh Kumar K.V Signed-off-by: "Theodore Ts'o" Cc: stable@kernel.org commit 791b7f08954869d7b8ff438f3dac3cfb39778297 Author: Aneesh Kumar K.V Date: Mon Jan 5 21:50:43 2009 -0500 ext4: Fix the delalloc writepages to allocate blocks at the right offset. When iterating through the pages which have mapped buffer_heads, we failed to update the b_state value. This results in allocating blocks at logical offset 0. Signed-off-by: Aneesh Kumar K.V Signed-off-by: "Theodore Ts'o" Cc: stable@kernel.org commit 2a21e37e48b94388f2cc8c0392f104f5443d4bb8 Author: Theodore Ts'o Date: Wed Nov 5 09:22:24 2008 -0500 ext4: tone down ext4_da_writepages warnings If the filesystem has errors, ext4_da_writepages() will return a *lot* of errors, including lots and lots of stack dumps. While it's true that we are dropping user data on the floor, which is unfortunate, the stack dumps aren't helpful, and they tend to obscure the true original root cause of the problem. So in the case where the filesystem has aborted, return an EROFS right away. Signed-off-by: "Theodore Ts'o" commit 97df5d155dee478efe33b001f502e9630e1bba92 Author: Theodore Ts'o Date: Fri Dec 12 12:41:28 2008 -0500 ext4: remove do_blk_alloc() The convenience function do_blk_alloc() is a static function with only one caller, so fold it into ext4_new_meta_blocks() to simplify the code and to make it easier to understand. To save more stack space, if count is a null pointer in ext4_new_meta_blocks() assume that caller wanted a single block (and if there is an error, no blocks were allocated). Signed-off-by: "Theodore Ts'o" commit cfe82c856747b7841a3a00d591ce9ed46f579d27 Author: Theodore Ts'o Date: Sun Dec 7 14:10:54 2008 -0500 ext4: remove ext4_new_meta_block() There were only two one callers of the function ext4_new_meta_block(), which just a very simpler wrapper function around ext4_new_meta_blocks(). Change those two functions to call ext4_new_meta_blocks() directly, to save code and stack space usage. Signed-off-by: "Theodore Ts'o" commit 815a1130687ffac2c3e91513ce64aab629d6a54d Author: Theodore Ts'o Date: Thu Jan 1 23:59:43 2009 -0500 ext4: remove ext4_new_blocks() and call ext4_mb_new_blocks() directly There was only one caller of the compatibility function ext4_new_blocks(), in balloc.c's ext4_alloc_blocks(). Change it to call ext4_mb_new_blocks() directly, and remove ext4_new_blocks() altogether. This cleans up the code, by removing two extra functions from the call chain, and hopefully saving some stack usage. Signed-off-by: "Theodore Ts'o" commit 8e1a4857cd92e32e642b3e7184c7f6bf85c96e2e Author: Theodore Ts'o Date: Tue Jan 6 14:53:06 2009 -0500 Update Documentation/filesystems/ext4.txt Fix paragraph with recommendations on how to tune ext4 for benchmarks. Signed-off-by: "Theodore Ts'o" commit 59e315b4c410b00a9acd0f24a00dbadbe81ce692 Author: Theodore Ts'o Date: Sat Dec 6 16:58:39 2008 -0500 ext3/4: Fix loop index in do_split() so it is signed This fixes a gcc warning but it doesn't appear able to result in a failure, since the primary way the loop is exited is the first conditional in the for loop, and at least for a consistent filesystem, the signed/unsigned should in practice never be exposed. Signed-off-by: Roel Kluin Signed-off-by: "Theodore Ts'o" commit d5f642384e9da75393160350f75bbb9a527f7c58 Author: Alexey Dobriyan Date: Tue Nov 4 14:45:58 2008 -0800 net: #ifdef ->sk_security Signed-off-by: Alexey Dobriyan Signed-off-by: David S. Miller commit fd8cd7e1919fc1c27fe2fdccd2a1cd32f791ef0f Author: Alok Kataria Date: Mon Nov 3 15:50:38 2008 -0800 x86: vmware: look for DMI string in the product serial key Impact: Should permit VMware detection on older platforms where the vendor is changed. Could theoretically cause a regression if some weird serial number scheme contains the string "VMware" by pure chance. Seems unlikely, especially with the mixed case. In some user configured cases, VMware may choose not to put a VMware specific DMI string, but the product serial key is always there and is VMware specific. Add a interface to check the serial key, when checking for VMware in the DMI information. Signed-off-by: Alok N Kataria Signed-off-by: H. Peter Anvin commit 41d9f9c524a53477467b7e0111ff3d644198f191 Author: Eric Paris Date: Tue Nov 4 15:18:26 2008 -0500 SELinux: hold tasklist_lock and siglock while waking wait_chldexit SELinux has long been calling wake_up_interruptible() on current->parent->signal->wait_chldexit without holding any locks. It appears that this operation should hold the tasklist_lock to dereference current->parent and we should hold the siglock when waking up the signal->wait_chldexit. Signed-off-by: Eric Paris Signed-off-by: James Morris commit 0ee4663617fb0f78cec4cc6558a096ccbd8c3ffc Author: Takashi Iwai Date: Tue Nov 4 18:06:23 2008 +0100 ALSA: ASoC - Remove unnecessary inclusion of linux/version.h Signed-off-by: Takashi Iwai commit 3865675c60aec3e81d72d484680b544afc6fc51d Author: Huang Weiyi Date: Fri Oct 31 22:50:00 2008 +0800 ALSA: ASoC codec: remove unused #include The file(s) below do not use LINUX_VERSION_CODE nor KERNEL_VERSION. sound/soc/codecs/ad73311.c This patch removes the said #include . Signed-off-by: Huang Weiyi Acked-by: Mark Brown Signed-off-by: Takashi Iwai commit bfc5c26fb692fa7a196108c3b23d9c747d105c00 Author: Takashi Iwai Date: Tue Nov 4 17:48:39 2008 +0100 ALSA: hda - Don't create empty PCM streams Due to the hda-reconfiguration patches, the check of empty stream is gone, and this results in an error with the codec setup with empty streams. This patch adds the check again to avoid the error at probing. Signed-off-by: Takashi Iwai commit 79a9d461fd521f133f0e66485aa9ed09c21f5191 Author: Frederic Weisbecker Date: Fri Oct 31 13:34:45 2008 +0100 tracing/ftrace: fix a bug when switch current tracer to sched tracer Impact: fix boot tracer + sched tracer coupling bug Fix a bug that made the sched_switch tracer unable to run if set as the current_tracer after the boot tracer. Signed-off-by: Frederic Weisbecker Signed-off-by: Ingo Molnar commit efade6e7821c4219818e9da08f9315dfa617048b Author: Frederic Weisbecker Date: Fri Oct 31 13:28:58 2008 +0100 tracing/ftrace: types and naming corrections for sched tracer Impact: cleanup This patch applies some corrections suggested by Steven Rostedt. Change the type of shed_ref into int since it is used into a Mutex, we don't need it anymore as an atomic variable in the sched_switch tracer. Also change the name of the register mutex. Signed-off-by: Frederic Weisbecker Signed-off-by: Ingo Molnar commit d7ad44b697c9d13e445ddc7d16f736fbac333249 Author: Frederic Weisbecker Date: Fri Oct 31 13:20:08 2008 +0100 tracing/fastboot: use sched switch tracer from boot tracer Impact: enhance boot trace output with scheduling events Use the sched_switch tracer from the boot tracer. We also can trace schedule events inside the initcalls. Sched tracing is disabled after the initcall has finished and then reenabled before the next one is started. Signed-off-by: Frederic Weisbecker Signed-off-by: Ingo Molnar commit e55f605c14679c30be41473e60b7ad26524cdc35 Author: Frederic Weisbecker Date: Fri Oct 31 13:14:28 2008 +0100 tracing/ftrace: remove unused code in sched_switch tracer Impact: cleanup When init_sched_switch_trace() is called, it has no reason to start the sched tracer if the sched_ref is not zero. _ If this is non-zero, the tracer is already used, but we can register it to the tracing engine. There is already a security which avoid the tracer probes not to be resgistered twice. _ If this is zero, this block will not be used. Signed-off-by: Frederic Weisbecker Signed-off-by: Ingo Molnar commit 07695fa04e8a3384b0c855398ce1f7885bd7dc3b Author: Frederic Weisbecker Date: Fri Oct 31 13:08:28 2008 +0100 tracing/ftrace: fix a race condition in sched_switch tracer Impact: fix race condition in sched_switch tracer This patch fixes a race condition in the sched_switch tracer. If several tasks (IE: concurrent initcalls) are playing with tracing_start_cmdline_record() and tracing_stop_cmdline_record(), the following situation could happen: _ Task A and B are using the same tracepoint probe. Task A holds it. Task B is sleeping and doesn't hold it. _ Task A frees the sched tracer, then sched_ref is decremented to 0. _ Task A is preempted and hadn't yet unregistered its tracepoint probe, then B runs. _ B increments sched_ref, sees it's 1 and then guess it has to register its probe. But it has not been freed by task A. _ A lot of bad things can happen after that... Signed-off-by: Frederic Weisbecker Signed-off-by: Ingo Molnar commit 71566a0d161edec70361b7f90f6e54af6a6d5d05 Author: Frederic Weisbecker Date: Fri Oct 31 12:57:20 2008 +0100 tracing/fastboot: Enable boot tracing only during initcalls Impact: modify boot tracer We used to disable the initcall tracing at a specified time (IE: end of builtin initcalls). But we don't need it anymore. It will be stopped when initcalls are finished. However we want two things: _Start this tracing only after pre-smp initcalls are finished. _Since we are planning to trace sched_switches at the same time, we want to enable them only during the initcall execution. For this purpose, this patch introduce two functions to enable/disable the sched_switch tracing during boot. Signed-off-by: Frederic Weisbecker Signed-off-by: Ingo Molnar commit fec1a5932f16c0eb1b3f5ca2e18d81d860924088 Author: Stefano Panella Date: Tue Nov 4 15:39:08 2008 +0000 uwb: per-radio controller event thread and beacon cache Use an event thread per-radio controller so processing events from one radio controller doesn't delay another. A radio controller shouldn't have information on devices seen by a different radio controller (they may be on different channels) so make the beacon cache per-radio controller. Signed-off-by: Stefano Panella Signed-off-by: David Vrabel commit 6d5a681dfb583b2f1eefe7cd5505419ca2d4d6c8 Author: Stefano Panella Date: Tue Nov 4 14:24:57 2008 +0000 uwb: add commands to add/remove IEs to the debug interface Add the commands UWB_DBG_CMD_IE_ADD and UWB_DBG_CMD_IE_RM to the debug interface and make them call uwb_rc_ie_add() and uwb_rc_ie_rm(). Signed-off-by: Stefano Panella Signed-off-by: David Vrabel commit c5995bd2819dc577d0b32b26be0836d16c977e24 Author: Stefano Panella Date: Tue Nov 4 14:06:31 2008 +0000 uwb: infrastructure for handling Relinquish Request IEs The structures and event handler needed to handle Relinish Request IEs received from neighbors. Nothing is done with these IEs yet. Signed-off-by: Stefano Panella Signed-off-by: David Vrabel commit 6e3354c1e9946fa585de40e93ad917ec7abd006e Author: Simon Arlott Date: Tue Nov 4 14:35:39 2008 +0100 netfilter: nf_nat: remove warn_if_extra_mangle In net/ipv4/netfilter/nf_nat_rule.c, the function warn_if_extra_mangle was added in commit 5b1158e909ecbe1a052203e0d8df15633f829930 (2006-12-02). I have a DNAT target in the OUTPUT chain than changes connections with dst 2.0.0.1 to another address which I'll substitute with 66.102.9.99 below. On every boot I get the following message: [ 146.252505] NAT: no longer support implicit source local NAT [ 146.252517] NAT: packet src 66.102.9.99 -> dst 2.0.0.1 As far as I can tell from reading the function doing this, it should warn if the source IP for the route to 66.102.9.99 is different from 2.0.0.1 but that is not the case. It doesn't make sense to check the DNAT target against the local route source. Either the function should be changed to correctly check the route, or it should be removed entirely as it's been nearly 2 years since it was added. Signed-off-by: Simon Arlott Signed-off-by: Patrick McHardy commit 249b62035ca247b9cedbefa1acf6bdc53b96e678 Author: Alexey Dobriyan Date: Tue Nov 4 14:31:29 2008 +0100 netfilter: netns ebtables: br_nf_pre_routing_finish() fixup Signed-off-by: Alexey Dobriyan Signed-off-by: Patrick McHardy commit b71b30a626fd0e43c825a05036e7a2c3f377a563 Author: Alexey Dobriyan Date: Tue Nov 4 14:30:46 2008 +0100 netfilter: netns ebtables: ebtable_nat in netns Signed-off-by: Alexey Dobriyan Signed-off-by: Patrick McHardy commit 4aad10938d4e4e8364b664cd5420c3bfeb9b679b Author: Alexey Dobriyan Date: Tue Nov 4 14:29:58 2008 +0100 netfilter: netns ebtables: ebtable_filter in netns Signed-off-by: Alexey Dobriyan Signed-off-by: Patrick McHardy commit 8157e6d16af86e4a8d31a035db7be02a8a171c26 Author: Alexey Dobriyan Date: Tue Nov 4 14:29:03 2008 +0100 netfilter: netns ebtables: ebtable_broute in netns Signed-off-by: Alexey Dobriyan Signed-off-by: Patrick McHardy commit dbcdf85a2e3d2aa584dafd10b5a1f42764e673e7 Author: Alexey Dobriyan Date: Tue Nov 4 14:28:04 2008 +0100 netfilter: netns ebtables: more cleanup during ebt_unregister_table() Now that ebt_unregister_table() can be called during netns stop, and module pinning scheme can't prevent netns stop, do table cleanup by hand. Signed-off-by: Alexey Dobriyan Signed-off-by: Patrick McHardy commit 6beceee5aa2cb94c4ae9f0784c7d3135d343f5b5 Author: Alexey Dobriyan Date: Tue Nov 4 14:27:15 2008 +0100 netfilter: netns ebtables: part 2 * return ebt_table from ebt_register_table(), module code will save it into per-netns data for unregistration * duplicate ebt_table at the very beginning of registration -- it's added into list, so one ebt_table wouldn't end up in many lists (and each netns has different one) * introduce underscored tables in individial modules, this is temporary to not break bisection. Signed-off-by: Alexey Dobriyan Signed-off-by: Patrick McHardy commit 511061e2dd1b84bb21bb97c9216a19606c29ac02 Author: Alexey Dobriyan Date: Tue Nov 4 14:22:55 2008 +0100 netfilter: netns ebtables: part 1 * propagate netns from userspace, register table in passed netns * remporarily register every ebt_table in init_net P. S.: one needs to add ".netns_ok = 1" to igmp_protocol to test with ebtables(8) in netns. Signed-off-by: Alexey Dobriyan Signed-off-by: Patrick McHardy commit 19223f26d97077da8cf25251458afe00cae20cbb Author: Alexey Dobriyan Date: Tue Nov 4 14:22:13 2008 +0100 netfilter: arptable_filter: merge forward hook It's identical to NF_ARP_IN hook. Signed-off-by: Alexey Dobriyan Signed-off-by: Patrick McHardy commit d4ec52bae739409b2372fea30dba0e7a8d6b9181 Author: Alexey Dobriyan Date: Tue Nov 4 14:21:48 2008 +0100 netfilter: netns-aware ipt_addrtype Signed-off-by: Alexey Dobriyan Signed-off-by: Patrick McHardy commit 5f7340eff8f68f41b7e5c7ad47ec4cd1ea1afb40 Author: Eric Leblond Date: Tue Nov 4 14:21:08 2008 +0100 netfilter: xt_NFLOG: don't call nf_log_packet in NFLOG module. This patch modifies xt_NFLOG to suppress the call to nf_log_packet() function. The call of this wrapper in xt_NFLOG was causing NFLOG to use the first initialized module. Thus, if ipt_ULOG is loaded before nfnetlink_log all NFLOG rules are treated as plain LOG rules. Signed-off-by: Eric Leblond Signed-off-by: Patrick McHardy commit 3299b4dd1180762da831be5eb6adc44553eaec26 Author: Peter Zijlstra Date: Tue Nov 4 11:58:21 2008 +0100 ftrace: sysctl typo Impact: fix sysctl name typo Steve must have needed more coffee ;-) Signed-off-by: Peter Zijlstra Signed-off-by: Ingo Molnar commit 69f698adcf43930a283f630395a1bb781962cfe6 Author: Peter Zijlstra Date: Sat Nov 1 19:53:34 2008 +0100 ftrace: sysrq-z to dump the buffers Impact: add SysRq-z support to dump trace buffers Allows one to force an ftrace dump from sysrq Signed-off-by: Peter Zijlstra Acked-by: Steven Rostedt Signed-off-by: Ingo Molnar commit 6cf87efbc7a3676e0ad7c9622ec6aec244a593bc Author: Ingo Molnar Date: Tue Nov 4 10:42:23 2008 +0100 x86 debug: mark early_printk.o as notrace Impact: do not do function-tracing in the early-printk code this is useful when earlyprintk=vga,keep is used to debug tracer plugins. Signed-off-by: Ingo Molnar commit faa2f98f856e89d1afb6e4a91707284d242e816e Author: Li Zefan Date: Tue Nov 4 16:20:23 2008 +0800 sched: add sanity check in partition_sched_domains() Impact: cleanup, add debug check It's wrong to make dattr_new = NULL if doms_new == NULL, it introduces memory leak if dattr_new != NULL. Fortunately dattr_new is always NULL in this case. So remove the code and add a sanity check. Signed-off-by: Li Zefan Acked-by: Peter Zijlstra Signed-off-by: Ingo Molnar commit a17e2260926f681a0eb983c1e3cb859ba2064bce Author: Li Zefan Date: Tue Nov 4 16:19:13 2008 +0800 sched: remove redundant call to unregister_sched_domain_sysctl() Impact: cleanup The sysctl has been unregistered by partition_sched_domains(). Signed-off-by: Li Zefan Acked-by: Peter Zijlstra Signed-off-by: Ingo Molnar commit 0a0db8f5c9d4bbb9bbfcc2b6cb6bce2d0ef4d73d Author: Li Zefan Date: Tue Nov 4 16:17:05 2008 +0800 sched debug: remove NULL checking in print_cfs/rt_rq() Impact: cleanup cfs->tg is initialized in init_tg_cfs_entry() with tg != NULL, and will never be invalidated to NULL. And the underlying cgroup of a valid task_group is always valid. Same for rt->tg. Signed-off-by: Li Zefan Acked-by: Peter Zijlstra Signed-off-by: Ingo Molnar commit eefd796a8e831408ce17e633d73d70430748c47a Author: Li Zefan Date: Tue Nov 4 16:15:37 2008 +0800 sched debug: remove sd_level_to_string() Impact: cleanup Just use the newly introduced sd->name. Signed-off-by: Li Zefan Acked-by: Peter Zijlstra Signed-off-by: Ingo Molnar commit b2a866f9344cb30d7ddf5d67b5b8393daf8bef07 Author: Steven Rostedt Date: Mon Nov 3 23:15:57 2008 -0500 ftrace: function tracer with irqs disabled Impact: disable interrupts during trace entry creation (as opposed to preempt) To help with performance, I set the ftracer to not disable interrupts, and only to disable preemption. If an interrupt occurred, it would not be traced, because the function tracer protects itself from recursion. This may be faster, but the trace output might miss some traces. This patch makes the fuction trace disable interrupts, but it also adds a runtime feature to disable preemption instead. It does this by having two different tracer functions. When the function tracer is enabled, it will check to see which version is requested (irqs disabled or preemption disabled). Then it will use the corresponding function as the tracer. Irq disabling is the default behaviour, but if the user wants better performance, with the chance of missing traces, then they can choose the preempt disabled version. Running hackbench 3 times with the irqs disabled and 3 times with the preempt disabled function tracer yielded: tracing type times entries recorded ------------ -------- ---------------- irq disabled 43.393 166433066 43.282 166172618 43.298 166256704 preempt disabled 38.969 159871710 38.943 159972935 39.325 161056510 Average: irqs disabled: 43.324 166287462 preempt disabled: 39.079 160300385 preempt is 10.8 percent faster than irqs disabled. I wrote a patch to count function trace recursion and reran hackbench. With irq disabled: 1,150 times the function tracer did not trace due to recursion. with preempt disabled: 5,117,718 times. The thousand times with irq disabled could be due to NMIs, or simply a case where it called a function that was not protected by notrace. But we also see that a large amount of the trace is lost with the preempt version. Signed-off-by: Steven Rostedt Cc: Peter Zijlstra Cc: Andrew Morton Cc: Steven Rostedt Signed-off-by: Ingo Molnar commit 182e9f5f704ed6b9175142fe8da33c9ce0c52b52 Author: Steven Rostedt Date: Mon Nov 3 23:15:56 2008 -0500 ftrace: insert in the ftrace_preempt_disable()/enable() functions Impact: use new, consolidated APIs in ftrace plugins This patch replaces the schedule safe preempt disable code with the ftrace_preempt_disable() and ftrace_preempt_enable() safe functions. Signed-off-by: Steven Rostedt Signed-off-by: Ingo Molnar commit 8f0a056fcb2f83a069fb5d60c2383304b7456687 Author: Steven Rostedt Date: Mon Nov 3 23:15:55 2008 -0500 ftrace: introduce ftrace_preempt_disable()/enable() Impact: add new ftrace-plugin internal APIs Parts of the tracer needs to be careful about schedule recursion. If the NEED_RESCHED flag is set, a preempt_enable will call schedule. Inside the schedule function, the NEED_RESCHED flag is cleared. The problem arises when a trace happens in the schedule function but before NEED_RESCHED is cleared. The race is as follows: schedule() >> tracer called trace_function() preempt_disable() [ record trace ] preempt_enable() <<- here's the issue. [check NEED_RESCHED] schedule() [ Repeat the above, over and over again ] The naive approach is simply to use preempt_enable_no_schedule instead. The problem with that approach is that, although we solve the schedule recursion issue, we now might lose a preemption check when not in the schedule function. trace_function() preempt_disable() [ record trace ] [Interrupt comes in and sets NEED_RESCHED] preempt_enable_no_resched() [continue without scheduling] The way ftrace handles this problem is with the following approach: int resched; resched = need_resched(); preempt_disable_notrace(); [record trace] if (resched) preempt_enable_no_sched_notrace(); else preempt_enable_notrace(); This may seem like the opposite of what we want. If resched is set then we call the "no_sched" version?? The reason we do this is because if NEED_RESCHED is set before we disable preemption, there's two reasons for that: 1) we are in an atomic code path 2) we are already on our way to the schedule function, and maybe even in the schedule function, but have yet to clear the flag. Both the above cases we do not want to schedule. This solution has already been implemented within the ftrace infrastructure. But the problem is that it has been implemented several times. This patch encapsulates this code to two nice functions. resched = ftrace_preempt_disable(); [ record trace] ftrace_preempt_enable(resched); This way the tracers do not need to worry about getting it right. Signed-off-by: Steven Rostedt Signed-off-by: Ingo Molnar commit 124ffe1456d6efea5b32cc6d36e3fa434cdc84d9 Author: Hiroshi Shimamoto Date: Mon Nov 3 19:23:01 2008 -0800 x86: signal_64: remove unused code in __setup_rt_frame() Impact: cleanup sizeof(*set) is always 8 on x86_64. Signed-off-by: Hiroshi Shimamoto Signed-off-by: Ingo Molnar commit b91f080f517cf9dd52023c11127a0ca33190e31a Author: Takashi Iwai Date: Tue Nov 4 08:43:08 2008 +0100 ALSA: hda - Fix possible NULL dereference Add NULL-check of the return value of snd_kctl_new1() before accessing it. Also, make a sanity NULL check to snd_BUG_ON() for debugging only. Signed-off-by: Takashi Iwai commit dce908e26fa0ea7d504d3f294c7411ed1eba5077 Author: Troy Kisky Date: Mon Nov 3 12:22:07 2008 -0700 ALSA: SOC: Fix setting codec register with debugfs filesystem merge error Call device_create_file only once in snd_soc_dapm_sys_add function. Signed-off-by: Troy Kisky Acked-by: Mark Brown Signed-off-by: Takashi Iwai commit d2ad3ca88da02baeccd5216780f1fe983c6953ba Author: David S. Miller Date: Mon Nov 3 22:01:07 2008 -0800 net/: Kill now superfluous ->last_rx stores. The generic packet receive code takes care of setting netdev->last_rx when necessary, for the sake of the bonding ARP monitor. Signed-off-by: David S. Miller commit 265eb67fb4e16be8e46a51e1e4e2ecd99fb15219 Author: Stephen Hemminger Date: Mon Nov 3 21:13:26 2008 -0800 netem: eliminate unneeded return values All these individual parsing functions never return an error, so they can be void. Signed-off-by: Stephen Hemminger Signed-off-by: David S. Miller commit babcda74e9d96bb58fd9c6c5112dbdbff169e695 Author: David S. Miller Date: Mon Nov 3 21:11:17 2008 -0800 drivers/net: Kill now superfluous ->last_rx stores. The generic packet receive code takes care of setting netdev->last_rx when necessary, for the sake of the bonding ARP monitor. Drivers need not do it any more. Some cases had to be skipped over because the drivers were making use of the ->last_rx value themselves. Signed-off-by: David S. Miller commit ab2910921064b657610a3b501358a305e13087ea Author: Jianjun Kong Date: Mon Nov 3 18:23:09 2008 -0800 net: remove two duplicated #include Removed duplicated #include in net/9p/trans_rdma.c and #include in net/socket.c Signed-off-by: Jianjun Kong Signed-off-by: David S. Miller commit 6d9f239a1edb31d6133230f478fd1dc2da338ec5 Author: Alexey Dobriyan Date: Mon Nov 3 18:21:05 2008 -0800 net: '&' redux I want to compile out proc_* and sysctl_* handlers totally and stub them to NULL depending on config options, however usage of & will prevent this, since taking adress of NULL pointer will break compilation. So, drop & in front of every ->proc_handler and every ->strategy handler, it was never needed in fact. Signed-off-by: Alexey Dobriyan Signed-off-by: David S. Miller commit 6cf3f41e6c08bca6641a695449791c38a25f35ff Author: Jay Vosburgh Date: Mon Nov 3 18:16:50 2008 -0800 bonding, net: Move last_rx update into bonding recv logic The only user of the net_device->last_rx field is bonding. This patch adds a conditional update of last_rx to the bonding special logic in skb_bond_should_drop, causing last_rx to only be updated when the ARP monitor is running. This frees network device drivers from the necessity of updating last_rx, which can have cache line thrash issues. Signed-off-by: Jay Vosburgh Signed-off-by: David S. Miller commit 24f8b2385e03a4f4c8dac513d03b5eaa475822b9 Author: Stephen Hemminger Date: Mon Nov 3 17:14:38 2008 -0800 net: increase receive packet quantum This patch gets about 1.25% back on tbench regression. My change to NAPI for multiqueue support changed the time limit on network receive processing. Under sustained loads like tbench, this can cause the receiver to reschedule prematurely. Signed-off-by: Stephen Hemminger Signed-off-by: David S. Miller commit b9ac99855dcc0316ba2feee2b0d3e578f8315b75 Author: Harvey Harrison Date: Mon Nov 3 17:09:55 2008 -0800 printk: ipv4 address digits printed in reverse order put_dec_trunc prints the digits in reverse order and is reversed inside number(). Continue using put_dec_trunc, but reverse each quad in ip4_addr_string. [Noticed by Julius Volz] Signed-off-by: Harvey Harrison Signed-off-by: David S. Miller commit 48148938b494cd57029a43c758e9972307a31d2a Author: Julius Volz Date: Mon Nov 3 17:08:56 2008 -0800 IPVS: Remove supports_ipv6 scheduler flag Remove the 'supports_ipv6' scheduler flag since all schedulers now support IPv6. Signed-off-by: Julius Volz Signed-off-by: David S. Miller commit 445483758e35e0aaff5256d1b104a346ba77aafe Author: Julius Volz Date: Mon Nov 3 17:08:28 2008 -0800 IPVS: Add IPv6 support to LBLC/LBLCR schedulers Add IPv6 support to LBLC and LBLCR schedulers. These were the last schedulers without IPv6 support, but we might want to keep the supports_ipv6 flag in the case of future schedulers without IPv6 support. Signed-off-by: Julius Volz Acked-by: Simon Horman Signed-off-by: David S. Miller commit fa228b3fcb724ce2281a61737e09a8afa4fed542 Author: Matt Carlson Date: Mon Nov 3 16:58:53 2008 -0800 tg3: Update version to 3.95 This patch updates the version to 3.95. Signed-off-by: Matt Carlson Signed-off-by: Michael Chan Signed-off-by: David S. Miller commit 772638b6c87da7043c50914dbb033c08155508dd Author: Matt Carlson Date: Mon Nov 3 16:56:51 2008 -0800 broadcom: Add support for BCM50610 This patch adds the BCM50610 to the list of phys supported by the broadcom driver. Signed-off-by: Matt Carlson Signed-off-by: Michael Chan Signed-off-by: David S. Miller commit 042a75b99fbda6bf7c7bf4496e205e3e7acc953a Author: Matt Carlson Date: Mon Nov 3 16:56:29 2008 -0800 broadcom: Refine expansion register access routine This patch makes the expansion register access routines a little more formal. They will be used by the following bcm50610 support patch. Signed-off-by: Matt Carlson Signed-off-by: Michael Chan Signed-off-by: David S. Miller commit 5e0c676c717316f315dcf76da52dc0002c43632a Author: Matt Carlson Date: Mon Nov 3 16:56:07 2008 -0800 broadcom: Add flow control support This patch adds flow control support to Broadcom phys. Signed-off-by: Matt Carlson Signed-off-by: Michael Chan Signed-off-by: David S. Miller commit fcb389dfd842be54545cb436b3437f07da10115c Author: Matt Carlson Date: Mon Nov 3 16:55:44 2008 -0800 tg3: 5785 enhancements This patch refines support for the 5785 device. Signed-off-by: Matt Carlson Signed-off-by: Michael Chan Signed-off-by: David S. Miller commit 9c61d6bc56bf0a5fb1ebfcf4c168cc5ce30e153b Author: Matt Carlson Date: Mon Nov 3 16:54:56 2008 -0800 tg3: Refine phylib support This patch refines the phylib support in the tg3 driver. The patch does the following things : * Rename tg3_mdio_config() to tg3_mdio_config_5785(). The 5785 will be the only device that will use it so the name might as well reflect that. * Fix a memory leak if mdiobus_register() fails. * Add code to deal with phy device detection failures. * Add code to correct the supported list of phy features based on the MAC <=> PHY interface. Signed-off-by: Matt Carlson Signed-off-by: Michael Chan Signed-off-by: David S. Miller commit 0a459aac9d151c2e36ec65723b9b845b24c5cbc3 Author: Matt Carlson Date: Mon Nov 3 16:54:15 2008 -0800 tg3: Allow WOL for phylib controlled Broadcom phys This patch allows WOL to be enabled for Broadcom phys under phylib control. The only exception is the AC131, which has a completely different register set. Signed-off-by: Matt Carlson Signed-off-by: Michael Chan Signed-off-by: David S. Miller commit 05ac4cb7dff4515447dce6e9a56c4de6b7e426d5 Author: Matt Carlson Date: Mon Nov 3 16:53:46 2008 -0800 tg3: Refine power management and WOL code Commit 12dac0756d357325b107fe6ec24921ec38661839 ("tg3: adapt tg3 to use reworked PCI PM code") introduced the new PCI PM API to the tg3 driver. The patch was understandably conservative, so this patch elaborates on that work. The patch starts by creating a single point in tg3_set_power_state() to decide whether or not to enable WOL. The rest of the code in tg3_set_power_state() was then pivoted to use the result of this decision. The patch then makes sure the device is allowed to wakeup before reporting whether or not WOL is currently enabled. The final hunks of the patch consolidate where the WOL capability and WOL enabled flags are set to a single location. Signed-off-by: Matt Carlson Signed-off-by: Michael Chan Signed-off-by: David S. Miller commit df59c9403557397aafbe291533d113b752da7661 Author: Matt Carlson Date: Mon Nov 3 16:52:56 2008 -0800 tg3: Move phylib report to end of tg3_init_one Currently, phylib reports appear with a eth%d prefix. Move the line after register_netdev() and place it alongside the other informative messages. Update nearby informative messages accordingly. Signed-off-by: Matt Carlson Signed-off-by: Michael Chan Signed-off-by: David S. Miller commit b2b98d4acc58a6f36b731e666c6ebd901cd6a27e Author: Matt Carlson Date: Mon Nov 3 16:52:32 2008 -0800 tg3: Do not enable APE on bcm5700 With older versions of the NVRAM format, the driver may mistakenly determine that APE is enabled. Make sure this doesn't happen by restricting the ENABLE_APE check to devices known to have more recent NVRAM image formats. Signed-off-by: Matt Carlson Signed-off-by: Michael Chan Signed-off-by: David S. Miller commit bcb37f6cb57e565e7bd342272652c3a50cf88761 Author: Matt Carlson Date: Mon Nov 3 16:52:09 2008 -0800 tg3: Reclaim TG3_FLG3_5761_5784_AX_FIXES flag This patch reclaims the TG3_FLG3_5761_5784_AX_FIXES flag. It only used twice in non-fast paths. This patch also consolidates some other places where specific 5784 AX chip revisions can be generalized. Signed-off-by: Matt Carlson Signed-off-by: Michael Chan Signed-off-by: David S. Miller commit 3f007891da0ad3d9192e9aa13ce4e3aaf20c33fa Author: Matt Carlson Date: Mon Nov 3 16:51:36 2008 -0800 tg3: Preserve LAA when device control is released This patch moves the __tg3_set_mac_addr() function earlier in the file listing, to avoid a function prototype, and calls the function to restore the LAA after a driver unload chip reset. With this code in place, the administrator can wake the machine using the LAA. Signed-off-by: Matt Carlson Signed-off-by: Michael Chan Signed-off-by: David S. Miller commit b2aee1545dc3c05c8d5cf116de1e92907e98009b Author: Matt Carlson Date: Mon Nov 3 16:51:11 2008 -0800 tg3: Preserve DASH connectivity when WOL enabled DASH firmware runs on the APE side of the chip, but it requires a few MAC to be programmed correctly. When WOL is enabled and management firmware is disabled, incoming packets are evaluated and discarded at the chip's rule processor. When management firmware is enabled, the hardware must be informed that there are agents further up the stack that still use the incoming frames. Normally management firmware will configure the MAC correctly on its own, but there can be cases where the setting could get clobbered by the driver. The first hunk of this patch preserves this setting. The second hunk of this patch wipes out the driver present signature of the APE memory space. By doing so, the DASH firmware can assume driver absent behavior. Signed-off-by: Matt Carlson Signed-off-by: Michael Chan Signed-off-by: David S. Miller commit 63532394af307795ea637a283bd1fd057f5dfcea Author: Matt Carlson Date: Mon Nov 3 16:49:57 2008 -0800 tg3: Use pci_ioremap_bar() This patch replaces the existing APE register mapping code with a call to pci_ioremap_bar(). The code that maps the main device register space did not undergo a similar change because the information derived from the pci_resource_start() and pci_resource_len() is still used to populate the (optional) mem_start and mem_end netdevice members. Replace hardcoded constants where appropriate. Signed-off-by: Matt Carlson Signed-off-by: Michael Chan Signed-off-by: David S. Miller commit c88e668b52c8cd8bc55b6734c7dfbb0cb005d445 Author: Matt Carlson Date: Mon Nov 3 16:49:18 2008 -0800 tg3: Add 5761S support This patch adds support for the 5761S chip variants. Signed-off-by: Matt Carlson Signed-off-by: Michael Chan Signed-off-by: David S. Miller commit 6bdbfe99916398dbb28d83833cc04757110f2738 Author: Alok Kataria Date: Mon Nov 3 11:31:28 2008 -0800 x86: VMware: Fix vmware_get_tsc code Impact: Fix possible failure to calibrate the TSC on Vmware near 4 GHz The current version of the code to get the tsc frequency from the VMware hypervisor, will be broken on processor with frequency (4G-1) HZ, because on such processors eax will have UINT_MAX and that would be legitimate. We instead check that EBX did change to decide if we were able to read the frequency from the hypervisor. Signed-off-by: Alok N Kataria Signed-off-by: H. Peter Anvin commit 29cbda77a67cf263d636feea65d3bbc9c7de2e24 Author: Paul E. McKenney Date: Mon Nov 3 09:16:39 2008 -0800 rcu: increase RCU stall-check timeouts Impact: increase timeout of debug check feature Increase RCU stall period timeouts to reduce the likelyhood of false positives. Signed-off-by: Paul E. McKenney Signed-off-by: Ingo Molnar commit be19ef82e068e92a28df50341938fdeb5ea56436 Author: Ingo Molnar Date: Mon Nov 3 14:35:12 2008 +0100 rcu: make rcu-stall debug printout more standard Impact: change debug printout Change "RCU detected CPU stall" to "INFO: RCU detected CPU stall" message, to make it easier for tools to pick up the warning. Signed-off-by: Ingo Molnar commit 4ef0ef1966dae9e9e29762e4e719af3cfd146ca0 Author: Takashi Iwai Date: Mon Nov 3 17:47:49 2008 +0100 ALSA: hda - Fix missing ADC list in ALC260 auto-probe mode The commit f9e336f65b666b8f1764d17e9b7c21c90748a37e ALSA: hda - Unify capture mixer creation in realtek codes removed the ADC check for ALC260 auto-probe mode accidentally. Re-added to patch_alc260() again. Signed-off-by: Takashi Iwai commit 26f5df265f06b8c8fe9f5d0942b7d8df00e5edec Author: Takashi Iwai Date: Mon Nov 3 17:39:46 2008 +0100 ALSA: hda - Add ALC299 fujitsu preset model Added a preset model for FSC Amilo with ALC269 codec chip. Signed-off-by: Takashi Iwai commit e856359685143a2f65876e7db4e4aa0ef5dce7f0 Merge: e3bd9ec 45beca0 Author: Ben Dooks Date: Mon Nov 3 14:49:01 2008 +0000 Merge branch 'master' of git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux-2.6 into s3c-moves2 commit 67305ebc992abf2121fb2149fd8a707cd7cfcbd2 Author: Jarek Poplawski Date: Mon Nov 3 02:52:50 2008 -0800 pkt_sched: sch_generic: Kfree gso_skb in qdisc_reset() Since gso_skb is re-used for qdisc_peek_dequeued(), and this skb is counted in the qdisc->q.qlen, it has to be kfreed during qdisc_reset() when qlen is zeroed. With help from David S. Miller Signed-off-by: Jarek Poplawski Signed-off-by: David S. Miller commit 5799de0b12c773874282444052da401989075df6 Author: Jianjun Kong Date: Mon Nov 3 02:49:10 2008 -0800 net: clean up net/ipv4/tcp_ipv4.c Signed-off-by: Jianjun Kong Signed-off-by: David S. Miller commit 539afedfccb39577c9264b29f11ec9556fd45022 Author: Jianjun Kong Date: Mon Nov 3 02:48:48 2008 -0800 net: clean up net/ipv4/devinet.c Signed-off-by: Jianjun Kong Signed-off-by: David S. Miller commit f4cca7ffb2700bff5752fbbc28f49d58ed2c5cb3 Author: Jianjun Kong Date: Mon Nov 3 02:48:14 2008 -0800 net: clean up net/ipv4/pararp.c Signed-off-by: Jianjun Kong Signed-off-by: David S. Miller commit fd3f8c4cb632c28ef915a535617a0fcddcfe3f80 Author: Jianjun Kong Date: Mon Nov 3 02:47:38 2008 -0800 net: clean up net/ipv4/ip_fragment.c tcp_timer.c ip_input.c Signed-off-by: Jianjun Kong Signed-off-by: David S. Miller commit e113a745f693af196c8081b328bf42def086989b Author: Dimitri Sivanich Date: Fri Oct 31 08:03:41 2008 -0500 sched/rt: small optimization to update_curr_rt() Impact: micro-optimization to SCHED_FIFO/RR scheduling A very minor improvement, but might it be better to check sched_rt_runtime(rt_rq) before taking the rt_runtime_lock? Peter Zijlstra observes: > Yes, I think its ok to do so. > > Like pointed out in the other thread, there are two races: > > - sched_rt_runtime() going to RUNTIME_INF, and that will be handled > properly by sched_rt_runtime_exceeded() > > - sched_rt_runtime() going to !RUNTIME_INF, and here we can miss an > accounting cycle, but I don't think that is something to worry too > much about. Signed-off-by: Dimitri Sivanich Acked-by: Peter Zijlstra Signed-off-by: Ingo Molnar -- kernel/sched_rt.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) commit 7e5e26a3d8ac4bcadb380073dc9604c07a9a6198 Author: Steven Rostedt Date: Fri Oct 31 09:36:38 2008 -0400 ftrace: fix hardirq header for non ftrace archs Impact: build fix for non-ftrace architectures Not all archs implement ftrace, and therefore do not have an asm/ftrace.h. This patch corrects the problem. The ftrace_nmi_enter/exit now must be defined for all archs that implement dynamic ftrace. Currently, only x86 does. Signed-off-by: Steven Rostedt Signed-off-by: Ingo Molnar commit 7a895f53cda9d9362c30144e42c124a1ae996b9e Merge: d9e5407 5d9881e fd3fdf1 a26a2a2 127cafb c2c8052 Author: Ingo Molnar Date: Mon Nov 3 10:34:23 2008 +0100 Merge branches 'tracing/ftrace', 'tracing/markers', 'tracing/mmiotrace', 'tracing/nmisafe', 'tracing/tracepoints' and 'tracing/urgent' into tracing/core commit 127cafbb276266b1b8da967bfe25a062ab1d42ab Author: Lai Jiangshan Date: Tue Oct 28 10:51:53 2008 +0800 tracepoint: introduce *_noupdate APIs. Impact: add new tracepoint APIs to allow the batched registration of probes new APIs separate tracepoint_probe_register(), tracepoint_probe_unregister() into 2 steps. The first step of them is just update tracepoint_entry, not connect or disconnect. this patch introduces tracepoint_probe_update_all() for update all. these APIs are very useful for registering lots of probes but just updating once. Another very important thing is that *_noupdate APIs do not require module_mutex. Signed-off-by: Lai Jiangshan Acked-by: Mathieu Desnoyers Signed-off-by: Ingo Molnar commit 19dba33c43a2f0f2aa727ae075ec3b11330775ef Author: Lai Jiangshan Date: Tue Oct 28 10:51:49 2008 +0800 tracepoint: simplification for tracepoints using RCU Impact: simplify implementation Now, unused memory is handled by struct tp_probes. old code use these three field to handle unused memory. struct tracepoint_entry { ... struct rcu_head rcu; void *oldptr; unsigned char rcu_pending:1; ... }; in this way, unused memory is handled by struct tracepoint_entry. it bring reenter bug(it was fixed) and tracepoint.c is filled full of ".*rcu.*" code statements. this patch removes all these. and: rcu_barrier_sched() is removed. Do not need regain tracepoints_mutex after tracepoint_update_probes() several little cleanup. Signed-off-by: Lai Jiangshan Acked-by: Mathieu Desnoyers Signed-off-by: Ingo Molnar commit 3555105333ae55414d0fe051557bd7dc590f5255 Author: Gary Hade Date: Fri Oct 31 10:52:03 2008 -0700 x86: add memory hotremove config option Impact: enable CONFIG_MEMORY_HOTREMOVE feature on x86. (default-off) Memory hotremove functionality can currently be configured into the ia64, powerpc, and s390 kernels. This patch makes it possible to configure the memory hotremove functionality into the x86 kernel as well. Signed-off-by: Badari Pulavarty Signed-off-by: Gary Hade Signed-off-by: Ingo Molnar commit c354e1246348e25c714e6b2973f3257183d06e2c Author: Jianjun Kong Date: Mon Nov 3 00:28:02 2008 -0800 net: clean up net/ipv4/ipmr.c Signed-off-by: Jianjun Kong Signed-off-by: David S. Miller commit 09cb105ea78d5644570d52085e2149f784575872 Author: Jianjun Kong Date: Mon Nov 3 00:27:11 2008 -0800 net: clean up net/ipv4/ip_sockglue.c tcp_output.c Signed-off-by: Jianjun Kong Signed-off-by: David S. Miller commit a7e9ff735bd5e3437a8e5ecbbc2db3865974a523 Author: Jianjun Kong Date: Mon Nov 3 00:26:09 2008 -0800 net: clean up net/ipv4/igmp.c Signed-off-by: Jianjun Kong Signed-off-by: David S. Miller commit 6ed2533e55889943c478d11b1f63aaed2fd767cc Author: Jianjun Kong Date: Mon Nov 3 00:25:16 2008 -0800 net: clean up net/ipv4/fib_frontend.c fib_hash.c ip_gre.c Signed-off-by: Jianjun Kong Signed-off-by: David S. Miller commit 5a5f3a8db9d70c90e9d55b46e02b2d8deb1c2c2e Author: Jianjun Kong Date: Mon Nov 3 00:24:34 2008 -0800 net: clean up net/ipv4/ipip.c raw.c tcp.c tcp_minisocks.c tcp_yeah.c xfrm4_policy.c Signed-off-by: Jianjun Kong Signed-off-by: David S. Miller commit d9319100c1ad7d0ed4045ded767684ad25670436 Author: Jianjun Kong Date: Mon Nov 3 00:23:42 2008 -0800 net: clean up net/ipv4/ah4.c esp4.c fib_semantics.c inet_connection_sock.c inetpeer.c ip_output.c Signed-off-by: Jianjun Kong Signed-off-by: David S. Miller commit 5b9a0e14eb4bf40a7cb780af4723560e06753f2d Author: Cyrill Gorcunov Date: Sat Nov 1 18:06:51 2008 +0300 x86: nmi - nmi_watchdog boot param docs cleanup Impact: documentation update 1) nmi_watchdog boot parameter is common to 32/64 bit modes. So move it from Documentation/x86/x86_64/boot-options.txt to Documentation/kernel-parameters.txt and integrate with. 2) Also fix [panic] keyword placement -- it ought to be at first position otherwise it will not be recognized. 3) Document lapic and ioapic keywords. Signed-off-by: Cyrill Gorcunov Signed-off-by: Ingo Molnar commit d9e540762f5cdd89f24e518ad1fd31142d0b9726 Author: Peter Zijlstra Date: Sat Nov 1 19:57:37 2008 +0100 ftrace: ftrace_dump_on_oops=[tracer] Impact: add new (optional) debug boot option In order to facilitate early boot trouble, allow one to specify a tracer on the kernel boot line. Signed-off-by: Peter Zijlstra Acked-by: Steven Rostedt Signed-off-by: Ingo Molnar commit 36609469c8278554b046aa4cc9a5fa9ccea35306 Merge: b3acf29 45beca0 Author: Ingo Molnar Date: Mon Nov 3 09:11:13 2008 +0100 Merge commit 'v2.6.28-rc3' into tracing/ftrace commit 8bb8c4386d08f2cc5d871d22f220d35032213f84 Author: Peter Zijlstra Date: Sat Nov 1 00:13:49 2008 +0100 sched, ftrace: trace sched.c Impact: allow function tracing within sched.c Its useful to see what happens in sched.c. Signed-off-by: Peter Zijlstra Acked-by: Steven Rostedt Signed-off-by: Ingo Molnar commit db5935001a43528e673ad26ffec9d98c60a496a9 Merge: 34f3a81 45beca0 Author: Ingo Molnar Date: Mon Nov 3 08:57:41 2008 +0100 Merge commit 'v2.6.28-rc3' into sched/core commit e0db4a786bbd73145b4feb45c75d49b6e60fe72c Author: David S. Miller Date: Sun Nov 2 23:57:06 2008 -0800 sunrpc: Fix build warning due to typo in %pI4 format changes. Noticed by Stephen Hemminger. Signed-off-by: David S. Miller commit 20971a0afb8bc0eeb6865ceadd435e4a2dba0fd7 Author: Julius Volz Date: Sat Nov 1 13:13:19 2008 +0000 IPVS: Add IPv6 support to SH and DH schedulers Add IPv6 support to SH and DH schedulers. I hope this simple IPv6 address hashing is good enough. The 128 bit are just XORed into 32 before hashing them like an IPv4 address. Signed-off-by: Julius Volz Acked-by: Simon Horman Signed-off-by: David S. Miller commit 2a6cf35543302e9a5c807eaf13298f510fbdf8f2 Merge: 8ba25da 3f8b4b1 Author: David S. Miller Date: Sun Nov 2 13:13:07 2008 -0800 Merge branch 'davem-next' of master.kernel.org:/pub/scm/linux/kernel/git/jgarzik/netdev-2.6 commit 3f8b4b13785c2737413d3241c21c7c86a41535ef Author: Andy Gospodarek Date: Wed Oct 22 11:19:48 2008 +0000 bonding: update docs to correctly reflect arp_ip_target behavior This documentation patch hopes to clarify that the '+' was only needed for Fedora 7 and Red Hat Enterprise Linux 5.0 and 5.1. After that the IP addreses could be added as a comma separated list just like the module option. Signed-off-by: Andy Gospodarek Signed-off-by: Jeff Garzik commit 237f3e1d80bb9d4c6eaf684552f422568ba04ffe Author: Mike Frysinger Date: Fri Oct 31 22:11:06 2008 +0000 smc91x: add __init markings to smc_drv_probe() The smc_drv_probe() is the platform_driver probe function and it is only called during init. Further, it calls smc_probe() which is marked as __init already. Signed-off-by: Mike Frysinger Signed-off-by: Jeff Garzik commit dccd547e2bf2c01a13c967ae03a705338394fad6 Author: Joe Korty Date: Wed Oct 29 14:22:16 2008 -0700 forcdeth: increase max_interrupt_work This eliminates the following often-generated warning from my 64 bit Opteron SMP test stand: eth0: too many iterations (6) in nv_nic_irq According to the web, the problem is that the forcedeth driver has a too-low value for max_interrupt_work. Grepping the kernel I see that forcedeth has the second lowest value of all ethernet drivers (ie, 6). Most are in the 20-40 range. So this patch increases this a bit, from 6 to 15 (at 15 forcedeth becomes the driver with third-lowest max_interrupt_work value). My test stand, which used to print out the above warnings repetitively whenever it was under heavy net load, no longer does so. Signed-off-by: Joe Korty Cc: Ayaz Abdulla Cc: Jeff Garzik Signed-off-by: Andrew Morton Signed-off-by: Jeff Garzik commit 0befdb3e0a26a8949063915274e1bec8873c526b Author: Jesse Brandeburg Date: Fri Oct 31 00:46:40 2008 -0700 ixgbe: add device support for 82598AT (copper 10GbE) adapters Intel is currently shipping support for adapters with a phy that does 10GBase-T (copper), which is 10 Gigabit ethernet over standard Category 6 cabling. Signed-off-by: Jesse Brandeburg Signed-off-by: Jeff Kirsher Signed-off-by: Jeff Garzik commit e053b628d367cd7b39ae2c4bb0124edc2e058a41 Author: Stephen Hemminger Date: Fri Oct 31 16:52:04 2008 -0700 atlx: timer cleanup Do some cleanup on timer usage in this driver: * Use round_jiffies to align wakeups and reduce power. * Remove atl1_watchdog which does nothing but rearm itself * Use setup_timer() function Signed-off-by: Stephen Hemminger Signed-off-by: Jeff Garzik commit 02e7173149c3ffcf963075ec2bdc5f7be8335a78 Author: Stephen Hemminger Date: Fri Oct 31 16:52:03 2008 -0700 atlx: use embedded net_device_stats There is now a net_device_stats structure inside net_device that should be used if possible by devices. Compile tested only. Signed-off-by: Stephen Hemminger Signed-off-by: Jeff Garzik commit 8ba25dad0ac78850cd46d91186a27d60f7314752 Author: Jarek Poplawski Date: Sun Nov 2 00:36:03 2008 -0700 sch_netem: Replace ->requeue() method with open code After removing netem classful functionality we are sure its inner qdisc is tfifo, so we can replace qdisc->ops->requeue() method with open code. After this patch there are no more ops->requeue() users. The idea of this patch is by Patrick McHardy. Signed-off-by: Jarek Poplawski Signed-off-by: David S. Miller commit 02201464119334690fe209849843881b8e9cfa9f Author: Jarek Poplawski Date: Sun Nov 2 00:35:24 2008 -0700 sch_netem: Remove classful functionality Patrick McHardy noticed that: "a lot of the functionality of netem requires the inner tfifo anyways and rate-limiting is usually done on top of netem. So I would suggest so either hard-wire the tfifo qdisc or at least make the assumption that inner qdiscs are work-conserving.", and later: "- a lot of other qdiscs still don't work as inner qdiscs of netem [...]". So, according to his suggestion, this patch removes classful options of netem. The main reason of this change is to remove ops->requeue() method, which is currently used only by netem. Signed-off-by: Jarek Poplawski Signed-off-by: David S. Miller commit ae27e98a51526595837ab7498b23d6478a198960 Author: Sangtae Ha Date: Wed Oct 29 00:07:18 2008 -0400 [TCP] CUBIC v2.3 Signed-off-by: Sangtae Ha Signed-off-by: David S. Miller commit e27dfcea48372a4105d9fdf2e8450926737f6215 Author: Jianjun Kong Date: Sat Nov 1 21:38:31 2008 -0700 af_unix: clean up net/unix/af_unix.c garbage.c sysctl_net_unix.c clean up net/unix/af_unix.c garbage.c sysctl_net_unix.c Signed-off-by: Jianjun Kong Signed-off-by: David S. Miller commit c37ccc0d4e2a4ee52f1a40cff1be0049f2104bba Author: Eric Dumazet Date: Sat Nov 1 21:19:18 2008 -0700 udp: add a missing smp_wmb() in udp_lib_get_port() Corey Minyard spotted a missing memory barrier in udp_lib_get_port() We need to make sure a reader cannot read the new 'sk->sk_next' value and previous value of 'sk->sk_hash'. Or else, an item could be deleted from a chain, and inserted into another chain. If new chain was empty before the move, 'next' pointer is NULL, and lockless reader can not detect it missed following items in original chain. This patch is temporary, since we expect an upcoming patch to introduce another way of handling the problem. Signed-off-by: Eric Dumazet Signed-off-by: David S. Miller commit 7e3a42a12c4b9d99bfe81cb929cadf0e08a37c49 Author: Nicolas Dichtel Date: Sat Nov 1 21:12:07 2008 -0700 xfrm6: handling fragment RFC4301 Section 7.1 says: "7.1. Tunnel Mode SAs that Carry Initial and Non-Initial Fragments All implementations MUST support tunnel mode SAs that are configured to pass traffic without regard to port field (or ICMP type/code or Mobility Header type) values. If the SA will carry traffic for specified protocols, the selector set for the SA MUST specify the port fields (or ICMP type/code or Mobility Header type) as ANY. An SA defined in this fashion will carry all traffic including initial and non-initial fragments for the indicated Local/Remote addresses and specified Next Layer protocol(s)." But for IPv6, fragment is treated as a protocol. This change catches protocol transported in fragmented packet. In IPv4, there is no problem. Signed-off-by: Nicolas Dichtel Signed-off-by: David S. Miller commit 395628ef4ea12ff0748099f145363b5e33c69acb Author: Alok Kataria Date: Fri Oct 24 17:22:01 2008 -0700 x86: Skip verification by the watchdog for TSC clocksource. Impact: Changes timekeeping on Vmware (or with tsc=reliable). This is achieved by resetting the CLOCKSOURCE_MUST_VERIFY flag. We add a tsc=reliable commandline option to enable this. This enables legacy hardware without HPET, LAPIC, or ACPI timers to enter high-resolution timer mode. Along with that have extended this to be used in virtualization environement too. Now we also set this flag if the X86_FEATURE_TSC_RELIABLE bit is set. This is important since there is a wrap-around problem with the acpi_pm timer. The acpi_pm counter is just 24bits and this can overflow in ~4 seconds. With the NO_HZ kernels in virtualized environment, there can be situations when the guest is descheduled for longer duration, as a result we may miss the wrap of the acpi counter. When TSC is used as a clocksource and acpi_pm timer is being used as the watchdog clocksource this error in acpi_pm results in TSC being marked as unstable, and essentially results in time dropping in chunks of 4 seconds whenever this wrap is missed. Since the virtualized TSC is reliable on VMware, we should always use the TSCs clocksource on VMware, so we skip the verfication at runtime, by checking for the feature bit. Since we reset the flag for mgeode systems too, i have combined the mgeode case with the feature bit check. Signed-off-by: Jeff Hansen Signed-off-by: Alok N Kataria Signed-off-by: Dan Hecht Signed-off-by: H. Peter Anvin commit eca0cd028bdf0f6aaceb0d023e9c7501079a7dda Author: Alok Kataria Date: Fri Oct 31 12:01:58 2008 -0700 x86: Add a synthetic TSC_RELIABLE feature bit. Impact: Changes timebase calibration on Vmware. Use the synthetic TSC_RELIABLE bit to workaround virtualization anomalies. Virtual TSCs can be kept nearly in sync, but because the virtual TSC offset is set by software, it's not perfect. So, the TSC synchronization test can fail. Even then the TSC can be used as a clocksource since the VMware platform exports a reliable TSC to the guest for timekeeping purposes. Use this bit to check if we need to skip the TSC sync checks. Along with this also set the CONSTANT_TSC bit when on VMware, since we still want to use TSC as clocksource on VM running over hardware which has unsynchronized TSC's (opteron's), since the hypervisor will take care of providing consistent TSC to the guest. Signed-off-by: Alok N Kataria Signed-off-by: Dan Hecht Signed-off-by: H. Peter Anvin commit 88b094fb8d4fe43b7025ea8d487059e8813e02cd Author: Alok Kataria Date: Mon Oct 27 10:41:46 2008 -0700 x86: Hypervisor detection and get tsc_freq from hypervisor Impact: Changes timebase calibration on Vmware. v3->v2 : Abstract the hypervisor detection and feature (tsc_freq) request behind a hypervisor.c file v2->v1 : Add a x86_hyper_vendor field to the cpuinfo_x86 structure. This avoids multiple calls to the hypervisor detection function. This patch adds function to detect if we are running under VMware. The current way to check if we are on VMware is following, # check if "hypervisor present bit" is set, if so read the 0x40000000 cpuid leaf and check for "VMwareVMware" signature. # if the above fails, check the DMI vendors name for "VMware" string if we find one we query the VMware hypervisor port to check if we are under VMware. The DMI + "VMware hypervisor port check" is needed for older VMware products, which don't implement the hypervisor signature cpuid leaf. Also note that since we are checking for the DMI signature the hypervisor port should never be accessed on native hardware. This patch also adds a hypervisor_get_tsc_freq function, instead of calibrating the frequency which can be error prone in virtualized environment, we ask the hypervisor for it. We get the frequency from the hypervisor by accessing the hypervisor port if we are running on VMware. Other hypervisors too can add code to the generic routine to get frequency on their platform. Signed-off-by: Alok N Kataria Signed-off-by: Dan Hecht Signed-off-by: H. Peter Anvin commit 49ab56ac6e1b907b7dadb72a4012460359feaf0e Author: Alok Kataria Date: Sat Nov 1 18:34:37 2008 -0700 x86: add X86_FEATURE_HYPERVISOR feature bit Impact: Number declaration only. Add X86_FEATURE_HYPERVISOR bit (CPUID level 1, ECX, bit 31). Signed-off-by: H. Peter Anvin commit 4074ea21493fe668501bfc7548d10657ca6f14c2 Author: Takashi Iwai Date: Sat Nov 1 11:01:50 2008 +0100 ALSA: ice1724 - Fix IRQ register initialization The IRQMASK register has to be set to zero expclitily at the initialization otherwise you'll get no interrupts properly at later operations. Also, removed the old commented out codes. Signed-off-by: Takashi Iwai commit e25cf4a6945e0f859186231be7164ba565412e0a Author: Johannes Berg Date: Thu Oct 23 08:51:20 2008 +0200 mac80211: fix two kernel-doc warnings One parameter wasn't described and one I forgot to update when renaming it; also update TBDs in sta_info. Signed-off-by: Johannes Berg Signed-off-by: John W. Linville commit 4c2442980043b9585be12b4f59e1bbe7e1f7a801 Author: Luis R. Rodriguez Date: Mon Oct 27 10:17:29 2008 -0700 ath9k: use ETH_P_PAE It was being discussed where we would put this, but now it found a home so use its define. Signed-off-by: Luis R. Rodriguez Signed-off-by: John W. Linville commit 9371dd685d212599f0f07e6bf1510c751f70bb37 Author: Bob Copeland Date: Sun Oct 26 11:24:48 2008 -0400 ath9k: remove useless conditional ath9k_hw_keyreset returns true in either branch. Signed-off-by: Bob Copeland Signed-off-by: John W. Linville commit 4fb30784c720b863203957f76e3fde0d53932746 Author: Andrey Borzenkov Date: Sun Oct 19 12:06:11 2008 +0400 orinoco: cache downloadable firmware image in memory for use during resume If card is using downloadable firmware (like Agere 9.x), firmware has to be reloaded during resume. It is not possible to use request_firmware for that, because tasks are still frozen, so request_firmware will just timeout and fail. So cache firmware image in memory for later reuse in ->resume method. Signed-off-by: Andrey Borzenkov Signed-off-by: John W. Linville commit 0df6cbb7d8a0a8fea69138e9e463671a8ad99f16 Author: Andrey Borzenkov Date: Sun Oct 12 20:15:43 2008 +0400 orinoco: reload firmware on resume On resume card state is likely lost so we have to reload firmware again. Signed-off-by: Andrey Borzenkov Acked-by: David Kilroy Signed-off-by: John W. Linville commit 4c674c60bd567597f1224973712b352f4f474890 Author: Nick Kossifidis Date: Sun Oct 26 20:40:25 2008 +0200 ath5k: Update interrupt masking code *Properly get/set all available ISR/IMR values and review common/uncommon bits *Better handling of per-txq interrupts (we can now resolve what q is generating each interrupt -this will help in debuging wme later) *Some minor updates from legacy-hal *Properly handle RXNOFRM and TXNOFRM interrupt masking (even when we don't set them on IMR they keep showing up, so we disable them by zeroing AR5K_RXNOFRM and AR5K_TXNOFRM registers). This doesn't exist on legacy-hal but i've tested it on various cards and it works fine. Changes-Licensed-under: ISC Signed-Off-by: Nick Kossifidis Signed-off-by: John W. Linville commit 84fa4f43c418d2eaad06734ea780a74c869f79c3 Author: Johannes Berg Date: Fri Oct 24 20:32:23 2008 +0200 wireless regulatory: move ignore_request This function is only used once, move it closer to its caller. Signed-off-by: Johannes Berg Signed-off-by: John W. Linville commit 2083c4997b95fffe8d4f71741bef2298810805a3 Author: Johannes Berg Date: Fri Oct 24 20:32:22 2008 +0200 wireless: clean up regulatory ignore_request function This function has a few WARNs that may eventually trigger when an AP sends rogue beacons, those must be removed. Some of the comments in the function are also inappropriate as this function is concerned with the global hint, not a per- wiphy thing (which a multidomain flag on a wiphy would imply). I'm convinced that we don't need to do anything to implement multi-domain capability as 802.11-2007 specifies it because it makes only two things mandatory: * starting of BSS/IBSS must have country information (this can easily be done with a mac80211 patch) * a STA must adopt the country information (we already have the framework for this) But we don't have anything implemented anyway for now. Signed-off-by: Johannes Berg Signed-off-by: John W. Linville commit be3d48106c1e5d075784e5e67928a6b5ffc0f3b6 Author: Johannes Berg Date: Fri Oct 24 20:32:21 2008 +0200 wireless: remove struct regdom hinting The code needs to be split out and cleaned up, so as a first step remove the capability, to add it back in a subsequent patch as a separate function. Also remove the publically facing return value of the function and the wiphy argument. A number of internal functions go from being generic helpers to just being used for alpha2 setting. Signed-off-by: Johannes Berg Signed-off-by: John W. Linville commit d2372b315289aec9f565a855023c40654a5bff68 Author: Johannes Berg Date: Fri Oct 24 20:32:20 2008 +0200 wireless: make regdom passing semantics simpler The regdom struct is given to the core, so it might as well free it in error conditions. Signed-off-by: Johannes Berg Signed-off-by: John W. Linville commit 7dddaf1a36a372c14ca96a0b5fdfbe2015c43841 Author: Daniel Halperin Date: Thu Oct 23 23:48:58 2008 -0700 iwlwifi: Update reclaim flag The reclaim flag should include REPLY_RX_MPDU_CMD in the list of commands issued by uCode. This is for safety in case the SEQ_RX_FRAME bit is set incorrectly. Signed-off-by: Daniel Halperin Signed-off-by: Reinette Chatre Signed-off-by: John W. Linville commit 9fe1c5052019da3d2770abd7b727cbc1083f7937 Author: Fabrice Bellet Date: Thu Oct 23 23:48:57 2008 -0700 iwl3945: iwl3945_mac_get_tsf() should not return zero The problem fixed here is that iwl3945_mac_get_tsf() returns 0, as the function is not implemented, and this is considered as a valid value by the mac layer in mlme.c:1605. The consequence is that the STA in ad-hoc mode is inserted/removed quite frequently due to IBSS merging. This patch fixes : http://www.intellinuxwireless.org/bugzilla/show_bug.cgi?id=1781 and https://bugzilla.redhat.com/show_bug.cgi?id=459401 Signed-off-by: Fabrice Bellet Acked-by: Tomas Winkler Signed-off-by: Reinette Chatre Signed-off-by: John W. Linville commit a96a27f97f2bbfc1fca54bc3c0b0d41484152740 Author: Tomas Winkler Date: Thu Oct 23 23:48:56 2008 -0700 iwlwifi: run through spell checker Signed-off-by: Tomas Winkler Signed-off-by: Reinette Chatre Signed-off-by: John W. Linville commit 127901ab69bbb263fb2b46e850cf20c57ac321d3 Author: Tomas Winkler Date: Thu Oct 23 23:48:55 2008 -0700 iwlwifi: refactor tx byte count table usage This patch drops unreadable usage of IWL_SET/GET_BITS16 in byte count tables handling This patch also cleans a bit the byte count table code and adds WARN_ON traps on invalid values This patch is pure cleanup, no functional changes. Signed-off-by: Tomas Winkler Cc: Johannes Berg Signed-off-by: Reinette Chatre Signed-off-by: John W. Linville commit 951891c7ef844919d30aac7b1fc7396fd8be23ff Author: Mohamed Abbas Date: Thu Oct 23 23:48:54 2008 -0700 iwlwifi: clear scanning bits upon failure In iwl_bg_request_scan function, if we could not send a scan command it will go to done. In done it does the right thing to call mac80211 with scan complete, but the problem is STATUS_SCAN_HW is still set causing any future scan to fail. Fix by clearing the scanning status bits if scan fails. Signed-off-by: Mohamed Abbas Signed-off-by: Reinette Chatre Signed-off-by: John W. Linville commit 60d32215a94ebba2517b8d92612200ab610943fd Author: Daniel C. Halperin Date: Thu Oct 23 23:48:53 2008 -0700 iwlwifi: convert correctly rate_n_flags to PLCP index for mimo3 packets The driver does not properly convert rate_n_flags to PLCP index for mimo3 packets. This makes mac80211 drop the packets Signed-off-by: Daniel C. Halperin Reviewed-by: Tomas Winkler Signed-off-by: Reinette Chatre Signed-off-by: John W. Linville commit f69f42a6bbefb311ccb1626fdb61f723160afbfd Author: Tomas Winkler Date: Thu Oct 23 23:48:52 2008 -0700 iwlwifi: calibration command namespace renaming Since calibration framework is not HW specific remove 5000 and 4965 prefix This patch doesn't provide any functional changes only code renaming and movement Signed-off-by: Tomas Winkler Signed-off-by: Reinette Chatre Signed-off-by: John W. Linville commit 0ef2ca67b19e2286eed8eeb7ef7a35ce57d6d629 Author: Tomas Winkler Date: Thu Oct 23 23:48:51 2008 -0700 iwlwifi: parametrize eeprom versions This patch uses new parameters eeprom_ver and eeprom_calib_ver to support additional HW. Signed-off-by: Tomas Winkler Signed-off-by: Reinette Chatre Signed-off-by: John W. Linville commit ed7fafec5e566a30fb21586c98cbef76c306d209 Author: Tomas Winkler Date: Thu Oct 23 23:48:50 2008 -0700 iwlwifi: don't update TFD free counter for invalid station This patch makes sure that station table is not accessed with invalid station id in 4965 TX response path Signed-off-by: Tomas Winkler Reported-by: Johannes Berg Signed-off-by: Reinette Chatre Signed-off-by: John W. Linville commit 3fd07a1e5aba89d4be3696c46cb7297f1873195a Author: Tomas Winkler Date: Thu Oct 23 23:48:49 2008 -0700 iwlwifi: refactor TX response flow This patch utilize 5000 new TX response command which contains all necessary information and avoids back referencing to the original TX frame. It also change handling of software queue tracking 4965 flow is aligned with changes as much as possible. Signed-off-by: Tomas Winkler Reviewed-by: Zhu Yi Signed-off-by: Reinette Chatre Signed-off-by: John W. Linville commit 8b30b1fe368ab03049435884c11c5c50e4c4ef0b Author: Sujith Date: Fri Oct 24 09:55:27 2008 +0530 mac80211: Re-enable aggregation Wireless HW without any dedicated queues for aggregation do not need the ampdu_queues mechanism present right now in mac80211. Since mac80211 is still incomplete wrt TX MQ changes, do not allow aggregation sessions for drivers that set ampdu_queues. This is only an interim hack until Intel fixes the requeue issue. Signed-off-by: Sujith Signed-off-by: Luis Rodriguez Signed-off-by: John W. Linville commit 4393dce9402c58744433c7a4f3931e17ddde4fb4 Author: Andrey Yurovsky Date: Thu Oct 23 13:10:53 2008 -0700 mac80211: allow all interfaces types to handle RX action frames Eliminate the vif.type check in ieee80211_rx_h_action. This check is unnecessary (these action frames can be handled by all interface types) and currently prevents, for example, AP interfaces from handling BACK action frames such as ADDBA and DELBA requests. Signed-off-by: Andrey Yurovsky Acked-by: Johannes Berg Signed-off-by: John W. Linville commit f3e63db2e5998bf01852c72d8fa3d8cf988fb6cd Author: Johannes Berg Date: Thu Oct 23 09:40:01 2008 +0200 wireless: remove write-only 'granted' variable Signed-off-by: Johannes Berg Signed-off-by: John W. Linville commit a4510bf8d96698496d7d2bb242917b4bbfa9bf28 Author: Sujith Date: Thu Oct 23 12:15:19 2008 +0530 ath9k: Check if the STA supports HT when initializing rate control Signed-off-by: Sujith Signed-off-by: John W. Linville commit 075cbc9eb15da8f4cba7c7eaadedd8b030d3a87a Author: Sujith Date: Thu Oct 23 12:14:02 2008 +0530 mac80211: Change WARN_ON to WARN_ON_ONCE A warning would be printed for every packet that is transmitted if the rate control information isn't setup. Change this to WARN_ON_ONCE. Signed-off-by: Sujith Acked-by: Johannes Berg Signed-off-by: John W. Linville commit 5c020dc6a0f75de3cd75d9cca3b589abc1826fc5 Author: Luis R. Rodriguez Date: Wed Oct 22 13:28:45 2008 -0700 ath9k: Allow user to change tx power when asked We were also changing tx power even when we were not asked to, this enforces the change only when we are asked nicely. When not asked we simply try to use the max power, we don't tx power at all for rate control. Signed-off-by: Luis R. Rodriguez Signed-off-by: John W. Linville commit f97e40078e44c1db96269286adc0b12dc8eae3c2 Author: Luis R. Rodriguez Date: Wed Oct 22 13:28:44 2008 -0700 ath9k: enable RX interrupt mitigation This enables hardware interrupt mitigation on RX. It should alleviate system interrupt load intelligently. Signed-off-by: Luis R. Rodriguez Signed-off-by: John W. Linville commit b139a10a0aaf3c8041af348c2268d59e1610dc83 Author: Luis R. Rodriguez Date: Wed Oct 22 13:28:43 2008 -0700 ath9k: remove pointless sc_txintrperiod and spin_lock_bh on tx prepare sc_txintrperiod is currently set to 0 and never updated. We won't be using this, if anything we will consider using TX interrupt mitigation but that is different and not yet tested. So remove sc_txintrperiod and the pointless spin_lock_bh() on tx prepare. Signed-off-by: Luis R. Rodriguez Signed-off-by: John W. Linville commit d9d2925713d92bbe33b2edff3d7de1ce5646ab54 Author: Luis R. Rodriguez Date: Wed Oct 22 13:13:53 2008 -0700 mac80211: make use of regulatory tx power settings on change of tx power We do not know what max power to allow until a device is targeting a channel, therefore only allow changing tx power if a channel is defined. Also make use of the channel's max power setting as defined by regulatory rules before allowing the user to use the requested power setting. If the user asked us to figure it out we use the max allowed by regulatory. Signed-off-by: Luis R. Rodriguez Signed-off-by: John W. Linville commit e2ef12d3fdb771002e7c7b6bd8f19902b1934e03 Author: Rami Rosen Date: Wed Oct 22 09:58:39 2008 +0200 mac80211: check return value of dev_alloc_skb() in ieee80211_sta_join_ibss(). This patch add a check on the return value of dev_alloc_skb() in ieee80211_sta_join_ibss() in net/mac80211/mlme.c. Signed-off-by: Rami Rosen Signed-off-by: John W. Linville commit 72118015271e6d3852cb9f647efe0987d131adaa Author: John W. Linville Date: Tue Sep 30 21:43:03 2008 -0400 wireless: avoid some net/ieee80211.h vs. linux/ieee80211.h conflicts There is quite a lot of overlap in definitions between these headers... Signed-off-by: John W. Linville commit 9387b7caf3049168fc97a8a9111af8fe2143af18 Author: John W. Linville Date: Tue Sep 30 20:59:05 2008 -0400 wireless: use individual buffers for printing ssid values Also change escape_ssid to print_ssid to match print_mac semantics. Signed-off-by: John W. Linville commit 2819f8ad6da1e24b5dd94a221978e61f2a9c972a Author: John W. Linville Date: Tue Sep 30 17:50:31 2008 -0400 wireless: escape_ssid should handle non-printables Also use common backslash sequences like \t, \n, \r, and \\ as well as \0. Signed-off-by: John W. Linville commit c5d3dce875ef055ed9b14f169cc967cc2c8faf1f Author: John W. Linville Date: Tue Sep 30 17:17:26 2008 -0400 wireless: remove NETWORK_EMPTY_ESSID flag It is unnecessary and of questionable value. Also remove is_empty_ssid, as it is also unnecessary. Signed-off-by: John W. Linville commit 7e272fcff6f0a32a3d46e600ea5895f6058f4e2d Author: John W. Linville Date: Wed Sep 24 18:13:14 2008 -0400 wireless: consolidate on a single escape_essid implementation Signed-off-by: John W. Linville commit ddf4ac53fb8a12a027c0486db743ae040f45b56a Author: Johannes Berg Date: Wed Oct 22 11:41:38 2008 +0200 mac80211: insert AP sta entry after filling it We never clearly defined the semantics of the sta_notify callback and it was originally posted for iwlwifi which still doesn't use it at all. With the recent HT rework ath9k started relying on it, but I made a mistake there in that I made ath9k assume the HT information has already been filled in at sta_notify time. This isn't a hard thing to do, so do it. Signed-off-by: Johannes Berg Signed-off-by: John W. Linville commit cfa3fa405a5eafd5d5c53b18abc00ca998c35eef Author: Zhaolei Date: Wed Oct 22 17:07:25 2008 +0800 Fix debugfs_create_*'s error checking method for wireless/rt2x00/ debugfs_create_*() returns NULL if an error occurs, returns -ENODEV when debugfs is not enabled in the kernel. Signed-off-by: Zhao Lei Signed-off-by: Ivo van Doorn Signed-off-by: John W. Linville commit 9b24001db145cf1da76a479918373c18aa10bb4b Author: Zhaolei Date: Wed Oct 22 17:06:12 2008 +0800 Fix debugfs_create_bool's error checking method for wireless/iwlwifi/ debugfs_create_bool() returns NULL if an error occurs, returns -ENODEV when debugfs is not enabled in the kernel. Signed-off-by: Zhao Lei Signed-off-by: John W. Linville commit ac9440a4e4b284d3469120f0e049dff7c73c72a4 Author: Johannes Berg Date: Tue Oct 21 11:08:27 2008 +0200 wireless: fix EU check http://en.wikipedia.org/wiki/De_Morgan%27s_laws is useful. Signed-off-by: Johannes Berg Signed-off-by: John W. Linville commit f6037d09e2b58e5483ab63f75d4d57ae70f9ae6a Author: Johannes Berg Date: Tue Oct 21 11:01:33 2008 +0200 wireless: get rid of pointless request list We really only need to know the last request at each point in time. Signed-off-by: Johannes Berg Signed-off-by: John W. Linville commit f3b407fba52e1b86ca286ee7c218a4fb00bd29e0 Author: Johannes Berg Date: Tue Oct 21 09:57:41 2008 +0200 wireless: remove cfg80211_reg_mutex This mutex is wrong, we use cfg80211_drv_mutex (which should possibly be renamed to just cfg80211_mutex) everywhere except in one place, fix that and get rid of the extra mutex. Also get rid of a spurious regulatory_requests list definition. Signed-off-by: Johannes Berg Signed-off-by: John W. Linville commit cf03268e6ed6cfacaa5e32db41ea832c4d10438b Author: Johannes Berg Date: Tue Oct 21 09:42:38 2008 +0200 wireless: don't publish __regulatory_hint This function requires an internal lock to be held, so it cannot be published to other modules in the kernel. Signed-off-by: Johannes Berg Signed-off-by: John W. Linville commit e37d4dffdffb7f834bd28d4ae8e3dcdf07fce508 Author: Bob Copeland Date: Mon Oct 20 21:20:27 2008 -0400 mac80211: fix a few typos in mac80211 kernel doc Correct a handful of errors found while reading the mac80211 book. Signed-off-by: Bob Copeland Acked-by: Johannes Berg Signed-off-by: John W. Linville commit 558875112c28c7b2744a92c9836c256dd57bc5b6 Author: John Daiker Date: Fri Oct 17 12:16:17 2008 -0700 rt2x00: reduce checkpatch.pl errors A few changes to reduce checkpatch.pl errors in the rt2x00 driver. For the most part, I only fixed cosmetic things, and left the actual 'code flow' untouched (hopefully)! Diff is against wireless-testing HEAD. Signed-off-by: John Daiker Signed-off-by: Ivo van Doorn Signed-off-by: John W. Linville commit 0bbac08f0a23898787978c0b405474e453e9824c Author: John Daiker Date: Fri Oct 17 12:16:00 2008 -0700 ath5k: reduce checkpatch.pl errors A few changes to reduce checkpatch.pl errors in the ath5k driver. For the most part, I only fixed cosmetic things, and left the actual 'code flow' untouched (hopefully)! Diff is against wireless-testing HEAD. Signed-off-by: John Daiker Reviewed-by: Bob Copeland Acked-by: Nick Kossifidis Signed-off-by: John W. Linville commit 93da9cc17c5ae8a751886fd4732db89ad5e9bdb9 Author: colin@cozybit.com Date: Tue Oct 21 12:03:48 2008 -0700 Add nl80211 commands to get and set o11s mesh networking parameters The two new commands are NL80211_CMD_GET_MESH_PARAMS and NL80211_CMD_SET_MESH_PARAMS. There is a new attribute enum, NL80211_ATTR_MESH_PARAMS, which enumerates the various mesh configuration parameters. Moved struct mesh_config from mac80211/ieee80211_i.h to net/cfg80211.h. nl80211_get_mesh_params and nl80211_set_mesh_params unpack the netlink messages and ask the driver to get or set the configuration. This is done via two new function stubs, get_mesh_params and set_mesh_params, in struct cfg80211_ops. Signed-off-by: Colin McCabe Acked-by: Johannes Berg Signed-off-by: John W. Linville commit 4a68ec535ef1043319928f601d633f78e650a16f Author: Johannes Berg Date: Thu Oct 16 21:44:44 2008 +0200 mac80211: inform userspace of probe/auth/assoc timeout I noticed that when for some reason [1] the probe or auth times out, wpa_supplicant doesn't realise this and only tries the next AP when it runs into its own timeout, which is ten seconds, and that's quite long. Fix this by making mac80211 notify userspace that it didn't associate. [1] my wrt350n in mixed B/G/HT mode often runs into this, maybe it's because one of the antennas is broken off and for whatever reason it decides to use that antenna to transmit the response frames (auth, probe); I do see beacons fine so it's not totally broken. Works fine in pure-G mode. Signed-off-by: Johannes Berg Signed-off-by: John W. Linville commit 8216bfe2518c25f16a60485636e477c9a3b795d5 Author: Larry Finger Date: Thu Oct 16 16:44:03 2008 -0700 hostap: Fix sparse warnings A compilation with the command "make C=2 CF="-D__CHECK_ENDIAN__" \ drivers/net/wireless/hostap/" yields the following warnings: CHECK drivers/net/wireless/hostap/hostap_info.c drivers/net/wireless/hostap/hostap_info.c:156:43: warning: incorrect type in argument 2 (different signedness) drivers/net/wireless/hostap/hostap_info.c:156:43: expected unsigned long volatile *addr drivers/net/wireless/hostap/hostap_info.c:156:43: got long * drivers/net/wireless/hostap/hostap_info.c:294:44: warning: incorrect type in argument 2 (different signedness) drivers/net/wireless/hostap/hostap_info.c:294:44: expected unsigned long volatile *addr drivers/net/wireless/hostap/hostap_info.c:294:44: got long * drivers/net/wireless/hostap/hostap_info.c:487:12: warning: incorrect type in argument 2 (different signedness) drivers/net/wireless/hostap/hostap_info.c:487:12: expected unsigned long volatile *addr drivers/net/wireless/hostap/hostap_info.c:487:12: got long * drivers/net/wireless/hostap/hostap_info.c:491:12: warning: incorrect type in argument 2 (different signedness) drivers/net/wireless/hostap/hostap_info.c:491:12: expected unsigned long volatile *addr drivers/net/wireless/hostap/hostap_info.c:491:12: got long * The warnings are fixed with the following compile-tested fix: Signed-off-by: Larry Finger Acked-by: Jouni Malinen Signed-off-by: John W. Linville commit 50fb2e4572141770380f5919793c6e575fa3474b Author: Johannes Berg Date: Thu Oct 16 11:21:49 2008 +0200 mac80211: remove rate_control_clear "Clearing" the rate control algorithm is pointless, none of the algorithms actually uses this operation and it's not even invoked properly for all channel switching. Also, there's no need to since rate control algorithms work per station. Signed-off-by: Johannes Berg Signed-off-by: John W. Linville commit 65a0667b43ff746b2964b2a257ffff1a4747e19d Author: Tomas Winkler Date: Wed Oct 15 11:06:23 2008 -0700 iwlwifi: protect headers from double inclusion This patch protects iwl-csr.h and iwl-fh.h from double inclusion by ifndef define endif idiom Signed-off-by: Tomas Winkler Signed-off-by: Reinette Chatre Signed-off-by: John W. Linville commit f4a8cd94fc43829d065aae94f6d379c6f0f1301c Author: Felix Fietkau Date: Wed Oct 15 19:13:59 2008 +0200 minstrel: improve performance for non-MRR drivers This patch enhances minstrel's performance for non-MRR setups, by preventing it from sampling slower rates with >95% success probability and by putting at least 1 non-sample frame between several sample frames. Signed-off-by: Felix Fietkau Signed-off-by: John W. Linville commit 0a9542ee12fb57d408f19aac738e8abe8670be7a Author: Johannes Berg Date: Wed Oct 15 11:54:04 2008 +0200 nl80211: fix monitor flags NLA_NESTED attributes cannot be empty, but we want to be able to specify "no flags" (empty attribute) vs. "no change" (no attribute). Therefore, remove the NLA_NESTED policy so it can work as an empty attribute. I guess I should have used a u32 for these flags instead, but we're stuck with it now. Haven't noticed earlier because of a bug in iw... Signed-off-by: Johannes Berg Signed-off-by: John W. Linville commit 27df605ebe2c106c53957dfdaee5d948f01cfc97 Author: John W. Linville Date: Wed Oct 22 16:41:55 2008 -0400 p54: integrate parts of lmac_longbow.h and other parts of stlc45xx This patch removes most/all? of the "magic" numbers and unknown structure variables inside the code and replaces them with meaningful prototypes. (Plus a one line warning fix from Larry Finger .) Signed-off-by: Christian Lamparter Signed-off-by: John W. Linville commit 5e73444e91889ea6c7a83bc174ef8e8b6aaeea9b Author: Christian Lamparter Date: Wed Oct 15 04:07:56 2008 +0200 p54: borrow some setup code from stlc45xx This patch initialize all remaining values which are necessary for SPI firmwares. Signed-off-by: Christian Lamparter Signed-off-by: John W. Linville commit b92f30d65aeb0502e2ed8beb80c8465578b40002 Author: Christian Lamparter Date: Wed Oct 15 04:07:16 2008 +0200 p54: fix memory management We have to be careful if multiple "control frames" are passed in a very short intervals to the device's firmware. As p54_assign_address always put them into same memory location. To guarantee that this won't happen anymore, we have to treat control frames like normal data frames in the devices own memory management. Signed-off-by: Christian Lamparter Signed-off-by: John W. Linville commit 9de5776ff33a006b864341a6ec8d31f1a3c628cf Author: Christian Lamparter Date: Wed Oct 15 04:05:51 2008 +0200 p54: p54: refactor p54_rx_frame_sent the long names and the nesting in p54_rx_frame_sent really became a "line longer than 80 characters" problem. Signed-off-by: Christian Lamparter Signed-off-by: John W. Linville commit 0f1be978910092bed5d8dac0774e5cf85d4b4e12 Author: Christian Lamparter Date: Wed Oct 15 03:56:20 2008 +0200 p54: refactor statistic timer code Signed-off-by: Christian Lamparter Signed-off-by: John W. Linville commit 0fdd7c5d2defe8c6873eb8a40a880eb0dc59573d Author: Christian Lamparter Date: Wed Oct 15 03:55:37 2008 +0200 p54: broken out edcf changes This patch series hopefully increases p54's "longterm" stability. Signed-off-by: Christian Lamparter Signed-off-by: John W. Linville commit b88b15dfbddc8837569c6dea49348791357de4aa Author: Tomas Winkler Date: Tue Oct 14 12:32:49 2008 -0700 iwlwifi: tx command must run on same tfd as packet This patch makes clear that tx command is attached to the same tfd as the tx packet Signed-off-by: Tomas Winkler Signed-off-by: Zhu Yi Signed-off-by: Reinette Chatre Signed-off-by: John W. Linville commit 499b1883038a7db2dcf8b64229f8533ce2c8f0fc Author: Tomas Winkler Date: Tue Oct 14 12:32:48 2008 -0700 iwlwifi: fix TX cmd dma unmapping This patch: 1. fixes command DMA unmapping, this might be visible only on platforms where DMA unmapping is no noop such as PPC64 (not tested) 2. attaches correctly high memory part of the host command buffer 3. changes structure of TFD TB instead of describing transmit buffer (TB) tuple it describes single TB and makes code more readable on price of one unaligned access 4. eliminates using of IWL_GET/SET_BITs for TFD handling 5. renames TFD structures to mach the HW spec 6. reduces iwl_tx_info size by reserving first TB to the host command This patch should not have any visible effect on x86 32 This patch is rework of iwlwifi: fix DMA code and bugs from Johannes Berg Signed-off-by: Tomas Winkler Cc: Johannes Berg Reviewed-by: Zhu Yi Signed-off-by: Reinette Chatre Signed-off-by: John W. Linville commit 76eff18bdc5feaa53f1be33709b67df02f1d55e9 Author: Tomas Winkler Date: Tue Oct 14 12:32:45 2008 -0700 iwlwifi: unify tx antenna toggling TX antenna toggling is requested for management frames in tx and scanning. I addition toggling in scanning was incorrect; Signed-off-by: Tomas Winkler Reviewed-by: Zhu Yi Signed-off-by: Reinette Chatre Signed-off-by: John W. Linville commit 961ba60abe02517d0c8252f9befb1478f4e008a4 Author: Tomas Winkler Date: Tue Oct 14 12:32:44 2008 -0700 iwlwifi: add iwl_cmd_queue_free for readability This patch adds iwl_cmd_queue_free function and separate cmd queue freeing from regular tx queue freeing. This improves readability and adds one more step in restructuring of cmd queue handling Signed-off-by: Tomas Winkler Reviewed-by: Zhu Yi Signed-off-by: Reinette Chatre Signed-off-by: John W. Linville commit 3257e5d4eb418e4656542207720aef5f0f547701 Author: Tomas Winkler Date: Tue Oct 14 12:32:43 2008 -0700 iwlwifi: remove host commands structures from iwl_cmd This patch removes host commands structures from iwl_cmd to make more HW oblivious tx cmd was left it needs special treatment. Signed-off-by: Tomas Winkler Reviewed-by: Zhu Yi Signed-off-by: John W. Linville commit 56e1261596334e60210fb8ecd9eb6a3db53aba94 Author: Jay Sternberg Date: Tue Oct 14 12:32:42 2008 -0700 iwlwifi: expand error lookup and align output change desc_lookup from hard coded switch to a simple lookup table and expand list to include all errors. Also corrected output using this string so info is aligned and easier to read when debugging issues. Signed-off-by: Jay Sternberg Signed-off-by: Reinette Chatre Signed-off-by: John W. Linville commit 4e062f99af771173b601742b0c1c98eb4d52ea08 Author: Jay Sternberg Date: Tue Oct 14 12:32:41 2008 -0700 iwlwifi: define firmware file name once string repeated for definition of ucode firmware file and in preparation for multiple firmware files need to consolidate location for their definition. Signed-off-by: Jay Sternberg Acked-by: Tomas Winkler Signed-off-by: John W. Linville commit 4acf07497140b1504a799d6a1b4da7d1b1e35af5 Author: Johannes Berg Date: Tue Oct 14 19:49:22 2008 +0200 make ieee80211 invisible This makes CONFIG_IEEE80211 invisible. The drivers that require it (ipw2100, ipw2200, hostap) select it, and everybody else really shouldn't even think about using it. Also, since there really is no point in compiling anything without crypto support these days, remove the crypto options and just enable them, leaving only the debugging option which only shows up when a driver is select that requires it. This makes it hard to enable, but most people wouldn't want to anyway. Signed-off-by: Johannes Berg Acked-by: Reinette Chatre Signed-off-by: John W. Linville commit 5c7f9b7363bfd10e40cf1a28dfc9048417df7028 Author: Tim Gardner Date: Tue Oct 14 10:38:03 2008 -0600 ipw2x00: change default policy for auto-associate Do not attempt association until directed to do so by a user space application. In particular, this avoids race conditions with NetworkManager association state. Signed-off-by: Tim Gardner Acked-by: Dan Williams Signed-off-by: John W. Linville commit c12abae333ac550acacf9d324ed54b7d17ead0c0 Author: Johannes Berg Date: Tue Oct 14 16:56:51 2008 +0200 p54: implement MRR This implements multi-rate retry in p54. With lots of help and testing from Christian and the limiting idea from nbd. Signed-off-by: Johannes Berg Cc: Christian Lamparter Signed-off-by: John W. Linville commit e6a9854b05c1a6af1308fe2b8c68f35abf28a3ee Author: Johannes Berg Date: Tue Oct 21 12:40:02 2008 +0200 mac80211/drivers: rewrite the rate control API So after the previous changes we were still unhappy with how convoluted the API is and decided to make things simpler for everybody. This completely changes the rate control API, now taking into account 802.11n with MCS rates and more control, most drivers don't support that though. Signed-off-by: Felix Fietkau Signed-off-by: Johannes Berg Signed-off-by: John W. Linville commit cb121bad67a32cde37adc2729b7e18aa4fd3063e Author: Johannes Berg Date: Tue Oct 14 16:38:55 2008 +0200 mac80211: add might_sleep to hw_config Just to catch bugs when changing mac80211. Signed-off-by: Johannes Berg Signed-off-by: John W. Linville commit faf3994a9f65fd95a68bbcc03c318a427cd1e7d3 Author: Wang Chen Date: Tue Oct 14 13:30:33 2008 +0800 airo: Kill directly reference of netdev->priv We have some reasons to kill netdev->priv: 1. netdev->priv is equal to netdev_priv(). 2. netdev_priv() wraps the calculation of netdev->priv's offset, obviously netdev_priv() is more flexible than netdev->priv. But we cann't kill netdev->priv, because so many drivers reference to it directly. OK, becasue Dave S. Miller said, "every direct netdev->priv usage is a bug", and I want to kill netdev->priv later, I decided to convert all the direct reference of netdev->priv first. In this driver, I don't simply use netdev_priv() to replace netdev->priv. The reason is: Pointer netdev->priv was changed in this driver, but it shouldn't. Because the memory was allocated when alloc_netdev() and netdev->priv should always point to that memory. So I use netdev->ml_priv to replace netdev->priv. After replacing, both ai and ai->wifidev->ml_priv point to the same memory. Signed-off-by: Wang Chen Cc: John W. Linville Cc: Dan Williams Signed-off-by: John W. Linville commit b706e65b40417e03c2451bb3f92488f3736843fa Author: Andrey Yurovsky Date: Mon Oct 13 18:23:07 2008 -0700 ath5k: fix mesh point operation This patch fixes mesh point operation (thanks to YanBo for pointing out the problem): make mesh point interfaces start beaconing when they come up and configure the RX filter in mesh mode so that mesh beacons and action frames are received. Add mesh point to the check in ath5k_add_interface. Tested with multiple AR5211 cards. Signed-off-by: Andrey Yurovsky Acked-by: Nick Kossifidis Signed-off-by: John W. Linville commit 6e0e0bf80c963d83f511e1cda652630cf31ebf85 Author: Luis R. Rodriguez Date: Mon Oct 13 14:08:10 2008 -0700 ath5k: correct ath5k signal quality This adjusts ath5k's signal quality reporting taking into consideration received beacons at an RSSI of 35 should indicate you can use of 54 Mbps on a single stream card (all ath5k cards) reliably. Signed-off-by: Luis R. Rodriguez Acked-by: Nick Kossifidis Signed-off-by: John W. Linville commit c49d154a800c55b8948e6d34563e593b500b31b9 Author: Luis R. Rodriguez Date: Mon Oct 13 14:08:09 2008 -0700 ath9k: correct signal quality report This adjusts ath9k's signal quality reporting taking into consideration received beacons at an RSSI of 45 should indicate you can use of MCS 15 rate (144 Mbps) reliably on dual stream card. Keep in mind mac80211 does not yet have aggregation fixed but this should still provide more accurate results. Signed-off-by: Luis R. Rodriguez Signed-off-by: John W. Linville commit 4fe0657ed41590ea4c2d4920c76836cb4a483caf Author: Luis R. Rodriguez Date: Mon Oct 13 14:08:07 2008 -0700 ath5k/ath9k: correct signal quality Now that we officially are supporting ath5k I can do this at work hours. Signed-off-by: Luis R. Rodriguez Signed-off-by: John W. Linville commit f8288317b5076fde0bb4e91cd4754379c850be7a Author: Herton Ronaldo Krzesinski Date: Mon Oct 13 18:11:00 2008 +0000 rtl8187: add short slot handling for 8187B This change adds short slot handling for 8187B variant of rtl8187 chips. Some things to note about changes done: * Values used are chosen to met 802.11-2007 spec. This raised a question about SIFS value used with 8187L: 0x22 (34) doesn't match any spec value. For now just don't change 8187L, but is something to be looked at. * On 8187B, the location of EIFS register is at the same place as BRSR+1 of struct rtl818x_csr. Unfortunately there is no clean way to accomodate 8187B differences currently, just use address of BRSR+1 and comment about it. The same thing happens for Ack timeout register, that is on CARRIER_SENSE_COUNTER location of 8187L. The eifs and ack timeout values are in units of 4us. All these registers information was gathered from references being the vendor gpl driver and 8180 datasheet, unfortunately there is no information about this on 8187B datasheet. Also the ack timeout value was inspired by the same calculation as done on rt2x00. Signed-off-by: Herton Ronaldo Krzesinski Signed-off-by: John W. Linville commit 64761077f815660276f69b497edb9842d880df9a Author: Herton Ronaldo Krzesinski Date: Mon Oct 13 18:10:59 2008 +0000 rtl8187: adapt for deprecated IEEE80211_CONF_SHORT_SLOT_TIME flag This updates 8187L handling for short slot after "mac80211: fix short slot handling". For 8187B, there was no handling done for short slot timing so nothing done, support for it will come in a following patch. Signed-off-by: Herton Ronaldo Krzesinski Signed-off-by: John W. Linville commit da966bcae70e4012b7d999820b728dd6502047e0 Author: Jiri Slaby Date: Sun Oct 12 22:54:10 2008 +0200 Ath5k: add AP mode Add support for AP mode. This involves: - enablement in ath5k_beacon_config -- initialize beacon timer - add AP to the supported modes in ath5k_add_interface - handle beacon change even for AP in ath5k_config_interface - remove useless test for IBSS in ath5k_beacon_update Note that it doesn't enable the AP mode for the driver. It must be enabled by NL80211_IFTYPE_AP bit added to interface_modes. v2: Fixed opmode constant (IEEE80211_ to NL80211_) Signed-off-by: Jiri Slaby Cc: Nick Kossifidis Cc: Luis R. Rodriguez Signed-off-by: John W. Linville commit 7eb27af766e4a1db3dbc02a5b3d175885bf2ce93 Author: Johannes Berg Date: Sun Oct 12 00:39:55 2008 +0200 p54/rtl8187: fix up the seqno patch Sorry about that, for some reason I didn't notice that I'd left some unused variables in there. Signed-off-by: Johannes Berg Signed-off-by: John W. Linville commit ae5eb02641233a4e9d1b92d22090f1b1afa14466 Author: Johannes Berg Date: Tue Oct 14 16:58:37 2008 +0200 mac80211: rewrite HT handling The HT handling has the following deficiencies, which I've (partially) fixed: * it always uses the AP info even if there is no AP, hence has no chance of working as an AP * it pretends to be HW config, but really is per-BSS * channel sanity checking is left to the drivers * it generally lets the driver control too much HT enabling is still wrong with this patch if you have more than one virtual STA mode interface, but that never happens currently. Once WDS, IBSS or AP/VLAN gets HT capabilities, it will also be wrong, see the comment in ieee80211_enable_ht(). Additionally, this fixes a number of bugs: * mac80211: ieee80211_set_disassoc doesn't notify the driver any more since the refactoring * iwl-agn-rs: always uses the HT capabilities from the wrong stuff mac80211 gives it rather than the actual peer STA * ath9k: a number of bugs resulting from the broken HT API I'm not entirely happy with putting the HT capabilities into struct ieee80211_sta as restricted to our own HT TX capabilities, but I see no cleaner solution for now. Signed-off-by: Johannes Berg Signed-off-by: John W. Linville commit bda3933a8aceedd03e0dd410844bd310033ca756 Author: Johannes Berg Date: Sat Oct 11 01:51:51 2008 +0200 mac80211: move bss_conf into vif Move bss_conf into the vif struct so that drivers can access it during ->tx without having to store it in the private data or similar. No driver updates because this is only for when they want to start using it. Signed-off-by: Johannes Berg Signed-off-by: John W. Linville commit 9124b07740c51cbc6e358dd0c4abc6ee8ded084d Author: Johannes Berg Date: Tue Oct 14 19:17:54 2008 +0200 mac80211: make retry limits part of hw config Instead of having a separate callback, use the HW config callback with a new flag to change retry limits. Signed-off-by: Johannes Berg Signed-off-by: John W. Linville commit 525181891fb5ed323b6ba0f141c422f1395acfb9 Author: Johannes Berg Date: Sat Oct 11 01:46:25 2008 +0200 iwl3945: fix station stuff in RC algorithm Probably bugs I added. Signed-off-by: Johannes Berg Acked-by: Reinette Chatre Signed-off-by: John W. Linville commit d51626df5747efaa8d2c00678f64cb503845effe Author: Johannes Berg Date: Thu Oct 9 12:20:13 2008 +0200 nl80211: export HT capabilities This exports the local HT capabilities in nl80211. Signed-off-by: Johannes Berg Signed-off-by: John W. Linville commit 94778280fabdb6bc76db5509bd95859f1141385b Author: Johannes Berg Date: Fri Oct 10 13:21:59 2008 +0200 mac80211: provide sequence numbers I've come to think that not providing sequence numbers for the normal STA mode case was a mistake, at least two drivers now had to implement code they wouldn't otherwise need, and I believe at76_usb and adm8211 might be broken. This patch makes mac80211 assign a sequence number to all those frames that need one except beacons. That means that if a driver only implements modes that do not do beaconing it need not worry about the sequence number. Signed-off-by: Johannes Berg Signed-off-by: John W. Linville commit 2e20cc3986cbee410fbe8e3e116bdcb12d70fcce Author: Larry Finger Date: Thu Oct 9 17:38:52 2008 -0700 p54: Move rx_mtu to struct bootrec_desc The patch entitled "[PATCH] p54: Fix sparse warnings" added the __le16 variable rx_mtu to struct bootrec, but it could equally well be placed in the struct bootrec_desc, which overlays the 'data' section of bootrec. Signed-off-by: Larry Finger Signed-off-by: John W. Linville commit 78236571a538860dc2f0842ff6c7789522eb1e63 Author: Henrique de Moraes Holschuh Date: Thu Oct 9 18:15:33 2008 -0300 rfkill: rate-limit rfkill-input workqueue usage (v3) Limit the number of "expensive" rfkill workqueue operations per second, in order to not hog system resources too much when faced with a rogue source of rfkill input events. The old rfkill-input code (before it was refactored) had such a limit in place. It used to drop new events that were past the rate limit. This behaviour was not implemented as an anti-DoS measure, but rather as an attempt to work around deficiencies in input device drivers which would issue multiple KEY_FOO events too soon for a given key FOO (i.e. ones that do not implement mechanical debouncing properly). However, we can't really expect such issues to be worked around by every input handler out there, and also by every userspace client of input devices. It is the input device driver's responsability to do debouncing instead of spamming the input layer with bogus events. The new limiter code is focused only on anti-DoS behaviour, and tries to not lose events (instead, it coalesces them when possible). The transmitters are updated once every 200ms, maximum. Care is taken not to delay a request to _enter_ rfkill transmitter Emergency Power Off (EPO) mode. If mistriggered (e.g. by a jiffies counter wrap), the code delays processing *once* by 200ms. Signed-off-by: Henrique de Moraes Holschuh Cc: Ivo van Doorn Cc: Dmitry Torokhov Signed-off-by: John W. Linville commit 176707997bc3da2c4e32715c35cfebba0334ed68 Author: Henrique de Moraes Holschuh Date: Thu Oct 9 18:15:32 2008 -0300 rfkill: honour EPO state when resuming a rfkill controller rfkill_resume() would always restore the rfkill controller state to its pre-suspend state. Now that we know when we are under EPO, kick the rfkill controller to SOFT_BLOCKED state instead of to its pre-suspend state when it is resumed while EPO mode is active. Signed-off-by: Henrique de Moraes Holschuh Cc: Ivo van Doorn Signed-off-by: John W. Linville commit d003922dab6a66027344a787e9846ecf35a706a8 Author: Henrique de Moraes Holschuh Date: Thu Oct 9 21:49:33 2008 -0300 rfkill: add master_switch_mode and EPO lock to rfkill and rfkill-input Add of software-based sanity to rfkill and rfkill-input so that it can reproduce what hardware-based EPO switches do, blocking all transmitters and locking down any further attempts to unblock them until the switch is deactivated. rfkill-input is responsible for issuing the EPO control requests, like before. While an rfkill EPO is active, all transmitters are locked to one of the BLOCKED states and all attempts to change that through the rfkill API (userspace and kernel) will be either ignored or return -EPERM errors. The lock will be released upon receipt of EV_SW SW_RFKILL_ALL ON by rfkill-input, or should modular rfkill-input be unloaded. This makes rfkill and rfkill-input extend the operation of an existing wireless master kill switch to all wireless devices in the system, even those that are not under hardware or firmware control. Since the above is the expected operational behavior for the master rfkill switch, the EPO lock functionality is not optional. Also, extend rfkill-input to allow for three different behaviors when it receives an EV_SW SW_RFKILL_ALL ON input event. The user can set which behavior he wants through the master_switch_mode parameter: master_switch_mode = 0: EV_SW SW_RFKILL_ALL ON just unlocks rfkill controller state changes (so that the rfkill userspace and kernel APIs can now be used to change rfkill controller states again), but doesn't change any of their states (so they will all remain blocked). This is the safest mode of operation, as it requires explicit operator action to re-enable a transmitter. master_switch_mode = 1: EV_SW SW_RFKILL_ALL ON causes rfkill-input to attempt to restore the system to the state before the last EV_SW SW_RFKILL_ALL OFF event, or to the default global states if no EV_SW SW_RFKILL_ALL OFF ever happened. This is the recommended mode of operation for laptops. master_switch_mode = 2: tries to unblock all rfkill controllers (i.e. enable all transmitters) when an EV_SW SW_RFKILL_ALL ON event is received. This is the default mode of operation, as it mimics the previous behavior of rfkill-input. In order to implement these features in a clean way, the entire event handling of rfkill-input was refactored into a single worker function. Protection against input event DoS (repeatedly firing rfkill events for rfkill-input to process) was removed during the code refactoring. It will be added back in a future patch. Note that with these changes, rfkill-input doesn't need to explicitly handle any radio types for which KEY_ or SW_ events do not exist yet. Code to handle EV_SW SW_{WLAN,WWAN,BLUETOOTH,WIMAX,...} was added as it might be needed in the future (and its implementation is not that obvious), but is currently #ifdef'd out to avoid wasting resources. Signed-off-by: Henrique de Moraes Holschuh Cc: Ivo van Doorn Cc: Dmitry Torokhov Signed-off-by: John W. Linville commit 68d2413bec7e1d97e906eafb05e78d925a5ca128 Author: Henrique de Moraes Holschuh Date: Thu Oct 9 18:15:30 2008 -0300 rfkill: export global states to rfkill-input Export the the global switch states to rfkill-input. This is needed to properly implement KEY_* handling without disregarding the initial state. Signed-off-by: Henrique de Moraes Holschuh Cc: Ivo van Doorn Signed-off-by: John W. Linville commit cf4b4aab552f5f658ed400dd0cd41f9ac8aac7c1 Author: Henrique de Moraes Holschuh Date: Thu Oct 9 18:15:29 2008 -0300 rfkill: use killable locks instead of interruptible Apparently, many applications don't expect to get EAGAIN from fd read/write operations, since POSIX doesn't mandate it. Use mutex_lock_killable instead of mutex_lock_interruptible, which won't cause issues. Signed-off-by: Henrique de Moraes Holschuh Cc: Ivo van Doorn Signed-off-by: John W. Linville commit e8975581f63870be42ff4662b293d1b0c8c21350 Author: Johannes Berg Date: Thu Oct 9 12:18:51 2008 +0200 mac80211: introduce hw config change flags This makes mac80211 notify the driver which configuration actually changed, e.g. channel etc. No driver changes, this is just plumbing, driver authors are expected to act on this if they want to. Also remove the HW CONFIG debug printk, it's incorrect, often we configure something else. Signed-off-by: Johannes Berg Signed-off-by: John W. Linville commit 0f4ac38b5999c3d51adad52d61c56c1b99c247ec Author: Johannes Berg Date: Thu Oct 9 12:18:04 2008 +0200 mac80211: kill hw.conf.antenna_sel_{rx,tx} Never actually used. Signed-off-by: Johannes Berg Signed-off-by: John W. Linville commit d9fe60dea7779d412b34679f1177c5ca1940ea8d Author: Johannes Berg Date: Thu Oct 9 12:13:49 2008 +0200 802.11: clean up/fix HT support This patch cleans up a number of things: * the unusable definition of the HT capabilities/HT information information elements * variable names that are hard to understand * mac80211: move ieee80211_handle_ht to ht.c and remove the unused enable_ht parameter * mac80211: fix bug with MCS rate 32 in ieee80211_handle_ht * mac80211: fix bug with casting the result of ieee80211_bss_get_ie to an information element _contents_ rather than the whole element, add size checking (another out-of-bounds access bug fixed!) * mac80211: remove some unused return values in favour of BUG_ON checking * a few minor other things Signed-off-by: Johannes Berg Signed-off-by: John W. Linville commit 40333e4fb476014cdd939d27e20eb54573172b32 Author: Christian Lamparter Date: Wed Oct 8 20:52:22 2008 +0200 p54: honour bss_info_changed's short slot time settings This patch was made on behalf of Johannes request. "mac80211 and IEEE80211_CONF_SHORT_SLOT_TIME" Of course, bss_info_changed provides some more useful data. e.g.: basic_rates, dtim_period, beacon_int and maybe even more. Everything can be hooked up if it's necessary. Signed-off-by: Christian Lamparter Signed-off-by: John W. Linville commit 5d6924eaf07bec9ce7527cad9d2537e448574738 Author: Rami Rosen Date: Wed Oct 8 11:18:27 2008 +0200 mac80211: use HWSIM_STA_MAGIC in hwsim_check_sta_magic() and hwsim_set_sta_magic(). This patch fixes a typo in mac80211_hwsim.c: use HWSIM_STA_MAGIC in hwsim_check_sta_magic() and hwsim_set_sta_magic() instead of HWSIM_VIF_MAGIC. Signed-off-by: Rami Rosen Acked-by: Johannes Berg Signed-off-by: John W. Linville commit 3195c1f3499912b207ae600968488759b16037fc Author: Tomas Winkler Date: Wed Oct 8 09:37:30 2008 +0800 iwlwifi: refactor rxon time command This patch refactors rxon time command. It removes the usage of union tsf in favor of u64 value and hopefully makes code more readable. There are no functional changes in this patch. Signed-off-by: Tomas Winkler Signed-off-by: Zhu Yi Signed-off-by: John W. Linville commit 5d664a41a0a8c612f66bcb3c2a6f395e9afa6beb Author: Tomas Winkler Date: Wed Oct 8 09:37:29 2008 +0800 iwlwifi: take a valid antenna upon rate scale init This patch selects a valid antennae upon rate scale init. This solves a SYSASSERT complaining that the driver is setting a non valid antenna in the LQ CMD. Signed-off-by: Emmanuel Grumbach Signed-off-by: Tomas Winkler Signed-off-by: Zhu Yi Signed-off-by: John W. Linville commit be5d56ed885a2897ec813eab4a8055d495816e9a Author: Tomas Winkler Date: Wed Oct 8 09:37:27 2008 +0800 iwlwifi: make initial calibration set configurable This patch adds ability to configure initial calibration set. Not all HW supported by iwlwifi use the same calibration set, XTAL is one example. Some clean ups are also included in this patch. Signed-off-by: Tomas Winkler Signed-off-by: Zhu Yi Signed-off-by: John W. Linville commit 1397dcebd8f1d66528e8f86b0dfb603281558f79 Author: Rami Rosen Date: Tue Oct 7 16:29:11 2008 +0200 mac80211: remove unused declaration of struct sta_attribute. This patch removes unused definition of struct sta_attribute in net/mac80211/ieee80211_i.h. Signed-off-by: Rami Rosen Acked-by: Johannes Berg Signed-off-by: John W. Linville commit 7a5158ef8da70fdedeb0530faaa8128aa645be3c Author: Johannes Berg Date: Wed Oct 8 10:59:33 2008 +0200 mac80211: fix short slot handling This patch makes mac80211 handle short slot requests from the AP properly. Also warn about uses of IEEE80211_CONF_SHORT_SLOT_TIME and optimise out the code since it cannot ever be hit anyway. Signed-off-by: Johannes Berg Signed-off-by: John W. Linville commit e87a2feea75e3cba7af43ed9317b56b282d87742 Author: Johannes Berg Date: Tue Oct 7 12:04:35 2008 +0200 mac80211: remove max_antenna_gain config The antenna gain isn't exactly configurable, despite the belief of some unnamed individual who thinks that the EEPROM might influence it. Signed-off-by: Johannes Berg Signed-off-by: John W. Linville commit d73782fdde76554016abf73b46f843b29f520848 Author: Johannes Berg Date: Tue Oct 7 12:04:34 2008 +0200 mac80211: clean up ieee80211_hw_config errors Warn when ieee80211_hw_config returns an error, it shouldn't happen; remove a number of printks that would happen in such a case and one printk that is user-triggerable. Signed-off-by: Johannes Berg Signed-off-by: John W. Linville commit 3db594380b8452eda4d88b12844077809607caaa Author: Johannes Berg Date: Tue Oct 7 12:04:33 2008 +0200 mac80211: remove wiphy_to_hw This isn't used by anyone, if we ever need it we can add it back, until then it's useless. Signed-off-by: Johannes Berg Signed-off-by: John W. Linville commit c6a1fa12d206882757264869f8e32d606b930e2a Author: Johannes Berg Date: Tue Oct 7 12:04:32 2008 +0200 mac80211: minor code cleanups Nothing very interesting, some checkpatch inspired stuff, some other things. Signed-off-by: Johannes Berg Signed-off-by: John W. Linville commit 36ff382d0065c9980c203c7cd3b3eb26251e9397 Author: Johannes Berg Date: Tue Oct 7 12:04:31 2008 +0200 mac80211: remove writable debugs mesh parameters These parameters shouldn't be configurable via debugfs, if they need to be configurable nl80211 support has to be added, if not then they don't need to be writable here either. Signed-off-by: Johannes Berg Cc: Javier Cardona Cc: Luis Carlos Cobo Signed-off-by: John W. Linville commit 804feeb826f8a32c8c71a09101fae31804b40ad1 Author: Johannes Berg Date: Tue Oct 7 12:04:30 2008 +0200 mac80211: remove aggregation status write support from debugfs This code uses static variables and thus cannot be kept. Signed-off-by: Johannes Berg Signed-off-by: John W. Linville commit b2bcc7b299f37037b4a78dc1538e5d6508ae8110 Author: Alok Kataria Date: Fri Oct 31 11:59:53 2008 -0700 x86: add a synthetic TSC_RELIABLE feature bit Impact: None, bit reservation only Add a synthetic TSC_RELIABLE feature bit which will be used to mark TSC as reliable so that we could skip all the runtime checks for TSC stablity, which have false positives in virtual environment. Signed-off-by: Alok N Kataria Signed-off-by: Dan Hecht Signed-off-by: H. Peter Anvin commit 537fb0671549a9a6457ce42a25ab34b29d97a256 Author: Chris Mason Date: Fri Oct 31 12:54:14 2008 -0400 Btrfs: rev the disk format for fallocate Signed-off-by: Chris Mason commit 3c3e9892a1dacca2ba9e05c196ab1ea99c544360 Author: Takashi Iwai Date: Fri Oct 31 17:48:56 2008 +0100 ALSA: hda - Re-add input-source control for Realtek Re-added again "Input Source" control that was removed mistakenly in the previous patchset. Signed-off-by: Takashi Iwai commit 70b99e6959a4c28ae1b314985eca731f3db72f1d Author: Chris Mason Date: Fri Oct 31 12:46:39 2008 -0400 Btrfs: Compression corner fixes Make sure we keep page->mapping NULL on the pages we're getting via alloc_page. It gets set so a few of the callbacks can do the right thing, but in general these pages don't have a mapping. Don't try to truncate compressed inline items in btrfs_drop_extents. The whole compressed item must be preserved. Don't try to create multipage inline compressed items. When we try to overwrite just the first page of the file, we would have to read in and recow all the pages after it in the same compressed inline items. For now, only create single page inline items. Make sure we lock pages in the correct order during delalloc. The search into the state tree for delalloc bytes can return bytes before the page we already have locked. Signed-off-by: Chris Mason commit f9e336f65b666b8f1764d17e9b7c21c90748a37e Author: Takashi Iwai Date: Fri Oct 31 16:37:07 2008 +0100 ALSA: hda - Unify capture mixer creation in realtek codes Unified the capture mixer creation in patch_realtek.c. ALC268 is still an exception since it has no AMP in ADC but in MUX widget. Signed-off-by: Takashi Iwai commit 54cbc9abe57cf0a36619f394802448c62402599a Author: Takashi Iwai Date: Fri Oct 31 15:24:04 2008 +0100 ALSA: hda - Unify capture callbacks in realtek codes Unify the capture callbacks in patch_realtek.c. The difference of matrix or mux style is checked via spec->is_mix_capture flag. Signed-off-by: Takashi Iwai commit d88897eaea53f0fae62d528a24e76b8643082db3 Author: Takashi Iwai Date: Fri Oct 31 15:01:37 2008 +0100 ALSA: hda - Use macros to check array overflow Use macro to add mixer and verb elements to check the possible array overflow. Signed-off-by: Takashi Iwai commit afecd78cd2ec81512d6ec451906f71d9671a0b3b Merge: 1b063c3 ee956e0 Author: Takashi Iwai Date: Fri Oct 31 17:24:01 2008 +0100 Merge branch 'topic/fix/hda' into topic/hda commit 7b3b6e42032e94a6132a85642e95106f5346650e Merge: 04172c0 0173a32 Author: Takashi Iwai Date: Fri Oct 31 17:13:10 2008 +0100 Merge commit 'v2.6.28-rc2' into topic/asoc commit f88518d122f1b007f47a46aff37ca2885126a923 Author: Huang Weiyi Date: Fri Oct 31 22:49:58 2008 +0800 wusb: remove unused #include The file(s) below do not use LINUX_VERSION_CODE nor KERNEL_VERSION. drivers/usb/host/hwa-hc.c drivers/usb/host/whci/hcd.c drivers/usb/host/whci/int.c drivers/usb/host/whci/wusb.c drivers/usb/wusbcore/cbaf.c This patch removes the said #include . Signed-off-by: Huang Weiyi Signed-off-by: David Vrabel commit ae9eba0e2744f1aa15cdc97cd39277a84723ae23 Author: Kay Sievers Date: Thu Oct 30 20:06:16 2008 +0100 uwb: struct device - replace bus_id with dev_name(), dev_set_name() Cc: David Vrabel Acked-by: Greg Kroah-Hartman Signed-Off-By: Kay Sievers Signed-off-by: David Vrabel commit 7bc914942295b1ea63635b9c1e93b023bd7d3767 Author: Huang Weiyi Date: Fri Oct 31 22:49:54 2008 +0800 uwb: remove unused #include The file(s) below do not use LINUX_VERSION_CODE nor KERNEL_VERSION. drivers/uwb/drp-ie.c drivers/uwb/hwa-rc.c drivers/uwb/i1480/dfu/usb.c drivers/uwb/i1480/i1480u-wlp/lc.c drivers/uwb/i1480/i1480u-wlp/sysfs.c drivers/uwb/rsv.c drivers/uwb/whc-rc.c This patch removes the said #include . Signed-off-by: Huang Weiyi Signed-off-by: David Vrabel commit 04172c0b9ea5861e5cba7909da5297b3aedac9e1 Merge: 5b99e6c 13d622b Author: Takashi Iwai Date: Fri Oct 31 14:39:49 2008 +0100 Merge branch 'topic/fix/asoc' into topic/asoc commit 5b99e6ccf964e733f0afe2b7bd09559a51a540ca Author: Sedji Gaouaou Date: Fri Oct 3 16:58:58 2008 +0200 ASoC: Add audio support for the Atmel AT91SAM9G20ek board(uing wolfson 8731). Add audio support for the Atmel AT91SAM9G20ek board(uing wolfson 8731). It is based on the former eti_b1_wm8731.c file, using the atmel scc API. Signed-off-by: Sedji Gaouaou Signed-off-by: Mark Brown commit 6c7425095c9ee23d080dba3e27217a254cce4562 Author: Sedji Gaouaou Date: Fri Oct 3 16:57:50 2008 +0200 ASoC: Merge AT91 and AVR32 support into a single atmel architecture The Ateml AT91 and AVR32 SoC share common IP for audio and can share the same driver code using the atmel-ssc API provided for both architectures. Do this, creating a new unified atmel ASoC architecture to replace the previous at32 and at91 ones. [This was contributed as a patch series for reviewability but has been squashed down to a single commit to help preserve both the history and bisectability. A small bugfix from Jukka is included.] Tested-by: Jukka Hynninen Signed-off-by: Sedji Gaouaou Signed-off-by: Mark Brown commit dc06102a0c8b5aa0dd7f9a40ce241e793c252a87 Author: Steve Sakoman Date: Thu Oct 30 21:55:24 2008 -0700 ASoC: Add support for Beagleboard Signed-off-by: Steve Sakoman Signed-off-by: Mark Brown commit 4e207873736adc55cbf92796eb4f26f280f84034 Author: Steve Sakoman Date: Thu Oct 30 21:50:13 2008 -0700 ASoC: Add support for Gumstix Overo Signed-off-by: Steve Sakoman Signed-off-by: Mark Brown commit cc17557e7876a92e11d4b406a367d28e103e42e6 Author: Steve Sakoman Date: Thu Oct 30 21:35:26 2008 -0700 ASoC: Add support for TWL4030 audio codec Signed-off-by: Steve Sakoman Signed-off-by: Mark Brown commit a376f30a95a796cde81d6dffde0f5243c8bd8f92 Author: Zhaolei Date: Fri Oct 31 17:43:04 2008 +0800 x86: avoid duplicate running of pud_offset and pmd_offset in one_md_table_init() Impact: simplify implementation, cleanup If !(pgd_val(*pgd) & _PAGE_PRESENT) in PAE mode, we need not get value of pmd_table again. Signed-off-by: Zhao Lei Signed-off-by: Ingo Molnar commit a26a2a27396c0a0877aa701f8f92d08ba550a6c9 Author: Steven Rostedt Date: Fri Oct 31 00:03:22 2008 -0400 ftrace: nmi safe code clean ups Impact: cleanup This patch cleans up the NMI safe code for dynamic ftrace as suggested by Andrew Morton. Signed-off-by: Steven Rostedt Signed-off-by: Ingo Molnar commit 9868ee63b896ee4d2ceb8c292e88d7f4e66caaf9 Author: Huang Ying Date: Fri Oct 31 09:48:15 2008 +0800 kexec/i386: setup kexec page table in C Impact: change the kexec bootstrap code implementation from assembly to C This patch transforms the kexec page tables setup code from assembler code to C code in machine_kexec_prepare. This improves readability and reduces code line number. Signed-off-by: Huang Ying Signed-off-by: Ingo Molnar commit 92be3d6bdf2cb34972ab50e12ad4da1076e690da Author: Huang Ying Date: Fri Oct 31 09:48:08 2008 +0800 kexec/i386: allocate page table pages dynamically Impact: save .text size when kexec is built in but not loaded This patch adds an architecture specific struct kimage_arch into struct kimage. The pointers to page table pages used by kexec are added to struct kimage_arch. The page tables pages are dynamically allocated in machine_kexec_prepare instead of statically from BSS segment. This will save up to 20k memory when kexec image is not loaded. Signed-off-by: Huang Ying Signed-off-by: Ingo Molnar commit 31498a01496ffca3b542bae72b8ec499cd9302db Author: Huang Ying Date: Fri Oct 31 09:48:02 2008 +0800 kexec/i386: remove PAGE_SIZE alignment from relocate_kernel Impact: save kernel .text by loosening kexec page alignment This patch removes PAGE_SIZE alignment from relocate_kernel(). Before kexec jump patches are merged, control page is mapped to relocate_kernel in kexec page tables, so relocate_kernel must be PAGE_SIZE aligned. Now, control page is mapped to identity mapped address, so relocate_kernel need not to be PAGE_SIZE aligned any more. This can reduce a few KB from kernel text segement. Signed-off-by: Huang Ying Signed-off-by: Ingo Molnar commit 3685f25de1b0447fff381c420de1e25bd57c9efb Author: Harvey Harrison Date: Fri Oct 31 00:56:49 2008 -0700 misc: replace NIPQUAD() Using NIPQUAD() with NIPQUAD_FMT, %d.%d.%d.%d or %u.%u.%u.%u can be replaced with %pI4 Signed-off-by: Harvey Harrison Signed-off-by: David S. Miller commit be859405487324ed548f1ba11dc949b8230ab991 Author: Harvey Harrison Date: Fri Oct 31 00:56:28 2008 -0700 fs: replace NIPQUAD() Using NIPQUAD() with NIPQUAD_FMT, %d.%d.%d.%d or %u.%u.%u.%u can be replaced with %pI4 Signed-off-by: Harvey Harrison Signed-off-by: David S. Miller commit 63779436ab4ad0867bcea53bf853b0004d7b895d Author: Harvey Harrison Date: Fri Oct 31 00:56:00 2008 -0700 drivers: replace NIPQUAD() Using NIPQUAD() with NIPQUAD_FMT, %d.%d.%d.%d or %u.%u.%u.%u can be replaced with %pI4 Signed-off-by: Harvey Harrison Signed-off-by: David S. Miller commit 21454aaad30651ba0dcc16fe5271bc12ee21f132 Author: Harvey Harrison Date: Fri Oct 31 00:54:56 2008 -0700 net: replace NIPQUAD() in net/*/ Using NIPQUAD() with NIPQUAD_FMT, %d.%d.%d.%d or %u.%u.%u.%u can be replaced with %pI4 Signed-off-by: Harvey Harrison Signed-off-by: David S. Miller commit 14d5e834f6b36667c7da56374645f99b6cf30814 Author: Harvey Harrison Date: Fri Oct 31 00:54:29 2008 -0700 net: replace NIPQUAD() in net/netfilter/ Using NIPQUAD() with NIPQUAD_FMT, %d.%d.%d.%d or %u.%u.%u.%u can be replaced with %pI4 Signed-off-by: Harvey Harrison Signed-off-by: David S. Miller commit 673d57e72398edfedc93fb50ff58048077c9d587 Author: Harvey Harrison Date: Fri Oct 31 00:53:57 2008 -0700 net: replace NIPQUAD() in net/ipv4/ net/ipv6/ Using NIPQUAD() with NIPQUAD_FMT, %d.%d.%d.%d or %u.%u.%u.%u can be replaced with %pI4 Signed-off-by: Harvey Harrison Signed-off-by: David S. Miller commit cffee385d7f367e80b288abf4261256477f7760e Author: Harvey Harrison Date: Fri Oct 31 00:53:08 2008 -0700 net: replace NIPQUAD() in net/ipv4/netfilter/ Using NIPQUAD() with NIPQUAD_FMT, %d.%d.%d.%d or %u.%u.%u.%u can be replaced with %pI4 Signed-off-by: Harvey Harrison Signed-off-by: David S. Miller commit 77be155cba4e163e8bba9fd27222a8b6189ec4f7 Author: Jarek Poplawski Date: Fri Oct 31 00:47:01 2008 -0700 pkt_sched: Add peek emulation for non-work-conserving qdiscs. This patch adds qdisc_peek_dequeued() wrapper to emulate peek method with qdisc->dequeue() and storing "peeked" skb in qdisc->gso_skb until dequeuing. This is mainly for compatibility reasons not to break some strange configs because peeking is expected for non-work-conserving parent qdiscs to query work-conserving child qdiscs. This implementation requires using qdisc_dequeue_peeked() wrapper instead of directly calling qdisc->dequeue() for all qdiscs ever querried with qdisc->ops->peek() or qdisc_peek_dequeued(). Signed-off-by: Jarek Poplawski Signed-off-by: David S. Miller commit 03c05f0d4bb0c267edf12d614025a40e33c5a6f9 Author: Jarek Poplawski Date: Fri Oct 31 00:46:19 2008 -0700 pkt_sched: Use qdisc->ops->peek() instead of ->dequeue() & ->requeue() Use qdisc->ops->peek() instead of ->dequeue() & ->requeue() pair. After this patch the only remaining user of qdisc->ops->requeue() is netem_enqueue(). Based on ideas of Herbert Xu, Patrick McHardy and David S. Miller. Signed-off-by: Jarek Poplawski Signed-off-by: David S. Miller commit 8e3af97899db433111287e07d5105189f56fe191 Author: Jarek Poplawski Date: Fri Oct 31 00:45:55 2008 -0700 pkt_sched: Add qdisc->ops->peek() implementation. Add qdisc->ops->peek() implementation for work-conserving qdiscs. With feedback from Patrick McHardy. Signed-off-by: Jarek Poplawski Signed-off-by: David S. Miller commit 99c0db26797edb39cf83c8c5f8972067f5426b4e Author: Jarek Poplawski Date: Fri Oct 31 00:45:27 2008 -0700 pkt_sched: sch_generic: Add generic qdisc->ops->peek() implementation. With feedback from Patrick McHardy. Signed-off-by: Jarek Poplawski Signed-off-by: David S. Miller commit 48a8f519e0fe22a5c98523286b2a120841a11dd5 Author: Patrick McHardy Date: Fri Oct 31 00:44:18 2008 -0700 pkt_sched: Add ->peek() methods for fifo, prio and SFQ qdiscs. From: Patrick McHardy Just as a demonstration how easy adding a peek operation to the work-conserving qdiscs actually is. It doesn't need to keep or change any internal state in many cases thanks to the guarantee that the packet will either be dequeued or, if another packet arrives, the upper qdisc will immediately ->peek again to reevaluate the state. (This is only slightly modified Patrick's patch.) Signed-off-by: Jarek Poplawski Signed-off-by: David S. Miller commit 90d841fd0a5e02affd4e2bbdde4f710c61599281 Author: Jarek Poplawski Date: Fri Oct 31 00:43:45 2008 -0700 pkt_sched: sch_generic: Add Qdisc_ops peek() method. Add Qdisc_ops peek() method in order to replace requeuing. Based on ideas and patches of Herbert Xu, Patrick McHardy and David S. Miller. Signed-off-by: Jarek Poplawski Signed-off-by: David S. Miller commit cc0fe83525d734bdd9c883b45eca6bb22f286daa Author: Alexey Dobriyan Date: Fri Oct 31 00:42:25 2008 -0700 xfrm: remove unused struct xfrm_policy::next Signed-off-by: Alexey Dobriyan Signed-off-by: David S. Miller commit d5917a35ac0d8ebfb4a7d0db3b66054009bd4f37 Author: Alexey Dobriyan Date: Fri Oct 31 00:41:59 2008 -0700 xfrm: C99 for xfrm_dev_notifier Signed-off-by: Alexey Dobriyan Signed-off-by: David S. Miller commit a1744d3bee19d3b9cbfb825ab316a101b9c9f109 Merge: 275f165 a4322266 Author: David S. Miller Date: Fri Oct 31 00:17:34 2008 -0700 Merge branch 'master' of master.kernel.org:/pub/scm/linux/kernel/git/davem/net-2.6 Conflicts: drivers/net/wireless/p54/p54common.c commit 57b41898c2ecd13a9d338b66ef23f66caab5c4e9 Author: Stephen Rothwell Date: Fri Oct 31 14:41:06 2008 +1100 ALSA: ASoC - restore removed variable declaration sound/soc/soc-dapm.c: In function 'snd_soc_dapm_sys_add': sound/soc/soc-dapm.c:828: error: 'ret' undeclared (first use in this function) Signed-off-by: Stephen Rothwell Signed-off-by: Takashi Iwai commit 275f165fa970174f8a98205529750e8abb6c0a33 Author: Arjan van de Ven Date: Mon Oct 20 21:42:39 2008 -0700 pci: use pci_ioremap_bar() in drivers/net Use the newly introduced pci_ioremap_bar() function in drivers/net. pci_ioremap_bar() just takes a pci device and a bar number, with the goal of making it really hard to get wrong, while also having a central place to stick sanity checks. Signed-off-by: Arjan van de Ven Signed-off-by: Jeff Garzik commit 842e08bd6891bd78b4c3d2e0c4a94bebb32ab3ad Author: Atsushi Nemoto Date: Tue Oct 28 22:30:23 2008 +0900 tc35815: Define more Rx status bits Signed-off-by: Atsushi Nemoto Signed-off-by: Jeff Garzik commit 04ecb07241d8731b16490f10bec6ccedf5cfc792 Author: Divy Le Ray Date: Tue Oct 28 22:40:32 2008 -0700 cxgb3 - enable lro control through ethtool Implement ethtool's get_flags and set_flags methods. It enables ethtool to control the LRO settings. Signed-off-by: Divy Le Ray Signed-off-by: Jeff Garzik commit bc79fc8409b3dccbde072e8113cc1fb3fd876fc5 Author: Rafael J. Wysocki Date: Wed Oct 29 14:22:18 2008 -0700 e100: adapt to the reworked PCI PM Adapt the e100 driver to the reworked PCI PM * Use the observation that it is sufficient to call pci_enable_wake() once, unless it fails Signed-off-by: Rafael J. Wysocki Tested-by: Jeff Kirsher Acked-by: Jeff Kirsher Cc: Jesse Barnes Cc: Jeff Garzik Cc: Frans Pop Signed-off-by: Andrew Morton Signed-off-by: Jeff Garzik commit 6b1abbaefa31b84cc02bf4006ba8a63393de1136 Author: Adrian Bunk Date: Wed Oct 29 14:22:15 2008 -0700 The overdue eepro100 removal. Signed-off-by: Adrian Bunk Cc: Jeff Garzik Signed-off-by: Andrew Morton Signed-off-by: Jeff Garzik commit 5177b3240a6608fc0c9c05cc32f4855c6540f8d5 Author: Rafael J. Wysocki Date: Wed Oct 29 14:22:14 2008 -0700 skge: adapt skge to use reworked PCI PM Adapt the skge driver to the reworked PCI PM * Use device_set_wakeup_enable() and friends as needed * Remove an open-coded reference to the standard PCI PM registers * Use pci_prepare_to_sleep() and pci_back_from_sleep() in the ->suspend() and ->resume() callbacks * Use the observation that it is sufficient to call pci_enable_wake() once, unless it fails Tested on Asus L5D (Yukon-Lite rev 7). Signed-off-by: Rafael J. Wysocki Cc: Stephen Hemminger Cc: Jeff Garzik Cc: Jesse Barnes Signed-off-by: Andrew Morton Signed-off-by: Jeff Garzik commit 91b777125175077fb74025608dba87f100586c62 Author: David Howells Date: Fri Oct 31 15:50:04 2008 +1100 CRED: Wrap task credential accesses in the XFS filesystem Wrap access to task credentials so that they can be separated more easily from the task_struct during the introduction of COW creds. Change most current->(|e|s|fs)[ug]id to current_(|e|s|fs)[ug]id(). Change some task->e?[ug]id to task_e?[ug]id(). In some places it makes more sense to use RCU directly rather than a convenient wrapper; these will be addressed by later patches. Signed-off-by: David Howells Reviewed-by: James Morris Acked-by: Serge Hallyn commit b3acf29afda06c76774dc6df6246c37ae707836b Author: Steven Rostedt Date: Wed Oct 29 15:30:26 2008 -0400 ftrace, kbuild: condense recordmcount.pl parameter code Impact: cleanup Sam Ravnborg pointed out that I could condense the code for the parameters of recordmcount.pl by using an $(if ...) condition. Signed-off-by: Steven Rostedt Acked-by: Sam Ravnborg Signed-off-by: Ingo Molnar commit e1e302d8a9ab06ba8d7d5ec503d8996e6cf0eca4 Merge: 944ac42 7f82f00 Author: Ingo Molnar Date: Fri Oct 31 00:38:21 2008 +0100 Merge branch 'linus' into tracing/ftrace commit c8db3fec5b02f4cefe441903fe1c142ff14e1771 Author: Eric Dumazet Date: Thu Oct 30 14:00:53 2008 -0700 udp: Should use spin_lock_bh()/spin_unlock_bh() in udp_lib_unhash() Spotted by Alexander Beregalov Signed-off-by: Eric Dumazet Signed-off-by: David S. Miller commit b807c3d0f8e39ed7cbbbe6da162650e305e8de15 Author: Steven Rostedt Date: Thu Oct 30 16:08:33 2008 -0400 ftrace: nmi update statistics Impact: add more debug info to /debugfs/tracing/dyn_ftrace_total_info This patch adds dynamic ftrace NMI update statistics to the /debugfs/tracing/dyn_ftrace_total_info stat file. Signed-off-by: Steven Rostedt Cc: Peter Zijlstra Cc: Andrew Morton Cc: Linus Torvalds Cc: Steven Rostedt Signed-off-by: Ingo Molnar commit 17666f02b118099028522dfc3df00a235700e216 Author: Steven Rostedt Date: Thu Oct 30 16:08:32 2008 -0400 ftrace: nmi safe code modification Impact: fix crashes that can occur in NMI handlers, if their code is modified Modifying code is something that needs special care. On SMP boxes, if code that is being modified is also being executed on another CPU, that CPU will have undefined results. The dynamic ftrace uses kstop_machine to make the system act like a uniprocessor system. But this does not address NMIs, that can still run on other CPUs. One approach to handle this is to make all code that are used by NMIs not be traced. But NMIs can call notifiers that spread throughout the kernel and this will be very hard to maintain, and the chance of missing a function is very high. The approach that this patch takes is to have the NMIs modify the code if the modification is taking place. The way this works is that just writing to code executing on another CPU is not harmful if what is written is the same as what exists. Two buffers are used: an IP buffer and a "code" buffer. The steps that the patcher takes are: 1) Put in the instruction pointer into the IP buffer and the new code into the "code" buffer. 2) Set a flag that says we are modifying code 3) Wait for any running NMIs to finish. 4) Write the code 5) clear the flag. 6) Wait for any running NMIs to finish. If an NMI is executed, it will also write the pending code. Multiple writes are OK, because what is being written is the same. Then the patcher must wait for all running NMIs to finish before going to the next line that must be patched. This is basically the RCU approach to code modification. Thanks to Ingo Molnar for suggesting the idea, and to Arjan van de Ven for his guidence on what is safe and what is not. Signed-off-by: Steven Rostedt Signed-off-by: Ingo Molnar commit d98d38f2014ab79f28c126ff175d034891f7aefc Author: Arjan van de Ven Date: Wed Oct 29 14:24:09 2008 -0700 mutex: improve header comment to be actually informative about the API Impact: improve documentation It's nice to say that mutex_trylock follows the spin_trylock convention. It's a lot nicer if the comment also says which that is... make it so. Signed-off-by: Arjan van de Ven Signed-off-by: Ingo Molnar Signed-off-by: Andrew Morton commit d899e05215178fed903ad0e7fc1cb4d8e0cc0a88 Author: Yan Zheng Date: Thu Oct 30 14:25:28 2008 -0400 Btrfs: Add fallocate support v2 This patch updates btrfs-progs for fallocate support. fallocate is a little different in Btrfs because we need to tell the COW system that a given preallocated extent doesn't need to be cow'd as long as there are no snapshots of it. This leverages the -o nodatacow checks. Signed-off-by: Yan Zheng commit 80ff385665b7fca29fefe358a60ab0d09f9b8e87 Author: Yan Zheng Date: Thu Oct 30 14:20:02 2008 -0400 Btrfs: update nodatacow code v2 This patch simplifies the nodatacow checker. If all references were created after the latest snapshot, then we can avoid COW safely. This patch also updates run_delalloc_nocow to do more fine-grained checking. Signed-off-by: Yan Zheng commit 6643558db29006825dbb10012b3f8890aca4bcd5 Author: Yan Zheng Date: Thu Oct 30 14:19:50 2008 -0400 Btrfs: Fix bookend extent race v2 When dropping middle part of an extent, btrfs_drop_extents truncates the extent at first, then inserts a bookend extent. Since truncation and insertion can't be done atomically, there is a small period that the bookend extent isn't in the tree. This causes problem for functions that search the tree for file extent item. The way to fix this is lock the range of the bookend extent before truncation. Signed-off-by: Yan Zheng commit 9036c10208e1fc496cef7692ba66a78699b360dc Author: Yan Zheng Date: Thu Oct 30 14:19:41 2008 -0400 Btrfs: update hole handling v2 This patch splits the hole insertion code out of btrfs_setattr into btrfs_cont_expand and updates btrfs_get_extent to properly handle the case that file extent items are not continuous. Signed-off-by: Yan Zheng commit 19b9bdb054895ba07086f0264641c9f80e0eb2c4 Author: Chris Mason Date: Thu Oct 30 14:23:13 2008 -0400 Btrfs: Fix logic to avoid reading checksums for -o nodatasum,compress When compression was on, we were improperly ignoring -o nodatasum. This reworks the logic a bit to properly honor all the flags. Signed-off-by: Chris Mason commit 1cbd8b3fdcf56a3c39a7596512095c9e33221fa1 Author: Jan Beulich Date: Thu Oct 30 10:45:36 2008 +0000 x86: add two missing unwind annotations Impact: improve debuginfo Signed-off-by: Jan Beulich Signed-off-by: Ingo Molnar commit 8a1c8eb75be492e20003966652c9cd5ff57a559d Author: Aristeu Rozanski Date: Thu Oct 30 13:08:50 2008 -0400 x86, nmi-watchdog: update procfs nmi_watchdog file documentation v2 Impact: improve documentation This patch updates the /proc/sys/kernel/nmi_watchdog documentation. Updated: included Randy Dunlap's corrections. Signed-off-by: Aristeu Rozanski Acked-by: Randy Dunlap Signed-off-by: Ingo Molnar commit b062f841b569791d3054e975cd85f48562161565 Author: Cyrill Gorcunov Date: Thu Oct 30 19:16:46 2008 +0300 x86: nmi - add sensible names to nmi_watchdog boot param Impact: introduce nmi_watchdog=lapic and nmi_watchdog=ioapic aliases Add sensible names as "lapic" and "ioapic" to nmi_watchdog boot parameter. Sometimes it is not that easy to recall what exactly nmi_watchdog=1 does mean so we allow the using of symbolic names here. Old numeric values remain valid. Signed-off-by: Cyrill Gorcunov Signed-off-by: Ingo Molnar commit 7a5276889cfa96619bf863c87581005f46139986 Author: Jan Beulich Date: Thu Oct 30 10:38:24 2008 +0000 x86: simplify X86_MPPARSE config option Impact: cleanup Signed-off-by: Jan Beulich Signed-off-by: Ingo Molnar commit cfbc246eaae2a1089911016094b74b3055e8a906 Author: Chris Mason Date: Thu Oct 30 13:22:14 2008 -0400 Btrfs: walk compressed pages based on the nr_pages count instead of bytes The byte walk counting was awkward and error prone. This uses the number of pages sent the higher layer to build bios. Signed-off-by: Chris Mason commit 0763722d28b7b58fa1f9b83d3378efcde855b18a Author: Takashi Iwai Date: Thu Oct 30 17:53:19 2008 +0100 ALSA: ASoC - Fix a typo in Kconfig The last change to Kconfig ca53fb24dd21bff32c4b41b2be1035a1adfc0135 added a wrong item SND_SOC_AC97, which must be SND_SOC_AC97_CODEC. Signed-off-by: Takashi Iwai commit 0c235d1e837c142b7565814318b6ba5917d5ac32 Author: Timur Tabi Date: Thu Aug 7 11:22:32 2008 -0500 ASoC: Disable automatic volume control in the CS4270 sound driver Disable the automatic volume control feature of the CS4270 audio codec. This feature, which is enabled by default, causes volume change commands to be delayed. Sometimes the volume change happens after playback is started. Signed-off-by: Timur Tabi Signed-off-by: Mark Brown commit ca53fb24dd21bff32c4b41b2be1035a1adfc0135 Author: Mark Brown Date: Wed Oct 22 22:41:11 2008 +0100 ASoC: Use finer grained dependencies in SND_SOC_ALL_CODECS Move the bus dependencies in SND_SOC_ALL_CODECS into the individual codec options rather than have them centrally. This allows the inclusion of AC97 codecs when testing on platforms with AC97 support and will also handle codecs on multi-function devices more gracefully. Signed-off-by: Mark Brown commit e775f6c0fb6ac25ab8845d4ad1e17b4b015487f0 Author: Mark Brown Date: Tue Oct 28 15:04:35 2008 +0000 ASoC: Do a warm reset after cold when resetting the WM9713 The WM9713 comes out of cold reset in low power mode so always requires a warm reset to bring up the AC97 link after a cold reset. Signed-off-by: Mark Brown commit 1b340bd7e444f20eb2df88c65fa34960c4736ee9 Author: Mark Brown Date: Wed Jul 30 19:12:04 2008 +0100 ASoC: Add PXA SSP support The SSP ports PXA series processors can be used to implement a variety of audio interface formats. This patch implements support for I2S, DSP A and DSP B modes on these ports. This patch is based on the previous out of tree pxa2xx-ssp driver (which was originally written by Liam Girdwood with updates from Philipp Zabel and Nicola Perrino) and pxa3xx-ssp driver (originally written by Seth Forsee based on the pxa2xx-ssp driver). Testing coverage is not complete currently. Tested-by: Daniel Ribeiro Signed-off-by: Mark Brown commit 87ef2bb46bfc4be0b40799e68115cbe28d80a1bd Author: Chris Mason Date: Thu Oct 30 11:23:27 2008 -0400 Btrfs: prevent looping forever in finish_current_insert and del_pending_extents finish_current_insert and del_pending_extents process extent tree modifications that build up while we are changing the extent tree. It is a confusing bit of code that prevents recursion. Both functions run through a list of pending operations and both funcs add to the list of pending operations. If you have two procs in either one of them, they can end up looping forever making more work for each other. This patch makes them walk forward through the list of pending changes instead of always trying to process the entire list. At transaction commit time, we catch any changes that were left over. Signed-off-by: Chris Mason commit 8b6a5a37f87a414ef8636e36ec75accb27bb7508 Author: Eric Paris Date: Wed Oct 29 17:06:46 2008 -0400 SELinux: check open perms in dentry_open not inode_permission Some operations, like searching a directory path or connecting a unix domain socket, make explicit calls into inode_permission. Our choices are to either try to come up with a signature for all of the explicit calls to inode_permission and do not check open on those, or to move the open checks to dentry_open where we know this is always an open operation. This patch moves the checks to dentry_open. Signed-off-by: Eric Paris Acked-by: Stephen Smalley Signed-off-by: James Morris commit 219b93f5252086c8c8d647c77fc9e1377aab0c8d Author: Mark Brown Date: Tue Oct 28 13:02:31 2008 +0000 ASoC: Remove DAPM restriction on mixer control name lengths As well as ensuring that UI-relevant parts of control names don't get truncated in the DAPM code this avoids conflicts in long control names that differ only at the end of a long string. Signed-off-by: Mark Brown commit f24368c2fb524e911b831b86b5f0acfb38c70317 Author: Mark Brown Date: Tue Oct 21 21:45:08 2008 +0100 ASoC: Convert core to use standard debug print macros Signed-off-by: Mark Brown commit d45f6219d256b4e02f9ebee2e3911f4ea80bac70 Author: Mark Brown Date: Tue Oct 14 13:58:36 2008 +0100 ASoC: Fix handling of DAPM suspend work Since we can query the playback stream power state directly we do not need to infer if it is powered up from the timer being scheduled. Doing this avoids problems that previously existed with streams being incorrectly determined to be powered up caused when the timer is scheduled when streams are closed after being partially set up. Reported-by: Nobin Mathew Reported-by: Jukka Hynninen Signed-off-by: Mark Brown commit 12ef193d5817504621e503e78d641265f6a86ac4 Author: Troy Kisky Date: Mon Oct 13 17:42:14 2008 -0700 ASoC: Allow setting codec register with debugfs filesystem i.e. echo 6 59 >/sys/kernel/debug/soc-audio.0/codec_reg will set register 0x06 to a value of 0x59. Also, pop_time debugfs interface setup is moved so that it is setup in the same function as codec_reg Signed-off-by: Troy Kisky Signed-off-by: Mark Brown commit a6c2490f010d9235b1424110c6f414460e41dfe1 Author: Kay Sievers Date: Thu Oct 30 00:07:50 2008 -0400 Input: struct device - replace bus_id with dev_name(), dev_set_name() Acked-by: Greg Kroah-Hartman Signed-off-by: Kay Sievers Signed-off-by: Dmitry Torokhov commit 57917752f51bcead3bb6c83d74137fbe342504ec Author: Hiroshi Shimamoto Date: Wed Oct 29 18:46:40 2008 -0700 x86: signal: cosmetic unification of NR_restart_syscall Impact: cleanup Add #ifdef directive to unify NR_restart_syscall. Signed-off-by: Hiroshi Shimamoto Signed-off-by: Ingo Molnar commit cabf503588961d202a33b3fd872767e9f6abbef7 Author: Hiroshi Shimamoto Date: Wed Oct 29 18:46:07 2008 -0700 x86: signal: cosmetic unification of macros for setup_rt_frame() Impact: cleanup Add #ifdef directive for unification. Signed-off-by: Hiroshi Shimamoto Signed-off-by: Ingo Molnar commit 96bf84b71255b0ee4fcee91e9acd1b5e73030eaf Author: Hiroshi Shimamoto Date: Wed Oct 29 18:44:08 2008 -0700 x86: signal: cosmetic unification of signr_convert() Impact: cleanup Make signr_convert() same. Signed-off-by: Hiroshi Shimamoto Signed-off-by: Ingo Molnar commit 34f3a814eef8069a24e5b3ebcf27aba9dabac2ea Author: Li Zefan Date: Thu Oct 30 15:23:32 2008 +0800 sched: switch sched_features to seqfile Impact: cleanup So handling of sched_features read is simplified. Signed-off-by: Li Zefan Acked-by: Peter Zijlstra Signed-off-by: Ingo Molnar commit e3bd9ec5d8bfc90f9e1bd995677829e57a404061 Author: Ben Dooks Date: Thu Oct 30 10:14:39 2008 +0000 [ARM] S3C24XX: Move mci.h to arch/arm/plat-s3c24xx/include/plat Move mci.h to new position in arch/arm/plat-s3c24xx/include/plat ready to clean out old include directories. Signed-off-by: Ben Dooks commit 13622708725990b01fbc6d59d54d93820a726d7c Author: Ben Dooks Date: Thu Oct 30 10:14:38 2008 +0000 [ARM] S3C: Move plat/regs-spi.h to arch/arm/plat-s3c/include/plat. Move plat/regs-spi.h to arch/arm/plat-s3c/include/plat ready ready to clean out old include directories. Signed-off-by: Ben Dooks commit 57bd4b91a6cfc5bad4c5d829ef85293ea63643ea Author: Ben Dooks Date: Thu Oct 30 10:14:37 2008 +0000 [ARM] S3C24XX: Movev udc headers to arch/arm/plat-s3c24xx/include/plat Move the udc headers to the proper home in arch/arm/plat-s3c24xx/include/plat ready to clean out the old include directories. Signed-off-by: Ben Dooks commit f74c95c20bad8e183e41283475f68a3e7b247af4 Author: Ben Dooks Date: Thu Oct 30 10:14:36 2008 +0000 [ARM] S3C: Move regs-ac97.h to arch/arm/plat-s3c/include/plat. Move regs-ac97.h to arch/arm/plat-s3c/include/plat ready to clean out old include directories. Signed-off-by: Ben Dooks commit 7926b5a325f06745a1bed75bfb4ef814d0ae9d99 Author: Ben Dooks Date: Thu Oct 30 10:14:35 2008 +0000 [ARM] S3C: Move nand headers to arch/arm/plat-s3c/include/plat Move nand headers to arch/arm/plat-s3c/include/plat ready to clean out the old include directories. Signed-off-by: Ben Dooks commit e2cd00cfebd9a25e0e09712b0116ef18edc2cd98 Author: Ben Dooks Date: Thu Oct 30 10:14:34 2008 +0000 [ARM] S3C: Move regs-rtc.h to arch/arm/plat-s3c/include/plat Move regs-rtc.h to arch/arm/plat-s3c/include/plat ready to clean out old include directories. Signed-off-by: Ben Dooks commit 9498cb79463c9b2abb243a4b0c2ce3ac1853d5b0 Author: Ben Dooks Date: Thu Oct 30 10:14:33 2008 +0000 [ARM] S3C: Move i2c headers to arch/arm/plat-s3c/include/plat. Move the i2c headers to arch/arm/plat-s3c/include/plat ready to clean out the old include directories. Signed-off-by: Ben Dooks commit 180ee700ddfcc882d90410d979a4b3a804380ed2 Author: Ben Dooks Date: Thu Oct 30 10:14:32 2008 +0000 [ARM] S3C: Move regs-watchdog.h to arch/arm/plat-s3c/include/plat Move regs-watchdog.h to arch/arm/plat-s3c/include/plat ready to clean out the old include directories Signed-off-by: Ben Dooks commit 6bfb3d065f4c498c17a3a07f3dc08cedff53aff4 Author: David Chinner Date: Thu Oct 30 18:32:43 2008 +1100 [XFS] Fix race when looking up reclaimable inodes If we get a race looking up a reclaimable inode, we can end up with the winner proceeding to use the inode before it has been completely re-initialised. This is a Bad Thing. Fix the race by checking whether we are still initialising the inod eonce we have a reference to it, and if so wait for the initialisation to complete before continuing. While there, fix a leaked reference count in the same code when encountering an unlinked inode and we are not doing a lookup for a create operation. SGI-PV: 987246 SGI-Modid: xfs-linux-melb:xfs-kern:32429a Signed-off-by: David Chinner Signed-off-by: Lachlan McIlroy commit e0b8e8b65d578f5d5538465dff8392cf02e1cc5d Author: Tim Shimmin Date: Thu Oct 30 18:30:48 2008 +1100 [XFS] remove restricted chown parameter from xfs linux On Linux all filesystems are supposed to be operating under Posix' restricted chown. Restricted chown means it restricts chown to the owner unless you have CAP_FOWNER. NOTE: that 2 files outside of fs/xfs have been modified too for this change. Reviewed-by: Dave Chinner SGI-PV: 988919 SGI-Modid: xfs-linux-melb:xfs-kern:32413a Signed-off-by: Tim Shimmin Signed-off-by: Christoph Hellwig Signed-off-by: David Chinner Signed-off-by: Lachlan McIlroy commit f3f0d7b026ae34d6ed5ae67cd4dd5909f9cd70a5 Author: Tim Shimmin Date: Thu Oct 30 18:30:09 2008 +1100 [XFS] remove restricted chown parameter from xfs linux On Linux all filesystems are supposed to be operating under Posix' restricted chown. Restricted chown means it restricts chown to the owner unless you have CAP_FOWNER. NOTE: that 2 files outside of fs/xfs have been modified too for this change. Reviewed-by: Dave Chinner SGI-PV: 988919 SGI-Modid: 2.6.x-xfs-melb:linux:32413b Signed-off-by: Tim Shimmin Signed-off-by: Christoph Hellwig Signed-off-by: David Chinner Signed-off-by: Lachlan McIlroy commit ea5a3dc8356bf1cf27bab9a5a0da5dfbbb82013d Author: Christoph Hellwig Date: Thu Oct 30 18:27:48 2008 +1100 [XFS] kill sys_cred capable_cred has been unused for a while so we can kill it and sys_cred. That also means the cred argument to xfs_setattr and xfs_change_file_space can be removed now. SGI-PV: 988918 SGI-Modid: xfs-linux-melb:xfs-kern:32412a Signed-off-by: Christoph Hellwig Signed-off-by: Tim Shimmin Signed-off-by: David Chinner Signed-off-by: Lachlan McIlroy commit 7ee49acfe54883f16d28d9486b789431a5804d18 Author: David Chinner Date: Thu Oct 30 18:26:51 2008 +1100 [XFS] correctly select first log item to push Under heavy metadata load we are seeing log hangs. The AIL has items in it ready to be pushed, and they are within the push target window. However, we are not pushing them when the last pushed LSN is less than the LSN of the first log item on the AIL. This is a regression introduced by the AIL push cursor modifications. SGI-PV: 987246 SGI-Modid: xfs-linux-melb:xfs-kern:32409a Signed-off-by: David Chinner Signed-off-by: Lachlan McIlroy Signed-off-by: Tim Shimmin commit 9ed0451ee0a13469f7b38e4ced8974036f6d114f Author: Christoph Hellwig Date: Thu Oct 30 18:26:04 2008 +1100 [XFS] free partially initialized inodes using destroy_inode To make sure we free the security data inodes need to be freed using the proper VFS helper (which we also need to export for this). We mark these inodes bad so we can skip the flush path for them. SGI-PV: 987246 SGI-Modid: xfs-linux-melb:xfs-kern:32398a Signed-off-by: Christoph Hellwig Signed-off-by: Lachlan McIlroy Signed-off-by: David Chinner commit 087e3b0460c367d0f4a5b71d7b013968ae23b588 Author: Christoph Hellwig Date: Thu Oct 30 18:24:37 2008 +1100 Inode: export symbol destroy_inode To make sure we free the security data inodes need to be freed using the proper VFS helper (which we also need to export for this). We mark these inodes bad so we can skip the flush path for them. Signed-off-by: Christoph Hellwig Signed-off-by: Lachlan McIlroy Signed-off-by: David Chinner commit c679eef0520eb3c2c731fce505e61b8ef9469aac Author: Christoph Hellwig Date: Thu Oct 30 18:04:13 2008 +1100 [XFS] stop using xfs_itobp in xfs_bulkstat xfs_bulkstat only wants the dinode, offset and buffer from a given inode number. Instead of using xfs_itobp on a fake inode which is complicated and currently leads to leaks of the security data just use xfs_inotobp which is designed to do exactly the kind of lookup xfs_bulkstat wants. The only thing that's missing in xfs_inotobp is a flags paramter that let's us pass down XFS_IMAP_BULKSTAT, but that can easily added. SGI-PV: 987246 SGI-Modid: xfs-linux-melb:xfs-kern:32397a Signed-off-by: Christoph Hellwig Signed-off-by: Lachlan McIlroy Signed-off-by: David Chinner commit 455486b9ccdd0a1d7432a03302f549b1c917c181 Author: David Chinner Date: Thu Oct 30 18:03:14 2008 +1100 [XFS] avoid all reclaimable inodes in xfs_sync_inodes_ag If we are syncing data in xfs_sync_inodes_ag(), the VFS inode must still be referencable as the dirty data state is carried on the VFS inode. hence if we can't get a reference via igrab(), the inode must be in reclaim which implies that it has no dirty data attached. Leave such inodes to the reclaim code to flush the dirty inode state to disk and so avoid attempting to access the VFS inode when it may not exist in xfs_sync_inodes_ag(). Version 4: o don't reference linux inode until after igrab() succeeds Version 3: o converted unlock/rele to an xfs_iput() call. Version 2: o change igrab logic to be more linear o remove initial reclaimable inode check now that we are using igrab() failure to find reclaimable inodes o assert that igrab failure occurs only on reclaimable inodes o clean up inode locking - only grab the iolock if we are doing a SYNC_DELWRI call and we have a dirty inode. SGI-PV: 987246 SGI-Modid: xfs-linux-melb:xfs-kern:32391a Signed-off-by: David Chinner Signed-off-by: Christoph Hellwig Signed-off-by: Peter Leckie Signed-off-by: Lachlan McIlroy commit 56e73ec47d749047f441e6b9d60d964535d31c3b Author: David Chinner Date: Thu Oct 30 17:55:27 2008 +1100 [XFS] Can't lock inodes in radix tree preload region When we are inside a radix tree preload region, we cannot sleep. Recently we moved the inode locking inside the preload region for the inode radix tree. Fix that, and fix a missed unlock in another error path in the same code at the same time. SGI-PV: 987246 SGI-Modid: xfs-linux-melb:xfs-kern:32385a Signed-off-by: David Chinner Signed-off-by: Lachlan McIlroy Signed-off-by: Christoph Hellwig commit 2b7035fd7473c799ca3372092d72c768c7db329d Author: Christoph Hellwig Date: Thu Oct 30 17:55:18 2008 +1100 [XFS] Trivial xfs_remove comment fixup The dp to ip comment should be for the unconditional xfs_droplink call, and the "." link obviously only exists for directories, so it should be in the is_dir conditional. SGI-PV: 987246 SGI-Modid: xfs-linux-melb:xfs-kern:32374a Signed-off-by: Christoph Hellwig Signed-off-by: Donald Douwsma Signed-off-by: David Chinner Signed-off-by: Lachlan McIlroy commit 1ec7944beb6f3c29f1e58a66422130133727e9e1 Author: Christoph Hellwig Date: Thu Oct 30 17:55:08 2008 +1100 [XFS] fix biosize option iosizelog shouldn't be the same as iosize but the logarithm of it. Then again the current biosize option doesn't make much sense to me as it doesn't set the preferred I/O size as mentioned in the comment next to it but rather the allocation size and thus is identical to the allocsize option (except for the missing logarithm). It's also not documented in Documentation/filesystems/xfs.txt or the mount manpage. SGI-PV: 987246 SGI-Modid: xfs-linux-melb:xfs-kern:32373a Signed-off-by: Christoph Hellwig Signed-off-by: Donald Douwsma Signed-off-by: David Chinner Signed-off-by: Lachlan McIlroy commit 469fc23d5dd172665c69099db776c39bb1b70f92 Author: Christoph Hellwig Date: Thu Oct 30 17:54:57 2008 +1100 [XFS] fix the noquota mount option Noquota should clear all mount options, and not just user and group quota. Probably doesn't matter very much in real life. SGI-PV: 987246 SGI-Modid: xfs-linux-melb:xfs-kern:32372a Signed-off-by: Christoph Hellwig Signed-off-by: Donald Douwsma Signed-off-by: David Chinner Signed-off-by: Lachlan McIlroy commit 9d565ffa33d574c2a22442f9d95ca2bd0be7cc42 Author: Christoph Hellwig Date: Thu Oct 30 17:53:24 2008 +1100 [XFS] kill struct xfs_mount_args No need to parse the mount option into a structure before applying it to struct xfs_mount. The content of xfs_start_flags gets merged into xfs_parseargs. Calls inbetween don't care and can use mount members instead of the args struct. This patch uncovered that the mount option for shared filesystems wasn't ever exposed on Linux. The code to handle it is #if 0'ed in this patch pending a decision on this feature. I'll send a writeup about it to the list soon. SGI-PV: 987246 SGI-Modid: xfs-linux-melb:xfs-kern:32371a Signed-off-by: Christoph Hellwig Signed-off-by: Donald Douwsma Signed-off-by: David Chinner Signed-off-by: Lachlan McIlroy commit 5a792c4579af8466246408e38fd4eff45d8493b8 Author: David Chinner Date: Thu Oct 30 17:40:09 2008 +1100 [XFS] XFS: Check for valid transaction headers in recovery When we are about to add a new item to a transaction in recovery, we need to check that it is valid first. Currently we just assert that header magic number matches, but in production systems that is not present and we add a corrupted transaction to the list to be processed. This results in a kernel oops later when processing the corrupted transaction. Instead, if we detect a corrupted transaction, abort recovery and leave the user to clean up the mess that has occurred. SGI-PV: 988145 SGI-Modid: xfs-linux-melb:xfs-kern:32356a Signed-off-by: David Chinner Signed-off-by: Tim Shimmin Signed-off-by: Eric Sandeen Signed-off-by: Lachlan McIlroy commit 783a2f656f9674c31d4019708a94af93fa1d1c22 Author: David Chinner Date: Thu Oct 30 17:39:58 2008 +1100 [XFS] Finish removing the mount pointer from the AIL API Change all the remaining AIL API functions that are passed struct xfs_mount pointers to pass pointers directly to the struct xfs_ail being used. With this conversion, all external access to the AIL is via the struct xfs_ail. Hence the operation and referencing of the AIL is almost entirely independent of the xfs_mount that is using it - it is now much more tightly tied to the log and the items it is tracking in the log than it is tied to the xfs_mount. SGI-PV: 988143 SGI-Modid: xfs-linux-melb:xfs-kern:32353a Signed-off-by: David Chinner Signed-off-by: Lachlan McIlroy Signed-off-by: Christoph Hellwig commit fc1829f34d30899701dfd5890030d39e13e1f47d Author: David Chinner Date: Thu Oct 30 17:39:46 2008 +1100 [XFS] Add ail pointer into log items Add an xfs_ail pointer to log items so that the log items can reference the AIL directly during callbacks without needed a struct xfs_mount. SGI-PV: 988143 SGI-Modid: xfs-linux-melb:xfs-kern:32352a Signed-off-by: David Chinner Signed-off-by: Lachlan McIlroy Signed-off-by: Christoph Hellwig commit a9c21c1b9deaced836034e77fe25fe0b55c21f02 Author: David Chinner Date: Thu Oct 30 17:39:35 2008 +1100 [XFS] Given the log a pointer to the AIL When we need to go from the log to the AIL, we have to go via the xfs_mount. Add a xfs_ail pointer to the log so we can go directly to the AIL associated with the log. SGI-PV: 988143 SGI-Modid: xfs-linux-melb:xfs-kern:32351a Signed-off-by: David Chinner Signed-off-by: Lachlan McIlroy Signed-off-by: Christoph Hellwig commit c7e8f268278a292d3823b4352182fa7755a71410 Author: David Chinner Date: Thu Oct 30 17:39:23 2008 +1100 [XFS] Move the AIL lock into the struct xfs_ail Bring the ail lock inside the struct xfs_ail. This means the AIL can be entirely manipulated via the struct xfs_ail rather than needing both the struct xfs_mount and the struct xfs_ail. SGI-PV: 988143 SGI-Modid: xfs-linux-melb:xfs-kern:32350a Signed-off-by: David Chinner Signed-off-by: Lachlan McIlroy Signed-off-by: Christoph Hellwig commit 7b2e2a31f5c23b5f028af8c895137b4c512cc1c8 Author: David Chinner Date: Thu Oct 30 17:39:12 2008 +1100 [XFS] Allow 64 bit machines to avoid the AIL lock during flushes When copying lsn's from the log item to the inode or dquot flush lsn, we currently grab the AIL lock. We do this because the LSN is a 64 bit quantity and it needs to be read atomically. The lock is used to guarantee atomicity for 32 bit platforms. Make the LSN copying a small function, and make the function used conditional on BITS_PER_LONG so that 64 bit machines don't need to take the AIL lock in these places. SGI-PV: 988143 SGI-Modid: xfs-linux-melb:xfs-kern:32349a Signed-off-by: David Chinner Signed-off-by: Lachlan McIlroy Signed-off-by: Christoph Hellwig commit 5b00f14fbd60d42441f78c0e414a539cbfba5cb9 Author: David Chinner Date: Thu Oct 30 17:39:00 2008 +1100 [XFS] move the AIl traversal over to a consistent interface With the new cursor interface, it makes sense to make all the traversing code use the cursor interface and make the old one go away. This means more of the AIL interfacing is done by passing struct xfs_ail pointers around the place instead of struct xfs_mount pointers. We can replace the use of xfs_trans_first_ail() in xfs_log_need_covered() as it is only checking if the AIL is empty. We can do that with a call to xfs_trans_ail_tail() instead, where a zero LSN returned indicates and empty AIL... SGI-PV: 988143 SGI-Modid: xfs-linux-melb:xfs-kern:32348a Signed-off-by: David Chinner Signed-off-by: Lachlan McIlroy Signed-off-by: Christoph Hellwig commit 27d8d5fe0ef9daeaafbdd32b14b32a2211930062 Author: David Chinner Date: Thu Oct 30 17:38:39 2008 +1100 [XFS] Use a cursor for AIL traversal. To replace the current generation number ensuring sanity of the AIL traversal, replace it with an external cursor that is linked to the AIL. Basically, we store the next item in the cursor whenever we want to drop the AIL lock to do something to the current item. When we regain the lock. the current item may already be free, so we can't reference it, but the next item in the traversal is already held in the cursor. When we move or delete an object, we search all the active cursors and if there is an item match we clear the cursor(s) that point to the object. This forces the traversal to restart transparently. We don't invalidate the cursor on insert because the cursor still points to a valid item. If the intem is inserted between the current item and the cursor it does not matter; the traversal is considered to be past the insertion point so it will be picked up in the next traversal. Hence traversal restarts pretty much disappear altogether with this method of traversal, which should substantially reduce the overhead of pushing on a busy AIL. Version 2 o add restart logic o comment cursor interface o minor cleanups SGI-PV: 988143 SGI-Modid: xfs-linux-melb:xfs-kern:32347a Signed-off-by: David Chinner Signed-off-by: Lachlan McIlroy Signed-off-by: Christoph Hellwig commit 82fa9012458d867936d7bf130e6e14bdebc6873c Author: David Chinner Date: Thu Oct 30 17:38:26 2008 +1100 [XFS] Allocate the struct xfs_ail Rather than embedding the struct xfs_ail in the struct xfs_mount, allocate it during AIL initialisation. Add a back pointer to the struct xfs_ail so that we can pass around the xfs_ail and still be able to access the xfs_mount if need be. This is th first step involved in isolating the AIL implementation from the surrounding filesystem code. SGI-PV: 988143 SGI-Modid: xfs-linux-melb:xfs-kern:32346a Signed-off-by: David Chinner Signed-off-by: Lachlan McIlroy Signed-off-by: Christoph Hellwig commit a7444053fb3ebd3d905e3c7a7bd5ea80a54b083a Author: David Chinner Date: Thu Oct 30 17:38:12 2008 +1100 [XFS] Account for allocated blocks when expanding directories When we create a directory, we reserve a number of blocks for the maximum possible expansion of of the directory due to various btree splits, freespace allocation, etc. Unfortunately, each allocation is not reflected in the total number of blocks still available to the transaction, so the maximal reservation is used over and over again. This leads to problems where an allocation group has only enough blocks for *some* of the allocations required for the directory modification. After the first N allocations, the remaining blocks in the allocation group drops below the total reservation, and subsequent allocations fail because the allocator will not allow the allocation to proceed if the AG does not have the enough blocks available for the entire allocation total. This results in an ENOSPC occurring after an allocation has already occurred. This results in aborting the directory operation (leaving the directory in an inconsistent state) and cancelling a dirty transaction, which results in a filesystem shutdown. Avoid the problem by reflecting the number of blocks allocated in any directory expansion in the total number of blocks available to the modification in progress. This prevents a directory modification from being aborted part way through with an ENOSPC. SGI-PV: 988144 SGI-Modid: xfs-linux-melb:xfs-kern:32340a Signed-off-by: David Chinner Signed-off-by: Lachlan McIlroy commit 8c38ab032094ff1d903c79db689607b1ebae13ca Author: David Chinner Date: Thu Oct 30 17:38:00 2008 +1100 [XFS] Prevent looping in xfs_sync_inodes_ag If the last block of the AG has inodes in it and the AG is an exactly power-of-2 size then the last inode in the AG points to the last block in the AG. If we try to find the next inode in the AG by adding one to the inode number, we increment the inode number past the size of the AG. The result is that the macro XFS_INO_TO_AGINO() will strip the AG portion of the inode number and return an inode number of zero. That is, instead of terminating the lookup loop because we hit the inode number went outside the valid range for the AG, the search index returns to zero and we start traversing the radix tree from the start again. This results in an endless loop in xfs_sync_inodes_ag(). Fix it be detecting if the new search index decreases as a result of incrementing the current inode number. That indicate an overflow and hence that we have finished processing the AG so we can terminate the loop. SGI-PV: 988142 SGI-Modid: xfs-linux-melb:xfs-kern:32335a Signed-off-by: David Chinner Signed-off-by: Lachlan McIlroy Signed-off-by: Christoph Hellwig commit 116545130cbc5214523c2f994a11c81ef9eb9186 Author: David Chinner Date: Thu Oct 30 17:37:49 2008 +1100 [XFS] kill deleted inodes list Now that the deleted inodes list is unused, kill it. This also removes the i_reclaim list head from the xfs_inode, shrinking it by two pointers. SGI-PV: 988142 SGI-Modid: xfs-linux-melb:xfs-kern:32334a Signed-off-by: David Chinner Signed-off-by: Lachlan McIlroy Signed-off-by: Christoph Hellwig commit 7a3be02baef7bdec43965103441bde5de4dd8601 Author: David Chinner Date: Thu Oct 30 17:37:37 2008 +1100 [XFS] use the inode radix tree for reclaiming inodes Use the reclaim tag to walk the radix tree and find the inodes under reclaim. This was the only user of the deleted inode list. SGI-PV: 988142 SGI-Modid: xfs-linux-melb:xfs-kern:32333a Signed-off-by: David Chinner Signed-off-by: Lachlan McIlroy Signed-off-by: Christoph Hellwig commit 396beb85311689e38634926058d9a3bb0576ca8a Author: David Chinner Date: Thu Oct 30 17:37:26 2008 +1100 [XFS] mark inodes for reclaim via a tag in the inode radix tree Prepare for removing the deleted inode list by marking inodes for reclaim in the inode radix trees so that we can use the radix trees to find reclaimable inodes. SGI-PV: 988142 SGI-Modid: xfs-linux-melb:xfs-kern:32331a Signed-off-by: David Chinner Signed-off-by: Lachlan McIlroy Signed-off-by: Christoph Hellwig commit 1dc3318ae1c1cc11f9fb8279a806de448e2b90e8 Author: David Chinner Date: Thu Oct 30 17:37:15 2008 +1100 [XFS] rename inode reclaim functions The function names xfs_finish_reclaim and xfs_finish_reclaim_all are not very descriptive of what they are reclaiming. Rename to xfs_reclaim_inode[s] to match the xfs_sync_inodes() function. SGI-PV: 988142 SGI-Modid: xfs-linux-melb:xfs-kern:32330a Signed-off-by: David Chinner Signed-off-by: Lachlan McIlroy Signed-off-by: Christoph Hellwig commit fce08f2f3bd0d08feeb4cea70e44aa3471d9bb4c Author: David Chinner Date: Thu Oct 30 17:37:03 2008 +1100 [XFS] move inode reclaim functions to xfs_sync.c Background inode reclaim is run by the xfssyncd. Move the reclaim worker functions to be close to the sync code as the are very similar in structure and are both run from the same background thread. SGI-PV: 988142 SGI-Modid: xfs-linux-melb:xfs-kern:32329a Signed-off-by: David Chinner Signed-off-by: Lachlan McIlroy Signed-off-by: Christoph Hellwig commit 493dca6178cf4a6ae2a16c602d6cb455bb7d31bd Author: Lachlan McIlroy Date: Thu Oct 30 17:36:52 2008 +1100 [XFS] Fix build warning - xfs_fs_alloc_inode() needs a return statement SGI-PV: 988141 SGI-Modid: xfs-linux-melb:xfs-kern:32325a Signed-off-by: Lachlan McIlroy commit 99fa8cb3c580d4445fe8fc239454e8f37a3b6847 Author: David Chinner Date: Thu Oct 30 17:36:40 2008 +1100 [XFS] Prevent use-after-free caused by synchronous inode reclaim With the combined linux and XFS inode, we need to ensure that the combined structure is not freed before the generic code is finished with the inode. As it turns out, there is a case where the XFS inode is freed before the linux inode - when xfs_reclaim() is called from ->clear_inode() on a clean inode, the xfs inode is freed during that call. The generic code references the inode after the ->clear_inode() call, so this is a use after free situation. Fix the problem by moving the xfs_reclaim() call to ->destroy_inode() instead of in ->clear_inode(). This ensures the combined inode structure is not freed until after the generic code has finished with it. SGI-PV: 988141 SGI-Modid: xfs-linux-melb:xfs-kern:32324a Signed-off-by: David Chinner Signed-off-by: Lachlan McIlroy Signed-off-by: Christoph Hellwig commit bf904248a2adb3f3be4eb4fb1837ce3bb28cca76 Author: David Chinner Date: Thu Oct 30 17:36:14 2008 +1100 [XFS] Combine the XFS and Linux inodes To avoid issues with different lifecycles of XFS and Linux inodes, embedd the linux inode inside the XFS inode. This means that the linux inode has the same lifecycle as the XFS inode, even when it has been released by the OS. XFS inodes don't live much longer than this (a short stint in reclaim at most), so there isn't significant memory usage penalties here. Version 3 o kill xfs_icount() Version 2 o remove unused commented out code from xfs_iget(). o kill useless cast in VFS_I() SGI-PV: 988141 SGI-Modid: xfs-linux-melb:xfs-kern:32323a Signed-off-by: David Chinner Signed-off-by: Lachlan McIlroy Signed-off-by: Christoph Hellwig commit 8290c35f87304a6b73d4fd17b03580b4f7425de8 Author: David Chinner Date: Thu Oct 30 17:35:24 2008 +1100 Inode: Allow external list initialisation To allow XFS to combine the XFS and linux inodes into a single structure, we need to drive inode lookup from the XFS inode cache, not the generic inode cache. This means that we need initialise a struct inode from a context outside alloc_inode() as it is no longer used by XFS. After inode allocation and initialisation, we need to add the inode to the superblock list, the in-use list, hash it and do some accounting. This all needs to be done with the inode_lock held and there are already several places in fs/inode.c that do this list manipulation. Factor out the common code, add a locking wrapper and export the function so ti can be called from XFS. Signed-off-by: Dave Chinner Signed-off-by: Christoph Hellwig Signed-off-by: Lachlan McIlroy commit 2cb1599f9b2ecdd7a9e59feeee647eb258966839 Author: David Chinner Date: Thu Oct 30 17:32:23 2008 +1100 Inode: Allow external initialisers To allow XFS to combine the XFS and linux inodes into a single structure, we need to drive inode lookup from the XFS inode cache, not the generic inode cache. This means that we need initialise a struct inode from a context outside alloc_inode() as it is no longer used by XFS. Factor and export the struct inode initialisation code from alloc_inode() to inode_init_always() as a counterpart to inode_init_once(). i.e. we have to call this init function for each inode instantiation (always), as opposed inode_init_once() which is only called on slab object instantiation (once). Signed-off-by: Dave Chinner Signed-off-by: Christoph Hellwig Signed-off-by: Lachlan McIlroy commit 94b97e39b0c983e86f0028c456dcf213abc722a0 Author: David Chinner Date: Thu Oct 30 17:21:30 2008 +1100 [XFS] Never call mark_inode_dirty_sync() directly Once the Linux inode and the XFS inode are combined, we cannot rely on just check if the linux inode exists as a method of determining if it is valid or not. Hence we should always call xfs_mark_inode_dirty_sync() instead as it does the correct checks to determine if the liinux inode is in a valid state or not. SGI-PV: 988141 SGI-Modid: xfs-linux-melb:xfs-kern:32318a Signed-off-by: David Chinner Signed-off-by: Lachlan McIlroy Signed-off-by: Christoph Hellwig commit 6441e549157b749bae003cce70b4c8b62e4801fa Author: David Chinner Date: Thu Oct 30 17:21:19 2008 +1100 [XFS] factor xfs_iget_core() into hit and miss cases There are really two cases in xfs_iget_core(). The first is the cache hit case, the second is the miss case. They share very little code, and hence can easily be factored out into separate functions. This makes the code much easier to understand and subsequently modify. SGI-PV: 988141 SGI-Modid: xfs-linux-melb:xfs-kern:32317a Signed-off-by: David Chinner Signed-off-by: Lachlan McIlroy Signed-off-by: Christoph Hellwig commit 3471394ba56f44761ce1c300f139478dbfb49d4a Author: Christoph Hellwig Date: Thu Oct 30 17:21:10 2008 +1100 [XFS] fix instant oops with tracing enabled We can only read inode->i_count if the inode is actually there and not a NULL pointer. This was introduced in one of the recent sync patches. SGI-PV: 988255 SGI-Modid: xfs-linux-melb:xfs-kern:32315a Signed-off-by: Christoph Hellwig Signed-off-by: Lachlan McIlroy commit 76bf105cb16da6c847a13a3c77dc962ba1081713 Author: David Chinner Date: Thu Oct 30 17:16:21 2008 +1100 [XFS] Move remaining quiesce code. With all the other filesystem sync code it in xfs_sync.c including the data quiesce code, it makes sense to move the remaining quiesce code to the same place. SGI-PV: 988140 SGI-Modid: xfs-linux-melb:xfs-kern:32312a Signed-off-by: David Chinner Signed-off-by: Lachlan McIlroy Signed-off-by: Christoph Hellwig commit a4e4c4f4a8f9376158f8181a75285091f52a79e3 Author: David Chinner Date: Thu Oct 30 17:16:11 2008 +1100 [XFS] Kill xfs_sync() There are no more callers to xfs_sync() now, so remove the function altogther. SGI-PV: 988140 SGI-Modid: xfs-linux-melb:xfs-kern:32311a Signed-off-by: David Chinner Signed-off-by: Lachlan McIlroy Signed-off-by: Christoph Hellwig commit cb56a4b995d44b7990ca3acd18db571eedd0649f Author: David Chinner Date: Thu Oct 30 17:16:00 2008 +1100 [XFS] Kill SYNC_CLOSE SYNC_CLOSE is only ever used and checked in conjunction with SYNC_WAIT, and this only done in one spot. The only thing this does is make XFS_bflush() calls to the data buftargs. This will happen very shortly afterwards the xfs_sync() call anyway in the unmount path via the xfs_close_devices(), so this code is redundant and can be removed. That only user of SYNC_CLOSE is now gone, so kill the flag completely. SGI-PV: 988140 SGI-Modid: xfs-linux-melb:xfs-kern:32310a Signed-off-by: David Chinner Signed-off-by: Lachlan McIlroy Signed-off-by: Christoph Hellwig commit e9f1c6ee12955fd8657f6f0f9a3d09112b1f1fdd Author: David Chinner Date: Thu Oct 30 17:15:50 2008 +1100 [XFS] make SYNC_DELWRI no longer use xfs_sync Continue to de-multiplex xfs_sync be replacing all SYNC_DELWRI callers with direct calls functions that do the work. Isolate the data quiesce case to a function in xfs_sync.c. Isolate the FSDATA case with explicit calls to xfs_sync_fsdata(). Version 2: o Push delwri related log forces into xfs_sync_inodes(). SGI-PV: 988140 SGI-Modid: xfs-linux-melb:xfs-kern:32309a Signed-off-by: David Chinner Signed-off-by: Lachlan McIlroy Signed-off-by: Christoph Hellwig commit be97d9d5577f6c8a36588e2f262c772c5422b128 Author: David Chinner Date: Thu Oct 30 17:15:38 2008 +1100 [XFS] make SYNC_ATTR no longer use xfs_sync Continue to de-multiplex xfs_sync be replacing all SYNC_ATTR callers with direct calls xfs_sync_inodes(). Add an assert into xfs_sync() to ensure we caught all the SYNC_ATTR callers. SGI-PV: 988140 SGI-Modid: xfs-linux-melb:xfs-kern:32308a Signed-off-by: David Chinner Signed-off-by: Lachlan McIlroy Signed-off-by: Christoph Hellwig commit aacaa880bfac8fecd44b279a49688643890358f5 Author: David Chinner Date: Thu Oct 30 17:15:29 2008 +1100 [XFS] xfssyncd: don't call xfs_sync Start de-multiplexing xfs_sync() by making xfs_sync_worker() call the specific sync functions it needs. This is only a small, unique subset of the entire xfs_sync() code so is easier to follow. SGI-PV: 988140 SGI-Modid: xfs-linux-melb:xfs-kern:32307a Signed-off-by: David Chinner Signed-off-by: Lachlan McIlroy Signed-off-by: Christoph Hellwig commit dfd837a9eb79de4e50323a6f4e1ad8138d806cb7 Author: David Chinner Date: Thu Oct 30 17:15:21 2008 +1100 [XFS] kill xfs_syncsub Now that the only caller is xfs_sync(), merge the two together as it makes no sense to keep them separate. SGI-PV: 988140 SGI-Modid: xfs-linux-melb:xfs-kern:32306a Signed-off-by: David Chinner Signed-off-by: Lachlan McIlroy Signed-off-by: Christoph Hellwig commit 2030b5aba8a4bcaca5aca85968514fa58207d3bd Author: David Chinner Date: Thu Oct 30 17:15:12 2008 +1100 [XFS] use xfs_sync_inodes rather than xfs_syncsub Kill the unused arg in xfs_syncsub() and xfs_sync_inodes(). For callers of xfs_syncsub() that only want to flush inodes, replace xfs_syncsub() with direct calls to xfs_sync_inodes() as that is all that is being done with the specific flags being passed in. SGI-PV: 988140 SGI-Modid: xfs-linux-melb:xfs-kern:32305a Signed-off-by: David Chinner Signed-off-by: Lachlan McIlroy Signed-off-by: Christoph Hellwig commit bc60a99323b3ec628273b5fa998285c87d464ca6 Author: David Chinner Date: Thu Oct 30 17:15:03 2008 +1100 [XFS] Use struct inodes instead of vnodes to kill vn_grab With the sync code relocated to the linux-2.6 directory we can use struct inodes directly. If we do the same thing for the quota release code, we can remove vn_grab altogether. While here, convert the VN_BAD() checks to is_bad_inode() so we can remove vnodes entirely from this code. SGI-PV: 988140 SGI-Modid: xfs-linux-melb:xfs-kern:32304a Signed-off-by: David Chinner Signed-off-by: Lachlan McIlroy Signed-off-by: Christoph Hellwig commit 2af75df7be7ca86965bf73766f827575d1c26fbd Author: Christoph Hellwig Date: Thu Oct 30 17:14:53 2008 +1100 [XFS] split out two helpers from xfs_syncsub Split out two helpers from xfs_syncsub for the dummy log commit and the superblock writeout. SGI-PV: 988140 SGI-Modid: xfs-linux-melb:xfs-kern:32303a Signed-off-by: Christoph Hellwig Signed-off-by: David Chinner Signed-off-by: Lachlan McIlroy commit 4e8938feba770b583fb13d249c17943961731a3e Author: Christoph Hellwig Date: Thu Oct 30 17:14:43 2008 +1100 [XFS] Move XFS_BMAP_SANITY_CHECK out of line. Move the XFS_BMAP_SANITY_CHECK macro out of line and make it a properly typed function. Also pass the xfs_buf for the btree block instead of just the btree block header, as we will need some additional information for it to implement CRC checking of btree blocks. SGI-PV: 988146 SGI-Modid: xfs-linux-melb:xfs-kern:32301a Signed-off-by: Christoph Hellwig Signed-off-by: Donald Douwsma Signed-off-by: David Chinner Signed-off-by: Lachlan McIlroy commit 7cc95a821df8f09a5d37a923cf8c3a7c3ee00c29 Author: Christoph Hellwig Date: Thu Oct 30 17:14:34 2008 +1100 [XFS] Always use struct xfs_btree_block instead of short / longform structures. Always use the generic xfs_btree_block type instead of the short / long structures. Add XFS_BTREE_SBLOCK_LEN / XFS_BTREE_LBLOCK_LEN defines for the length of a short / long form block. The rationale for this is that we will grow more btree block header variants to support CRCs and other RAS information, and always accessing them through the same datatype with unions for the short / long form pointers makes implementing this much easier. SGI-PV: 988146 SGI-Modid: xfs-linux-melb:xfs-kern:32300a Signed-off-by: Christoph Hellwig Signed-off-by: Donald Douwsma Signed-off-by: David Chinner Signed-off-by: Lachlan McIlroy commit 136341b41ad4883bd668120f727a52c42331fe8a Author: Christoph Hellwig Date: Thu Oct 30 17:11:40 2008 +1100 [XFS] cleanup btree record / key / ptr addressing macros. Replace the generic record / key / ptr addressing macros that use cpp token pasting with simpler macros that do the job for just one given btree type. The new macros lose the cur argument and thus can be used outside the core btree code, but also gain an xfs_mount * argument to allow for checking the CRC flag in the near future. Note that many of these macros aren't actually used in the kernel code, but only in userspace (mostly in xfs_repair). SGI-PV: 988146 SGI-Modid: xfs-linux-melb:xfs-kern:32295a Signed-off-by: Christoph Hellwig Signed-off-by: Donald Douwsma Signed-off-by: David Chinner Signed-off-by: Lachlan McIlroy commit 6c7699c047c50403149ad91331dd39de47dea070 Author: David Chinner Date: Thu Oct 30 17:11:29 2008 +1100 [XFS] remove the mount inode list Now we've removed all users of the mount inode list, we can kill it. This reduces the size of the xfs_inode by 2 pointers. SGI-PV: 988139 SGI-Modid: xfs-linux-melb:xfs-kern:32293a Signed-off-by: David Chinner Signed-off-by: Lachlan McIlroy Signed-off-by: Christoph Hellwig commit 60197e8df364df326dcbb987519f367ad0ee1a11 Author: Christoph Hellwig Date: Thu Oct 30 17:11:19 2008 +1100 [XFS] Cleanup maxrecs calculation. Clean up the way the maximum and minimum records for the btree blocks are calculated. For the alloc and inobt btrees all the values are pre-calculated in xfs_mount_common, and we switch the current loop around the ugly generic macros that use cpp token pasting to generate type names to two small helpers in normal C code. For the bmbt and bmdr trees these helpers also exist, but can be called during runtime, too. Here we also kill various macros dealing with them and inline the logic into the get_minrecs / get_maxrecs / get_dmaxrecs methods in xfs_bmap_btree.c. Note that all these new helpers take an xfs_mount * argument which will be needed to determine the size of a btree block once we add support for extended btree blocks with CRCs and other RAS information. SGI-PV: 988146 SGI-Modid: xfs-linux-melb:xfs-kern:32292a Signed-off-by: Christoph Hellwig Signed-off-by: Donald Douwsma Signed-off-by: Lachlan McIlroy commit 5b4d89ae0f5ae45c7fa1dfc616fd2bb8634bb7b7 Author: David Chinner Date: Thu Oct 30 17:08:03 2008 +1100 [XFS] Traverse inode trees when releasing dquots Make releasing all inode dquots traverse the per-ag inode radix trees rather than the mount inode list. This removes another user of the mount inode list. Version 3 o fix comment relating to avoiding trying to release the quota inodes and those in reclaim. Version 2 o add comment explaining use of gang lookups for a single inode o use IRELE, not VN_RELE o move check for ag initialisation to caller. SGI-PV: 988139 SGI-Modid: xfs-linux-melb:xfs-kern:32291a Signed-off-by: David Chinner Signed-off-by: Lachlan McIlroy Signed-off-by: Christoph Hellwig commit 683a897080a053733778b36398186cb1b22c377f Author: David Chinner Date: Thu Oct 30 17:07:29 2008 +1100 [XFS] Use the inode tree for finding dirty inodes Update xfs_sync_inodes to walk the inode radix tree cache to find dirty inodes. This removes a huge bunch of nasty, messy code for traversing the mount inode list safely and removes another user of the mount inode list. Version 3 o rediff against new linux-2.6/xfs_sync.c code Version 2 o add comment explaining use of gang lookups for a single inode o use IRELE, not VN_RELE o move check for ag initialisation to caller. SGI-PV: 988139 SGI-Modid: xfs-linux-melb:xfs-kern:32290a Signed-off-by: David Chinner Signed-off-by: Lachlan McIlroy Signed-off-by: Christoph Hellwig commit 2f8a3ce1c20f20e6494cdb77fed76bc474ca3ca5 Author: David Chinner Date: Thu Oct 30 17:07:20 2008 +1100 [XFS] don't block in xfs_qm_dqflush() during async writeback. Normally dquots are written back via delayed write mechanisms. They are flushed to their backing buffer by xfssyncd, which is then pushed out by either AIL or xfsbufd flushing. The flush from the xfssyncd is supposed to be non-blocking, but xfs_qm_dqflush() always waits for pinned duots, which means that it will block for the length of time it takes to do a synchronous log force. This causes unnecessary extra log I/O to be issued whenever we try to flush a busy dquot. Avoid the log forces and blocking xfssyncd by making xfs_qm_dqflush() pay attention to what type of sync it is doing when it sees a pinned dquot and not waiting when doing non-blocking flushes. SGI-PV: 988147 SGI-Modid: xfs-linux-melb:xfs-kern:32287a Signed-off-by: David Chinner Signed-off-by: Peter Leckie Signed-off-by: Lachlan McIlroy commit 75c68f411b1242c8fdaf731078fdd4e77b14981d Author: David Chinner Date: Thu Oct 30 17:06:28 2008 +1100 [XFS] Remove xfs_iflush_all and clean up xfs_finish_reclaim_all() xfs_iflush_all() walks the m_inodes list to find inodes that need reclaiming. We already have such a list - the m_del_inodes list. Replace xfs_iflush_all() with a call to xfs_finish_reclaim_all() and clean up xfs_finish_reclaim_all() to handle the different flush modes now needed. Originally based on a patch from Christoph Hellwig. Version 3 o rediff against new linux-2.6/xfs_sync.c code Version 2 o revert xfs_syncsub() inode reclaim behaviour back to original code o xfs_quiesce_fs() should use XFS_IFLUSH_DELWRI_ELSE_ASYNC, not XFS_IFLUSH_ASYNC, to prevent change of behaviour. SGI-PV: 988139 SGI-Modid: xfs-linux-melb:xfs-kern:32284a Signed-off-by: David Chinner Signed-off-by: Lachlan McIlroy Signed-off-by: Christoph Hellwig commit a167b17e899a930758506bbc18748078d6fd8c89 Author: David Chinner Date: Thu Oct 30 17:06:18 2008 +1100 [XFS] move xfssyncd code to xfs_sync.c Move all the xfssyncd code to the new xfs_sync.c file. This places it closer to the actual code that it interacts with, rather than just being associated with high level VFS code. SGI-PV: 988139 SGI-Modid: xfs-linux-melb:xfs-kern:32283a Signed-off-by: David Chinner Signed-off-by: Lachlan McIlroy Signed-off-by: Christoph Hellwig commit fe4fa4b8e463fa5848ef9e86ed75d27501d0da1e Author: David Chinner Date: Thu Oct 30 17:06:08 2008 +1100 [XFS] move sync code to its own file The sync code in XFS is spread around several files. While it used to make sense to have such a distribution, the code is about to be cleaned up and so centralising it in one spot as the first step makes sense. SGI-PV: 988139 SGI-Modid: xfs-linux-melb:xfs-kern:32282a Signed-off-by: David Chinner Signed-off-by: Lachlan McIlroy Signed-off-by: Christoph Hellwig commit 34519daae6778d129d56688f75ade27f6011bac9 Author: Barry Naujok Date: Thu Oct 30 17:05:58 2008 +1100 [XFS] Show buffer address with debug hexdump on corruption SGI-PV: 987246 SGI-Modid: xfs-linux-melb:xfs-kern:32233a Signed-off-by: Barry Naujok Signed-off-by: Eric Sandeen Signed-off-by: Lachlan McIlroy commit 89b2839319cb0c0364d55dc6fd6d3838e864ab54 Author: Barry Naujok Date: Thu Oct 30 17:05:49 2008 +1100 [XFS] Check agf_btreeblks is valid when reading in the AGF SGI-PV: 987683 SGI-Modid: xfs-linux-melb:xfs-kern:32232a Signed-off-by: Barry Naujok Signed-off-by: Christoph Hellwig Signed-off-by: Lachlan McIlroy commit 847fff5ca881670ca8ec617afeb943950f0c804b Author: Barry Naujok Date: Thu Oct 30 17:05:38 2008 +1100 [XFS] Sync up kernel and user-space headers SGI-PV: 986558 SGI-Modid: xfs-linux-melb:xfs-kern:32231a Signed-off-by: Barry Naujok Signed-off-by: Christoph Hellwig Signed-off-by: Lachlan McIlroy commit 24ee0e49c9cce23acb1758728cb09e8d2b53bd33 Author: Lachlan McIlroy Date: Thu Oct 30 17:05:26 2008 +1100 [XFS] Make xfs_btree_check_ptr() debug-only code. SGI-PV: 985583 SGI-Modid: xfs-linux-melb:xfs-kern:32224a Signed-off-by: Lachlan McIlroy Signed-off-by: Christoph Hellwig commit d1de802155341ab63e64d37c58c61d6f358bb3ad Author: Peter Leckie Date: Thu Oct 30 17:05:18 2008 +1100 [XFS] Fix build brakage from patch "Clean up dquot pincount code" This is a fix for patch " Clean up dquot pincount code" which introduced a build breakage due to a missing & in xfs_qm_dquot_logitem_pin. SGI-PV: 986789 SGI-Modid: xfs-linux-melb:xfs-kern:32221a Signed-off-by: Peter Leckie Signed-off-by: Donald Douwsma Signed-off-by: Lachlan McIlroy commit bc3048e3cd3806ccfd5b16b1a30e5d6013abbd3d Author: Peter Leckie Date: Thu Oct 30 17:05:04 2008 +1100 [XFS] Clean up dquot pincount code. This is a code cleanup and optimization that removes a per mount point spinlock from the quota code and cleans up the code. The patch changes the pincount from being an int protected by a spinlock to an atomic_t allowing the pincount to be manipulated without holding the spinlock. This cleanup also protects against random wakup's of both the aild and xfssyncd by reevaluating the pincount after been woken. Two latter patches will address the Spurious wakeups. SGI-PV: 986789 SGI-Modid: xfs-linux-melb:xfs-kern:32215a Signed-off-by: Peter Leckie Signed-off-by: Christoph Hellwig Signed-off-by: David Chinner Signed-off-by: Donald Douwsma Signed-off-by: Lachlan McIlroy commit d112f2984592acb774187b3adddc107fb0825500 Author: Lachlan McIlroy Date: Thu Oct 30 16:59:06 2008 +1100 [XFS] Wait for all I/O on truncate to zero file size It's possible to have outstanding xfs_ioend_t's queued when the file size is zero. This can happen in the direct I/O path when a direct I/O write fails due to ENOSPC. In this case the xfs_ioend_t will still be queued (ie xfs_end_io_direct() does not know that the I/O failed so can't force the xfs_ioend_t to be flushed synchronously). When we truncate a file on unlink we don't know to wait for these xfs_ioend_ts and we can have a use-after-free situation if the inode is reclaimed before the xfs_ioend_t is finally processed. As was suggested by Dave Chinner lets wait for all I/Os to complete when truncating the file size to zero. SGI-PV: 981668 SGI-Modid: xfs-linux-melb:xfs-kern:32216a Signed-off-by: Lachlan McIlroy Signed-off-by: Christoph Hellwig commit 7f7c39ccb6045cf1fd5e7684a484c445291b44d4 Author: Christoph Hellwig Date: Thu Oct 30 16:58:50 2008 +1100 [XFS] make btree tracing generic Make the existing bmap btree tracing generic so that it applies to all btree types. Some fragments lifted from a patch by Dave Chinner. This adds two files that were missed from the previous btree tracing checkin. SGI-PV: 985583 SGI-Modid: xfs-linux-melb:xfs-kern:32210a Signed-off-by: Christoph Hellwig Signed-off-by: Lachlan McIlroy Signed-off-by: Bill O'Donnell Signed-off-by: David Chinner commit 3cc7524c8445e6244b055f3fa338529188c7c260 Author: Christoph Hellwig Date: Thu Oct 30 16:58:41 2008 +1100 [XFS] mark various functions in xfs_btree.c static Lots of functionality in xfs_btree.c isn't needed by callers outside of this file anymore, so mark these functions static. SGI-PV: 985583 SGI-Modid: xfs-linux-melb:xfs-kern:32209a Signed-off-by: Christoph Hellwig Signed-off-by: Lachlan McIlroy Signed-off-by: Bill O'Donnell Signed-off-by: David Chinner commit 4a26e66e7728112f0e1cd7eca3bcc430b3a221c9 Author: Christoph Hellwig Date: Thu Oct 30 16:58:32 2008 +1100 [XFS] add keys_inorder and recs_inorder btree methods Add methods to check whether two keys/records are in the righ order. This replaces the xfs_btree_check_key and xfs_btree_check_rec methods. For the callers from xfs_bmap.c just opencode the bmbt-specific asserts. SGI-PV: 985583 SGI-Modid: xfs-linux-melb:xfs-kern:32208a Signed-off-by: Christoph Hellwig Signed-off-by: Lachlan McIlroy Signed-off-by: Bill O'Donnell Signed-off-by: David Chinner commit fd6bcc5b63051392ba709a8fd33173b263669e0a Author: Christoph Hellwig Date: Thu Oct 30 16:58:21 2008 +1100 [XFS] kill xfs_bmbt_log_block and xfs_bmbt_log_recs These are equivalent to the xfs_btree_* versions, and the only remaining caller can be switched to the generic one after they are exported. Also remove some now dead infrastructure in xfs_bmap_btree.c. SGI-PV: 985583 SGI-Modid: xfs-linux-melb:xfs-kern:32207a Signed-off-by: Christoph Hellwig Signed-off-by: Lachlan McIlroy Signed-off-by: Bill O'Donnell Signed-off-by: David Chinner commit 8cc938fe4237e50bea4aa557ed53b06de2319d49 Author: Christoph Hellwig Date: Thu Oct 30 16:58:11 2008 +1100 [XFS] implement generic xfs_btree_get_rec Not really much reason to make it generic given that it's so small, but this is the last non-method in xfs_alloc_btree.c and xfs_ialloc_btree.c, so it makes the whole btree implementation more structured. SGI-PV: 985583 SGI-Modid: xfs-linux-melb:xfs-kern:32206a Signed-off-by: Christoph Hellwig Signed-off-by: Lachlan McIlroy Signed-off-by: Bill O'Donnell Signed-off-by: David Chinner commit 91cca5df9bc85efdabfa645f51d54259ed09f4bf Author: Christoph Hellwig Date: Thu Oct 30 16:58:01 2008 +1100 [XFS] implement generic xfs_btree_delete/delrec Make the btree delete code generic. Based on a patch from David Chinner with lots of changes to follow the original btree implementations more closely. While this loses some of the generic helper routines for inserting/moving/removing records it also solves some of the one off bugs in the original code and makes it easier to verify. SGI-PV: 985583 SGI-Modid: xfs-linux-melb:xfs-kern:32205a Signed-off-by: Christoph Hellwig Signed-off-by: Lachlan McIlroy Signed-off-by: Bill O'Donnell Signed-off-by: David Chinner commit d4b3a4b7dd62f2e111d4d0afa9ef3f9b6cd955c0 Author: Christoph Hellwig Date: Thu Oct 30 16:57:51 2008 +1100 [XFS] move xfs_bmbt_killroot to common code xfs_bmbt_killroot is a mostly generic implementation of moving from a real block based root to an inode based root. So move it to xfs_btree.c where it can use all the nice infrastructure there and make it pointer size agnostic The new name for it is xfs_btree_kill_iroot, following the old naming but making it clear we're dealing with the root in inode case here, and to avoid confusion with xfs_btree_new_root which is used for the not inode rooted case. I've also added a comment describing what it does and why it's named the way it is. SGI-PV: 985583 SGI-Modid: xfs-linux-melb:xfs-kern:32203a Signed-off-by: Christoph Hellwig Signed-off-by: Lachlan McIlroy Signed-off-by: Bill O'Donnell Signed-off-by: David Chinner commit 4b22a57188d87e873346b73c227607715be96399 Author: Christoph Hellwig Date: Thu Oct 30 16:57:40 2008 +1100 [XFS] implement generic xfs_btree_insert/insrec Make the btree insert code generic. Based on a patch from David Chinner with lots of changes to follow the original btree implementations more closely. While this loses some of the generic helper routines for inserting/moving/removing records it also solves some of the one off bugs in the original code and makes it easier to verify. SGI-PV: 985583 SGI-Modid: xfs-linux-melb:xfs-kern:32202a Signed-off-by: Christoph Hellwig Signed-off-by: Lachlan McIlroy Signed-off-by: Bill O'Donnell Signed-off-by: David Chinner commit ea77b0a66e6c910ef265d9af522d6303ea6b3055 Author: Christoph Hellwig Date: Thu Oct 30 16:57:28 2008 +1100 [XFS] move xfs_bmbt_newroot to common code xfs_bmbt_newroot is a mostly generic implementation of moving from an inode root to a real block based root. So move it to xfs_btree.c where it can use all the nice infrastructure there and make it pointer size agnostic The new name for it is xfs_btree_new_iroot, following the old naming but making it clear we're dealing with the root in inode case here, and to avoid confusion with xfs_btree_new_root which is used for the not inode rooted case. SGI-PV: 985583 SGI-Modid: xfs-linux-melb:xfs-kern:32201a Signed-off-by: Christoph Hellwig Signed-off-by: Lachlan McIlroy Signed-off-by: Bill O'Donnell Signed-off-by: David Chinner commit 344207ce8474b79be331eb93e6df4cb5bdd48ab2 Author: Christoph Hellwig Date: Thu Oct 30 16:57:16 2008 +1100 [XFS] implement semi-generic xfs_btree_new_root From: Dave Chinner Add a xfs_btree_new_root helper for the alloc and ialloc btrees. The bmap btree needs it's own version and is not converted. [hch: split out from bigger patch and minor adaptions] SGI-PV: 985583 SGI-Modid: xfs-linux-melb:xfs-kern:32200a Signed-off-by: Christoph Hellwig Signed-off-by: Lachlan McIlroy Signed-off-by: Bill O'Donnell Signed-off-by: David Chinner commit f5eb8e7ca58bc1e92436614444006120d21668ba Author: Christoph Hellwig Date: Thu Oct 30 16:57:03 2008 +1100 [XFS] implement generic xfs_btree_split Make the btree split code generic. Based on a patch from David Chinner with lots of changes to follow the original btree implementations more closely. While this loses some of the generic helper routines for inserting/moving/removing records it also solves some of the one off bugs in the original code and makes it easier to verify. SGI-PV: 985583 SGI-Modid: xfs-linux-melb:xfs-kern:32198a Signed-off-by: Christoph Hellwig Signed-off-by: Lachlan McIlroy Signed-off-by: Bill O'Donnell Signed-off-by: David Chinner commit 687b890a184fef263ebb773926e1f4aa69240d01 Author: Christoph Hellwig Date: Thu Oct 30 16:56:53 2008 +1100 [XFS] implement generic xfs_btree_lshift Make the btree left shift code generic. Based on a patch from David Chinner with lots of changes to follow the original btree implementations more closely. While this loses some of the generic helper routines for inserting/moving/removing records it also solves some of the one off bugs in the original code and makes it easier to verify. SGI-PV: 985583 SGI-Modid: xfs-linux-melb:xfs-kern:32197a Signed-off-by: Christoph Hellwig Signed-off-by: Lachlan McIlroy Signed-off-by: Bill O'Donnell Signed-off-by: David Chinner commit 9eaead51bed957af0070a277d945744a76df0c8b Author: Christoph Hellwig Date: Thu Oct 30 16:56:43 2008 +1100 [XFS] implement generic xfs_btree_rshift Make the btree right shift code generic. Based on a patch from David Chinner with lots of changes to follow the original btree implementations more closely. While this loses some of the generic helper routines for inserting/moving/removing records it also solves some of the one off bugs in the original code and makes it easier to verify. SGI-PV: 985583 SGI-Modid: xfs-linux-melb:xfs-kern:32196a Signed-off-by: Christoph Hellwig Signed-off-by: Lachlan McIlroy Signed-off-by: Bill O'Donnell Signed-off-by: David Chinner commit 278d0ca14e889c3932a05d1a68675252a12b3466 Author: Christoph Hellwig Date: Thu Oct 30 16:56:32 2008 +1100 [XFS] implement generic xfs_btree_update From: Dave Chinner The most complicated part here is the lastrec tracking for the alloc btree. Most logic is in the update_lastrec method which has to do some hopefully good enough dirty magic to maintain it. [hch: split out from bigger patch and a rework of the lastrec logic] SGI-PV: 985583 SGI-Modid: xfs-linux-melb:xfs-kern:32194a Signed-off-by: Christoph Hellwig Signed-off-by: Lachlan McIlroy Signed-off-by: Bill O'Donnell Signed-off-by: David Chinner commit 38bb74237d2d94c1aced2ec626d7d0f317e360da Author: Christoph Hellwig Date: Thu Oct 30 16:56:22 2008 +1100 [XFS] implement generic xfs_btree_updkey From: Dave Chinner Note that there are many > 80 char lines introduced due to the xfs_btree_key casts. But the places where this happens is throw-away code once the whole btree code gets merged into a common implementation. The same is true for the temporary xfs_alloc_log_keys define to the new name. All old users will be gone after a few patches. [hch: split out from bigger patch and minor adaptions] SGI-PV: 985583 SGI-Modid: xfs-linux-melb:xfs-kern:32193a Signed-off-by: Christoph Hellwig Signed-off-by: Lachlan McIlroy Signed-off-by: Bill O'Donnell Signed-off-by: David Chinner commit fe033cc848489851f0c7de48f0b1bab5d744ad8a Author: Christoph Hellwig Date: Thu Oct 30 16:56:09 2008 +1100 [XFS] implement generic xfs_btree_lookup From: Dave Chinner [hch: split out from bigger patch and minor adaptions] SGI-PV: 985583 SGI-Modid: xfs-linux-melb:xfs-kern:32192a Signed-off-by: Christoph Hellwig Signed-off-by: Lachlan McIlroy Signed-off-by: Bill O'Donnell Signed-off-by: David Chinner commit 8df4da4a0a642d3a016028c0d922bcb4d5a4a6d7 Author: Christoph Hellwig Date: Thu Oct 30 16:55:58 2008 +1100 [XFS] implement generic xfs_btree_decrement From: Dave Chinner [hch: split out from bigger patch and minor adaptions] SGI-PV: 985583 SGI-Modid: xfs-linux-melb:xfs-kern:32191a Signed-off-by: Christoph Hellwig Signed-off-by: Lachlan McIlroy Signed-off-by: Bill O'Donnell Signed-off-by: David Chinner commit 637aa50f461b8ea6b1e8bf9877b0d13d00085043 Author: Christoph Hellwig Date: Thu Oct 30 16:55:45 2008 +1100 [XFS] implement generic xfs_btree_increment From: Dave Chinner Because this is the first major generic btree routine this patch includes some infrastrucure, first a few routines to deal with a btree block that can be either in short or long form, second xfs_btree_read_buf_block, which is the new central routine to read a btree block given a cursor, and third the new xfs_btree_ptr_addr routine to calculate the address for a given btree pointer record. [hch: split out from bigger patch and minor adaptions] SGI-PV: 985583 SGI-Modid: xfs-linux-melb:xfs-kern:32190a Signed-off-by: Christoph Hellwig Signed-off-by: Lachlan McIlroy Signed-off-by: Bill O'Donnell Signed-off-by: David Chinner commit 65f1eaeac0efc968797f3ac955b85ba3f5d4f9c8 Author: Christoph Hellwig Date: Thu Oct 30 16:55:34 2008 +1100 [XFS] add helpers for addressing entities inside a btree block Add new helpers in xfs_btree.c to find the record, key and block pointer entries inside a btree block. To implement this genericly the ->get_maxrecs methods and two new xfs_btree_ops entries for the key and record sizes are used. Also add a big comment describing how the addressing inside a btree block works. Note that these helpers are unused until users are introduced in the next patches and this patch will thus cause some harmless compiler warnings. SGI-PV: 985583 SGI-Modid: xfs-linux-melb:xfs-kern:32189a Signed-off-by: Christoph Hellwig Signed-off-by: Lachlan McIlroy Signed-off-by: Bill O'Donnell Signed-off-by: David Chinner commit ce5e42db421a41b1ad0cfd68c6058566b963e14b Author: Christoph Hellwig Date: Thu Oct 30 16:55:23 2008 +1100 [XFS] add get_maxrecs btree operation Factor xfs_btree_maxrecs into a per-btree operation. The get_maxrecs method is based on a patch from Dave Chinner. SGI-PV: 985583 SGI-Modid: xfs-linux-melb:xfs-kern:32188a Signed-off-by: Christoph Hellwig Signed-off-by: Lachlan McIlroy Signed-off-by: Bill O'Donnell Signed-off-by: David Chinner commit 8c4ed633e65d0bd0a25d45aad9b4646e3236cad7 Author: Christoph Hellwig Date: Thu Oct 30 16:55:13 2008 +1100 [XFS] make btree tracing generic Make the existing bmap btree tracing generic so that it applies to all btree types. Some fragments lifted from a patch by Dave Chinner. SGI-PV: 985583 SGI-Modid: xfs-linux-melb:xfs-kern:32187a Signed-off-by: Christoph Hellwig Signed-off-by: Lachlan McIlroy Signed-off-by: Bill O'Donnell Signed-off-by: David Chinner commit 854929f05831d3a290a802815ee955b96c740c61 Author: David Chinner Date: Thu Oct 30 16:55:03 2008 +1100 [XFS] add new btree statistics From: Dave Chinner Introduce statistics coverage of all the btrees and cover all the btree operations, not just some. Invaluable for determining test code coverage of all the btree operations.... SGI-PV: 985583 SGI-Modid: xfs-linux-melb:xfs-kern:32184a Signed-off-by: David Chinner Signed-off-by: Christoph Hellwig Signed-off-by: Lachlan McIlroy Signed-off-by: Bill O'Donnell commit a23f6ef8ce966abc0f6e24a81ceb6a74ed30693b Author: Christoph Hellwig Date: Thu Oct 30 16:54:53 2008 +1100 [XFS] refactor btree validation helpers Move the various btree validation helpers around in xfs_btree.c so that they are close to each other and in common #ifdef DEBUG sections. Also add a new xfs_btree_check_ptr helper to check a btree ptr that can be either long or short form. Split out from a bigger patch from Dave Chinner with various small changes applied by me. SGI-PV: 985583 SGI-Modid: xfs-linux-melb:xfs-kern:32183a Signed-off-by: Christoph Hellwig Signed-off-by: Lachlan McIlroy Signed-off-by: Bill O'Donnell Signed-off-by: David Chinner commit b524bfeee2152fa64b6210f28ced80489b9d2439 Author: Christoph Hellwig Date: Thu Oct 30 16:54:43 2008 +1100 [XFS] refactor xfs_btree_readahead From: Dave Chinner Refactor xfs_btree_readahead to make it more readable: (a) remove the inline xfs_btree_readahead wrapper and move all checks out of line into the main routine. (b) factor out helpers for short/long form btrees (c) move check for root in inodes from the callers into xfs_btree_readahead [hch: split out from a big patch and minor cleanups] SGI-PV: 985583 SGI-Modid: xfs-linux-melb:xfs-kern:32182a Signed-off-by: Christoph Hellwig Signed-off-by: Lachlan McIlroy Signed-off-by: Bill O'Donnell Signed-off-by: David Chinner commit e99ab90d6a9e8ac92f05d2c31d44aa7feee15394 Author: Christoph Hellwig Date: Thu Oct 30 16:54:33 2008 +1100 [XFS] add a long pointers flag to xfs_btree_cur Add a flag to the xfs btree cursor when using long (64bit) block pointers instead of checking btnum == XFS_BTNUM_BMAP. SGI-PV: 985583 SGI-Modid: xfs-linux-melb:xfs-kern:32181a Signed-off-by: Christoph Hellwig Signed-off-by: Lachlan McIlroy Signed-off-by: Bill O'Donnell Signed-off-by: David Chinner commit 8186e517fab1854554c48955cdbcbb6710e7baef Author: Christoph Hellwig Date: Thu Oct 30 16:54:22 2008 +1100 [XFS] make btree root in inode support generic The bmap btree is rooted in the inode and not in a disk block. Make the support for this feature more generic by adding a btree flag to for this feature instead of relying on the XFS_BTNUM_BMAP btnum check. Also clean up xfs_btree_get_block where this new flag is used. Based upon a patch from Dave Chinner. SGI-PV: 985583 SGI-Modid: xfs-linux-melb:xfs-kern:32180a Signed-off-by: Christoph Hellwig Signed-off-by: Lachlan McIlroy Signed-off-by: Bill O'Donnell Signed-off-by: David Chinner commit de227dd9604934d2a6d33cd332d1be431719c93e Author: Christoph Hellwig Date: Thu Oct 30 16:54:12 2008 +1100 [XFS] add generic btree types Add generic union types for btree pointers, keys and records. The generic btree pointer contains either a 32 and 64bit big endian scalar for short and long form btrees, and the key and record contain the relevant type for each possible btree. Split out from a bigger patch from Dave Chinner and simplified a little further. SGI-PV: 985583 SGI-Modid: xfs-linux-melb:xfs-kern:32178a Signed-off-by: Christoph Hellwig Signed-off-by: Lachlan McIlroy Signed-off-by: Bill O'Donnell Signed-off-by: David Chinner commit 561f7d17390d00444e6cd0b02b7516c91528082e Author: Christoph Hellwig Date: Thu Oct 30 16:53:59 2008 +1100 [XFS] split up xfs_btree_init_cursor xfs_btree_init_cursor contains close to little shared code for the different btrees and will get even more non-common code in the future. Split it up into one routine per btree type. Because xfs_btree_dup_cursor needs to call the init routine for a generic btree cursor add a new btree operation vector that contains a dup_cursor method that initializes a new cursor based on an existing one. The btree operations vector is based on an idea and code from Dave Chinner and will grow more entries later during this series. SGI-PV: 985583 SGI-Modid: xfs-linux-melb:xfs-kern:32176a Signed-off-by: Christoph Hellwig Signed-off-by: Lachlan McIlroy Signed-off-by: Bill O'Donnell Signed-off-by: David Chinner commit f2277f06e626d694e61bb356524ff536ced24acf Author: Christoph Hellwig Date: Thu Oct 30 16:53:47 2008 +1100 [XFS] kill struct xfs_btree_hdr This type is only embedded in struct xfs_btree_block and never used directly. By moving the fields directly into struct xfs_btree_block a lot of the macros for struct xfs_btree_sblock and struct xfs_btree_lblock can be used for struct xfs_btree_block too now which helps greatly with some of the migrations during implementing the generic btree code. SGI-PV: 985583 SGI-Modid: xfs-linux-melb:xfs-kern:32174a Signed-off-by: Christoph Hellwig Signed-off-by: Lachlan McIlroy Signed-off-by: Bill O'Donnell Signed-off-by: David Chinner commit f338f9036400e453ab553b16639a9cc838b02d44 Author: Lachlan McIlroy Date: Thu Oct 30 16:53:38 2008 +1100 [XFS] Unlock inode before calling xfs_idestroy() Lock debugging reported the ilock was being destroyed without being unlocked. We don't need to lock the inode until we are going to insert it into the radix tree. SGI-PV: 987246 SGI-Modid: xfs-linux-melb:xfs-kern:32159a Signed-off-by: Lachlan McIlroy Signed-off-by: Christoph Hellwig commit a357a1215602f79182abdde27aaddc7166dbd709 Author: Lachlan McIlroy Date: Thu Oct 30 16:53:25 2008 +1100 [XFS] Fix use-after-free with log and quotas Destroying the quota stuff on unmount can access the log - ie XFS_QM_DONE() ends up in xfs_dqunlock() which calls xfs_trans_unlocked_item() and then xfs_log_move_tail(). By this time the log has already been destroyed. Just move the cleanup of the quota code earlier in xfs_unmountfs() before the call to xfs_log_unmount(). Moving XFS_QM_DONE() up near XFS_QM_DQPURGEALL() seems like a good spot. SGI-PV: 987086 SGI-Modid: xfs-linux-melb:xfs-kern:32148a Signed-off-by: Lachlan McIlroy Signed-off-by: Christoph Hellwig Signed-off-by: Peter Leckie commit 46039928c9abe466ed1bc0da20c2e596b1d41236 Author: Barry Naujok Date: Thu Oct 30 16:52:35 2008 +1100 [XFS] Remove final remnants of dirv1 macros and other stuff SGI-PV: 981498 SGI-Modid: xfs-linux-melb:xfs-kern:32002a Signed-off-by: Barry Naujok Signed-off-by: Christoph Hellwig Signed-off-by: Lachlan McIlroy commit d07c60e54fb7647d8247ae392f128e8ee8f3e5f3 Author: Lachlan McIlroy Date: Thu Oct 30 16:50:35 2008 +1100 [XFS] Use xfs_idestroy() to cleanup an inode. SGI-PV: 981498 SGI-Modid: xfs-linux-melb:xfs-kern:31927a Signed-off-by: Lachlan McIlroy Signed-off-by: David Chinner commit 8cf14e38372d84ea09ba45fb60b61f6e36c18546 Author: Harvey Harrison Date: Wed Oct 29 22:43:33 2008 -0700 net: easy removals of HIPQUAD using %pI4 format As a bonus, removes some unnecessary byteswapping. Signed-off-by: Harvey Harrison Signed-off-by: David S. Miller commit be8b78a626dd9bc92c12e9ac34f3bc3db1204d25 Author: Lachlan McIlroy Date: Thu Oct 30 16:42:34 2008 +1100 [XFS] Remove kmem_zone_t argument from xfs_inode_init_once() kmem cache constructor no longer takes a kmem_zone_t argument. SGI-PV: 957103 SGI-Modid: xfs-linux-melb:xfs-kern:32254a Signed-off-by: Lachlan McIlroy commit 07c8f67587724b417f60bffb32c448dd94647b54 Author: David Chinner Date: Thu Oct 30 16:11:59 2008 +1100 [XFS] Make use of the init-once slab optimisation. To avoid having to initialise some fields of the XFS inode on every allocation, we can use the slab init-once feature to initialise them. All we have to guarantee is that when we free the inode, all it's entries are in the initial state. Add asserts where possible to ensure debug kernels check this initial state before freeing and after allocation. SGI-PV: 981498 SGI-Modid: xfs-linux-melb:xfs-kern:31925a Signed-off-by: David Chinner Signed-off-by: Lachlan McIlroy Signed-off-by: Christoph Hellwig commit 9edb8bb68b5ea63061ba833831b00c229ac9fbd2 Author: Stephen Hemminger Date: Wed Oct 29 15:31:53 2008 -0700 macvlan: add support for ethtool get settings If macvlan's are used, it is useful to propgate speed and other settings from underlying device up for application usage. Signed-off-by: Stephen Hemminger Acked-by: Patrick McHardy Signed-off-by: David S. Miller commit 6b9a1066f8d4c57c1b778affd91fc38e1121b6f8 Author: Harvey Harrison Date: Wed Oct 29 12:53:10 2008 -0700 printk: remove %p6 format specifier, fix up comments Signed-off-by: Harvey Harrison Signed-off-by: David S. Miller commit 5b095d98928fdb9e3b75be20a54b7a6cbf6ca9ad Author: Harvey Harrison Date: Wed Oct 29 12:52:50 2008 -0700 net: replace %p6 with %pI6 Signed-off-by: Harvey Harrison Signed-off-by: David S. Miller commit 4b7a4274ca63dadd9c4f17fc953f3a5d19855c4c Author: Harvey Harrison Date: Wed Oct 29 12:50:24 2008 -0700 net: replace %#p6 format specifier with %pi6 gcc warns when using the # modifier with the %p format specifier, so we can't use this to omit the colons when needed, introduces %pi6 instead. Signed-off-by: Harvey Harrison Signed-off-by: David S. Miller commit 4aa996066ffc0dba24036c961ee38dfdfbfc061c Author: Harvey Harrison Date: Wed Oct 29 12:49:58 2008 -0700 printk: add %I4, %I6, %i4, %i6 format specifiers For use in printing IPv4, or IPv6 addresses in the usual way: %i4 and %I4 are currently equivalent and print the address in dot-separated decimal x.x.x.x %I6 prints 16-bit network order hex with colon separators: xxxx:xxxx:xxxx:xxxx:xxxx:xxxx:xxxx:xxxx %i6 omits the colons. Signed-off-by: Harvey Harrison Signed-off-by: David S. Miller commit 09fde3c9ba360926ce021c184a1ee343f4d8fa19 Author: Chris Mason Date: Wed Oct 29 14:49:04 2008 -0400 Btrfs: Rev the disk format for compression and root pointer generation fields commit 84234f3a1f7c532e4afeba03cc8e7e4a8a5277ea Author: Yan Zheng Date: Wed Oct 29 14:49:05 2008 -0400 Btrfs: Add root tree pointer transaction ids This patch adds transaction IDs to root tree pointers. Transaction IDs in tree pointers are compared with the generation numbers in block headers when reading root blocks of trees. This can detect some types of IO errors. Signed-off-by: Yan Zheng commit 2517920135b0d29e70453e5b03d70d7b94207df3 Author: Josef Bacik Date: Wed Oct 29 14:49:05 2008 -0400 Btrfs: nuke fs wide allocation mutex V2 This patch removes the giant fs_info->alloc_mutex and replaces it with a bunch of little locks. There is now a pinned_mutex, which is used when messing with the pinned_extents extent io tree, and the extent_ins_mutex which is used with the pending_del and extent_ins extent io trees. The locking for the extent tree stuff was inspired by a patch that Yan Zheng wrote to fix a race condition, I cleaned it up some and changed the locking around a little bit, but the idea remains the same. Basically instead of holding the extent_ins_mutex throughout the processing of an extent on the extent_ins or pending_del trees, we just hold it while we're searching and when we clear the bits on those trees, and lock the extent for the duration of the operations on the extent. Also to keep from getting hung up waiting to lock an extent, I've added a try_lock_extent so if we cannot lock the extent, move on to the next one in the tree and we'll come back to that one. I have tested this heavily and it does not appear to break anything. This has to be applied on top of my find_free_extent redo patch. I tested this patch on top of Yan's space reblancing code and it worked fine. The only thing that has changed since the last version is I pulled out all my debugging stuff, apparently I forgot to run guilt refresh before I sent the last patch out. Thank you, Signed-off-by: Josef Bacik commit 80eb234af09dbe6c97b2e3d60a13ec391e98fbba Author: Josef Bacik Date: Wed Oct 29 14:49:05 2008 -0400 Btrfs: fix enospc when there is plenty of space So there is an odd case where we can possibly return -ENOSPC when there is in fact space to be had. It only happens with Metadata writes, and happens _very_ infrequently. What has to happen is we have to allocate have allocated out of the first logical byte on the disk, which would set last_alloc to first_logical_byte(root, 0), so search_start == orig_search_start. We then need to allocate for normal metadata, so BTRFS_BLOCK_GROUP_METADATA | BTRFS_BLOCK_GROUP_DUP. We will do a block lookup for the given search_start, block_group_bits() won't match and we'll go to choose another block group. However because search_start matches orig_search_start we go to see if we can allocate a chunk. If we are in the situation that we cannot allocate a chunk, we fail and ENOSPC. This is kind of a big flaw of the way find_free_extent works, as it along with find_free_space loop through _all_ of the block groups, not just the ones that we want to allocate out of. This patch completely kills find_free_space and rolls it into find_free_extent. I've introduced a sort of state machine into this, which will make it easier to get cache miss information out of the allocator, and will work well with my locking changes. The basic flow is this: We have the variable loop which is 0, meaning we are in the hint phase. We lookup the block group for the hint, and lookup the space_info for what we want to allocate out of. If the block group we were pointed at by the hint either isn't of the correct type, or just doesn't have the space we need, we set head to space_info->block_groups, so we start at the beginning of the block groups for this particular space info, and loop through. This is also where we add the empty_cluster to total_needed. At this point loop is set to 1 and we just loop through all of the block groups for this particular space_info looking for the space we need, just as find_free_space would have done, except we only hit the block groups we want and not _all_ of the block groups. If we come full circle we see if we can allocate a chunk. If we cannot of course we exit with -ENOSPC and we are good. If not we start over at space_info->block_groups and loop through again, with loop == 2. If we come full circle and haven't found what we need then we exit with -ENOSPC. I've been running this for a couple of days now and it seems stable, and I haven't yet hit a -ENOSPC when there was plenty of space left. Also I've made a groups_sem to handle the group list for the space_info. This is part of my locking changes, but is relatively safe and seems better than holding the space_info spinlock over that entire search time. Thanks, Signed-off-by: Josef Bacik commit f82d02d9d8222183b7945e893111a6d1bf67ae4a Author: Yan Zheng Date: Wed Oct 29 14:49:05 2008 -0400 Btrfs: Improve space balancing code This patch improves the space balancing code to keep more sharing of tree blocks. The only case that breaks sharing of tree blocks is data extents get fragmented during balancing. The main changes in this patch are: Add a 'drop sub-tree' function. This solves the problem in old code that BTRFS_HEADER_FLAG_WRITTEN check breaks sharing of tree block. Remove relocation mapping tree. Relocation mappings are stored in struct btrfs_ref_path and updated dynamically during walking up/down the reference path. This reduces CPU usage and simplifies code. This patch also fixes a bug. Root items for reloc trees should be updated in btrfs_free_reloc_root. Signed-off-by: Yan Zheng commit c8b978188c9a0fd3d535c13debd19d522b726f1f Author: Chris Mason Date: Wed Oct 29 14:49:59 2008 -0400 Btrfs: Add zlib compression support This is a large change for adding compression on reading and writing, both for inline and regular extents. It does some fairly large surgery to the writeback paths. Compression is off by default and enabled by mount -o compress. Even when the -o compress mount option is not used, it is possible to read compressed extents off the disk. If compression for a given set of pages fails to make them smaller, the file is flagged to avoid future compression attempts later. * While finding delalloc extents, the pages are locked before being sent down to the delalloc handler. This allows the delalloc handler to do complex things such as cleaning the pages, marking them writeback and starting IO on their behalf. * Inline extents are inserted at delalloc time now. This allows us to compress the data before inserting the inline extent, and it allows us to insert an inline extent that spans multiple pages. * All of the in-memory extent representations (extent_map.c, ordered-data.c etc) are changed to record both an in-memory size and an on disk size, as well as a flag for compression. From a disk format point of view, the extent pointers in the file are changed to record the on disk size of a given extent and some encoding flags. Space in the disk format is allocated for compression encoding, as well as encryption and a generic 'other' field. Neither the encryption or the 'other' field are currently used. In order to limit the amount of data read for a single random read in the file, the size of a compressed extent is limited to 128k. This is a software only limit, the disk format supports u64 sized compressed extents. In order to limit the ram consumed while processing extents, the uncompressed size of a compressed extent is limited to 256k. This is a software only limit and will be subject to tuning later. Checksumming is still done on compressed extents, and it is done on the uncompressed version of the data. This way additional encodings can be layered on without having to figure out which encoding to checksum. Compression happens at delalloc time, which is basically singled threaded because it is usually done by a single pdflush thread. This makes it tricky to spread the compression load across all the cpus on the box. We'll have to look at parallel pdflush walks of dirty inodes at a later time. Decompression is hooked into readpages and it does spread across CPUs nicely. Signed-off-by: Chris Mason commit 96631ed16c514cf8b28fab991a076985ce378c26 Author: Eric Dumazet Date: Wed Oct 29 11:19:58 2008 -0700 udp: introduce sk_for_each_rcu_safenext() Corey Minyard found a race added in commit 271b72c7fa82c2c7a795bc16896149933110672d (udp: RCU handling for Unicast packets.) "If the socket is moved from one list to another list in-between the time the hash is calculated and the next field is accessed, and the socket has moved to the end of the new list, the traversal will not complete properly on the list it should have, since the socket will be on the end of the new list and there's not a way to tell it's on a new list and restart the list traversal. I think that this can be solved by pre-fetching the "next" field (with proper barriers) before checking the hash." This patch corrects this problem, introducing a new sk_for_each_rcu_safenext() macro. Signed-off-by: Eric Dumazet Signed-off-by: David S. Miller commit f52b5054ec108aaa9e903850d6b62af8ae3fe6ae Author: Eric Dumazet Date: Wed Oct 29 11:19:11 2008 -0700 udp: udp_get_next() should use spin_unlock_bh() Signed-off-by: Eric Dumazet Signed-off-by: David S. Miller commit 6af7a8eb1eb2b5a0967fccf61e750b085d60ad48 Author: Dmitry Baryshkov Date: Thu Oct 16 19:17:05 2008 +0400 [MTD] sharpsl-nand: move registration to board code Finally move registration of sharpsl-nand device to board-specific code. sharpsl nand driver is now clean and simple. Signed-off-by: Dmitry Baryshkov commit a20c7ab570ffdce1d6f67c7acf8c1c502a3b3839 Author: Dmitry Baryshkov Date: Thu Oct 16 18:43:48 2008 +0400 [MTD] sharpsl-nand: use platform_data for model-specific values Add platform_data which holds all model-specific values, like badblocks pattern, oobinfo, partitions. Signed-off-by: Dmitry Baryshkov commit c176d0ca8b775a784e38d8afc7c7b42e8906282d Author: Dmitry Baryshkov Date: Thu Oct 16 18:22:28 2008 +0400 [MTD] sharpsl-nand: cleanup partitions support Signed-off-by: Dmitry Baryshkov commit a4e4f29cbeec200c12c6f3ebedc053a581f90b48 Author: Dmitry Baryshkov Date: Thu Oct 16 17:58:18 2008 +0400 [MTD] sharpsl_nand: move io addr to struct sharpsl_nand Signed-off-by: Dmitry Baryshkov commit 2206ef1c5f6002e474b8eff8a56b6b7fd2efbe8f Author: Dmitry Baryshkov Date: Thu Oct 16 17:49:06 2008 +0400 [MTD] sharpsl_nand: make drvdata non-static Merge mtd_info and nand_chip info special struct and make it drvdata instead of plain static variable. Signed-off-by: Dmitry Baryshkov commit 26615249daaaa9fc194b5154261b9569112ea9fd Author: Dmitry Baryshkov Date: Thu Oct 16 12:08:14 2008 +0400 [MTD] sharpsl_nand: switch to driver model usage. Start cleanup of sharpsl_nand driver. Convert it to platform driver. Corresponding device is temprorary registered in sharpsl.c but will be later moved to corresponding board files. Signed-off-by: Dmitry Baryshkov commit e78a37bc7776955a142317b622818962c3ee75dd Author: Takashi Iwai Date: Wed Oct 29 16:08:01 2008 +0100 ALSA: Fix a typo in Kconfig The previous commit bbaf5e97337287479eb78dbc3822d9560bbfd2e2 has an obvious typo. Fixed now. Signed-off-by: Takashi Iwai commit 9cbbb3ac628227ec5b65fc043539949db606cd17 Author: Jaroslav Kysela Date: Wed Oct 29 13:41:35 2008 +0100 ALSA: Release v1.0.18 Signed-off-by: Jaroslav Kysela Signed-off-by: Takashi Iwai commit eab172294d5e24464f332dd8e94a57a9819c81c4 Author: Li Zefan Date: Wed Oct 29 17:03:22 2008 +0800 sched: cleanup for alloc_rt/fair_sched_group() Impact: cleanup Remove checking parent == NULL. It won't be NULLL, because we dynamically create sub task_group only, and sub task_group always has its parent. (root task_group is statically defined) Also replace kmalloc_node(GFP_ZERO) with kzalloc_node(). Signed-off-by: Li Zefan Signed-off-by: Ingo Molnar commit 8203efb3c612743fecb1ed67cf1daf9d9c127462 Author: Eric Dumazet Date: Wed Oct 29 02:32:32 2008 -0700 udp: calculate udp_mem based on low memory instead of all memory This patch mimics commit 57413ebc4e0f1e471a3b4db4aff9a85c083d090e (tcp: calculate tcp_mem based on low memory instead of all memory) The udp_mem array which contains limits on the total amount of memory used by UDP sockets is calculated based on nr_all_pages. On a 32 bits x86 system, we should base this on the number of lowmem pages. Signed-off-by: Eric Dumazet Signed-off-by: David S. Miller commit 271b72c7fa82c2c7a795bc16896149933110672d Author: Eric Dumazet Date: Wed Oct 29 02:11:14 2008 -0700 udp: RCU handling for Unicast packets. Goals are : 1) Optimizing handling of incoming Unicast UDP frames, so that no memory writes should happen in the fast path. Note: Multicasts and broadcasts still will need to take a lock, because doing a full lockless lookup in this case is difficult. 2) No expensive operations in the socket bind/unhash phases : - No expensive synchronize_rcu() calls. - No added rcu_head in socket structure, increasing memory needs, but more important, forcing us to use call_rcu() calls, that have the bad property of making sockets structure cold. (rcu grace period between socket freeing and its potential reuse make this socket being cold in CPU cache). David did a previous patch using call_rcu() and noticed a 20% impact on TCP connection rates. Quoting Cristopher Lameter : "Right. That results in cacheline cooldown. You'd want to recycle the object as they are cache hot on a per cpu basis. That is screwed up by the delayed regular rcu processing. We have seen multiple regressions due to cacheline cooldown. The only choice in cacheline hot sensitive areas is to deal with the complexity that comes with SLAB_DESTROY_BY_RCU or give up on RCU." - Because udp sockets are allocated from dedicated kmem_cache, use of SLAB_DESTROY_BY_RCU can help here. Theory of operation : --------------------- As the lookup is lockfree (using rcu_read_lock()/rcu_read_unlock()), special attention must be taken by readers and writers. Use of SLAB_DESTROY_BY_RCU is tricky too, because a socket can be freed, reused, inserted in a different chain or in worst case in the same chain while readers could do lookups in the same time. In order to avoid loops, a reader must check each socket found in a chain really belongs to the chain the reader was traversing. If it finds a mismatch, lookup must start again at the begining. This *restart* loop is the reason we had to use rdlock for the multicast case, because we dont want to send same message several times to the same socket. We use RCU only for fast path. Thus, /proc/net/udp still takes spinlocks. Signed-off-by: Eric Dumazet Signed-off-by: David S. Miller commit 645ca708f936b2fbeb79e52d7823e3eb2c0905f8 Author: Eric Dumazet Date: Wed Oct 29 01:41:45 2008 -0700 udp: introduce struct udp_table and multiple spinlocks UDP sockets are hashed in a 128 slots hash table. This hash table is protected by *one* rwlock. This rwlock is readlocked each time an incoming UDP message is handled. This rwlock is writelocked each time a socket must be inserted in hash table (bind time), or deleted from this table (close time) This is not scalable on SMP machines : 1) Even in read mode, lock() and unlock() are atomic operations and must dirty a contended cache line, shared by all cpus. 2) A writer might be starved if many readers are 'in flight'. This can happen on a machine with some NIC receiving many UDP messages. User process can be delayed a long time at socket creation/dismantle time. This patch prepares RCU migration, by introducing 'struct udp_table and struct udp_hslot', and using one spinlock per chain, to reduce contention on central rwlock. Introducing one spinlock per chain reduces latencies, for port randomization on heavily loaded UDP servers. This also speedup bindings to specific ports. udp_lib_unhash() was uninlined, becoming to big. Some cleanups were done to ease review of following patch (RCUification of UDP Unicast lookups) Signed-off-by: Eric Dumazet Signed-off-by: David S. Miller commit 1b063c3d090c45298a37ebc879c71379cf845d9c Merge: d301fc3 c1e99bd Author: Takashi Iwai Date: Wed Oct 29 08:17:05 2008 +0100 Merge branch 'topic/fix/hda' into topic/hda commit d301fc320f3e673a49200d9ce51036caa9abd768 Author: Takashi Iwai Date: Wed Oct 29 08:15:30 2008 +0100 ALSA: hda - Fix indentation in hda_local.h Just cosmetic fixes of spacing that annoyed me. Signed-off-by: Takashi Iwai commit b189db5d299c6824780af5590564ff608adb3dea Author: Harvey Harrison Date: Tue Oct 28 22:38:52 2008 -0700 net: remove NIP6(), NIP6_FMT, NIP6_SEQFMT and final users Open code NIP6_FMT in the one call inside sscanf and one user of NIP6() that could use %p6 in the netfilter code. Signed-off-by: Harvey Harrison Signed-off-by: David S. Miller commit a20fd0a783551831bb6b9b69710e5bbb93dc2730 Author: Harvey Harrison Date: Tue Oct 28 22:38:06 2008 -0700 uwb: use the %pM formatting specifier in eda.c Signed-off-by: Harvey Harrison Signed-off-by: David S. Miller commit 8c165a8383ef56e84b541fa638be5cf1440010e7 Author: Harvey Harrison Date: Tue Oct 28 22:37:41 2008 -0700 infiniband: remove IPOIB_GID_RAW_ARG, IPOIB_GID_ARG, IPOIB_GID_FMT Signed-off-by: Harvey Harrison Signed-off-by: David S. Miller commit fcace2fe7a86237c451b09aaf7e2e9d19e09887f Author: Harvey Harrison Date: Tue Oct 28 22:37:22 2008 -0700 infiniband: ipoib replace IPOIB_GID_FMT with %p6 Replace all uses of IPOIB_GID_FMT, IPOIB_GID_RAW_ARG() and IPOIB_GID_ARG() Signed-off-by: Harvey Harrison Signed-off-by: David S. Miller commit 8867cd7c8678ff2d9d0382dbbfbcc7a3e7e61cbc Author: Harvey Harrison Date: Tue Oct 28 22:36:33 2008 -0700 infiniband: use %p6 for printing message ids Signed-off-by: Harvey Harrison Signed-off-by: David S. Miller commit b30200616f97a81243e6d0c644d8ab06bf0b8115 Author: Stephen Hemminger Date: Tue Oct 28 22:12:36 2008 -0700 vlan: propogate ethtool speed values This enables more ethtool information. The speed and settings of the underlying device are propagated up. This makes services like SNMP that use ethtool to get speed setting, work when managing a vlan, without adding silly heurtistics into SNMP daemon. For the driver info, just use existing driver strings. Signed-off-by: Stephen Hemminger Signed-off-by: David S. Miller commit 3717746ef8b5a9279281b5d318496710984ed739 Author: Daniel Lezcano Date: Tue Oct 28 22:08:46 2008 -0700 veth: remove unused list The veth network device is stored in a list in the netdev private. AFAICS, this list is never used so I removed this list from the code. Signed-off-by: Daniel Lezcano Signed-off-by: David S. Miller commit bb7bba3d56963be59bc6764c8021290ed55205ad Author: Daniel Lezcano Date: Tue Oct 28 22:08:19 2008 -0700 veth: Remove useless veth field The veth private structure contains a netdev pointer refering to its peer. This field is never used and it is pointless because if we can access, the veth_priv, that means we already have the netdev which is stored in veth_priv->dev. Signed-off-by: Daniel Lezcano Signed-off-by: David S. Miller commit fdb46ee752ed05c94bac71fe3decdb5175ec6e1f Author: Harvey Harrison Date: Tue Oct 28 16:10:17 2008 -0700 net, misc: replace uses of NIP6_FMT with %p6 Signed-off-by: Harvey Harrison Signed-off-by: David S. Miller commit 0c6ce78abf6e228d44c3840edb8a4ae0c1299825 Author: Harvey Harrison Date: Tue Oct 28 16:09:23 2008 -0700 net: replace uses of NIP6_FMT with %p6 Signed-off-by: Harvey Harrison Signed-off-by: David S. Miller commit dde4ac07263161264d089c7556d0295487787b77 Author: Peter Ujfalusi Date: Tue Oct 28 23:53:25 2008 -0400 Input: omap-keypad - allow more than 6 rows There is no reason to limit the GPIO rows to 6 for OMAP2. Signed-off-by: Peter Ujfalusi Signed-off-by: Tony Lindgren Signed-off-by: Dmitry Torokhov commit 3cf35049d8b2ccab62bbb8991ad1322ff2276840 Author: Peter Ujfalusi Date: Tue Oct 28 23:53:19 2008 -0400 Input: omap-keypad - interrupt disable fix The GPIO interrupts are disabled several times after the first key press. No need to disable - again - the interrupts in the omap_kp_scan_keypad function on OMAP2. Signed-off-by: Peter Ujfalusi Signed-off-by: Tony Lindgren Signed-off-by: Dmitry Torokhov commit 09779678d12482024e06380cacc4c3ff2f129f23 Author: Stelian Pop Date: Tue Oct 28 23:20:46 2008 -0400 Input: appletouch - driver refactoring The appletouch driver has grown up from supporting only a couple of touchpads into supporting many touchpads, which can have different number of sensors, different aspect ratios etc. This patch cleans up the current driver code and makes it easy to support the features of each different touchpad. As a side effect, this patch also modifies the 'Y' multiplication factor of the 'geyser3' and 'geyser4' touchpads (found on Core Duo and Core2 Duo MacBook and MacBook Pro laptops) in order to make the touchpad output match the aspect ratio of the touchpad (Y factor changed from 43 to 64). [dtor@mail.ru: make atp_info constant] Signed-off-by: Stelian Pop Acked-by: Johannes Berg Signed-off-by: Dmitry Torokhov commit abeb21efb10cd9e980f611c9bb408f172ed44465 Author: Michael Hennerich Date: Wed Oct 29 11:06:03 2008 +0800 Blackfin arch: remove most BUG_ON channel checks keep BUG_ON in DMA request, free and set_dma_callback. Signed-off-by: Michael Hennerich Signed-off-by: Bryan Wu commit 38ff4fa49bef77e86b21d95d9ce341a098f02839 Author: Harvey Harrison Date: Tue Oct 28 16:08:13 2008 -0700 netfilter: replace uses of NIP6_FMT with %p6 Signed-off-by: Harvey Harrison Signed-off-by: David S. Miller commit 1afa67f5e70b4733d5b237df61e6d639af6283bb Author: Harvey Harrison Date: Tue Oct 28 16:06:44 2008 -0700 misc: replace NIP6_FMT with %p6 format specifier The iscsi_ibft.c changes are almost certainly a bugfix as the pointer 'ip' is a u8 *, so they never print the last 8 bytes of the IPv6 address, and the eight bytes they do print have a zero byte with them in each 16-bit word. Other than that, this should cause no difference in functionality. Signed-off-by: Harvey Harrison Signed-off-by: David S. Miller commit b071195deba14b37ce896c26f20349b46e5f9fd2 Author: Harvey Harrison Date: Tue Oct 28 16:05:40 2008 -0700 net: replace all current users of NIP6_SEQFMT with %#p6 The define in kernel.h can be done away with at a later time. Signed-off-by: Harvey Harrison Signed-off-by: David S. Miller commit 689afa7da106032a3e859ae35494f80dd6eac640 Author: Harvey Harrison Date: Tue Oct 28 16:04:44 2008 -0700 printk: add %p6 format specifier for IPv6 addresses Takes a pointer to a IPv6 address and formats it in the usual colon-separated hex format: xxxx:xxxx:xxxx:xxxx:xxxx:xxxx:xxxx:xxxx Each 16 bit word is printed in network-endian byteorder. %#p6 is also supported and will omit the colons. %p6 is a replacement for NIP6_FMT and NIP6() %#p6 is a replacement for NIP6_SEQFMT and NIP6() Note that NIP6() took a struct in6_addr whereas this takes a pointer to a struct in6_addr. Signed-off-by: Harvey Harrison Signed-off-by: David S. Miller commit 3a2dfbe8acb154905fdc2fd03ec56df42e6c4cc4 Author: Martin Willi Date: Tue Oct 28 16:01:07 2008 -0700 xfrm: Notify changes in UDP encapsulation via netlink Add new_mapping() implementation to the netlink xfrm_mgr to notify address/port changes detected in UDP encapsulated ESP packets. Signed-off-by: Martin Willi Signed-off-by: David S. Miller commit 93adcc80f3288f1827baf6f821af818f6eeef7f9 Author: Alexey Dobriyan Date: Tue Oct 28 13:25:09 2008 -0700 net: don't use INIT_RCU_HEAD call_rcu() will unconditionally rewrite RCU head anyway. Applies to struct neigh_parms struct neigh_table struct net struct cipso_v4_doi struct in_ifaddr struct in_device rt->u.dst Signed-off-by: Alexey Dobriyan Acked-by: Paul E. McKenney Signed-off-by: David S. Miller commit def8b4faff5ca349beafbbfeb2c51f3602a6ef3a Author: Alexey Dobriyan Date: Tue Oct 28 13:24:06 2008 -0700 net: reduce structures when XFRM=n ifdef out * struct sk_buff::sp (pointer) * struct dst_entry::xfrm (pointer) * struct sock::sk_policy (2 pointers) Signed-off-by: Alexey Dobriyan Signed-off-by: David S. Miller commit b057efd4d226fcc3a92b0dc6d8ea8e8185ecb260 Author: Patrick McHardy Date: Tue Oct 28 11:59:11 2008 -0700 netlink: constify struct nlattr * arg to parsing functions Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller commit f99b25897a86fcfff9140396a97261ae65fed872 Author: Theodore Ts'o Date: Tue Oct 28 13:21:44 2008 -0400 ext4: Add support for non-native signed/unsigned htree hash algorithms The original ext3 hash algorithms assumed that variables of type char were signed, as God and K&R intended. Unfortunately, this assumption is not true on some architectures. Userspace support for marking filesystems with non-native signed/unsigned chars was added two years ago, but the kernel-side support was never added (until now). Signed-off-by: "Theodore Ts'o" commit 5e1f8c9e20a92743eefc9a82c2db835213905e26 Author: Theodore Ts'o Date: Tue Oct 28 13:21:55 2008 -0400 ext3: Add support for non-native signed/unsigned htree hash algorithms The original ext3 hash algorithms assumed that variables of type char were signed, as God and K&R intended. Unfortunately, this assumption is not true on some architectures. Userspace support for marking filesystems with non-native signed/unsigned chars was added two years ago, but the kernel-side support was never added (until now). Signed-off-by: "Theodore Ts'o" Cc: akpm@linux-foundation.org Cc: linux-kernel@vger.kernel.org commit 8f72fbdf0d92e6127583cc548bf043c60cd4720f Author: Alexander Beregalov Date: Wed Oct 29 17:13:08 2008 -0400 ext4: fix printk format warning fs/ext4/balloc.c:607: warning: format '%lld' expects type 'long long int', but argument 2 has type 's64' fs/ext4/inode.c:1822: warning: format '%lld' expects type 'long long int', but argument 2 has type 's64' fs/ext4/inode.c:1824: warning: format '%lld' expects type 'long long int', but argument 2 has type 's64' Signed-off-by: Alexander Beregalov Signed-off-by: Theodore Ts'o commit ad38dab01323a01e825555fc46863b73cd0efdc7 Author: Harvey Harrison Date: Mon Oct 27 13:30:56 2008 -0700 x86: use the new byteorder headers Impact: cleanup, no functionality changed Signed-off-by: Harvey Harrison Signed-off-by: Ingo Molnar commit d1a76187a5be4f89c6cb19d800cb5fb7aac735c5 Merge: c7e78cf 0173a32 Author: Ingo Molnar Date: Tue Oct 28 16:54:49 2008 +0100 Merge commit 'v2.6.28-rc2' into core/locking Conflicts: arch/um/include/asm/system.h commit d4f1b10365d4f03dd802433e0014cf503e6e930c Author: Jike Song Date: Fri Oct 17 13:25:07 2008 +0800 x86: clean up comments wrt. rd{msr|tsc|pmc} The rdmsr instruction(et al) for i386 and x86-64 are semantically same. The only difference is how gcc interpret constraint "A" for these targets. Signed-off-by: Jike Song Signed-off-by: Ingo Molnar commit 2011a067281565494494aee194ca5081e52d6c3f Merge: 63fb708 0173a32 Author: Ingo Molnar Date: Tue Oct 28 16:46:59 2008 +0100 Merge commit 'v2.6.28-rc2' into x86/doc commit 30604bb410b53efa9c93ee8f03d7aa7494094faa Author: Yinghai Lu Date: Tue Oct 14 18:59:18 2008 -0700 x86: break up mtrr_cleanup() into several small functions. Ingo said mtrr_cleanup() is big and ugly. so break it up into more functions and make it more readable. Signed-off-by: Yinghai Lu Signed-off-by: Ingo Molnar commit 7a9787e1eba95a166265e6a260cf30af04ef0a99 Merge: 41b9eb2 0173a32 Author: Ingo Molnar Date: Tue Oct 28 16:26:12 2008 +0100 Merge commit 'v2.6.28-rc2' into x86/pci-ioapic-boot-irq-quirks commit 4656d5de9555e263c5b4c0462b5af7e7bded1b42 Author: David Vrabel Date: Mon Oct 27 17:12:33 2008 +0000 wusb: reset WUSB devices with SetAddress(0) Using a Reset Device IE to reset a WUSB device is too heavyweight as it causes the devcie to disconnect (which the USB stack does not expect and cannot handle). Instead, do a SetAddress(0); SetAddress(AuthAddr) for authenticated devices. Unauthenticated devices will not be reset and the stack will have to rely on the device timing out after TrustTimeout and disconnecting. Signed-off-by: David Vrabel commit 1cde7f68ced8d10a20dd2370e9d1d22ab3c1ea5c Author: David Vrabel Date: Mon Oct 27 16:48:09 2008 +0000 uwb: order IEs by element ID ECMA-368 requires that IEs in a beacon must be sorted by element ID. Most hardware uses the ordering in the Set IE URC command so get the ordering right on the host. Also refactor the IE management code: - use uwb_ie_next() instead of uwb_ie_for_each(). - remove unnecessary functions. - API is now only uwb_rc_ie_add() and uwb_rc_ie_rm(). Signed-off-by: David Vrabel commit 4d2bea4ca0adb4cebfbf89d34869c74081c42577 Author: David Vrabel Date: Mon Oct 27 15:42:31 2008 +0000 wusb: do a proper channel stop When stopping the WUSB channel the host should send Channel Stop IEs giving the WUSB Channel Time of the last MMC. Both WHCI and HWA hosts provide a channel stop command for this. Signed-off-by: David Vrabel commit d409f3bf47c5e5ae10601d079204e263bc176bcf Author: David Vrabel Date: Mon Oct 27 15:30:12 2008 +0000 wusb: disable verification of the key generation algorithms Verifing the key generation algorithms could take too long on a freshly booted system (due to lack of entropy) so disable the test unless a module parameter (debug_crypto_verify) is specified. Signed-off-by: David Vrabel commit cae1c11414912bf77a62aebd65ced321f0b9da51 Author: David Vrabel Date: Mon Oct 27 15:22:46 2008 +0000 uwb: reference count reservations Reference counting the struct uwb_rsv's is safer and easier to get right than the transferring ownership of the structures from the PAL to reservation manager. This fixes an oops in the debug PAL after a reservation timed out. Signed-off-by: David Vrabel commit b09ac64b7b2d93efab3998033588f5cb0e470ccf Author: David Vrabel Date: Mon Oct 27 15:14:03 2008 +0000 wusb: release mutex in the error path of whci-hcd's whc_do_gencmd() Signed-off-by: David Vrabel commit 6a4b58707903cb0901966ac8dad5d6ec7f2d432f Author: David Vrabel Date: Mon Oct 27 15:10:14 2008 +0000 uwb: target reservations shouldn't get streams The reservation owner should decide the stream index to use based on what reservations it's created. Signed-off-by: David Vrabel commit 163d4c53e3efb457eee96f7487ba3baef2be7796 Merge: 34c2535 e044c39 Author: Takashi Iwai Date: Tue Oct 28 11:44:45 2008 +0100 Merge branch 'topic/fix/hda' into topic/hda commit 34c25350acfc792747e861d1e36874abf7e73255 Author: Takashi Iwai Date: Tue Oct 28 11:38:58 2008 +0100 ALSA: hda - Remove old codec-probe limitation Removed the old workaround to avoid the non-existing codec slot. The current code should work without that workaround. If any, we can add a quirk table. Signed-off-by: Takashi Iwai commit 15ad9a531a64d46af54839ab13542a81ad4c82a5 Merge: 911fc25 c3e5203 Author: Takashi Iwai Date: Tue Oct 28 11:41:18 2008 +0100 Merge branch 'topic/fix/asoc' into topic/asoc commit 2cf851137b55cd0c49fd9e005cd01ac4761c005e Author: Mike Frysinger Date: Tue Oct 28 16:34:42 2008 +0800 Blackfin arch: only add IFLUSH nop padding when anomaly 443 is enabled Signed-off-by: Mike Frysinger Signed-off-by: Bryan Wu commit e04f9f427bca526d7752879a5b3d341628c0cc0d Author: Michael Hennerich Date: Tue Oct 28 18:18:47 2008 +0800 Blackfin arch: Remove useless SSYNCs in DMA code Tons of SSYNC operation will impact the DMA performance Signed-off-by: Bryan Wu commit a2ba8b19989e038bdf1a9fcc25e860d5077d2474 Author: Michael Hennerich Date: Tue Oct 28 18:19:29 2008 +0800 Blackfin arch: lookup channel2irq() only once Add irq to struct dma_channel lookup channel2irq() only once, since channel2irq() is fairly large on some Blackfin derivatives. Signed-off-by: Michael Hennerich Signed-off-by: Bryan Wu commit 3529e0414b600faa1b6d822569b3343131235813 Author: Mike Frysinger Date: Tue Oct 28 16:22:41 2008 +0800 Blackfin arch: update anomaly lists to match latest sheets Signed-off-by: Mike Frysinger Signed-off-by: Bryan Wu commit 6a87d29bc684d845fe8338a8ce279f743d343250 Author: Mike Frysinger Date: Tue Oct 28 16:16:29 2008 +0800 Blackfin arch: refine the gpio check refine the gpio check in peripheral_request() so that it only checks pins that can be used as both GPIO and a peripheral Signed-off-by: Mike Frysinger Signed-off-by: Bryan Wu commit a2d03a1d8e2562cc64a223485c06db9840ac3b2b Author: Mike Frysinger Date: Tue Oct 28 15:53:37 2008 +0800 Blackfin arch: unify port_setup() to reduce arch differences Signed-off-by: Mike Frysinger Signed-off-by: Bryan Wu commit 6c7ec0ec93d3f8e661a1d11221d869654dd3fcd9 Author: Mike Frysinger Date: Tue Oct 28 15:49:59 2008 +0800 Blackfin arch: unify peripheral_request() to reduce arch differences Signed-off-by: Mike Frysinger Signed-off-by: Bryan Wu commit 1f7d373f4773eca06978446f677b4de5a4814095 Author: Mike Frysinger Date: Tue Oct 28 15:47:11 2008 +0800 Blackfin arch: fix cmp_label() so it doesnt incorrectly accept partial leading matches Signed-off-by: Mike Frysinger Signed-off-by: Bryan Wu commit 27228b2e4c1726a376b32f8b12242718ebf5b8a4 Author: Mike Frysinger Date: Tue Oct 28 15:45:42 2008 +0800 Blackfin arch: unify check_gpio() to reduce arch differences Signed-off-by: Mike Frysinger Signed-off-by: Bryan Wu commit 588ba8199e06e4d558114093d0b5812920035c72 Author: Mike Frysinger Date: Tue Oct 28 14:38:51 2008 +0800 Blackfin arch: remove unused local define Signed-off-by: Mike Frysinger Signed-off-by: Bryan Wu commit 2f6f4bcdd611cb968b800f7569c4383727856668 Author: Bryan Wu Date: Tue Nov 18 17:48:21 2008 +0800 Blackfin arch: add support for Blackfin latest processor family BF51x Signed-off-by: Bryan Wu commit 2563265bdb5fb21396cdc2125c8260e57f7c3991 Author: Mike Frysinger Date: Tue Oct 28 14:11:45 2008 +0800 Blackfin arch: put quotes around error to silence a ton of warnings from gcc-4.3 Signed-off-by: Mike Frysinger Signed-off-by: Bryan Wu commit efe065a1b39974ff2bbb9aa693400f3de4ba5a6a Author: Graf Yang Date: Tue Oct 28 14:00:52 2008 +0800 Blackfin arch: fix bug - kernel with SMP patch can not bootup The original code defined _exception_stack but not alloc space for the exception stack. In exception, this area is over written by exception stack. Common kernel luckly boot up, but SMP kernel stuck. Signed-off-by: Graf Yang Signed-off-by: Bryan Wu commit d292b00031369feb7bc6b4a14e434379fb2dbb01 Author: Mike Frysinger Date: Tue Oct 28 11:15:36 2008 +0800 Blackfin arch: drop redundant BFIN_DMA_5XX depends Signed-off-by: Mike Frysinger Signed-off-by: Bryan Wu commit 0f8befa1d1fd86cac8221785a85943dfbdef4773 Author: Mike Frysinger Date: Tue Oct 28 11:12:17 2008 +0800 Blackfin arch: drop unused exports and comment remaining exports Signed-off-by: Mike Frysinger Signed-off-by: Bryan Wu commit 6ad2b84cf014d91a9dffa3f8edb008430fbdb445 Author: Mike Frysinger Date: Tue Oct 28 11:03:09 2008 +0800 Blackfin arch: add an option to allow people to stick exception stack into L1 scratch allow people to stick exception stack into L1 scratch and make sure it gets placed into .bss sections rather than .data Signed-off-by: Mike Frysinger Signed-off-by: Bryan Wu commit fe8015ce2588e3ffe65284a2883703355804276e Author: Mike Frysinger Date: Tue Oct 28 11:07:15 2008 +0800 Blackfin arch: move EXPORT_SYMBOL to the place where it is actually defined - kernel_thread - irq_flags - checksum Signed-off-by: Mike Frysinger Signed-off-by: Bryan Wu commit dc26aec25d1a4e2690df166dbe843344728994ce Author: Michael Hennerich Date: Tue Nov 18 17:48:22 2008 +0800 Blackfin arch: BF538/9 Linux kernel Support Add supporing for Blackfin BF538 and BF539 processors. Signed-off-by: Michael Hennerich Signed-off-by: Bryan Wu commit b67b4b117746aef686e527c3205792db0f2c9e16 Author: Dominic Curran Date: Mon Oct 27 22:30:53 2008 -0400 Input: gpio-keys - add flag to allow auto repeat This patch adds a flag to gpio-key driver to turn on the input subsystems auto repeat feature if needed. Signed-off-by: Dominic Curran Signed-off-by: Dmitry Torokhov commit b4a3ac9a3c26e82e31f8a8f55cb014bc580b1216 Author: John Linn Date: Mon Oct 27 22:17:22 2008 -0400 Input: xilinx_ps2 - various cleanups Review comments were incorporated to improve the driver. 1. Some data was eliminated that was not needed. 2. Renaming of variables for clarity. 3. Removed unneeded type casting. 4. Changed to use dev_err rather than other I/O. 5. Merged together some functions. 6. Added kerneldoc format to functions. Signed-off-by: Sadanand Signed-off-by: John Linn Acked-by: Peter Korsgaard Acked-by: Grant Likely Signed-off-by: Dmitry Torokhov commit 2d56f3a32c0e62f99c043d2579840f9731fe5855 Author: Philip Langdale Date: Thu Oct 16 22:31:42 2008 -0400 Input: refactor evdev 32bit compat to be shareable with uinput Currently, evdev has working 32bit compatibility and uinput does not. uinput needs the input_event code that evdev uses, so let's refactor it so it can be shared. [dtor@mail.ru: add fix for force feedback compat issues] Signed-off-by: Philip Langdale Signed-off-by: Dmitry Torokhov commit 3891845e1ef6e6807075d4241966b26f6ecb0a5c Author: Eric W. Biederman Date: Mon Oct 27 17:51:47 2008 -0700 netns: Coexist with the sysfs limitations v2 To make testing of the network namespace simpler allow the network namespace code and the sysfs code to be compiled and run at the same time. To do this only virtual devices are allowed in the additional network namespaces and those virtual devices are not placed in the kobject tree. Since virtual devices don't actually do anything interesting hardware wise that needs device management there should be no loss in keeping them out of the kobject tree and by implication sysfs. The gain in ease of testing and code coverage should be significant. Changelog: v2: As pointed out by Benjamin Thery it only makes sense to call device_rename in the initial network namespace for now. Signed-off-by: Eric W. Biederman Acked-by: Benjamin Thery Tested-by: Serge Hallyn Acked-by: Serge Hallyn Acked-by: Daniel Lezcano Signed-off-by: David S. Miller commit 7c510e4b730a92cecf94ada45c989d8be0200d47 Author: Johannes Berg Date: Mon Oct 27 17:47:26 2008 -0700 net: convert more to %pM A number of places still use %02x:...:%02x because it's in debug statements or for no real reason. Make a few of them use %pM. Signed-off-by: Johannes Berg Signed-off-by: David S. Miller commit e174961ca1a0b28f7abf0be47973ad57cb74e5f0 Author: Johannes Berg Date: Mon Oct 27 15:59:26 2008 -0700 net: convert print_mac to %pM This converts pretty much everything to print_mac. There were a few things that had conflicts which I have just dropped for now, no harm done. I've built an allyesconfig with this and looked at the files that weren't built very carefully, but it's a huge patch. Signed-off-by: Johannes Berg Signed-off-by: David S. Miller commit 0c68ae2605dbcf67414d8d1f19af93be44b355fb Author: Johannes Berg Date: Mon Oct 27 15:56:10 2008 -0700 mac80211: convert to %pM away from print_mac Also remove a few stray DECLARE_MAC_BUF that were no longer used at all. Signed-off-by: Johannes Berg Signed-off-by: David S. Miller commit dd45c9cf687682c9ce256ab14bd8914db77410bb Author: Harvey Harrison Date: Mon Oct 27 15:47:12 2008 -0700 printk: add %pM format specifier for MAC addresses Add format specifiers for printing out six colon-separated bytes: MAC addresses (%pM): xx:xx:xx:xx:xx:xx %#pM is also supported and omits the colon separators. Signed-off-by: Harvey Harrison Signed-off-by: David S. Miller commit 1080d709fb9d8cd4392f93476ee46a9d6ea05a5b Author: Neil Horman Date: Mon Oct 27 12:28:25 2008 -0700 net: implement emergency route cache rebulds when gc_elasticity is exceeded This is a patch to provide on demand route cache rebuilding. Currently, our route cache is rebulid periodically regardless of need. This introduced unneeded periodic latency. This patch offers a better approach. Using code provided by Eric Dumazet, we compute the standard deviation of the average hash bucket chain length while running rt_check_expire. Should any given chain length grow to larger that average plus 4 standard deviations, we trigger an emergency hash table rebuild for that net namespace. This allows for the common case in which chains are well behaved and do not grow unevenly to not incur any latency at all, while those systems (which may be being maliciously attacked), only rebuild when the attack is detected. This patch take 2 other factors into account: 1) chains with multiple entries that differ by attributes that do not affect the hash value are only counted once, so as not to unduly bias system to rebuilding if features like QOS are heavily used 2) if rebuilding crosses a certain threshold (which is adjustable via the added sysctl in this patch), route caching is disabled entirely for that net namespace, since constant rebuilding is less efficient that no caching at all Tested successfully by me. Signed-off-by: Neil Horman Signed-off-by: Eric Dumazet Signed-off-by: David S. Miller commit 69a72a0e9337aad8c730e8e9942d5aa022bc4c5c Author: Mike Travis Date: Mon Oct 27 07:51:20 2008 -0700 x86/uv: update SCIR driver to use the idle_cpu() function Impact: cleanup Change UV heartbeat function to use idle_cpu to determine cpu's "idleness". Realign uv_hub definitions. Signed-of-by: Mike Travis Signed-off-by: Ingo Molnar commit 878719e831d9e076961aa15d4049a57a6668c67a Author: Neil Horman Date: Thu Oct 23 10:40:06 2008 -0400 x86: unify appropriate bits from dumpstack_32 and dumpstack_64 Impact: cleanup As promised, now that dumpstack_32 and dumpstack_64 have so many bits in common, we should merge the in-sync bits into a common file, to prevent them from diverging again. This patch removes bits which are common between dumpstack_32.c and dumpstack_64.c and places them in a common dumpstack.c which is built for both 32 and 64 bit arches. Signed-off-by: Neil Horman Acked-by: Alexander van Heukelum Signed-off-by: Ingo Molnar Makefile | 2 arch/x86/kernel/Makefile | 2 arch/x86/kernel/Makefile | 2 arch/x86/kernel/Makefile | 2 arch/x86/kernel/Makefile | 2 arch/x86/kernel/Makefile | 2 arch/x86/kernel/dumpstack.c | 319 +++++++++++++++++++++++++++++++++++++++++ arch/x86/kernel/dumpstack.h | 39 +++++ arch/x86/kernel/dumpstack_32.c | 294 ------------------------------------- arch/x86/kernel/dumpstack_64.c | 285 ------------------------------------ 5 files changed, 363 insertions(+), 576 deletions(-) commit 7d5a78cd98c3a5eb83bd6a061c5ea6ef1e9b8fcb Author: Aristeu Rozanski Date: Mon Oct 27 12:42:35 2008 -0400 x86, NMI watchdog: disable NMIs on LVT0 in case NMI watchdog is not working Impact: change NMI watchdog detection and disabling sequence Currently, if the NMI watchdog fails using IOAPIC method, it'll only disable interrupts on 8259 if the timer is passing thru it. This patch disables NMI delivery on LINT0 if the NMI watchdog initial test fails, just for safety. Signed-off-by: Aristeu Rozanski Cc: "Maciej W. Rozycki" Signed-off-by: Ingo Molnar commit 6f290b4e016d6c61511542cf6d9ebdef1965978e Author: Aristeu Rozanski Date: Mon Oct 27 12:42:34 2008 -0400 x86, NMI watchdog: add support to enable and disable IOAPIC NMI Impact: change/improve the way /proc/sys/kernel/nmi_watchdog works This patch adds support to enable/disable IOAPIC NMI watchdog in runtime via procfs. Signed-off-by: Aristeu Rozanski Cc: "Maciej W. Rozycki" Signed-off-by: Ingo Molnar commit b43d196c4d3fe46d6dda7c987c47792612b80b1b Author: Arjan van de Ven Date: Sun Oct 5 12:21:32 2008 -0700 x86: corruption-check: some post-move cleanups Impact: cleanup now that the code is moved and converted to a work queue, there's some minor cleanups that can be done. Signed-off-by: Arjan van de Ven Signed-off-by: Ingo Molnar commit 304e629bf4a3150a0bf6556fc45c52c5c082340f Author: Arjan van de Ven Date: Sun Oct 5 12:09:03 2008 -0700 x86: corruption check: run the corruption checks from a work queue Impact: change the implementation of the debug feature the periodic corruption checks are better off run from a work queue; there's nothing time critical about them and this way the amount of interrupt-context work is reduced. Signed-off-by: Arjan van de Ven Signed-off-by: Ingo Molnar commit 6784f7d0a5016a397d38be1134e63fc784c1ca8e Author: Arjan van de Ven Date: Sun Oct 5 11:33:42 2008 -0700 x86: corruption check: move the corruption checks into their own file Impact: cleanup The corruption check code is rather sizable and it's likely to grow over time when we add checks for more types of corruptions (there's a few candidates in kerneloops.org that I want to add checks for)... so lets move it to its own file Signed-off-by: Arjan van de Ven Signed-off-by: Ingo Molnar commit 04d2aac33eb54fd3084140f2db130530d71e97c6 Author: Arjan van de Ven Date: Sun Oct 5 11:08:10 2008 -0700 x86: corruption-check: fix some style issues Impact: cleanup Before moving the code to it's own file, fix some style issues in the corruption check code. Signed-off-by: Arjan van de Ven Signed-off-by: Ingo Molnar commit 944ac4259e39801c843a915c3da8194ac9af0440 Author: Steven Rostedt Date: Thu Oct 23 19:26:08 2008 -0400 ftrace: ftrace dump on oops control Impact: add (default-off) dump-trace-on-oops flag Currently, ftrace is set up to dump its contents to the console if the kernel panics or oops. This can be annoying if you have trace data in the buffers and you experience an oops, but the trace data is old or static. Usually when you want ftrace to dump its contents is when you are debugging your system and you have set up ftrace to trace the events leading to an oops. This patch adds a control variable called "ftrace_dump_on_oops" that will enable the ftrace dump to console on oops. This variable is default off but a developer can enable it either through the kernel command line by adding "ftrace_dump_on_oops" or at run time by setting (or disabling) /proc/sys/kernel/ftrace_dump_on_oops. v2: Replaced /** with /* as Randy explained that kernel-doc does not yet handle variables. Signed-off-by: Steven Rostedt Signed-off-by: Ingo Molnar commit c63dfefd48d92b1db3400fe8de4886a519ac3949 Author: Dan McGee Date: Thu Oct 23 15:44:02 2008 -0500 x86: remove dead IRQBALANCE code Impact: cleanup CONFIG_IRQBALANCE was removed in commit 8b8e8c1bf; this ifdef was still around. Signed-off-by: Dan McGee Signed-off-by: Ingo Molnar commit fd4a2030a358b4818646031049d9631bd45b9915 Author: Hiroshi Shimamoto Date: Thu Oct 23 17:15:28 2008 -0700 x86: signal_64.c: get_stack() doesn't need entire regs Impact: cleanup get_stack() uses sp only, entire regs is not needed. Signed-off-by: Hiroshi Shimamoto Signed-off-by: Ingo Molnar commit 709110bd5624094992579f5311541f2e2b7ce58a Author: Hiroshi Shimamoto Date: Thu Oct 23 17:14:25 2008 -0700 x86: signal: cosmetic unification of restore_sigcontext() Impact: cleanup Make restore_sigcontext() the same. Signed-off-by: Hiroshi Shimamoto Signed-off-by: Ingo Molnar commit fd3fdf11d3c649769e02459c5f1b8081a15e9007 Author: Pekka Paalanen Date: Fri Oct 24 20:08:11 2008 +0300 trace: add the MMIO-tracer to the tracer menu, cleanup Impact: cleanup We can remove MMIOTRACE_HOOKS and replace it with just MMIOTRACE. MMIOTRACE_HOOKS is a remnant from the time when I thought that something else could also use the kmmio facilities. Signed-off-by: Pekka Paalanen Acked-by: Steven Rostedt Signed-off-by: Ingo Molnar commit 5d9881ea1440f046ee851bbaa2a2962543336a11 Author: Zhaolei Date: Wed Oct 22 11:38:01 2008 +0800 markers: break the redundant loop in kernel/marker.c Impact: cleanup, no functionality changed Because e->name is unique in list, we don't need to continue the iteration after matched. Signed-off-by: Zhao Lei Acked-by: Mathieu Desnoyers Signed-off-by: Ingo Molnar commit 4de62748e69c31fc4fd5bc43b73e9cf60a17ec53 Author: Lai Jiangshan Date: Wed Oct 15 14:56:47 2008 +0800 markers: let marker_table be close to its comments marker_table is defined far from its comments, this fix make cleanup for it. Signed-off-by: Lai Jiangshan Acked-by: Mathieu Desnoyers Signed-off-by: Ingo Molnar commit 505e371da195fad20cb8aaf45407a2849774d6d0 Author: Lai Jiangshan Date: Wed Oct 15 14:56:42 2008 +0800 markers: remove exported symbol marker_probe_cb_noarg() marker_probe_cb_noarg() should not be seen by outer code. this patch remove it. Signed-off-by: Lai Jiangshan Acked-by: Mathieu Desnoyers Signed-off-by: Ingo Molnar commit 0eec481e8fb000a209fda9bf8f466aca87dc1150 Author: Lai Jiangshan Date: Wed Oct 15 14:56:37 2008 +0800 markers: simplify marker_set_format() current marker_set_format() is complex this patch simplify it, and decrease the overhead of marker_update_probes(). Signed-off-by: Lai Jiangshan Acked-by: Mathieu Desnoyers Signed-off-by: Ingo Molnar commit 7f1baa063e2582dd52d83bb31508e9e84468c666 Author: Mike Travis Date: Fri Oct 24 15:24:29 2008 -0700 x86/uv: provide a System Activity Indicator driver Impact: start per CPU heartbeat LED timers on SGI UV systems The SGI UV system has no LEDS but uses one of the system controller regs to indicate the online internal state of the cpu. There is a heartbeat bit indicating that the cpu is responding to interrupts, and an idle bit indicating whether the cpu is idle when the heartbeat interrupt occurs. The current period is one second. When a cpu panics, an error code is written by BIOS to this same reg. This patchset provides the following: * x86_64: Add base functionality for writing to the specific SCIR's for each cpu. * heartbeat: Invert "heartbeat" bit to indicate the cpu is "interruptible". If the current thread is the idle thread, then indicate system is "idle". * if hotplug enabled, all bits are set (0xff) when the cpu is disabled. Signed-off-by: Mike Travis Signed-off-by: Ingo Molnar commit 5292ae11babca23c3ff82593630d2d7eebc350a9 Merge: b0f2098 0173a32 Author: Ingo Molnar Date: Mon Oct 27 12:38:02 2008 +0100 Merge commit 'v2.6.28-rc2' into x86/uv commit f940260a980a1ad7570dfd7a4b73c6ad2207f738 Author: Mike Frysinger Date: Mon Oct 27 18:17:41 2008 +0800 Blackfin arch: unify duplicated bss init code Signed-off-by: Mike Frysinger Signed-off-by: Bryan Wu commit f4a2a0d9a4226846693b5b4462d4350c1bfd58ea Author: Frederic Weisbecker Date: Mon Oct 27 02:05:25 2008 +0100 ftrace: add a script to produce a hierarchical view of a function trace This script parses a function trace and then produces a hierarchical view of the function call stack after processing it into a tree. Changes on V2 thanks to the trace sent by Steven: - Support both the files "trace" and "trace_pipe" (comments and space differences) - Correct the mini HOW-TO at the beginning. Signed-off-by: Frederic Weisbecker Acked-by: Steven Rostedt Signed-off-by: Ingo Molnar commit 8479d94e9f6a44b5050cbacf653272a561fbe0d0 Author: Mikael Pettersson Date: Mon Oct 27 09:30:57 2008 +0100 x86, signals: remove duplicated register setup code in ia32 signal delivery Impact: cleanup, no functionality changed ia32_setup_rt_frame() has a duplicated code block labelled "Make -mregparm=3 work" for setting up the register parameters to the user-mode signal handler. This is harmless but ugly. Remove the redundant assignments. Signed-off-by: Mikael Pettersson Signed-off-by: Ingo Molnar commit 4fc85e451ff5e9b6ccd7f5cac7f65684755370e2 Merge: 9f50bba 67679b1 Author: Takashi Iwai Date: Mon Oct 27 08:50:43 2008 +0100 Merge branch 'topic/misc-next' into topic/misc commit 911fc25dda145f4f7313535466eec0c9f4a51ea1 Merge: 4b7d283 6b93311 Author: Takashi Iwai Date: Mon Oct 27 08:37:08 2008 +0100 Merge branch 'topic/asoc-next' into topic/asoc commit 42dc2378b52bb6e155dd2e4fb4ca694785bf2c1d Merge: da74ae3 74aeaab Author: Takashi Iwai Date: Mon Oct 27 08:36:48 2008 +0100 Merge branch 'topic/hda-next' into topic/hda commit 74aeaabc3e452b29bc1b9eac5aa48923569f8a4e Author: Matthew Ranostay Date: Sat Oct 25 01:06:04 2008 -0400 ALSA: hda: add support for jack detection on IDT codecs. This patch adds support to the IDT codec families to report jack status to the jack abstraction layer. This required some reorganization in the stac92xx_unsol_event function in which the index value is changed to reporting the nid with the event. Also adds an sigmatel_jack struct to keep track of the nid relation to the jack abstraction layer instance. Also adds functions to set and retrieve data values for each nid, this is used in stac92xx_unsol_event to retrieve the GPIO mask for STAC_VREF_EVENT. Signed-off-by: Matthew Ranostay Signed-off-by: Takashi Iwai commit 50a9f7905fb3e6ae25e80ba443a14d878caef0c9 Author: Matthew Ranostay Date: Sat Oct 25 01:05:45 2008 -0400 ALSA: hda: add snd_hda_get_jack* functions This patch adds snd_hda_get_jack* functions for reporting jack location, device, and connectivity type. Signed-off-by: Matthew Ranostay Signed-off-by: Takashi Iwai commit a53ccab3ccac9e8676a683df9822a2daec83ef54 Author: Matthew Ranostay Date: Sat Oct 25 01:05:04 2008 -0400 ALSA: jack: lineout support to jack abstraction layer This patch introduces support for reporting SW_LINEOUT_INSERT detection events via the jack abstraction layer. Also adds a SND_JACK_LINEOUT define to the input system header. Signed-off-by: Matthew Ranostay Cc: Dmitry Torokhov Acked-by: Mark Brown Signed-off-by: Takashi Iwai commit 282cd76ffca781013151344c4b0f9229e9ea3c35 Author: Matthew Ranostay Date: Sat Oct 25 01:05:29 2008 -0400 ALSA: hda: dynamic jack id This patch duplicates the jack->id pointer with kstrdup() to prevent scoping issues from calling autoprobing functions from the HDA section. Signed-off-by: Matthew Ranostay Acked-by: Mark Brown Signed-off-by: Takashi Iwai commit bbaf5e97337287479eb78dbc3822d9560bbfd2e2 Author: Takashi Iwai Date: Fri Oct 24 18:16:50 2008 +0200 ALSA: Add hrtimer backend for ALSA timer interface Added the hrtimer backend for ALSA timer interface. It can be used for the sequencer timer source. Signed-off-by: Takashi Iwai commit 63fb70859f987f2b3b8028fa467fd63336315e9c Author: Sitsofe Wheeler Date: Sat Oct 11 20:27:53 2008 +0100 x86: change OPTIMIZE_INLINING help to say enabling makes smaller kernels Impact: clarify Kconfig help text The OPTIMIZE_INLINING help currently says "The gcc 4.x series have a rewritten inlining algorithm and disabling this option will generate a smaller kernel there." This contradicts other parts of the help text and my own tests: 5463127 2008-10-11 19:51 vmlinux.no-opt 5456152 2008-10-11 19:56 vmlinux.opt Reword text to say that enabling OPTIMIZE_INLINING will lead to smaller kernels with gcc 4.x or later. Signed-off-by: Sitsofe Wheeler Signed-off-by: Ingo Molnar commit 67679b1fd166da8398e70b7dbffe12cfccf9c7bf Author: Vedran Miletic Date: Thu Oct 23 18:51:00 2008 +0200 ALSA: emu10k1: fix coding style for emu10k1_main.c I fixed all of coding style errors and some warnings, now it is down to: checkpatch.pl-0.24 --no-tree --file --strict --terse emu10k1_main.c total: 0 errors, 62 warnings, 7 checks, 2075 lines checked Signed-off-by: Vedran Miletic Signed-off-by: Takashi Iwai commit 888dcb7cb26fb85dfe3486d28a2431d69d3e8148 Author: Johannes Berg Date: Thu Oct 23 15:47:56 2008 +0200 ALSA: aoa: clean up file names This cleans up the apple onboard audio driver filenames. Signed-off-by: Johannes Berg Signed-off-by: Takashi Iwai commit 8dd2337470d2ead6835982ed856d988f9e062140 Author: Isaku Yamahata Date: Tue Oct 14 17:50:44 2008 -0700 xen: compilation fix of drivers/xen/events.c on IA64 use set_xen_guest_handle() instead of direct assigning. > linux-2.6/drivers/xen/events.c: In function 'xen_poll_irq': > linux-2.6/drivers/xen/events.c:757: error: incompatible types in assignment > make[4]: *** [drivers/xen/events.o] Error 1 Signed-off-by: Isaku Yamahata Signed-off-by: Jeremy Fitzhardinge Cc: Isaku Yamahata Signed-off-by: Ingo Molnar commit a5af4eb16618dba52321fe420e2c93e815fcd762 Author: Isaku Yamahata Date: Tue Oct 14 17:50:43 2008 -0700 xen: compilation fix fo xen CPU hotplugging This patch fixes compilation error on ia64. include asm/xen/hypervisor.h instead of asm-x86/xen/hypervisor.h use xen_pv_domain() instead of is_running_on_xen() > CC drivers/xen/cpu_hotplug.o > In file included from /linux-2.6/drivers/xen/cpu_hotplug.c:5: > /linux-2.6/include/asm-x86/xen/hypervisor.h:44:22: error: asm/desc.h: No such file or directory > /linux-2.6/include/asm-x86/xen/hypervisor.h:66:1: warning: "MULTI_UVMFLAGS_INDEX" redefined > In file included from /linux-2.6/include/asm-x86/xen/hypervisor.h:52, > from /linux-2.6/drivers/xen/cpu_hotplug.c:5: > /linux-2.6/arch/ia64/include/asm/xen/hypercall.h:233:1: warning: this is the location of the previous definition > /linux-2.6/drivers/xen/cpu_hotplug.c: In function 'setup_vcpu_hotplug_event': > /linux-2.6/drivers/xen/cpu_hotplug.c:81: error: implicit declaration of function 'is_running_on_xen' > make[4]: *** [drivers/xen/cpu_hotplug.o] Error 1 > make[4]: *** Waiting for unfinished jobs.... Signed-off-by: Isaku Yamahata Signed-off-by: Jeremy Fitzhardinge Cc: Isaku Yamahata Signed-off-by: Ingo Molnar commit 85192bdb6221a5b8ba457f6e3ce4d9729220efb0 Author: Isaku Yamahata Date: Tue Oct 14 17:50:41 2008 -0700 xen: portability clean up and some minor clean up for xencomm.c clean up of xencomm.c. is_phys_contiguous() is arch dependent function that depends on how virtual memory are laid out. So split out the function into arch specific code. Signed-off-by: Isaku Yamahata Signed-off-by: Jeremy Fitzhardinge Cc: Isaku Yamahata Signed-off-by: Ingo Molnar Cc: "Luck, Tony" commit 5c653fd2257bb736e8bd0ff8acf6dac6081744e2 Author: Jeremy Fitzhardinge Date: Tue Oct 14 17:50:40 2008 -0700 xen: don't reload cr3 on suspend It isn't necessary, and it makes the code needlessly non-portable. Signed-off-by: Jeremy Fitzhardinge Cc: Isaku Yamahata Signed-off-by: Ingo Molnar commit 871d3779cba18b028e34d0d2f6cc6caae76a97b6 Author: Alexander van Heukelum Date: Wed Oct 22 12:00:14 2008 +0200 i386, dumpstack: unify die() Make i386's die() equal to x86_64's version. Whitespace-only changes on x86_64, to make it equal to i386's version. (user_mode and user_mode_vm are equal on x86_64.) Signed-off-by: Alexander van Heukelum Acked-by: Neil Horman Signed-off-by: Ingo Molnar commit e06ca430c3d0fddbd1c901ab3fb3e1f0bc8a786b Author: Alexander van Heukelum Date: Wed Oct 22 12:00:13 2008 +0200 i386, dumpstack: use oops_begin/oops_end in die_nmi Use oops_begin and oops_end in die_nmi. Whitespace-only changes on x86_64, to make it equal to i386's version. Signed-off-by: Alexander van Heukelum Acked-by: Neil Horman Signed-off-by: Ingo Molnar commit e4955cfd2f5c81eb708f55769aa60173f207fd63 Author: Alexander van Heukelum Date: Wed Oct 22 12:00:12 2008 +0200 i386, dumpstack: use x86_64's method to account die_nest_count oops_begin/oops_end should always be used in pairs. On x86_64 oops_begin increments die_nest_count, and oops_end decrements die_nest_count. Doing this makes oops_begin and oops_end equal to the x86_64 versions. Signed-off-by: Alexander van Heukelum Acked-by: Neil Horman Signed-off-by: Ingo Molnar commit 10b14cb7eb7dd5bff8023f76a55c8ac20e586128 Author: Alexander van Heukelum Date: Wed Oct 22 12:00:11 2008 +0200 x86, dumpstack: always call oops_exit from oops_end Always call oops_exit from oops_end, even if signr==0. Also, move add_taint(TAINT_DIE) from __die to oops_end on x86_64 and interchange two lines to make oops_end more similar to the i386-version. Signed-off-by: Alexander van Heukelum Acked-by: Neil Horman Signed-off-by: Ingo Molnar commit 0ed7a498f416dcfa1cca478a559238a2a3396240 Author: Alexander van Heukelum Date: Wed Oct 22 12:00:10 2008 +0200 x86_64, dumpstack: move kexec_crash from __die to oops_end oops_end is preceded by either a call to __die, or a conditional call to crash_kexec. Move the conditional call to crash_kexec from the end of __die to the start of oops_end and remove the superfluous call to crash_kexec in die_nmi. Signed-off-by: Alexander van Heukelum Acked-by: Neil Horman Signed-off-by: Ingo Molnar commit 874d93d11823b2b861addac6a5dc31162e924ab2 Author: Alexander van Heukelum Date: Wed Oct 22 12:00:09 2008 +0200 x86, dumpstack: let signr=0 signal no do_exit Change oops_end such that signr=0 signals that do_exit is not to be called. Currently, each use of __die is soon followed by a call to oops_end and 'regs' is set to NULL if oops_end is expected not to call do_exit. Change all such pairs to set signr=0 instead. On x86_64 oops_end is used 'bare' in die_nmi; use signr=0 instead of regs=NULL there, too. Signed-off-by: Alexander van Heukelum Acked-by: Neil Horman Signed-off-by: Ingo Molnar commit b4b8f87bf4958cbad620654efc0882ac46c19846 Author: Alexander van Heukelum Date: Wed Oct 22 12:00:08 2008 +0200 i386, dumpstack: move crash_kexec before bust_spinlocks(0) in oops_end crash_kexec should not be called with console_sem held. Move the call before bust_spinlocks(0) in oops_end to avoid the problem. Signed-off-by: Alexander van Heukelum Acked-by: "Neil Horman" Signed-off-by: Ingo Molnar commit 9e899816d126cc6f7d405c349f65363214fe7399 Author: Nick Piggin Date: Wed Oct 22 12:33:16 2008 +0200 x86, mm: enable GBPAGES option by default DIRECT_GBPAGES was under DEBUG_KERNEL && EXPERIMENTAL and disabled by default. Turn it on by default and put it under EMBEDDED. Signed-off-by: Nick Piggin Signed-off-by: Ingo Molnar commit b0f209898f1a177bd503d49215b8c6628797a81c Author: Russ Anderson Date: Tue Oct 21 14:09:51 2008 -0500 x86, uv: use consistent names for region size and conherence id on x86 and ia64 Use consistent names for region size and conherence id on x86 and ia64. The SGI xp drivers are used on both ia64 and x86. Using the same names (sn_coherency_id, sn_region_size) simplies the driver code. Signed-off-by: Russ Anderson Signed-off-by: Ingo Molnar commit 718a2594b6a8c1c050fea85abbb4932b11105c17 Author: Vedran Miletic Date: Tue Oct 21 21:31:27 2008 +0200 ALSA: emu10k1: fix faulty commit 18c71092 Commit 18c7109289625106cdc810b20b628cd13b46d6dd had #endif leftoff from compilation. This patch fixes it. Also, I replaced a misplaced comment by a useful one, that explains why are here #ifdef and #endif added in compilation. Signed-off-by: Vedran Miletic Signed-off-by: Takashi Iwai commit 18c7109289625106cdc810b20b628cd13b46d6dd Author: Vedran Miletic Date: Tue Oct 21 17:42:54 2008 +0200 ALSA: emu10k1: fix device names for Live!/Audigy1/2/4/E-mu * added missing SBxxxx, CTxxxx, PCxxx and MAEMxxxx where they were missing, and fixed some of them which were wrong (according to kx.inf, which is pretty accurate compared to anything out there) * fixed device names to make them more consistent across various cards * fixed order of devices where appropriate Signed-off-by: Vedran Miletic Signed-off-by: Takashi Iwai commit 1083206ff44af4baa03573b4a6bac430d9d70404 Author: Takashi Iwai Date: Mon Aug 11 10:18:39 2008 +0200 ALSA: ice1724 - Fix TX IRQ lockup MPU TX causes IRQ floods on VT172x devices mysteriously. Disable TX IRQ if the IRQ flood is detected. Signed-off-by: Takashi Iwai commit c7e78cff6b7518212247fb20b1dc6411540dc9af Author: Peter Zijlstra Date: Thu Oct 16 23:17:09 2008 +0200 lockstat: contend with points We currently only provide points that have to wait on contention, also lists the points we have to wait for. Signed-off-by: Peter Zijlstra Signed-off-by: Ingo Molnar commit c872e8cab5b7cab0696bcf09c6f03c972edc1c49 Author: Takashi Iwai Date: Tue Aug 12 13:39:01 2008 +0200 ALSA: Enable SPDIF output on ALC655 Some hardwares with ALC655 codec don't indicate the proper ext id bit for SPDIF output although it supports. Force to enable the bit. Signed-off-by: Takashi Iwai commit 96c7d478efad594e483ee8a826395b1342404885 Author: Takashi Iwai Date: Mon Aug 11 10:18:39 2008 +0200 ALSA: pcsp - Fix locking messes in snd-pcsp snd-pcsp driver takes chip->substream_lock together with PCM substream lock. These are even mixed up with hrtimer's lock, resulting in messy lock depencies. Right now, snd-pcsp driver resolves the deadlock by using HRTIMER_CB_SOFTIRQ. However, this isn't nice for a really fast path like bit-flipping. This patch introduces a tasklet for PCM period handling so that the hrtimer callback can be handled fast. This also reduce the use of chip->substream_lock to avoid deadlocks. It's still used in pointer callback, but even this could be removed with a proper barrier. Another good solution is to introduce async trigger callback. But, this will involve with a major rewrite of the PCM core code, so I take first this easy fix. Signed-off-by: Takashi Iwai commit bb93d802ae5c1949977cc6da247b218240677f11 Author: David Brownell Date: Sat Oct 18 20:27:47 2008 -0700 rtc-cmos: export second NVRAM bank Teach rtc-cmos about the second bank of registers found on most modern x86 systems, giving access to 128 bytes more NVRAM. This version only sees that extra NVRAM when both register banks are provided as part of *one* PNP resource. Since BIOS on some systems presents them using two IO resources, and nothing merges them, this can't always show all the NVRAM. (We're supposed to be able to use PNP id PNP0b01 too, but BIOS tables doesn't often seem to use that particular option.) Signed-off-by: David Brownell Cc: torvalds@linux-foundation.org Cc: Ingo Molnar Cc: Bjorn Helgaas Signed-off-by: Andrew Morton Signed-off-by: Thomas Gleixner commit ebaa0470586eec83627fa03dcd0a1107f54258f8 Author: Takashi Iwai Date: Thu Oct 16 16:39:56 2008 +0200 ALSA: hda - Release jack instance for dynamic reconfigure The jack instance has to be release manually in free callback in patch_sigmatel.c for dynamic reconfiguration. Signed-off-by: Takashi Iwai commit dd125b28c1523a857b7657b5d8aa774ed1563687 Merge: 45a6ac1 1e1be43 Author: Takashi Iwai Date: Thu Oct 16 16:39:46 2008 +0200 Merge branch 'topic/hda-reconfig' into topic/hda-next commit 76a4d10e522bfc238ddf70f35272088d420d2dcf Author: Takashi Iwai Date: Thu Oct 16 16:17:30 2008 +0200 ALSA: Print function symbol in the error messages Use the new %pF for error messages in snd_device_*() functions to give more understandable results. Signed-off-by: Takashi Iwai commit 26ce34a9c47334ff7984769e4661b2f1883594ff Merge: 3fa8749 37d3cdd Author: Chris Mason Date: Thu Oct 16 10:12:58 2008 -0400 Merge branch 'master' of ssh://mason@master.kernel.org/pub/scm/linux/kernel/git/mason/btrfs-unstable commit 6b9331165e9827e055389e22d1cbdb5fe3cff835 Author: Mark Brown Date: Thu Oct 16 11:00:07 2008 +0100 ALSA: ASoC: Remove snd_soc_dapm_connect_input() This was marked as deprecated in 2.6.27 and all users except for playpaq_wm8510 fixed in that release. Signed-off-by: Mark Brown Signed-off-by: Takashi Iwai commit 8ae6a5523f4188dbe2b98a9385f5860df6ee47a3 Author: Jean Delvare Date: Wed Oct 15 19:58:12 2008 +0200 ALSA: ASoC: Convert wm8900 to a new-style i2c driver Convert the wm8900 codec driver to the new (standard) device driver binding model. Signed-off-by: Jean Delvare Acked-by: Mark Brown Signed-off-by: Takashi Iwai commit 17be5522f6de1d4920e7d9235bfb0e0c682c6f8f Author: Jean Delvare Date: Wed Oct 15 19:57:12 2008 +0200 ALSA: ASoC: Convert wm8580 to a new-style i2c driver Convert the wm8580 codec driver to the new (standard) device driver binding model. Signed-off-by: Jean Delvare Acked-by: Mark Brown Signed-off-by: Takashi Iwai commit 45a6ac16c2136e4b902b09bf0b6192b940e8d732 Author: Matthew Ranostay Date: Wed Oct 15 14:45:38 2008 -0400 ALSA: hda: add support for jack detection on IDT/Sigmatel Added support for jack detection reporting to userspace for IDT/Sigmatel codecs. Signed-off-by: Matthew Ranostay Signed-off-by: Takashi Iwai commit 1e1be4329f2aec6a8ec63737a69258fedf34c55d Author: Takashi Iwai Date: Wed Jul 30 15:01:46 2008 +0200 ALSA: hda - Add hints for reconfig This patch adds the "hints" for reconfiguring codecs. The hints are simply string arrays and can be freely used/parsed by the codec patch. The hints can be input via hwdep sysfs files. Signed-off-by: Takashi Iwai commit 11aeff082ad9bd00e8475bf1630c3264344d3764 Author: Takashi Iwai Date: Wed Jul 30 15:01:46 2008 +0200 ALSA: hda - Add init_verbs entries This patch enables the additional init verbs for each codec. The verbs can be entered via hwdep sysfs file. These verbs are executed at reconfiguring the codec for non-standard setups like overriding the pin-defcfg. Signed-off-by: Takashi Iwai commit d7ffba19ce4c1b153d502a89d829400bf76d6c11 Author: Takashi Iwai Date: Wed Jul 30 15:01:46 2008 +0200 ALSA: hda - Add sysfs entries to hwdep devices Added the sysfs entries to hwdep devices so that the new features like reconfiguration can be done via sysfs. Signed-off-by: Takashi Iwai commit 6c1f45ea89b59ad2cdbfa6779e23d77b274da0a7 Author: Takashi Iwai Date: Wed Jul 30 15:01:45 2008 +0200 ALSA: hda - Add codec reconfiguration feature Added the reconfiguration feature of any individual codec. Via the reconfiguration, the old resources are released and the patch is called again to recreate the PCM and mixers in addition to the re-initialization. Signed-off-by: Takashi Iwai commit d13bd412dce23eed8bc35a2499d7d88cb39a1581 Author: Takashi Iwai Date: Wed Jul 30 15:01:45 2008 +0200 ALSA: hda - Manage kcontrol lists Manage all kcontrol elements created in the hda-intel driver. This makes it possible to remove and reconfigure the controls of each codec. Signed-off-by: Takashi Iwai commit f44ac8378d3d84b912b34f08afaff64182ee1b41 Author: Takashi Iwai Date: Wed Jul 30 15:01:45 2008 +0200 ALSA: hda - Allocate name string of each codec Allocate dynamically the name string of each codec instead of pointing to a static string. Signed-off-by: Takashi Iwai commit 603c40199252f0c3b91fca02fd3283c4f8e55179 Author: Takashi Iwai Date: Wed Jul 30 15:01:44 2008 +0200 ALSA: hda - Use generic array helpers Use generic array helpers to simplify array handling in snd-hda-intel. Signed-off-by: Takashi Iwai commit b2e1859745b783922533d29e3b03af29378a23f0 Author: Takashi Iwai Date: Wed Jul 30 15:01:44 2008 +0200 ALSA: hda - Add generic arrays Added helper functions to handle generic arrays. Signed-off-by: Takashi Iwai commit 176d5335fe66f379a339b0ab99cc7566e90ff1a9 Author: Takashi Iwai Date: Wed Jul 30 15:01:44 2008 +0200 ALSA: hda - Add infrastructure for dynamic stream allocation Added the infrastructure for dynamic stream allocation on HD-audio. Signed-off-by: Takashi Iwai commit 37d3cdddf5378606f6eab99982ca16819745d8f4 Author: Josef Bacik Date: Fri Oct 10 10:24:32 2008 -0400 Btrfs: make tree_search_offset more flexible in its searching Sometimes we end up freeing a reserved extent because we don't need it, however this means that its possible for transaction->last_alloc to point to the middle of a free area. When we search for free space in find_free_space we do a tree_search_offset with contains set to 0, because we want it to find the next best free area if we do not have an offset starting on the given offset. Unfortunately that currently means that if the offset we were given as a hint points to the middle of a free area, we won't find anything. This is especially bad if we happened to last allocate from the big huge chunk of a newly formed block group, since we won't find anything and have to go back and search the long way around. This fixes this problem by making it so that we return the free space area regardless of the contains variable. This made cache missing happen _alot_ less, and speeds things up considerably. Signed-off-by: Josef Bacik commit a3dddf3fc82a1f5942c0928abfd114e9a8c0d0c8 Author: Chris Mason Date: Fri Oct 10 10:23:22 2008 -0400 Btrfs: Don't call security_inode_mkdir during subvol creation Subvol creation already requires privs, and security_inode_mkdir isn't exported. For now we don't need it. Signed-off-by: Chris Mason commit cb8e70901d36f32017614f16d2cf7cc089544574 Author: Christoph Hellwig Date: Thu Oct 9 13:39:39 2008 -0400 Btrfs: Fix subvolume creation locking rules Creating a subvolume is in many ways like a normal VFS ->mkdir, and we really need to play with the VFS topology locking rules. So instead of just creating the snapshot on disk and then later getting rid of confliting aliases do it correctly from the start. This will become especially important once we allow for subvolumes anywhere in the tree, and not just below a hidden root. Note that snapshots will need the same treatment, but do to the delay in creating them we can't do it currently. Chris promised to fix that issue, so I'll wait on that. Signed-off-by: Christoph Hellwig commit 833023e46c2a0180ff07d90252c24cb3fdea811d Author: Chris Mason Date: Thu Oct 9 11:55:03 2008 -0400 Btrfs: Rev the disk format for the new back reference format Signed-off-by: Chris Mason commit 61f8c86ee8f9ca55488449db886104a0ab4e1f98 Author: Sage Weil Date: Thu Oct 9 11:52:35 2008 -0400 Btrfs: Fix makefile for builing btrfs static This fixes the btrfs makefile for building in the tree and out of the tree both as a module and static. Signed-off-by: Chris Mason commit 5b84e8d6eef82fcf7b1b16d92e29375b85b6549a Author: Yan Zheng Date: Thu Oct 9 11:46:19 2008 -0400 Btrfs: Fix leaf reference cache miss Due to the optimization for truncate, tree leaves only containing checksum items can be deleted without being COW'ed first. This causes reference cache misses. The way to fix the miss is create cache entries for tree leaves only contain checksum. This patch also fixes a -EEXIST issue in shared reference cache. Signed-off-by: Yan Zheng commit 3bb1a1bc42f2ae9582c28adf620484efcd4da38d Author: Yan Zheng Date: Thu Oct 9 11:46:24 2008 -0400 Btrfs: Remove offset field from struct btrfs_extent_ref The offset field in struct btrfs_extent_ref records the position inside file that file extent is referenced by. In the new back reference system, tree leaves holding references to file extent are recorded explicitly. We can scan these tree leaves very quickly, so the offset field is not required. This patch also makes the back reference system check the objectid when extents are in deleting. Signed-off-by: Yan Zheng commit a76a3cd40c1127ca199d4f7f37bf0d541bf44eb2 Author: Yan Zheng Date: Thu Oct 9 11:46:29 2008 -0400 Btrfs: Count space allocated to file in bytes This patch makes btrfs count space allocated to file in bytes instead of 512 byte sectors. Everything else in btrfs uses a byte count instead of sector sizes or blocks sizes, so this fits better. Signed-off-by: Yan Zheng commit a62b940160d8125016e85046e68ae621c99e751f Author: Chris Mason Date: Fri Oct 3 16:31:08 2008 -0400 Btrfs: cast bio->bi_sector to a u64 before shifting On 32 bit machines without CONFIG_LBD, the bi_sector field is only 32 bits. Btrfs needs to cast it before shifting up, or we end up doing IO into the wrong place. Signed-off-by: Chris Mason commit 30c43e2444c16afe3b2130f40ad273541bf3dc36 Author: Chris Mason Date: Fri Oct 3 12:24:01 2008 -0400 Btrfs: remove last_log_alloc allocator optimization The tree logging code was trying to separate tree log allocations from normal metadata allocations to improve writeback patterns during an fsync. But, the code was not effective and ended up just mixing tree log blocks with regular metadata. That seems to be working fairly well, so the last_log_alloc code can be removed. Signed-off-by: Chris Mason commit cb843a6f513a1a91c54951005e60bd9b95bdf973 Author: Chris Mason Date: Fri Oct 3 12:30:02 2008 -0400 Btrfs: O_DIRECT writes via buffered writes + invaldiate This reworks the btrfs O_DIRECT write code a bit. It had always fallen back to buffered IO and done an invalidate, but needed to be updated for the data=ordered code. The invalidate wasn't actually removing pages because they were still inside an ordered extent. This also combines the O_DIRECT/O_SYNC paths where possible, and kicks off IO in the main btrfs_file_write loop to keep the pipe down the the disk full as we process long writes. Signed-off-by: Chris Mason commit 323ac95bce442bbde514e3ce57e840402f80d909 Author: Chris Mason Date: Wed Oct 1 19:05:46 2008 -0400 Btrfs: don't read leaf blocks containing only checksums during truncate Checksum items take up a significant portion of the metadata for large files. It is possible to avoid reading them during truncates by checking the keys in the higher level nodes. If a given leaf is followed by another leaf where the lowest key is a checksum item from the same file, we know we can safely delete the leaf without reading it. For a 32GB file on a 6 drive raid0 array, Btrfs needs 8s to delete the file with a cold cache. It is read bound during the run. With this change, Btrfs is able to delete the file in 0.5s Signed-off-by: Chris Mason commit cf749823857230017c86504bfdc70524f929ba96 Author: Josef Bacik Date: Wed Oct 1 19:11:18 2008 -0400 Btrfs: fix deadlock between alloc_mutex/chunk_mutex This fixes a deadlock that happens between the alloc_mutex and chunk_mutex. Process A comes in, decides to do a do_chunk_alloc, which takes the chunk_mutex, and is holding the alloc_mutex because the only way you get to do_chunk_alloc is by holding the alloc_mutex. btrfs_alloc_chunk does its thing and goes to insert a new item, which results in a cow of the block. We get into del_pending_extents from there, where if we need to be rescheduled we drop the alloc_mutex and schedule. At this point process B comes in to do an allocation and gets the alloc_mutex, and because process A did not do the chunk allocation completely it thinks its a good time to do a chunk allocation as well, and hangs on the chunk_mutex. Process A wakes up and tries to take the alloc_mutex and cannot. The way to fix this is do a mutex_trylock() on chunk_mutex. If we return 0 we didn't get the lock, and if this is just a "hey it may be a good time to allocate a chunk" then we just exit. If we are trying to force an allocation then we reschedule and keep trying to acquire the chunk_mutex. If once we acquire it the space is already full then we can just exit, otherwise we can continue with the chunk allocation. Thank you, Signed-off-by: Josef Bacik commit 83afeac42c5680b0b70d64fb8c4724cf05483fc2 Author: Jim Meyering Date: Wed Oct 1 19:09:51 2008 -0400 Btrfs: disk-io.c (open_ctree): avoid leaks upon allocation failure Signed-off-by: Chris Mason commit 0463bb4e8d2f717a9bf3be6cc12c0aec51cc261d Author: Jim Meyering Date: Wed Oct 1 19:09:04 2008 -0400 Btrfs: disk-io.c (open_ctree): Don't deref. NULL upon failed kzalloc Signed-off-by: Chris Mason commit 75ccf47d13bfb66de7faf596bfe497b9af7aaa40 Author: Chris Mason Date: Tue Sep 30 19:24:06 2008 -0400 Btrfs: fix multi-device code to use raid policies set by mkfs When reading in block groups, a global mask of the available raid policies should be adjusted based on the types of block groups found on disk. This global mask is then used to decide which raid policy to use for new block groups. The recent allocator changes dropped the call that updated the global mask, making all the block groups allocated at run time single striped onto a single drive. This also fixes the async worker threads to set any thread that uses the requeue mechanism as busy. This allows us to avoid blocking on get_request_wait for the async bio submission threads. Signed-off-by: Chris Mason commit 45b8c9a8b1e15bf79c2c17ec217adf96785f8011 Author: Josef Bacik Date: Tue Sep 30 14:40:06 2008 -0400 Btrfs: fix seekiness due to finding the wrong block group This patch fixes a problem where we end up seeking too much when *last_ptr is valid. This happens because btrfs_lookup_first_block_group only returns a block group that starts on or after the given search start, so if the search_start is in the middle of a block group it will return the block group after the given search_start, which is suboptimal. This patch fixes that by doing a btrfs_lookup_block_group, which will return the block group that contains the given search start. If we fail to find a block group, we fall back on btrfs_lookup_first_block_group so we can find the next block group, not sure if this is absolutely needed, but better safe than sorry. Also if we can't find the block group that we need, or it happens to not be of the right type, we need to add empty_cluster since *last_ptr could point to a mismatched block group, which means we need to start over with empty_cluster added to total needed. Thank you, Signed-off-by: Josef Bacik Signed-off-by: Chris Mason commit 7317d7b87edb41a9135e30be1ec3f7ef817c53dd Author: Nick Piggin Date: Tue Sep 30 20:50:27 2008 +1000 sched: improve preempt debugging This patch helped me out with a problem I recently had.... Basically, when the kernel lock is held, then preempt_count underflow does not get detected until it is released which may be a long time (and arbitrarily, eg at different points it may be rescheduled). If the bkl is released at schedule, the resulting output is actually fairly cryptic... With any other lock that elevates preempt_count, it is illegal to schedule under it (which would get found pretty quickly). bkl allows scheduling with preempt_count elevated, which makes underflows hard to debug. Signed-off-by: Ingo Molnar commit 42569c39917a08e8de1e8b5685463be7b74baebd Author: Peter Zijlstra Date: Tue Sep 30 12:33:07 2008 +0200 futex: fixup get_futex_key() for private futexes With the get_user_pages_fast() patches we made get_futex_key() obtain a reference on the returned key, but failed to do so for private futexes. Signed-off-by: Peter Zijlstra Acked-by: Nick Piggin Signed-off-by: Ingo Molnar commit c2f9f20154bfb137ccdf8c9159992429a40dfe20 Author: Peter Zijlstra Date: Fri Sep 26 19:32:23 2008 +0200 futex: cleanup fshared fshared doesn't need to be a rw_sem pointer anymore, so clean that up. Signed-off-by: Peter Zijlstra Acked-by: Nick Piggin Signed-off-by: Ingo Molnar commit 734b05b10e51d4ba38c8fc3ee02e846aab09eedf Author: Peter Zijlstra Date: Fri Sep 26 19:32:22 2008 +0200 futex: use fast_gup() Change the get_user_pages() call with fast_gup() which doesn't require holding the mmap_sem thereby removing the mmap_sem from all fast paths. Signed-off-by: Peter Zijlstra Acked-by: Nick Piggin Signed-off-by: Ingo Molnar commit 61270708ecf1cda148e84fbf6e0703ee5aa81814 Author: Peter Zijlstra Date: Fri Sep 26 19:32:21 2008 +0200 futex: reduce mmap_sem usage now that we rely on get_user_pages() for the shared key handling move all the mmap_sem stuff closely around the slow paths. Signed-off-by: Peter Zijlstra Acked-by: Nick Piggin Signed-off-by: Ingo Molnar commit 38d47c1b7075bd7ec3881141bb3629da58f88dab Author: Peter Zijlstra Date: Fri Sep 26 19:32:20 2008 +0200 futex: rely on get_user_pages() for shared futexes On the way of getting rid of the mmap_sem requirement for shared futexes, start by relying on get_user_pages(). Signed-off-by: Peter Zijlstra Acked-by: Nick Piggin Signed-off-by: Ingo Molnar commit d352ac68148b69937d39ca5d48bcc4478e118dbf Author: Chris Mason Date: Mon Sep 29 15:18:18 2008 -0400 Btrfs: add and improve comments This improves the comments at the top of many functions. It didn't dive into the guts of functions because I was trying to avoid merging problems with the new allocator and back reference work. extent-tree.c and volumes.c were both skipped, and there is definitely more work todo in cleaning and commenting the code. Signed-off-by: Chris Mason commit 9a5e1ea1e1e539e244a54afffc330fc368376ab9 Author: Chris Mason Date: Mon Sep 29 11:24:41 2008 -0400 Btrfs: drop WARN_ON from btrfs_add_leaf_ref btrfs_add_leaf_ref was doing checks on the objects it found in the rbtree to make sure they were properly linked into the tree. But, the field it was checking can be safely changed outside of the tree spin lock. The WARN_ON was for debugging the initial implementation and can be safely removed. Signed-off-by: Chris Mason commit 8c8bee1d7ca47fc75b6bd24a8085c525a2394c02 Author: Chris Mason Date: Mon Sep 29 11:19:10 2008 -0400 Btrfs: Wait for IO on the block device inodes of newly added devices btrfs-vol -a /dev/xxx will zero the first and last two MB of the device. The kernel code needs to wait for this IO to finish before it adds the device. btrfs metadata IO does not happen through the block device inode. A separate address space is used, allowing the zero filled buffer heads in the block device inode to be written to disk after FS metadata starts going down to the disk via the btrfs metadata inode. The end result is zero filled metadata blocks after adding new devices into the filesystem. The fix is a simple filemap_write_and_wait on the block device inode before actually inserting it into the pool of available devices. Signed-off-by: Chris Mason commit 1a40e23b95da45051ee4d74374c58ae87a14051c Author: Zheng Yan Date: Fri Sep 26 10:09:34 2008 -0400 Btrfs: update space balancing code This patch updates the space balancing code to utilize the new backref format. Before, btrfs-vol -b would break any COW links on data blocks or metadata. This was slow and caused the amount of space used to explode if a large number of snapshots were present. The new code can keeps the sharing of all data extents and most of the tree blocks. To maintain the sharing of data extents, the space balance code uses a seperate inode hold data extent pointers, then updates the references to point to the new location. To maintain the sharing of tree blocks, the space balance code uses reloc trees to relocate tree blocks in reference counted roots. There is one reloc tree for each subvol, and all reloc trees share same root key objectid. Reloc trees are snapshots of the latest committed roots of subvols (root->commit_root). To relocate a tree block referenced by a subvol, there are two steps. COW the block through subvol's reloc tree, then update block pointer in the subvol to point to the new block. Since all reloc trees share same root key objectid, doing special handing for tree blocks owned by them is easy. Once a tree block has been COWed in one reloc tree, we can use the resulting new block directly when the same block is required to COW again through other reloc trees. In this way, relocated tree blocks are shared between reloc trees, so they are also shared between subvols. Signed-off-by: Chris Mason commit 5b21f2ed3f2947b5195b65c9fdbdd9e52904cc03 Author: Zheng Yan Date: Fri Sep 26 10:05:38 2008 -0400 Btrfs: extent_map and data=ordered fixes for space balancing * Add an EXTENT_BOUNDARY state bit to keep the writepage code from merging data extents that are in the process of being relocated. This allows us to do accounting for them properly. * The balancing code relocates data extents indepdent of the underlying inode. The extent_map code was modified to properly account for things moving around (invalidating extent_map caches in the inode). * Don't take the drop_mutex in the create_subvol ioctl. It isn't required. * Fix walking of the ordered extent list to avoid races with sys_unlink * Change the lock ordering rules. Transaction start goes outside the drop_mutex. This allows btrfs_commit_transaction to directly drop the relocation trees. Signed-off-by: Chris Mason commit e465768938f95388723b0fd3c50a0ae48173edb9 Author: Zheng Yan Date: Fri Sep 26 10:04:53 2008 -0400 Btrfs: Add shared reference cache Btrfs has a cache of reference counts in leaves, allowing it to avoid reading tree leaves while deleting snapshots. To reduce contention with multiple subvolumes, this cache is private to each subvolume. This patch adds shared reference cache support. The new space balancing code plays with multiple subvols at the same time, So the old per-subvol reference cache is not well suited. Signed-off-by: Chris Mason commit e8569813849b5da394a195c7e76b4faa452b12d1 Author: Zheng Yan Date: Fri Sep 26 10:05:48 2008 -0400 Btrfs: allocator fixes for space balancing update * Reserved extent accounting: reserved extents have been allocated in the rbtrees that track free space but have not been allocated on disk. They were never properly accounted for in the past, making it hard to know how much space was really free. * btrfs_find_block_group used to return NULL for block groups that had been removed by the space balancing code. This made it hard to account for space during the final stages of a balance run. Signed-off-by: Chris Mason commit 24ab9cd85c11bccacbd0cce7f8e1aebd4930404c Author: Chris Mason Date: Wed Sep 24 14:51:30 2008 -0400 Btrfs: Raise thresholds for metadata writeback Btrfs metadata writeback is fairly expensive. Once a tree block is written it must be cowed before it can be changed again. The btree writepages code has a threshold based on a count of dirty btree bytes which is updated as IO is sent out. This changes btree_writepages to skip the writeout if there are less than 32MB of dirty bytes from the btrees, improving performance across many workloads. Signed-off-by: Chris Mason commit 4434c33c7f233a7ee5dcaf357fbf795818ea8861 Author: Chris Mason Date: Wed Sep 24 12:50:10 2008 -0400 Btrfs: fix sleep with spinlock held during unmount The code to free block groups needs to drop the space info spin lock before calling btrfs_remove_free_space_cache (which can schedule). This is safe because at unmount time, nobody else is going to play with the block groups. Signed-off-by: Chris Mason commit 2b1f55b0f0d0d1a66470ef4ea2696cd5dd741a12 Author: Chris Mason Date: Wed Sep 24 11:48:04 2008 -0400 Remove Btrfs compat code for older kernels Btrfs had compatibility code for kernels back to 2.6.18. These have been removed, and will be maintained in a separate backport git tree from now on. Signed-off-by: Chris Mason commit 9b49c9b9f93e148815f2544d0c91f43b6d72eea9 Author: Chris Mason Date: Wed Sep 24 11:23:25 2008 -0400 Btrfs: Fix allocation completions in tree log replay After a crash, the tree log code uses btrfs_alloc_logged_extent to record allocations of data extents that it finds in the log tree. These come in basically random order, which does not fit how btrfs_remove_free_space() expects to be called. btrfs_remove_free_space was changed to support recording an extent allocation in the middle of a region of free space. Signed-off-by: Chris Mason commit 60582d1e933649f14f46f816bb75049058679e01 Author: Chris Mason Date: Thu Sep 25 12:25:16 2008 -0400 Add Btrfs to fs/Kconfig and fs/Makefile Signed-off-by: Chris Mason commit b4f6c45dfbf84f47c21f73f6370ad1292b0627fd Author: Chris Mason Date: Wed Sep 24 11:05:53 2008 -0400 Update Btrfs files for in-kernel usage btrfs had magic to put the chagneset id into a printk on module load. This removes that from the Makefile and hardcodes the printk to print "Btrfs" Signed-off-by: Chris Mason commit aef8755711a28bb0ecde7780ae6613fcb62cf6f7 Merge: 72d3105 3435302 Author: Chris Mason Date: Thu Sep 25 15:32:36 2008 -0400 Merge Btrfs into fs/btrfs commit 34353029534a08e41cfb8be647d734b9ce9ebff8 Author: Chris Mason Date: Tue Sep 23 20:19:49 2008 -0400 Btrfs: Fix race against disk_i_size updates The code to update the on disk i_size happens before the ordered_extent record is removed. So, it is possible for multiple ordered_extent completion routines to run at the same time, and to find each other in the ordered tree. The end result is they both decide not to update disk_i_size, leaving it too small. This temporary fix just puts the updates inside the extent_mutex. A real solution would be stronger ordering of disk_i_size updates against removing the ordered extent from the tree. Signed-off-by: Chris Mason commit 31840ae1a6b433ca0e6a8d341756ff478bbf959e Author: Zheng Yan Date: Tue Sep 23 13:14:14 2008 -0400 Btrfs: Full back reference support This patch makes the back reference system to explicit record the location of parent node for all types of extents. The location of parent node is placed into the offset field of backref key. Every time a tree block is balanced, the back references for the affected lower level extents are updated. Signed-off-by: Chris Mason commit 1c2308f8e7d8491467e0095af2b01500f1b70819 Author: Chris Mason Date: Tue Sep 23 13:14:13 2008 -0400 Add check for tree-log roots in btrfs_alloc_reserved_extents Tree log blocks are only reserved, and should not ever get fully allocated on disk. This check makes sure they stay out of the extent tree. Signed-off-by: Chris Mason commit ce3ed71a58094544da1e1dc4723f1f553bb5b2d5 Author: Chris Mason Date: Tue Sep 23 13:14:12 2008 -0400 Btrfs: Checksum tree blocks in the background Tree blocks were using async bio submission, but the sum was still being done directly during writepage. This moves the checksumming into the worker thread. Signed-off-by: Chris Mason commit 0f9dd46cda36b8de3b9f48bc42bd09d20b9c3b52 Author: Josef Bacik Date: Tue Sep 23 13:14:11 2008 -0400 Btrfs: free space accounting redo 1) replace the per fs_info extent_io_tree that tracked free space with two rb-trees per block group to track free space areas via offset and size. The reason to do this is because most allocations come with a hint byte where to start, so we can usually find a chunk of free space at that hint byte to satisfy the allocation and get good space packing. If we cannot find free space at or after the given offset we fall back on looking for a chunk of the given size as close to that given offset as possible. When we fall back on the size search we also try to find a slot as close to the size we want as possible, to avoid breaking small chunks off of huge areas if possible. 2) remove the extent_io_tree that tracked the block group cache from fs_info and replaced it with an rb-tree thats tracks block group cache via offset. also added a per space_info list that tracks the block group cache for the particular space so we can lookup related block groups easily. 3) cleaned up the allocation code to make it a little easier to read and a little less complicated. Basically there are 3 steps, first look from our provided hint. If we couldn't find from that given hint, start back at our original search start and look for space from there. If that fails try to allocate space if we can and start looking again. If not we're screwed and need to start over again. 4) small fixes. there were some issues in volumes.c where we wouldn't allocate the rest of the disk. fixed cow_file_range to actually pass the alloc_hint, which has helped a good bit in making the fs_mark test I run have semi-normal results as we run out of space. Generally with data allocations we don't track where we last allocated from, so everytime we did a data allocation we'd search through every block group that we have looking for free space. Now searching a block group with no free space isn't terribly time consuming, it was causing a slight degradation as we got more data block groups. The alloc_hint has fixed this slight degredation and made things semi-normal. There is still one nagging problem I'm working on where we will get ENOSPC when there is definitely plenty of space. This only happens with metadata allocations, and only when we are almost full. So you generally hit the 85% mark first, but sometimes you'll hit the BUG before you hit the 85% wall. I'm still tracking it down, but until then this seems to be pretty stable and make a significant performance gain. Signed-off-by: Chris Mason commit ef8bbdfe7e12dc9b4e80756f6d606c4639c65851 Author: Josef Bacik Date: Tue Sep 23 13:14:11 2008 -0400 Btrfs: fix cache_block_group error handling cache block group had a few bugs in the error handling code, this makes sure paths get properly released and the correct return value goes out. Signed-off-by: Chris Mason commit f25956cc582f5954033cca3f9488c0a5d5193541 Author: Chris Mason Date: Fri Sep 12 15:32:53 2008 -0400 Fix leaf overflow check in btrfs_insert_empty_items It was incorrectly adding an extra sizeof(struct btrfs_item) and causing false positives (oops) Signed-off-by: Chris Mason commit 23a07867b78ee0f33b01466e52bb608c336b26ee Author: Chris Mason Date: Fri Sep 12 08:57:47 2008 -0400 Btrfs: Fix mismerge in block header checks I had incorrectly disabled the check for the block number being correct in the header block. Signed-off-by: Chris Mason commit 9623f9a3894ec95fe140ee5460bb840ac53bc6a0 Author: Chris Mason Date: Thu Sep 11 17:42:42 2008 -0400 Btrfs: Disable the dir fsync optimization to skip logging the dir sometimes More testing has turned up a bug, disable this for now. Signed-off-by: Chris Mason commit d0c803c4049c5ca322d4795d8b74f28768603e0e Author: Chris Mason Date: Thu Sep 11 16:17:57 2008 -0400 Btrfs: Record dirty pages tree-log pages in an extent_io tree This is the same way the transaction code makes sure that all the other tree blocks are safely on disk. There's an extent_io tree for each root, and any blocks allocated to the tree logs are recorded in that tree. At tree-log sync, the extent_io tree is walked to flush down the dirty pages and wait for them. The main benefit is less time spent walking the tree log and skipping clean pages, and getting sequential IO down to the drive. Signed-off-by: Chris Mason commit 31ff1cd25d376e8f499d450de177dffadc9e1c56 Author: Chris Mason Date: Thu Sep 11 16:17:57 2008 -0400 Btrfs: Copy into the log tree in big batches This changes the log tree copy code to use btrfs_insert_items and to work in larger batches where possible. Signed-off-by: Chris Mason commit d00aff00139b40f2e9c60299d76aac29d72e48ba Author: Chris Mason Date: Thu Sep 11 15:54:42 2008 -0400 Btrfs: Optimize tree log block allocations Since tree log blocks get freed every transaction, they never really need to be written to disk. This skips the step where we update metadata to record they were allocated. Signed-off-by: Chris Mason commit 3a5f1d458ad1610a06e38f0be2fbc6ac215439c0 Author: Chris Mason Date: Thu Sep 11 15:53:37 2008 -0400 Btrfs: Optimize btree walking while logging inodes Signed-off-by: Chris Mason commit 49eb7e46d47ea72a9bd2a5f8cedb04f5159cc277 Author: Chris Mason Date: Thu Sep 11 15:53:12 2008 -0400 Btrfs: Dir fsync optimizations Drop i_mutex during the commit Don't bother doing the fsync at all unless the dir is marked as dirtied and needing fsync in this transaction. For directories, this means that someone has unlinked a file from the dir without fsyncing the file. Signed-off-by: Chris Mason commit 98509cfc5a6857bddcfe4b19a9539726655ec9bd Author: Chris Mason Date: Thu Sep 11 15:51:43 2008 -0400 Btrfs: Fix releasepage to properly keep dirty and writeback pages Signed-off-by: Chris Mason commit 8d5bf1cb35ea29795862ff0ea2f4c4d7e22727f3 Author: Chris Mason Date: Thu Sep 11 15:51:21 2008 -0400 Btrfs: Update the highest objectid in a root after log replay is done Signed-off-by: Chris Mason commit 4bef084857ab8fe71cf49eae349c25e440a49150 Author: Chris Mason Date: Mon Sep 8 11:18:08 2008 -0400 Btrfs: Tree logging fixes * Pin down data blocks to prevent them from being reallocated like so: trans 1: allocate file extent trans 2: free file extent trans 3: free file extent during old snapshot deletion trans 3: allocate file extent to new file trans 3: fsync new file Before the tree logging code, this was legal because the fsync would commit the transation that did the final data extent free and the transaction that allocated the extent to the new file at the same time. With the tree logging code, the tree log subtransaction can commit before the transaction that freed the extent. If we crash, we're left with two different files using the extent. * Don't wait in start_transaction if log replay is going on. This avoids deadlocks from iput while we're cleaning up link counts in the replay code. * Don't deadlock in replay_one_name by trying to read an inode off the disk while holding paths for the directory * Hold the buffer lock while we mark a buffer as written. This closes a race where someone is changing a buffer while we write it. They are supposed to mark it dirty again after they change it, but this violates the cow rules. Signed-off-by: Chris Mason commit 325cd4bafeb6cfb44addd6e807a9b74170d1be31 Author: Zheng Yan Date: Fri Sep 5 16:43:54 2008 -0400 Btrfs: properly set blocksize when adding new device. --- Signed-off-by: Chris Mason commit 6527cdbe68a27a2ee745f36d001aa32d0f46f370 Author: Zheng Yan Date: Fri Sep 5 16:43:53 2008 -0400 Btrfs: Update find free objectid function for orphan cleanup code Orphan items use BTRFS_ORPHAN_OBJECTID (-5UUL) as key objectid. This affects the find free objectid functions, inode objectid can easily overflow after orphan file cleanup. --- Signed-off-by: Chris Mason commit b214107eda845f9a5851ae198f5b972e0dc30c45 Author: Christoph Hellwig Date: Fri Sep 5 16:43:31 2008 -0400 Btrfs: trivial sparse fixes Fix a bunch of trivial sparse complaints. Signed-off-by: Christoph Hellwig Signed-off-by: Chris Mason commit a237d2a2bd67eb2b57b87c1e1d3d802d078d4ba7 Author: Christoph Hellwig Date: Fri Sep 5 16:43:29 2008 -0400 remove unused function btrfs_ilookup btrfs_ilookup is unused, which is good because a normal filesystem should never have to use ilookup anyway. Remove it. Signed-off-by: Christoph Hellwig Signed-off-by: Chris Mason commit ad3d81ba8f2880dfa3ee518c779a7ea09a024520 Author: Christoph Hellwig Date: Fri Sep 5 16:43:28 2008 -0400 Btrfs: missing endianess conversion in insert_new_root Add two missing endianess conversions in this function, found by sparse. Signed-off-by: Christoph Hellwig Signed-off-by: Chris Mason commit 50ec891cc54fb865c4c40c45845e60123e0e66ca Author: Christoph Hellwig Date: Fri Sep 5 16:43:20 2008 -0400 Btrfs: cleanup d_obtain_alias useage d_obtain_alias is intended as a tailcall that can pass in errors encoded in the inode pointer if needed, so use it that way instead of duplicating the error handling. Signed-off-by: Christoph Hellwig Signed-off-by: Chris Mason commit 91c0827de247303c6dfc40a8ec9d8305e1d07986 Author: Chris Mason Date: Fri Sep 5 16:43:06 2008 -0400 Btrfs: Rev the disk format Signed-off-by: Chris Mason commit e02119d5a7b4396c5a872582fddc8bd6d305a70a Author: Chris Mason Date: Fri Sep 5 16:13:11 2008 -0400 Btrfs: Add a write ahead tree log to optimize synchronous operations File syncs and directory syncs are optimized by copying their items into a special (copy-on-write) log tree. There is one log tree per subvolume and the btrfs super block points to a tree of log tree roots. After a crash, items are copied out of the log tree and back into the subvolume. See tree-log.c for all the details. Signed-off-by: Chris Mason commit a1b32a5932cfac7c38b442582285f3da2a09dfd8 Author: Chris Mason Date: Fri Sep 5 16:09:51 2008 -0400 Btrfs: Add debugging checks to track down corrupted metadata Signed-off-by: Chris Mason commit 95819c05732c511338b43c115ffbcee978c02888 Author: Christoph Hellwig Date: Thu Aug 28 06:21:17 2008 -0400 Btrfs: optimize btrget/set/removexattr btrfs actually stores the whole xattr name, including the prefix ondisk, so using the generic resolver that strips off the prefix is not very helpful. Instead do the real ondisk xattrs manually and only use the generic resolver for synthetic xattrs like ACLs. (Sorry Josef for guiding you towards the wrong direction here intially) Signed-off-by: Christoph Hellwig Signed-off-by: Chris Mason commit eaa47d8612783807ef9703ebc9bf0d0f0455bf62 Author: Christoph Hellwig Date: Thu Aug 28 06:21:16 2008 -0400 btrfs: optmize listxattr The ->list handler is really not useful at all, because we always call btrfs_xattr_generic_list anyway. After this is done find_btrfs_xattr_handler becomes unused, and it becomes obvious that the temporary name buffer allocation isn't needed but we can directly copy into the supplied buffer. Tested with various getfattr -d calls on varying xattr lists. Signed-off-by: Christoph Hellwig Signed-off-by: Chris Mason commit eab922ec8907b8c506e799785e7e2d16eabe50e4 Author: Josef Bacik Date: Thu Aug 28 06:21:15 2008 -0400 Btrfs: compile when posix acl's are disabled This patch makes btrfs so it will compile properly when acls are disabled. I tested this and it worked with CONFIG_FS_POSIX_ACL off and on. Signed-off-by: Chris Mason commit 639cb58675ce9b507eed9c3d6b3335488079b21a Author: Chris Mason Date: Thu Aug 28 06:15:25 2008 -0400 Btrfs: Fix variable init during csum creation Signed-off-by: Chris Mason commit 9473f16c75606fe6b2e5000525fe9766114505f3 Author: Chris Mason Date: Thu Aug 28 06:15:24 2008 -0400 Btrfs: Throttle for async bio submits higher up the chain The current code waits for the count of async bio submits to get below a given threshold if it is too high right after adding the latest bio to the work queue. This isn't optimal because the caller may have sequential adjacent bios pending they are waiting to send down the pipe. This changeset requires the caller to wait on the async bio count, and changes the async checksumming submits to wait for async bios any time they self throttle. The end result is much higher sequential throughput. Signed-off-by: Chris Mason commit f3f9931e3d0836509cfccdf473b34e34543a3272 Author: Chris Mason Date: Thu Aug 21 15:49:09 2008 -0400 Btrfs: Rev the disk format Signed-off-by: Chris Mason commit d54a83901055bb0bffca64fa09fce4d897274870 Author: David Woodhouse Date: Tue Aug 19 22:33:04 2008 +0100 Clean up btrfs_get_parent() a little more, fix a free-after-free bug Date: Tue, 19 Aug 2008 22:33:04 +0100 Signed-off-by: David Woodhouse Signed-off-by: Chris Mason commit 2d4d9fbd6efa858dfa009518fca1ab85a73fd848 Author: David Woodhouse Date: Tue Aug 19 22:20:17 2008 +0100 Btrfs: Fix NFS exporting of subvol roots. Date: Tue, 19 Aug 2008 22:20:17 +0100 btrfs_lookup_fs_root() only finds subvol roots which have already been seen and put into the cache. For btrfs_get_dentry() we actually have to go to the medium -- so use btrfs_read_fs_root_no_name() instead. In btrfs_get_parent(), notice when we've hit the root of the subvolume and return the real root instead. Signed-off-by: David Woodhouse Signed-off-by: Chris Mason commit 615f996fb8185a0bc02812ebd72cb77ded5645f1 Author: David Woodhouse Date: Tue Aug 19 19:21:57 2008 +0100 Switch btrfs_name_hash() to crc32c Date: Tue, 19 Aug 2008 19:21:57 +0100 Using a 64-bit hash as the readdir cookie is just asking for trouble. And gets it, when we try to export the file system by NFS. Signed-off-by: David Woodhouse Signed-off-by: Chris Mason commit 76fcef19c40328499a2f6d59d76b72fd03d2cc82 Author: David Woodhouse Date: Tue Aug 19 16:49:35 2008 +0100 Btrfs: Reinstate '-osubvol=.' option to mount entire tree Date: Tue, 19 Aug 2008 16:49:35 +0100 This disappeared when I removed the special case for '.' in btrfs_lookup() Signed-off-by: David Woodhouse Signed-off-by: Chris Mason commit 87acb4ef9b2991e1c453b78d71bce2ef994ef1ff Author: David Woodhouse Date: Mon Aug 18 22:50:22 2008 +0100 Simplify btrfs_get_parent(), fix use-after-free bug Date: Mon, 18 Aug 2008 22:50:22 +0100 Signed-off-by: David Woodhouse Signed-off-by: Chris Mason commit 32d48fa1af1fe066a6a4798e6f5a50ac6a3ce4a3 Author: David Woodhouse Date: Mon Aug 18 13:10:20 2008 +0100 Mask root object ID into f_fsid in btrfs_statfs() Date: Mon, 18 Aug 2008 13:10:20 +0100 This means that subvolumes get a different fsid, and NFS exporting them works properly. Signed-off-by: David Woodhouse Signed-off-by: Chris Mason commit 9d03632e26e1a0a9e4a632cf426a7c0566768a7d Author: David Woodhouse Date: Mon Aug 18 12:01:52 2008 +0100 Fill f_fsid field in btrfs_statfs() Date: Mon, 18 Aug 2008 12:01:52 +0100 Signed-off-by: David Woodhouse Signed-off-by: Chris Mason commit f2322b1c652add8bcd64b10843d76b0211ab1fc6 Author: David Woodhouse Date: Sun Aug 17 17:12:56 2008 +0100 Btrfs: Optimise NFS readdir hack slightly; don't call readdir() again when done Date: Sun, 17 Aug 2008 17:12:56 +0100 Signed-off-by: David Woodhouse Signed-off-by: Chris Mason commit 49593bfa575b7e3fda073b6d1033ee273bdaf97c Author: David Woodhouse Date: Sun Aug 17 17:08:36 2008 +0100 Minor cleanup of btrfs_real_readdir() Date: Sun, 17 Aug 2008 17:08:36 +0100 Signed-off-by: David Woodhouse Signed-off-by: Chris Mason commit 5ecc7e5d1d58731b3a6a69303d69aca7fb0fe1f5 Author: David Woodhouse Date: Sun Aug 17 15:14:48 2008 +0100 Btrfs: Remove special cases for "." and ".." Date: Sun, 17 Aug 2008 15:14:48 +0100 We never get asked by the VFS to lookup either of them, and we can handle the readdir() case a lot more simply, too. Signed-off-by: David Woodhouse Signed-off-by: Chris Mason commit 21af804c07141c035085f99798efaabbc7836a97 Author: David Woodhouse Date: Tue Aug 12 14:13:26 2008 +0100 Btrfs: Discard sector data in __free_extent() Date: Tue, 12 Aug 2008 14:13:26 +0100 Signed-off-by: David Woodhouse Signed-off-by: Chris Mason commit cbdf5a2442330102c08f5a2ad3058e29e90a43a9 Author: David Woodhouse Date: Wed Aug 6 19:42:33 2008 +0100 Btrfs: Implement our own copy of the nfsd readdir hack, for older kernels Date: Wed, 6 Aug 2008 19:42:33 +0100 Signed-off-by: David Woodhouse Signed-off-by: Chris Mason commit be6e8dc0ba84029997075a1ec77b4ddb863cbe15 Author: Balaji Rao Date: Mon Jul 21 02:01:56 2008 +0530 NFS support for btrfs - v3 Date: Mon, 21 Jul 2008 02:01:56 +0530 Here's an implementation of NFS support for btrfs. It relies on the fixes which are going in to 2.6.28 for the NFS readdir/lookup deadlock. This uses the btrfs_iget helper introduced previously. [dwmw2: Tidy up a little, switch to d_obtain_alias() w/compat routine, change fh_type, store parent's root object ID where needed, fix some get_parent() and fs_to_dentry() bugs] Signed-off-by: Balaji Rao Signed-off-by: David Woodhouse Signed-off-by: Chris Mason commit 1a54ef8c11a0eaef59ff418089f109c27f8bd48d Author: Balaji Rao Date: Mon Jul 21 02:01:04 2008 +0530 Introduce btrfs_iget helper Date: Mon, 21 Jul 2008 02:01:04 +0530 This patch introduces a btrfs_iget helper to be used in NFS support. Signed-off-by: Balaji Rao Signed-off-by: David Woodhouse Signed-off-by: Chris Mason commit b64a2851ba25b3410a87d3d1b751155612105c8e Author: Chris Mason Date: Wed Aug 20 13:39:41 2008 -0400 Btrfs: Wait for async bio submissions to make some progress at queue time Before, the btrfs bdi congestion function was used to test for too many async bios. This keeps that check to throttle pdflush, but also adds a check while queuing bios. Signed-off-by: Chris Mason commit 4d1b5fb4d7075f862848dbff8873e22382abd482 Author: Chris Mason Date: Wed Aug 20 09:44:52 2008 -0400 Btrfs: Lookup readpage checksums on bio submission again This optimization had been removed because I thought it was triggering csum errors. The real cause of the errors was elsewhere, and so this optimization is back. Signed-off-by: Chris Mason commit 7c2fe32a238eb12422beca5cbd5194a594baa559 Author: Chris Mason Date: Wed Aug 20 08:51:50 2008 -0400 Btrfs: Fix add_extent_mapping to check for duplicates across the whole range add_extent_mapping was allowing the insertion of overlapping extents. This never used to happen because it only inserted the extents from disk and those were never overlapping. But, with the data=ordered code, the disk and memory representations of the file are not the same. add_extent_mapping needs to ensure a new extent does not overlap before it inserts. Signed-off-by: Chris Mason commit 902b22f341efa00be802418a0a8c57bddcd269a6 Author: David Woodhouse Date: Wed Aug 20 08:51:49 2008 -0400 Btrfs: Remove broken optimisations in end_bio functions. These ended up freeing objects while they were still using them. Under guidance from Chris, just rip out the 'clever' bits and do things the simple way. Signed-off-by: David Woodhouse Signed-off-by: Chris Mason commit 53863232ef961778aa414b700ed88a48e8e871e6 Author: Chris Mason Date: Fri Aug 15 15:34:18 2008 -0400 Btrfs: Lower contention on the csum mutex This takes the csum mutex deeper in the call chain and releases it more often. Signed-off-by: Chris Mason commit 4854ddd0ed0a687fc2d7c45a529c406232e31e7b Author: Chris Mason Date: Fri Aug 15 15:34:17 2008 -0400 Btrfs: Wait for kernel threads to make progress during async submission Before this change, btrfs would use a bdi congestion function to make sure there weren't too many pending async checksum work items. This change makes the process creating async work items wait instead, leading to fewer congestion returns from the bdi. This improves pdflush background_writeout scanning. Signed-off-by: Chris Mason commit 5443be45f5cb57d02fd895a0bcaf7e7d9890b1df Author: Chris Mason Date: Fri Aug 15 15:34:16 2008 -0400 Btrfs: Give all the worker threads descriptive names Signed-off-by: Chris Mason commit 777e6bd706ee40897545463871de5b456fbc46dc Author: Chris Mason Date: Fri Aug 15 15:34:15 2008 -0400 Btrfs: Transaction commit: don't use filemap_fdatawait After writing out all the remaining btree blocks in the transaction, the commit code would use filemap_fdatawait to make sure it was all on disk. This means it would wait for blocks written by other procs as well. The new code walks the list of blocks for this transaction again and waits only for those required by this transaction. Signed-off-by: Chris Mason commit 0986fe9eac24fd186927c3b87af51d62f8ab92cd Author: Chris Mason Date: Fri Aug 15 15:34:15 2008 -0400 Btrfs: Count async bios separately from async checksum work items Signed-off-by: Chris Mason commit b720d209524fccdd33a499351f2ca880b8c0ffb4 Author: Chris Mason Date: Fri Aug 15 15:34:14 2008 -0400 Btrfs: Limit the number of async bio submission kthreads to the number of devices Signed-off-by: Chris Mason commit db69e0ebae944690de89851315404f483e6464e0 Author: Chris Mason Date: Fri Aug 15 15:34:14 2008 -0400 Btrfs: Init address_space->writeback_index properly The writeback_index field is used by write_cache_pages to pick up where writeback on a given inode left off. But, it is never set to a sane value, so writeback can often start at a random offset in the file. Kernels 2.6.28 and higher will have this fixed, but for everyone else, we also fill in the value in btrfs. Signed-off-by: Chris Mason commit 2db04966ae9a3eeb57f28df9aac4e77d5b287cb1 Author: David Woodhouse Date: Thu Aug 7 11:19:43 2008 -0400 Btrfs: Change TestSetPageLocked() to trylock_page() Add backwards compatibility in compat.h Signed-off-by: David Woodhouse --- compat.h | 3 +++ extent_io.c | 3 ++- 2 files changed, 5 insertions(+), 1 deletions(-) Signed-off-by: Chris Mason commit 5036f53868ae943704ae69a192d21225dc914c35 Author: Eric Sandeen Date: Thu Aug 7 11:19:42 2008 -0400 Btrfs: fix RHEL test for ClearPageFsMisc Newer RHEL5 kernels define both ClearPageFSMisc and ClearPageChecked, so test for both before redefining. Signed-off-by: Eric Sandeen --- Signed-off-by: Chris Mason commit 5707e3b6f77e37bb8ecc7ba9d74c8bfc38011b6d Author: Chris Mason Date: Mon Aug 4 15:45:30 2008 -0400 Btrfs: Update version.sh to v0.16 Signed-off-by: Chris Mason commit 4ca8b41e3fe76cc5774fbcc6cba64259d69e0f96 Author: Chris Mason Date: Tue Aug 5 13:30:48 2008 -0400 Btrfs: Avoid calling into the FS for the final iput on fake root inodes Signed-off-by: Chris Mason commit 7ea394f1192bee1af67ea4762c88ef4b7b0487a8 Author: Yan Zheng Date: Tue Aug 5 13:05:02 2008 -0400 Btrfs: Fix nodatacow for the new data=ordered mode Signed-off-by: Chris Mason commit 00e4e6b33a0f78aab4b788d6d31c884fd8bf88da Author: Chris Mason Date: Tue Aug 5 11:18:09 2008 -0400 Get rid of BTRFS_I(inode)->index and use local vars instead rename and link don't always have a lock on the source inode, and our use of a per-inode index variable was racy. This changes things to store the index in a local variable instead. Signed-off-by: Chris Mason commit 7d2b4daa67379960477568abda62b8ba9ee3a8aa Author: Chris Mason Date: Tue Aug 5 10:13:57 2008 -0400 Btrfs: Fix the multi-bio code to save the original bio for completion The multi-bio code is responsible for duplicating blocks in raid1 and single spindle duplication. It has counters to make sure all of the locations for a given extent are properly written before io completion is returned to the higher layers. But, it didn't always complete the same bio it was given, sometimes a clone was completed instead. This lead to problems with the async work queues because they saved a pointer to the bio in a struct off bi_private. The fix is to remember the original bio and only complete that one. Signed-off-by: Chris Mason commit ae01a0abf343aefe923ace5c1a8c634adfbe29c5 Author: Yan Zheng Date: Mon Aug 4 23:23:47 2008 -0400 Btrfs: Update clone file ioctl This patch updates the file clone ioctl for the tree locking and new data ordered code. --- Signed-off-by: Chris Mason commit b48652c101cce7a54379a49cc0cf854cec2c94e2 Author: Yan Zheng Date: Mon Aug 4 23:23:47 2008 -0400 Btrfs: Various small fixes. This trivial patch contains two locking fixes and a off by one fix. --- Signed-off-by: Chris Mason commit 3de9d6b649b4cc60687be92e71cef36d7d4e8f2f Author: Chris Mason Date: Mon Aug 4 23:17:27 2008 -0400 btrfs_lookup_bio_sums seems broken, go back to the readpage_io_hook for now Signed-off-by: Chris Mason commit ea8c281947950fac5f78818b767821d696c9512a Author: Chris Mason Date: Mon Aug 4 23:17:27 2008 -0400 Btrfs: Maintain a list of inodes that are delalloc and a way to wait on them Signed-off-by: Chris Mason commit d7a029a89ef370e74b63f18b81498d90d1ee3cc1 Author: Chris Mason Date: Mon Aug 4 23:17:26 2008 -0400 Btrfs: Don't corrupt ram in shrink_extent_tree, leak it instead Far from the perfect fix, but these structs are small. TODO for the next release. The block group cache structs are referenced in many different places, and it isn't safe to just free them while resizing. A real fix will be a larger change to the allocator so that it doesn't have to carry about the block group cache structs to find good places to search for free blocks. Signed-off-by: Chris Mason commit 9ca9ee09c176a814189063c8b88f75c8f8e4ad19 Author: Sage Weil Date: Mon Aug 4 10:41:27 2008 -0400 Btrfs: fix ioctl-initiated transactions vs wait_current_trans() Commit 597:466b27332893 (btrfs_start_transaction: wait for commits in progress) breaks the transaction start/stop ioctls by making btrfs_start_transaction conditionally wait for the next transaction to start. If an application artificially is holding a transaction open, things deadlock. This workaround maintains a count of open ioctl-initiated transactions in fs_info, and avoids wait_current_trans() if any are currently open (in start_transaction() and btrfs_throttle()). The start transaction ioctl uses a new btrfs_start_ioctl_transaction() that _does_ call wait_current_trans(), effectively pushing the join/wait decision to the outer ioctl-initiated transaction. This more or less neuters btrfs_throttle() when ioctl-initiated transactions are in use, but that seems like a pretty fundamental consequence of wrapping lots of write()'s in a transaction. Btrfs has no way to tell if the application considers a given operation as part of it's transaction. Obviously, if the transaction start/stop ioctls aren't being used, there is no effect on current behavior. Signed-off-by: Sage Weil --- ctree.h | 1 + ioctl.c | 12 +++++++++++- transaction.c | 18 +++++++++++++----- transaction.h | 2 ++ 4 files changed, 27 insertions(+), 6 deletions(-) Signed-off-by: Chris Mason commit 3117a77370b6cb902191568e4e647cdcba083d0a Author: Chris Mason Date: Mon Aug 4 11:10:20 2008 -0400 Btrfs: Add support for HW assisted crc32c Intel doesn't yet ship hardware to the public with this enabled, but when they do, they will be ready. Original code from: Austin Zhang It is currently disabled, but edit crc32c.h to turn it on. Signed-off-by: Chris Mason commit 6dab81574346c831ded96ae3ab0e8f9ca72c37ae Author: Chris Mason Date: Mon Aug 4 08:35:53 2008 -0400 Btrfs: Hold csum mutex while reading in sums during readpages Signed-off-by: Chris Mason commit 2dd3e67b1eaec8504da7e12b8afee77323a49f38 Author: Chris Mason Date: Mon Aug 4 08:20:15 2008 -0400 Btrfs: More throttle tuning * Make walk_down_tree wake up throttled tasks more often * Make walk_down_tree call cond_resched during long loops * As the size of the ref cache grows, wait longer in throttle * Get rid of the reada code in walk_down_tree, the leaves don't get read anymore, thanks to the ref cache. Signed-off-by: Chris Mason commit 65b51a009e29e64c0951f21ea17fdc66bbb0fbd7 Author: Chris Mason Date: Fri Aug 1 15:11:20 2008 -0400 btrfs_search_slot: reduce lock contention by cowing in two stages A btree block cow has two parts, the first is to allocate a destination block and the second is to copy the old bock over. The first part needs locks in the extent allocation tree, and may need to do IO. This changeset splits that into a separate function that can be called without any tree locks held. btrfs_search_slot is changed to drop its path and start over if it has to COW a contended block. This often means that many writers will pre-alloc a new destination for a the same contended block, but they cache their prealloc for later use on lower levels in the tree. Signed-off-by: Chris Mason commit 18e35e0ab337ec99c7e03e9ae917745a352c0bb1 Author: Chris Mason Date: Fri Aug 1 13:11:41 2008 -0400 Btrfs: Throttle less often waiting for snapshots to delete Signed-off-by: Chris Mason commit f87f057b49ee52cf5c627ab27a706e3252767c9f Author: Chris Mason Date: Fri Aug 1 11:27:23 2008 -0400 Btrfs: Improve and cleanup locking done by walk_down_tree While dropping snapshots, walk_down_tree does most of the work of checking reference counts and limiting tree traversal to just the blocks that we are freeing. It dropped and held the allocation mutex in strange and confusing ways, this commit changes it to only hold the mutex while actually freeing a block. The rest of the checks around reference counts should be safe without the lock because we only allow one process in btrfs_drop_snapshot at a time. Other processes dropping reference counts should not drop it to 1 because their tree roots already have an extra ref on the block. Signed-off-by: Chris Mason commit 492bb6deee3416ad792dcd8584ebd95c463af1a6 Author: Chris Mason Date: Thu Jul 31 16:29:02 2008 -0400 Btrfs: Hold a reference on bios during submit_bio, add some extra bio checks Signed-off-by: Chris Mason commit 3ce7e67a069b919be774a341b82fc20978b7f69d Author: Chris Mason Date: Thu Jul 31 15:42:54 2008 -0400 Btrfs: Drop some debugging around the extent_map pinned flag Signed-off-by: Chris Mason commit 61b4944018449003ac5f9757f4d125dce519cf51 Author: Chris Mason Date: Thu Jul 31 15:42:53 2008 -0400 Btrfs: Fix streaming read performance with checksumming on Large streaming reads make for large bios, which means each entry on the list async work queues represents a large amount of data. IO congestion throttling on the device was kicking in before the async worker threads decided a single thread was busy and needed some help. The end result was that a streaming read would result in a single CPU running at 100% instead of balancing the work off to other CPUs. This patch also changes the pre-IO checksum lookup done by reads to work on a per-bio basis instead of a per-page. This results in many extra btree lookups on large streaming reads. Doing the checksum lookup right before bio submit allows us to reuse searches while processing adjacent offsets. Signed-off-by: Chris Mason commit 37d1aeee3990385e9bb436c50c2f7e120a668df6 Author: Chris Mason Date: Thu Jul 31 10:48:37 2008 -0400 Btrfs: Throttle tuning This avoids waiting for transactions with pages locked by breaking out the code to wait for the current transaction to close into a function called by btrfs_throttle. It also lowers the limits for where we start throttling. Signed-off-by: Chris Mason commit 47ac14fa0f5306c6b97203f4f086bf1fa21dfddb Author: Chris Mason Date: Thu Jul 31 09:46:18 2008 -0400 Btrfs: Add missing hunk from Yan Zheng's cache reclaim patch Signed-off-by: Chris Mason commit 0ee0fda06b943d7ef65f3cec50ab9d427a2baf97 Author: Sven Wegener Date: Wed Jul 30 16:54:26 2008 -0400 Btrfs: Add compatibility for kernels >= 2.6.27-rc1 Add a couple of #if's to follow API changes. Signed-off-by: Sven Wegener Signed-off-by: Chris Mason commit bcc63abbf3e9bf948a1b0129b3e6120ec7d7f698 Author: Yan Date: Wed Jul 30 16:29:20 2008 -0400 Btrfs: implement memory reclaim for leaf reference cache The memory reclaiming issue happens when snapshot exists. In that case, some cache entries may not be used during old snapshot dropping, so they will remain in the cache until umount. The patch adds a field to struct btrfs_leaf_ref to record create time. Besides, the patch makes all dead roots of a given snapshot linked together in order of create time. After a old snapshot was completely dropped, we check the dead root list and remove all cache entries created before the oldest dead root in the list. Signed-off-by: Chris Mason commit 33958dc6d38fb4ca7e62273855fcb2db7e616263 Author: Chris Mason Date: Wed Jul 30 10:29:12 2008 -0400 Btrfs: Fix verify_parent_transid It was incorrectly clearing the up to date flag on the buffer even when the buffer properly verified. Signed-off-by: Chris Mason commit f321e4910398cf7922265d269fb17fd26f312571 Author: Yan Zheng Date: Wed Jul 30 09:26:11 2008 -0400 Btrfs: Update and fix mount -o nodatacow To check whether a given file extent is referenced by multiple snapshots, the checker walks down the fs tree through dead root and checks all tree blocks in the path. We can easily detect whether a given tree block is directly referenced by other snapshot. We can also detect any indirect reference from other snapshot by checking reference's generation. The checker can always detect multiple references, but can't reliably detect cases of single reference. So btrfs may do file data cow even there is only one reference. Signed-off-by: Chris Mason commit 3bf10418675cb424724b5cb9d7725b234defe1fd Author: Li Zefan Date: Wed Jul 30 09:24:37 2008 -0400 Btrfs: async-thread: fix possible memory leak When kthread_run() returns failure, this worker hasn't been added to the list, so btrfs_stop_workers() won't free it. Signed-off-by: Li Zefan Signed-off-by: Chris Mason commit ab78c84de1ce4db1b2a2cef361625ad80abbab3f Author: Chris Mason Date: Tue Jul 29 16:15:18 2008 -0400 Btrfs: Throttle operations if the reference cache gets too large A large reference cache is directly related to a lot of work pending for the cleaner thread. This throttles back new operations based on the size of the reference cache so the cleaner thread will be able to keep up. Overall, this actually makes the FS faster because the cleaner thread will be more likely to find things in cache. Signed-off-by: Chris Mason commit 1a3f5d0400d786aec41ede15fec5710ad1a1d18b Author: Chris Mason Date: Tue Jul 29 16:11:35 2008 -0400 Btrfs: Fix version.sh when used outside of an hg repo Signed-off-by: Chris Mason commit 017e5369eb353559d68a11d4a718faa634533821 Author: Chris Mason Date: Mon Jul 28 15:32:51 2008 -0400 Btrfs: Leaf reference cache update This changes the reference cache to make a single cache per root instead of one cache per transaction, and to key by the byte number of the disk block instead of the keys inside. This makes it much less likely to have cache misses if a snapshot or something has an extra reference on a higher node or a leaf while the first transaction that added the leaf into the cache is dropping. Some throttling is added to functions that free blocks heavily so they wait for old transactions to drop. Signed-off-by: Chris Mason commit 31153d81284934601d08110ac7698fd9a535e4c0 Author: Yan Zheng Date: Mon Jul 28 15:32:19 2008 -0400 Btrfs: Add a leaf reference cache Much of the IO done while dropping snapshots is done looking up leaves in the filesystem trees to see if they point to any extents and to drop the references on any extents found. This creates a cache so that IO isn't required. Signed-off-by: Chris Mason commit 3a115f520f391b4ab14041bdd6eedb370d944fa6 Author: Chris Mason Date: Thu Jul 24 12:25:50 2008 -0400 Btrfs: Rev the disk format magic Signed-off-by: Chris Mason commit 5516e5957f4b99b19fffffa53bf9fbe7cc793249 Author: Mark Fasheh Date: Thu Jul 24 12:20:14 2008 -0400 Btrfs: Null terminate strings passed in from userspace The 'char name[BTRFS_PATH_NAME_MAX]' member of struct btrfs_ioctl_vol_args is passed directly to strlen() after being copied from user. I haven't verified this, but in theory a userspace program could pass in an unterminated string and cause a kernel crash as strlen walks off the end of the array. This patch terminates the ->name string in all btrfs ioctl functions which currently use a 'struct btrfs_ioctl_vol_args'. Since the string is now properly terminated, it's length will never be longer than BTRFS_PATH_NAME_MAX so that error check has been removed. By the way, it might be better overall to just have the ioctl pass an unterminated string + length structure but I didn't bother with that since it'd change the kernel/user interface. Signed-off-by: Mark Fasheh Signed-off-by: Chris Mason commit 9652480bf48500885a30754b4a5c436b5b34456d Author: Yan Date: Thu Jul 24 12:19:49 2008 -0400 Fix path slots selection in btrfs_search_forward We should decrease the found slot by one as btrfs_search_slot does when bin_search return 1 and node level > 0. Signed-off-by: Chris Mason commit 445dceb78f3445b9bcade90e93ca35cae6120172 Author: Yan Date: Thu Jul 24 12:19:32 2008 -0400 Btrfs: Fix .. lookup corner case Inode ref item can be in the next leaf when we find "path->slots[0] == btrfs_header_nritems(...)". Signed-off-by: Chris Mason commit 974e35a82d022434efa50fe5f805ae14c542ba8c Author: Yan Date: Thu Jul 24 12:18:16 2008 -0400 Btrfs: Properly release lock in pin_down_bytes When buffer isn't uptodate, pin_down_bytes may leave the tree locked after it returns. Signed-off-by: Chris Mason commit 45467261edb590fd5a2d676d9686edb82762fb3f Author: Balaji Rao Date: Thu Jul 24 12:17:15 2008 -0400 Btrfs: Remove unused variable in fixup_tree_root_location Remove a unused variable 'path' in fixup_tree_root_location. Signed-off-by: Balaji Rao Signed-off-by: Chris Mason commit 8e8a1e31f2780b7865d40a8c5142a04f2bcdcb86 Author: Josef Bacik Date: Thu Jul 24 12:17:14 2008 -0400 Btrfs: Fix a few functions that exit without stopping their transaction Signed-off-by: Chris Mason commit 7b1287662304c3cb05cb38f5e3e2d69f386e8f10 Author: Josef Bacik Date: Thu Jul 24 12:17:14 2008 -0400 Btrfs: Create orphan inode records to prevent lost files after a crash Signed-off-by: Chris Mason commit 33268eaf0b3db5e2bd12c0ada81a8e8f87a46d68 Author: Josef Bacik Date: Thu Jul 24 12:16:36 2008 -0400 Btrfs: Add ACL support Signed-off-by: Chris Mason commit 6099afe88fe64b2f47c43a8a71c13be3a416bbf7 Author: Josef Bacik Date: Thu Jul 24 12:16:03 2008 -0400 Btrfs: Remove unused xattr code Signed-off-by: Chris Mason commit aec7477b3b0e8ec93f6d274f25ba40b0665134d4 Author: Josef Bacik Date: Thu Jul 24 12:12:38 2008 -0400 Btrfs: Implement new dir index format Signed-off-by: Chris Mason commit 3eaa2885276fd6dac7b076a793932428b7168e74 Author: Chris Mason Date: Thu Jul 24 11:57:52 2008 -0400 Btrfs: Fix the defragmention code and the block relocation code for data=ordered Before setting an extent to delalloc, the code needs to wait for pending ordered extents. Also, the relocation code needs to wait for ordered IO before scanning the block group again. This is because the extents are not removed until the IO for the new extents is finished Signed-off-by: Chris Mason commit 64f26f745084872b916cd1bef6054e21b15c5784 Author: David Woodhouse Date: Thu Jul 24 10:09:43 2008 -0400 Btrfs: Use assert_spin_locked instead of spin_trylock On UP systems spin_trylock always succeeds Signed-off-by: Chris Mason commit b3c3da71ed88c06bc18a4d8919c6e4af3b933566 Author: Chris Mason Date: Wed Jul 23 12:12:13 2008 -0400 Btrfs: Add version strings on module load Signed-off-by: Chris Mason commit 4881ee5a2e995c6a8999b56de70aa3834369d8ee Author: Chris Mason Date: Thu Jul 24 09:51:08 2008 -0400 Btrfs: Fix some build problems on 2.6.18 based enterprise kernels Signed-off-by: Chris Mason commit 89642229a582a5c2b6d2ed8ec16986387d9a9047 Author: Chris Mason Date: Thu Jul 24 09:41:53 2008 -0400 Btrfs: Search data ordered extents first for checksums on read Checksum items are not inserted into the tree until all of the io from a given extent is complete. This means one dirty page from an extent may be written, freed, and then read again before the entire extent is on disk and the checksum item is inserted. The checksums themselves are stored in the ordered extent so they can be inserted in bulk when IO is complete. On read, if a checksum item isn't found, the ordered extents were being searched for a checksum record. This all worked most of the time, but the checksum insertion code tries to reduce the number of tree operations by pre-inserting checksum items based on i_size and a few other factors. This means the read code might find a checksum item that hasn't yet really been filled in. This commit changes things to check the ordered extents first and only dive into the btree if nothing was found. This removes the need for extra locking and is more reliable. Signed-off-by: Chris Mason commit 9ba4611a3a7902c6bad70c5c205de5161fcfc17b Author: Chris Mason Date: Wed Jul 23 09:26:26 2008 -0400 Btrfs: Fix 32 bit compiles by using an unsigned long byte count in the ordered extent The ordered extents have to fit in memory, so an unsigned long is sufficient. Signed-off-by: Chris Mason commit ed98b56a6393c5e150fd5095b9eb7fd7d3cfb041 Author: Chris Mason Date: Tue Jul 22 23:06:42 2008 -0400 Btrfs: Take the csum mutex while reading checksums Signed-off-by: Chris Mason commit c286ac48ed7aaf53586f575af6053ae2a0f8554a Author: Chris Mason Date: Tue Jul 22 23:06:41 2008 -0400 Btrfs: alloc_mutex latency reduction This releases the alloc_mutex in a few places that hold it for over long operations. btrfs_lookup_block_group is changed so that it doesn't need the mutex at all. Signed-off-by: Chris Mason commit e34a5b4f77b8448cf2863ad0cbac35e2c2a86a0a Author: Chris Mason Date: Tue Jul 22 12:08:37 2008 -0400 Btrfs: Add some conditional schedules near the alloc_mutex This helps prevent stalls, especially while the snapshot cleaner is running hard Signed-off-by: Chris Mason commit 6dddcbeb28b34620ad033f1e8d9f6960bafdd7d2 Author: Chris Mason Date: Tue Jul 22 11:18:09 2008 -0400 Btrfs: Use mutex_lock_nested for tree locking Lockdep has the notion of locking subclasses so that you can identify locks you expect to be taken after other locks of the same class. This changes the per-extent buffer btree locking routines to use a subclass based on the level in the tree. Unfortunately, lockdep can only handle 8 total subclasses, and the btrfs max level is also 8. So when lockdep is on, use a lower max level. Signed-off-by: Chris Mason commit f421950f86bf96a11fef932e167ab2e70d4c43a0 Author: Chris Mason Date: Tue Jul 22 11:18:09 2008 -0400 Btrfs: Fix some data=ordered related data corruptions Stress testing was showing data checksum errors, most of which were caused by a lookup bug in the extent_map tree. The tree was caching the last pointer returned, and searches would check the last pointer first. But, search callers also expect the search to return the very first matching extent in the range, which wasn't always true with the last pointer usage. For now, the code to cache the last return value is just removed. It is easy to fix, but I think lookups are rare enough that it isn't required anymore. This commit also replaces do_sync_mapping_range with a local copy of the related functions. Signed-off-by: Chris Mason commit a61e6f29dc7c9d56a776a518eed92bbc61848263 Author: Chris Mason Date: Tue Jul 22 11:18:08 2008 -0400 Btrfs: Use a mutex in the extent buffer for tree block locking This replaces the use of the page cache lock bit for locking, which wasn't suitable for block size < page size and couldn't be used recursively. The mutexes alone don't fix either problem, but they are the first step. Signed-off-by: Chris Mason commit 6af118ce51b52ceda357c671550c79628b9c4a65 Author: Chris Mason Date: Tue Jul 22 11:18:07 2008 -0400 Btrfs: Index extent buffers in an rbtree Before, extent buffers were a temporary object, meant to map a number of pages at once and collect operations on them. But, a few extra fields have crept in, and they are also the best place to store a per-tree block lock field as well. This commit puts the extent buffers into an rbtree, and ensures a single extent buffer for each tree block. Signed-off-by: Chris Mason commit 4a09675279674041862d2210635b0cc1f60be28e Author: Chris Mason Date: Mon Jul 21 10:29:44 2008 -0400 Btrfs: Data ordered fixes * In btrfs_delete_inode, wait for ordered extents after calling truncate_inode_pages. This is much faster, and more correct * Properly clear our the PageChecked bit everywhere we redirty the page. * Change the writepage fixup handler to lock the page range and check to see if an ordered extent had been inserted since the improperly dirtied page was discovered * Wait for ordered extents outside the transaction. This isn't required for locking rules but does improve transaction latencies * Reduce contention on the alloc_mutex by dropping it while incrementing refs on a node/leaf and while dropping refs on a leaf. Signed-off-by: Chris Mason commit e5a2217ef6ff088d08a27208929a6f9c635d672c Author: Chris Mason Date: Fri Jul 18 20:42:20 2008 -0400 Fix btrfs_wait_ordered_extent_range to properly wait Signed-off-by: Chris Mason commit 7f3c74fb831fa19bafe087e817c0a5ff3883f1ea Author: Chris Mason Date: Fri Jul 18 12:01:11 2008 -0400 Btrfs: Keep extent mappings in ram until pending ordered extents are done It was possible for stale mappings from disk to be used instead of the new pending ordered extent. This adds a flag to the extent map struct to keep it pinned until the pending ordered extent is actually on disk. Signed-off-by: Chris Mason commit 211f90e68b679d27fe23c5505f86d6ce62c98bae Author: Chris Mason Date: Fri Jul 18 11:56:15 2008 -0400 Btrfs: Don't allow releasepage to succeed if EXTENT_ORDERED is set Signed-off-by: Chris Mason commit 3edf7d33f4edb1e4a9bb0a4c0a84d95fb4d22a09 Author: Chris Mason Date: Fri Jul 18 06:17:13 2008 -0400 Btrfs: Handle data checksumming on bios that span multiple ordered extents Data checksumming is done right before the bio is sent down the IO stack, which means a single bio might span more than one ordered extent. In this case, the checksumming data is split between two ordered extents. Signed-off-by: Chris Mason commit eb84ae039e10f1f80443d846ba1350122bbdc753 Author: Chris Mason Date: Thu Jul 17 13:53:27 2008 -0400 Btrfs: Cleanup and comment ordered-data.c Signed-off-by: Chris Mason commit 54641bd17db9fbfc13c7b1d4ee0dd2713bf3e076 Author: Chris Mason Date: Thu Jul 17 12:54:48 2008 -0400 Btrfs: Force caching of metadata block groups on mount to avoid deadlock This is a temporary change to avoid deadlocks until the extent tree locking is fixed up. Signed-off-by: Chris Mason commit 0bd40a718444b28793283b70286f9e29d464a189 Author: Chris Mason Date: Thu Jul 17 12:54:43 2008 -0400 btrfs_next_leaf: do readahead when skip_locking is turned on Signed-off-by: Chris Mason commit ee6e6504e147a59a9f4d582662c105e9d72ae638 Author: Chris Mason Date: Thu Jul 17 12:54:40 2008 -0400 Add a per-inode lock around btrfs_drop_extents btrfs_drop_extents is always called with a range lock held on the inode. But, it may operate on extents outside that range as it drops and splits them. This patch adds a per-inode mutex that is held while calling btrfs_drop_extents and while inserting new extents into the tree. It prevents races from two procs working against adjacent ranges in the tree. Signed-off-by: Chris Mason commit ba1da2f442ec91a1534afa893f9bef7e33056ace Author: Chris Mason Date: Thu Jul 17 12:54:15 2008 -0400 Btrfs: Don't pin pages in ram until the entire ordered extent is on disk. Checksum items are not inserted until the entire ordered extent is on disk, but individual pages might be clean and available for reclaim long before the whole extent is on disk. In order to allow those pages to be freed, we need to be able to search the list of ordered extents to find the checksum that is going to be inserted in the tree. This way if the page needs to be read back in before the checksums are in the btree, we'll be able to verify the checksum on the page. This commit adds the ability to search the pending ordered extents for a given offset in the file, and changes btrfs_releasepage to allow ordered pages to be freed. Signed-off-by: Chris Mason commit f9295749388f82c8d2f485e99c72cd7c7876a99b Author: Chris Mason Date: Thu Jul 17 12:54:14 2008 -0400 btrfs_start_transaction: wait for commits in progress to finish btrfs_commit_transaction has to loop waiting for any writers in the transaction to finish before it can proceed. btrfs_start_transaction should be polite and not join a transaction that is in the process of being finished off. There are a few places that can't wait, basically the ones doing IO that might be needed to finish the transaction. For them, btrfs_join_transaction is added. Signed-off-by: Chris Mason commit dbe674a99c8af088faa4c95eddaeb271a3140ab6 Author: Chris Mason Date: Thu Jul 17 12:54:05 2008 -0400 Btrfs: Update on disk i_size only after pending ordered extents are done This changes the ordered data code to update i_size after the extent is on disk. An on disk i_size is maintained in the in-memory btrfs inode structures, and this is updated as extents finish. Signed-off-by: Chris Mason commit 247e743cbe6e655768c3679f84821e03c1577902 Author: Chris Mason Date: Thu Jul 17 12:53:51 2008 -0400 Btrfs: Use async helpers to deal with pages that have been improperly dirtied Higher layers sometimes call set_page_dirty without asking the filesystem to help. This causes many problems for the data=ordered and cow code. This commit detects pages that haven't been properly setup for IO and kicks off an async helper to deal with them. Signed-off-by: Chris Mason commit e6dcd2dc9c489108648e2ed543315dd134d50a9a Author: Chris Mason Date: Thu Jul 17 12:53:50 2008 -0400 Btrfs: New data=ordered implementation The old data=ordered code would force commit to wait until all the data extents from the transaction were fully on disk. This introduced large latencies into the commit and stalled new writers in the transaction for a long time. The new code changes the way data allocations and extents work: * When delayed allocation is filled, data extents are reserved, and the extent bit EXTENT_ORDERED is set on the entire range of the extent. A struct btrfs_ordered_extent is allocated an inserted into a per-inode rbtree to track the pending extents. * As each page is written EXTENT_ORDERED is cleared on the bytes corresponding to that page. * When all of the bytes corresponding to a single struct btrfs_ordered_extent are written, The previously reserved extent is inserted into the FS btree and into the extent allocation trees. The checksums for the file data are also updated. Signed-off-by: Chris Mason commit 77a41afb7d0dd0f27b6f2f1a5bc701929c7034de Author: Chris Mason Date: Tue Jul 8 14:32:12 2008 -0400 Btrfs: Drop some verbose printks Signed-off-by: Chris Mason commit 7d9eb12c8739e7dc80c78c6b3596f912ecd8f941 Author: Chris Mason Date: Tue Jul 8 14:19:17 2008 -0400 Btrfs: Add locking around volume management (device add/remove/balance) Signed-off-by: Chris Mason commit a7a16fd772620605c76e8ac8bdbc8ccc9e3df1a0 Author: Chris Mason Date: Thu Jun 26 10:34:20 2008 -0400 Btrfs: Fix deadlock while searching for dead roots on mount btrfs_find_dead_roots called btrfs_read_fs_root_no_radix, which means we end up calling btrfs_search_slot with a path already held. The fix is to remember the key inside btrfs_find_dead_roots and drop the path. Signed-off-by: Chris Mason commit f9efa9c784aa3b801feb367f72c6867d26fb348e Author: Chris Mason Date: Wed Jun 25 16:14:04 2008 -0400 Btrfs: Reduce contention on the root node This calls unlock_up sooner in btrfs_search_slot in order to decrease the amount of work done with the higher level tree locks held. Also, it changes btrfs_tree_lock to spin for a big against the page lock before scheduling. This makes a big difference in context switch rate under highly contended workloads. Longer term, a better locking structure is needed than the page lock. Signed-off-by: Chris Mason commit 3f157a2fd2ad731e1ed9964fecdc5f459f04a4a4 Author: Chris Mason Date: Wed Jun 25 16:01:31 2008 -0400 Btrfs: Online btree defragmentation fixes The btree defragger wasn't making forward progress because the new key wasn't being saved by the btrfs_search_forward function. This also disables the automatic btree defrag, it wasn't scaling well to huge filesystems. The auto-defrag needs to be done differently. Signed-off-by: Chris Mason commit 1b1e2135dc1e4efbcf25ac9ac9979316d4e1193e Author: Chris Mason Date: Wed Jun 25 16:01:31 2008 -0400 Btrfs: Add a per-inode csum mutex to avoid races creating csum items Signed-off-by: Chris Mason commit 079899c2384023cd8efcd3806680b4f1d2abbd54 Author: Chris Mason Date: Wed Jun 25 16:01:31 2008 -0400 Btrfs: Change find_extent_buffer to use TestSetPageLocked This makes it possible for callers to check for extent_buffers in cache without deadlocking against any btree locks held. Signed-off-by: Chris Mason commit e7a84565bcdb239caad29ccbe559ef978090ac7e Author: Chris Mason Date: Wed Jun 25 16:01:31 2008 -0400 Btrfs: Add btree locking to the tree defragmentation code The online btree defragger is simplified and rewritten to use standard btree searches instead of a walk up / down mechanism. Signed-off-by: Chris Mason commit a74a4b97b61beede185b4b3ad359d7d378b0d312 Author: Chris Mason Date: Wed Jun 25 16:01:31 2008 -0400 Btrfs: Replace the transaction work queue with kthreads This creates one kthread for commits and one kthread for deleting old snapshots. All the work queues are removed. Signed-off-by: Chris Mason commit 89ce8a63d0c761fbb02089850605360f389477d8 Author: Chris Mason Date: Wed Jun 25 16:01:31 2008 -0400 Add btrfs_end_transaction_throttle to force writers to wait for pending commits The existing throttle mechanism was often not sufficient to prevent new writers from coming in and making a given transaction run forever. This adds an explicit wait at the end of most operations so they will allow the current transaction to close. There is no wait inside file_write, inode updates, or cow filling, all which have different deadlock possibilities. This is a temporary measure until better asynchronous commit support is added. This code leads to stalls as it waits for data=ordered writeback, and it really needs to be fixed. Signed-off-by: Chris Mason commit 333db94cdde9e6dfdedab9290d04d812f83e0922 Author: Chris Mason Date: Wed Jun 25 16:01:30 2008 -0400 Btrfs: Fix snapshot deletion to release the alloc_mutex much more often. This lowers the impact of snapshot deletion on the rest of the FS. Signed-off-by: Chris Mason commit 5cd57b2cbbb06a350df2698314e4e6a80805fc2f Author: Chris Mason Date: Wed Jun 25 16:01:30 2008 -0400 Btrfs: Add a skip_locking parameter to struct path, and make various funcs honor it Allocations may need to read in block groups from the extent allocation tree, which will require a tree search and take locks on the extent allocation tree. But, those locks might already be held in other places, leading to deadlocks. Since the alloc_mutex serializes everything right now, it is safe to skip the btree locking while caching block groups. A better fix will be to either create a recursive lock or find a way to back off existing locks while caching block groups. Signed-off-by: Chris Mason commit 168fd7d271d9d8e81ff0b03eb08c36d82670c8a9 Author: Chris Mason Date: Wed Jun 25 16:01:30 2008 -0400 Fix btrfs_next_leaf to check for new items after dropping locks Signed-off-by: Chris Mason commit 594a24eb0e7fa8413f8b443863be4b7c72bfde9f Author: Chris Mason Date: Wed Jun 25 16:01:30 2008 -0400 Fix btrfs_del_ordered_inode to allow forcing the drop during unlinks This allows us to delete an unlinked inode with dirty pages from the list instead of forcing commit to write these out before deleting the inode. Signed-off-by: Chris Mason commit 051e1b9f748ae673b7325d3fc049bb838606cffa Author: Chris Mason Date: Wed Jun 25 16:01:30 2008 -0400 Drop locks in btrfs_search_slot when reading a tree block. One lock per btree block can make for significant congestion if everyone has to wait for IO at the high levels of the btree. This drops locks held by a path when doing reads during a tree search. Signed-off-by: Chris Mason commit a213501153fd66e2359e091b1612841305ba6551 Author: Chris Mason Date: Wed Jun 25 16:01:30 2008 -0400 Btrfs: Replace the big fs_mutex with a collection of other locks Extent alloctions are still protected by a large alloc_mutex. Objectid allocations are covered by a objectid mutex Other btree operations are protected by a lock on individual btree nodes Signed-off-by: Chris Mason commit 925baeddc5b0764a53f2214a1253251bab0e0324 Author: Chris Mason Date: Wed Jun 25 16:01:30 2008 -0400 Btrfs: Start btree concurrency work. The allocation trees and the chunk trees are serialized via their own dedicated mutexes. This means allocation location is still not very fine grained. The main FS btree is protected by locks on each block in the btree. Locks are taken top / down, and as processing finishes on a given level of the tree, the lock is released after locking the lower level. The end result of a search is now a path where only the lowest level is locked. Releasing or freeing the path drops any locks held. Signed-off-by: Chris Mason commit 1cc127b5d1b71453091859301de4a7dd6ee96fa8 Author: Chris Mason Date: Thu Jun 12 14:46:17 2008 -0400 Btrfs: Add a thread pool just for submit_bio If a bio submission is after a lock holder waiting for the bio on the work queue, it is possible to deadlock. Move the bios into their own pool. Signed-off-by: Chris Mason commit df5b5520b21d8a2554ede65c09b288833c77144d Author: Christoph Hellwig Date: Wed Jun 11 21:53:58 2008 -0400 BTRFS_IOC_TRANS_START should be privilegued As mentioned in the comment next to it btrfs_ioctl_trans_start can do bad damage to filesystems and thus should be limited to privilegued users. Signed-off-by: Christoph Hellwig Signed-off-by: Chris Mason commit f46b5a66b3316ef2f8febfe4c56e2d555e2c3979 Author: Christoph Hellwig Date: Wed Jun 11 21:53:53 2008 -0400 Btrfs: split out ioctl.c Split the ioctl handling out of inode.c into a file of it's own. Also fix up checkpatch.pl warnings for the moved code. Signed-off-by: Christoph Hellwig Signed-off-by: Chris Mason commit 9d2423c5c3fbb0f110ac0b6cdc5a8e4d64729483 Author: Christoph Hellwig Date: Wed Jun 11 21:52:17 2008 -0400 Btrfs: kerneldoc comments for extent_map.c Add kerneldoc comments for all exported functions. Signed-off-by: Christoph Hellwig Signed-off-by: Chris Mason commit 4543df7ecc8ae4928c1e51d6e7dc188d650abee4 Author: Chris Mason Date: Wed Jun 11 21:47:56 2008 -0400 Btrfs: Add a mount option to control worker thread pool size mount -o thread_pool_size changes the default, which is min(num_cpus + 2, 8). Larger thread pools would make more sense on very large disk arrays. This mount option controls the max size of each thread pool. There are multiple thread pools, so the total worker count will be larger than the mount option. Signed-off-by: Chris Mason commit 35d8ba66294ff2a53c17337a1aa1ff6739492f41 Author: Chris Mason Date: Wed Jun 11 20:21:24 2008 -0400 Btrfs: Worker thread optimizations This changes the worker thread pool to maintain a list of idle threads, avoiding a complex search for a good thread to wake up. Threads have two states: idle - we try to reuse the last thread used in hopes of improving the batching ratios busy - each time a new work item is added to a busy task, the task is rotated to the end of the line. Signed-off-by: Chris Mason commit d05e5a4dad985acc938e62d9752c813647dedd9d Author: Chris Mason Date: Wed Jun 11 17:09:48 2008 -0400 Btrfs: Add backport for the kthread work on kernels older than 2.6.20 Signed-off-by: Chris Mason commit 15ada040d7cd68d7853938a92b116292cc16a2f3 Author: Chris Mason Date: Wed Jun 11 16:51:38 2008 -0400 Btrfs: Fix mount -o max_inline=0 max_inline=0 used to force the max_inline size to one sector instead. Now it properly disables inline data items, while still being able to read any that happen to exist on disk. Signed-off-by: Chris Mason commit 8b7128429235d9bd72cfd5ed20c77c4f3118f744 Author: Chris Mason Date: Wed Jun 11 16:50:36 2008 -0400 Btrfs: Add async worker threads for pre and post IO checksumming Btrfs has been using workqueues to spread the checksumming load across other CPUs in the system. But, workqueues only schedule work on the same CPU that queued the work, giving them a limited benefit for systems with higher CPU counts. This code adds a generic facility to schedule work with pools of kthreads, and changes the bio submission code to queue bios up. The queueing is important to make sure large numbers of procs on the system don't turn streaming workloads into random workloads by sending IO down concurrently. The end result of all of this is much higher performance (and CPU usage) when doing checksumming on large machines. Two worker pools are created, one for writes and one for endio processing. The two could deadlock if we tried to service both from a single pool. Signed-off-by: Chris Mason commit 43e570b08a6c6b1d75f218566a6240542a386fd9 Author: Christoph Hellwig Date: Tue Jun 10 10:40:46 2008 -0400 btrfs: allow scanning multiple devices during mount Allows to specify one or multiple device=/dev/foo options during mount so that ioctls on the control device can be avoided. Especially useful when trying to mount a multi-device setup as root. Signed-off-by: Christoph Hellwig Signed-off-by: Chris Mason commit edf24abe51493ccda384644d487fe2f796ac21c8 Author: Christoph Hellwig Date: Tue Jun 10 10:40:29 2008 -0400 btrfs: sanity mount option parsing and early mount code Also adds lots of comments to describe what's going on here. Signed-off-by: Christoph Hellwig Signed-off-by: Chris Mason commit 306929f364b993581c91596230807fa1c022268a Author: Christoph Hellwig Date: Tue Jun 10 10:21:04 2008 -0400 btrfs: fix strange indentation in lookup_extent_mapping Signed-off-by: Chris Mason commit 95c9eb178b96474e9d896f20f982818c5f2ceaa0 Author: Christoph Hellwig Date: Tue Jun 10 10:20:57 2008 -0400 btrfs: tiny makefile cleanup use normal kbuild syntax to build acl.o conditinally and remove comment out lines. Signed-off-by: Christoph Hellwig Signed-off-by: Chris Mason commit 6bf13c0cc833bf5ba013d6aa60379484bf48c4e6 Author: Sage Weil Date: Tue Jun 10 10:07:39 2008 -0400 Btrfs: transaction ioctls These ioctls let a user application hold a transaction open while it performs a series of operations. A final ioctl does a sync on the fs (closing the current transaction). This is the main requirement for Ceph's OSD to be able to keep the data it's storing in a btrfs volume consistent, and AFAICS it works just fine. The application would do something like fd = ::open("some/file", O_RDONLY); ::ioctl(fd, BTRFS_IOC_TRANS_START); /* do a bunch of stuff */ ::ioctl(fd, BTRFS_IOC_TRANS_END); or just ::close(fd); And to ensure it commits to disk, ::ioctl(fd, BTRFS_IOC_SYNC); When a transaction is held open, the trans_handle is attached to the struct file (via private_data) so that it will get cleaned up if the process dies unexpectedly. A held transaction is also ended on fsync() to avoid a deadlock. A misbehaving application could also deliberately hold a transaction open, effectively locking up the FS, so it may make sense to restrict something like this to root or something. Signed-off-by: Chris Mason commit eba12c7bfcb4855fc757357e5e5b0b9a474499ba Author: Yan Date: Mon Jun 9 22:21:46 2008 -0400 Btrfs: Dislable acl xattr handlers The acl code is not yet complete, and the xattr handlers are causing problems for cp -p on some distros. Signed-off-by: Chris Mason commit 51ebc0d3d5cd1a2728068499a8fc1bdb0a581ab5 Author: Jan Engelhardt Date: Mon Jun 9 22:19:40 2008 -0400 Btrfs: bdi_init and bdi_destroy come with 2.6.23 Signed-off-by: Chris Mason commit f819d837eea9829ed6c356fb88cdd0a170cbd947 Author: Linda Knippers Date: Mon Jun 9 22:17:11 2008 -0400 btrfsctl -A error code fixup Send the error back to userland if the ioctl fails Signed-off-by: Chris Mason commit 3b96362cc8d314c935c335d5c3c42eb93c23166b Author: Sven Wegener Date: Mon Jun 9 21:57:42 2008 -0400 Btrfs: Invalidate dcache entry after creating snapshot and We need to invalidate an existing dcache entry after creating a new snapshot or subvolume, because a negative dache entry will stop us from accessing the new snapshot or subvolume. --- ctree.h | 23 +++++++++++++++++++++++ inode.c | 4 ++++ transaction.c | 4 ++++ 3 files changed, 31 insertions(+) Signed-off-by: Chris Mason commit 48ec2cf8738b0db53dc8361026cb7a328f7ad386 Author: Chris Mason Date: Mon Jun 9 09:35:50 2008 -0400 Btrfs: Fix race in running_transaction checks When a new transaction was started, the code would incorrectly set the pointer in fs_info before all the data structures were setup. fsync heavy workloads hit races on the setup of the ordered inode spinlock Signed-off-by: Chris Mason commit e1b81e6761bd8419146d4bbe0aadd8b2d348a01c Author: Mingming Date: Tue May 27 10:55:43 2008 -0400 btrfs delete ordered inode handling fix Use btrfs_release_file instead of a put_inode call Signed-off-by: Chris Mason commit da496f2acf61153e0d4d42ded6a53f3367939db0 Author: Chris Mason Date: Tue May 27 10:52:17 2008 -0400 Btrfs: Always use the async submission queue for checksummed writes This avoids IO stalls and poorly ordered IO from inline writers mixing in with the async submission queue Signed-off-by: Chris Mason commit 0ef3e66b6700eb8f052daa8b89443ff872fbbdfc Author: Chris Mason Date: Sat May 24 14:04:53 2008 -0400 Btrfs: Allocator fix variety pack * Force chunk allocation when find_free_extent has to do a full scan * Record the max key at the start of defrag so it doesn't run forever * Block groups might not be contiguous, make a forward search for the next block group in extent-tree.c * Get rid of extra checks for total fs size * Fix relocate_one_reference to avoid relocating the same file data block twice when referenced by an older transaction * Use the open device count when allocating chunks so that we don't try to allocate from devices that don't exist Signed-off-by: Chris Mason commit 515dc3228c568f9df8b634f82b3471e20205ac16 Author: Chris Mason Date: Fri May 16 13:30:15 2008 -0400 Btrfs: Use kzalloc on the fs_devices allocation Signed-off-by: Chris Mason commit 6af5ac3c1aede574acde5fc477f1a1c876fb568e Author: Chris Mason Date: Fri May 16 13:14:57 2008 -0400 Btrfs: Handle transid == 0 while opening devices Signed-off-by: Chris Mason commit 1c8cfcc1590d378c82ec75888f71e87fd26551e3 Author: Chris Mason Date: Fri May 16 13:06:51 2008 -0400 Btrfs: Enable btree balancing on old kernels again Signed-off-by: Chris Mason commit cb03c743c6486e4efb8be6bdf7bf23177826d156 Author: Chris Mason Date: Thu May 15 16:15:45 2008 -0400 Btrfs: Change the congestion functions to meter the number of async submits as well The async submit workqueue was absorbing too many requests, leading to long stalls where the async submitters were stalling. Signed-off-by: Chris Mason commit 211c17f51f46dc6c308c742098273dd46b5ca59c Author: Chris Mason Date: Thu May 15 09:13:45 2008 -0400 Fix corners in writepage and btrfs_truncate_page The extent_io writepage calls needed an extra check for discarding pages that started on th last byte in the file. btrfs_truncate_page needed checks to make sure the page was still part of the file after reading it, and most importantly, needed to wait for all IO to the page to finish before freeing the corresponding extents on disk. Signed-off-by: Chris Mason commit a0af469b58944f6e8c5c8ecbebb42997baf0cb9e Author: Chris Mason Date: Tue May 13 16:03:06 2008 -0400 Fix btrfs_open_devices to deal with changes since the scan ioctls Devices can change after the scan ioctls are done, and btrfs_open_devices needs to be able to verify them as they are opened and used by the FS. Signed-off-by: Chris Mason commit dfe25020689bb2d318782d2c9c7141203583fc70 Author: Chris Mason Date: Tue May 13 13:46:40 2008 -0400 Btrfs: Add mount -o degraded to allow mounts to continue with missing devices Signed-off-by: Chris Mason commit 1259ab75c62462b8ffad90067b5e1f6312786a18 Author: Chris Mason Date: Mon May 12 13:39:03 2008 -0400 Btrfs: Handle write errors on raid1 and raid10 When duplicate copies exist, writes are allowed to fail to one of those copies. This changeset includes a few changes that allow the FS to continue even when some IOs fail. It also adds verification of the parent generation number for btree blocks. This generation is stored in the pointer to a block, and it ensures that missed writes to are detected. Signed-off-by: Chris Mason commit ca7a79ad8dbe24669a8ced01f9fc0126b872745d Author: Chris Mason Date: Mon May 12 12:59:19 2008 -0400 Btrfs: Pass down the expected generation number when reading tree blocks Signed-off-by: Chris Mason commit 188de649c51f03df3f8a601aea0110a3870815c2 Author: Chris Mason Date: Fri May 9 11:52:25 2008 -0400 Btrfs: Don't do btree balance_dirty_pages on old kernels, it stalls forever Signed-off-by: Chris Mason commit 323da79c9f096ed4da04e5ea00f766f75b28aeaa Author: Chris Mason Date: Fri May 9 11:46:48 2008 -0400 Btrfs: Chunk relocation fine tuning, and add a few printks to show progress Signed-off-by: Chris Mason commit bbaf549e0c3d28399fc5abd68020d4025ae5c3a7 Author: Chris Mason Date: Thu May 8 16:31:21 2008 -0400 Btrfs: A number of nodatacow fixes Once part of a delalloc request fails the cow checks, just cow the entire range It is possible for the back references to all be from the same root, but still have snapshots against an extent. The checks are now more strict, forcing cow any time there are multiple refs against the data extent. Signed-off-by: Chris Mason commit c1c4d91c38e6e5b29543b02d4a4fb7f007e44f70 Author: Chris Mason Date: Thu May 8 15:05:58 2008 -0400 Btrfs: Only open block devices once during mount -o subvol= btrfs_open_devices needed a check to see if the device was already open. Signed-off-by: Chris Mason commit a68d5933a0e409592860229b35230c8e87155472 Author: Chris Mason Date: Thu May 8 14:11:56 2008 -0400 Btrfs: Update nodatacow mode to support cloned single files and resizing Before, nodatacow only checked to make sure multiple roots didn't have references on a single extent. This check makes sure that multiple inodes don't have references. nodatacow needed an extra check to see if the block group was currently readonly. This way cows forced by the chunk relocation code are honored. Signed-off-by: Chris Mason commit bf4ef67924d87b0addb32f084e83a9283496350e Author: Chris Mason Date: Thu May 8 13:26:18 2008 -0400 Btrfs: Properly find the root for snapshotted blocks during chunk relocation Signed-off-by: Chris Mason commit a061fc8da7b990faa41ca503e66faef3ecdeead0 Author: Chris Mason Date: Wed May 7 11:43:44 2008 -0400 Btrfs: Add support for online device removal This required a few structural changes to the code that manages bdev pointers: The VFS super block now gets an anon-bdev instead of a pointer to the lowest bdev. This allows us to avoid swapping the super block bdev pointer around at run time. The code to read in the super block no longer goes through the extent buffer interface. Things got ugly keeping the mapping constant. Signed-off-by: Chris Mason commit 5d9cd9ecbf40b8bd5045a3c2f1feb35db6a12266 Author: Chris Mason Date: Mon May 5 06:26:21 2008 -0400 Btrfs: Fix clone ioctl to not hold the path over inserts Signed-off-by: Chris Mason commit b9d86667c94e5fe4bf9f6aa500e7ff1138e717ff Author: Chris Mason Date: Fri May 2 16:13:49 2008 -0400 Btrfs: Silence bogus inode.c compiler warnings Signed-off-by: Chris Mason commit 12fa8ec64f445aa932ba154053fe95432f30f2c6 Author: Jeff Mahoney Date: Fri May 2 15:03:58 2008 -0400 Btrfs: Add workaround for AppArmor changing remove_suid() In openSUSE 10.3, AppArmor modifies remove_suid to take a struct path rather than just a dentry. This patch tests that the kernel is openSUSE 10.3 or newer and adjusts the call accordingly. Debian/Ubuntu with AppArmor applied will also need a similar patch. Maintainers of btrfs under those distributions should build on this patch or, alternatively, alter their package descriptions to add -DREMOVE_SUID_PATH to the compiler command line. Signed-off-by: Jeff Mahoney - --- /dev/null 1970-01-01 00:00:00.000000000 +0000 +++ b/compat.h 2008-02-06 16:46:13.000000000 -0500 @@ -0,0 +1,15 @@ +#ifndef _COMPAT_H_ +#define _COMPAT_H_ + + +/* + * Even if AppArmor isn't enabled, it still has different prototypes. + * Add more distro/version pairs here to declare which has AppArmor applied. + */ +#if defined(CONFIG_SUSE_KERNEL) +# if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,22) +# define REMOVE_SUID_PATH 1 +# endif +#endif + +#endif /* _COMPAT_H_ */ - --- a/file.c 2008-02-06 11:37:39.000000000 -0500 +++ b/file.c 2008-02-06 16:46:23.000000000 -0500 @@ -37,6 +37,7 @@ #include "ordered-data.h" #include "ioctl.h" #include "print-tree.h" +#include "compat.h" static int btrfs_copy_from_user(loff_t pos, int num_pages, int write_bytes, @@ -790,7 +791,11 @@ static ssize_t btrfs_file_write(struct f goto out_nolock; if (count == 0) goto out_nolock; +#ifdef REMOVE_SUID_PATH + err = remove_suid(&file->f_path); +#else err = remove_suid(fdentry(file)); +#endif if (err) goto out_nolock; file_update_time(file); Signed-off-by: Chris Mason commit bb8885cc0aa6b1606143d92c70762b16026016a5 Author: Chris Mason Date: Fri May 2 14:49:33 2008 -0400 Btrfs: Fix do_sync_file_range ifdefs (2.6.22) Signed-off-by: Chris Mason commit 006a58a25fe8aaa7559be80dcff94d98aee84309 Author: Chris Mason Date: Fri May 2 14:43:15 2008 -0400 Btrfs: Compile warning fixup in volume.c Signed-off-by: Chris Mason commit f2eb0a241f0e5c135d93243b0236cb1f14c305e0 Author: Sage Weil Date: Fri May 2 14:43:14 2008 -0400 Btrfs: Clone file data ioctl Add a new ioctl to clone file data Signed-off-by: Chris Mason commit d6bfde8765668c8687de72f7a40f52acdf4f2f19 Author: Chris Mason Date: Wed Apr 30 13:59:35 2008 -0400 Btrfs: Fixes for 2.6.18 enterprise kernels 2.6.18 seems to get caught in an infinite loop when cancel_rearming_delayed_workqueue is called more than once, so this switches to cancel_delayed_work, which is arguably more correct. Also, balance_dirty_pages can run into problems with 2.6.18 based kernels because it doesn't have the per-bdi dirty limits. This avoids calling balance_dirty_pages on the btree inode unless there is actually something to balance, which is a good optimization in general. Finally there's a compile fix for ordered-data.h Signed-off-by: Chris Mason commit 2fff734fafa742236aecbdcdc8b1ff4d221cbaca Author: Chris Mason Date: Tue Apr 29 14:12:09 2008 -0400 Btrfs: Tune stripe selection for raid1 and raid10 Signed-off-by: Chris Mason commit a236aed14ccb0661611d4416f6b573d892bdc60a Author: Chris Mason Date: Tue Apr 29 09:38:00 2008 -0400 Btrfs: Deal with failed writes in mirrored configurations Signed-off-by: Chris Mason commit 4235298e4fc3c1a09f659cfe2fd285024eeb2241 Author: Chris Mason Date: Mon Apr 28 16:40:52 2008 -0400 Btrfs: Drop some verbose printks Signed-off-by: Chris Mason commit ec44a35cbeb26ab2da84cb280d778260f2312feb Author: Chris Mason Date: Mon Apr 28 15:29:52 2008 -0400 Btrfs: Add balance ioctl to restripe the chunks Signed-off-by: Chris Mason commit 788f20eb5affef584e75ea84bb80a4c3352a2c0e Author: Chris Mason Date: Mon Apr 28 15:29:42 2008 -0400 Btrfs: Add new ioctl to add devices Signed-off-by: Chris Mason commit 8e7bf94fd5f44fa585e29fbe6a1bfabc04aea7cf Author: Chris Mason Date: Mon Apr 28 09:02:36 2008 -0400 Btrfs: Do more optimal file RA during shrinking and defrag Signed-off-by: Chris Mason commit 3bf3d9e9c256e1a249a47bb8ceff682e6430aeff Author: Chris Mason Date: Sat Apr 26 11:03:32 2008 -0400 Btrfs: Avoid recursive chunk allocations Signed-off-by: Chris Mason commit 8f18cf13396caae5a3d7ae91201cfb15181a9642 Author: Chris Mason Date: Fri Apr 25 16:53:30 2008 -0400 Btrfs: Make the resizer work based on shrinking and growing devices Signed-off-by: Chris Mason commit 5e478dc9828ad33d7b08dcdf277e13f14a7c1be7 Author: Chris Mason Date: Fri Apr 25 09:10:45 2008 -0400 Btrfs: write_cache_pages came in 2.6.22 Signed-off-by: Chris Mason commit 84eed90fac1b927a2657ff3bb7a0f18b9cb688f7 Author: Chris Mason Date: Fri Apr 25 09:04:37 2008 -0400 Btrfs: Add failure handling for read_sys_array Signed-off-by: Chris Mason commit 004fb5750615bb3cf53e2aa50f6ef1ea57d97df9 Author: Chris Mason Date: Fri Apr 25 09:00:55 2008 -0400 Btrfs: write_extent_pages came in 2.6.23 Signed-off-by: Chris Mason commit 81d7ed29ff6bdec903c36c26b386e16c014993b2 Author: Chris Mason Date: Fri Apr 25 08:51:48 2008 -0400 Btrfs: Throttle file_write when data=ordered is flushing the inode Signed-off-by: Chris Mason commit bce4eae9864e6b6ebde5d7f05576ff0a6c3724d0 Author: Chris Mason Date: Thu Apr 24 14:42:46 2008 -0400 Btrfs: Fix balance_level to free the middle block if there is room in the left one balance level starts by trying to empty the middle block, and then pushes from the right to the middle. This might empty the right block and leave a small number of pointers in the middle. Signed-off-by: Chris Mason commit 971a1f6648bfafd4239234f1ffb9c26e907c2744 Author: Chris Mason Date: Thu Apr 24 10:54:32 2008 -0400 Btrfs: Don't empty the middle buffer in push_nodes_for_insert Signed-off-by: Chris Mason commit c448acf0a057debc34507277add0fc09b1b37312 Author: Chris Mason Date: Thu Apr 24 09:34:34 2008 -0400 Btrfs: Fix split_node to require more empty slots in the node as well Signed-off-by: Chris Mason commit 1514794e4253cf4a32a2acc6de52f2527ca1bdce Author: Chris Mason Date: Thu Apr 24 09:22:51 2008 -0400 Btrfs: Make sure nodes have enough room for a double split Signed-off-by: Chris Mason commit bcbfce8abd5f8d3f84eab60a9df1ec147f81c34f Author: Chris Mason Date: Tue Apr 22 13:26:47 2008 -0400 Btrfs: Fix the unplug_io_fn to grab a consistent copy of page->mapping Signed-off-by: Chris Mason commit e1c4b7451e22f5b0a9fbccfa560ee7b80c35b8cd Author: Chris Mason Date: Tue Apr 22 13:26:46 2008 -0400 Fix btrfs_get_extent and get_block corner cases, and disable O_DIRECT reads The generic O_DIRECT code assumes all the bios have the same bdev, which isn't true for multi-device btrfs. Signed-off-by: Chris Mason commit 409c6118d39cb2d8666bee3d61a1a9ae5bbd4f5d Author: Chris Mason Date: Tue Apr 22 09:24:20 2008 -0400 Btrfs: Set nodatasum on the inode when written by a nodatasum mount Signed-off-by: Chris Mason commit 38b669880df44cba24ab1b01715b87318d469217 Author: Chris Mason Date: Tue Apr 22 09:22:11 2008 -0400 Deal with page == NULL in the btrfs_unplug_io_fn Signed-off-by: Chris Mason commit b30757178dad19a0388d958ff9eea66e674d39ed Author: Chris Mason Date: Tue Apr 22 09:22:07 2008 -0400 Btrfs: Add a special device list for chunk allocations This allows other code that needs to walk every device in the FS to do so without locking against allocations. Signed-off-by: Chris Mason commit 3c12ac7205d4bd679fefa722aa9b61385e4b4749 Author: Chris Mason Date: Mon Apr 21 12:01:38 2008 -0400 Btrfs: Simplify device selection for mirrored reads Signed-off-by: Chris Mason commit f2d8d74d7874f8f81222363cd6459a365796e35a Author: Chris Mason Date: Mon Apr 21 10:03:05 2008 -0400 Btrfs: Make an unplug function that doesn't unplug every spindle Signed-off-by: Chris Mason commit 4ef64eae288a3644d1f8b748eb075426701e96d1 Author: Chris Mason Date: Mon Apr 21 08:52:50 2008 -0400 Btrfs: Remove debugging statements from the invalidatepage calls Signed-off-by: Chris Mason commit ad5bd91ecee2b687071da00094564fd075f934ee Author: Chris Mason Date: Mon Apr 21 08:28:10 2008 -0400 Btrfs: Add 1MB to the min_free in alloc_chunk This properly reflects the first 1MB we skip at the start of the device Signed-off-by: Chris Mason commit 4575c9cceeca2f51c50536850e15e1dc5187f3d9 Author: Chris Mason Date: Fri Apr 18 16:13:31 2008 -0400 Btrfs: Scale the bdi ra_pages by the number of devices in the FS Signed-off-by: Chris Mason commit 9ad6b7bc2e00ba02f915cffd5b6bcd6564bb2c75 Author: Chris Mason Date: Fri Apr 18 16:11:30 2008 -0400 Force page->private removal in btrfs_invalidatepage btrfs_invalidatepage is not allowed to leave pages around on the lru. Any such pages will trigger an oops later on because the VM will see page->private and assume it is a buffer head. This also forces extra flushes of the async work queues before dropping all the pages on the btree inode during unmount. Left over items on the work queues are one possible cause of busy state ranges during truncate_inode_pages. Signed-off-by: Chris Mason commit 0afbaf8c8216a0de64b55c2d455de2b6c9dde5eb Author: Chris Mason Date: Fri Apr 18 14:17:20 2008 -0400 Btrfs: Set the btree inode i_size to OFFSET_MAX Signed-off-by: Chris Mason commit a40a90a0420abd5ff86a0917facd3293ebb6a9b6 Author: Chris Mason Date: Fri Apr 18 11:55:51 2008 -0400 Btrfs: Fix chunk allocation when some devices don't have enough room for stripes Signed-off-by: Chris Mason commit 9b3f68b90674419add8be1c0aa740dcdf04f44cc Author: Chris Mason Date: Fri Apr 18 10:29:51 2008 -0400 Btrfs: Calculate appropriate chunk sizes for both small and large filesystems Signed-off-by: Chris Mason commit 7b13b7b119c932a5eca486db4113f4c1fe3b97a8 Author: Chris Mason Date: Fri Apr 18 10:29:50 2008 -0400 Btrfs: Don't drop extent_map cache during releasepage on the btree inode The btree inode should only have a single extent_map in the cache, it doesn't make sense to ever drop it. Signed-off-by: Chris Mason commit 7ae9c09d8f001eb19ee2ba219dc5c3d4f6d60614 Author: Chris Mason Date: Fri Apr 18 10:29:49 2008 -0400 Btrfs: Add support for labels in the super block Signed-off-by: Chris Mason commit a443755f1ca3e190e12e3a845ddecb3ee1782512 Author: Chris Mason Date: Fri Apr 18 10:29:38 2008 -0400 Btrfs: Check device uuids along with devids Signed-off-by: Chris Mason commit 41471e8341a6b476bcd8ecc765a8b297c22a74f9 Author: Chris Mason Date: Thu Apr 17 14:08:30 2008 -0400 Btrfs: Remove bogus max_sector warnings from the extent_io code It was testing the bio before doing logical->physical mapping, so the test was always wrong. Signed-off-by: Chris Mason commit 7bf3b490dfa57bdef5892dffa5021469a0cd2b7f Author: Chris Mason Date: Thu Apr 17 11:58:30 2008 -0400 Btrfs: Avoid 64 bit div for RAID10 Signed-off-by: Chris Mason commit 3b951516ed703af0f6d82053937655ad69b60864 Author: Chris Mason Date: Thu Apr 17 11:29:12 2008 -0400 Btrfs: Use the extent map cache to find the logical disk block during data retries The data read retry code needs to find the logical disk block before it can resubmit new bios. But, finding this block isn't allowed to take the fs_mutex because that will deadlock with a number of different callers. This changes the retry code to use the extent map cache instead, but that requires the extent map cache to have the extent we're looking for. This is a problem because btrfs_drop_extent_cache just drops the entire extent instead of the little tiny part it is invalidating. The bulk of the code in this patch changes btrfs_drop_extent_cache to invalidate only a portion of the extent cache, and changes btrfs_get_extent to deal with the results. Signed-off-by: Chris Mason commit 7b859fe7cd383fa5e7e379884a748680d0af7bcc Author: Chris Mason Date: Wed Apr 16 13:06:16 2008 -0400 Btrfs: Only do async bio submission for pdflush Signed-off-by: Chris Mason commit 699122f55904bec252ea4f8a64228ce98e3d9fda Author: Chris Mason Date: Wed Apr 16 12:59:22 2008 -0400 Btrfs: Don't wait on tree block writeback before freeing them anymore This isn't required anymore because we don't reallocate blocks that have already been written in this transaction. Signed-off-by: Chris Mason commit e015640f9c4fa2417dcc3bbbb3b2b61ad4059ab0 Author: Chris Mason Date: Wed Apr 16 11:15:20 2008 -0400 Btrfs: Write bio checksumming outside the FS mutex This significantly improves streaming write performance by allowing concurrency in the data checksumming. Signed-off-by: Chris Mason commit 44b8bd7edda4f63de180d0f7325c9fb704b3806b Author: Chris Mason Date: Wed Apr 16 11:14:51 2008 -0400 Btrfs: Create a work queue for bio writes This allows checksumming to happen in parallel among many cpus, and keeps us from bogging down pdflush with the checksumming code. Signed-off-by: Chris Mason commit 321aecc65671ae8136bd2ca6879b56f0221f8ac8 Author: Chris Mason Date: Wed Apr 16 10:49:51 2008 -0400 Btrfs: Add RAID10 support Signed-off-by: Chris Mason commit e17cade25ff8074101d653557a78df09c16ca276 Author: Chris Mason Date: Tue Apr 15 15:41:47 2008 -0400 Btrfs: Add chunk uuids and update multi-device back references Block headers now store the chunk tree uuid Chunk items records the device uuid for each stripes Device extent items record better back refs to the chunk tree Block groups record better back refs to the chunk tree The chunk tree format has also changed. The objectid of BTRFS_CHUNK_ITEM_KEY used to be the logical offset of the chunk. Now it is a chunk tree id, with the logical offset being stored in the offset field of the key. This allows a single chunk tree to record multiple logical address spaces, upping the number of bytes indexed by a chunk tree from 2^64 to 2^128. Signed-off-by: Chris Mason commit b248a4152956cbae1b23f4c70ef5b51d6ea2ecfb Author: Chris Mason Date: Mon Apr 14 09:48:18 2008 -0400 Btrfs: A few updates for 2.6.18 and versions older than 2.6.25 This includes fixing a missing spinlock init call that caused oops on mount for most kernels other than 2.6.25. Signed-off-by: Chris Mason commit 98d20f67cf99ccda638dbcdf7b3a9ee0a428d932 Author: Chris Mason Date: Mon Apr 14 09:46:10 2008 -0400 Add a min size parameter to btrfs_alloc_extent On huge machines, delayed allocation may try to allocate massive extents. This change allows btrfs_alloc_extent to return something smaller than the caller asked for, and the data allocation routines will loop over the allocations until it fills the whole delayed alloc. Signed-off-by: Chris Mason commit 73f61b2a6459df982cb4faf0e5cf5ac8b153aaff Author: Miguel Date: Fri Apr 11 15:50:59 2008 -0400 Btrfs: bio_endio support for linux 2.6.23 and older. bio_endio() changed prototype on linux 2.6.24, support older kernels using the older prototype. Signed-off-by: Chris Mason commit 594994aa3ea4cb52cba9c83a4b6f03e6ff3a646e Author: Miguel Date: Fri Apr 11 15:46:48 2008 -0400 Btrfs: define write_cache_pages for linux kernel <= 2.6.20 instead write_cache_pages doesn't exist in linux 2.6.20, change the #if condition to match that. Signed-off-by: Chris Mason commit a5eb62e345fc1818d0d8b6181463200a9e8dfe39 Author: Miguel Date: Fri Apr 11 15:45:51 2008 -0400 Btrfs: Endianess bug fix for v0.13 with kernels Fix for a endianess BUG when using btrfs v0.13 with kernels older than 2.6.23 Problem: Has of v0.13, btrfs-progs is using crc32c.c equivalent to the one found on linux-2.6.23/lib/libcrc32c.c Since crc32c_le() changed in linux-2.6.23, when running btrfs v0.13 with older kernels we have a missmatch between the versions of crc32c_le() from btrfs-progs and libcrc32c in the kernel. This missmatch causes a bug when using btrfs on big endian machines. Solution: btrfs_crc32c() macro that when compiling for kernels older than 2.6.23, does endianess conversion to parameters and return value of crc32c(). This endianess conversion nullifies the differences in implementation of crc32c_le(). If kernel 2.6.23 or better, it calls crc32c(). Signed-off-by: Miguel Sousa Filipe --- Signed-off-by: Chris Mason commit 587f77043a1c86e2a7900ff2ce86bef3c1f4e075 Author: Chris Mason Date: Fri Apr 11 12:16:46 2008 -0400 Btrfs: Fixup a few u64<->pointer casts for 32 bit Signed-off-by: Chris Mason commit 3dd39914bc0737d055c780d29c20a1d117819cdb Author: Chris Mason Date: Fri Apr 11 10:51:07 2008 -0400 Btrfs: Add extra checks to avoid removing extent_state from pages we can't free Signed-off-by: Chris Mason commit f29844623de29a12358d7fba35d0959465b64adf Author: Chris Mason Date: Thu Apr 10 16:19:33 2008 -0400 Btrfs: Write out all super blocks on commit, and bring back proper barrier support Signed-off-by: Chris Mason commit 16432985920f3c45af82da214e2498f3e2f9066b Author: Chris Mason Date: Thu Apr 10 10:23:21 2008 -0400 Btrfs: Add O_DIRECT read and write (writes == buffered + cache flush) This adds basic O_DIRECT read and write support. In the write case, we just do a normal buffered write followed by a cache flush. O_DIRECT + O_SYNC are required to trigger metadata syncs. In the read case, there is a basic btrfs_get_block call for use by the generic O_DIRECT code. This does honor multi-volume mapping rules but it skips all checksumming. Signed-off-by: Chris Mason commit 85d824c4a407ba8dbd897f4e05bbe21bf24cc071 Author: Chris Mason Date: Thu Apr 10 10:23:19 2008 -0400 Btrfs: Disable extra debugging checks on tree blocks Signed-off-by: Chris Mason commit 7e38326f5b125288a2baea1d815c500502ab9fc0 Author: Chris Mason Date: Wed Apr 9 16:28:12 2008 -0400 Btrfs: Handle checksumming errors while reading data blocks Signed-off-by: Chris Mason commit f188591e987e21b6f7f8864c66a02858b95b530e Author: Chris Mason Date: Wed Apr 9 16:28:12 2008 -0400 Btrfs: Retry metadata reads in the face of checksum failures Signed-off-by: Chris Mason commit 22c599485b1fdd95e4476a4752596a6cf6c6629a Author: Chris Mason Date: Wed Apr 9 16:28:12 2008 -0400 Btrfs: Handle data block end_io through the async work queue Before it was done by the bio end_io routine, the work queue code is able to scale much better with faster IO subsystems. Signed-off-by: Chris Mason commit ce9adaa5a792c2099a83246265eb4055bc38b6b8 Author: Chris Mason Date: Wed Apr 9 16:28:12 2008 -0400 Btrfs: Do metadata checksums for reads via a workqueue Before, metadata checksumming was done by the callers of read_tree_block, which would set EXTENT_CSUM bits in the extent tree to show that a given range of pages was already checksummed and didn't need to be verified again. But, those bits could go away via try_to_releasepage, and the end result was bogus checksum failures on pages that never left the cache. The new code validates checksums when the page is read. It is a little tricky because metadata blocks can span pages and a single read may end up going via multiple bios. Signed-off-by: Chris Mason commit 728131d8e40c2a47c59ca91a806299c4708029f9 Author: Chris Mason Date: Wed Apr 9 16:28:12 2008 -0400 Btrfs: Add additional debugging for metadata checksum failures Signed-off-by: Chris Mason commit cea9e4452ebaf18dd0951e90dc84d82a5dee40b2 Author: Chris Mason Date: Wed Apr 9 16:28:12 2008 -0400 Change btrfs_map_block to return a structure with mappings for all stripes Signed-off-by: Chris Mason commit d18a2c447524751137a12cc8ccaf9d1e0b7fa1b3 Author: Chris Mason Date: Fri Apr 4 15:40:00 2008 -0400 Btrfs: Fix allocation profile init Signed-off-by: Chris Mason commit 6bc34676c0b5836655ec1c7998e2647cabb933ec Author: Chris Mason Date: Fri Apr 4 15:40:00 2008 -0400 Btrfs: Don't allow written blocks from this transaction to be reallocated When a block is freed, it can be immediately reused if it is from the current transaction. But, an extra check is required to make sure the block had not been written yet. If it were reused after being written, the transid in the block header might match the transid of the next time the block was allocated. The parent node records the transaction ID of the block it is pointing to, and this is used as part of validating the block on reads. So, there can only be one version of a block per transaction. Signed-off-by: Chris Mason commit 611f0e00a27fe0e5a571194a12443ecdc99a43ef Author: Chris Mason Date: Thu Apr 3 16:29:03 2008 -0400 Btrfs: Add support for duplicate blocks on a single spindle Signed-off-by: Chris Mason commit 8790d502e4401a4a3a4175b83a3a47e8d595c771 Author: Chris Mason Date: Thu Apr 3 16:29:03 2008 -0400 Btrfs: Add support for mirroring across drives Signed-off-by: Chris Mason commit 0ef8b2428a339e83fe225e82ef8bd0ea3f62b180 Author: Chris Mason Date: Thu Apr 3 16:29:02 2008 -0400 Btrfs: Properly dirty buffers in the split corner cases Signed-off-by: Chris Mason commit 0999df54f850fe1aba29b10d5c869493af107478 Author: Chris Mason Date: Tue Apr 1 13:48:14 2008 -0400 Btrfs: Verify checksums on tree blocks found without read_tree_block Checksums were only verified by btrfs_read_tree_block, which meant the functions to probe the page cache for blocks were not validating checksums. Normally this is fine because the buffers will only be in cache if they have already been validated. But, there is a window while the buffer is being read from disk where it could be up to date in the cache but not yet verified. This patch makes sure all buffers go through checksum verification before they are used. This is safer, and it prevents modification of buffers before they go through the csum code. Signed-off-by: Chris Mason commit ecbe2402cb4e4e7413544dc392c1a78d0f290292 Author: Chris Mason Date: Tue Apr 1 11:26:07 2008 -0400 Btrfs: Keep fs_mutex during reads done by snapshot deletion There was an optimization to drop the fs_mutex when doing snapshot deletion reads, but this can lead to false positives on checksumming errors. Keep the lock for now. Signed-off-by: Chris Mason commit 140dfd00ae544cdc0c9951b80ad6df61e62859e2 Author: Alex Chiang Date: Tue Apr 1 11:21:40 2008 -0400 btrfs-progs: Stop stomping on 'name' input parameter In btrfs_name_hash, Local variable 'buf' is declared as __u32 buf[2]; but we then try to do this: buf[0] = 0x67452301; buf[1] = 0xefcdab89; buf[2] = 0x98badcfe; buf[3] = 0x10325476; Oops. Fix buf to be the proper size. Signed-off-by: Alex Chiang Signed-off-by: Chris Mason commit 2b114d1d33551ab1dcaa1d0b3a956df3776fb767 Author: Peter Date: Tue Apr 1 11:21:40 2008 -0400 Btrfs: Correct usage of IS_ERR() in extent_io.c Signed-off-by: Peter Teoh Signed-off-by: Chris Mason commit e58ca0203d32869a01540a293df40ddc480dc378 Author: Yan Date: Tue Apr 1 11:21:34 2008 -0400 Fix btrfs_fill_super to return -EINVAL when no FS found Signed-off-by: Chris Mason commit 63b10fc4874a014e22bc4c64e3d92b71180661fe Author: Chris Mason Date: Tue Apr 1 11:21:32 2008 -0400 Reorder the flags field in struct btrfs_header and record a flag on writeout This allows detection of blocks that have already been written in the running transaction so they can be recowed instead of modified again. It is step one in trusting the transid field of the block pointers. Signed-off-by: Chris Mason commit 2d2ae547979854d10b75d557b3abdb3eb7511bbc Author: Chris Mason Date: Wed Mar 26 16:24:23 2008 -0400 Btrfs: Add leak debugging for extent_buffer and extent_state This also fixes one leak around the super block when failing to mount the FS. Signed-off-by: Chris Mason commit 83041add611056e830e29fda913029e37e857239 Author: Chris Mason Date: Wed Mar 26 12:02:55 2008 -0400 Btrfs: Use a higher default ra pages Signed-off-by: Chris Mason commit 04160088141a6be06d5cb9e53e34076b51803ffc Author: Chris Mason Date: Wed Mar 26 10:28:07 2008 -0400 Create a btrfs backing dev info This allows intelligent versions of unplug and congestion functions Signed-off-by: Chris Mason commit 593060d756e0c2382d59cf00d5f3b9e3a336c408 Author: Chris Mason Date: Tue Mar 25 16:50:33 2008 -0400 Btrfs: Implement raid0 when multiple devices are present Signed-off-by: Chris Mason commit 8a4b83cc8bd75fca29ac68615896d9e92820e7c2 Author: Chris Mason Date: Mon Mar 24 15:02:07 2008 -0400 Btrfs: Add support for device scanning and detection ioctls Signed-off-by: Chris Mason commit 239b14b32dc39232ebf9cce29ff77c4c564355fd Author: Chris Mason Date: Mon Mar 24 15:02:07 2008 -0400 Btrfs: Bring back mount -o ssd optimizations Signed-off-by: Chris Mason commit 0d81ba5dbedef0c3970d6aa318aa84920943e6e3 Author: Chris Mason Date: Mon Mar 24 15:02:07 2008 -0400 Btrfs: Move device information into the super block so it can be scanned Signed-off-by: Chris Mason commit e085def2c4cc2d7c0c316376b4b66b86b10e3a4b Author: Chris Mason Date: Mon Mar 24 15:02:07 2008 -0400 Btrfs: Make the FS tree the last objectid in the tree of tree roots Signed-off-by: Chris Mason commit a9218f6b00ada101c9772ee9c44af04fa5125d2a Author: Chris Mason Date: Mon Mar 24 15:02:04 2008 -0400 Add /dev/btrfs-control for device scanning ioctls Signed-off-by: Chris Mason commit 7d1660d411a24f9b5a2f38e41c9896d7151c934f Author: Chris Mason Date: Mon Mar 24 15:02:03 2008 -0400 Btrfs: Bring back find_free_extent CPU usage optimizations Signed-off-by: Chris Mason commit 6324fbf334f4586325057197da7752f4ffa409d3 Author: Chris Mason Date: Mon Mar 24 15:01:59 2008 -0400 Btrfs: Dynamic chunk and block group allocation Signed-off-by: Chris Mason commit 0b86a832a1f38abec695864ec2eaedc9d2383f1b Author: Chris Mason Date: Mon Mar 24 15:01:56 2008 -0400 Btrfs: Add support for multiple devices per filesystem Signed-off-by: Chris Mason commit 7f93bf8d27653726e3721c01fefc523487ecf2af Author: Chris Mason Date: Mon Mar 24 15:01:28 2008 -0400 Match the extent tree code to btrfs-progs for multi-device merging Signed-off-by: Chris Mason commit eb20978f318ab5e360ef9c1b24b5dea14d0fee6a Author: Chris Mason Date: Thu Feb 21 09:30:08 2008 -0500 Btrfs: Use KM_USERN instead of KM_IRQ during data summing Signed-off-by: Chris Mason commit 55d474148982785dd8995dc690febad3a16a2c46 Author: Chris Mason Date: Wed Feb 20 16:02:51 2008 -0500 Btrfs: Disable sysfs files on older kernels Signed-off-by: Chris Mason commit 2e1a992e3103624af48f1501aaad4e4d8317f88c Author: Chris Mason Date: Wed Feb 20 15:44:32 2008 -0500 Btrfs: Make sure bio pages are adjacent during bulk csumming Signed-off-by: Chris Mason commit 6885f308b557020efce6ef9c1fcc96adaabecbb6 Author: Chris Mason Date: Wed Feb 20 16:11:05 2008 -0500 Btrfs: Misc 2.6.25 updates Remove the btrfs read_inode method, and use save_mount_options Signed-off-by: Chris Mason commit e3fe4e7120bc753552b071773022efcff704e34b Author: Greg KH Date: Wed Feb 20 14:14:16 2008 -0500 btrfs: fixes for kobject changes in mainline Here's a patch against the unstable tree that gets the code to build against Linus's current tree (2.6.24-git12). This is needed as the kobject/kset api has changed there. I tried to make the smallest changes needed, and it builds and loads successfully, but I don't have a btrfs volume anywhere (yet) to try to see if things still work properly :) Signed-off-by: Greg Kroah-Hartman Signed-off-by: Chris Mason commit 6e92f5e651a34f24ab31ebdf3f113c7d23a36000 Author: Chris Mason Date: Wed Feb 20 12:07:25 2008 -0500 Btrfs: While doing checksums on bios, cache the extent_buffer mapping Signed-off-by: Chris Mason commit 065631f6dccea07bfad48d8981369f6d9cfd6e2b Author: Chris Mason Date: Wed Feb 20 12:07:25 2008 -0500 Btrfs: checksum file data at bio submission time instead of during writepage When we checkum file data during writepage, the checksumming is done one page at a time, making it difficult to do bulk metadata modifications to insert checksums for large ranges of the file at once. This patch changes btrfs to checksum on a per-bio basis instead. The bios are checksummed before they are handed off to the block layer, so each bio is contiguous and only has pages from the same inode. Checksumming on a bio basis allows us to insert and modify the file checksum items in large groups. It also allows the checksumming to be done more easily by async worker threads. Signed-off-by: Chris Mason commit 0740c82bc7585a23e100c9a59d5e2abbf99459fb Author: Chris Mason Date: Tue Feb 19 16:24:18 2008 -0500 Btrfs: Properly cast before shifting Signed-off-by: Chris Mason commit d99cb30a11ea117ad0f58cda09aa43438ebbf81c Author: Chris Mason Date: Tue Feb 19 12:55:05 2008 -0500 Btrfs: Take the extent lock before dropping the delalloc bits Signed-off-by: Chris Mason commit 5e591a0703bc03047d37938586f97fd8ca960c08 Author: Yan Zheng Date: Tue Feb 19 11:41:02 2008 -0500 Btrfs: Fix looping on readdir of the subvol roots Signed-off-by: Chris Mason commit 0762704b196d41941a9b439e9165efaf85c6609e Author: Chris Mason Date: Tue Feb 19 11:29:24 2008 -0500 Btrfs: Properly clear dirty and delalloc extent bits while preparing the file for write Yan Zheng noticed that we don't clear the extent state tree dirty and delalloc bits when we clear the dirty bits on the page during file write. This leads to csum errors later on. Signed-off-by: Chris Mason commit 952fccac50350481742425cac0c80f36ba8b83f2 Author: Chris Mason Date: Mon Feb 18 16:33:44 2008 -0500 Btrfs: Remove extent back refs in batches, and avoid duplicate searches Signed-off-by: Chris Mason commit d7fc640e6fed46932f7c74e14f9b58b8637c66cf Author: Chris Mason Date: Mon Feb 18 12:12:38 2008 -0500 Btrfs: Allocator improvements Reduce CPU time searching for free blocks by optimizing find_first_extent_bit Fix find_free_extent to make better use of the last_alloc hint. Before it was often finding blocks just before the hint. Signed-off-by: Chris Mason commit 9afbb0b752ef30a429c45b9de6706e28ad1a36e1 Author: Chris Mason Date: Fri Feb 15 13:19:35 2008 -0500 Btrfs: Disable tree defrag in SSD mode Signed-off-by: Chris Mason commit df68b8a7ad4a18c9e63f1c12015a59c3b7031adb Author: David Miller Date: Fri Feb 15 10:40:52 2008 -0500 Btrfs: unaligned access fixes Btrfs set/get macros lose type information needed to avoid unaligned accesses on sparc64. ere is a patch for the kernel bits which fixes most of the unaligned accesses on sparc64. btrfs_name_hash is modified to return the hash value instead of getting a return location via a (potentially unaligned) pointer. Signed-off-by: Chris Mason commit 39b5637f6f195852259004bb27b58e2dcf9fb378 Author: Yan Date: Fri Feb 15 10:40:50 2008 -0500 Btrfs: Fix "no csum found for inode" issue. A few codes were not properly updated for changes of extent map. This may be the causes of "no csum found for inode" issue. Signed-off-by: Chris Mason commit 9069218d448ea547dbad5f1cbd537e88d6519d66 Author: Chris Mason Date: Fri Feb 8 13:49:28 2008 -0500 Btrfs: Fix i_blocks accounting Now that delayed allocation accounting works, i_blocks accounting is changed to only modify i_blocks when extents inserted or removed. The fillattr call is changed to include the delayed allocation byte count in the i_blocks result. Signed-off-by: Chris Mason commit a86c12c73d982c545a37a8ecdd66528ab260b770 Author: Chris Mason Date: Thu Feb 7 10:50:54 2008 -0500 Btrfs: Create larger bios for btree blocks Signed-off-by: Chris Mason commit 961d023213b94861480f5d6533f7adc8332eb527 Author: Chris Mason Date: Wed Feb 6 11:01:42 2008 -0500 Btrfs: Don't case unsigned long to int in bio submission Signed-off-by: Chris Mason commit 5d196fc15dbe1cc54b81801694aafe218121e054 Author: Chris Mason Date: Wed Feb 6 10:00:57 2008 -0500 Btrfs: Use 2MB as the empty_size for clustered allocations Signed-off-by: Chris Mason commit 7261009ceaee65e4683be6e474d1ea85a1b1b26c Author: Yan Date: Tue Feb 5 15:40:36 2008 -0500 btrfs_drop_extents: handle BTRFS_INODE_REF_KEY types It's possible "key.type == BTRFS_INODE_REF_KEY" and "key.offset >= end". Signed-off-by: Chris Mason commit 068fe39fa18e8921062e2e16e6aa2b46768b2a35 Author: Chris Mason Date: Tue Feb 5 10:20:17 2008 -0500 Btrfs: Add checks for last byte in disk to allocator grouping Signed-off-by: Chris Mason commit dacb473ad81d5c1650cb73d1cb9b866202f6bab0 Author: Yan Date: Tue Feb 5 09:07:49 2008 -0500 Btrfs: Fix hole creation in file_write Signed-off-by: Chris Mason commit 47b0c4f8c717890877058f30e07a30e05f74a7bb Author: Chris Mason Date: Mon Feb 4 10:10:43 2008 -0500 Btrfs: Update magic Signed-off-by: Chris Mason commit f594706643607d7d24901479e985ec62e0ce129a Author: Chris Mason Date: Mon Feb 4 10:10:13 2008 -0500 Btrfs: Add debugging for block group update failure Signed-off-by: Chris Mason commit c2e639f02cff721172569add21ba5d058fd1a81c Author: Yan Date: Mon Feb 4 08:57:25 2008 -0500 Btrfs: Fix typo in extent_io.c --- Signed-off-by: Chris Mason commit 80b6794d1153ed91a040d873396efb9bd60969fd Author: Chris Mason Date: Fri Feb 1 16:35:04 2008 -0500 Btrfs: Lower stack usage in transaction.c Signed-off-by: Chris Mason commit ae9d12853b44f4e0c06732166e8e3399ec01a680 Author: Chris Mason Date: Fri Feb 1 15:42:15 2008 -0500 Btrfs: Fix delalloc account on state deletion Signed-off-by: Chris Mason commit 2f375ab9c55bf22bf77ed9e3082b93e77ea10f55 Author: Yan Date: Fri Feb 1 14:58:07 2008 -0500 Call btrfs_cow_block while lowering tree level. When freeing root block of a tree, btrfs_free_extent' parameter 'ref_generation' is from root block itseft. When freeing non-root block, 'ref_generation' is from its parent. so when converting a non-root block to root block, we must guarantee its generation is equal to its parent's generation. Signed-off-by: Chris Mason commit 60cde612c8eb51ba79dabb4088f149c6a9802fdf Author: Chris Mason Date: Fri Feb 1 14:51:59 2008 -0500 Btrfs: Use last_alloc optimizations for metadata, even without -o ssd Signed-off-by: Chris Mason commit 21a4989d26d5ce43aac452fd67be592463a5996d Author: Chris Mason Date: Fri Feb 1 14:51:59 2008 -0500 Btrfs: Hash in the offset and owner for file extent backref keys This makes searches for backrefs and backref insertion much more efficient when there are many backrefs for a single extent Signed-off-by: Chris Mason commit 47e4bb988c853d9af79d76fc5135aee9eeffed77 Author: Chris Mason Date: Fri Feb 1 14:51:59 2008 -0500 Btrfs: Insert extent record and the first backref in a single balance Signed-off-by: Chris Mason commit 80ea96b1f3bd2431e0d71c9df6ab45c3de0c5840 Author: Chris Mason Date: Fri Feb 1 14:51:59 2008 -0500 Btrfs: Add a lookup cache to the extent state tree Signed-off-by: Chris Mason commit 4529ba495c6fd0d79247784d0df55ae6512fa883 Author: Chris Mason Date: Thu Jan 31 16:45:07 2008 -0500 Btrfs: Add data block hints to SSD mode too Signed-off-by: Chris Mason commit b0c68f8bed058d9f2023b067b16ed06a8c439544 Author: Chris Mason Date: Thu Jan 31 11:05:37 2008 -0500 Btrfs: Enable delalloc accounting Signed-off-by: Chris Mason commit 0181e58f91c1edbf835edb7a87d6dfe81374709d Author: Yan Date: Wed Jan 30 14:39:54 2008 -0500 btrfs_drop_extent fixe for inline items > 8K When truncating a inline extent, btrfs_drop_extents doesn't properly handle the case "key.offset > inline_limit". This bug can only happen when max line size is larger than 8K. Signed-off-by: Chris Mason commit 1b0f7c29e2f4f41e1367e7581d3a9c8c70f0394a Author: Chris Mason Date: Wed Jan 30 14:33:02 2008 -0500 Fix hole start calculation in btrfs_settar Signed-off-by: Chris Mason commit f392a938f3cc36a2abe68db9286bd864c3b2f7dd Author: Chris Mason Date: Wed Jan 30 11:54:05 2008 -0500 Properly align the hole size in btrfs_setattr Signed-off-by: Chris Mason commit b1632b10c0133992fd0290b4836c47661bed4396 Author: Yan Date: Wed Jan 30 11:54:04 2008 -0500 Btrfs: Align extent length to sectorsize in --- Signed-off-by: Chris Mason commit 5a01a2e3a9d4dc9cb4871dde4d832a3b8de9f748 Author: Chris Mason Date: Wed Jan 30 11:43:54 2008 -0500 Btrfs: Copy correct tree when inserting into slot 0 Signed-off-by: Chris Mason commit b3236e68bf86b3ae87f58984a1822369225211cb Author: Chris Mason Date: Tue Jan 29 16:06:37 2008 -0500 Btrfs: Leave on the tree defragger in mount -o ssd, it still helps there Signed-off-by: Chris Mason commit 6f568d35a045dbb8a13fe71bfc32e85e39a986cb Author: Chris Mason Date: Tue Jan 29 16:03:38 2008 -0500 Btrfs: mount -o max_inline=size to control the maximum inline extent size Signed-off-by: Chris Mason commit 291d673e6a22d9c6834e939f66c7cfef90669021 Author: Chris Mason Date: Tue Jan 29 15:55:23 2008 -0500 Btrfs: Do delalloc accounting via hooks in the extent_state code Signed-off-by: Chris Mason commit 9c58309d6cf22471dacbcb6de54d00cef9ca20d4 Author: Chris Mason Date: Tue Jan 29 15:15:18 2008 -0500 Btrfs: Add inode item and backref in one insert, reducing cpu usage Signed-off-by: Chris Mason commit 85e21bac165b4ba1f6f90431ad6fc658ffcbaf3a Author: Chris Mason Date: Tue Jan 29 15:11:36 2008 -0500 Btrfs: During deletes and truncate, remove many items at once from the tree Signed-off-by: Chris Mason commit 70dec8079d78691e476cc6c7cede40656078ad30 Author: Chris Mason Date: Tue Jan 29 09:59:12 2008 -0500 Btrfs: extent_io and extent_state optimizations The end_bio routines are changed to take a pointer to the extent state struct, and the state tree is walked in order to set/clear appropriate bits as IO completes. This greatly reduces the number of rbtree searches done by the end_bio handlers, and reduces lock contention. The extent_io releasepage function is changed to avoid expensive searches for locked state. Signed-off-by: Chris Mason commit aadfeb6e39ad6bde080cb3ab23f4da57ccb25f4a Author: Chris Mason Date: Tue Jan 29 09:10:27 2008 -0500 Btrfs: Add some extra debugging around file data checksum failures Signed-off-by: Chris Mason commit c2a8b6e11009398ca9363d8ba8d4e7e40fb897fd Author: Chris Mason Date: Tue Jan 29 09:10:26 2008 -0500 Btrfs: Force f_pos to the max when a readdir hits the end of the directory. Signed-off-by: Chris Mason commit bea495e5b4d9746f26cf5b4100d24c77c3dcbd84 Author: Chris Mason Date: Thu Jan 24 16:13:14 2008 -0500 Btrfs: Tune readahead during defrag to avoid reading too much at once Signed-off-by: Chris Mason commit d1310b2e0cd98eb1348553e69b73827b436dca7b Author: Chris Mason Date: Thu Jan 24 16:13:08 2008 -0500 Btrfs: Split the extent_map code into two parts There is now extent_map for mapping offsets in the file to disk and extent_io for state tracking, IO submission and extent_bufers. The new extent_map code shifts from [start,end] pairs to [start,len], and pushes the locking out into the caller. This allows a few performance optimizations and is easier to use. A number of extent_map usage bugs were fixed, mostly with failing to remove extent_map entries when changing the file. Signed-off-by: Chris Mason commit 5f56406aabdf5444d040c5955effc665b1d0dbaf Author: Chris Mason Date: Tue Jan 22 16:47:59 2008 -0500 Btrfs: Fix hole insertion corner cases There were a few places that could cause duplicate extent insertion, this adjusts the code that creates holes to avoid it. lookup_extent_map is changed to correctly return all of the extents in a range, even when there are none matching at the start of the range. Signed-off-by: Chris Mason commit c1e32da616a17813f11b701a7a87775d35c12e3a Author: Chris Mason Date: Tue Jan 22 12:46:56 2008 -0500 Btrfs: Include sched.h in the acl code for current (fixes compile on 2.6.23) Signed-off-by: Chris Mason commit ed0dab6b86cee64e9072107f65fa40629f162b38 Author: Yan Date: Tue Jan 22 12:46:56 2008 -0500 Btrfs: Add basic lockfs calls Signed-off-by: Chris Mason commit f0c5da1446cc500856a5e31c9a0e2a7bdd30e663 Author: Yan Date: Tue Jan 22 12:46:56 2008 -0500 Btrfs: Fix for test_range_bit test_range_bit doesn't properly handle the case: there's a hole at the end of the range and there's no other extent_state after the range. Signed-off-by: Chris Mason commit b17854275cd297d40c6c5562fa44a472314c6c7f Author: Yan Date: Tue Jan 22 12:46:56 2008 -0500 Fix for btrfs_find_free_objectid btrfs_find_free_objectid may return a used objectid due to arithmetic underflow. This bug may happen when parameter 'root' is tree root, so it may cause serious problems when creating snapshot or sub-volume. Signed-off-by: Chris Mason commit e18e4809b10e6c9efb5fe10c1ddcb4ebb690d517 Author: Chris Mason Date: Fri Jan 18 10:54:22 2008 -0500 Btrfs: Add mount -o ssd, which includes optimizations for seek free storage Signed-off-by: Chris Mason commit 04005cc7a1feef94237204566ccac38571af7991 Author: Chris Mason Date: Thu Jan 17 12:01:41 2008 -0500 Btrfs: Use blk_congestion_wait on older kernels Signed-off-by: Chris Mason commit fb4bc1e0565a842d704846005ac0ec739e608ede Author: Yan Date: Thu Jan 17 11:59:51 2008 -0500 Btrfs: Fix compile on 2.6.22 kernel This patch fixes compile error on kernel-2.6.22 Signed-off-by: Chris Mason commit caaca38b8fdcf63a17647fddae2195b189e19e37 Author: Yan Date: Thu Jan 17 11:59:48 2008 -0500 Btrfs: Fix compile on kernel without ACLs enabled Signed-off-by: Chris Mason commit 4d5e74bc0aec3f54b7e429d77b7c35de042c507d Author: Chris Mason Date: Wed Jan 16 16:09:22 2008 -0500 Btrfs: Fix data=ordered vs wait_on_inode deadlock on older kernels Using ilookup5 during data=ordered writeback could deadlock on I_LOCK. This saves a pointer to the inode instead. Signed-off-by: Chris Mason commit 2da98f003f4788b0a72c5f87bc55b061f65f30fa Author: Chris Mason Date: Wed Jan 16 11:44:43 2008 -0500 Btrfs: Run igrab on data=ordered inodes to prevent deadlocks during writeout Signed-off-by: Chris Mason commit 9cce6c3bfca85bf92e8c9358542a18dfa6c232be Author: Chris Mason Date: Tue Jan 15 08:44:06 2008 -0500 Btrfs: Disable delalloc accounting for now Signed-off-by: Chris Mason commit cee36a03e8f7c6e14aefd497d3acf01bcd3ef153 Author: Chris Mason Date: Tue Jan 15 08:40:48 2008 -0500 Rework btrfs_drop_inode to avoid scheduling Signed-off-by: Chris Mason commit 61295eb8665e723e77af91d0a1e655a4bd28344f Author: Chris Mason Date: Mon Jan 14 16:24:38 2008 -0500 Btrfs: Add drop inode func to avoid data=ordered deadlock Signed-off-by: Chris Mason commit 8c416c9e0d35b0462e89b76b7581127efe03b8b2 Author: Chris Mason Date: Mon Jan 14 15:10:26 2008 -0500 Btrfs: Delete any remaining extent_maps before freeing the inode Signed-off-by: Chris Mason commit b99aa6cb548ae9461c5dc0e38f88ebc618ea68d7 Author: Chris Mason Date: Mon Jan 14 14:41:16 2008 -0500 Btrfs: Only delete roots from sysfs when they were added to sysfs Signed-off-by: Chris Mason commit 69a32ac5175ec9bcfb407e8619a024e5eaea87b7 Author: Chris Mason Date: Mon Jan 14 14:33:35 2008 -0500 Btrfs: Change magic string to reflect new format Signed-off-by: Chris Mason commit fdebe2bd70047e057827cba85ba31b2545e31900 Author: Yan Date: Mon Jan 14 13:26:08 2008 -0500 Btrfs: Add readonly inode flag This patch adds readonly inode flag support. A file with this flag can't be modified, but can be deleted. Signed-off-by: Chris Mason commit 744f52f997b21de2a01931f79cf6c198bf688120 Author: Yan Date: Mon Jan 14 13:26:08 2008 -0500 Btrfs: Implement ACLs setting and getting ACLs are stored but not used for permission checks (yet) Signed-off-by: Chris Mason commit b3a0d8d28c607cb2531a68742afc2b967b1f6083 Author: Chris Mason Date: Mon Jan 14 13:22:53 2008 -0500 Btrfs: Remove verbose WARN_ON Signed-off-by: Chris Mason commit 55c69072d6bd5be170a85467f64a20963cddf490 Author: Chris Mason Date: Wed Jan 9 15:55:33 2008 -0500 Btrfs: Fix extent_buffer usage when nodesize != leafsize Signed-off-by: Chris Mason commit 21ad10cf3e9c1ef42e725e5c3a593c49f779a16b Author: Chris Mason Date: Wed Jan 9 09:23:21 2008 -0500 Btrfs: Add flush barriers on commit Signed-off-by: Chris Mason commit bcd987feefe8da66bc59b4e6bd51761a9820588c Author: Chris Mason Date: Wed Jan 9 06:28:28 2008 -0500 Btrfs: Remove extent_map debugging message Signed-off-by: Chris Mason commit b98b6767a0f6f9baa1d00eff64a43d58412ecdeb Author: Yan Date: Tue Jan 8 15:54:37 2008 -0500 Btrfs: Add inode flags support This patch adds NODATASUM & NODATACOW inode flags support. Signed-off-by: Chris Mason commit c31f8830f0dfd31e7e196b85ca1b39aef8b77d57 Author: Chris Mason Date: Tue Jan 8 15:46:31 2008 -0500 Btrfs: online shrinking fixes While shrinking the FS, the allocation functions need to make sure they don't try to allocate bytes past the end of the FS. nodatacow needed an extra check to force cows when the existing extents are past the end of the FS. Signed-off-by: Chris Mason commit b0331a4c4c339ba7786472b137d6ece9e7f810ec Author: Chris Mason Date: Tue Jan 8 15:46:31 2008 -0500 Btrfs: Disable btree reada during extent backref lookups. This reada is generally not effective. Signed-off-by: Chris Mason commit e2008b61401ecb467a8ce1788fcd2116ae1cfbc1 Author: Chris Mason Date: Tue Jan 8 15:46:30 2008 -0500 Btrfs: Add some simple throttling to wait for data=ordered and snapshot deletion Signed-off-by: Chris Mason commit 3063d29f2a4d4a4e9fa1ec77c124514f287c6da7 Author: Chris Mason Date: Tue Jan 8 15:46:30 2008 -0500 Btrfs: Move snapshot creation to commit time It is very difficult to create a consistent snapshot of the btree when other writers may update the btree before the commit is done. This changes the snapshot creation to happen during the commit, while no other updates are possible. Signed-off-by: Chris Mason commit dc17ff8f11d129db9e83ab7244769e4eae05e14d Author: Chris Mason Date: Tue Jan 8 15:46:30 2008 -0500 Btrfs: Add data=ordered support This forces file data extents down the disk along with the metadata that references them. The current implementation is fairly simple, and just writes out all of the dirty pages in an inode before the commit. Signed-off-by: Chris Mason commit e4204dedbbaa3a614605cb83cc0ac5161af6b4e6 Author: Chris Mason Date: Tue Jan 8 15:46:27 2008 -0500 Btrfs: Change tree block csum tagging to avoid false error messages Signed-off-by: Chris Mason commit 725c8463ea9bcfc2b56cff09b93a90e5bcca59c4 Author: Chris Mason Date: Fri Jan 4 16:47:16 2008 -0500 Btrfs: resizer: don't hold the fs_mutex for long periods of time Signed-off-by: Chris Mason commit 1372f8e609d260c2352bf74e125614eef7aee8ef Author: Chris Mason Date: Fri Jan 4 09:34:54 2008 -0500 Properly call btrfs_search_slot while shrinking The shrinking code used btrfs_next_leaf to find the next item, but this does not cow the blocks it touches. This fix calls search_slot after finding the next item to do appropriate cow and balancing. Signed-off-by: Chris Mason commit 2552488345ea0933711010ee2c844792130a4252 Author: Chris Mason Date: Thu Jan 3 15:44:57 2008 -0500 Btrfs: Lower the max inline size to 8k Signed-off-by: Chris Mason commit d666746207a01546e55bdaa4b721d1890faaf6e8 Author: Chris Mason Date: Thu Jan 3 14:51:00 2008 -0500 Btrfs: Change st_blocksize to 4k Some programs (python) do rwm cycles at the granularity returned by stat. Signed-off-by: Chris Mason commit 73e48b277a3fcd647f1936c71aea2f8d450ecc74 Author: Yan Date: Thu Jan 3 14:14:39 2008 -0500 Btrfs: Properly handle overlapping extent in shrink_extent_tree The patch fixes the overlapping extent issue in shrink_extent_tree. It checks whether there is an overlapping extent by using find_previous_extent. If there is an overlapping extent, it setups key.objectid and cur_byte properly. --- Signed-off-by: Chris Mason commit d548ee5182bda42c87bdd4e28b539d5e436e206a Author: Yan Date: Thu Jan 3 13:56:30 2008 -0500 Btrfs: Add a helper that finds previous extent item Signed-off-by: Chris Mason commit 5b92ee7204a5fb6542b204831202adbc1a7a851a Author: Chris Mason Date: Thu Jan 3 13:46:11 2008 -0500 Btrfs: Fix lock ordering of the snapshot semaphore against the page lock Signed-off-by: Chris Mason commit bd09835d9aad9c7b664cddc8435cc37b86077971 Author: Chris Mason Date: Thu Jan 3 13:23:19 2008 -0500 count_snapshots: Properly update the leaf pointer after btrfs_next_leaf Signed-off-by: Chris Mason commit 98ed51747b63435b9987ef12692a75c223818bbe Author: Chris Mason Date: Thu Jan 3 10:01:48 2008 -0500 Btrfs: Force inlining off in a few places to save stack usage Signed-off-by: Chris Mason commit f9ef6604ace23a6fcd698e08b58a883d6009157b Author: Chris Mason Date: Thu Jan 3 09:22:38 2008 -0500 Btrfs: 32 bit compile fixes for the resizer and enospc checks Signed-off-by: Chris Mason commit 4313b3994d719fcdeb7e661473019ca3d62e829b Author: Chris Mason Date: Thu Jan 3 09:08:48 2008 -0500 Btrfs: Reduce stack usage in the resizer, fix 32 bit compiles Signed-off-by: Chris Mason commit 56b453c92fdf51fd3283a2dc2dfbedf36f516031 Author: Chris Mason Date: Thu Jan 3 09:08:27 2008 -0500 Btrfs: Explicitly send a root objectid to count_snapshots_in_path Signed-off-by: Chris Mason commit 8f662a76c6af8eb367fa519e9bb9766040d9cea8 Author: Chris Mason Date: Wed Jan 2 10:01:11 2008 -0500 Btrfs: Add readahead to the online shrinker, and a mount -o alloc_start= for testing Signed-off-by: Chris Mason commit e52ec0eb62e76ea584c8438ef92933e9b815db80 Author: Chris Mason Date: Fri Dec 21 16:36:24 2007 -0500 Btrfs: Fix NULL block groups on reading the inode Signed-off-by: Chris Mason commit edbd8d4efe4ddaf29a175ae504e2c9a05a96ebee Author: Chris Mason Date: Fri Dec 21 16:27:24 2007 -0500 Btrfs: Support for online FS resize (grow and shrink) Signed-off-by: Chris Mason commit 5d4fb734b4cb89a3902d6de309af0f6f3e63fe73 Author: Chris Mason Date: Fri Dec 21 16:27:23 2007 -0500 Btrfs: Fix an off by one in the extent_map prepare write code Signed-off-by: Chris Mason commit 1832a6d5ee3b1af61001cadba9e10da9e91af4a4 Author: Chris Mason Date: Fri Dec 21 16:27:21 2007 -0500 Btrfs: Implement basic support for -ENOSPC This is intended to prevent accidentally filling the drive. A determined user can still make things oops. It includes some accounting of the current bytes under delayed allocation, but this will change as things get optimized Signed-off-by: Chris Mason commit 01f466580502c57001bf80fff709479fdb9e87a5 Author: Chris Mason Date: Fri Dec 21 16:24:26 2007 -0500 Btrfs: Less aggressive readahead on deletes Signed-off-by: Chris Mason commit 879c1cfc3104b632dea85d07490f1b55e54275a9 Author: Chris Mason Date: Wed Dec 19 09:11:48 2007 -0500 Btrfs: Fix nodatacow extent lookup Yan Zheng noticed the offset into the extent was incorrectly being added to the extent start before trying to find it in the extent allocation tree. Signed-off-by: Chris Mason commit 190662b2128dd648749e197f5563e9f6bbb5e05c Author: Chris Mason Date: Tue Dec 18 16:25:45 2007 -0500 Btrfs: Fix delayed allocation to avoid missing delalloc extents find_lock_delalloc_range could exit out too early Signed-off-by: Chris Mason commit 4aec2b52327b3a3a20faa3f1af3102c0d97c7c92 Author: Chris Mason Date: Tue Dec 18 16:25:45 2007 -0500 kmalloc a few large stack objects in the btrfs_ioctl path Signed-off-by: Chris Mason commit 6da6abae027e2dbc59bca5f4168b0760f25068c7 Author: Chris Mason Date: Tue Dec 18 16:15:09 2007 -0500 Btrfs: Back port to 2.6.18-el kernels Signed-off-by: Chris Mason commit c59f8951d48c5eb000926935f3ab063d8181d1ee Author: Chris Mason Date: Mon Dec 17 20:14:04 2007 -0500 Btrfs: Add mount option to enforce a max extent size Signed-off-by: Chris Mason commit d10c5f31c79c6a703974ae29d0a05781b828fe30 Author: Chris Mason Date: Mon Dec 17 20:14:04 2007 -0500 Btrfs: Fix extent_map and extent_state leaks by flushing lrus on FS unmount Signed-off-by: Chris Mason commit be20aa9dbadc8c06283784ee12bbc0d97dea3418 Author: Chris Mason Date: Mon Dec 17 20:14:01 2007 -0500 Btrfs: Add mount option to turn off data cow A number of workloads do not require copy on write data or checksumming. mount -o nodatasum to disable checksums and -o nodatacow to disable both copy on write and checksumming. In nodatacow mode, copy on write is still performed when a given extent is under snapshot. Signed-off-by: Chris Mason commit b6cda9bcb4df7544c67fc3548a53bc1607d59f46 Author: Chris Mason Date: Fri Dec 14 15:30:32 2007 -0500 Btrfs: Add mount -o nodatasum to turn of file data checksumming Signed-off-by: Chris Mason commit e9906a98497c26a3c1a7532b51b81cc1fbdf9e1d Author: Chris Mason Date: Fri Dec 14 12:56:58 2007 -0500 Fixes for loopback files in btrfs Signed-off-by: Chris Mason commit 6e3b96668eb34da6060a5189e6a73e9d62a3b178 Author: Yan Date: Fri Dec 14 11:14:42 2007 -0500 Off by one fix for btrfs_drop_extents One of my old patches introduces a new bug to btrfs_drop_extents(changeset 275). Inline extents are not truncated properly when "extent_end == end", it can trigger the BUG_ON at file.c:600. I hope I don't introduce new bug this time. --- Signed-off-by: Chris Mason commit f6dbff55d77dee363c22873481db54d3bada3ea6 Author: Chris Mason Date: Thu Dec 13 11:13:32 2007 -0500 Btrfs: Reorder extent back refs to differentiate btree blocks from file data Signed-off-by: Chris Mason commit 6caab489c5866788ae64a72986520b1f0e40c706 Author: Chris Mason Date: Thu Dec 13 09:48:07 2007 -0500 Fix btrfs_inc_ref to add backref hints Signed-off-by: Chris Mason commit 7a7205367dfd9adf129f0ebc7d040a557fe0d1ba Author: Chris Mason Date: Thu Dec 13 09:06:59 2007 -0500 Btrfs: Fix typo in .. check (thanks Yan) Signed-off-by: Chris Mason commit 76fea00a0522185658b733d441d6ec049344456b Author: Chris Mason Date: Thu Dec 13 09:06:01 2007 -0500 Btrfs: Add backrefs for symbolic link inodes Signed-off-by: Chris Mason commit 70b043f0c7d7c78d8a0a01e65067c7c8fe338485 Author: Chris Mason Date: Thu Dec 13 09:02:46 2007 -0500 Btrfs: Extra NULL block group checks in find_free_extent Signed-off-by: Chris Mason commit 3954401fa6013bb2f2c8758b903e9bffcf25b64b Author: Chris Mason Date: Wed Dec 12 14:38:19 2007 -0500 Btrfs: Add back pointers from the inode to the directory that references it Signed-off-by: Chris Mason commit d8d5f3e16d1ae4fe9b93312e083f2c04a95520f0 Author: Chris Mason Date: Tue Dec 11 12:42:00 2007 -0500 Btrfs: Add lowest key information to back refs for extent tree blocks as well. Signed-off-by: Chris Mason commit 7bb86316c3961d1bc401ef184fd996f999556c7f Author: Chris Mason Date: Tue Dec 11 09:25:06 2007 -0500 Btrfs: Add back pointers from extents to the btree or file referencing them Signed-off-by: Chris Mason commit 74493f7a59bfd4d1c7029c74ab2cd0e400612c6b Author: Chris Mason Date: Tue Dec 11 09:25:06 2007 -0500 Btrfs: Implement generation numbers in block pointers Signed-off-by: Chris Mason commit 17636e03f42a1a42fed3834859de4702bd655fd1 Author: Christian Hesse Date: Tue Dec 11 09:25:06 2007 -0500 Btrfs: section mismatch warnings --Boundary-00=_CcOWHFYK4T+JwSj Content-Type: text/plain; charset="iso-8859-1" Content-Transfer-Encoding: 7bit Content-Disposition: inline Hello everybody, compiling btrfs into the kernel results in section mismatch warnings. __exit functions are called where they are not allowed to. The attached patch fixes this for me. Not sure if it is correct though. Signed-off-by: Christian Hesse -- Regards, Chris --Boundary-00=_CcOWHFYK4T+JwSj Content-Type: text/x-diff; charset="iso-8859-1"; name="btrfs-section_mismatches.patch" Content-Transfer-Encoding: 7bit Content-Disposition: attachment; filename="btrfs-section_mismatches.patch" Signed-off-by: Chris Mason commit 9691975dd663b255fa52404dc7de4b18892bf244 Author: Yan Date: Tue Dec 4 13:20:20 2007 -0500 Btrfs: Fix buffer get/release issue in create_snapshot btrfs_cow_block expects a reference to be held on the buffer being cow'd. Signed-off-by: Chris Mason commit 1a2b2ac78a4151a49267a1e3f48a131f5810814e Author: Chris Mason Date: Tue Dec 4 13:18:24 2007 -0500 Btrfs: Fix extent allocation for btree blocks as the disk fills Signed-off-by: Chris Mason commit 87ee04eb0f2f0c63314cef4a76bd1adac748425e Author: Chris Mason Date: Fri Nov 30 11:30:34 2007 -0500 Btrfs: Add simple stripe size parameter Signed-off-by: Chris Mason commit 00f5c795fca47d038fedd3f0c9311da3be710c9f Author: Chris Mason Date: Fri Nov 30 10:09:33 2007 -0500 btrfs_drop_extents: make sure the item is getting smaller before truncate Signed-off-by: Chris Mason commit ca6646264b7dab662d84435441164bb2a8e8885a Author: Chris Mason Date: Tue Nov 27 11:16:35 2007 -0500 Btrfs: Add efficient dirty accounting to the extent_map tree Signed-off-by: Chris Mason commit 448d640b668dae3928591e83f2bf4ca9f4c06e52 Author: Chris Mason Date: Tue Nov 27 07:52:01 2007 -0800 Btrfs: Fine tune the btree writeback exclusion some more Signed-off-by: Chris Mason commit 8790bad7fb5ac4929dcd52c5dd8d6b81f8c05be8 Author: Chris Mason Date: Mon Nov 26 19:47:05 2007 -0500 Btrfs: Only limit btree writeback for pdflush Signed-off-by: Chris Mason commit 793955bca66c99defdffc857ae6eb7e8431d6bbe Author: Chris Mason Date: Mon Nov 26 16:34:41 2007 -0800 Btrfs: Limit btree writeback to prevent seeks Signed-off-by: Chris Mason commit 015a739c7c238768fbfa4eea8ea2ebc1a35e7bb1 Author: Chris Mason Date: Mon Nov 26 16:15:16 2007 -0800 Btrfs: Handle writeback under high memory pressure better Signed-off-by: Chris Mason commit eef1c494a2d4212e13c67d05e9cc3cd1e6dfed5d Author: Yan Date: Mon Nov 26 10:58:13 2007 -0500 Btrfs: Properly update right_nritems in push_leaf_left The codes that fixup the right leaf and the codes that dirty the extnet buffer use the variable 'right_nritems' , both of them expect 'right_nritems' is the number of items in right leaf after the push. Signed-off-by: Chris Mason commit 0e4de58432f552c0ecead965b0fad8a9fb1d31ec Author: Chris Mason Date: Mon Nov 26 10:55:49 2007 -0500 Btrfs: Add check for null block group to find_search_start Signed-off-by: Chris Mason commit 7073c8e852946274e4d50fdf072438612f9dc845 Author: Chris Mason Date: Tue Nov 20 13:44:45 2007 -0500 Btrfs: Make sure page mapping dirty tag is properly cleared Signed-off-by: Chris Mason commit 3e9fd94ff0028a044d55690eb0a801fd1472e3c6 Author: Chris Mason Date: Tue Nov 20 10:47:25 2007 -0500 Btrfs: Avoid fragmentation from parallel delalloc filling Signed-off-by: Chris Mason commit 2f4cbe6442d3be7b5e4cf1607a5ab33995fe2d25 Author: Wyatt Banks Date: Mon Nov 19 10:22:33 2007 -0500 Btrfs: Return value checking in module init Signed-off-by: Chris Mason commit 3acd7ee876c508973eb4722de5b00b3dff4c7372 Author: Josef Bacik Date: Mon Nov 19 10:18:19 2007 -0500 Btrfs: xattr fixes This fixes two typos that Yan pointed out to me. Thanks much, Signed-off-by: Chris Mason commit 1caf9342fc71d020e788a59598a44d4ea0136b36 Author: Josef Bacik Date: Mon Nov 19 10:18:17 2007 -0500 Btrfs: Make ACLs return EOPNOTSUPP for now There was a slight problem with ACL's returning EINVAL when you tried to set an ACL. This isn't correct, we should be returning EOPNOTSUPP, so I did a very ugly thing and just commented everybody out and made them return EOPNOTSUPP. This is only temporary, I'm going back to implement ACL's, but Chris wants to push out a release so this will suffice for now. Also Yan suggested setting reada to -1 in the delete case to enable backwards readahead, and in the listxattr case I moved path->reada = 2; to after the if (!path) check so we can avoid a possible null dereference. Thank you, Signed-off-by: Chris Mason commit 5cf664263b05beb080bf95037e4c3bd50c80b096 Author: Yan Date: Fri Nov 16 14:57:09 2007 -0500 Btrfs: Off by one fixes for extent-tree.c Signed-off-by: Chris Mason commit 5e5745dcaf73c5860a16c09572d59383ecee6d28 Author: Yan Date: Fri Nov 16 14:57:09 2007 -0500 Btrfs: Add full_scan parameter to find_search_start This patch adds a new parameter 'full_scan' to 'find_search_start', thereby 'find_search_start' can know whether 'find_free_extent' is in full scan phrase. I feel that 'find_search_start' should skip calling 'btrfs_find_block_group' when 'find_free_extent' is in full scan phrase. In my test on a 2GB volume, Oops occurs when space usage is about 76%. After apply the patch, Oops occurs when space usage is near 100%. Signed-off-by: Chris Mason commit 324ae4df00fdc1a6a179bf584d8addf027bb75fb Author: Yan Date: Fri Nov 16 14:57:08 2007 -0500 Btrfs: Add block group pinned accounting back This patch adds a helper function 'update_pinned_extents' to extent-tree.c. The usage of the helper function is similar to 'update_block_group', the last parameter of the function indicates pin vs unpin. Signed-off-by: Chris Mason commit 5103e947b9b7ac18ddb21a04ee3486e94c6504d7 Author: Josef Bacik Date: Fri Nov 16 11:45:54 2007 -0500 xattr support for btrfs Signed-off-by: Chris Mason commit 0591fb56fb732c7bf500d1446d0bf927046d7002 Author: Chris Mason Date: Sun Nov 11 08:22:00 2007 -0500 Btrfs: Fix extent bit range testing It could return the bit as set when there was actually a hole at the very end of the range. Signed-off-by: Chris Mason commit 3ab2fb5a8cb003897016b6eb38ddad916226c1b2 Author: Chris Mason Date: Thu Nov 8 10:59:22 2007 -0500 Btrfs: Add readpages support Signed-off-by: Chris Mason commit 856bf3e592f917e7d663cb7fa93e83fe795e8f4e Author: Chris Mason Date: Thu Nov 8 10:59:05 2007 -0500 Btrfs: Avoid extent_buffer lru corruption Signed-off-by: Chris Mason commit 257d0ce36f215937602eb5c1b328b69afaf3bcd8 Author: Chris Mason Date: Wed Nov 7 21:08:16 2007 -0500 Btrfs: Allow large data extents in a single file to span into metadata block groups Signed-off-by: Chris Mason commit 09be207d1ba224531a61de9afdc07a125e45318c Author: Chris Mason Date: Wed Nov 7 21:08:16 2007 -0500 Btrfs: Fix failure cleanups when allocating extent buffers fail Signed-off-by: Chris Mason commit 0da5468f4724a59e745d938395beffe830c424ee Author: Chris Mason Date: Wed Nov 7 21:08:01 2007 -0500 Btrfs: Use writepages for the metadata too Signed-off-by: Chris Mason commit 008630c17cc5654e141c7fd24a3e737de643fec1 Author: Yan Date: Wed Nov 7 13:31:09 2007 -0500 Properly delete csum item in btrfs_truncate_in_trans. When 'item_end' is equal to 'inode->i_size', 'found_type' is updated and current item is skipped. This behavior is correct for extent item, but incorrect for csum item. For example, there is a csum item with 'offset == 0'. When deleting the inode, 'inode->i_size' is set to 0, so the csum item isn't deleted. Signed-off-by: Chris Mason commit 34a3821873aeabff2607c8093bce82cd1fbcfd60 Author: Chris Mason Date: Wed Nov 7 13:31:03 2007 -0500 Btrfs: Change push_leaf_{leaf,right} to empty the src leave during item deletion Signed-off-by: Chris Mason commit e644d021e328d3902559e5db687383f2da85993c Author: Chris Mason Date: Tue Nov 6 15:09:29 2007 -0500 Fix recursive KM_USER1 usage in btrfs_realloc_node Signed-off-by: Chris Mason commit f84a8b362d9785ca1fa0598d8a90f35184bd8750 Author: Chris Mason Date: Tue Nov 6 10:26:29 2007 -0500 Btrfs: Optimize allocations as we need to mix data and metadata into one group Signed-off-by: Chris Mason commit a273208edd55463b3bcd8b77a6fe8ba54afc6940 Author: Yan Date: Tue Nov 6 10:26:28 2007 -0500 Fix EXTENT_MAP_INLINE off by one in btrfs_drop_extents Don't set hint_byte to EXTENT_MAP_INLINE when 'end == extent_end' or 'start == key.offset' . The inline extent will be truncated in these cases. Signed-off-by: Chris Mason commit dcfec0dcb1b1a037fb26177789e8f108bc429cb3 Author: Yan Date: Tue Nov 6 10:26:26 2007 -0500 Btrfs: Fix u32 overflow in dirty_and_release_pages. When calculating the size of inline extent, inode->i_size should also be take into consideration, otherwise sys_write may drop some data silently. You can test this bug by: #dd if=/dev/zero bs=4k count=1 of=test_file #dd if=/dev/zero bs=2k count=1 of=test_file conv=notrunc Signed-off-by: Chris Mason commit 081e95736d9118a96e9f6dcc5cec02dc75c9e1cb Author: Chris Mason Date: Tue Nov 6 10:26:24 2007 -0500 Btrfs: Make defrag check nodes against the progress key to prevent repeating work Signed-off-by: Chris Mason commit c549228ff63498025bf0b065c5a5909a06f21647 Author: Yan Date: Tue Nov 6 10:25:25 2007 -0500 Btrfs: Properly update free space cache in __free_extent When pin_down_bytes decides not to pin a block because it was from the current transaction, make sure the in memory cache of free extents is updated Signed-off-by: Chris Mason commit b293f02e1423f2099744f3ade23ddd83b65321fc Author: Chris Mason Date: Thu Nov 1 19:45:34 2007 -0400 Btrfs: Add writepages support Signed-off-by: Chris Mason commit 944746ec7575258475958d858cdf3a0e4c8f7b9e Author: Yan Date: Thu Nov 1 11:28:42 2007 -0400 Btrfs: small fixes for find_lock_delalloc_range. There is a 'finish_wait', but no 'prepare_to_wait' . So I think that the 'prepare_to_wait' is missing. The second change is according to the name of variable. Signed-off-by: Chris Mason commit b97f9203b4d672c06eca50a1b1b99e4f69e1daf8 Author: Yan Date: Thu Nov 1 11:28:41 2007 -0400 Btrfs: Fix typo and memory leak in extent-tree.c This patch fixes a typo in update_block_group and memory leak in btrfs_free_block_groups. Signed-off-by: Chris Mason commit 179e29e488cc74f1e9bd67bc45f70b832740e9ec Author: Chris Mason Date: Thu Nov 1 11:28:41 2007 -0400 Btrfs: Fix a number of inline extent problems that Yan Zheng reported. The fixes do a number of things: 1) Most btrfs_drop_extent callers will try to leave the inline extents in place. It can truncate bytes off the beginning of the inline extent if required. 2) writepage can now update the inline extent, allowing mmap writes to go directly into the inline extent. 3) btrfs_truncate_in_transaction truncates inline extents 4) extent_map.c fixed to not merge inline extent mappings and hole mappings together Signed-off-by: Chris Mason commit 35ebb934bd7fcc7ca991b155b7980c3c4ff9f1a5 Author: Chris Mason Date: Tue Oct 30 16:56:53 2007 -0400 Btrfs: Fix PAGE_CACHE_SHIFT shifts on 32 bit machines Signed-off-by: Chris Mason commit 2ff3e9b61d02b03e3157f7d43ba20ee1452814de Author: Chris Mason Date: Mon Oct 29 14:36:41 2007 -0400 Add O_SYNC support to btrfs_file_write Signed-off-by: Chris Mason commit b56baf5bedccd3258643b09289f17ceab3ddea52 Author: Yan Date: Mon Oct 29 12:01:05 2007 -0400 Minor fix for btrfs_csum_file_block. Execution should goto label 'insert' when 'btrfs_next_leaf' return a non-zero value, otherwise the parameter 'slot' for 'btrfs_item_key_to_cpu' may be out of bounds. The original codes jump to label 'insert' only when 'btrfs_next_leaf' return a negative value. Signed-off-by: Chris Mason commit 689f9346612d96ab93890160cf2fe0df5217ab73 Author: Yan Date: Mon Oct 29 11:41:07 2007 -0400 Fix inline extent handling in btrfs_get_extent 1. Reorder kmap and the test for 'page != NULL' 2. Zero-fill rest area of a block when inline extent isn't big enough. 3. Do not insert extent_map into the map tree when page == NULL. (If insert the extent_map into the map tree, subsequent read requests will find it in the map tree directly and the corresponding inline extent data aren't copied into page by the the get_extent function. extent_read_full_page can't handle that case) Signed-off-by: Chris Mason commit c67cda1758130f3e437744c4c2ec4a7cc25564e3 Author: Yan Date: Mon Oct 29 11:41:05 2007 -0400 Btrfs: Fix extent_map leak in extent_bmap Signed-off-by: Chris Mason commit 44ec0b7179b9bce7df1080370f51314a24a00216 Author: Chris Mason Date: Mon Oct 29 10:55:05 2007 -0400 Btrfs: Compile fixes for 2.6.24-rc1 Signed-off-by: Chris Mason commit 134d45120164141c0847daf5222aaec77e04724a Author: Yan Date: Thu Oct 25 15:49:25 2007 -0400 Fix ENOTEMPTY check in btrfs_rmdir The ENOTEMPTY check in btrfs_rmdir isn't reliable. It's possible that the backward search finds . or .. at first, then some other directory entry. In that case, btrfs_rmdir delete . or .. improperly. The patch also fixes a fs_mutex unlock issue in btrfs_rmdir. -- Signed-off-by: Chris Mason commit 0d9f7f3e27a92b07212090a1772fdbb3a92fef81 Author: Yan Date: Thu Oct 25 15:48:28 2007 -0400 btrfs_inode_by_name return random value. When inode is found, the return value is from the uninitialized variable 'ret'. -- Signed-off-by: Chris Mason commit 5708b9591617486bf1aa5b1a97f2c0549ec87933 Author: Chris Mason Date: Thu Oct 25 15:43:18 2007 -0400 Btrfs: Tune the automatic defrag code 1) Forced defrag wasn't working properly (btrfsctl -d) because some cache only checks were incorrect. 2) Defrag only the leaves unless in forced defrag mode. 3) Don't use complex logic to figure out if a leaf is needs defrag Signed-off-by: Chris Mason commit 18f16f7ba62a01c29e09b40ac6ad6d92a8955859 Author: Yan Date: Thu Oct 25 15:42:57 2007 -0400 Btrfs: Fix for insert_inline_extent to handle offset != 0 This modifies inline extent size calculation, so that insert_inline_extent can handle the case that parameter 'offset' is not zero; it also a few codes to zero uninitialized area in inline extent. Signed-off-by: Chris Mason commit cc0c55384796b422133ff1f21646835b31590f88 Author: Chris Mason Date: Thu Oct 25 15:42:57 2007 -0400 Btrfs: Fix split_leaf to detect when it is extending an item When making room for a new item, it is ok to create an empty leaf, but when making room to extend an item, split_leaf needs to make sure it keeps the item we're extending in the path and make sure we don't end up with an empty leaf. Signed-off-by: Chris Mason commit 65555a06b4d1ae116ce223dc4b82d6068b36df96 Author: Yan Date: Thu Oct 25 15:42:57 2007 -0400 Btrfs: Off by one fixes in extent_map.c Signed-off-by: Chris Mason commit f578d4bd7e141dd03ca7e8695c1cc118c326e69e Author: Chris Mason Date: Thu Oct 25 15:42:56 2007 -0400 Btrfs: Optimize csum insertion to create larger items when possible This reduces the number of calls to btrfs_extend_item and greatly lowers the cpu usage while writing large files. Signed-off-by: Chris Mason commit 5ee78ac70f6c01f2a5acf662c2af975665710edc Author: Chris Mason Date: Fri Oct 19 14:01:21 2007 -0400 Btrfs: Fix split_leaf to avoid incorrect double splits Signed-off-by: Chris Mason commit ff190c0c004d8e51195c7bcf5a8490aeefccbce0 Author: Chris Mason Date: Fri Oct 19 10:39:41 2007 -0400 Btrfs: Avoid recursive KM_USER1 mappings in copy_extent_buffer Signed-off-by: Chris Mason commit 3685f791659c9f21b763ee1702ac8ca58bc20f81 Author: Chris Mason Date: Fri Oct 19 09:23:27 2007 -0400 Btrfs: CPU usage optimizations in push and the extent_map code Signed-off-by: Chris Mason commit 59d169e2b3d69ba0beca0fa0936789080c8d61a9 Author: Chris Mason Date: Fri Oct 19 09:23:09 2007 -0400 Btrfs: Fix read/write_extent_buffer to use KM_USER1 instead of KM_USER0 This avoids recursive use of KM_USER0 during btrfs_file_write Signed-off-by: Chris Mason commit b4a2a0edfda5a721bb4c5fa0068d2ad7ea67f98b Author: Jens Axboe Date: Fri Oct 19 09:23:08 2007 -0400 Btrfs: sysfs compile fixup Just use kobject_set_name(), that works in all kernels (I think...). Kernels newer than 2.6.23 currently fail with: /home/axboe/git/btrfs/btrfs-unstable/sysfs.c:188: error: unknown field 'name' specified in initializer Signed-off-by: Chris Mason commit bbf0d0062da2b3e1e239e381f8ac20971ef1b2ed Author: Jens Axboe Date: Fri Oct 19 09:23:07 2007 -0400 Btrfs: KM_IRQ0 usage in end_io handling endio handling is typically called with interrupts disabled, but can also be called with it enabled. So save interrupts before using KM_IRQ0 to be completely safe. Signed-off-by: Chris Mason commit 0a2118dfd4c328e8823cdcfebf839dff73ac21e9 Author: Jens Axboe Date: Fri Oct 19 09:23:05 2007 -0400 Btrfs: Fix bi_end_io() functions on > 2.6.23 kernels It now returns void and it is never called for partial completions, so the bio->bi_size check must go. Signed-off-by: Chris Mason commit ae2f5411c4ce7180cca8418853db50c8e52d40db Author: Jens Axboe Date: Fri Oct 19 09:22:59 2007 -0400 btrfs: 32-bit type problems An assorted set of casts to get rid of the warnings on 32-bit archs. Signed-off-by: Chris Mason commit 44b36eb20bb60d7da1375c1fb45784740a4dc358 Author: Yan Zheng Date: Fri Oct 19 09:22:56 2007 -0400 Btrfs: Properly setup root key while reading the root Signed-off-by: Chris Mason commit 6d7231f7d33fc14f2d41abc3b9cb28dcb208735d Author: Chris Mason Date: Fri Oct 19 09:22:49 2007 -0400 Btrfs: Fix typo: owner is a 64 bit field Signed-off-by: Chris Mason commit 7936ca3883e5fef8ce5cc367a4356ad5fed67180 Author: Chris Mason Date: Fri Oct 19 09:22:41 2007 -0400 Btrfs: Default to 8k max packed tails Signed-off-by: Chris Mason commit a6b6e75e096f436f0cc56edf5bca96301e194491 Author: Chris Mason Date: Mon Oct 15 16:22:39 2007 -0400 Btrfs: Defrag only leaves, and only when the parent node has a single objectid This allows us to defrag huge directories, but skip the expensive defrag case in more common usage, where it does not help as much. Signed-off-by: Chris Mason commit ff79f8190b6e955ff7a71faf804a3017d526e657 Author: Chris Mason Date: Mon Oct 15 16:22:25 2007 -0400 Btrfs: Add back file data checksumming Signed-off-by: Chris Mason commit cf786e79e3f96f4bc037c69e1a7afb5fb85c6111 Author: Chris Mason Date: Mon Oct 15 16:22:11 2007 -0400 Btrfs: Defrag: only walk into nodes with the defrag bit set Signed-off-by: Chris Mason commit 304fced668079ce222200d5742657d34cc44af09 Author: Chris Mason Date: Mon Oct 15 16:21:17 2007 -0400 Btrfs: balance_dirty_pages_ratelimited is causing problems, use nr == 1 always Signed-off-by: Chris Mason commit 0f1ebbd159baade0417f8f62f0cd6810cc950832 Author: Chris Mason Date: Mon Oct 15 16:19:46 2007 -0400 Btrfs: Large block related defrag optimizations Signed-off-by: Chris Mason commit 19c00ddcc31ad4bdfb86b57085e06d6135b9b1d7 Author: Chris Mason Date: Mon Oct 15 16:19:22 2007 -0400 Btrfs: Add back metadata checksumming Signed-off-by: Chris Mason commit 0f82731fc56448c2733f58e1f5db6c2cbfc90652 Author: Chris Mason Date: Mon Oct 15 16:18:56 2007 -0400 Breakout BTRFS_SETGET_FUNCS into a separate C file, the inlines were too big. Signed-off-by: Chris Mason commit 810191ff3087e8143b41a944fcf4fd8c693f00e3 Author: Chris Mason Date: Mon Oct 15 16:18:55 2007 -0400 Btrfs: extent_map optimizations to cut down on CPU usage Signed-off-by: Chris Mason commit 3326d1b07c0cb6a2ff5b835b7a2cffa54124d074 Author: Chris Mason Date: Mon Oct 15 16:18:25 2007 -0400 Btrfs: Allow tails larger than one page Signed-off-by: Chris Mason commit 4dc119046d0d8501afa4346472917fb05586ad9c Author: Chris Mason Date: Mon Oct 15 16:18:14 2007 -0400 Btrfs: Add an extent buffer LRU to reduce radix tree hits Signed-off-by: Chris Mason commit e19caa5f0e34b571ed0c2617554af5c43cb124d1 Author: Chris Mason Date: Mon Oct 15 16:17:44 2007 -0400 Btrfs: Fix allocation routines to avoid intermixing data and metadata allocations Signed-off-by: Chris Mason commit 6b80053d02be41886344b5007d04e345311ec0b5 Author: Chris Mason Date: Mon Oct 15 16:17:34 2007 -0400 Btrfs: Add back the online defragging code Signed-off-by: Chris Mason commit 09e71a326341f40111400c88aaf0498ef622824b Author: Chris Mason Date: Mon Oct 15 16:17:04 2007 -0400 Btrfs: Use an array of pages in the extent buffers to reduce the cost of find_get_page Signed-off-by: Chris Mason commit 14048ed0c415b8729b194e92c16d31c61628d216 Author: Chris Mason Date: Mon Oct 15 16:16:28 2007 -0400 Btrfs: Cache extent buffer mappings Signed-off-by: Chris Mason commit db94535db75e67fab12ccbb7f5ee548e33fed891 Author: Chris Mason Date: Mon Oct 15 16:15:53 2007 -0400 Btrfs: Allow tree blocks larger than the page size Signed-off-by: Chris Mason commit 1a5bc167f6707542b79a55452075525620ed43f5 Author: Chris Mason Date: Mon Oct 15 16:15:26 2007 -0400 Btrfs: Change the remaining radix trees used by extent-tree.c to extent_map trees Signed-off-by: Chris Mason commit 96b5179d0d9b6368c203856f2ad6e8e12a8b2a2c Author: Chris Mason Date: Mon Oct 15 16:15:19 2007 -0400 Btrfs: Stop using radix trees for the block group cache Signed-off-by: Chris Mason commit f510cfecfc98759d75283823cfccf0cc0d59a4c6 Author: Chris Mason Date: Mon Oct 15 16:14:48 2007 -0400 Btrfs: Fix extent_buffer and extent_state leaks Signed-off-by: Chris Mason commit ae5252bd51a252b7b8b02289337c36774835101c Author: Chris Mason Date: Mon Oct 15 16:14:41 2007 -0400 Btrfs: Go back to kmaps instead of page_address in extent_buffers Signed-off-by: Chris Mason commit 6d36dcd48f1e4e7446d603a3df9638bd314a182d Author: Chris Mason Date: Mon Oct 15 16:14:37 2007 -0400 Btrfs: Avoid memcpy where possible in extent_buffers Signed-off-by: Chris Mason commit 479965d66e320f1a095bb76027171daa675a9c72 Author: Chris Mason Date: Mon Oct 15 16:14:27 2007 -0400 Btrfs: Optimizations for the extent_buffer code Signed-off-by: Chris Mason commit 5f39d397dfbe140a14edecd4e73c34ce23c4f9ee Author: Chris Mason Date: Mon Oct 15 16:14:19 2007 -0400 Btrfs: Create extent_buffer interface for large blocksizes Signed-off-by: Chris Mason commit 50b78c24d594e6985f36a9a8d8e2fb74e1664e90 Author: Chris Mason Date: Thu Sep 20 14:14:42 2007 -0400 btrfs_get_extent should treat inline extents as though they hold a whole block Signed-off-by: Chris Mason commit b3cfa35a493866cffd00952438b6c77364d42d3c Author: Christoph Hellwig Date: Mon Sep 17 11:25:58 2007 -0400 Btrfs: factor page private preparations into a helper Signed-off-by: Christoph Hellwig Signed-off-by: Chris Mason commit 8e1cd766643f040fd88b9c4221353a3f6b77db1e Author: Yan Date: Mon Sep 17 11:13:12 2007 -0400 Btrfs: Fix double free and off by one in inode.c The first change removes potential double free, the second fix a off by one error. Signed-off-by: Chris Mason commit bab9fb035faa5119991b64cfee1b14c1d6f6a31b Author: Yan Date: Mon Sep 17 11:13:11 2007 -0400 Btrfs: truncate: don't update inode->i_blocks when extent is a hole I think check whether extent is a hole before update 'inode->i_blocks' is unconditional required. (original codes check it only when del_item isn't equal to 0) Signed-off-by: Chris Mason commit 23223584e44cb1b0b69ba3a9ad74956f292a416b Author: Yan Date: Mon Sep 17 11:08:52 2007 -0400 create btrfs_path slab with the correct size Signed-off-by: Chris Mason commit a61721d5b771d1735415a6b4c75409ab1fc9c845 Author: Yan Date: Mon Sep 17 11:08:38 2007 -0400 fix found_type decrement in btrfs_truncate_in_trans found_type has already been decreased by codes above the change, I think decrease it by one again doesn't make sense. Signed-off-by: Chris Mason commit cf67582bb2ec364d71b3e4f8e49de98d8c3c832e Author: Chris Mason Date: Mon Sep 17 11:00:51 2007 -0400 Btrfs: Fix duplicate ENOSPC checks in find_free_extent find_free_extent would fail to wrap around to the start of the drive because it was doing the enospc case checking twice in some cases, causing it to return -ENOSPC early. Signed-off-by: Chris Mason commit d3c2fdcf7b79079f60ac64e61d886964d4647910 Author: Chris Mason Date: Mon Sep 17 10:58:06 2007 -0400 Btrfs: Use balance_dirty_pages_nr on btree blocks btrfs_btree_balance_dirty is changed to pass the number of pages dirtied for more accurate dirty throttling. This lets the VM make better decisions about when to force some writeback. Signed-off-by: Chris Mason commit 6918bc5c830e890681eabb3c6cb6b8d117a52d14 Author: Peter Zijlstra Date: Tue Sep 23 15:33:41 2008 +0200 lockstat: fixup signed division Some recent modification to this code made me notice the little todo mark. Now that we have more elaborate 64-bit division functions this isn't hard. Signed-off-by: Peter Zijlstra Signed-off-by: Ingo Molnar commit 9b9b181ce53ef387dfe3df9316bbc641fca13d51 Merge: fb71e45 72d3105 Author: Ingo Molnar Date: Tue Sep 23 16:19:26 2008 +0200 Merge commit 'v2.6.27-rc7' into core/locking commit fb71e45338453698bd7460f7e8f171ea0304d218 Author: Hiroshi Shimamoto Date: Mon Sep 15 18:04:26 2008 -0700 uaccess: fix parameters inversion for __copy_from_user_inatomic() The following patch changes to use __copy_from_user_inatomic(), but the passing parameters incorrect: x86: some lock annotations for user copy paths, v3 This fixes the netfilter crash reported by Steven Noonan. Reported-by: Steven Noonan Signed-off-by: Hiroshi Shimamoto Tested-by: Steven Noonan Signed-off-by: Ingo Molnar commit 30742d5c2277c325fb0e9d2d817d55a19995fe8f Author: Ingo Molnar Date: Sun Sep 14 14:43:39 2008 +0200 Revert "lockdep: fix compilation when CONFIG_TRACE_IRQFLAGS_SUPPORT is not set" This reverts commit bd8fbdee6562ee526f3c2582a3b373ef195015dd. This broke the powerpc build - more fixes are needed before we can undo this revert. commit 53b9d87f41a3d8838210ad7cdef02d814817ce85 Author: Andrew Morton Date: Thu Sep 11 17:02:58 2008 -0700 lock debug: sit tight when we are already in a panic in: > http://bugzilla.kernel.org/show_bug.cgi?id=11543 The panic code called the kexec code which called mutex_trylock() which called spin_lock_mutex() which then stupidly went and blurted a load of debug stuff because of in_interrupt(). Keep the lock debug code from escallating an already crappy situation. Signed-off-by: Ingo Molnar commit 1d18ef489509314506328b9e464dd47c24c1d68f Author: Ingo Molnar Date: Thu Sep 11 20:53:21 2008 +0200 x86: some lock annotations for user copy paths, v3 - add annotation back to clear_user() - change probe_kernel_address() to _inatomic*() method Signed-off-by: Ingo Molnar commit 3ee1afa308f2a38e5d1e2ad3752ad7abcf480da1 Author: Nick Piggin Date: Wed Sep 10 13:37:17 2008 +0200 x86: some lock annotations for user copy paths, v2 - introduce might_fault() - handle the atomic user copy paths correctly [ mingo@elte.hu: move might_sleep() outside of in_atomic(). ] Signed-off-by: Nick Piggin Acked-by: Peter Zijlstra Signed-off-by: Ingo Molnar commit c10d38dda1774ed4540380333cabd229eff37094 Author: Nick Piggin Date: Wed Sep 10 13:37:17 2008 +0200 x86: some lock annotations for user copy paths copy_to/from_user and all its variants (except the atomic ones) can take a page fault and perform non-trivial work like taking mmap_sem and entering the filesyste/pagecache. Unfortunately, this often escapes lockdep because a common pattern is to use it to read in some arguments just set up from userspace, or write data back to a hot buffer. In those cases, it will be unlikely for page reclaim to get a window in to cause copy_*_user to fault. With the new might_lock primitives, add some annotations to x86. I don't know if I caught all possible faulting points (it's a bit of a maze, and I didn't really look at 32-bit). But this is a starting point. Boots and runs OK so far. Signed-off-by: Nick Piggin Acked-by: Peter Zijlstra Signed-off-by: Ingo Molnar commit 76b189e91845eab3a9d52bb97f971d312d25652d Author: Peter Zijlstra Date: Wed Sep 10 09:57:35 2008 +0200 lockdep: add might_lock() / might_lock_read() useful to establish a lock dependency in case the actual dependency is rare or hard to trigger. Signed-off-by: Peter Zijlstra Acked-by: Nick Piggin Signed-off-by: Ingo Molnar commit f648972e017659c741bdd3be6b4aeb2d73672031 Merge: 8c56250 adee14b Author: Ingo Molnar Date: Wed Sep 10 13:48:17 2008 +0200 Merge commit 'v2.6.27-rc6' into core/locking commit 6003ab0bad4cc56f3c4fadf62a0d23a967b9c53b Merge: ab7476c adee14b Author: Ingo Molnar Date: Wed Sep 10 09:09:51 2008 +0200 Merge branch 'linus' into core/debug Conflicts: lib/vsprintf.c Manual merge: include/linux/kernel.h Signed-off-by: Ingo Molnar commit ab7476cf76e560f0efda2a631a70aabe93009025 Author: Arjan van de Ven Date: Fri Aug 15 15:29:38 2008 -0700 debug: add notifier chain debugging, v2 - unbreak ia64 (and powerpc) where function pointers dont point at code but at data (reported by Tony Luck) [ mingo@elte.hu: various cleanups ] Signed-off-by: Arjan van de Ven Signed-off-by: Ingo Molnar commit fb822db465bd9fd4208eef1af4490539b236c54e Author: Ingo Molnar Date: Wed Aug 20 11:17:40 2008 +0200 softlockup: increase hung tasks check from 2 minutes to 8 minutes Andrew says: > Seems that about 100% of the reports we get of this warning triggering > are sys_sync, transaction commit, etc. increase the timeout. If it still triggers for people, we can kill it. Signed-off-by: Ingo Molnar commit 1b2439dbb703ae8d95a9ce7ece6b7800b80f41f0 Author: Arjan van de Ven Date: Fri Aug 15 15:29:38 2008 -0700 debug: add notifier chain debugging during some development we suspected a case where we left something in a notifier chain that was from a module that was unloaded already... and that sort of thing is rather hard to track down. This patch adds a very simple sanity check (which isn't all that expensive) to make sure the notifier we're about to call is actually from either the kernel itself of from a still-loaded module, avoiding a hard-to-chase-down crash. Signed-off-by: Arjan van de Ven Signed-off-by: Ingo Molnar commit 8c56250f48347750c82ab18d98d647dcf99ca674 Author: Rui Sousa Date: Thu Sep 4 19:47:53 2008 +0200 lockdep, UML: fix compilation when CONFIG_TRACE_IRQFLAGS_SUPPORT is not set Hiroshi Shimamoto reported: > > !TRACE_IRQFLAGS_SUPPORT mode of build for future work, it can be > > restored via a simple revert. > > Hi, it seems that this patch breaks uml build. > > kernel/printk.c: In function 'vprintk': > kernel/printk.c:674: error: implicit declaration of function > 'raw_local_irq_save' kernel/printk.c:772: error: implicit declaration of > function 'raw_local_irq_restore' With the patch bellow it compiles (make ARCH=um with a x86 host), but I'm really out of my league on this one... Reported-by: Hiroshi Shimamoto Signed-off-by: Ingo Molnar commit cdad72207d164569cb4bf647eb824a7f93e8d388 Author: Peter Zijlstra Date: Wed Sep 3 16:00:57 2008 +0200 lockstat: documentation update Christoph noted that the documentation doesn't tell in what unit the lockstat times are reported, ammend this. Reported-by: Christoph Hellwig Signed-off-by: Peter Zijlstra Signed-off-by: Ingo Molnar commit bd8fbdee6562ee526f3c2582a3b373ef195015dd Author: Rui Sousa Date: Wed Sep 3 17:53:07 2008 +0200 lockdep: fix compilation when CONFIG_TRACE_IRQFLAGS_SUPPORT is not set This patch fixes compilation if CONFIG_TRACE_IRQFLAGS_SUPPORT is ever disabled (which is currently not allowed by Kconfig). Alternatively we could just remove the option altogether and the associated code paths. Since the compilation error has been in the tree for at least two years and no one noticed it, I guess we don't really have the need for CONFIG_TRACE_IRQFLAGS_SUPPORT=n. Boot tested on x86 UP. Signed-off-by: Rui Sousa Signed-off-by: Ingo Molnar commit 41b9eb264c8407655db57b60b4457fe1b2ec9977 Author: Stefan Assmann Date: Tue Jul 15 13:48:55 2008 +0200 x86, pci: introduce config option for pci reroute quirks (was: [PATCH 0/3] Boot IRQ quirks for Broadcom and AMD/ATI) This is against linux-2.6-tip, branch pci-ioapic-boot-irq-quirks. From: Stefan Assmann Subject: Introduce config option for pci reroute quirks The config option X86_REROUTE_FOR_BROKEN_BOOT_IRQS is introduced to enable (or disable) the redirection of the interrupt handler to the boot interrupt line by default. Depending on the existence of interrupt masking / threaded interrupt handling in the kernel (vanilla, rt, ...) and the maturity of the rerouting patch, users can enable or disable the redirection by default. This means that the reroute quirk can be applied to any kernel without changing it. Interrupt sharing could be increased if this option is enabled. However this option is vital for threaded interrupt handling, as done by the RT kernel. It should simplify the consolidation with the RT kernel. The option can be overridden by either pci=ioapicreroute or pci=noioapicreroute. Signed-off-by: Stefan Assmann Signed-off-by: Olaf Dabrunz Cc: Jesse Barnes Cc: Jon Masters Cc: Ihno Krumreich Cc: Sven Dietrich Cc: Daniel Gollub Cc: Felix Foerster Signed-off-by: Ingo Molnar commit 3e370b29d35fb01bfb92c2814d6f79bf6a2cb970 Merge: 88d1dce 5b664cb Author: Ingo Molnar Date: Fri Jul 18 19:31:12 2008 +0200 Merge branch 'linus' into x86/pci-ioapic-boot-irq-quirks Conflicts: drivers/pci/quirks.c Signed-off-by: Ingo Molnar commit 88d1dce3a74367291f65a757fbdcaf17f042f30c Author: Olaf Dabrunz Date: Tue Jul 8 15:59:48 2008 +0200 PCI quirks: call boot IRQ quirks at end of device init and during resume It is not necessary to call boot IRQ quirks before the BARs of the bridges are probed. The normal case is to use DECLARE_PCI_FIXUP_FINAL, so we use this instead now. After a resume, we need to call the quirks again. Signed-off-by: Olaf Dabrunz Signed-off-by: Stefan Assmann Cc: Jon Masters Cc: Olaf Dabrunz Cc: Stefan Assmann Cc: Ihno Krumreich Cc: Sven Dietrich Cc: Daniel Gollub Cc: Felix Foerster Signed-off-by: Ingo Molnar commit 542622da899be17250b8cae2ef5203025b91230a Author: Olaf Dabrunz Date: Tue Jul 8 15:59:48 2008 +0200 PCI quirks: disable AMD/ATI legacy boot interrupt generation Add quirks for several AMD/ATI chipsets to prevent generation of legacy boot interrupts. Integrates a separate older quirk to make IO-APIC mode work on AMD 8131 rev. A0 and B0, which was due to an AMD erratum. Signed-off-by: Olaf Dabrunz Signed-off-by: Stefan Assmann Cc: Jon Masters Cc: Olaf Dabrunz Cc: Stefan Assmann Cc: Ihno Krumreich Cc: Sven Dietrich Cc: Daniel Gollub Cc: Felix Foerster Signed-off-by: Ingo Molnar commit 7725118815537bd481a81828fa125ee154ee74fc Author: Olaf Dabrunz Date: Tue Jul 8 15:59:47 2008 +0200 PCI quirks: add quirk to disable boot interrupt generation on broadcom HT1000 Signed-off-by: Olaf Dabrunz Signed-off-by: Stefan Assmann Cc: Jon Masters Cc: Olaf Dabrunz Cc: Stefan Assmann Cc: Ihno Krumreich Cc: Sven Dietrich Cc: Daniel Gollub Cc: Felix Foerster Signed-off-by: Ingo Molnar commit dbbcfb2211761fa69e831a78119c9288fb87eb9d Merge: b0356cd 9df2fe9 Author: Ingo Molnar Date: Sun Jul 13 22:52:27 2008 +0200 Merge branch 'linus' into x86/pci-ioapic-boot-irq-quirks Conflicts: arch/x86/mm/ioremap.c Signed-off-by: Ingo Molnar commit b0356cd0e7497252a2c45ecb07b79d931390c8b2 Author: Bernhard Walle Date: Fri Jun 20 17:05:33 2008 +0200 pci, acpi: reroute PCI interrupt to legacy boot interrupt equivalent, warning fix This patch just fixes the compiler warning: drivers/pci/quirks.c: In function ‘quirk_reroute_to_boot_interrupts_intel’: drivers/pci/quirks.c:1375: warning: unused variable ‘i’ Signed-off-by: Bernhard Walle Cc: sassmann@suse.de Signed-off-by: Ingo Molnar commit 33be8333421f842789fa7e363ce4142947e094f0 Author: Ingo Molnar Date: Wed Jun 18 14:47:09 2008 +0200 x86: boot IRQ quirks and rerouting, fix fix: init/built-in.o: In function `nosmp': main.c:(.init.text+0x14): undefined reference to `noioapicquirk' main.c:(.init.text+0x1e): undefined reference to `noioapicreroute' init/built-in.o: In function `maxcpus': main.c:(.init.text+0x133): undefined reference to `noioapicquirk' main.c:(.init.text+0x13d): undefined reference to `noioapicreroute' arch/x86/kernel/built-in.o: In function `parse_noapic': io_apic_32.c:(.init.text+0x7836): undefined reference to `noioapicquirk' io_apic_32.c:(.init.text+0x7840): undefined reference to `noioapicreroute' Signed-off-by: Ingo Molnar commit e1d3a90846b40ad3160bf4b648d36c6badad39ac Author: Stefan Assmann Date: Wed Jun 11 16:35:17 2008 +0200 pci, acpi: reroute PCI interrupt to legacy boot interrupt equivalent Some chipsets (e.g. intel 6700PXH) generate a legacy INTx when the IRQ entry in the chipset's IO-APIC is masked (as, e.g. the RT kernel does during interrupt handling). On chipsets where this INTx generation cannot be disabled, we reroute the valid interrupts to their legacy equivalent to get rid of spurious interrupts that might otherwise bring down (vital) interrupt lines through spurious interrupt detection in note_interrupt(). This patch benefited from discussions with Alexander Graf, Torsten Duwe, Ihno Krumreich, Daniel Gollub, Hannes Reinecke. The conclusions we drew and the patch itself are the authors' responsibility alone. Signed-off-by: Stefan Assmann Signed-off-by: Olaf Dabrunz Signed-off-by: Ingo Molnar commit 426b3b8d535e3e141331dc19c40f457b997c4d6d Author: Stefan Assmann Date: Wed Jun 11 16:35:16 2008 +0200 pci: add quirk to disable boot interrupt generation on intel 6300ESB Add a quirk to disable legacy boot interrupt generation on intel devices that support disabling it. This patch benefited from discussions with Alexander Graf, Torsten Duwe, Ihno Krumreich, Daniel Gollub, Hannes Reinecke. The conclusions we drew and the patch itself are the authors' responsibility alone. Signed-off-by: Stefan Assmann Signed-off-by: Olaf Dabrunz Signed-off-by: Ingo Molnar commit 9197979b518573999d52d9e85bce1680682ed85c Author: Stefan Assmann Date: Wed Jun 11 16:35:15 2008 +0200 x86, pci: introduce pci=ioapicreroute kernel cmdline option Introduce pci=ioapicreroute kernel cmdline option to enable rerouting of boot interrupts to the primary io-apic. Signed-off-by: Stefan Assmann Signed-off-by: Olaf Dabrunz Signed-off-by: Ingo Molnar commit a9322f6488b432ddc1e89be88242c827c633fb63 Author: Stefan Assmann Date: Wed Jun 11 16:35:14 2008 +0200 x86, pci: introduce pci=noioapicquirk kernel cmdline option Introduce pci=noioapicquirk kernel cmdline option to disable all boot interrupt quirks Signed-off-by: Stefan Assmann Signed-off-by: Olaf Dabrunz Signed-off-by: Ingo Molnar commit 747ada36ee23225d81657e4d633ac93b8ccbea7d Author: Olaf Dabrunz Date: Wed Jun 11 16:35:13 2008 +0200 pci: add PCI IDs for devices that need boot irq quirks Signed-off-by: Stefan Assmann Signed-off-by: Olaf Dabrunz Signed-off-by: Ingo Molnar commit 7d7d6068bee9d8004ea7cc8a2ebda2c99a57caec Author: Yan Date: Fri Sep 14 16:15:28 2007 -0400 Btrfs: Fix cache_block_group to catch holes at the start of the group Cache block group was overly complex and missed free blocks at the very start of the group. This patch simplifies things significantly. Signed-off-by: Chris Mason commit 6af858b24c0c4e91ce0b40b5dd5fdfc1fe2dda70 Author: Yan Date: Fri Sep 14 10:23:29 2007 -0400 Btrfs: Fix off by one error in dirty_and_release_pages Signed-off-by: Chris Mason commit d03581f4345e30db078ea8f81189e8177280bbb8 Author: Christoph Hellwig Date: Fri Sep 14 10:22:57 2007 -0400 split up btrfs_ioctl Add a helper per ioctl function to make the code more readable. Signed-off-by: Christoph Hellwig Signed-off-by: Chris Mason commit 34287aa3605d52ef5a4b6e5e2cca98667166508b Author: Christoph Hellwig Date: Fri Sep 14 10:22:47 2007 -0400 Btrfs: use unlocked_ioctl No reason to grab the BKL before calling into the btrfs ioctl code. Signed-off-by: Christoph Hellwig Signed-off-by: Chris Mason commit 432eba0882a32d6181ba44044f6e576226134784 Author: Jan Engelhardt Date: Fri Sep 14 10:22:19 2007 -0400 Btrfs: Simplify makefile Single-colons will do here. Signed-off-by: Chris Mason commit 84a5d5eefd2b31c3cb97dc078589870bf85c7f23 Author: Chris Mason Date: Fri Sep 14 09:43:53 2007 -0400 Btrfs: add modules_install target Signed-off-by: Chris Mason commit 93a6925ec10c2d5792ffad35af8366179c9db57c Author: Chris Mason Date: Fri Sep 14 09:42:31 2007 -0400 Btrfs: Fix extra link count dec in rename Signed-off-by: Chris Mason commit 3de3f774f98490dbac63b7b50a0d2eedfea86b5a Author: Chris Mason Date: Tue Sep 11 19:45:31 2007 -0400 Btrfs: Added tag v0.8 for changeset f5ce4cc64def Signed-off-by: Chris Mason commit 5ce14bbcdd1b5d9233d26a1e89faf3a26c820c58 Author: Chris Mason Date: Tue Sep 11 11:15:39 2007 -0400 Btrfs: Find and remove dead roots the first time a root is loaded. Dead roots are trees left over after a crash, and they were either in the process of being removed or were waiting to be removed when the box crashed. Before, a search of the entire tree of root pointers was done on mount looking for dead roots. Now, the search is done the first time we load a root. This makes mount faster when there are a large number of snapshots, and it enables the block accounting code to properly update the block counts on the latest root as old versions of the root are reaped after a crash. Signed-off-by: Chris Mason commit 0e2752a72cb37075b24899f01e9bc6a589de3b6c Author: Christoph Hellwig Date: Mon Sep 10 20:02:33 2007 -0400 Btrfs: [PATCH] extent_map: add writepage_end_io hook XFS updates the ondisk inode size only after the data I/O has finished, so it needs a hook when the writepage end_bio handler has finished. Might not be worth applying as-is as the per-page callback is very ineffcient. What XFS really wants is a callback when writeout of a whole extent has completed. This delayed i_size updates scheme might be worthwile for btrfs aswell, btw. Signed-off-by: Christoph Hellwig Signed-off-by: Chris Mason commit b06355f0fe04a62d08238438654ec453e05304ba Author: Christoph Hellwig Date: Mon Sep 10 20:02:32 2007 -0400 Btrfs: [PATCH] extent_map: make the writepage_io hook optional The writepage_io is not mandatory, e.g. my port of xfs to the extent_map code does not have one for now. So handle a NULL pointer gracefully here. Signed-off-by: Christoph Hellwig Signed-off-by: Chris Mason commit d396c6f554d182b7bce4e2bb2acb47f80430c05f Author: Christoph Hellwig Date: Mon Sep 10 20:02:30 2007 -0400 Btrfs: [PATCH] extent_map: provide generic bmap generic_bmap is completely trivial, while the extent to bh mapping in btrfs is rather complex. So provide a extent_bmap instead that takes a get_extent callback and can be used by filesystem using the extent_map code. Signed-off-by: Christoph Hellwig Signed-off-by: Chris Mason commit 90f1c19a9fd2a943adc69d2b9b8c83bcc4bba6f9 Author: Christoph Hellwig Date: Mon Sep 10 20:02:27 2007 -0400 Btrfs: [PATCH] extent_map: fix locking for bio completion The bio completion handlers can be run in any context, e.g. when using the old ide driver they run in hardirq context with irqs disabled so lockdep rightfully warns about using write_lock_irq useage in these handlers. This patch switches clear_extent_bit and set_extent_bit to write_lock_irqsave to fix this problem. Signed-off-by: Christoph Hellwig Signed-off-by: Chris Mason commit 9433063bcb4b3c0c9e5ef3c24a811b63084dedb4 Author: Christoph Hellwig Date: Mon Sep 10 20:02:22 2007 -0400 [PATCH] btrfs: fix printk format warning Signed-off-by: Christoph Hellwig Signed-off-by: Chris Mason commit a8c450b211c010ac55190da23ceb6b39b393f411 Author: Chris Mason Date: Mon Sep 10 20:00:27 2007 -0400 Btrfs: Reorder tests in set_extent_bit to properly find holes Yan Zheng noticed that set_extent_bit was exiting too early when there was a hole in the map. The fix is to reorder the tests to check for the hole first. Signed-off-by: Chris Mason commit 011410bd859a481a335d7db1fb559542c5663fd5 Author: Chris Mason Date: Mon Sep 10 19:58:36 2007 -0400 Btrfs: Add more synchronization before creating a snapshot File data checksums are only done during writepage, so we have to make sure all pages are written when the snapshot is taken. This also adds some locking so that new writes don't race in and add new dirty pages. Signed-off-by: Chris Mason commit 86479a04eef8f304a13aeb8b64bcc8e506a68268 Author: Chris Mason Date: Mon Sep 10 19:58:16 2007 -0400 Add support for defragging files via btrfsctl -d. Avoid OOM on extent tree defrag. Signed-off-by: Chris Mason commit 8e21528f87854314792aaef4d279bc9e5a9be997 Author: Chris Mason Date: Thu Aug 30 12:16:51 2007 -0400 Btrfs: remove extra drop_extent_cache call Signed-off-by: Chris Mason commit 2bf5a725a3b82efeaf7b292c085e69a9388a89ea Author: Chris Mason Date: Thu Aug 30 11:54:02 2007 -0400 Btrfs: fsx delalloc fixes Signed-off-by: Chris Mason commit 07157aacb1ecd394a5494910b5f80d7e7d407d37 Author: Chris Mason Date: Thu Aug 30 08:50:51 2007 -0400 Btrfs: Add file data csums back in via hooks in the extent map code Signed-off-by: Chris Mason commit 95e0528919cb0c7635b37496e0ad1c41e4c0dd7c Author: Chris Mason Date: Wed Aug 29 09:11:44 2007 -0400 Btrfs: Use mount -o subvol to select the subvol directory instead of dev: Signed-off-by: Chris Mason commit e9fe395e47bef9b948657b788c65cbfbd2433cc4 Author: Yan Date: Wed Aug 29 09:11:44 2007 -0400 Btrfs: Fix oopsen in extent_tree.c during enospc Signed-off-by: Chris Mason commit 4b82d6e4a592016ac75e756ca519923e0fc18f00 Author: Yan Date: Wed Aug 29 09:11:44 2007 -0400 Btrfs: Add mount into directory support Modified form of original patch from Christoph Hellwig to make btrfs mount into the default subvolume by default. mount /dev/somedevice:subvolumename to get other subvolumes or mount /dev/somedevice:. to get the root Signed-off-by: Chris Mason commit 1b4ab1bb4bbd3045cd041259c30b826654599e96 Author: Yan Date: Wed Aug 29 09:11:44 2007 -0400 Btrfs: Fix mknod to properly send rdev info back to disk Signed-off-by: Chris Mason commit 252c38f0697b6889c03542fa3c96143d3db4d9d8 Author: Yan Date: Wed Aug 29 09:11:44 2007 -0400 Btrfs: ctree.c cleanups Fixup a few buffer_head release errors, and fix an off by one in balance_node_right. Signed-off-by: Chris Mason commit 58176a9604c5db1784d2c979aea472b3be40b6f0 Author: Josef Bacik Date: Wed Aug 29 15:47:34 2007 -0400 Btrfs: Add per-root block accounting and sysfs entries Signed-off-by: Chris Mason commit b888db2bd7b67f190b32934e6a86181f262ac3ec Author: Chris Mason Date: Mon Aug 27 16:49:44 2007 -0400 Btrfs: Add delayed allocation to the extent based page tree code Signed-off-by: Chris Mason commit a52d9a8033c454cd9b4697cfafb467509fc1693f Author: Chris Mason Date: Mon Aug 27 16:49:44 2007 -0400 Btrfs: Extent based page cache code. This uses an rbtree of extents and tests instead of buffer heads. Signed-off-by: Chris Mason commit 83df7c1d8b885e216c68c3f0469bec9b93666b74 Author: Chris Mason Date: Mon Aug 27 16:49:44 2007 -0400 Btrfs: Make sure to cow the root during a snapshot Signed-off-by: Chris Mason commit 2cc58cf24f69be8632a3b29d653c318bf3bd8c84 Author: Chris Mason Date: Mon Aug 27 16:49:44 2007 -0400 Btrfs: Do more extensive readahead during tree searches Signed-off-by: Chris Mason commit 320206112895c72f98e57570ae194689dcd7fe56 Author: Yan Date: Mon Aug 27 15:17:54 2007 -0400 fix block readahead in btrfs_next_leaf Send the correct slot down to reada_for_search Signed-off-by: Chris Mason commit 6d626f65041e3f99d2ec78c8437dd2195210d6b2 Author: Chris Mason Date: Fri Aug 10 16:32:29 2007 -0400 Btrfs: Added tag v0.7 for changeset 6125224d77d0 Signed-off-by: Chris Mason commit 15ee9bc7ed171248d1405df5854da5fa91bfdc39 Author: Josef Bacik Date: Fri Aug 10 16:22:09 2007 -0400 Btrfs: delay commits during fsync to allow more writers Signed-off-by: Chris Mason commit f2183bde1a918d338337955c8e8ba29bd8f5e7b1 Author: Chris Mason Date: Fri Aug 10 14:42:37 2007 -0400 Btrfs: Add BH_Defrag to mark buffers that are in need of defragging This allows the tree walking code to defrag only the newly allocated buffers, it seems to be a good balance between perfect defragging and the performance hit of repeatedly reallocating blocks. Signed-off-by: Chris Mason commit e9d0b13b5bbb58c9b840e407a8d181442f799966 Author: Chris Mason Date: Fri Aug 10 14:06:19 2007 -0400 Btrfs: Btree defrag on the extent-mapping tree as well Signed-off-by: Chris Mason commit 409eb95d7f6632d5af32b795244ce68a29e49319 Author: Chris Mason Date: Wed Aug 8 20:17:12 2007 -0400 Btrfs: Further reduce the concurrency penalty of defrag and drop_snapshot Signed-off-by: Chris Mason commit 26b8003f10569a9155b7539ef5a7379ee0c6b050 Author: Chris Mason Date: Wed Aug 8 20:17:12 2007 -0400 Btrfs: Replace extent tree preallocation code with some bit radix magic. Signed-off-by: Chris Mason commit f4468e94c86c2031f447788c4bfe7dfd2fcdc93a Author: Chris Mason Date: Wed Aug 8 10:08:58 2007 -0400 Btrfs: Let some locks go during defrag and snapshot dropping Signed-off-by: Chris Mason commit 37fa704640059d515cb2c7c6eaa5eb82901b95ac Author: Chris Mason Date: Tue Aug 7 16:35:25 2007 -0400 Btrfs: Added tag v0.6 for changeset c13e9a0bf9b4 Signed-off-by: Chris Mason commit 6702ed490ca0bb44e17131818a5a18b773957c5a Author: Chris Mason Date: Tue Aug 7 16:15:09 2007 -0400 Btrfs: Add run time btree defrag, and an ioctl to force btree defrag This adds two types of btree defrag, a run time form that tries to defrag recently allocated blocks in the btree when they are still in ram, and an ioctl that forces defrag of all btree blocks. File data blocks are not defragged yet, but this can make a huge difference in sequential btree reads. Signed-off-by: Chris Mason commit 3c69faecb8d83cb2ef085a98b196a3fecea67725 Author: Chris Mason Date: Tue Aug 7 15:52:22 2007 -0400 Btrfs: Fold some btree readahead routines into something more generic. Signed-off-by: Chris Mason commit 9f3a742736cecda5a8778be70faa2f779458839f Author: Chris Mason Date: Tue Aug 7 15:52:19 2007 -0400 Btrfs: Do snapshot deletion in smaller chunks. Before, snapshot deletion was a single atomic unit. This caused considerable lock contention and required an unbounded amount of space. Now, the drop_progress field in the root item is used to indicate how far along snapshot deletion is, and to resume where it left off. Signed-off-by: Chris Mason commit 8578f0f1fda41f8429a1037022b720275102ca65 Author: Joel Becker Date: Wed Jul 25 14:04:51 2007 -0400 Btrfs: cleaner make clean Signed-off-by: Chris Mason commit 92fee66d49b812ea57eae53c5baaf8942ac9af06 Author: Chris Mason Date: Wed Jul 25 12:31:35 2007 -0400 Btrfs: deal with api changes in 2.6.23-rc1 Signed-off-by: Chris Mason commit 618e21d5957c88c5ea346dfd7d1dbac96410fc5b Author: Josef Bacik Date: Wed Jul 11 10:18:17 2007 -0400 Btrfs: Implement mknod Signed-off-by: Chris Mason commit a1f396304fb7e5f18e4ea81c294415375f1c814c Author: Aneesh Date: Wed Jul 11 10:03:27 2007 -0400 Btrfs: Some code cleanups Signed-off-by: Chris Mason commit ec6b910fb330f29e169c9f502c3ac209515af8d1 Author: Zach Brown Date: Wed Jul 11 10:00:37 2007 -0400 Btrfs: trivial include fixups Almost none of the files including module.h need to do so, remove them. Include sched.h in extent-tree.c to silence a warning about cond_resched() being undeclared. Signed-off-by: Zach Brown Signed-off-by: Chris Mason commit f2fdf02406de9273ad27c3b73f70aee745173f7b Author: Chris Mason Date: Thu Jun 28 16:35:09 2007 -0400 Btrfs: Added tag v0.5 for changeset 080c0640a527 Signed-off-by: Chris Mason commit ccd467d60e81b48cdbecae93532b66bcdedca91d Author: Chris Mason Date: Thu Jun 28 15:57:36 2007 -0400 Btrfs: crash recovery fixes Signed-off-by: Chris Mason commit f2654de42a759127cb1f1e8a626ec94178732e20 Author: Chris Mason Date: Tue Jun 26 12:20:46 2007 -0400 Btrfs: Allow find_free_extent callers to pass in an exclusion range Signed-off-by: Chris Mason commit 4b52dff6d371b9b93bc99f64c32831ea9a8ec3ac Author: Chris Mason Date: Tue Jun 26 10:06:50 2007 -0400 Btrfs: Fix super block updates during transaction commit The super block written during commit was not consistent with the state of the trees. This change adds an in-memory copy of the super so that we can make sure to write out consistent data during a commit. Signed-off-by: Chris Mason commit 79c44584ea346024e929ac0f2a3577aac33b7b3f Author: Chris Mason Date: Mon Jun 25 10:09:33 2007 -0400 Btrfs: Fix mtime and ctime updates on parent dirs Signed-off-by: Chris Mason commit 4b2220da64727a1e31765ed4e17cd98f39749094 Author: Chris Mason Date: Fri Jun 22 14:50:30 2007 -0400 Btrfs: Added tag v0.4 for changeset d4bf0a71f074 Signed-off-by: Chris Mason commit 22bb92f376b38154dc0c3688a01a16525b4caab0 Author: Chris Mason Date: Fri Jun 22 14:49:31 2007 -0400 Btrfs: Documentation update Signed-off-by: Chris Mason commit 5eda7b5e9b0bed864dd18284c7df9b3c8207dad7 Author: Chris Mason Date: Fri Jun 22 14:16:25 2007 -0400 Btrfs: Add the ability to find and remove dead roots after a crash. Signed-off-by: Chris Mason commit 54aa1f4dfdacd60a19c4471220b24e581be6f774 Author: Chris Mason Date: Fri Jun 22 14:16:25 2007 -0400 Btrfs: Audit callers and return codes to make sure -ENOSPC gets up the stack Signed-off-by: Chris Mason commit 11bd143fc8243cf48c934dc1c4479a5aacf58ce3 Author: Chris Mason Date: Fri Jun 22 14:16:24 2007 -0400 Btrfs: Switch to libcrc32c to avoid problems with cryptomgr on highmem machines Signed-off-by: Chris Mason commit e011599b0f375683499bf1a9954703f4959a8d00 Author: Chris Mason Date: Tue Jun 19 16:23:05 2007 -0400 Btrfs: reada while dropping snapshots Signed-off-by: Chris Mason commit 85e55b13e4e318672f669747e5e010d1b707b198 Author: Chris Mason Date: Tue Jun 19 15:50:51 2007 -0400 Btrfs: cache the extent tree preallocation Signed-off-by: Chris Mason commit 63c992fd0b733989d43e9762f48e300d61b5287e Author: Chris Mason Date: Mon Jun 18 10:32:44 2007 -0400 Btrfs: Added tag v0.3 for changeset edfcc0faa35c Signed-off-by: Chris Mason commit 8c2383c3dd2cb5bb39598ce4fa97154bc591020a Author: Chris Mason Date: Mon Jun 18 09:57:58 2007 -0400 Subject: Rework btrfs_file_write to only allocate while page locks are held Signed-off-by: Chris Mason commit 9ebefb180bad4914a31c4e1748ba187a30e1e990 Author: Chris Mason Date: Fri Jun 15 13:50:00 2007 -0400 Btrfs: patch queue: page_mkwrite Signed-off-by: Chris Mason commit f1ace244c8c1e16eaa5c8b3b5339849651e31ede Author: Aneesh Date: Wed Jun 13 16:18:26 2007 -0400 btrfs: Code cleanup Attaching below is some of the code cleanups that i came across while reading the code. a) alloc_path already calls init_path. b) Mention that btrfs_inode is the in memory copy.Ext4 have ext4_inode_info as the in memory copy ext4_inode as the disk copy Signed-off-by: Chris Mason commit b79ab950f57c3260ee609ba41779019d21b8eb88 Author: Chris Mason Date: Wed Jun 13 11:53:31 2007 -0400 Btrfs: Added tag v0.2 for changeset 8edac0ff7fb5 Signed-off-by: Chris Mason commit 340887809d92a4dd6c71caa97d658cef32c098c3 Author: Chris Mason Date: Tue Jun 12 11:36:58 2007 -0400 Btrfs: i386 fixes from axboe Signed-off-by: Chris Mason commit 6cbd55707802b98843f953d1ae6d8f5bcd9a76c0 Author: Chris Mason Date: Tue Jun 12 09:07:21 2007 -0400 Btrfs: add GPLv2 Signed-off-by: Chris Mason commit 8a712645c3fbbf43293af8640af337b7cf1fef01 Author: Chris Mason Date: Tue Jun 12 08:21:35 2007 -0400 Btrfs: no slashes in subvolume names Signed-off-by: Chris Mason commit 5af3981c1878b0657b9babd2ef7ec98c2008cf2c Author: Chris Mason Date: Tue Jun 12 07:50:13 2007 -0400 Btrfs: printk fixes Signed-off-by: Chris Mason commit 84f54cfa78c81991e087309a9b379f25f1ffdb10 Author: Chris Mason Date: Tue Jun 12 07:43:08 2007 -0400 Btrfs: 64 bit div fixes Signed-off-by: Chris Mason commit 39279cc3d2704cfbf9c35dcb5bdd392159ae4625 Author: Chris Mason Date: Tue Jun 12 06:35:45 2007 -0400 Btrfs: split up super.c Signed-off-by: Chris Mason commit 5276aedab0baacfb3c5483208b8be85a8416bd5f Author: Chris Mason Date: Mon Jun 11 21:33:38 2007 -0400 Btrfs: fix oops after block group lookup Signed-off-by: Chris Mason commit 0cf6c620176a294bdf1bedddc492f6ae857e0019 Author: Chris Mason Date: Sat Jun 9 09:22:25 2007 -0400 Btrfs: remove device tree Signed-off-by: Chris Mason commit ad693af684757478e5fcb225aef319cab7ba6c75 Author: Chris Mason Date: Sat Jun 9 08:19:57 2007 -0400 Btrfs: reap dead roots right after commit Signed-off-by: Chris Mason commit facda1e787d43191a3368c322f682054991c41b8 Author: Chris Mason Date: Fri Jun 8 18:11:48 2007 -0400 Btrfs: get forced transaction commits via workqueue Signed-off-by: Chris Mason commit 08607c1b182b3b8b54d7141a0c012cda17d201e6 Author: Chris Mason Date: Fri Jun 8 15:33:54 2007 -0400 Btrfs: add compat ioctl Signed-off-by: Chris Mason commit fabb568183de7996257080260d3537fa75b3667e Author: Chris Mason Date: Thu Jun 7 22:13:21 2007 -0400 Btrfs: d_type optimization Signed-off-by: Chris Mason commit fbdc762b4e1833b5d75cada5aabeadccd8379792 Author: Chris Mason Date: Wed May 30 10:22:12 2007 -0400 Btrfs: use a separate flag for search_start vs a hint in find_free_extent Signed-off-by: Chris Mason commit 1e2677e000fbc7f1892b1ea9f952f1667f4443f1 Author: Chris Mason Date: Tue May 29 16:52:18 2007 -0400 Btrfs: block group switching Signed-off-by: Chris Mason commit 1de037a43edf67f3a9f66dd197195b3c08febb16 Author: Chris Mason Date: Tue May 29 15:17:08 2007 -0400 Btrfs: fixup various fsx failures Signed-off-by: Chris Mason commit 3a686375629da5d2e2ad019265b66ef113c87455 Author: Chris Mason Date: Thu May 24 13:35:57 2007 -0400 Btrfs: sparse files! Signed-off-by: Chris Mason commit 2b8d99a723a3186a69b5bd941a272dbecae9205b Author: Chris Mason Date: Thu May 24 08:34:10 2007 -0400 Btrfs: symlinks and hard links Signed-off-by: Chris Mason commit e06afa839e726959be2166bec4cb85c117e213f1 Author: Chris Mason Date: Wed May 23 15:44:28 2007 -0400 Btrfs: rename Signed-off-by: Chris Mason commit f9f3c6b666f717510b67036c314ec915b9059eaa Author: Chris Mason Date: Mon May 21 14:05:12 2007 -0400 Btrfs: 2.6.21-git fixes Signed-off-by: Chris Mason commit de428b63b16f9c74a24228a517713e8c65f79475 Author: Chris Mason Date: Fri May 18 13:28:27 2007 -0400 Btrfs: allocator optimizations, truncate readahead Signed-off-by: Chris Mason commit 098f59c2512426926722a96f82af127bd91fb5e4 Author: Chris Mason Date: Fri May 11 11:33:21 2007 -0400 Btrfs: patch queue: fix corruption when splitting large items Signed-off-by: Chris Mason commit 509659cde578d891445afd67d87121dd13e71596 Author: Chris Mason Date: Thu May 10 12:36:17 2007 -0400 Btrfs: switch to crc32c instead of sha256 Signed-off-by: Chris Mason commit 8d7be552a733e53135a91d2d28f57ab87dc0e889 Author: Chris Mason Date: Thu May 10 11:24:42 2007 -0400 Btrfs: fix check_node and check_leaf to use less cpu Signed-off-by: Chris Mason commit e37c9e6921207cf503634b06bee37ecb7904408d Author: Chris Mason Date: Wed May 9 20:13:14 2007 -0400 Btrfs: many allocator fixes, pretty solid Signed-off-by: Chris Mason commit 3e1ad54fe2839319c1aa66b954da0753f5b1f906 Author: Chris Mason Date: Mon May 7 20:03:49 2007 -0400 Btrfs: allocator and tuning Signed-off-by: Chris Mason commit be74417553f4b2ee46be2088007a674ef2f02330 Author: Chris Mason Date: Sun May 6 10:15:01 2007 -0400 Btrfs: more allocator enhancements Signed-off-by: Chris Mason commit be08c1b9f8e679d45e086728445ac36cf250e92e Author: Chris Mason Date: Thu May 3 09:06:49 2007 -0400 Btrfs: early metadata/data split Signed-off-by: Chris Mason commit 35b7e476107e3d54f03384e0f2fa3dfd68933353 Author: Chris Mason Date: Wed May 2 15:53:43 2007 -0400 Btrfs: fix page cache memory leak Signed-off-by: Chris Mason commit 090d18753c7fb73f7d846c3a89a50cd35136d144 Author: Chris Mason Date: Tue May 1 08:53:32 2007 -0400 Btrfs: directory readahead Signed-off-by: Chris Mason commit 31f3c99b73483f7b738a886c552050cbd6128ff3 Author: Chris Mason Date: Mon Apr 30 15:25:45 2007 -0400 Btrfs: allocator improvements, inode block groups Signed-off-by: Chris Mason commit 308535a05e4c39d2be26e0aeee722682deeb6f77 Author: Chris Mason Date: Sat Apr 28 15:17:08 2007 -0400 Btrfs: prealloc more blocks for the extent map Signed-off-by: Chris Mason commit 7c4452b9a6ca7aabe37ea2e43d443110bdc08cd8 Author: Chris Mason Date: Sat Apr 28 09:29:35 2007 -0400 Btrfs: smarter transaction writeback Signed-off-by: Chris Mason commit 06a2f9fa4c12a055cc396936408a78ae0acfb6b4 Author: Chris Mason Date: Sat Apr 28 08:48:10 2007 -0400 Btrfs: try to drop dead cow pages from ram Signed-off-by: Chris Mason commit 28b8bb9e001aa1c4abdd10a8e36972658237fe43 Author: Chris Mason Date: Fri Apr 27 11:42:05 2007 -0400 Btrfs: allocator tweaks Signed-off-by: Chris Mason commit cd1bc4653dc37f6390f4d6df4f987044c64f700b Author: Chris Mason Date: Fri Apr 27 10:08:34 2007 -0400 Btrfs: more block allocator work Signed-off-by: Chris Mason commit 9078a3e1e4e489dddc636c7bb8780349d4298743 Author: Chris Mason Date: Thu Apr 26 16:46:15 2007 -0400 Btrfs: start of block group code Signed-off-by: Chris Mason commit f2458e1d8c90958ed3631654cb7fd5ab01478505 Author: Chris Mason Date: Wed Apr 25 15:52:25 2007 -0400 Btrfs: change around extent-tree prealloc Signed-off-by: Chris Mason commit f68cad0f9eb3c3cc100635bd0ea191ee093cf887 Author: Chris Mason Date: Tue Apr 24 12:44:26 2007 -0400 Btrfs: fixup dirty_inode related deadlocks Signed-off-by: Chris Mason commit c62a1920ced752e86f57ab1d4ad0ec65012bce4d Author: Chris Mason Date: Tue Apr 24 12:07:39 2007 -0400 Btrfs: get rid of the extent_item type field Signed-off-by: Chris Mason commit b51338628f604d9b4ed3c776839a484a30e12fb7 Author: Chris Mason Date: Tue Apr 24 11:52:22 2007 -0400 Btrfs: add dirty_inode call Signed-off-by: Chris Mason commit 5e82849e63723afe720d4b325d04a989f6247cce Author: Chris Mason Date: Mon Apr 23 19:10:49 2007 -0400 Btrfs: new subvolume oops fix Signed-off-by: Chris Mason commit 5d0c3e60fea7e23fbfbe3ab2886b444b4c702441 Author: Chris Mason Date: Mon Apr 23 17:01:05 2007 -0400 Btrfs: fix extent owner/type setting on extent tree blocks Signed-off-by: Chris Mason commit 4d775673091d43b39fa9d086071009f98dec289e Author: Chris Mason Date: Fri Apr 20 20:23:12 2007 -0400 Btrfs: add owner and type fields to the extents aand block headers Signed-off-by: Chris Mason commit 33ade1f826a7c348856a98930814f33ced6d1337 Author: Chris Mason Date: Fri Apr 20 13:48:57 2007 -0400 Btrfs: node balance optimizations Signed-off-by: Chris Mason commit e66f709b157ee8557166c14b67c01bae978ac32e Author: Chris Mason Date: Fri Apr 20 13:16:02 2007 -0400 Btrfs: write barriers on commit, balance level before split Signed-off-by: Chris Mason commit 8fd17795b2261ecb1bad2a6df09ef14c4957a3fb Author: Chris Mason Date: Thu Apr 19 21:01:03 2007 -0400 Btrfs: early fsync support Signed-off-by: Chris Mason commit 7e38180e207c8707691c12395e990a5d583c5e71 Author: Chris Mason Date: Thu Apr 19 15:36:27 2007 -0400 Btrfs: directory inode index is back Signed-off-by: Chris Mason commit 236454dfffb64a95ee01c50a215153f5de61c475 Author: Chris Mason Date: Thu Apr 19 13:37:44 2007 -0400 Btrfs: many file_write fixes, inline data Signed-off-by: Chris Mason commit a429e51371eee3c989160c003ee40bc3947c6a76 Author: Chris Mason Date: Wed Apr 18 16:15:28 2007 -0400 Btrfs: working file_write, reorganized key flags Signed-off-by: Chris Mason commit 70b2befd0c8a4064715d8b340270650cc9d15af8 Author: Chris Mason Date: Tue Apr 17 15:39:32 2007 -0400 Btrfs: rework csums and extent item ordering Signed-off-by: Chris Mason commit b18c6685810af8e6763760711aece31ccc7a8ea8 Author: Chris Mason Date: Tue Apr 17 13:26:50 2007 -0400 Btrfs: progress on file_write Signed-off-by: Chris Mason commit 6567e837df07e43bffc08ac40858af8133a007bf Author: Chris Mason Date: Mon Apr 16 09:22:45 2007 -0400 Btrfs: early work to file_write in big extents Signed-off-by: Chris Mason commit b4100d64241fed93a3f821ddf59d11ab4443a3ba Author: Chris Mason Date: Thu Apr 12 12:14:00 2007 -0400 Btrfs: add a device id to device items Signed-off-by: Chris Mason commit 8352d8a473ac84bf7a1c69690b626946d744ca58 Author: Chris Mason Date: Thu Apr 12 10:43:05 2007 -0400 Btrfs: add disk ioctl, mostly working Signed-off-by: Chris Mason commit 7eccb903a817e890c947ba4bc90c6a9af9b4219a Author: Chris Mason Date: Wed Apr 11 15:53:25 2007 -0400 Btrfs: create a logical->phsyical block number mapping scheme Signed-off-by: Chris Mason commit 0bd93ba022f5c1ddb4e5b722b02f3c4a4a8865ad Author: Chris Mason Date: Wed Apr 11 13:57:44 2007 -0400 Btrfs: early support for multiple devices Signed-off-by: Chris Mason commit cac87faa09f56776602d4b6f15c1bd44f6da300e Author: Chris Mason Date: Wed Apr 11 08:59:20 2007 -0400 Btrfs: use a dedicated inode num for root root dir Signed-off-by: Chris Mason commit 2d13d8d065cc7bbee6b1ad6ee3fe965d66badfe6 Author: Chris Mason Date: Tue Apr 10 20:07:20 2007 -0400 Btrfs: detect duplicate subvol names Signed-off-by: Chris Mason commit 2619ba1f0ff9540a9d84683310a1e350b5efde3d Author: Chris Mason Date: Tue Apr 10 16:58:11 2007 -0400 Btrfs: subvolumes Signed-off-by: Chris Mason commit 2932f3ec94ff0212313b8187064f93bcb76ce411 Author: Chris Mason Date: Tue Apr 10 14:22:02 2007 -0400 Btrfs: when forced to cow for file_write, get the page uptodate first Signed-off-by: Chris Mason commit 79b2cb1fa6430501907cb1384abbddf074833e45 Author: Chris Mason Date: Tue Apr 10 13:51:41 2007 -0400 Btrfs: only cow in get_block when create==1 Signed-off-by: Chris Mason commit 48ddc6f44b5a167c00573b6012727d674e9c667a Author: Chris Mason Date: Tue Apr 10 13:20:21 2007 -0400 Btrfs: cow file extents before writing Signed-off-by: Chris Mason commit d0dbc6245cefa36e19dff49c557ccf05e3063e9c Author: Chris Mason Date: Tue Apr 10 12:36:36 2007 -0400 Btrfs: drop owner and parentid Signed-off-by: Chris Mason commit 1b05da2ee6217e7d55460d04335813fec25be4ca Author: Chris Mason Date: Tue Apr 10 12:13:09 2007 -0400 Btrfs: drop the inode map tree Signed-off-by: Chris Mason commit c5739bba5260a59cebd20a51a55080592c8d3b07 Author: Chris Mason Date: Tue Apr 10 09:27:04 2007 -0400 Btrfs: snapshot progress Signed-off-by: Chris Mason commit 0f7d52f4431c530b4f39c524448c688bb7754de5 Author: Chris Mason Date: Mon Apr 9 10:42:37 2007 -0400 Btrfs: groundwork for subvolume and snapshot roots Signed-off-by: Chris Mason commit d6e4a428eb8f92bbb3537ccabadfb1195efb432b Author: Chris Mason Date: Fri Apr 6 15:37:36 2007 -0400 Btrfs: start of support for many FS volumes Signed-off-by: Chris Mason commit 3eb0314dc1053b1ae617dcc8d6d93f776c5baa31 Author: Chris Mason Date: Thu Apr 5 14:28:50 2007 -0400 Btrfs: uuids Signed-off-by: Chris Mason commit 5be6f7f174146d91039a27ebb2f1b4ac599172b3 Author: Chris Mason Date: Thu Apr 5 13:35:25 2007 -0400 Btrfs: dirindex optimizations Signed-off-by: Chris Mason commit 7fcde0e3298c00ee18e2ae7f01c67f99133ef7be Author: Chris Mason Date: Thu Apr 5 12:13:21 2007 -0400 Btrfs: finish off inode indexing in dirs, add overflows Signed-off-by: Chris Mason commit 5f26f772e5c4e833ffcb0599f54deda466d2a3e5 Author: Chris Mason Date: Thu Apr 5 10:38:44 2007 -0400 Btrfs: more inode indexed directory work Signed-off-by: Chris Mason commit bae45de03c4d54a9893dedf8a015beb2608b896a Author: Chris Mason Date: Wed Apr 4 21:22:22 2007 -0400 Btrfs: add dir inode index Signed-off-by: Chris Mason commit b1a4d96509a78ad234d94e0b914b289c60d2969d Author: Chris Mason Date: Wed Apr 4 15:27:52 2007 -0400 Btrfs: tweak the inode-map and free extent search starts on cold mount Signed-off-by: Chris Mason commit e8f05c4508aed906146919f2efa89242a7f90a8b Author: Chris Mason Date: Wed Apr 4 14:30:09 2007 -0400 Btrfs: disable inline data code for now Signed-off-by: Chris Mason commit d4dbff953e1f6f4079126c0404cc24f2ef14e925 Author: Chris Mason Date: Wed Apr 4 14:08:15 2007 -0400 Btrfs: support for items bigger than 1/2 the blocksize Signed-off-by: Chris Mason commit df24a2b9c9bcef3348e4b1a8f206cd484a248d36 Author: Chris Mason Date: Wed Apr 4 09:36:31 2007 -0400 Btrfs: early inline file data code Signed-off-by: Chris Mason commit 9d64272cd3be2aae71f89f7ababbee90a7587b33 Author: Chris Mason Date: Tue Apr 3 11:43:19 2007 -0400 Btrfs: don't wait on uptodate buffers on read Signed-off-by: Chris Mason commit 2da566edd8ce32ae2952b863ee634bcc2e7d63c1 Author: Chris Mason Date: Mon Apr 2 15:43:21 2007 -0400 Btrfs: csum_verify_file_block locking fix Signed-off-by: Chris Mason commit 7cfcc17e7f2334a0503331264c1340de4e564c85 Author: Chris Mason Date: Mon Apr 2 14:53:59 2007 -0400 Btrfs: corruptions fixed Signed-off-by: Chris Mason commit 5caf2a002901f0fde475371c4bf1c553b51884af Author: Chris Mason Date: Mon Apr 2 11:20:42 2007 -0400 Btrfs: dynamic allocation of path struct Signed-off-by: Chris Mason commit 2c90e5d658424bc71b111eb5a972240d5d06fe86 Author: Chris Mason Date: Mon Apr 2 10:50:19 2007 -0400 Btrfs: still corruption hunting Signed-off-by: Chris Mason commit d6025579531b7ea170ba283b171ff7a6bf7d0e12 Author: Chris Mason Date: Fri Mar 30 14:27:56 2007 -0400 Btrfs: corruption hunt continues Signed-off-by: Chris Mason commit 22b0ebda6c63a1ad66b6a9e806bd226a4a03a049 Author: Chris Mason Date: Fri Mar 30 08:47:31 2007 -0400 Btrfs: hunting slab corruption Signed-off-by: Chris Mason commit f254e52c1ce550fdaa0d31f5e068f0d67c2485d4 Author: Chris Mason Date: Thu Mar 29 15:15:27 2007 -0400 Btrfs: verify csums on read Signed-off-by: Chris Mason commit 75dfe3960e602e63ea42ac7a2a0520832b189ffa Author: Chris Mason Date: Thu Mar 29 11:56:46 2007 -0400 btrfs_file_write -- first pass Signed-off-by: Chris Mason commit 30ae8467483d7ab023b5e728bf7d74a575c78023 Author: Chris Mason Date: Thu Mar 29 09:59:15 2007 -0400 Btrfs: btree address space fixes Signed-off-by: Chris Mason commit 87cbda5c1f54aba67b1e318a4a4824c9e9f16324 Author: Chris Mason Date: Wed Mar 28 19:44:27 2007 -0400 Btrfs: sha256 csums on metadata Signed-off-by: Chris Mason commit d98237b3ede7ab98892f7fa62201a13694c526e2 Author: Chris Mason Date: Wed Mar 28 13:57:48 2007 -0400 Btrfs: use a btree inode instead of sb_getblk Signed-off-by: Chris Mason commit 5f443fd280c76a2170259cebaa4108c9daad6e1b Author: Chris Mason Date: Tue Mar 27 13:42:32 2007 -0400 btrfs_rmdir Signed-off-by: Chris Mason commit 9773a788681db1f5c2701b7433737fdca61a14ba Author: Chris Mason Date: Tue Mar 27 11:26:26 2007 -0400 Btrfs: byte offsets for file keys Signed-off-by: Chris Mason commit f4b9aa8d3b877d0a6044a6d6d9a44b29cab9e265 Author: Chris Mason Date: Tue Mar 27 11:05:53 2007 -0400 btrfs_truncate Signed-off-by: Chris Mason commit 71951f35a6e413f2bfbd41829af8cf10a890aeb6 Author: Chris Mason Date: Tue Mar 27 09:16:29 2007 -0400 Btrfs: add generation field to file extent Signed-off-by: Chris Mason commit 9a6f11ed8f421fb1cc7b37390e32316ff4701f5d Author: Chris Mason Date: Tue Mar 27 09:06:38 2007 -0400 Btrfs: split out level field in struct header Signed-off-by: Chris Mason commit 6407bf6d7c449cbfb0a39d985194e265eda3baf4 Author: Chris Mason Date: Tue Mar 27 06:33:00 2007 -0400 Btrfs: reference counts on data extents Signed-off-by: Chris Mason commit dee26a9f7aab7ffe1193cd1415b23a69426acc9f Author: Chris Mason Date: Mon Mar 26 16:00:06 2007 -0400 btrfs_get_block, file read/write Signed-off-by: Chris Mason commit 4730a4bc5bf3861d2cb40999374b3ac0ee2a1e0d Author: Chris Mason Date: Mon Mar 26 12:00:39 2007 -0400 btrfs_dirty_inode Signed-off-by: Chris Mason commit b52d63fecef89191ed52ab223e9b3b9bd7d615a6 Author: Chris Mason Date: Mon Mar 26 11:01:09 2007 -0400 Btrfs: TODO update Signed-off-by: Chris Mason commit 8ef97622caa2d5f78d1dc58ab918e2fbfa9b357a Author: Chris Mason Date: Mon Mar 26 10:15:30 2007 -0400 Btrfs: add a radix back bit tree Signed-off-by: Chris Mason commit f7922033efe957f79ae57f6026e93c8148e7f7ed Author: Chris Mason Date: Sun Mar 25 20:17:36 2007 -0400 btrfs_mkdir Signed-off-by: Chris Mason commit dcea79152cfb7cf244bdd9c23f4291831ffd6adf Author: Chris Mason Date: Sun Mar 25 14:03:08 2007 -0400 Btrfs: very simple readdir readahead Signed-off-by: Chris Mason commit 134e97313491c3a3d6bc3eca3b7c9c64408cbd08 Author: Chris Mason Date: Sun Mar 25 13:44:56 2007 -0400 Btrfs: unlink and delete_inode Signed-off-by: Chris Mason commit 78fae27ebf5bd35fb9b2e4213e486635eacfc0ad Author: Chris Mason Date: Sun Mar 25 11:35:08 2007 -0400 Btrfs: leak fixes, pinning fixes Signed-off-by: Chris Mason commit d561c025ee3a0aee53a225bedce0ee35fe12f335 Author: Chris Mason Date: Fri Mar 23 19:47:49 2007 -0400 Btrfs: very minimal locking Signed-off-by: Chris Mason commit 7f5c15160e1436a53d01f9190db11c2a3a4d788a Author: Chris Mason Date: Fri Mar 23 15:56:19 2007 -0400 Add generation number to btrfs_header, readdir fixes, hash collision fixes Signed-off-by: Chris Mason commit df2ce34c8801af8e00c7f82435fcb1e4b45a2759 Author: Chris Mason Date: Fri Mar 23 11:00:45 2007 -0400 Btrfs: properly set new buffers for new blocks up to date Signed-off-by: Chris Mason commit d571976292839cec05a2820b08f7629b145ed157 Author: Chris Mason Date: Fri Mar 23 10:01:08 2007 -0400 btrfs_create, btrfs_write_super, btrfs_sync_fs Signed-off-by: Chris Mason commit 79154b1b5bcf87903db7ff16a30b360b78d6fe4f Author: Chris Mason Date: Thu Mar 22 15:59:16 2007 -0400 Btrfs: transaction rework Signed-off-by: Chris Mason commit e20d96d64f9cf9288ffecc9ad4714e91c3b97ca8 Author: Chris Mason Date: Thu Mar 22 12:13:20 2007 -0400 Mountable btrfs, with readdir Signed-off-by: Chris Mason commit 2e635a278354a1a7951e16cfea4c247d6d0e7c99 Author: Chris Mason Date: Wed Mar 21 11:12:56 2007 -0400 Btrfs: initial move to kernel module land Signed-off-by: Chris Mason commit 1261ec42b3d3a3ad878bd172144940e3ac710749 Author: Chris Mason Date: Tue Mar 20 20:35:03 2007 -0400 Btrfs: Better block record keeping, real mkfs Signed-off-by: Chris Mason commit 293ffd5fd340428276fbbd24ce7b98bf6728466b Author: Chris Mason Date: Tue Mar 20 15:57:25 2007 -0400 Btrfs: change dir-test to insert inode_items Signed-off-by: Chris Mason commit 313a013bb927cfba849b1bb746e9112ba856e43a Author: Chris Mason Date: Tue Mar 20 14:51:12 2007 -0400 Btrfs: Update TODO Signed-off-by: Chris Mason commit 9f5fae2fe6dc35b46bf56183f11398451851cb3f Author: Chris Mason Date: Tue Mar 20 14:38:32 2007 -0400 Btrfs: Add inode map, and the start of file extent items Signed-off-by: Chris Mason commit 631d7d950a2f2706f5c86858402c1ec50b9801f1 Author: Chris Mason Date: Tue Mar 20 09:13:49 2007 -0400 Btrfs: add transaction.h to the Makefile Signed-off-by: Chris Mason commit 4068947886f2d2a4c192941397bacd014a04b804 Author: Chris Mason Date: Sat Mar 17 14:29:23 2007 -0400 Btrfs: minor comments Signed-off-by: Chris Mason commit e089f05c18ab36ed5fa7e2319052e03ab800d518 Author: Chris Mason Date: Fri Mar 16 16:20:31 2007 -0400 Btrfs: transaction handles everywhere Signed-off-by: Chris Mason commit 88fd146c27da0f34c512f47e2b3776a0762ecd81 Author: Chris Mason Date: Fri Mar 16 08:56:18 2007 -0400 Btrfs: pin freed blocks from the FS tree too Signed-off-by: Chris Mason commit a8a2ee0c600a213d13170c2f4d7bd0b304bbec19 Author: Chris Mason Date: Fri Mar 16 08:46:49 2007 -0400 Btrfs: add a name_len to dir items, reorder key Signed-off-by: Chris Mason commit 1e1d27017c5986c1ea81181506042cf9cba3f6ea Author: Chris Mason Date: Thu Mar 15 19:03:33 2007 -0400 Btrfs: add inode item Signed-off-by: Chris Mason commit 1d4f6404de26df49eb8452f8fdf7672b59f407fc Author: Chris Mason Date: Thu Mar 15 15:18:43 2007 -0400 Btrfs: directory testing code and dir item fixes Signed-off-by: Chris Mason commit 24af03ea5e765d57860c975efcdcd41ec7f63fd9 Author: Chris Mason Date: Thu Mar 15 12:57:43 2007 -0400 Btrfs: add hash.h Signed-off-by: Chris Mason commit 62e2749e03a855d98855f9ce032dbe72d5fad148 Author: Chris Mason Date: Thu Mar 15 12:56:47 2007 -0400 Btrfs: Use a chunk of the key flags to record the item type. Add (untested and simple) directory item code Fix comp_keys to use the new key ordering Add btrfs_insert_empty_item Signed-off-by: Chris Mason commit a1516c8921ce2c148b69493e858d95bc79c92f01 Author: Chris Mason Date: Wed Mar 14 14:26:53 2007 -0400 Btrfs: reorder key offset and flags Signed-off-by: Chris Mason commit 123abc88c9087b9c5605566ee3491aaef17fd837 Author: Chris Mason Date: Wed Mar 14 14:14:43 2007 -0400 Btrfs: variable block size support Signed-off-by: Chris Mason commit 4beb1b8b75a86373f6020103ab840448d14c8880 Author: Chris Mason Date: Wed Mar 14 10:31:29 2007 -0400 Btrfs: add leaf data casting helper Signed-off-by: Chris Mason commit 710874947aa0f81c3b348b052e81cb9075113c49 Author: Chris Mason Date: Wed Mar 14 09:20:39 2007 -0400 Btrfs: properly reset block cache on free Signed-off-by: Chris Mason commit 3768f3689fc76ecea17414936dff7a02746a4355 Author: Chris Mason Date: Tue Mar 13 16:47:54 2007 -0400 Btrfs: Change the super to point to a tree of trees to enable persistent snapshots Signed-off-by: Chris Mason commit eaee50e881b88766d9a781c54c4142456cf5e527 Author: Chris Mason Date: Tue Mar 13 11:17:52 2007 -0400 Btrfs: merge leaves before split Signed-off-by: Chris Mason commit 9aca1d51323c0291a7358e0728b64ec4f17d1a77 Author: Chris Mason Date: Tue Mar 13 11:09:37 2007 -0400 Btrfs: make some funcs static Signed-off-by: Chris Mason commit 234b63a091e1df6bd4261dd7b3a7490074830628 Author: Chris Mason Date: Tue Mar 13 10:46:10 2007 -0400 rename funcs and structs to btrfs Signed-off-by: Chris Mason commit cf27e1eec063fa68a89c57ae0a83f93aa38851d6 Author: Chris Mason Date: Tue Mar 13 09:49:06 2007 -0400 Btrfs: struct extent_item endian Signed-off-by: Chris Mason commit 1d4f8a0c1eca5586134b56a4114a7cd5e85e3560 Author: Chris Mason Date: Tue Mar 13 09:28:32 2007 -0400 Btrfs: node->blockptrs endian fixes Signed-off-by: Chris Mason commit 0783fcfc4dc19b8bb99bd51b7afa669ba4cbd377 Author: Chris Mason Date: Mon Mar 12 20:12:07 2007 -0400 Btrfs: struct item endian fixes Signed-off-by: Chris Mason commit e2fa7227cdf132d72e7410dd0679dc573a1c2618 Author: Chris Mason Date: Mon Mar 12 16:22:34 2007 -0400 Btrfs: struct key endian fixes Signed-off-by: Chris Mason commit bb492bb0a5453222109a72859353728959c2539d Author: Chris Mason Date: Mon Mar 12 12:29:44 2007 -0400 Btrfs: Add sparse endian annotations to struct header rename struct header to btrfs_header Signed-off-by: Chris Mason commit 7518a238ea0152dc849d1ed76d3cae8b44e12f46 Author: Chris Mason Date: Mon Mar 12 12:01:18 2007 -0400 Btrfs: get/set for struct header fields Signed-off-by: Chris Mason commit 83e15a28e046dbb4534dd263d1d3dc867a8994a2 Author: Chris Mason Date: Mon Mar 12 09:03:27 2007 -0400 fix leak in btrfs_drop_snapshot Signed-off-by: Chris Mason commit 20524f02260910db1e67bd5335d3854e5e555efc Author: Chris Mason Date: Sat Mar 10 06:35:47 2007 -0500 Btrfs: recursion free-first pass Signed-off-by: Chris Mason commit 0579da4280812f34f382fb0f8004d7b0219e7a33 Author: Chris Mason Date: Wed Mar 7 16:15:30 2007 -0500 Btrfs: Fixup last found extent caching Signed-off-by: Chris Mason commit 037e6390488af8ab96137e1e5cccc15ad14ef887 Author: Chris Mason Date: Wed Mar 7 11:50:24 2007 -0500 Btrfs: get rid of add recursion Signed-off-by: Chris Mason commit a28ec19775d62d673b034082128aca95780d3737 Author: Chris Mason Date: Tue Mar 6 20:08:01 2007 -0500 Btrfs: Fixup reference counting on cows Signed-off-by: Chris Mason commit 02217ed299c6340a35696e0610047eb96826de2d Author: Chris Mason Date: Fri Mar 2 16:08:05 2007 -0500 Btrfs: early reference counting Signed-off-by: Chris Mason commit 77ce6846c40e83193df01295e5af437f8b6c7a2d Author: Chris Mason Date: Fri Mar 2 10:06:43 2007 -0500 Btrfs: period commit during initial fill in the random tester Signed-off-by: Chris Mason commit f0930a37f1c096c3a8f6a17b1e251c7fdf4d4457 Author: Chris Mason Date: Fri Mar 2 09:47:58 2007 -0500 Btrfs: Fix extent code to use merge during delete Remove implicit commit in del_item and insert_item Add implicit commit to close() Add commit op in random-test Signed-off-by: Chris Mason commit ed2ff2cba766dfe7976a0113f667c9a0a50dff02 Author: Chris Mason Date: Thu Mar 1 18:59:40 2007 -0500 Btrfs: pretend page cache & commit code Signed-off-by: Chris Mason commit 79f95c82dca7665f32bafd68b7cdf4a01fab0840 Author: Chris Mason Date: Thu Mar 1 15:16:26 2007 -0500 Btrfs: Fixup the code to merge during path walks Add a bulk insert/remove test to random-test Add the quick-test code back as another regression test Signed-off-by: Chris Mason commit bb8039515d7c1b521ea22f095b43618ccc771885 Author: Chris Mason Date: Thu Mar 1 12:04:21 2007 -0500 Btrfs: merge on the way down during deletes Signed-off-by: Chris Mason commit 0f70abe2b39d19171d4133d2ffdf77fb9113106a Author: Chris Mason Date: Wed Feb 28 16:46:22 2007 -0500 Btrfs: more return code checking Signed-off-by: Chris Mason commit aa5d6bed255d7f8c655a8f10d760f4247bc8385c Author: Chris Mason Date: Wed Feb 28 16:35:06 2007 -0500 Btrfs: return code checking Signed-off-by: Chris Mason commit af86d07efe83e2f2da3658702a720bc48b1a6d78 Author: Chris Mason Date: Wed Feb 28 09:40:58 2007 -0500 Btrfs: Add sparse checking to Makefile Signed-off-by: Chris Mason commit 8e19f2cd452853d1ca0895c2488c24d40de3d255 Author: Chris Mason Date: Wed Feb 28 09:27:02 2007 -0500 Btrfs: Take out the merge-during-search-on-delete code, it is buggy. Signed-off-by: Chris Mason commit d16302ab0ed26e236e9bde8cd54fd604d7d97297 Author: Chris Mason Date: Mon Feb 26 14:26:58 2007 -0500 Btrfs: more 32 bit cleanups Signed-off-by: Chris Mason commit 41903fe666ff8e7b1d47ac7b2f5f9a91c7749498 Author: Chris Mason Date: Mon Feb 26 10:55:42 2007 -0500 Btrfs: 32bit cleanups Signed-off-by: Chris Mason commit 7cf75962acd27ed0f819df791486e7b803c7109c Author: Chris Mason Date: Mon Feb 26 10:55:01 2007 -0500 Btrfs: u64 cleanups Signed-off-by: Chris Mason commit c673024aba596e57c07196cb3400cdcc9d28f3aa Author: Chris Mason Date: Mon Feb 26 10:46:55 2007 -0500 Btrfs: fixup dbfile perms Signed-off-by: Chris Mason commit fec577fb7f516e0d12ff821b1af272fd754e120a Author: Chris Mason Date: Mon Feb 26 10:40:21 2007 -0500 Btrfs: Add fsx-style randomized tree tester Add debug-tree command to print the tree Add extent-tree.c to the repo Comment ctree.h Signed-off-by: Chris Mason commit 97571fd0c939be8ae9cb57a8c57430a244ce13ae Author: Chris Mason Date: Sat Feb 24 13:39:08 2007 -0500 Btrfs: cleanup & comment Signed-off-by: Chris Mason commit 00ec4c5161e0adcf8be3cd844cb40239dc393d70 Author: Chris Mason Date: Sat Feb 24 12:47:20 2007 -0500 Btrfs: push_leaf_right Signed-off-by: Chris Mason commit 5de08d7d50ba535b968d97101ed2ab07c2b8eb7d Author: Chris Mason Date: Sat Feb 24 06:24:44 2007 -0500 Btrfs: Break up ctree.c a little Extent fixes Signed-off-by: Chris Mason commit 9a8dd1502de6aa683ae46cf0397e9b6e636416fb Author: Chris Mason Date: Fri Feb 23 08:38:36 2007 -0500 Btrfs: Block sized tree extents and extent deletion Signed-off-by: Chris Mason commit 5c680ed620c2b69cf751aecf1a5e03ce2c89c7f3 Author: Chris Mason Date: Thu Feb 22 11:39:13 2007 -0500 Btrfs: switch to early splits Signed-off-by: Chris Mason commit cfaa72952fa7b44aa5d967cbc266110900552aef Author: Chris Mason Date: Wed Feb 21 17:04:57 2007 -0500 Btrfs: extent fixes Signed-off-by: Chris Mason commit 06ed4b316e8e24b6899ece7186c6a7a0129326ba Author: Chris Mason Date: Tue Feb 20 16:41:09 2007 -0500 Btrfs: add mkfs.c Signed-off-by: Chris Mason commit d97e63b69ef21c02b67e20e41d9968b0e503572e Author: Chris Mason Date: Tue Feb 20 16:40:44 2007 -0500 Btrfs: early extent mapping support Signed-off-by: Chris Mason commit 74123bd72a4e34c66e5ad95ce233dd352bebc572 Author: Chris Mason Date: Fri Feb 2 11:05:29 2007 -0500 Btrfs: Commenting/cleanup Signed-off-by: Chris Mason commit eb60ceac0ebd11e9896ed1ca84fcad71a4b23601 Author: Chris Mason Date: Fri Feb 2 09:18:22 2007 -0500 Btrfs: Add backing store, memory management Signed-off-by: Chris Mason commit 4920c9ac9a4bbc6bf9acd8c614987ee6b378e78f Author: Chris Mason Date: Fri Jan 26 16:38:42 2007 -0500 Btrfs: Faster deletes, add Makefile and kerncompat Signed-off-by: Chris Mason commit be0e5c097fc206b863ce9fe6b3cfd6974b0110f4 Author: Chris Mason Date: Fri Jan 26 15:51:26 2007 -0500 Btrfs: Initial checkin, basic working tree code Signed-off-by: Chris Mason