commit 01bf0b64579ead8a82e7cfc32ae44bc667e7ad0f Author: Linus Torvalds Date: Mon Apr 19 16:29:56 2010 -0700 Linux 2.6.34-rc5 commit e8a03feb54ca7f1768bbdc2b491f9ef654e6d01d Author: Rik van Riel Date: Wed Apr 14 17:59:28 2010 -0400 rmap: add exclusively owned pages to the newest anon_vma The recent anon_vma fixes cause many anonymous pages to end up in the parent process anon_vma, even when the page is exclusively owned by the current process. Adding exclusively owned anonymous pages to the top anon_vma reduces rmap scanning overhead, especially in workloads with forking servers. This patch adds a parameter to __page_set_anon_rmap that can be used to indicate whether or not the added page is exclusively owned by the current process. Pages added through page_add_new_anon_rmap are exclusively owned by the current process, and can be added to the top anon_vma. Pages added through page_add_anon_rmap can be either shared or exclusively owned, so we do the conservative thing and add it to the oldest anon_vma. A next step would be to add the exclusive parameter to page_add_anon_rmap, to be used from functions where we do know for sure whether a page is exclusively owned. Signed-off-by: Rik van Riel Reviewed-by: Johannes Weiner Lightly-tested-by: Borislav Petkov Reviewed-by: Minchan Kim [ Edited to look nicer - Linus ] Signed-off-by: Linus Torvalds commit 9b030e2006546366c832911ca5eb9e785408795b Merge: 76e506a 9f37622 Author: Linus Torvalds Date: Mon Apr 19 14:20:32 2010 -0700 Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/ecryptfs/ecryptfs-2.6 * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/ecryptfs/ecryptfs-2.6: eCryptfs: Turn lower lookup error messages into debug messages eCryptfs: Copy lower directory inode times and size on link ecryptfs: fix use with tmpfs by removing d_drop from ecryptfs_destroy_inode ecryptfs: fix error code for missing xattrs in lower fs eCryptfs: Decrypt symlink target for stat size eCryptfs: Strip metadata in xattr flag in encrypted view eCryptfs: Clear buffer before reading in metadata xattr eCryptfs: Rename ecryptfs_crypt_stat.num_header_bytes_at_front eCryptfs: Fix metadata in xattr feature regression commit 9f37622f897a90ad3c3da5c14d94d8f3ffc62b70 Author: Tyler Hicks Date: Thu Mar 25 11:16:56 2010 -0500 eCryptfs: Turn lower lookup error messages into debug messages Vaugue warnings about ENAMETOOLONG errors when looking up an encrypted file name have caused many users to become concerned about their data. Since this is a rather harmless condition, I'm moving this warning to only be printed when the ecryptfs_verbosity module param is 1. Signed-off-by: Tyler Hicks commit 3a8380c0754a7972668a46f645930910e304095c Author: Tyler Hicks Date: Tue Mar 23 18:09:02 2010 -0500 eCryptfs: Copy lower directory inode times and size on link The timestamps and size of a lower inode involved in a link() call was being copied to the upper parent inode. Instead, we should be copying lower parent inode's timestamps and size to the upper parent inode. I discovered this bug using the POSIX test suite at Tuxera. Signed-off-by: Tyler Hicks commit 133b8f9d632cc23715c6d72d1c5ac449e054a12a Author: Jeff Mahoney Date: Fri Mar 19 15:35:46 2010 -0400 ecryptfs: fix use with tmpfs by removing d_drop from ecryptfs_destroy_inode Since tmpfs has no persistent storage, it pins all its dentries in memory so they have d_count=1 when other file systems would have d_count=0. ->lookup is only used to create new dentries. If the caller doesn't instantiate it, it's freed immediately at dput(). ->readdir reads directly from the dcache and depends on the dentries being hashed. When an ecryptfs mount is mounted, it associates the lower file and dentry with the ecryptfs files as they're accessed. When it's umounted and destroys all the in-memory ecryptfs inodes, it fput's the lower_files and d_drop's the lower_dentries. Commit 4981e081 added this and a d_delete in 2008 and several months later commit caeeeecf removed the d_delete. I believe the d_drop() needs to be removed as well. The d_drop effectively hides any file that has been accessed via ecryptfs from the underlying tmpfs since it depends on it being hashed for it to be accessible. I've removed the d_drop on my development node and see no ill effects with basic testing on both tmpfs and persistent storage. As a side effect, after ecryptfs d_drops the dentries on tmpfs, tmpfs BUGs on umount. This is due to the dentries being unhashed. tmpfs->kill_sb is kill_litter_super which calls d_genocide to drop the reference pinning the dentry. It skips unhashed and negative dentries, but shrink_dcache_for_umount_subtree doesn't. Since those dentries still have an elevated d_count, we get a BUG(). This patch removes the d_drop call and fixes both issues. This issue was reported at: https://bugzilla.novell.com/show_bug.cgi?id=567887 Reported-by: Árpád Bíró Signed-off-by: Jeff Mahoney Cc: Dustin Kirkland Cc: stable@kernel.org Signed-off-by: Tyler Hicks commit cfce08c6bdfb20ade979284e55001ca1f100ed51 Author: Christian Pulvermacher Date: Tue Mar 23 11:51:38 2010 -0500 ecryptfs: fix error code for missing xattrs in lower fs If the lower file system driver has extended attributes disabled, ecryptfs' own access functions return -ENOSYS instead of -EOPNOTSUPP. This breaks execution of programs in the ecryptfs mount, since the kernel expects the latter error when checking for security capabilities in xattrs. Signed-off-by: Christian Pulvermacher Cc: stable@kernel.org Signed-off-by: Tyler Hicks commit 3a60a1686f0d51c99bd0df8ac93050fb6dfce647 Author: Tyler Hicks Date: Mon Mar 22 00:41:35 2010 -0500 eCryptfs: Decrypt symlink target for stat size Create a getattr handler for eCryptfs symlinks that is capable of reading the lower target and decrypting its path. Prior to this patch, a stat's st_size field would represent the strlen of the encrypted path, while readlink() would return the strlen of the decrypted path. This could lead to confusion in some userspace applications, since the two values should be equal. https://bugs.launchpad.net/bugs/524919 Reported-by: Loïc Minier Cc: stable@kernel.org Signed-off-by: Tyler Hicks commit 76e506a754c9519ba0a948b475a62f31fac8b599 Author: Linus Torvalds Date: Mon Apr 19 11:53:17 2010 -0700 Fix ISDN/Gigaset build failure Commit b91ecb00 ("gigaset: include cleanup cleanup") removed an implicit sched.h inclusion that came in via slab.h, and caused various compile problems as a result. This should fix it. Reported-by: Ingo Molnar Signed-off-by: Linus Torvalds commit 85341c61361cc45a9cc0e11c01e8f4479ef460ac Merge: 375db48 bc293d6 Author: Linus Torvalds Date: Mon Apr 19 08:35:47 2010 -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: Make RCU lockdep check the lockdep_recursion variable rcu: Update docs for rcu_access_pointer and rcu_dereference_protected rcu: Better explain the condition parameter of rcu_dereference_check() rcu: Add rcu_access_pointer and rcu_dereference_protected commit 375db4810b27306ea400ab39d3d6f7a063ac9ff6 Merge: 73c6c7f b91ecb0 Author: Linus Torvalds Date: Mon Apr 19 07:27:45 2010 -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: gigaset: include cleanup cleanup packet : remove init_net restriction WAN: flush tx_queue in hdlc_ppp to prevent panic on rmmod hw_driver. ip: Fix ip_dev_loopback_xmit() net: dev_pick_tx() fix fib: suppress lockdep-RCU false positive in FIB trie. tun: orphan an skb on tx forcedeth: fix tx limit2 flag check iwlwifi: work around bogus active chains detection commit 73c6c7fbb74d07a80fee41ce4ca3976547519e42 Merge: eb3e5cc 79b9517 Author: Linus Torvalds Date: Mon Apr 19 07:27:06 2010 -0700 Merge branch 'drm-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/airlied/drm-2.6 * 'drm-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/airlied/drm-2.6: drm/radeon/kms: add FireMV 2400 PCI ID. drm/radeon/kms: allow R500 regs VAP_ALT_NUM_VERTICES and VAP_INDEX_OFFSET drivers/gpu/radeon: Add MSPOS regs to safe list. drm/radeon/kms: disable the tv encoder when tv/cv is not in use drm/radeon/kms: adjust pll settings for tv drm/radeon/kms: fix tv dac conflict resolver drm/radeon/kms/evergreen: don't enable hdmi audio stuff drm/radeon/kms/atom: fix dual-link DVI on DCE3.2/4.0 drm/radeon/kms: fix rs600 tlb flush drm/radeon/kms: print GPU family and device id when loading drm/radeon/kms: fix calculation of mipmapped 3D texture sizes drm/radeon/kms: only change mode when coherent value changes. drm/radeon/kms: more atom parser fixes (v2) commit eb3e5cce2b39a266a1a167fa4290939db20ef5d6 Merge: 13bd8e4 b1cdbb5 Author: Linus Torvalds Date: Mon Apr 19 07:26:21 2010 -0700 Merge master.kernel.org:/home/rmk/linux-2.6-arm * master.kernel.org:/home/rmk/linux-2.6-arm: ARM: 5974/1: arm/mach-at91 Makefile: remove two blanks. ARM: 6052/1: kdump: make kexec work in interrupt context ARM: 6051/1: VFP: preserve the HW context when calling signal handlers ARM: 6050/1: VFP: fix the SMP versions of vfp_{sync,flush}_hwstate ARM: 6007/1: fix highmem with VIPT cache and DMA ARM: 5975/1: AT91 slow-clock suspend: don't wait when turning PLLs off commit 79b9517a33a283c5d9db875c263670ed1e055f7e Author: Dave Airlie Date: Mon Apr 19 17:54:31 2010 +1000 drm/radeon/kms: add FireMV 2400 PCI ID. This is an M24/X600 chip. From RH# 581927 cc: stable@kernel.org Signed-off-by: Dave Airlie commit bc293d62b26ec590afc90a9e0a31c45d355b7bd8 Author: Paul E. McKenney Date: Thu Apr 15 12:50:39 2010 -0700 rcu: Make RCU lockdep check the lockdep_recursion variable The lockdep facility temporarily disables lockdep checking by incrementing the current->lockdep_recursion variable. Such disabling happens in NMIs and in other situations where lockdep might expect to recurse on itself. This patch therefore checks current->lockdep_recursion, disabling RCU lockdep splats when this variable is non-zero. In addition, this patch removes the "likely()", as suggested by Lai Jiangshan. Reported-by: Frederic Weisbecker Reported-by: David Miller Tested-by: Frederic Weisbecker Signed-off-by: Paul E. McKenney Cc: laijs@cn.fujitsu.com Cc: dipankar@in.ibm.com Cc: mathieu.desnoyers@polymtl.ca Cc: josh@joshtriplett.org Cc: dvhltc@us.ibm.com Cc: niv@us.ibm.com Cc: peterz@infradead.org Cc: rostedt@goodmis.org Cc: Valdis.Kletnieks@vt.edu Cc: dhowells@redhat.com Cc: eric.dumazet@gmail.com LKML-Reference: <20100415195039.GA22623@linux.vnet.ibm.com> Signed-off-by: Ingo Molnar commit cae94b0ad9d147152af77b971a7234faf20027a9 Author: Marek Olšák Date: Sun Feb 21 21:24:15 2010 +0100 drm/radeon/kms: allow R500 regs VAP_ALT_NUM_VERTICES and VAP_INDEX_OFFSET [airlied: fix V_A_N_V to not be safe and fix check to make sure only r500 - bump userspace version] Signed-off-by: Marek Olšák Signed-off-by: Dave Airlie commit f12eebb0acbaa6dcb60ed34451f5b159f509b2c0 Author: Corbin Simpson Date: Sun Apr 11 12:34:00 2010 -0700 drivers/gpu/radeon: Add MSPOS regs to safe list. Permits MSAA and D3D-style rasterization. [airlied: add rs600] Signed-off-by: Corbin Simpson Signed-off-by: Dave Airlie commit d3a67a43b0460bae3e2ac14092497833344ac10d Author: Alex Deucher Date: Tue Apr 13 11:21:59 2010 -0400 drm/radeon/kms: disable the tv encoder when tv/cv is not in use Switching between TV and VGA caused VGA to break on some systems since the TV encoder was left enabled when VGA was used. fixes fdo bug 25520. Signed-off-by: Alex Deucher Cc: stable Signed-off-by: Dave Airlie commit a1a4b23b66039c814c3d3a9a28d76d34800eadc5 Author: Alex Deucher Date: Fri Apr 9 15:31:56 2010 -0400 drm/radeon/kms: adjust pll settings for tv May fix fdo bug 26582. Signed-off-by: Alex Deucher Signed-off-by: Dave Airlie commit 08d075116db3592db218bfe0f554cd93c9e12505 Author: Alex Deucher Date: Thu Apr 15 13:31:12 2010 -0400 drm/radeon/kms: fix tv dac conflict resolver On systems with the tv dac shared between DVI and TV, we can only use the dac for one of the connectors. However, when using a digital monitor on the DVI port, you can use the dac for the TV connector just fine. Check the use_digital status when resolving the conflict. Fixes fdo bug 27649, possibly others. Signed-off-by: Alex Deucher Cc: stable Signed-off-by: Dave Airlie commit 16823d16f55afc303af7864b9a055d8a1c012e1b Author: Alex Deucher Date: Fri Apr 16 11:35:30 2010 -0400 drm/radeon/kms/evergreen: don't enable hdmi audio stuff Signed-off-by: Alex Deucher Signed-off-by: Dave Airlie commit b317a9ce2259e64258a802a5ca70dec45ac15dda Author: Alex Deucher Date: Thu Apr 15 16:54:38 2010 -0400 drm/radeon/kms/atom: fix dual-link DVI on DCE3.2/4.0 Got broken during the evergreen merge. Fixes fdo bug 27001. Signed-off-by: Alex Deucher Signed-off-by: Dave Airlie commit 30f69f3fb20bd719b5e1bf879339914063d38f47 Author: Jerome Glisse Date: Fri Apr 16 18:46:35 2010 +0200 drm/radeon/kms: fix rs600 tlb flush Typo in in flush leaded to no flush of the RS600 tlb which ultimately leaded to massive system ram corruption, with this patch everythings seems to work properly. Signed-off-by: Jerome Glisse Cc: stable Signed-off-by: Dave Airlie commit 1b5331d9c6ae1f68db6359d227531ec42bc40d47 Author: Jerome Glisse Date: Mon Apr 12 20:21:53 2010 +0000 drm/radeon/kms: print GPU family and device id when loading This will help figuring out GPU when looking at bugs log. Signed-off-by: Jerome Glisse Signed-off-by: Dave Airlie commit b91ecb0027c7171c83d7cf443a22c39b1fde6d83 Author: Tilman Schmidt Date: Fri Apr 16 12:08:58 2010 +0000 gigaset: include cleanup cleanup Commit 5a0e3ad causes slab.h to be included twice in many of the Gigaset driver's source files, first via the common include file gigaset.h and then a second time directly. Drop the spares, and use the opportunity to clean up a few more similar cases. Impact: cleanup, no functional change Signed-off-by: Tilman Schmidt CC: Tejun Heo Acked-by: Tejun Heo Signed-off-by: David S. Miller commit 13bd8e4673d527a9e48f41956b11d391e7c2cfe0 Merge: d6f533c bfac4d6 Author: Linus Torvalds Date: Sat Apr 17 14:28:50 2010 -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: Ignore LVDS EDID when it is unavailabe or invalid drm/i915: Add no_lvds entry for the Clientron U800 drm/i915: Rename many remaining uses of "output" to encoder or connector. drm/i915: Rename intel_output to intel_encoder. agp/intel: intel_845_driver is an agp driver! drm/i915: introduce to_intel_bo helper drm/i915: Disable FBC on 915GM and 945GM. commit d6f533c8c7a4d83ed1c075f919a68031b9c67185 Merge: 6583294 bc39669 Author: Linus Torvalds Date: Sat Apr 17 10:58:38 2010 -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: EC: Limit burst to 64 bits commit 65832940eb74dca5ef1c8df086540825a00ad0c8 Merge: 1c1ec9c f1d486a Author: Linus Torvalds Date: Sat Apr 17 10:57:56 2010 -0700 Merge branch 'for-linus' of git://oss.sgi.com/xfs/xfs * 'for-linus' of git://oss.sgi.com/xfs/xfs: xfs: don't warn on EAGAIN in inode reclaim xfs: ensure that sync updates the log tail correctly commit 1c4f0197323254e463b642abf2c8361e2a924859 Author: Daniel Lezcano Date: Wed Apr 14 23:11:14 2010 +0000 packet : remove init_net restriction The af_packet protocol is used by Perl to do ioctls as reported by Stephane Riviere: "Net::RawIP relies on SIOCGIFADDR et SIOCGIFHWADDR to get the IP and MAC addresses of the network interface." But in a new network namespace these ioctl fail because it is disabled for a namespace different from the init_net_ns. These two lines should not be there as af_inet and af_packet are namespace aware since a long time now. I suppose we forget to remove these lines because we sent the af_packet first, before af_inet was supported. Signed-off-by: Daniel Lezcano Reported-by: Stephane Riviere Signed-off-by: David S. Miller commit 31f634a63de7068c6a5dcb0d7b09b24b61a5cf88 Author: Krzysztof Halasa Date: Wed Apr 14 14:09:52 2010 +0000 WAN: flush tx_queue in hdlc_ppp to prevent panic on rmmod hw_driver. tx_queue is used as a temporary queue when not allowed to queue skb directly to the hw device driver (which may sleep). Most paths flush it before returning, but ppp_start() currently cannot. Make sure we don't leave skbs pointing to a non-existent device. Thanks to Michael Barkowski for reporting this problem. Signed-off-by: Krzysztof Hałasa Signed-off-by: David S. Miller commit bc3966921ff9528ae44a4a108085ab06107c1e7d Merge: dc57da3 2060c44 Author: Len Brown Date: Fri Apr 16 16:08:07 2010 -0400 Merge branch 'bugzilla-15749' into release commit 2060c44576c79086ff24718878d7edaa7384a985 Author: Alexey Starikovskiy Date: Fri Apr 16 15:36:40 2010 -0400 ACPI: EC: Limit burst to 64 bits access_bit_width field is u8 in ACPICA, thus 256 value written to it becomes 0, causing divide by zero later. Proper fix would be to remove access_bit_width at all, just because we already have access_byte_width, which is access_bit_width / 8. Limit access width to 64 bit for now. https://bugzilla.kernel.org/show_bug.cgi?id=15749 fixes regression caused by the fix for: https://bugzilla.kernel.org/show_bug.cgi?id=14667 Signed-off-by: Alexey Starikovskiy Signed-off-by: Len Brown commit f1d486a3617a2f620b31224e4ace1496c4627e39 Author: Dave Chinner Date: Tue Apr 13 15:06:45 2010 +1000 xfs: don't warn on EAGAIN in inode reclaim Any inode reclaim flush that returns EAGAIN will result in the inode reclaim being attempted again later. There is no need to issue a warning into the logs about this situation. Signed-off-by: Dave Chinner Reviewed-by: Alex Elder Signed-off-by: Alex Elder commit b6f8dd49dbdbfa60a33bba3d4b766fe341109b4b Author: Dave Chinner Date: Tue Apr 13 15:06:44 2010 +1000 xfs: ensure that sync updates the log tail correctly Updates to the VFS layer removed an extra ->sync_fs call into the filesystem during the sync process (from the quota code). Unfortunately the sync code was unknowingly relying on this call to make sure metadata buffers were flushed via a xfs_buftarg_flush() call to move the tail of the log forward in memory before the final transactions of the sync process were issued. As a result, the old code would write a very recent log tail value to the log by the end of the sync process, and so a subsequent crash would leave nothing for log recovery to do. Hence in qa test 182, log recovery only replayed a small handle for inode fsync transactions in this case. However, with the removal of the extra ->sync_fs call, the log tail was now not moved forward with the inode fsync transactions near the end of the sync procese the first (and only) buftarg flush occurred after these transactions went to disk. The result is that log recovery now sees a large number of transactions for metadata that is already on disk. This usually isn't a problem, but when the transactions include inode chunk allocation, the inode create transactions and all subsequent changes are replayed as we cannt rely on what is on disk is valid. As a result, if the inode was written and contains unlogged changes, the unlogged changes are lost, thereby violating sync semantics. The fix is to always issue a transaction after the buftarg flush occurs is the log iѕ not idle or covered. This results in a dummy transaction being written that contains the up-to-date log tail value, which will be very recent. Indeed, it will be at least as recent as the old code would have left on disk, so log recovery will behave exactly as it used to in this situation. Signed-off-by: Dave Chinner Reviewed-by: Christoph Hellwig Signed-off-by: Alex Elder commit 1c1ec9c03efce5853f75e244ff368339767f7b9e Merge: 1f82982 aebaec9 Author: Linus Torvalds Date: Fri Apr 16 07:26:31 2010 -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] max63xx driver depends on ioremap() [WATCHDOG] max63xx: be careful when disabling the watchdog [WATCHDOG] fixed book E watchdog period register mask. [WATCHDOG] omap4: Fix WDT Kconfig commit 1f829825f21755c48de075cd7722fcd19438f587 Merge: dc57da3 923125c Author: Linus Torvalds Date: Fri Apr 16 07:25:48 2010 -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: ASoC: imx-ssi: do not call hrtimer_disable in trigger function ALSA: hda - Add position_fix quirk for Biostar mobo ALSA: hda - add a quirk for Clevo M570U laptop ASoC: imx-ssi: increase minimum periods to 4 ALSA: hda - Avoid invalid "Independent HP" control for VIA codecs ALSA: hda - Fix control element allocations in VIA codec parser ALSA: aaci - Fix alignment faults on ARM Cortex introduced by commit 29a4f2d3 ALSA: hda - Add fix-up for Sony VAIO with ALC269 ALSA: hda - Enhance fix-up table for Realtek codecs ALSA: usb - Fix Oops after usb-midi disconnection ALSA: hda - Fix initial capture source connections of ALC880/260 ALSA: hda - Fix setup for ALC269vb amic and dmic models ALSA: hda - Fix auto-parser of ALC269vb for HP pin NID 0x21 ASoC: imx-ssi: Use a hrtimer in FIQ mode ASoC: imx-pcm-dma-mx2: restart DMA after an error ASoC: imx-ssi: honor IMX_SSI_DMA flag ASoC: wm2000: remove unused #include ALSA: hda: Add support for Medion WIM2160 commit aebaec975f30c4db40bb418fe9117bb6b4655b1b Author: Geert Uytterhoeven Date: Wed Apr 7 19:57:02 2010 +0200 [WATCHDOG] max63xx driver depends on ioremap() Correct fix for the "ioremap() causes build failure on S390" should have been a dependancy on HAS_IOMEM. So we add this dependancy also (and leave the driver in the ARM section for now). Signed-off-by: Geert Uytterhoeven Signed-off-by: Wim Van Sebroeck commit b1183e064a3f95d27351b2d2c811b50bf4d770a4 Author: Marc Zyngier Date: Fri Apr 9 17:43:33 2010 +0100 [WATCHDOG] max63xx: be careful when disabling the watchdog When shutting down the watchdog timer, special care must be taken not to overwrite other bits in the register, as it may be shared with other peripherals. For example, on the Arcom Vulcan, the register is shared between the watchdog and the PCI reset line... Signed-off-by: Marc Zyngier Signed-off-by: Wim Van Sebroeck commit 0fb06571bbb5c72b4663c20f721323260ea802bf Author: Luuk Paulussen Date: Thu Apr 15 15:59:10 2010 +1200 [WATCHDOG] fixed book E watchdog period register mask. A previous fix changed the WDTP function to use the period directly, rather than subtracting from 63. However the mask generation was not changed, so the mask was coming out as 0. This patch fixes it. Signed-off-by: Luuk Paulussen Signed-off-by: Wim Van Sebroeck commit 77165a48edeaf4758588563c0592af6559e8b256 Author: Santosh Shilimkar Date: Wed Apr 7 13:17:22 2010 +0530 [WATCHDOG] omap4: Fix WDT Kconfig This patch allows Watchdog timer to be selected for OMAP4 by fixing Kconfig entry Signed-off-by: Santosh Shilimkar Signed-off-by: Wim Van Sebroeck commit 923125c6503efd3b8779e0df9ec5fcac6acda0b4 Merge: 872d65f 8815cd0 Author: Takashi Iwai Date: Fri Apr 16 10:03:48 2010 +0200 Merge branch 'fix/hda' into for-linus commit 872d65f674a8a420fdfe656cd66d1fa8e60f41a7 Merge: d336905 b68b58f Author: Takashi Iwai Date: Fri Apr 16 10:03:42 2010 +0200 Merge branch 'fix/misc' into for-linus commit d336905e00f208bcb89c719022c11dd3d976597a Merge: 0d0fb0f 8392609 Author: Takashi Iwai Date: Fri Apr 16 10:03:36 2010 +0200 Merge branch 'fix/asoc' into for-linus commit 334656f33c43921cf383dfd0220dfd34376bcd98 Merge: e30b38c 8b9fce7 Author: David S. Miller Date: Thu Apr 15 14:28:46 2010 -0700 Merge branch 'master' of git://git.kernel.org/pub/scm/linux/kernel/git/linville/wireless-2.6 commit e30b38c298b55e09456d3ccbc1df2f3e2e8dc6e9 Author: Eric Dumazet Date: Thu Apr 15 09:13:03 2010 +0000 ip: Fix ip_dev_loopback_xmit() Eric Paris got following trace with a linux-next kernel [ 14.203970] BUG: using smp_processor_id() in preemptible [00000000] code: avahi-daemon/2093 [ 14.204025] caller is netif_rx+0xfa/0x110 [ 14.204035] Call Trace: [ 14.204064] [] debug_smp_processor_id+0x105/0x110 [ 14.204070] [] netif_rx+0xfa/0x110 [ 14.204090] [] ip_dev_loopback_xmit+0x71/0xa0 [ 14.204095] [] ip_mc_output+0x192/0x2c0 [ 14.204099] [] ip_local_out+0x20/0x30 [ 14.204105] [] ip_push_pending_frames+0x28d/0x3d0 [ 14.204119] [] udp_push_pending_frames+0x14c/0x400 [ 14.204125] [] udp_sendmsg+0x39c/0x790 [ 14.204137] [] inet_sendmsg+0x45/0x80 [ 14.204149] [] sock_sendmsg+0xf1/0x110 [ 14.204189] [] sys_sendmsg+0x20c/0x380 [ 14.204233] [] system_call_fastpath+0x16/0x1b While current linux-2.6 kernel doesnt emit this warning, bug is latent and might cause unexpected failures. ip_dev_loopback_xmit() runs in process context, preemption enabled, so must call netif_rx_ni() instead of netif_rx(), to make sure that we process pending software interrupt. Same change for ip6_dev_loopback_xmit() Reported-by: Eric Paris Signed-off-by: Eric Dumazet Signed-off-by: David S. Miller commit dc57da3875f527b1cc195ea4ce5bd32e1e68433d Merge: 2fed94c 2b2f862 Author: Linus Torvalds Date: Thu Apr 15 12:20:56 2010 -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/gart: Disable GART explicitly before initialization dma-debug: Cleanup for copy-loop in filter_write() x86/amd-iommu: Remove obsolete parameter documentation x86/amd-iommu: use for_each_pci_dev Revert "x86: disable IOMMUs on kernel crash" x86/amd-iommu: warn when issuing command to uninitialized cmd buffer x86/amd-iommu: enable iommu before attaching devices x86/amd-iommu: Use helper function to destroy domain x86/amd-iommu: Report errors in acpi parsing functions upstream x86/amd-iommu: Pt mode fix for domain_destroy x86/amd-iommu: Protect IOMMU-API map/unmap path x86/amd-iommu: Remove double NULL check in check_device commit 2fed94c032316d89422d4abfca2a882897489b94 Merge: 00eef7b 19b3eec Author: Linus Torvalds Date: Thu Apr 15 11:56:20 2010 -0700 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: cdev: change license of exported header files to MIT license firewire: cdev: comment fixlet firewire: cdev: iso packet documentation firewire: cdev: fix information leak firewire: cdev: require quadlet-aligned headers for transmit packets firewire: cdev: disallow receive packets without header commit 00eef7bd01c7598d195699983c5290d901df19ad Merge: 250541f 014f615 Author: Linus Torvalds Date: Thu Apr 15 11:49:55 2010 -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: wacom - switch mode upon system resume Revert "Input: wacom - merge out and in prox events" Input: matrix_keypad - allow platform to disable key autorepeat Input: ALPS - add signature for HP Pavilion dm3 laptops Input: i8042 - spelling fix Input: sparse-keymap - implement safer freeing of the keymap Input: update the status of the Multitouch X driver project Input: clarify the no-finger event in multitouch protocol Input: bcm5974 - retract efi-broken suspend_resume Input: sparse-keymap - free the right keymap on error commit 014f61504af276ba9d9544d8a7401d8f8526eb73 Author: Ping Cheng Date: Tue Apr 13 23:07:52 2010 -0700 Input: wacom - switch mode upon system resume When Wacom devices wake up from a sleep, the switch mode command (wacom_query_tablet_data) is needed before wacom_open is called. wacom_query_tablet_data should not be executed inside wacom_open since wacom_open is called more than once during probe. wacom_retrieve_hid_descriptor is removed from wacom_resume due to the fact that the required descriptors are stored properly upon system resume. Reported-and-tested-by: Anton Anikin Signed-off-by: Ping Cheng Cc: stable@kernel.org Signed-off-by: Dmitry Torokhov commit 8392609969b3b37a4da5cff08161661f7a8c16af Author: Sascha Hauer Date: Wed Apr 14 09:17:30 2010 +0200 ASoC: imx-ssi: do not call hrtimer_disable in trigger function Doing so causes a deadlock, so just signal the timer to stop using an atomic variable. Signed-off-by: Sascha Hauer Acked-by: Liam Girdwood Signed-off-by: Mark Brown commit 19b3eecc21b65a24b0aae2684ca0c8e1b99ef802 Author: Stefan Richter Date: Sun Apr 11 11:52:12 2010 +0200 firewire: cdev: change license of exported header files to MIT license Among else, this allows projects like libdc1394 to carry copies of the ABI related header files without them or distributors having to worry about effects on the project's overall license terms. Switch to MIT license as suggested by Kristian. Also update the year in the copyright statement according to source history. Cc: Jay Fenlason Acked-by: Clemens Ladisch Signed-off-by: Stefan Richter Signed-off-by: Kristian Høgsberg commit 8728c544a9cbdcb0034aa5c45706c5f953f030ee Author: Eric Dumazet Date: Sun Apr 11 21:18:17 2010 +0000 net: dev_pick_tx() fix When dev_pick_tx() caches tx queue_index on a socket, we must check socket dst_entry matches skb one, or risk a crash later, as reported by Denys Fedorysychenko, if old packets are in flight during a route change, involving devices with different number of queues. Bug introduced by commit a4ee3ce3 (net: Use sk_tx_queue_mapping for connected sockets) Reported-by: Denys Fedorysychenko Signed-off-by: Eric Dumazet Signed-off-by: David S. Miller commit 8815cd030fdd73932a791d1f06194c8db807cde7 Author: Takashi Iwai Date: Thu Apr 15 09:02:41 2010 +0200 ALSA: hda - Add position_fix quirk for Biostar mobo The Biostar mobo seems to give a wrong DMA position, resulting in stuttering or skipping sounds on 2.6.34. Since the commit 7b3a177b0d4f92b3431b8dca777313a07533a710, "ALSA: pcm_lib: fix "something must be really wrong" condition", makes the position check more strictly, the DMA position problem is revealed more clearly now. The fix is to use only LPIB for obtaining the position, i.e. passing position_fix=1. This patch adds a static quirk to achieve it as default. Reported-by: Frank Griffin Cc: Eric Piel Signed-off-by: Takashi Iwai commit d1501ea844eefdf925f6b711875b4b2b928fddf8 Author: Joerg Schirottke Date: Thu Apr 15 08:37:41 2010 +0200 ALSA: hda - add a quirk for Clevo M570U laptop Added the matching model for Clevo laptop M570U. Signed-off-by: Joerg Schirottke Tested-by: Maximilian Gerhard Cc: Signed-off-by: Takashi Iwai commit 250541fca717a5c9b0d3710e737b2ca32ebb6fbc Merge: 96e35b4 6c9ff10 Author: Linus Torvalds Date: Wed Apr 14 18:46:03 2010 -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: SELinux: Reduce max avtab size to avoid page allocation failures commit 96e35b40c0d6206f56370f937f6f4722739eb273 Merge: f5c07a2 a6a5349 Author: Linus Torvalds Date: Wed Apr 14 18:45:31 2010 -0700 Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/sage/ceph-client * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/sage/ceph-client: ceph: use separate class for ceph sockets' sk_lock ceph: reserve one more caps space when doing readdir ceph: queue_cap_snap should always queue dirty context ceph: fix dentry reference leak in dcache readdir ceph: decode v5 of osdmap (pool names) [protocol change] ceph: fix ack counter reset on connection reset ceph: fix leaked inode ref due to snap metadata writeback race ceph: fix snap context reference leaks ceph: allow writeback of snapped pages older than 'oldest' snapc ceph: fix dentry rehashing on virtual .snap dir commit f5c07a2d8acfc98e00d3be6298f979e5b3175953 Merge: 7223b91 d618540 Author: Linus Torvalds Date: Wed Apr 14 18:45:14 2010 -0700 Merge branch 'hwmon-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jdelvare/staging * 'hwmon-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jdelvare/staging: hwmon: (applesmc) Switch maintainers hwmon: (applesmc) Add iMac9,1 and MacBookPro2,2 support hwmon: (it87) Invalidate cache on temperature sensor change hwmon: (it87) Properly handle wrong sensor type requests hwmon: (it87) Don't arbitrarily enable temperature channels hwmon: (sht15) Properly handle the case CONFIG_REGULATOR=n hwmon: (sht15) Fix sht15_calc_temp interpolation function commit 7223b915421716b4e57ffb7e13f41f1b926db55c Merge: d471a4b 091ebf0 Author: Linus Torvalds Date: Wed Apr 14 18:44:29 2010 -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: stop using KVM hypercall mechanism lguest: workaround cmpxchg8b_emu by ignoring cli in the guest. commit d471a4b9f2ac327c15300ba2b2bda2c6d6fd03bc Merge: 4e310fd b560177 Author: Linus Torvalds Date: Wed Apr 14 18:44:00 2010 -0700 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: Fix asm constraints for atomic_sub_and_test() and atomic_add_negative() m68k: Fix `struct sigcontext' for ColdFire commit 565a79f74af96ae90dfec411da14dc38d2cd56bc Author: Sascha Hauer Date: Wed Apr 14 09:17:31 2010 +0200 ASoC: imx-ssi: increase minimum periods to 4 Currently the notification of elapsed periods is not very exact. Increase minimum periods to 4 as suggested by Liam Girdwood. Signed-off-by: Sascha Hauer Acked-by: Liam Girdwood Signed-off-by: Mark Brown commit 6c9ff1013b7a21099da838eeef7c3f23ee347957 Author: Stephen Smalley Date: Mon Mar 15 10:42:11 2010 -0400 SELinux: Reduce max avtab size to avoid page allocation failures Reduce MAX_AVTAB_HASH_BITS so that the avtab allocation is an order 2 allocation rather than an order 4 allocation on x86_64. This addresses reports of page allocation failures: http://marc.info/?l=selinux&m=126757230625867&w=2 https://bugzilla.redhat.com/show_bug.cgi?id=570433 Reported-by: Russell Coker Signed-off-by: Stephen D. Smalley Acked-by: Eric Paris Signed-off-by: James Morris commit 4eaa0e3c869acd5dbc7c2e3818a9ae9cbf221d27 Author: Eric Dumazet Date: Wed Apr 14 16:13:29 2010 -0700 fib: suppress lockdep-RCU false positive in FIB trie. Followup of commit 634a4b20 Allow tnode_get_child_rcu() to be called either under rcu_read_lock() protection or with RTNL held. Signed-off-by: Eric Dumazet Signed-off-by: Paul E. McKenney Signed-off-by: David S. Miller commit b560177f3e1c6b2d75b220d41ae72636243475c4 Author: Geert Uytterhoeven Date: Sun Mar 21 10:52:21 2010 +0100 m68k: Fix asm constraints for atomic_sub_and_test() and atomic_add_negative() Recently, we started seeing this on allmodconfig builds: CC mm/memcontrol.o {standard input}: Assembler messages: {standard input}:4076: Error: operands mismatch -- statement `subl 12(%fp),170(%a0)' ignored Correct the asm constraint, like done for m68knommu. Signed-off-by: Geert Uytterhoeven commit 1aac4effad4ea52da94eb13b12e0ca1731407ee4 Author: Maxim Kuvyrkov Date: Wed Mar 3 16:53:45 2010 +0300 m68k: Fix `struct sigcontext' for ColdFire LibSegFault uses piggybacks sc_fpstate field of the `struct sigcontext' and this patch avoids LibSegFault overflowing this field. Also this removes an unnecessary divergence from classic m68k. Signed-off-by: Maxim Kuvyrkov Signed-off-by: Geert Uytterhoeven commit 4e310fda91cb095915395f811d10b2c900c9589e Author: Joe Perches Date: Wed Apr 14 09:27:40 2010 -0700 vsprintf: Change struct printf_spec.precision from s8 to s16 Commit ef0658f3de484bf9b173639cd47544584e01efa5 changed precision from int to s8. There is existing kernel code that uses a larger precision. An example from the audit code: vsnprintf(...,..., " msg='%.1024s'", (char *)data); which overflows precision and truncates to nothing. Extending precision size fixes the audit system issue. Other changes: Change the size of the struct printf_spec.type from u16 to u8 so sizeof(struct printf_spec) stays as small as possible. Reorder the struct members so sizeof(struct printf_spec) remains 64 bits without alignment holes. Document the struct members a bit more. Original-patch-by: Eric Paris Signed-off-by: Joe Perches Tested-by: Justin P. Mattock Signed-off-by: Linus Torvalds commit d618540fb3e5b74e16aec8201d2d0de6f02633cb Author: Henrik Rydberg Date: Wed Apr 14 16:14:11 2010 +0200 hwmon: (applesmc) Switch maintainers Nicolas has expressed a wish to be relieved from the maintenance of applesmc, so we simply switch maintainer with this patch. Signed-off-by: Henrik Rydberg Acked-by: Nicolas Boichat Signed-off-by: Jean Delvare commit e1741712e85cec8004c7eeeea81186618f78eff1 Author: Justin P. Mattock Date: Wed Apr 14 16:14:10 2010 +0200 hwmon: (applesmc) Add iMac9,1 and MacBookPro2,2 support Add the iMac9,1 and the MacBookPro2,2 temperature sensors to hwmon driver applesmc to fix kernel bug #14429: https://bugzilla.kernel.org/show_bug.cgi?id=14429 Signed-off-by: Justin P. Mattock Acked-by: Nicolas Boichat Signed-off-by: Jean Delvare commit 2b3d1d87eaabf422a42440351ff3be1792d35852 Author: Jean Delvare Date: Wed Apr 14 16:14:10 2010 +0200 hwmon: (it87) Invalidate cache on temperature sensor change When any temperature sensor type is changed, the corresponding temperature value needs to be updated. The register caching mechanism may delay this update, so we want to invalidate the cache to force an immediate update. Signed-off-by: Jean Delvare commit 8acf07c5a7674e53f2d320d540aec5d714b105cf Author: Jean Delvare Date: Wed Apr 14 16:14:09 2010 +0200 hwmon: (it87) Properly handle wrong sensor type requests Currently, if someone tries to set the thermal sensor type to an unsupported value, subsequent accesses to the chip may temporarily show the sensor in question as disabled. Use a temporary variable and only update the cached value on success, to prevent such confusion. Signed-off-by: Jean Delvare commit a00afb97e23fd904b12a3f4de3237d8ab2f68738 Author: Jean Delvare Date: Wed Apr 14 16:14:09 2010 +0200 hwmon: (it87) Don't arbitrarily enable temperature channels Temperature channels can be used in 2 different modes (thermistor and thermal diode) and we don't know which one, if any, is correct for every given board. So don't arbitrarily choose one. Instead, leave the temperature channels untouched. They can be configured from user-space if needed anyway. Signed-off-by: Jean Delvare commit c7a78d2c2e2537fd24903e966f34aae50319d587 Author: Jean Delvare Date: Wed Apr 14 16:14:08 2010 +0200 hwmon: (sht15) Properly handle the case CONFIG_REGULATOR=n When CONFIG_REGULATOR isn't set, regulator_get_voltage() returns 0. Properly handle this case by not trusting the value. Reported-by: Jerome Oufella Signed-off-by: Jean Delvare Cc: Jonathan Cameron Acked-by: Mark Brown Cc: stable@kernel.org commit 328a2c22abd08911e37fa66f1358f829cecd72e9 Author: Jerome Oufella Date: Wed Apr 14 16:14:07 2010 +0200 hwmon: (sht15) Fix sht15_calc_temp interpolation function I discovered two issues. First the previous sht15_calc_temp() loop did not iterate through the temppoints array since the (data->supply_uV > temppoints[i - 1].vdd) test is always true in this direction. Also the two-points linear interpolation function was returning biased values due to a stray division by 1000 which shouldn't be there. [JD: Also change the default value for d1 from 0 to something saner.] Signed-off-by: Jerome Oufella Acked-by: Jonathan Cameron Signed-off-by: Jean Delvare Cc: stable@kernel.org commit 3d83e577a8206f0f3822a3840e12f76477142ba2 Author: Takashi Iwai Date: Wed Apr 14 14:36:23 2010 +0200 ALSA: hda - Avoid invalid "Independent HP" control for VIA codecs Some VIA codecs have no multiple source selection for headphone pins, thus it's useless (and wrong) to create "Independent HP" control on them. This patch adds the check of connections to skip the control in such a case. Signed-off-by: Takashi Iwai commit b331439dfd41dc813b3557ca5927a3a644f35792 Author: Takashi Iwai Date: Wed Apr 14 14:33:57 2010 +0200 ALSA: hda - Fix control element allocations in VIA codec parser The commit 5b0cb1d850c26893b1468b3a519433a1b7a176be ALSA: hda - add more NID->Control mapping breaks the control element allocation by returning a wrong value. Let's fix it. Signed-off-by: Takashi Iwai commit 091ebf07a2408f9a56634caa0f86d9360e9af23b Author: Rusty Russell Date: Wed Apr 14 21:43:54 2010 -0600 lguest: stop using KVM hypercall mechanism This is a partial revert of 4cd8b5e2a159 "lguest: use KVM hypercalls"; we revert to using (just as questionable but more reliable) int $15 for hypercalls. I didn't revert the register mapping, so we still use the same calling convention as kvm. KVM in more recent incarnations stopped injecting a fault when a guest tried to use the VMCALL instruction from ring 1, so lguest under kvm fails to make hypercalls. It was nice to share code with our KVM cousins, but this was overreach. Signed-off-by: Rusty Russell Cc: Matias Zabaljauregui Cc: Avi Kivity commit 5094aeafbbd500509f648e3cd102b053bc7926b3 Author: Rusty Russell Date: Wed Apr 14 21:43:53 2010 -0600 lguest: workaround cmpxchg8b_emu by ignoring cli in the guest. It's only used by cmpxchg8b_emu (see db677ffa5f5a for the gory details), and fixing that to be paravirt aware would be more work than simply ignoring it (and AFAICT only help lguest). This makes lguest work on machines which have cmpxchg8b, for kernels compiled for older processors. (We can't emulate it properly: the popf which expects to restore interrupts does not trap). Signed-off-by: Rusty Russell Cc: Jeremy Fitzhardinge Cc: virtualization@lists.osdl.org commit 0110d6f22f392f976e84ab49da1b42f85b64a3c5 Author: Michael S. Tsirkin Date: Tue Apr 13 04:59:44 2010 +0000 tun: orphan an skb on tx The following situation was observed in the field: tap1 sends packets, tap2 does not consume them, as a result tap1 can not be closed. This happens because tun/tap devices can hang on to skbs undefinitely. As noted by Herbert, possible solutions include a timeout followed by a copy/change of ownership of the skb, or always copying/changing ownership if we're going into a hostile device. This patch implements the second approach. Note: one issue still remaining is that since skbs keep reference to tun socket and tun socket has a reference to tun device, we won't flush backlog, instead simply waiting for all skbs to get transmitted. At least this is not user-triggerable, and this was not reported in practice, my assumption is other devices besides tap complete an skb within finite time after it has been queued. A possible solution for the second issue would not to have socket reference the device, instead, implement dev->destructor for tun, and wait for all skbs to complete there, but this needs some thought, probably too risky for 2.6.34. Signed-off-by: Michael S. Tsirkin Tested-by: Yan Vugenfirer Acked-by: Herbert Xu Signed-off-by: David S. Miller commit b1cdbb5f8342d99b732c5535ee7d2de8e7b2cc2e Author: Ernst Schwab Date: Thu Mar 4 10:15:39 2010 +0100 ARM: 5974/1: arm/mach-at91 Makefile: remove two blanks. Cosmetic change to mach-at91 Makefile: remove two blanks introduced by earlier patches. Signed-off-by: Ernst Schwab Signed-off-by: Russell King commit 50aec0024eccb1d5f540ab64a1958eebcdb9340c Author: Paul E. McKenney Date: Fri Apr 9 15:39:12 2010 -0700 rcu: Update docs for rcu_access_pointer and rcu_dereference_protected Update examples and lists of APIs to include these new primitives. Signed-off-by: Paul E. McKenney Cc: laijs@cn.fujitsu.com Cc: dipankar@in.ibm.com Cc: mathieu.desnoyers@polymtl.ca Cc: josh@joshtriplett.org Cc: dvhltc@us.ibm.com Cc: niv@us.ibm.com Cc: peterz@infradead.org Cc: rostedt@goodmis.org Cc: Valdis.Kletnieks@vt.edu Cc: dhowells@redhat.com Cc: eric.dumazet@gmail.com LKML-Reference: <1270852752-25278-3-git-send-email-paulmck@linux.vnet.ibm.com> Signed-off-by: Ingo Molnar commit c08c68dd76bd6b776bc0eb45a5e8f354ed772cdf Author: David Howells Date: Fri Apr 9 15:39:11 2010 -0700 rcu: Better explain the condition parameter of rcu_dereference_check() Better explain the condition parameter of rcu_dereference_check() that describes the conditions under which the dereference is permitted to take place (and incorporate Yong Zhang's suggestion). This condition is only checked under lockdep proving. Signed-off-by: David Howells Signed-off-by: Paul E. McKenney Cc: laijs@cn.fujitsu.com Cc: dipankar@in.ibm.com Cc: mathieu.desnoyers@polymtl.ca Cc: josh@joshtriplett.org Cc: dvhltc@us.ibm.com Cc: niv@us.ibm.com Cc: peterz@infradead.org Cc: rostedt@goodmis.org Cc: Valdis.Kletnieks@vt.edu Cc: eric.dumazet@gmail.com LKML-Reference: <1270852752-25278-2-git-send-email-paulmck@linux.vnet.ibm.com> Signed-off-by: Ingo Molnar commit b62730baea32f86fe91a7930e4b7ee8d82778b79 Author: Paul E. McKenney Date: Fri Apr 9 15:39:10 2010 -0700 rcu: Add rcu_access_pointer and rcu_dereference_protected This patch adds variants of rcu_dereference() that handle situations where the RCU-protected data structure cannot change, perhaps due to our holding the update-side lock, or where the RCU-protected pointer is only to be fetched, not dereferenced. These are needed due to some performance concerns with using rcu_dereference() where it is not required, aside from the need for lockdep/sparse checking. The new rcu_access_pointer() primitive is for the case where the pointer is be fetch and not dereferenced. This primitive may be used without protection, RCU or otherwise, due to the fact that it uses ACCESS_ONCE(). The new rcu_dereference_protected() primitive is for the case where updates are prevented, for example, due to holding the update-side lock. This primitive does neither ACCESS_ONCE() nor smp_read_barrier_depends(), so can only be used when updates are somehow prevented. Suggested-by: David Howells Signed-off-by: Paul E. McKenney Cc: laijs@cn.fujitsu.com Cc: dipankar@in.ibm.com Cc: mathieu.desnoyers@polymtl.ca Cc: josh@joshtriplett.org Cc: dvhltc@us.ibm.com Cc: niv@us.ibm.com Cc: peterz@infradead.org Cc: rostedt@goodmis.org Cc: Valdis.Kletnieks@vt.edu Cc: dhowells@redhat.com Cc: eric.dumazet@gmail.com LKML-Reference: <1270852752-25278-1-git-send-email-paulmck@linux.vnet.ibm.com> Signed-off-by: Ingo Molnar commit 3f2d4f561fab4588344cc519fd323382ab950928 Author: Mika Westerberg Date: Tue Apr 13 07:01:46 2010 +0100 ARM: 6052/1: kdump: make kexec work in interrupt context When crash happens in interrupt context there is no userspace context. We always use current->active_mm in those cases. Signed-off-by: Mika Westerberg Signed-off-by: Russell King commit 82c6f5a5b3e91ef4d2fb8725de4b8cf7affd4d61 Author: Imre Deak Date: Sun Apr 11 15:58:27 2010 +0100 ARM: 6051/1: VFP: preserve the HW context when calling signal handlers From: Imre Deak Signal handlers can use floating point, so prevent them to corrupt the main thread's VFP context. So far there were two signal stack frame formats defined based on the VFP implementation, but the user struct used for ptrace covers all posibilities, so use it for the signal stack too. Introduce also a new user struct for VFP exception registers. In this too fields not relevant to the current VFP architecture are ignored. Support to save / restore the exception registers was added by Will Deacon. Signed-off-by: Imre Deak Signed-off-by: Will Deacon Signed-off-by: Russell King commit 5c5cac63851f347d8308d69f1892c4af51d7c1a4 Author: Imre Deak Date: Sun Apr 11 15:57:07 2010 +0100 ARM: 6050/1: VFP: fix the SMP versions of vfp_{sync,flush}_hwstate From: Imre Deak Recently the UP versions of these functions were refactored and as a side effect it became possible to call them for the current thread. This isn't true for the SMP versions however, so fix this up. Signed-off-by: Imre Deak Signed-off-by: Russell King commit 7e5a69e83ba7a0d5917ad830f417cba8b8d6aa72 Author: Nicolas Pitre Date: Mon Mar 29 21:46:02 2010 +0100 ARM: 6007/1: fix highmem with VIPT cache and DMA The VIVT cache of a highmem page is always flushed before the page is unmapped. This cache flush is explicit through flush_cache_kmaps() in flush_all_zero_pkmaps(), or through __cpuc_flush_dcache_area() in kunmap_atomic(). There is also an implicit flush of those highmem pages that were part of a process that just terminated making those pages free as the whole VIVT cache has to be flushed on every task switch. Hence unmapped highmem pages need no cache maintenance in that case. However unmapped pages may still be cached with a VIPT cache because the cache is tagged with physical addresses. There is no need for a whole cache flush during task switching for that reason, and despite the explicit cache flushes in flush_all_zero_pkmaps() and kunmap_atomic(), some highmem pages that were mapped in user space end up still cached even when they become unmapped. So, we do have to perform cache maintenance on those unmapped highmem pages in the context of DMA when using a VIPT cache. Unfortunately, it is not possible to perform that cache maintenance using physical addresses as all the L1 cache maintenance coprocessor functions accept virtual addresses only. Therefore we have no choice but to set up a temporary virtual mapping for that purpose. And of course the explicit cache flushing when unmapping a highmem page on a system with a VIPT cache now can go, which should increase performance. While at it, because the code in __flush_dcache_page() has to be modified anyway, let's also make sure the mapped highmem pages are pinned with kmap_high_get() for the duration of the cache maintenance operation. Because kunmap() does unmap highmem pages lazily, it was reported by Gary King that those pages ended up being unmapped during cache maintenance on SMP causing segmentation faults. Signed-off-by: Nicolas Pitre Signed-off-by: Russell King commit 317aa408d69a5b833a116317c18c7e957989ce44 Author: Anders Larsen Date: Thu Mar 4 11:22:53 2010 +0100 ARM: 5975/1: AT91 slow-clock suspend: don't wait when turning PLLs off From: Julien Langer AT91: when turning off the PLLs during suspend, don't wait for the lock flag to be set. Previously the code would always run into the loop limitation of 1000 iterations because the flag is never set when turning the PLLs off. Comments from Anders Larsen: (in http://marc.info/?l=linux-kernel&m=127058929724193&w=2) Signed-off-by: Julien Langer Signed-off-by: Anders Larsen Acked-by: Andrew Victor Signed-off-by: Russell King commit afb567e3fdd2ee43b243cb4f6fe772ab921b2ada Author: Dmitry Torokhov Date: Tue Apr 13 23:08:58 2010 -0700 Revert "Input: wacom - merge out and in prox events" This reverts commit 776943fd6f104a6e8457dc95a17282e69e963666 as it causes issues with ISDv4 E3 touchscreens: https://bugzilla.kernel.org/show_bug.cgi?id=15670 Signed-off-by: Dmitry Torokhov commit 5c659322a904a7cc0265e7b183372b9bdebec6db Author: Ayaz Abdulla Date: Tue Apr 13 18:49:51 2010 -0700 forcedeth: fix tx limit2 flag check This is a fix for bug 572201 @ bugs.debian.org This patch fixes the TX_LIMIT feature flag. The previous logic check for TX_LIMIT2 also took into account a device that only had TX_LIMIT set. Reported-by: Stephen Mulcahu Reported-by: Ben Huchings Signed-off-by: Ayaz Abdulla Signed-off-by: David S. Miller commit 2ba3abd8186f24c7fb418927025b4e2120e3a362 Merge: 0fdfe5a d88d405 Author: Linus Torvalds Date: Tue Apr 13 17:49:48 2010 -0700 Merge branch 'pm-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/rafael/suspend-2.6 * 'pm-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/rafael/suspend-2.6: PM / Hibernate: user.c, fix SNAPSHOT_SET_SWAP_AREA handling commit 0fdfe5ad2802e747460bf48eb2eb0ca3d3f3af42 Merge: 44d2d37 0df5dd4 Author: Linus Torvalds Date: Tue Apr 13 15:10:16 2010 -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: NFSv4: fix delegated locking NFS: Ensure that the WRITE and COMMIT RPC calls are always uninterruptible NFS: Fix a race with the new commit code NFS: Ensure that writeback_single_inode() calls write_inode() when syncing NFS: Fix the mode calculation in nfs_find_open_context NFSv4: Fall back to ordinary lookup if nfs4_atomic_open() returns EISDIR commit a6a5349d17f2a5c37079826f1a1474c3d08c6b53 Author: Sage Weil Date: Tue Apr 13 14:07:07 2010 -0700 ceph: use separate class for ceph sockets' sk_lock Use a separate class for ceph sockets to prevent lockdep confusion. Because ceph sockets only get passed kernel pointers, there is no dependency from sk_lock -> mmap_sem. If we share the same class as other sockets, lockdep detects a circular dependency from mmap_sem (page fault) -> fs mutex -> sk_lock -> mmap_sem because dependencies are noted from both ceph and user contexts. Using a separate class prevents the sk_lock(ceph) -> mmap_sem dependency and makes lockdep happy. Signed-off-by: Sage Weil commit e1e4dd0caa63e166afa46a1ccc947bebb4f66bcf Author: Yehuda Sadeh Date: Tue Apr 13 11:45:56 2010 -0700 ceph: reserve one more caps space when doing readdir We were missing space for the directory cap. The result was a BUG at fs/ceph/caps.c:2178. Signed-off-by: Yehuda Sadeh Signed-off-by: Sage Weil commit fc837c8f0446b73a1661339db406c0238dd1d184 Author: Sage Weil Date: Tue Apr 13 11:41:22 2010 -0700 ceph: queue_cap_snap should always queue dirty context This simplifies the calling convention, and fixes a bug where we queue a capsnap with a context other than i_head_snapc (the one that matches the dirty pages). The result was a BUG at fs/ceph/caps.c:2178 on writeback completion when a capsnap matching the writeback snapc could not be found. Signed-off-by: Sage Weil commit 44d2d371d250b44cbe40f8d47e329c97668d7594 Merge: 465de2b c011f80 Author: Linus Torvalds Date: Tue Apr 13 11:34:05 2010 -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: Add some more commentary to __raw_local_irq_save() sparc64: Fix memory leak in pci_register_iommu_region(). sparc64: Add kmemleak annotation to sun4v_build_virq() sparc64: Support kmemleak. sparc64: Add function graph tracer support. sparc64: Give a stack frame to the ftrace call sites. sparc64: Use a seperate counter for timer interrupts and NMI checks, like x86. sparc64: Remove profiling from some low-level bits. sparc64: Kill unnecessary static on local var in ftrace_call_replace(). sparc64: Kill CONFIG_STACK_DEBUG code. sparc64: Add HAVE_FUNCTION_TRACE_MCOUNT_TEST and tidy up. sparc64: Adjust __raw_local_irq_save() to cooperate in NMIs. sparc64: Use kstack_valid() in die_if_kernel(). commit 465de2ba71f5048341e0109f3f6c4d7dc65d9754 Merge: 0d0fb0f a6d3702 Author: Linus Torvalds Date: Tue Apr 13 11:32:48 2010 -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: (25 commits) smc91c92_cs: define multicast_table as unsigned char can: avoids a false warning e1000e: stop cleaning when we reach tx_ring->next_to_use igb: restrict WoL for 82576 ET2 Quad Port Server Adapter virtio_net: missing sg_init_table Revert "tcp: Set CHECKSUM_UNNECESSARY in tcp_init_nondata_skb" iwlwifi: need check for valid qos packet before free tcp: Set CHECKSUM_UNNECESSARY in tcp_init_nondata_skb udp: fix for unicast RX path optimization myri10ge: fix rx_pause in myri10ge_set_pauseparam net: corrected documentation for hardware time stamping stmmac: use resource_size() x.25 attempts to negotiate invalid throughput x25: Patch to fix bug 15678 - x25 accesses fields beyond end of packet. bridge: Fix IGMP3 report parsing cnic: Fix crash during bnx2x MTU change. qlcnic: fix set mac addr r6040: fix r6040_multicast_list vhost-net: fix vq_memory_access_ok error checking ath9k: fix double calls to ath_radio_enable ... commit 2b2f862ee6ef8ae8f913fee6af2112c5ffeedf94 Merge: 0d0fb0f 4b83873 Author: Ingo Molnar Date: Tue Apr 13 13:24:54 2010 +0200 Merge branch 'iommu/fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/joro/linux-2.6-iommu into x86/urgent commit a6d37024de02e7cb2b2333e438e71355a9c32a0a Author: Ken Kawasaki Date: Sat Apr 10 12:50:14 2010 +0000 smc91c92_cs: define multicast_table as unsigned char smc91c92_cs: * define multicast_table as unsigned char * remove unnecessary "#ifndef final_version" Signed-off-by: Ken Kawasaki Signed-off-by: David S. Miller commit 4ffa87012efd7b664762b579213d4663560ef4a3 Author: Eric Dumazet Date: Fri Apr 9 23:47:31 2010 +0000 can: avoids a false warning At this point optlen == sizeof(sfilter) but some compilers are dumb. Reported-by: Németh Márton Acked-by: Oliver Hartkopp Signed-off-by: David S. Miller commit dac876193cd79ced36d0462749ea47c05844fb49 Author: Terry Loftin Date: Fri Apr 9 10:29:49 2010 +0000 e1000e: stop cleaning when we reach tx_ring->next_to_use Tx ring buffers after tx_ring->next_to_use are volatile and could change, possibly causing a crash. Stop cleaning when we hit tx_ring->next_to_use. Signed-off-by: Terry Loftin Acked-by: Bruce Allan Signed-off-by: Jeff Kirsher Signed-off-by: David S. Miller commit d5aa22520dbb49e726420ca56b3dcfe56724d33e Author: Stefan Assmann Date: Fri Apr 9 09:51:34 2010 +0000 igb: restrict WoL for 82576 ET2 Quad Port Server Adapter Restrict Wake-on-LAN to first port on 82576 ET2 quad port NICs, as it is only supported there. Signed-off-by: Stefan Assmann Acked-by: Alexander Duyck Signed-off-by: Jeff Kirsher Signed-off-by: David S. Miller commit c011f80ba0912486fe51dd2b3f71d9b33a151188 Author: David S. Miller Date: Tue Apr 13 01:50:43 2010 -0700 sparc64: Add some more commentary to __raw_local_irq_save() Suggested by Peter Zijlstra Signed-off-by: David S. Miller commit b68b58fd6a341c2115ff5fb466fe9fc0b581980e Author: Philby John Date: Fri Mar 26 21:37:51 2010 +0530 ALSA: aaci - Fix alignment faults on ARM Cortex introduced by commit 29a4f2d3 The commit 29a4f2d3 used writel() at offset 0x26 which is half-word aligned causing unaligned exceptions on a Cortex-A8. The original patch solved the "aaci-pl041 fpga:04: ac97 read back fail" issue on a soft reset. Reading from any arbitrary aaci register seems to solve this issue. Signed-off-by: Philby John Acked-by: Russell King Signed-off-by: Takashi Iwai commit 9343af084c7e8911897b0883042ee690cee3aaef Merge: e182c77 0d0fb0f Author: David S. Miller Date: Tue Apr 13 00:28:45 2010 -0700 Merge branch 'master' of /home/davem/src/GIT/linux-2.6/ Conflicts: lib/Kconfig.debug commit e182c77cc291456eed127b1472952ddb59a81a9d Author: David S. Miller Date: Sat Apr 10 20:26:55 2010 -0700 sparc64: Fix memory leak in pci_register_iommu_region(). Found by kmemleak. If request_resource() fails, we leak the struct resource we allocated to represent the IOMMU mapping area. This actually happens on sun4v machines because the IOMEM area is only reported sans the IOMMU region, unlike all previous systems. I'll need to fix that at some point, but for now fix the leak. Signed-off-by: David S. Miller commit 25ad403f67d7673f38a473ec138d240804785ae3 Author: David S. Miller Date: Sat Apr 10 20:24:22 2010 -0700 sparc64: Add kmemleak annotation to sun4v_build_virq() The only reference we store to this memory is in the form of a physical address, so kmemleak can't see it. Add a kmemleak_not_leak() annotation. It's probably useful to be able to look at a dump of these things either via debugfs or similar, and thus we could at some point store them in some kind of table and therefore get rid of this annotation. Signed-off-by: David S. Miller commit 8b8d8e2840a440d62e8dc0ef36ba433b26f70d32 Author: David S. Miller Date: Fri Apr 9 00:14:35 2010 -0700 sparc64: Support kmemleak. Only missing thing was an _sdata marker in vmlinux.lds.S Signed-off-by: David S. Miller commit 9960e9e8944f9b1ca6af5f7d26400ca45b429600 Author: David S. Miller Date: Wed Apr 7 04:41:33 2010 -0700 sparc64: Add function graph tracer support. Signed-off-by: David S. Miller commit a71d1d6bb1b26e566e5c06c37857f4cdc1664780 Author: David S. Miller Date: Tue Apr 6 19:59:46 2010 -0700 sparc64: Give a stack frame to the ftrace call sites. It's the only way we'll be able to implement the function graph tracer properly. A positive is that we no longer have to worry about the linker over-optimizing the tail call, since we don't use a tail call any more. Signed-off-by: David S. Miller commit daecbf58a509bc27c112647e825df763c3e3b0f4 Author: David S. Miller Date: Tue Apr 6 17:38:52 2010 -0700 sparc64: Use a seperate counter for timer interrupts and NMI checks, like x86. This keeps us from having to use kstat_irqs_cpu() from the NMI handler, the former of which is a profiled function. Instead we use a currently empty slot in the cpu_data Signed-off-by: David S. Miller commit f8e8a8e8cba3359df2a16c17d59eedb08adf3b43 Author: David S. Miller Date: Tue Apr 6 17:34:15 2010 -0700 sparc64: Remove profiling from some low-level bits. These include the timer implementation, perf events support, and the performance counter register (pcr) programming layer. Signed-off-by: David S. Miller commit d96478d5a2dcfa3aba1ca4d71b07fef62b27d9c8 Author: David S. Miller Date: Tue Apr 6 17:32:08 2010 -0700 sparc64: Kill unnecessary static on local var in ftrace_call_replace(). Signed-off-by: David S. Miller commit ddacd0bc70fe724eba2b5967dd5b68e10d41486c Author: David S. Miller Date: Mon Apr 12 22:36:03 2010 -0700 sparc64: Kill CONFIG_STACK_DEBUG code. The generic stack tracer does this job just as well. Signed-off-by: David S. Miller commit 63b754957371c23b7515399a977a2e1d361a036c Author: David S. Miller Date: Mon Apr 12 22:35:24 2010 -0700 sparc64: Add HAVE_FUNCTION_TRACE_MCOUNT_TEST and tidy up. Check function_trace_stop at ftrace_caller Toss mcount_call and dummy call of ftrace_stub, unnecessary. Document problems we'll have if the final kernel image link ever turns on relaxation. Properly size 'ftrace_call' so it looks right when inspecting instructions under gdb et al. Signed-off-by: David S. Miller commit 0c25e9e6cbe7b233bb91d14d0e2c258bf8e6ec83 Author: David S. Miller Date: Mon Apr 12 22:21:52 2010 -0700 sparc64: Adjust __raw_local_irq_save() to cooperate in NMIs. If we are in an NMI then doing a plain raw_local_irq_disable() will write PIL_NORMAL_MAX into %pil, which is lower than PIL_NMI, and thus we'll re-enable NMIs and recurse. Doing a simple: %pil = %pil | PIL_NORMAL_MAX does what we want, if we're already at PIL_NMI (15) we leave it at that setting, else we set it to PIL_NORMAL_MAX (14). This should get the function tracer working on sparc64. Signed-off-by: David S. Miller commit cb256aa60409efd803806cfb0528a4b3f8397dba Author: David S. Miller Date: Mon Apr 12 22:16:22 2010 -0700 sparc64: Use kstack_valid() in die_if_kernel(). This gets rid of a local function (is_kernel_stack()) which tries to do the same thing, yet poorly in that it doesn't handle IRQ stacks properly. Signed-off-by: David S. Miller commit 0e413f22e4c1cbfe12907e462a7d739a2e316f2b Author: Shirley Ma Date: Mon Mar 29 15:19:15 2010 +0000 virtio_net: missing sg_init_table Add missing sg_init_table for sg_set_buf in virtio_net which induced in defer skb patch. Reported-by: Thomas Müller Tested-by: Thomas Müller Signed-off-by: Shirley Ma Signed-off-by: David S. Miller commit f5b066287c74b624583b993395a65d03a6487b3a Author: Sage Weil Date: Mon Apr 12 14:24:28 2010 -0700 ceph: fix dentry reference leak in dcache readdir When filldir returned an error (e.g. buffer full for a large directory), we would leak a dentry reference, causing an oops on umount. Signed-off-by: Sage Weil commit 0df5dd4aae211edeeeb84f7f84f6d093406d7c22 Author: Trond Myklebust Date: Sun Apr 11 16:48:44 2010 -0400 NFSv4: fix delegated locking Arnaud Giersch reports that NFSv4 locking is broken when we hold a delegation since commit 8e469ebd6dc32cbaf620e134d79f740bf0ebab79 (NFSv4: Don't allow posix locking against servers that don't support it). According to Arnaud, the lock succeeds the first time he opens the file (since we cannot do a delegated open) but then fails after we start using delegated opens. The following patch fixes it by ensuring that locking behaviour is governed by a per-filesystem capability flag that is initially set, but gets cleared if the server ever returns an OPEN without the NFS4_OPEN_RESULT_LOCKTYPE_POSIX flag being set. Reported-by: Arnaud Giersch Signed-off-by: Trond Myklebust Cc: stable@kernel.org commit ff818c24c2af370153646d302d831b69b023816f Author: Takashi Iwai Date: Mon Apr 12 08:59:25 2010 +0200 ALSA: hda - Add fix-up for Sony VAIO with ALC269 Sony VAIO models with ALC269 need to initialize the pin 0x19 to VREF ground or Hi-Z to make the headphone working. Other than that, model=auto works fine, so let's use model=auto with a specific fix-up table. Signed-off-by: Takashi Iwai commit 7fa90e873f520dad5ec58f47340996cda083e875 Author: Takashi Iwai Date: Mon Apr 12 08:49:00 2010 +0200 ALSA: hda - Enhance fix-up table for Realtek codecs A few enhancement / fixes for fix-up table of some Realtek codecs: - Apply fix-ups only for the auto model - Apply additional verbs after normal init verbs - Add a debug print to show the fix-up application This is basically a preliminary work for the next fix for Sony VAIO. Signed-off-by: Takashi Iwai commit b73c5f8b2f85a7041e045e0009d046780416948d Author: Marek Olšák Date: Sun Apr 11 03:18:52 2010 +0200 drm/radeon/kms: fix calculation of mipmapped 3D texture sizes The 3rd dimension should be minified too. Signed-off-by: Marek Olšák Signed-off-by: Dave Airlie commit ce227c4183a2c18c9e5467b7e92d47140e763ab9 Author: Dave Airlie Date: Fri Apr 9 06:27:00 2010 +0000 drm/radeon/kms: only change mode when coherent value changes. On X startup we were getting a flicker where there shouldn't have been one. the X DDX calls the kernel to set the properties to the same values (yes it could be smarter), however the kernel was doing a pointless modeset then, making my nice smooth boot ugly. Signed-off-by: Dave Airlie commit 4a1032faac94ebbf647460ae3e06fc21146eb280 Merge: ae4e8d6 0eddb51 Author: David S. Miller Date: Sun Apr 11 02:44:30 2010 -0700 Merge branch 'master' of /home/davem/src/GIT/linux-2.6/ commit ae4e8d63b5619d4d95f1d2bfa2b836caa6e62d06 Author: David S. Miller Date: Sun Apr 11 02:40:49 2010 -0700 Revert "tcp: Set CHECKSUM_UNNECESSARY in tcp_init_nondata_skb" This reverts commit 2626419ad5be1a054d350786b684b41d23de1538. It causes regressions for people with IGB cards. Connection requests don't complete etc. The true cause of the issue is still not known, but we should sort this out in net-next-2.6 not net-2.6 Signed-off-by: David S. Miller commit d88d4050dcaf09e417aaa9a5024dd9449ef71b2e Author: Jiri Slaby Date: Sat Apr 10 22:28:56 2010 +0200 PM / Hibernate: user.c, fix SNAPSHOT_SET_SWAP_AREA handling When CONFIG_DEBUG_BLOCK_EXT_DEVT is set we decode the device improperly by old_decode_dev and it results in an error while hibernating with s2disk. All users already pass the new device number, so switch to new_decode_dev(). Signed-off-by: Jiri Slaby Reported-and-tested-by: Jiri Kosina Signed-off-by: "Rafael J. Wysocki" commit 29aac005ff4dc8a5f50b80f4e5c4f59b21c0fb50 Author: Takashi Iwai Date: Sat Apr 10 21:27:23 2010 +0200 ALSA: usb - Fix Oops after usb-midi disconnection usb-midi causes sometimes Oops at snd_usbmidi_output_drain() after disconnection. This is due to the access to the endpoints which have been already released at disconnection while the files are still alive. This patch fixes the problem by checking disconnection state at snd_usbmidi_output_drain() and by releasing urbs but keeping the endpoint instances until really all freed. Tested-by: Tvrtko Ursulin Cc: Signed-off-by: Takashi Iwai commit ca658b1e29d6be939207532e337fb640eb697f71 Author: Stefan Richter Date: Sat Apr 10 12:23:09 2010 +0200 firewire: cdev: comment fixlet Signed-off-by: Stefan Richter commit aa6fec3cdeb14ecc916eb78c4cd9ed79e4f7fe8d Author: Clemens Ladisch Date: Wed Mar 31 16:26:52 2010 +0200 firewire: cdev: iso packet documentation Add the missing documentation for iso packets. Signed-off-by: Clemens Ladisch Signed-off-by: Stefan Richter commit 9cac00b8f0079d5d3d54ec4dae453d58dec30e7c Author: Stefan Richter Date: Wed Apr 7 08:30:50 2010 +0200 firewire: cdev: fix information leak A userspace client got to see uninitialized stack-allocated memory if it specified an _IOC_READ type of ioctl and an argument size larger than expected by firewire-core's ioctl handlers (but not larger than the core's union ioctl_arg). Fix this by clearing the requested buffer size to zero, but only at _IOR ioctls. This way, there is almost no runtime penalty to legitimate ioctls. The only legitimate _IOR is FW_CDEV_IOC_GET_CYCLE_TIMER with 12 or 16 bytes to memset. [Another way to fix this would be strict checking of argument size (and possibly direction) vs. command number. However, we then need a lookup table, and we need to allow for slight size deviations in case of 32bit userland on 64bit kernel.] Reported-by: Clemens Ladisch Signed-off-by: Stefan Richter commit 385ab5bcd4be586dffdba550b310308d89eade71 Author: Clemens Ladisch Date: Wed Mar 31 16:26:46 2010 +0200 firewire: cdev: require quadlet-aligned headers for transmit packets The definition of struct fw_cdev_iso_packet seems to imply that the header_length must be quadlet-aligned, and in fact, specifying an unaligned header has never really worked when using multiple packet structures, because the position of the next control word is computed by rounding the header_length _down_, so the last one to three bytes of the header would overlap the next control word. To avoid this problem, check that the header length is properly aligned. Signed-off-by: Clemens Ladisch Signed-off-by: Stefan Richter commit 4ba1d9c0c22947a9207029e7184733252e6135f1 Author: Clemens Ladisch Date: Wed Mar 31 16:26:39 2010 +0200 firewire: cdev: disallow receive packets without header In receive contexts, reject packets with header_length==0. This would be an instruction to queue zero packets which would not make sense. This prevents a division by zero in the OHCI driver. Signed-off-by: Clemens Ladisch Signed-off-by: Stefan Richter commit bfac4d6725baacbfc085c38e231b8582a1b8f62b Author: Zhao Yakui Date: Wed Apr 7 17:11:22 2010 +0800 drm/i915: Ignore LVDS EDID when it is unavailabe or invalid This trys to shut up complains about invalid LVDS EDID during mode probe, but uses fixed panel mode directly for panels with broken EDID. https://bugs.freedesktop.org/show_bug.cgi?id=23099 https://bugs.freedesktop.org/show_bug.cgi?id=26395 Signed-off-by: Zhao Yakui Tested-by: Sitsofe Wheeler Signed-off-by: Zhenyu Wang Signed-off-by: Eric Anholt commit 2c61be0a9478258f77b66208a0c4b1f5f8161c3c Author: Trond Myklebust Date: Fri Apr 9 19:54:50 2010 -0400 NFS: Ensure that the WRITE and COMMIT RPC calls are always uninterruptible We always want to ensure that WRITE and COMMIT completes, whether or not the user presses ^C. Do this by making the call asynchronous, and allowing the user to do an interruptible wait for rpc_task completion. Signed-off-by: Trond Myklebust commit a6305ddb080fb483ca41ca56cacb6f96089f0c8e Author: Trond Myklebust Date: Fri Apr 9 19:07:08 2010 -0400 NFS: Fix a race with the new commit code This patch fixes a race which occurs due to the fact that we release the PG_writeback flag while still holding the nfs_page locked. Signed-off-by: Trond Myklebust commit b80c3cb628f0ebc241b02e38dd028969fb8026a2 Author: Trond Myklebust Date: Fri Apr 9 19:07:07 2010 -0400 NFS: Ensure that writeback_single_inode() calls write_inode() when syncing Since writeback_single_inode() checks the inode->i_state flags _before_ it flushes out the data, we need to ensure that the I_DIRTY_DATASYNC flag is already set. Otherwise we risk not seeing a call to write_inode(), which again means that we break fsync() et al... Signed-off-by: Trond Myklebust commit 1544fa0f7a46241582abc48f07b74f3d846379e4 Author: Trond Myklebust Date: Thu Mar 25 13:54:49 2010 -0400 NFS: Fix the mode calculation in nfs_find_open_context Signed-off-by: Trond Myklebust commit 80e60639f1b7c121a7fea53920c5a4b94009361a Author: Trond Myklebust Date: Thu Mar 25 13:51:05 2010 -0400 NFSv4: Fall back to ordinary lookup if nfs4_atomic_open() returns EISDIR Signed-off-by: Trond Myklebust Cc: stable@kernel.org commit 65384a1d41c4e91f0b49d90d11b7f424d6e5c58e Author: Alex Deucher Date: Fri Apr 9 15:01:25 2010 -0400 drm/radeon/kms: more atom parser fixes (v2) shr/shl ops need the full dst rather than the pre-masked version. Fixes fdo bug 27478 and kernel bug 15738. v2: remove some unsed vars, add comments Signed-off-by: Alex Deucher Cc: stable Signed-off-by: Dave Airlie commit 2844a76a25a2fc2f5025cf128c95a14d86146d33 Author: Sage Weil Date: Fri Apr 9 15:46:42 2010 -0700 ceph: decode v5 of osdmap (pool names) [protocol change] Teach the client to decode an updated format for the osdmap. The new format includes pool names, which will be useful shortly. Get this change in earlier rather than later. Signed-off-by: Sage Weil commit 8b9fce77737ae9983f61ec56cd53f52fb738b2c7 Author: Johannes Berg Date: Thu Apr 1 11:24:23 2010 -0700 iwlwifi: work around bogus active chains detection The current algorithm will sometimes "detect" that more chains are enabled than are really present in the device because, for unknown reasons, the ucode sends up all-zeroes signal values. The simplest way of solving this is to restrict the active chains mask to the chains we know are really present on the device. This fixes a bug with some devices where, since sometimes more chains are enabled than really present, the system would hang. Signed-off-by: Johannes Berg Signed-off-by: Reinette Chatre commit e3237e3c60c1f4a790b4e521e406b3ffff74f9bc Merge: 2626419 ece6444 Author: David S. Miller Date: Fri Apr 9 10:03:35 2010 -0700 Merge branch 'master' of git://git.kernel.org/pub/scm/linux/kernel/git/linville/wireless-2.6 commit 7f311a46916a3be00a1a8e3f1bdf461d08f1d263 Author: Takashi Iwai Date: Fri Apr 9 17:32:23 2010 +0200 ALSA: hda - Fix initial capture source connections of ALC880/260 The widget connections of ADC of ALC880 and ALC2260 aren't initialized, thus it might point to invalid pin. This can be a problem when mode=auto and there is only one input pin. Then user can't change the connection at all. This patch adds the code to initialize the input pin connection of these codecs. Reference: Novell bnc#594363 https://bugzilla.novell.com/show_bug.cgi?id=594363 Signed-off-by: Takashi Iwai commit 226b1ec8c18bcb6d1aa448a29b2c8aeae1946228 Author: Kailang Yang Date: Fri Apr 9 11:01:20 2010 +0200 ALSA: hda - Fix setup for ALC269vb amic and dmic models Corrected HP and mic pins for ALC269vb amic and dmic models. Signed-off-by: Kailang Yang Signed-off-by: Takashi Iwai commit 531d8791accf1464bc6854ff69d08dd866189d17 Author: Kailang Yang Date: Fri Apr 9 10:57:33 2010 +0200 ALSA: hda - Fix auto-parser of ALC269vb for HP pin NID 0x21 ALC269vb has an alternative HP pin 0x21 in addition. Fix the parser to recognize it. Signed-off-by: Kailang Yang Signed-off-by: Takashi Iwai commit ece6444c2fe80dab679beb5f0d58b091f1933b00 Author: Wey-Yi Guy Date: Thu Apr 8 13:17:37 2010 -0700 iwlwifi: need check for valid qos packet before free For 4965, need to check it is valid qos frame before free, only valid QoS frame has the tid used to free the packets. Signed-off-by: Wey-Yi Guy Signed-off-by: John W. Linville commit 2626419ad5be1a054d350786b684b41d23de1538 Author: David S. Miller Date: Thu Apr 8 11:32:30 2010 -0700 tcp: Set CHECKSUM_UNNECESSARY in tcp_init_nondata_skb Back in commit 04a0551c87363f100b04d28d7a15a632b70e18e7 ("loopback: Drop obsolete ip_summed setting") we stopped setting CHECKSUM_UNNECESSARY in the loopback xmit. This is because such a setting was a lie since it implies that the checksum field of the packet is properly filled in. Instead what happens normally is that CHECKSUM_PARTIAL is set and skb->csum is calculated as needed. But this was only happening for TCP data packets (via the skb->ip_summed assignment done in tcp_sendmsg()). It doesn't happen for non-data packets like ACKs etc. Fix this by setting skb->ip_summed in the common non-data packet constructor. It already is setting skb->csum to zero. But this reminds us that we still have things like ip_output.c's ip_dev_loopback_xmit() which sets skb->ip_summed to the value CHECKSUM_UNNECESSARY, which Herbert's patch teaches us is not valid. So we'll have to address that at some point too. Signed-off-by: David S. Miller commit 1223c67c0938d2df309fde618bd82c87c8c1af04 Author: Jorge Boncompte [DTI2] Date: Thu Apr 8 04:56:48 2010 +0000 udp: fix for unicast RX path optimization Commits 5051ebd275de672b807c28d93002c2fb0514a3c9 and 5051ebd275de672b807c28d93002c2fb0514a3c9 ("ipv[46]: udp: optimize unicast RX path") broke some programs. After upgrading a L2TP server to 2.6.33 it started to fail, tunnels going up an down, after the 10th tunnel came up. My modified rp-l2tp uses a global unconnected socket bound to (INADDR_ANY, 1701) and one connected socket per tunnel after parameter negotiation. After ten sockets were open and due to mixed parameters to udp[46]_lib_lookup2() kernel started to drop packets. Signed-off-by: Jorge Boncompte [DTI2] Signed-off-by: Eric Dumazet Signed-off-by: David S. Miller commit 43a3cec01354573517f1348383e0ab6e6067076b Author: Sascha Hauer Date: Thu Apr 8 11:31:26 2010 +0200 ASoC: imx-ssi: Use a hrtimer in FIQ mode Using a regular timer results in poll times < 1 jiffie with small buffers, so we loaded the timer with the actual jiffie value. We can be more accurate using a hrtimer. Also, we have to call snd_pcm_period_elapsed after playing period_bytes and not runtime->period_size (which is in samples and not in bytes). Signed-off-by: Sascha Hauer Acked-by: Liam Girdwood Signed-off-by: Mark Brown commit 671999cb5d8817611f865f3877f5a5b81372f61e Author: Sascha Hauer Date: Thu Apr 8 11:31:25 2010 +0200 ASoC: imx-pcm-dma-mx2: restart DMA after an error Signed-off-by: Sascha Hauer Acked-by: Liam Girdwood Signed-off-by: Mark Brown commit 206b60e189c7cc2b4675687d66f167299a13a4d4 Author: Sascha Hauer Date: Thu Apr 8 11:31:24 2010 +0200 ASoC: imx-ssi: honor IMX_SSI_DMA flag When checking if we are DMA capable we have to check for the IMX_SSI_DMA flag which is already set from platform_data instead of setting it again when we want to do DMA. Signed-off-by: Sascha Hauer Acked-by: Liam Girdwood Signed-off-by: Mark Brown commit 78e4fd26ef8b85c8cbb6803e18b6b1f970420e06 Author: Huang Weiyi Date: Thu Apr 8 19:50:08 2010 +0800 ASoC: wm2000: remove unused #include Remove unused #include ('s) in sound/soc/codecs/wm2000.c Signed-off-by: Huang Weiyi Acked-by: Liam Girdwood Signed-off-by: Mark Brown commit 2488f56d3699b84ee51d2940d1347345b8f9b0e1 Author: Brice Goglin Date: Wed Apr 7 22:23:45 2010 -0700 myri10ge: fix rx_pause in myri10ge_set_pauseparam Fix rx_pause management in myri10ge_set_pauseparam(). Signed-off-by: Brice Goglin Signed-off-by: David S. Miller commit 69298698c2453c2f8cd1d7d2a4cae39eeec3b66e Author: Patrick Loschmidt Date: Wed Apr 7 21:52:07 2010 -0700 net: corrected documentation for hardware time stamping The current documentation for hardware time stamping does not correctly specify the available kernel functions since the implementation was changed later on. Signed-off-by: Patrick Loschmidt Signed-off-by: David S. Miller commit b62226826b4ea1926b644b5a337ffa6b637d4870 Author: Dan Carpenter Date: Wed Apr 7 21:50:08 2010 -0700 stmmac: use resource_size() Resource size should be calculated as end - start + 1 because we start counting at zero. I changed the code to resource_size() to do the calculation. Signed-off-by: Dan Carpenter Signed-off-by: David S. Miller commit ddd0451fc8dbf94446c81500ff0dcee06c4057cb Author: John Hughes Date: Sun Apr 4 06:48:10 2010 +0000 x.25 attempts to negotiate invalid throughput The current X.25 code has some bugs in throughput negotiation: 1. It does negotiation in all cases, usually there is no need 2. It incorrectly attempts to negotiate the throughput class in one direction only. There are separate throughput classes for input and output and if either is negotiated both mist be negotiates. This is bug https://bugzilla.kernel.org/show_bug.cgi?id=15681 This bug was first reported by Daniel Ferenci to the linux-x25 mailing list on 6/8/2004, but is still present. The current (2.6.34) x.25 code doesn't seem to know that the X.25 throughput facility includes two values, one for the required throughput outbound, one for inbound. This causes it to attempt to negotiate throughput 0x0A, which is throughput 9600 inbound and the illegal value "0" for inbound throughput. Because of this some X.25 devices (e.g. Cisco 1600) refuse to connect to Linux X.25. The following patch fixes this behaviour. Unless the user specifies a required throughput it does not attempt to negotiate. If the user does not specify a throughput it accepts the suggestion of the remote X.25 system. If the user requests a throughput then it validates both the input and output throughputs and correctly negotiates them with the remote end. Signed-off-by: John Hughes Tested-by: Andrew Hendry Signed-off-by: David S. Miller commit f5eb917b861828da18dc28854308068c66d1449a Author: John Hughes Date: Wed Apr 7 21:29:25 2010 -0700 x25: Patch to fix bug 15678 - x25 accesses fields beyond end of packet. Here is a patch to stop X.25 examining fields beyond the end of the packet. For example, when a simple CALL ACCEPTED was received: 10 10 0f x25_parse_facilities was attempting to decode the FACILITIES field, but this packet contains no facilities field. Signed-off-by: John Hughes Signed-off-by: David S. Miller commit fd218cf9557b9bf7061365a8fe7020a56d3f767c Author: Herbert Xu Date: Wed Apr 7 21:20:47 2010 -0700 bridge: Fix IGMP3 report parsing The IGMP3 report parsing is looking at the wrong address for group records. This patch fixes it. Reported-by: Banyeer Signed-off-by: Herbert Xu Signed-off-by: David S. Miller commit 94824f3dbe0d3f62470603bbb18efb5510aaf07c Author: Michael Chan Date: Wed Apr 7 20:53:54 2010 -0700 cnic: Fix crash during bnx2x MTU change. cnic_service_bnx2x() irq handler can be called during chip reset from MTU change. Need to check that the cnic's device state is up before handling the irq. Signed-off-by: Michael Chan Signed-off-by: David S. Miller commit 04b1a22350e1e6464c3109886385178d119dbbb4 Merge: a55cb18 179b284 Author: David S. Miller Date: Wed Apr 7 16:52:29 2010 -0700 Merge branch 'vhost' of git://git.kernel.org/pub/scm/linux/kernel/git/mst/vhost commit a55cb185b4a8f84cd05b66bb00b267ea455ecdc8 Author: Amit Kumar Salecha Date: Wed Apr 7 16:51:49 2010 -0700 qlcnic: fix set mac addr If interface is down, mac address request are not sent to fw but it is getting add in driver mac list. Driver mac list should be in sync with fw i.e addresses communicated to fw. Signed-off-by: Amit Kumar Salecha Signed-off-by: David S. Miller commit 3bcf8229a8c49769e48d3e0bd1e20d8e003f8106 Author: Florian Fainelli Date: Wed Apr 7 16:50:58 2010 -0700 r6040: fix r6040_multicast_list As reported in , r6040_ multicast_list currently crashes. This is due a wrong maximum of multicast entries. This patch fixes the following issues with multicast: - number of maximum entries if off-by-one (4 instead of 3) - the writing of the hash table index is not necessary and leads to invalid values being written into the MCR1 register, so the MAC is simply put in a non coherent state - when we exceed the maximum number of mutlticast address, writing the broadcast address should be done in registers MID_1{L,M,H} instead of MID_O{L,M,H}, otherwise we would loose the adapter's MAC address Signed-off-by: Florian Fainelli Signed-off-by: David S. Miller commit 005c93b5d876edf670b4c71d8dd79dc4e845a099 Merge: fb9e2d8 1144601 Author: David S. Miller Date: Wed Apr 7 16:41:03 2010 -0700 Merge branch 'master' of git://git.kernel.org/pub/scm/linux/kernel/git/linville/wireless-2.6 commit 179b284e2fc0c638035843968f7d7ab8ab701525 Author: Jeff Dike Date: Wed Apr 7 09:59:10 2010 -0400 vhost-net: fix vq_memory_access_ok error checking vq_memory_access_ok needs to check whether mem == NULL Signed-off-by: Jeff Dike Signed-off-by: Michael S. Tsirkin commit 7ad7b218f4aae4f395b3b4cef261572556bbd20a Author: Maurus Cuelenaere Date: Tue Apr 6 18:12:52 2010 +0200 ALSA: hda: Add support for Medion WIM2160 This adds support for the Medion WIM2160 soundcard. There's no PCI quirk added because it has the same PCI id as the Medion MD2. Signed-off-by: Maurus Cuelenaere Signed-off-by: Takashi Iwai commit 4b83873d3da0704987cb116833818ed96214ee29 Author: Joerg Roedel Date: Wed Apr 7 12:57:35 2010 +0200 x86/gart: Disable GART explicitly before initialization If we boot into a crash-kernel the gart might still be enabled and its caches might be dirty. This can result in undefined behavior later. Fix it by explicitly disabling the gart hardware before initialization and flushing the caches after enablement. Signed-off-by: Joerg Roedel commit 39a37ce1cc5eef420604fa68b776ff5dab400340 Author: Dan Carpenter Date: Tue Apr 6 19:45:12 2010 +0300 dma-debug: Cleanup for copy-loop in filter_write() Earlier in this function we set the last byte of "buf" to NULL so we always hit the break statement and "i" is never equal to NAME_MAX_LEN. This patch doesn't change how the driver works but it silences a Smatch warning and it makes it clearer that we don't write past the end of the array. Signed-off-by: Dan Carpenter Signed-off-by: Joerg Roedel commit 12ff4bf58b64ad3b8fb8e27889c99dcd5aa6fb0b Merge: 2eaa9cf 20a1cfb Author: Joerg Roedel Date: Wed Apr 7 14:36:20 2010 +0200 Merge branch 'amd-iommu/fixes' into iommu/fixes commit 20a1cfba340f23a7ca62391e199c40c86b762ea3 Author: Joerg Roedel Date: Wed Apr 7 14:28:26 2010 +0200 x86/amd-iommu: Remove obsolete parameter documentation Support for the share and fullflush parameters was removed. Remove the documentation about them too. Signed-off-by: Joerg Roedel commit d18c69d3898985c66cd6e878b8f576fd9a21ab39 Author: Chris Wright Date: Fri Apr 2 18:27:55 2010 -0700 x86/amd-iommu: use for_each_pci_dev Replace open coded version with for_each_pci_dev Signed-off-by: Chris Wright Signed-off-by: Joerg Roedel commit 8f9f55e83e939724490d7cde3833c4883c6d1310 Author: Chris Wright Date: Fri Apr 2 18:27:54 2010 -0700 Revert "x86: disable IOMMUs on kernel crash" This effectively reverts commit 61d047be99757fd9b0af900d7abce9a13a337488. Disabling the IOMMU can potetially allow DMA transactions to complete without being translated. Leave it enabled, and allow crash kernel to do the IOMMU reinitialization properly. Cc: stable@kernel.org Cc: Joerg Roedel Cc: Eric Biederman Cc: Neil Horman Cc: Vivek Goyal Signed-off-by: Chris Wright Signed-off-by: Joerg Roedel commit 549c90dc9a6d659e792b2a42a0930c7da015ea4a Author: Chris Wright Date: Fri Apr 2 18:27:53 2010 -0700 x86/amd-iommu: warn when issuing command to uninitialized cmd buffer To catch future potential issues we can add a warning whenever we issue a command before the command buffer is fully initialized. Signed-off-by: Chris Wright Signed-off-by: Joerg Roedel commit 75f66533bc883f761a7adcab3281fe3323efbc90 Author: Chris Wright Date: Fri Apr 2 18:27:52 2010 -0700 x86/amd-iommu: enable iommu before attaching devices Hit another kdump problem as reported by Neil Horman. When initializaing the IOMMU, we attach devices to their domains before the IOMMU is fully (re)initialized. Attaching a device will issue some important invalidations. In the context of the newly kexec'd kdump kernel, the IOMMU may have stale cached data from the original kernel. Because we do the attach too early, the invalidation commands are placed in the new command buffer before the IOMMU is updated w/ that buffer. This leaves the stale entries in the kdump context and can renders device unusable. Simply enable the IOMMU before we do the attach. Cc: stable@kernel.org Cc: Neil Horman Cc: Vivek Goyal Signed-off-by: Chris Wright Signed-off-by: Joerg Roedel commit 1144601118507f8b3b676a9a392584d216d3f2cc Author: Felix Fietkau Date: Tue Apr 6 12:05:01 2010 -0700 ath9k: fix double calls to ath_radio_enable With the enable_radio being uninitialized, ath_radio_enable() might be called twice, which can leave some hardware in an undefined state. Signed-off-by: Felix Fietkau Cc: stable@kernel.org Signed-off-by: John W. Linville commit 0379185b6c0d1e8252023698cf1091da92a3dc03 Author: Johannes Berg Date: Tue Apr 6 11:18:42 2010 +0200 mac80211: annotate station rcu dereferences The new RCU lockdep support warns about these in some contexts -- make it aware of the locks used to protect all this. Different locks are used in different contexts which unfortunately means we can't get perfect checking. Also remove rcu_dereference() from two places that don't actually dereference the pointers. Signed-off-by: Johannes Berg Signed-off-by: John W. Linville commit 1cb561f83793191cf86a2db3948d28f5f42df9ff Author: Javier Cardona Date: Mon Mar 29 11:00:20 2010 -0700 mac80211: Handle mesh action frames in ieee80211_rx_h_action This fixes the problem introduced in commit 8404080568613d93ad7cf0a16dfb68 which broke mesh peer link establishment. changes: v2 Added missing break (Johannes) v3 Broke original patch into two (Johannes) Signed-off-by: Javier Cardona Cc: stable@kernel.org Reviewed-by: Johannes Berg Signed-off-by: John W. Linville commit 9d32c30542f9ecdb4b96a1a960924c9f403e3562 Author: H Hartley Sweeten Date: Mon Apr 5 22:29:09 2010 -0700 Input: matrix_keypad - allow platform to disable key autorepeat In an embedded system the matrix_keypad driver might be used to interface with an external control panel and not an actual keyboard. On the control panel some of the keys could be used to turn on/off various functions. If key autorepeat is enabled this causes the function to quickly toggle between the on and off states and makes operation difficult. Add an option in the platform-specific data to disable the key autorepeat. Signed-off-by: H Hartley Sweeten Signed-off-by: Dmitry Torokhov commit 5e28d8eb68c12eab9c4a47b42ba993a6420d71d3 Author: Chase Douglas Date: Mon Apr 5 22:29:08 2010 -0700 Input: ALPS - add signature for HP Pavilion dm3 laptops Tested by a user running Ubuntu 9.10 in the following bug report. BugLink: http://bugs.launchpad.net/bugs/545307 Signed-off-by: Chase Douglas Cc: stable@kernel.org Signed-off-by: Dmitry Torokhov commit 2c860a1101471a69f7a6778b7b1fb43344c38619 Author: Dominik Brodowski Date: Mon Apr 5 22:29:09 2010 -0700 Input: i8042 - spelling fix Signed-off-by: Dominik Brodowski Signed-off-by: Dmitry Torokhov commit 9875557ee8247c3f7390d378c027b45c7535a224 Author: Stefan Bader Date: Mon Mar 29 17:53:12 2010 +0200 drm/i915: Add no_lvds entry for the Clientron U800 BugLink: http://bugs.launchpad.net/ubuntu/bugs/544671 This system claims to have a LVDS but has not. Signed-off-by: Stephane Graber Signed-off-by: Stefan Bader CC: stable@kernel.org Signed-off-by: Eric Anholt commit 0e0d5e0c4bb0476d53a43bfc87d03a25ec4b5579 Author: Sage Weil Date: Fri Apr 2 16:07:19 2010 -0700 ceph: fix ack counter reset on connection reset If in_seq_acked isn't reset along with in_seq, we don't ack received messages until we reach the old count, consuming gobs memory on the other end of the connection and introducing a large delay when those messages are eventually deleted. Signed-off-by: Sage Weil commit de0f60ea94e132c858caa64a44b2012e1e8580b0 Author: Zhu Yi Date: Tue Mar 23 00:45:03 2010 -0700 iwlwifi: avoid Tx queue memory allocation in interface down We used to free all the Tx queues memory when interface is brought down and reallocate them again in interface up. This requires order-4 allocation for txq->cmd[]. In situations like s2ram, this usually leads to allocation failure in the memory subsystem. The patch fixed this problem by allocating the Tx queues memory only at the first time. Later iwl_down/iwl_up only initialize but don't free and reallocate them. The memory is freed at the device removal time. BTW, we have already done this for the Rx queue. This fixed bug https://bugzilla.kernel.org/show_bug.cgi?id=15551 Signed-off-by: Zhu Yi Acked-by: Wey-Yi Guy Signed-off-by: Reinette Chatre commit 04f2dec1c3d375c4072613880f28f43b66524876 Author: Shanyu Zhao Date: Fri Mar 19 13:34:45 2010 -0700 iwlwifi: use consistent table for tx data collect When collecting tx data for non-aggregation packets in rate scaling, if the tx data matches "other table", it still uses current table to update the stats and calculate average throughput in function rs_collect_tx_data(). This can mess up the rate scaling data structure and cause a kernel panic in a BUG_ON statement in rs_rate_scale_perform(). To fix this bug, we pass table pointer instead of window pointer (pointed to by table pointer) to function rs_collect_tx_data() so that the table being used is consistent. Signed-off-by: Shanyu Zhao Signed-off-by: Henry Zhang Signed-off-by: Reinette Chatre commit dd48744964296b5713032ea1d66eb9e3d990e287 Author: Zhu Yi Date: Mon Mar 22 02:28:41 2010 -0700 iwlwifi: fix DMA allocation warnings Below warning is triggered sometimes at module removal time when CONFIG_DMA_API_DEBUG is enabled. This should be caused by we didn't unmap pending commands (enqueued, but no complete notification received) for the Tx command queue. [ 1583.107469] ------------[ cut here ]------------ [ 1583.107539] WARNING: at lib/dma-debug.c:688 dma_debug_device_change+0x13c/0x180() [ 1583.107617] Hardware name: ... [ 1583.107664] pci 0000:04:00.0: DMA-API: device driver has pending DMA allocations while released from device [count=1] [ 1583.107713] Modules linked in: ... [ 1583.111661] Pid: 16970, comm: modprobe Tainted: G W 2.6.34-rc1-wl #33 [ 1583.111727] Call Trace: [ 1583.111779] [] ? dma_debug_device_change+0x13c/0x180 [ 1583.111833] [] ? dma_debug_device_change+0x13c/0x180 [ 1583.111908] [] warn_slowpath_common+0x71/0xd0 [ 1583.111963] [] ? dma_debug_device_change+0x13c/0x180 [ 1583.112016] [] warn_slowpath_fmt+0x2b/0x30 [ 1583.112086] [] dma_debug_device_change+0x13c/0x180 [ 1583.112142] [] notifier_call_chain+0x53/0x90 [ 1583.112198] [] ? down_read+0x6e/0x90 [ 1583.112271] [] __blocking_notifier_call_chain+0x49/0x70 [ 1583.112326] [] blocking_notifier_call_chain+0x1f/0x30 [ 1583.112380] [] __device_release_driver+0x8c/0xa0 [ 1583.112451] [] driver_detach+0x8f/0xa0 [ 1583.112538] [] bus_remove_driver+0x82/0x100 [ 1583.112595] [] driver_unregister+0x49/0x80 [ 1583.112671] [] ? sysfs_remove_file+0x12/0x20 [ 1583.112727] [] pci_unregister_driver+0x32/0x80 [ 1583.112791] [] iwl_exit+0x12/0x19 [iwlagn] [ 1583.112848] [] sys_delete_module+0x15a/0x210 [ 1583.112870] [] ? up_read+0x1b/0x30 [ 1583.112893] [] ? trace_hardirqs_off_thunk+0xc/0x10 [ 1583.112924] [] ? trace_hardirqs_on_thunk+0xc/0x10 [ 1583.112947] [] ? do_page_fault+0x1ff/0x3c0 [ 1583.112978] [] ? restore_all_notrace+0x0/0x18 [ 1583.113002] [] ? trace_hardirqs_on_caller+0x20/0x190 [ 1583.113025] [] sysenter_do_call+0x12/0x38 [ 1583.113054] ---[ end trace fc23e059cc4c2ced ]--- Signed-off-by: Zhu Yi Signed-off-by: Reinette Chatre commit 819ccbfa448403992ceafc05d6d7097aaa74d4c3 Author: Sage Weil Date: Thu Apr 1 09:33:46 2010 -0700 ceph: fix leaked inode ref due to snap metadata writeback race We create a ceph_cap_snap if there is dirty cap metadata (for writeback to mds) OR dirty pages (for writeback to osd). It is thus possible that the metadata has been written back to the MDS but the OSD data has not when the cap_snap is created. This results in a cap_snap with dirty(caps) == 0. The problem is that cap writeback to the MDS isn't necessary, and a FLUSHSNAP cap op gets no ack from the MDS. This leaves the cap_snap attached to the inode along with its inode reference. Fix the problem by dropping the cap_snap if it becomes 'complete' (all pages written out) and dirty(caps) == 0 in ceph_put_wrbuffer_cap_refs(). Also, BUG() in __ceph_flush_snaps() if we encounter a cap_snap with dirty(caps) == 0. Signed-off-by: Sage Weil commit 6298a33757ba7361bb8f506c106daad77e5ac8cf Author: Sage Weil Date: Wed Mar 31 22:01:38 2010 -0700 ceph: fix snap context reference leaks The get_oldest_context() helper takes a reference to the returned snap context, but most callers weren't dropping that reference. Fix them. Also drop the unused locked __get_oldest_context() variant. Signed-off-by: Sage Weil commit 80e755fedebc8de0599a79efad2c656503df2e62 Author: Sage Weil Date: Wed Mar 31 21:52:10 2010 -0700 ceph: allow writeback of snapped pages older than 'oldest' snapc On snap deletion, we don't regenerate ceph_cap_snaps for inodes with dirty pages because deletion does not affect metadata writeback. However, we did run into problems when we went to write back the pages because the 'oldest' snapc is determined by the oldest cap_snap, and that may be the newer snapc that reflects the deletion. This caused confusion and an infinite loop in ceph_update_writeable_page(). Change the snapc checks to allow writeback of any snapc that is equal to OR older than the 'oldest' snapc. When there are no cap_snaps, we were also using the realm's latest snapc for writeback, which complicates ceph_put_wrbufffer_cap_refs(). Instead, use i_head_snapc, the most snapc used for the most recent ('head') data. This makes the writeback snapc (ceph_osd_request.r_snapc) _always_ match a capsnap or i_head_snapc. Also, in writepags_finish(), drop the snapc referenced by the _page_ and do not assume it matches the request snapc (it may not anymore). Signed-off-by: Sage Weil commit 9358c6d4c0264b1572554c49c4b92673ea9a5c72 Author: Sage Weil Date: Tue Mar 30 13:54:41 2010 -0700 ceph: fix dentry rehashing on virtual .snap dir If a lookup fails on the magic .snap directory, we bind it to a magic snap directory inode in ceph_lookup_finish(). That code assumes the dentry is unhashed, but a recent server-side change started returning NULL leases on lookup failure, causing the .snap dentry to be hashed and NULL by ceph_fill_trace(). This causes dentry hash chain corruption, or a dies when d_rehash() includes BUG_ON(!d_unhashed(entry)); So, avoid processing the NULL dentry lease if it the dentry matches the snapdir name in ceph_fill_trace(). That allows the lookup completion to properly bind it to the snapdir inode. BUG there if dentry is hashed to be sure. Signed-off-by: Sage Weil commit c751ce4f52b11ea93764a7cd44e6ae9c098d361b Author: Eric Anholt Date: Thu Mar 25 11:48:48 2010 -0700 drm/i915: Rename many remaining uses of "output" to encoder or connector. Signed-off-by: Eric Anholt commit 21d40d37eca86872f2bf0af995809ebdef25c9d9 Author: Eric Anholt Date: Thu Mar 25 11:11:14 2010 -0700 drm/i915: Rename intel_output to intel_encoder. The intel_output naming is inherited from the UMS code, which had a structure of screen -> CRTC -> output. The DRM code has an additional notion of encoder/connector, so the structure is screen -> CRTC -> encoder -> connector. This is a useful structure for SDVO encoders which can support multiple connectors (each of which requires different programming in the one encoder and could be connected to different CRTCs), or for DVI-I, where multiple encoders feed into the connector for whether it's used for digital or analog. Most of our code is encoder-related, so transition it to talking about encoders before we start trying to distinguish connectors. This patch is produced by sed s/intel_output/intel_encoder/ over the driver. Signed-off-by: Eric Anholt commit 5e64499f3d39c633de49320e399479642c2b1743 Author: Daniel Vetter Date: Fri Mar 19 21:46:23 2010 +0100 agp/intel: intel_845_driver is an agp driver! ... not a GTT driver. So the additional chipset flush introduced in commit 2162e6a2b0cd5acbb9bd8a3c94e1c1269b078295 Author: Dave Airlie Date: Wed Nov 21 16:36:31 2007 +1000 agp/intel: Add chipset flushing support for i8xx chipsets. to fix a GTT problem makes absolutely no sense. If this would really be needed for AGP chipsets, too, we should add it to all i8xx agp drivers, not just one. Signed-off-by: Daniel Vetter Signed-off-by: Eric Anholt commit 23010e43b353c2cdc9725cbedc7e364708039bf7 Author: Daniel Vetter Date: Mon Mar 8 13:35:02 2010 +0100 drm/i915: introduce to_intel_bo helper This is a purely cosmetic change to make changes in this area easier. And hey, it's not only clearer and typechecked, but actually shorter, too! [anholt: To clarify, this is a change to let us later make drm_i915_gem_object subclass drm_gem_object, instead of having drm_gem_object have a pointer to i915's private data] Signed-off-by: Daniel Vetter Acked-by: Dave Airlie Signed-off-by: Eric Anholt commit 8d06a1e1e9c69244f08beb7d17146483f9dcd120 Author: Robert Hooker Date: Fri Mar 19 15:13:27 2010 -0400 drm/i915: Disable FBC on 915GM and 945GM. It is causing hangs after a suspend/resume cycle with the default powersave=1 module option on these chipsets since 2.6.32-rc. BugLink: http://bugs.launchpad.net/bugs/492392 Signed-off-by: Robert Hooker Acked-by: Jesse Barnes Signed-off-by: Eric Anholt commit f4e60e6b303bc46cdc477d3174dbf9cb5dd013aa Author: Tyler Hicks Date: Thu Feb 11 00:02:32 2010 -0600 eCryptfs: Strip metadata in xattr flag in encrypted view The ecryptfs_encrypted_view mount option provides a unified way of viewing encrypted eCryptfs files. If the metadata is stored in a xattr, the metadata is moved to the file header when the file is read inside the eCryptfs mount. Because of this, we should strip the ECRYPTFS_METADATA_IN_XATTR flag from the header's flag section. This allows eCryptfs to treat the file as an eCryptfs file with a header at the front. Reviewed-by: Eric Sandeen Signed-off-by: Tyler Hicks commit 1984c23f9e0cdb432d90a85ecf88b424d36878fc Author: Tyler Hicks Date: Wed Feb 10 23:17:44 2010 -0600 eCryptfs: Clear buffer before reading in metadata xattr We initially read in the first PAGE_CACHE_SIZE of a file to if the eCryptfs header marker can be found. If it isn't found and ecryptfs_xattr_metadata was given as a mount option, then the user.ecryptfs xattr is read into the same buffer. Since the data from the first page of the file wasn't cleared, it is possible that we think we've found a second tag 3 or tag 1 packet and then error out after the packet contents aren't as expected. This patch clears the buffer before filling it with metadata from the user.ecryptfs xattr. Reviewed-by: Eric Sandeen Signed-off-by: Tyler Hicks commit fa3ef1cb4e6e9958a9bfaa977c107c515907f102 Author: Tyler Hicks Date: Thu Feb 11 05:09:14 2010 -0600 eCryptfs: Rename ecryptfs_crypt_stat.num_header_bytes_at_front This patch renames the num_header_bytes_at_front variable to metadata_size since it now contains the max size of the metadata. Reviewed-by: Eric Sandeen Signed-off-by: Tyler Hicks commit 157f1071354db1aed885816094888e0e257c9d0a Author: Tyler Hicks Date: Thu Feb 11 07:10:38 2010 -0600 eCryptfs: Fix metadata in xattr feature regression Fixes regression in 8faece5f906725c10e7a1f6caf84452abadbdc7b When using the ecryptfs_xattr_metadata mount option, eCryptfs stores the metadata (normally stored at the front of the file) in the user.ecryptfs xattr. This causes ecryptfs_crypt_stat.num_header_bytes_at_front to be 0, since there is no header data at the front of the file. This results in too much memory being requested and ENOMEM being returned from ecryptfs_write_metadata(). This patch fixes the problem by using the num_header_bytes_at_front variable for specifying the max size of the metadata, despite whether it is stored in the header or xattr. Reviewed-by: Eric Sandeen Signed-off-by: Tyler Hicks commit 2e2e3b96d98d5c17e9c09bc6088df3e182a71814 Author: Dmitry Torokhov Date: Sun Mar 21 22:56:15 2010 -0700 Input: sparse-keymap - implement safer freeing of the keymap Allow calling sparse_keymap_free() before unregistering input device whithout risk of racing with EVIOCGETKEYCODE and EVIOCSETKEYCODE. This makes life of drivers writers easier. Acked-by: Yong Wang Signed-off-by: Dmitry Torokhov commit 13bad37b04c779d98983307a27f97e9caa36f9b1 Author: Henrik Rydberg Date: Sun Mar 21 22:31:26 2010 -0700 Input: update the status of the Multitouch X driver project The Multitouch X driver project has moved to alpha status. This patch updates the documentation accordingly. Signed-off-by: Henrik Rydberg Signed-off-by: Dmitry Torokhov commit 97065e033ec5fd824d0133ecd0c614fe1e5c20bd Author: Henrik Rydberg Date: Sun Mar 21 22:31:26 2010 -0700 Input: clarify the no-finger event in multitouch protocol The current documentation does not explicitly specify how to report zero fingers, leaving a potential problem in the driver implementations and giving no parsing directive to userland. This patch defines two equally valid ways. Signed-off-by: Henrik Rydberg Signed-off-by: Dmitry Torokhov commit d90e6f6aad0ffdc674bc3a05c85c40dcc18e604c Author: Henrik Rydberg Date: Sat Mar 20 00:06:40 2010 -0700 Input: bcm5974 - retract efi-broken suspend_resume With the recent system-wide improvements on suspend/resume and EFI booting the suspend_resume method of the bcm5974 has broken. When waking up from the S3 state on the MacBookAir, the trackpad is found in a yet unknown state, unable to switch to the proper multitouch mode. The result is a frozen touchpad, and a flood of errors of the kind bcm5974: bad trackpad package, length: 8. This patch retracts the reset_resume method altogether, falling back on the generic unbind/rebind functionality of the usb layer until further investigations can be made as how to reset the device when booting from efi. Signed-off-by: Henrik Rydberg Signed-off-by: Andrew Morton Signed-off-by: Dmitry Torokhov commit 88fcf710c13bd41f2b98c5411e4f21ab98da4fb4 Author: Yong Wang Date: Fri Mar 19 23:02:16 2010 -0700 Input: sparse-keymap - free the right keymap on error 'map' is allocated in sparse_keymap_setup() and it it the one that should be freed on error instead of 'keymap'. Signed-off-by: Yong Wang Cc: stable@kernel.org Signed-off-by: Dmitry Torokhov commit 8b408fe4f853dcfa18d133aa4cf1d7546b4c3870 Author: Joerg Roedel Date: Mon Mar 8 14:20:07 2010 +0100 x86/amd-iommu: Use helper function to destroy domain In the amd_iommu_domain_destroy the protection_domain_free function is partly reimplemented. The 'partly' is the bug here because the domain is not deleted from the domain list. This results in use-after-free errors and data-corruption. Fix it by just using protection_domain_free instead. Cc: stable@kernel.org Signed-off-by: Joerg Roedel commit 3551a708f35fc712af43aeb7f541512c5cfc4936 Author: Joerg Roedel Date: Mon Mar 1 13:52:19 2010 +0100 x86/amd-iommu: Report errors in acpi parsing functions upstream Since acpi_table_parse ignores the return values of the parsing function this patch introduces a workaround and reports these errors upstream via a global variable. Signed-off-by: Joerg Roedel commit 04e856c072b84042bb56c487c2868638bb3f78db Author: Chris Wright Date: Wed Feb 17 08:51:20 2010 -0800 x86/amd-iommu: Pt mode fix for domain_destroy After a guest is shutdown, assigned devices are not properly returned to the pt domain. This can leave the device using stale cached IOMMU data, and result in a non-functional device after it's re-bound to the host driver. For example, I see this upon rebinding: AMD-Vi: Event logged [IO_PAGE_FAULT device=02:00.0 domain=0x0000 address=0x000000007e2a8000 flags=0x0050] AMD-Vi: Event logged [IO_PAGE_FAULT device=02:00.0 domain=0x0000 address=0x000000007e2a8040 flags=0x0050] AMD-Vi: Event logged [IO_PAGE_FAULT device=02:00.0 domain=0x0000 address=0x000000007e2a8080 flags=0x0050] AMD-Vi: Event logged [IO_PAGE_FAULT device=02:00.0 domain=0x0000 address=0x000000007e2a80c0 flags=0x0050] 0000:02:00.0: eth2: Detected Hardware Unit Hang: ... The amd_iommu_destroy_domain() function calls do_detach() which doesn't reattach the pt domain to the device. Use __detach_device() instead. Cc: stable@kernel.org Signed-off-by: Chris Wright Signed-off-by: Joerg Roedel commit 5d214fe6e808a8caa9cb6f610c0190d3f50ac570 Author: Joerg Roedel Date: Mon Feb 8 14:44:49 2010 +0100 x86/amd-iommu: Protect IOMMU-API map/unmap path This patch introduces a mutex to lock page table updates in the IOMMU-API path. We can't use the spin_lock here because this patch might sleep. Signed-off-by: Joerg Roedel commit 339d3261aa3eb0e12f68ef868e042c1ca03628f7 Author: Julia Lawall Date: Sat Feb 6 09:42:39 2010 +0100 x86/amd-iommu: Remove double NULL check in check_device dev was tested just above, so drop the second test. Signed-off-by: Julia Lawall Signed-off-by: Joerg Roedel