commit 48593229adc1d71147512f91e95dfbf88c91816d Merge: 8e7768d 1243ba9 Author: Linus Torvalds Date: Thu Oct 15 15:21:42 2009 -0700 Merge branch 'docs-next' of git://git.lwn.net/linux-2.6 * 'docs-next' of git://git.lwn.net/linux-2.6: Update flex_arrays.txt commit 8e7768d3f40d4ab79e6af58462e173cdbfad9cc6 Merge: 36d6f3e 6861f35 Author: Linus Torvalds Date: Thu Oct 15 15:21:20 2009 -0700 Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/teigland/dlm * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/teigland/dlm: dlm: fix socket fd translation dlm: fix lowcomms_connect_node for sctp commit 36d6f3ecbd0bedfbda8b9f7c5fc36edb62a417ad Merge: 21279cf db8590f Author: Linus Torvalds Date: Thu Oct 15 15:20:17 2009 -0700 Merge branch 'x86-fixes-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip * 'x86-fixes-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip: Revert "x86: linker script syntax nits" x86, perf_event: Rename 'performance counter interrupt' commit 21279cfa107af07ef985539ac0de2152b9cba5f5 Author: David Howells Date: Thu Oct 15 10:14:35 2009 +0100 KEYS: get_instantiation_keyring() should inc the keyring refcount in all cases The destination keyring specified to request_key() and co. is made available to the process that instantiates the key (the slave process started by /sbin/request-key typically). This is passed in the request_key_auth struct as the dest_keyring member. keyctl_instantiate_key and keyctl_negate_key() call get_instantiation_keyring() to get the keyring to attach the newly constructed key to at the end of instantiation. This may be given a specific keyring into which a link will be made later, or it may be asked to find the keyring passed to request_key(). In the former case, it returns a keyring with the refcount incremented by lookup_user_key(); in the latter case, it returns the keyring from the request_key_auth struct - and does _not_ increment the refcount. The latter case will eventually result in an oops when the keyring prematurely runs out of references and gets destroyed. The effect may take some time to show up as the key is destroyed lazily. To fix this, the keyring returned by get_instantiation_keyring() must always have its refcount incremented, no matter where it comes from. This can be tested by setting /etc/request-key.conf to: #OP TYPE DESCRIPTION CALLOUT INFO PROGRAM ARG1 ARG2 ARG3 ... #====== ======= =============== =============== =============================== create * test:* * |/bin/false %u %g %d %{user:_display} negate * * * /bin/keyctl negate %k 10 @u and then doing: keyctl add user _display aaaaaaaa @u while keyctl request2 user test:x test:x @u && keyctl list @u; do keyctl request2 user test:x test:x @u; sleep 31; keyctl list @u; done which will oops eventually. Changing the negate line to have @u rather than %S at the end is important as that forces the latter case by passing a special keyring ID rather than an actual keyring ID. Reported-by: Alexander Zangerl Signed-off-by: David Howells Tested-by: Alexander Zangerl Signed-off-by: Linus Torvalds commit 37a08b13eba6ce3b42df30b2a5ca3a9845f429ec Merge: bd72f85 b734dd5 Author: Linus Torvalds Date: Thu Oct 15 15:15:03 2009 -0700 Merge branch 'merge' of git://git.kernel.org/pub/scm/linux/kernel/git/benh/powerpc * 'merge' of git://git.kernel.org/pub/scm/linux/kernel/git/benh/powerpc: powerpc/pci: Fix MODPOST warning powerpc/oprofile: Add ppc750 CL as supported by oprofile powerpc: warning: allocated section `.data_nosave' not in segment powerpc/kgdb: Fix build failure caused by "kgdb.c: unused variable 'acc'" powerpc: Fix hypervisor TLB batching powerpc/mm: Fix hang accessing top of vmalloc space powerpc: Fix memory leak in axon_msi.c powerpc/pmac: Fix issues with sleep on some powerbooks powerpc64/ftrace: use PACA to retrieve TOC in mod_return_to_handler powerpc/ftrace: show real return addresses in modules commit bd72f85b9ad6cf41bc771de0cd27d892c41b4396 Merge: 13e356c d59733c Author: Linus Torvalds Date: Thu Oct 15 15:10:27 2009 -0700 Merge branch 'release' of git://git.kernel.org/pub/scm/linux/kernel/git/lenb/linux-acpi-2.6 * 'release' of git://git.kernel.org/pub/scm/linux/kernel/git/lenb/linux-acpi-2.6: ACPI button: don't try to use a non-existent lid device ACPI: video: Loosen strictness of video bus detection code eeepc-laptop: Prevent a panic when disabling RT2860 wireless when associated eeepc-laptop: Properly annote eeepc_enable_camera(). ACPI / PCI: Fix NULL pointer dereference in acpi_get_pci_dev() (rev. 2) fujitsu-laptop: address missed led-class ifdef fixup ACPI: Kconfig, fix proc aggregator text ACPI: add AC/DC notifier commit 13e356c977473baeb29e8abfd992f0cd938a78ce Merge: dcbeb0b 1560523 Author: Linus Torvalds Date: Thu Oct 15 15:09:55 2009 -0700 Merge branch 'omap-fixes-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tmlind/linux-omap-2.6 * 'omap-fixes-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tmlind/linux-omap-2.6: OMAP2xxx clock: set up clockdomain pointer in struct clk OMAP: Fix race condition with autodeps omap: McBSP: Fix incorrect receiver stop in omap_mcbsp_stop omap: Initialization of SDRC params on Zoom2 omap: RX-51: Drop I2C-1 speed to 2200 omap: SDMA: Fixing bug in omap_dma_set_global_params() omap: CONFIG_ISP1301_OMAP redefined in Beagle defconfig commit dcbeb0bec5f2695c3ff53f174efb8e03c209f3f3 Merge: 2b650df 444528b Author: Linus Torvalds Date: Thu Oct 15 15:06:37 2009 -0700 Merge branch 'master' of git://git.kernel.org/pub/scm/linux/kernel/git/mason/btrfs-unstable * 'master' of git://git.kernel.org/pub/scm/linux/kernel/git/mason/btrfs-unstable: Btrfs: always pin metadata in discard mode Btrfs: enable discard support Btrfs: add -o discard option Btrfs: properly wait log writers during log sync Btrfs: fix possible ENOSPC problems with truncate Btrfs: fix btrfs acl #ifdef checks Btrfs: streamline tree-log btree block writeout Btrfs: avoid tree log commit when there are no changes Btrfs: only write one super copy during fsync commit 2b650df2cea96e487f2fd9ecaa68e533ea9b5ed7 Merge: e7957ec 4b1fe77 Author: Linus Torvalds Date: Thu Oct 15 15:06:02 2009 -0700 Merge git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/tty-2.6 * git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/tty-2.6: tty: fix vt_compat_ioctl commit e7957ec6b6edf7838c7d7506669ffb6e28ec481b Merge: 59c0b58 83db93f Author: Linus Torvalds Date: Thu Oct 15 15:05:46 2009 -0700 Merge git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/driver-core-2.6 * git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/driver-core-2.6: sysfs: Allow sysfs_notify_dirent to be called from interrupt context. sysfs: Allow sysfs_move_dir(..., NULL) again. commit 59c0b586aebdfff2c79d61139a2f5ea3b6d62675 Merge: b25eaeb 4238ef5 Author: Linus Torvalds Date: Thu Oct 15 15:05:33 2009 -0700 Merge git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/usb-2.6 * git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/usb-2.6: USB: gadget: Fix EEM driver comments and VID/PID usb-storage: Workaround devices with bogus sense size USB: ehci: Fix IST boundary checking interval math. USB: option: Support for AIRPLUS MCD650 Datacard USB: whci-hcd: always do an update after processing a halted qTD USB: whci-hcd: handle early deletion of endpoints USB: wusb: don't use the stack to read security descriptor USB: rename Documentation/ABI/.../sysfs-class-usb_host commit b25eaebc6c5072164fef6f288a3e93241cc78bb7 Merge: c3da314 0af4916 Author: Linus Torvalds Date: Thu Oct 15 15:05:20 2009 -0700 Merge git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/staging-2.6 * git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/staging-2.6: Staging: rt2860sta: prevent a panic when disabling when associated staging: more sched.h fixes Staging: et131x: Fix the add_10bit macro Staging: et131x: Correct WRAP bit handling staging: Complete sched.h removal from interrupt.h Staging: vme: fix sched.h build breakage Staging: poch: fix sched.h build breakage Staging: b3dfg: fix sched.h build breakage Staging: comedi: fix sched.h build breakage Staging: iio: Fix missing include commit c3da31485f074a6f598b67045b08e2e15d908310 Merge: bd07041 8f7e524 Author: Linus Torvalds Date: Thu Oct 15 15:03:17 2009 -0700 Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-2.6 * git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-2.6: (53 commits) vmxnet: fix 2 build problems net: add support for STMicroelectronics Ethernet controllers. net: ks8851_mll uses mii interfaces net/fec_mpc52xx: Fix kernel panic on FEC error net: Fix OF platform drivers coldplug/hotplug when compiled as modules TI DaVinci EMAC: Clear statistics register properly. r8169: partial support and phy init for the 8168d irda/sa1100_ir: check return value of startup hook udp: Fix udp_poll() and ioctl() WAN: fix Cisco HDLC handshaking. tcp: fix tcp_defer_accept to consider the timeout 3c574_cs: spin_lock the set_multicast_list function net: Teach pegasus driver to ignore bluetoother adapters with clashing Vendor:Product IDs netxen: fix pci bar mapping ethoc: fix warning from 32bit build libertas: fix build net: VMware virtual Ethernet NIC driver: vmxnet3 net: Fix IXP 2000 network driver building. libertas: fix build mac80211: document ieee80211_rx() context requirement ... commit bd0704111e625ebe75418531550cf471215c3267 Merge: a3ccf63 97ad5a0 Author: Linus Torvalds Date: Thu Oct 15 14:59:24 2009 -0700 Merge the right tty-fixes branch * branch 'tty-fixes' tty: use the new 'flush_delayed_work()' helper to do ldisc flush workqueue: add 'flush_delayed_work()' to run and wait for delayed work tty: Make flush_to_ldisc() locking more robust commit 1243ba98e3abecd12e9e90dd390801b95ef070f2 Author: Jonathan Corbet Date: Wed Oct 14 12:43:22 2009 -0600 Update flex_arrays.txt The 2.6.32 merge window brought a number of changes to the flexible array API; this patch updates the documentation to match the new state of affairs. Acked-by: David Rientjes Signed-off-by: Jonathan Corbet commit db8590f5043f3436a65b24155a3a7af2604df876 Author: Ingo Molnar Date: Thu Oct 15 08:08:12 2009 +0200 Revert "x86: linker script syntax nits" This reverts commit e9a63a4e559fbdc522072281d05e6b13c1022f4b. This breaks older binutils, where sink-less asserts are broken. See this commit for further details: d2ba8b2: x86: Fix assert syntax in vmlinux.lds.S Acked-by: "H. Peter Anvin" Acked-by: Sam Ravnborg Cc: Linus Torvalds LKML-Reference: <4AD6523D.5030909@zytor.com> Signed-off-by: Ingo Molnar commit a0738a688d1105cbf8d71868a1e020c6cdf42d4c Merge: 89ccf46 a3ccf63 Author: Ingo Molnar Date: Thu Oct 15 08:07:26 2009 +0200 Merge branch 'linus' into x86/urgent Merge reason: pull in latest, to be able to revert a patch there. Signed-off-by: Ingo Molnar commit d59733c1e56784a99381799021c4f9698f3e6379 Merge: 4697fd6 2c907b7 Author: Len Brown Date: Thu Oct 15 00:47:13 2009 -0400 Merge branch 'misc' into release commit 4697fd6f6a6277b33093fc807786f16cabe30b31 Merge: fee807e 3a1151e Author: Len Brown Date: Thu Oct 15 00:46:57 2009 -0400 Merge branch 'launchpad-333386' into release commit fee807e8ffef7a0cdec3ff2d7156844c7d987d2f Merge: f63a904 b56ab33 Author: Len Brown Date: Thu Oct 15 00:46:46 2009 -0400 Merge branch 'eeepc-laptop' into release commit f63a904891de9da7828b3eb6c99c45a26ec5b475 Merge: a3ccf63 497fb54 Author: Len Brown Date: Thu Oct 15 00:45:37 2009 -0400 Merge branch 'bugzilla-14129' into release commit 8f7e524ce33ca81b663711404709396165da3cbd Author: Randy Dunlap Date: Wed Oct 14 20:38:58 2009 -0700 vmxnet: fix 2 build problems vmxnet3 uses in_dev* interfaces so it should depend on INET. Also fix so that the driver builds when CONFIG_PCI_MSI is disabled. vmxnet3_drv.c:(.text+0x2a88cb): undefined reference to `in_dev_finish_destroy' drivers/net/vmxnet3/vmxnet3_drv.c:1335: error: 'struct vmxnet3_intr' has no member named 'msix_entries' drivers/net/vmxnet3/vmxnet3_drv.c:1384: error: 'struct vmxnet3_intr' has no member named 'msix_entries' drivers/net/vmxnet3/vmxnet3_drv.c:2137: error: 'struct vmxnet3_intr' has no member named 'msix_entries' drivers/net/vmxnet3/vmxnet3_drv.c:2138: error: 'struct vmxnet3_intr' has no member named 'msix_entries' Signed-off-by: Randy Dunlap Signed-off-by: Bhavesh davda Signed-off-by: David S. Miller commit b734dd5b5753c88c64bf56d4002d8ade7e88edec Merge: 0f6023d be10ab1 Author: Benjamin Herrenschmidt Date: Thu Oct 15 14:09:11 2009 +1100 Merge commit 'ftrace/ppc' into merge commit 15605236740c38b51d67faf060851bfdc5c6b5fc Merge: a93d4ed a7f20b2 Author: Tony Lindgren Date: Wed Oct 14 15:46:15 2009 -0700 Merge branch '2_6_32rc4_fixes' of git://git.pwsan.com/linux-2.6 into omap-fixes-for-linus commit 4b1fe7797270e866adc17fc603bddf8768bc187f Author: Andreas Schwab Date: Mon Sep 28 20:10:02 2009 +0200 tty: fix vt_compat_ioctl Call compat_unimap_ioctl, not do_unimap_ioctl. This was broken by commit e9216651. The compat_unimap_ioctl was originally called do_unimap_ioctl in fs/compat_ioctl.h which got moved to drivers/char/vt_ioctl.c. In that patch, the caller was not updated and consequently called the native handler. Signed-off-by: Andreas Schwab Acked-by: Arnd Bergmann Signed-off-by: Greg Kroah-Hartman commit a7f20b2695eb6a00a5464089bacf75b8ed64725e Author: Paul Walmsley Date: Wed Oct 14 16:40:37 2009 -0600 OMAP2xxx clock: set up clockdomain pointer in struct clk clock24xx.c is missing a omap2_init_clk_clkdm() in its omap2_clk_init() function. Among other bad effects, this causes the OMAP hwmod layer to oops on boot. Thanks to Carlos Aguiar and Stefano Panella for reporting this bug. Thanks to Tony Lindgren for N800 booting advice. Signed-off-by: Paul Walmsley Cc: Carlos Aguiar Cc: Stefano Panella Cc: Tony Lindgren commit a0219fbdacc01e039d1b158d16141349a3309915 Author: Kalle Jokiniemi Date: Wed Oct 14 16:40:37 2009 -0600 OMAP: Fix race condition with autodeps There is a possible race condition in clockdomain code handling hw supported idle transitions. When multiple autodeps dependencies are being added or removed, a transition of still remaining dependent powerdomain can result in false readings of the state counter. This is especially fatal for off mode state counter, as it could result in a driver not noticing a context loss. Fixed by disabling hw supported state transitions when autodeps are being changed. Signed-off-by: Kalle Jokiniemi Signed-off-by: Paul Walmsley commit a3ccf63ee643ef243cbf8918da8b3f9238f10029 Merge: d6047d7 eaf76e0 Author: Linus Torvalds Date: Wed Oct 14 15:36:19 2009 -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: sbp2: provide fallback if mgt_ORB_timeout is missing ieee1394: add documentation entry to MAINTAINERS ieee1394: update URLs in debugging-via-ohci1394.txt commit d6047d79b90f6122fcbf2c3e783b507f7dd78fc6 Merge: 601adfe 514fc01 Author: Linus Torvalds Date: Wed Oct 14 15:34:55 2009 -0700 Merge branch 'tty-fixes' * branch 'tty-fixes': tty: use the new 'flush_delayed_work()' helper to do ldisc flush workqueue: add 'flush_delayed_work()' to run and wait for delayed work Make flush_to_ldisc properly handle parallel calls commit 601adfedba37326410760d8d60f5da99a0adfd2f Merge: 655bdb0 e9a63a4 Author: Linus Torvalds Date: Wed Oct 14 15:33:05 2009 -0700 Merge branch 'topic/x86-lds-nits' of git://git.kernel.org/pub/scm/linux/kernel/git/frob/linux-2.6-roland * 'topic/x86-lds-nits' of git://git.kernel.org/pub/scm/linux/kernel/git/frob/linux-2.6-roland: x86: linker script syntax nits commit 655bdb0e07384d04d1ecfd709c7aee6cc8bd8793 Merge: e7d688e 03717e3 Author: Linus Torvalds Date: Wed Oct 14 15:31:48 2009 -0700 Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/sparc-2.6 * git://git.kernel.org/pub/scm/linux/kernel/git/davem/sparc-2.6: watchdog: Fix rio watchdog probe function sparc64: Set IRQF_DISABLED on LDC channel IRQs. sparc64: Fix D-cache flushing on swapin from SW devices. sparc64: Fix niagara2 perf IRQ bits. commit e7d688ec86c9c6aa94b58eeb266f833a76407018 Merge: d470c05 ac522b6 Author: Linus Torvalds Date: Wed Oct 14 15:31:15 2009 -0700 Merge branch 'for-linus' of git://git390.marist.edu/pub/scm/linux-2.6 * 'for-linus' of git://git390.marist.edu/pub/scm/linux-2.6: [S390] sclp_vt220 build fix [S390] cio: change misleading console logic [S390] call home support: fix proc handler [S390] dasd: use idal for device characteristics [S390] Add highgprs facility to /proc/cpuinfo [S390] dasd: fix locking bug [S390] tape390: Fix request queue handling in block driver [S390] hypfs: Use subcode 6 if subcode 7 is not available commit d470c05bedc27dbd2df9d0bb6fd82336e4ff43db Merge: ee67e6c 457b646 Author: Linus Torvalds Date: Wed Oct 14 15:30:45 2009 -0700 Merge branch 'sh/for-2.6.32' of git://git.kernel.org/pub/scm/linux/kernel/git/lethal/sh-2.6 * 'sh/for-2.6.32' of git://git.kernel.org/pub/scm/linux/kernel/git/lethal/sh-2.6: sh: Fix a TRACE_IRQS_OFF typo. sh: Optimize the setup_rt_frame() I-cache flush. sh: Populate initial secondary CPU info from boot_cpu_data. sh: Tidy up SMP cpuinfo. sh: Use boot_cpu_data for FPU tests in sigcontext paths. sh: ftrace: Fix up syscall tracepoint support. sh: force dcache flush if dcache_dirty bit set. sh: update die() output. commit ee67e6cbe1121da1ae4eceb7b2bcb535c5cbf65e Merge: 220a625 c7cedb1 Author: Linus Torvalds Date: Wed Oct 14 15:25:35 2009 -0700 Merge branch 'core-fixes-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip * 'core-fixes-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip: oprofile: warn on freeing event buffer too early oprofile: fix race condition in event_buffer free lockdep: Use cpu_clock() for lockstat commit 220a6258b1bac1f0b050a99aa8233330d6c8c416 Merge: f061d83 a003236 Author: Linus Torvalds Date: Wed Oct 14 15:25:23 2009 -0700 Merge branch 'perf-fixes-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip * 'perf-fixes-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip: perf events: Update MAINTAINERS entry file patterns perf tools: Remove static debugfs path from parse-events perf tools: Fix the NO_64BIT build on pure 64-bit systems perf tools: Fix const char type propagation commit f061d83a2b29f08b41c494335b7d23a432cb5a2d Merge: e345fe1 e17b38b Author: Linus Torvalds Date: Wed Oct 14 15:25:04 2009 -0700 Merge branch 'sched-fixes-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip * 'sched-fixes-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip: sched: Fix missing kernel-doc notation Revert "x86, timers: Check for pending timers after (device) interrupts" sched: Update the clock of runqueue select_task_rq() selected commit e345fe1ada6f91bf703ca080168745ef18b2f037 Merge: ea87644 8ad8073 Author: Linus Torvalds Date: Wed Oct 14 15:24:51 2009 -0700 Merge branch 'tracing-fixes-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip * 'tracing-fixes-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip: tracing/filters: Fix memory leak when setting a filter tracing: fix trace_vprintk call commit ea876441052c2cebc27d9bd2a6f6b9bce6add408 Merge: 80f5069 71999d9 Author: Linus Torvalds Date: Wed Oct 14 15:24:32 2009 -0700 Merge branch 'x86-fixes-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip * 'x86-fixes-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip: x86/paravirt: Use normal calling sequences for irq enable/disable x86: fix kernel panic on 32 bits when profiling x86: Fix Suspend to RAM freeze on Acer Aspire 1511Lmi laptop x86, vmi: Mark VMI deprecated and schedule it for removal commit 83db93f4de2d9ae441a491d1dc61c2204f0195de Author: Neil Brown Date: Tue Sep 15 16:05:51 2009 -0700 sysfs: Allow sysfs_notify_dirent to be called from interrupt context. sysfs_notify_dirent is a simple atomic operation that can be used to alert user-space that new data can be read from a sysfs attribute. Unfortunately it cannot currently be called from non-process context because of its use of spin_lock which is sometimes taken with interrupts enabled. So change all lockers of sysfs_open_dirent_lock to disable interrupts, thus making sysfs_notify_dirent safe to be called from non-process context (as drivers/md does in md_safemode_timeout). sysfs_get_open_dirent is (documented as being) only called from process context, so it uses spin_lock_irq. Other places use spin_lock_irqsave. The usage for sysfs_notify_dirent in md_safemode_timeout was introduced in 2.6.28, so this patch is suitable for that and more recent kernels. Reported-by: Joel Andres Granados Signed-off-by: NeilBrown Signed-off-by: Dan Williams Cc: stable Signed-off-by: Greg Kroah-Hartman commit a6a8357788d6a37f8ad0f7eb46b0a386b613abb9 Author: Cornelia Huck Date: Tue Oct 6 15:33:35 2009 +0200 sysfs: Allow sysfs_move_dir(..., NULL) again. As device_move() and kobject_move() both handle a NULL destination, sysfs_move_dir() should do this as well (again) and fall back to sysfs_root in that case. Signed-off-by: Cornelia Huck Cc: Phil Carmody Signed-off-by: Greg Kroah-Hartman commit 97ad5a034dcc164269d0b8a5cb3e827b33455c11 Author: Linus Torvalds Date: Wed Oct 14 09:20:41 2009 -0700 tty: use the new 'flush_delayed_work()' helper to do ldisc flush This way all flush_to_ldisc work is always done through the workqueues, and we thus have a single point of serialization. It also means that we can avoid calling flush_to_ldisc() entirely if there was no delayed work pending. [ Side note: using workqueues and keventd as the single way to enter flush_to_ldisc() still doesn't absolutely guarantee that we can't have concurrency: keventd is multithreaded and has a thread per CPU, and while the WORK_STRUCT_PENDING bit guarantees a single work only being on the pending list once, the work might be both pending and _running_ at the same time. Workqueues are not simple. ] This was also confirmed to fix bugzilla #14388, even without the earlier locking fix and cleanup (commit c8e331419: "tty: Make flush_to_ldisc() locking more robust"). So both commits fix the same bug differently, and either would have worked on its own. But I'm committing them both since they are cleanups independent of each other. Reported-and-tested-by: Boyan Acked-by: Alan Cox Signed-off-by: Linus Torvalds commit 47dd7a540b8a0cdc028914b7351fca0cf0a1d305 Author: Giuseppe Cavallaro Date: Wed Oct 14 15:13:45 2009 -0700 net: add support for STMicroelectronics Ethernet controllers. This is the driver for the ST MAC 10/100/1000 on-chip Ethernet controllers (Synopsys IP blocks). Driver documentation: o http://stlinux.com/drupal/kernel/network/stmmac Revisions: o http://stlinux.com/drupal/kernel/network/stmmac-driver-revisions Performances: o http://stlinux.com/drupal/benchmarks/networking/stmmac Signed-off-by: Giuseppe Cavallaro Signed-off-by: David S. Miller commit 8c53e46314562fe814b0afef6cfcbd2f562b017c Author: Linus Torvalds Date: Wed Oct 14 09:16:42 2009 -0700 workqueue: add 'flush_delayed_work()' to run and wait for delayed work It basically turns a delayed work into an immediate work, and then waits for it to finish, thus allowing you to force (and wait for) an immediate flush of a delayed work. We'll want to use this in the tty layer to clean up tty_flush_to_ldisc(). Acked-by: Oleg Nesterov [ Fixed to use 'del_timer_sync()' as noted by Oleg ] Signed-off-by: Linus Torvalds commit 47a01a0c94a3ff1716adb5f37b83975550e1ebbb Author: Randy Dunlap Date: Wed Oct 14 15:10:58 2009 -0700 net: ks8851_mll uses mii interfaces From: Randy Dunlap ks8851_mll uses mii interfaces so it needs to select MII. ks8851_mll.c:(.text+0xf95ac): undefined reference to `generic_mii_ioctl' ks8851_mll.c:(.text+0xf96a0): undefined reference to `mii_ethtool_gset' ks8851_mll.c:(.text+0xf96fa): undefined reference to `mii_ethtool_sset' ks8851_mll.c:(.text+0xf9754): undefined reference to `mii_link_ok' ks8851_mll.c:(.text+0xf97ae): undefined reference to `mii_nway_restart' Signed-off-by: Randy Dunlap Signed-off-by: David S. Miller commit 37ccd92f55c6c6c23f2b4a7c8830b313b70da0ed Author: John Bonesio Date: Wed Oct 14 15:10:19 2009 -0700 net/fec_mpc52xx: Fix kernel panic on FEC error The MDIO bus cannot be accessed at interrupt context, but on an FEC error, the fec_mpc52xx driver reset function also tries to reset the PHY. Since the error is detected at IRQ context, and the PHY functions try to sleep, the kernel ends up panicking. Resetting the PHY on an FEC error isn't even necessary. This patch solves the problem by removing the PHY reset entirely. Signed-off-by: John Bonesio Signed-off-by: Grant Likely Signed-off-by: David S. Miller commit c8e33141911bf8fe87dc6c92793b9a59b2be0130 Author: Linus Torvalds Date: Wed Oct 14 08:59:49 2009 -0700 tty: Make flush_to_ldisc() locking more robust The locking logic in this function is extremely subtle, and it broke when we started doing potentially concurrent 'flush_to_ldisc()' calls in commit e043e42bdb66885b3ac10d27a01ccb9972e2b0a3 ("pty: avoid forcing 'low_latency' tty flag"). The code in flush_to_ldisc() used to set 'tty->buf.head' to NULL, with the intention that this would then cause any other concurrent calls to not do anything (locking note: we have to drop the buf.lock over the call to ->receive_buf that can block, which is why we can have concurrency here at all in the first place). It also used to set the TTY_FLUSHING bit, which would then cause any concurrent 'tty_buffer_flush()' to not free all the tty buffers and clear 'tty->buf.tail'. And with 'buf.head' being NULL, and 'buf.tail' being non-NULL, new data would never touch 'buf.head'. Does that sound a bit too subtle? It was. If another concurrent call to 'flush_to_ldisc()' were to come in, the NULL buf.head would indeed cause it to not process the buffer list, but it would still clear TTY_FLUSHING afterwards, making the buffer protection against 'tty_buffer_flush()' no longer work. So this clears it all up. We depend purely on TTY_FLUSHING for handling re-entrancy, and stop playing games with the buffer list entirely. In fact, the buffer list handling is now robust enough that we could probably stop doing the whole "protect against 'tty_buffer_flush()'" thing entirely. However, Alan also points out that we would probably be better off simplifying the locking even further, and just take the tty ldisc_mutex around all the buffer flushing calls. That seems like a good idea, but in the meantime this is a conceptually minimal fix (with the patch itself being bigger than required just to clean the code up and make it readable). This fixes keyboard trouble under X: http://bugzilla.kernel.org/show_bug.cgi?id=14388 Reported-and-tested-by: Frédéric Meunier Reported-and-tested-by: Boyan Cc: Alan Cox Cc: Paul Fulghum Signed-off-by: Linus Torvalds commit e72701acbe0b35e52d3f04d442837c06b4e64f1c Author: Anton Vorontsov Date: Wed Oct 14 14:54:52 2009 -0700 net: Fix OF platform drivers coldplug/hotplug when compiled as modules Some OF platform drivers are missing module device tables, so they won't load automatically on boot. This patch fixes the issue by adding proper MODULE_DEVICE_TABLE() macros to the drivers. Signed-off-by: Anton Vorontsov Signed-off-by: David S. Miller commit 4238ef54690ea502a22aab41c377f23588c387d0 Author: Brian Niebuhr Date: Wed Oct 14 12:04:33 2009 -0500 USB: gadget: Fix EEM driver comments and VID/PID Remove expository comments and fix USB VID and PID Signed-off-by: Brian Niebuhr Signed-off-by: Greg Kroah-Hartman commit b8430e1b82b7e514d76a88eb70a7d8831d50df1e Author: Benjamin Herrenschmidt Date: Tue Oct 13 15:53:47 2009 +1100 usb-storage: Workaround devices with bogus sense size usb-storage: Workaround devices with bogus sense size Some devices, such as Huawei E169, advertise more than the standard amount of sense data, causing us to set US_FL_SANE_SENSE, assuming they support it. However, they subsequently fail the request sense with that size. This works around it generically. When a sense request fails due to a device returning an error, US_FL_SANE_SENSE was set, and that sense request used a larger sense size, we retry with a smaller size before giving up. Based on an original patch by Ben Efros Signed-off-by: Benjamin Herrenschmidt Acked-by: Alan Stern Cc: stable Signed-off-by: Greg Kroah-Hartman commit 36f21329d217016f0f212f0752ae595b4a76754d Author: Sarah Sharp Date: Fri Oct 9 12:28:41 2009 -0700 USB: ehci: Fix IST boundary checking interval math. When the EHCI driver falls behind in its scheduling, the active stream's first empty microframe may be in the past with respect to the current microframe. The code attempts to move the starting microframe ("start") N number of microframes forward, where N is the interval of endpoint. However, stream->interval is a copy of the endpoint's bInterval, which is designated in frames for FS devices, and microframes for HS devices. Convert stream->interval to microframes before using it to move the starting microframe forward. Acked-by: Alan Stern Signed-off-by: Sarah Sharp Signed-off-by: Greg Kroah-Hartman commit 12148da6722be3b44c2220206b6ccb80d2d9d8f8 Author: Huzaifa Sidhpurwala Date: Mon Oct 12 14:34:45 2009 +0530 USB: option: Support for AIRPLUS MCD650 Datacard Here is a patch for Airplus MCD 650 card Note: This device is with Victor V Kudlak, and he confirmed that this device works with the patch. Signed-off-by: Huzaifa Sidhpurwala Signed-off-by: Greg Kroah-Hartman commit 1f01ca4e0c1d4126eb663f8ea0bab03836099770 Author: David Vrabel Date: Mon Oct 12 15:45:16 2009 +0000 USB: whci-hcd: always do an update after processing a halted qTD A halted qTD always triggers a hardware list update because the qset was either removed or reactivated. Signed-off-by: David Vrabel Signed-off-by: Greg Kroah-Hartman commit 171b37ee95865c052a88d52a05895c3c584f4871 Author: David Vrabel Date: Mon Oct 12 15:45:15 2009 +0000 USB: whci-hcd: handle early deletion of endpoints If an endpoint is deleted before it's been fully added to the hardware list, the associated qset will not be fully initialized and an oops will occur when complete(&qset->remove_complete) is called. This can happen if a queued URB is cancelled. Fix this by only removing the qset from the hardware list if the cancelled URB had qTDs. Signed-off-by: David Vrabel Signed-off-by: Greg Kroah-Hartman commit b41ecf9a80a55406eb4bf90c1ba260785002e103 Author: Stefano Panella Date: Mon Oct 12 15:45:14 2009 +0000 USB: wusb: don't use the stack to read security descriptor An urb's transfer buffer must be kmalloc'd memory and not point to the stack or a DMA API warning results. Signed-off-by: David Vrabel Signed-off-by: Greg Kroah-Hartman commit 99b830aa553668a2c433e4cbff130224a75c74bb Author: David Vrabel Date: Mon Oct 12 15:45:13 2009 +0000 USB: rename Documentation/ABI/.../sysfs-class-usb_host The usb_host class is no more. Rename its documentation file (which only contained WUSB specific files) to .../sysfs-class-uwb_rc-wusbhc. Signed-off-by: David Vrabel Signed-off-by: Greg Kroah-Hartman commit e9a63a4e559fbdc522072281d05e6b13c1022f4b Author: Roland McGrath Date: Wed Oct 14 14:16:38 2009 -0700 x86: linker script syntax nits The linker scripts grew some use of weirdly wrong linker script syntax. It happens to work, but it's not what the syntax is documented to be. Clean it up to use the official syntax. Signed-off-by: Roland McGrath CC: Ian Lance Taylor commit 0af49167b1e5ba154e90d2c454bf4624ee47df80 Author: Darren Salt Date: Wed Oct 14 02:19:22 2009 +0100 Staging: rt2860sta: prevent a panic when disabling when associated This fixes a panic which is triggered when the hardware "disappears" from beneath the driver, i.e. when wireless is toggled off via Fn-F2 on various EeePC models. Ref. bug report http://bugzilla.kernel.org/show_bug.cgi?id=13390 panic http://bugzilla.kernel.org/attachment.cgi?id=21928 Signed-off-by: Darren Salt Cc: stable Signed-off-by: Greg Kroah-Hartman commit 5f267996eb4501b45beecdfe7c9a9af714fc083f Author: Jeff Mahoney Date: Mon Oct 12 20:28:11 2009 -0400 staging: more sched.h fixes This patch contains more sched.h additions for drivers that built fine under x86_64 but not i386 for some reason. Signed-off-by: Jeff Mahoney Signed-off-by: Greg Kroah-Hartman commit 317c68c04d53198f38314d29ba28b8fc632eccab Author: Alan Cox Date: Mon Oct 12 15:38:26 2009 +0100 Staging: et131x: Fix the add_10bit macro Duh.. we need to preserve the wrap bit when adding. Signed-off-by: Alan Cox Signed-off-by: Greg Kroah-Hartman commit b9d2dde0556cde38105033cb39841658d81921d2 Author: Alan Cox Date: Mon Oct 12 15:38:17 2009 +0100 Staging: et131x: Correct WRAP bit handling add_10bit loses the existing wrap value Signed-off-by: Alan Cox Signed-off-by: Greg Kroah-Hartman commit 4439c9353589f4def506b94f8f6344433333a4b9 Author: Jeff Mahoney Date: Mon Oct 12 17:10:34 2009 -0400 staging: Complete sched.h removal from interrupt.h Commit d43c36dc removed sched.h from interrupt.h and distributed sched.h to users which needed it. This finishes it up for staging. Signed-off-by: Jeff Mahoney Signed-off-by: Greg Kroah-Hartman commit 6af783c8ba3418a8ffc50f1266d9b1e35a3322db Author: Greg Kroah-Hartman Date: Mon Oct 12 15:00:08 2009 -0700 Staging: vme: fix sched.h build breakage commit d43c36dc removed sched.h from interrupt.h. This broke the vme drivers. This patch fixes them. Signed-off-by: Greg Kroah-Hartman commit 8037cdade734383a8b2ef501e6d39645f8954073 Author: Greg Kroah-Hartman Date: Mon Oct 12 14:59:56 2009 -0700 Staging: poch: fix sched.h build breakage commit d43c36dc removed sched.h from interrupt.h. This broke the poch driver. This patch fixes this. Signed-off-by: Greg Kroah-Hartman commit db8fd2887c80ef7d2c8d98d2b9e626ded5e43444 Author: Greg Kroah-Hartman Date: Mon Oct 12 14:59:33 2009 -0700 Staging: b3dfg: fix sched.h build breakage commit d43c36dc removed sched.h from interrupt.h. This broke the b3dfg driver. This patch fixes this. Signed-off-by: Greg Kroah-Hartman commit 4377a026500a3f59e9c41c23d03e55ff2e712379 Author: Greg Kroah-Hartman Date: Mon Oct 12 14:58:16 2009 -0700 Staging: comedi: fix sched.h build breakage commit d43c36dc removed sched.h from interrupt.h. This broke some of the comedi drivers. This patch fixes this. Signed-off-by: Greg Kroah-Hartman commit ffc18afa11f32d59839b5f3c605c64c63d38c218 Author: Jonathan Cameron Date: Mon Oct 12 19:18:09 2009 +0100 Staging: iio: Fix missing include linux/sched.h include was removed form linux/poll.h by commmit a99bbaf5ee6bad1aca0c88ea65ec6e5373e86184 Required for definition of TASK_INTERRUPTIBLE amongst others From: Jonathan Cameron Signed-off-by: Greg Kroah-Hartman commit eaf76e0d027a917a013ad8a88a94132d0feab622 Author: Stefan Richter Date: Thu Oct 8 00:39:31 2009 +0200 firewire: sbp2: provide fallback if mgt_ORB_timeout is missing The Unit_Characteristics entry of an SBP-2 unit directory is not mandatory as far as I can tell. If it is missing, we would probably fail to log in into the target because firewire-sbp2 would not wait for status after it sent the login request. The fix moves the cleanup of tgt->mgt_orb_timeout into a place where it is executed exactly once before login, rather than 0..n times depending on the target's config ROM. With targets with one or more Unit_Characteristics entries, the result is the same as before. Signed-off-by: Stefan Richter commit a93d4ed2052d19029802ce14bb6e4b2f212d0cad Author: Jarkko Nikula Date: Wed Oct 14 09:56:35 2009 -0700 omap: McBSP: Fix incorrect receiver stop in omap_mcbsp_stop This small typo written by author causes that McBSP receiver is disabled on OMAP2430 and OMAP3430 even if only transmitter is stopped. This was noted with ALSA SoC where simultaneous recording halted if playback was stopped first. Signed-off-by: Jarkko Nikula Signed-off-by: Tony Lindgren commit 02563a5d56ac1d3978118c8498ae301d68ef7942 Author: Teerth Reddy Date: Wed Oct 14 09:56:35 2009 -0700 omap: Initialization of SDRC params on Zoom2 This patch initializes the correct SDRC settings required for DVFS on Zoom2. Signed-off-by: Teerth Reddy Signed-off-by: Kevin Hilman Signed-off-by: Tony Lindgren commit cb3cc45ad9e55f673c336ad9d013dcdc3a84390b Author: Aaro Koskinen Date: Wed Oct 14 09:56:34 2009 -0700 omap: RX-51: Drop I2C-1 speed to 2200 The I2C-1 bus frequency on RX-51 should be 2.2 MHz. The speed is limited by TWL5030/GAIA; a higher speed could lead to errors on the interface. The maximum speed depends on the system clock for GAIA: 2.2 MHz (if 19.2 MHz), 2.4 MHz (26 MHz) or 2.9 MHz (38.4 MHz). Signed-off-by: Aaro Koskinen Signed-off-by: Tony Lindgren commit 70cf644c34a5f2dd183b4f01b0e8cdac834c1e17 Author: Anuj Aggarwal Date: Wed Oct 14 09:56:34 2009 -0700 omap: SDMA: Fixing bug in omap_dma_set_global_params() Argument tparams was not being used to program global register GCR.HI_THREAD_RESERVED. This patch fixes the same. Signed-off-by: Anuj Aggarwal Signed-off-by: Tony Lindgren commit dc6e56b199a5b11b53786c67f5f1c7af0195d223 Author: Sanjeev Premi Date: Wed Oct 14 09:56:33 2009 -0700 omap: CONFIG_ISP1301_OMAP redefined in Beagle defconfig The symbol CONFIG_ISP1301_OMAP was defined twice in the defconfig. This was causing the warning: arch/arm/configs/omap3_beagle_defconfig:972:warning: override: reassigning to symbol ISP1301_OMAP Signed-off-by: Sanjeev Premi Signed-off-by: Tony Lindgren commit 514fc01d389cf5d364ee3b5fec4ac1487448803e Author: Linus Torvalds Date: Wed Oct 14 09:20:41 2009 -0700 tty: use the new 'flush_delayed_work()' helper to do ldisc flush This way all flush_to_ldisc work is always done through the workqueues, and we thus have a single point of serialization. Signed-off-by: Linus Torvalds commit 43046b606673c9c991919ff75b980b72541e9ede Author: Linus Torvalds Date: Wed Oct 14 09:16:42 2009 -0700 workqueue: add 'flush_delayed_work()' to run and wait for delayed work It basically turns a delayed work into an immediate work, and then waits for it to finish. commit 45242006e19c6f99945554e4d7d5680caf6ed9ad Author: Linus Torvalds Date: Wed Oct 14 08:59:49 2009 -0700 Make flush_to_ldisc properly handle parallel calls commit 444528b3e614f7f2391488d9bca8e0b872db909b Author: Chris Mason Date: Wed Oct 14 09:38:28 2009 -0400 Btrfs: always pin metadata in discard mode We have an optimization in btrfs to allow blocks to be immediately freed if they were allocated in this transaction and never written. Otherwise they are pinned and freed when the transaction commits. This isn't optimal for discard mode because immediately freeing them means immediately discarding them. It is better to give the block to the pinning code and letting the (slow) discard happen later. Signed-off-by: Chris Mason commit 0634857488ec6e28fa22920cd0bee3c2ac07ccfd Author: Christoph Hellwig Date: Wed Oct 14 09:24:59 2009 -0400 Btrfs: enable discard support The discard support code in btrfs currently is guarded by ifdefs for BIO_RW_DISCARD, which is never defines as it's the name of an enum memeber. Just remove the useless ifdefs to actually enable the code. Signed-off-by: Christoph Hellwig Signed-off-by: Chris Mason commit e244a0aeb6a599c19a7c802cda6e2d67c847b154 Author: Christoph Hellwig Date: Wed Oct 14 09:24:59 2009 -0400 Btrfs: add -o discard option Enable discard by default is not a good idea given the the trim speed of SSD prototypes we've seen, and the carecteristics for many high-end arrays. Turn of discards by default and require the -o discard option to enable them on. Signed-off-by: Christoph Hellwig Signed-off-by: Chris Mason commit 86df7eb921a009515285e7171363fa57dd2d7d31 Author: Yan, Zheng Date: Wed Oct 14 09:24:59 2009 -0400 Btrfs: properly wait log writers during log sync A recently fsync optimization make btrfs_sync_log skip calling wait_for_writer in the single log writer case. This is incorrect since the writer count can also be increased by btrfs_pin_log. Signed-off-by: Yan Zheng Signed-off-by: Chris Mason commit 5d5e103a70f74ae98e3965a4add1ab951d0651d1 Author: Josef Bacik Date: Tue Oct 13 16:46:49 2009 -0400 Btrfs: fix possible ENOSPC problems with truncate There's a problem where we don't do any space reservation for truncates, which can cause you to OOPs because you will be allowed to go off in the weeds a bit since we don't account for the delalloc bytes that are created as a result of the truncate. Signed-off-by: Josef Bacik Signed-off-by: Chris Mason commit 89ccf465abe6b20d804a63ae20307970c441369d Author: Li Hong Date: Wed Oct 14 18:50:39 2009 +0800 x86, perf_event: Rename 'performance counter interrupt' In 'cdd6c482c9ff9c55475ee7392ec8f672eddb7be6', we renamed Performance Counters -> Performance Events. The name showed up in /proc/interrupts also needs a change. I use PMI (Performance monitoring interrupt) here, since it is the official name used in Intel's documents. Signed-off-by: Li Hong Cc: Andrew Morton Cc: Peter Zijlstra Cc: Paul Mackerras LKML-Reference: <20091014105039.GA22670@uhli> Signed-off-by: Ingo Molnar commit ac522b638dcb549f9d33085c6fadea88a5f826ae Author: Michael Holzheu Date: Wed Oct 14 12:43:51 2009 +0200 [S390] sclp_vt220 build fix Fix this build error: next-20091013 randconfig build on s390x build breaks with drivers/s390/built-in.o:(.data+0x3354): undefined reference to `sclp_vt220_pm_event_fn' Reported-by: Kamalesh Babulal Signed-off-by: Michael Holzheu Signed-off-by: Martin Schwidefsky commit 6d7c5afc890d0c9345ee05ccf0e6c692b6c8f8a8 Author: Peter Oberparleiter Date: Wed Oct 14 12:43:50 2009 +0200 [S390] cio: change misleading console logic Use cio_is_console() in io_subchannel_probe to indicate that the special handling is console specific. As long as there is no other subchannel for which this might be true, it is misleading to speak of "early devices". Should more of these devices be introduced, a cleanup of all console special handling is in order anyway. Signed-off-by: Peter Oberparleiter Signed-off-by: Martin Schwidefsky commit d3acf71fb8daecc8ab8b1371d29d15df0c30a315 Author: Heiko Carstens Date: Wed Oct 14 12:43:49 2009 +0200 [S390] call home support: fix proc handler 8d65af78 "sysctl: remove "struct file *" argument of ->proc_handler" removed the struct file argument from all proc_handlers but didn't change the call home proc handler (or call home was merged later). So fix this now. Cc: Alexey Dobriyan Cc: Hans-Joachim Picht Signed-off-by: Heiko Carstens Signed-off-by: Martin Schwidefsky commit d9fa9441ed6e0467d7d41de730581874c997e658 Author: Stefan Haberland Date: Wed Oct 14 12:43:48 2009 +0200 [S390] dasd: use idal for device characteristics If the rdc_buffer is above 2G we need indirect addresssing so we have to use an idaw to give the rdc_buffer to the ccw. If the rdc_buffer is under 2G nothing changes. Signed-off-by: Stefan Haberland Signed-off-by: Martin Schwidefsky commit be6e3f9cd639fec5882fca16e058843c3064c6c9 Author: Andreas Krebbel Date: Wed Oct 14 12:43:47 2009 +0200 [S390] Add highgprs facility to /proc/cpuinfo This patch makes the hwcap bit for the high gprs feature to be visible in /proc/cpuinfo. Signed-off-by: Andreas Krebbel Signed-off-by: Martin Schwidefsky commit a7602f6c16b2de2962b279980693ad1b3711e84a Author: Stefan Haberland Date: Wed Oct 14 12:43:46 2009 +0200 [S390] dasd: fix locking bug Replace spin_lock with spin_lock_irqsave in dasd_eckd_restore_device. Signed-off-by: Stefan Haberland Signed-off-by: Martin Schwidefsky commit 03cadd36d51c737d7ad6aa21e2524296be6fe57f Author: Michael Holzheu Date: Wed Oct 14 12:43:45 2009 +0200 [S390] tape390: Fix request queue handling in block driver When setting a channel attached tape online under Linux 2.6.31, the "vol_id" process from udev hangs in sync_page(): 2 sync_page+144 [0x1dfaac] 3 __wait_on_bit_lock+194 [0x58c23e] 4 __lock_page+116 [0x1df9dc] 5 truncate_inode_pages_range+728 [0x1ed7cc] 6 __blkdev_put+244 [0x25f738] 7 __fput+300 [0x229c4c] 8 filp_close+122 [0x225a3a] The reason for that is an error in the request queue handling. It can happen that we fetch a request, but do not process it further because the number of queued requests exceeds TAPEBLOCK_MIN_REQUEUE. To fix this, we should call blk_peek_request() instead of blk_fetch_request() in the while condition and fetch the request in the loop body afterwards. This bug was introduced with the patch "block: implement and enforce request peek/start/fetch" (9934c8c04561413609d2bc38c6b9f268cba774a4) Signed-off-by: Michael Holzheu Signed-off-by: Martin Schwidefsky commit 7874b1b66a53c4d9c8dcb37884cbb758aa2d712c Author: Michael Holzheu Date: Wed Oct 14 12:43:44 2009 +0200 [S390] hypfs: Use subcode 6 if subcode 7 is not available Hypfs never worked on systems that only provide D204 subcode 6. In these cases we nevertheless used subcode 7. With this fix, we use subcode 6, if it is available and the system does not provide subcode 7. Signed-off-by: Michael Holzheu Signed-off-by: Martin Schwidefsky commit 03717e3d12b625268848414e39beda25e4515692 Author: Thomas Gleixner Date: Wed Oct 14 01:18:26 2009 -0700 watchdog: Fix rio watchdog probe function After sucessfully registering the misc device the driver iounmaps the hardware registers and kfree's the device data structure. Ouch ! This was introduced with commit e42311d75 (riowatchdog: Convert to pure OF driver) and went unnoticed for more than a year :) Return success instead of dropping into the error cleanup code path. Signed-off-by: Thomas Gleixner Signed-off-by: David S. Miller commit 457b646189e47f9d48588809da3e806ec363f219 Author: Paul Mundt Date: Wed Oct 14 15:50:28 2009 +0900 sh: Fix a TRACE_IRQS_OFF typo. The resume_userspace path had TRACE_IRQS_OFF written incorrectly and so never handled the transition properly. This was fixed once before but seems to have made it back in the tree. Fix it for good. Signed-off-by: Paul Mundt commit 4d2947f7c69f812f09ff0e5cdc98dfa5317a4d81 Author: Paul Mundt Date: Wed Oct 14 14:21:40 2009 +0900 sh: Optimize the setup_rt_frame() I-cache flush. This only needs to flush the return code via the legacy path, and just invalidates uselessly otherwise. This makes the behaviour consistent for all of the trampoline setup paths. Signed-off-by: Paul Mundt commit a66c2edea56c291a6f6a52f07496ebb97c0880e8 Author: Paul Mundt Date: Wed Oct 14 14:14:30 2009 +0900 sh: Populate initial secondary CPU info from boot_cpu_data. The secondary CPU info was seeing corrupted results due to not entering all of the setup paths taken by the boot CPU. So we just memcpy() the boot cpu data over directly, and then fix up the per-CPU bits. Signed-off-by: Paul Mundt commit 2908df9e2ce85e4de19ba81ac619acdf93a8bfaa Author: Paul Mundt Date: Wed Oct 14 14:13:41 2009 +0900 sh: Tidy up SMP cpuinfo. Trivial change for cleaning up the cpuinfo pretty printing on SMP, adds a newline between CPUs. Signed-off-by: Paul Mundt commit eaa47704d950d7f85b41a314a00529fb2615c10e Author: Paul Mundt Date: Wed Oct 14 14:12:41 2009 +0900 sh: Use boot_cpu_data for FPU tests in sigcontext paths. We do not want to use smp_processor_id() from these paths, as they trip preempt BUGs. Switch the test over to the boot cpu directly. Signed-off-by: Paul Mundt commit 0f6023d5997bf1b5eeae39de42a7e1e26dbe6a90 Author: Heiko Schocher Date: Thu Sep 24 02:45:14 2009 +0000 powerpc/pci: Fix MODPOST warning making a powerpc target with PCI support, shows the following warning: MODPOST vmlinux.o WARNING: vmlinux.o(.text+0x10430): Section mismatch in reference from the function pcibios_allocate_bus_resources() to the function .init.text:reparent_resources() The function pcibios_allocate_bus_resources() references the function __init reparent_resources(). This is often because pcibios_allocate_bus_resources lacks a __init annotation or the annotation of reparent_resources is wrong. This patch fix this warning by removing the __init annotation before reparent_resources. Signed-off-by: Heiko Schocher Signed-off-by: Benjamin Herrenschmidt commit 04f5653477a245379da9fa57dd7d1b4b75dd4b0b Author: Dragos Tatulea Date: Wed Sep 16 11:58:15 2009 +0300 powerpc/oprofile: Add ppc750 CL as supported by oprofile Here's a patch that adds the ppc750 CL cpu as supported by oprofile. Signed-off-by: Dragos Tatulea Signed-off-by: Benjamin Herrenschmidt commit 5be2a213b172bb65b21a6f7271b335832d88793c Author: Sean MacLennan Date: Tue Sep 29 06:00:06 2009 +0000 powerpc: warning: allocated section `.data_nosave' not in segment We need to align before the output section. Having the align inside the output section causes the linker to put some filler in there, which makes it a non-empty section, but this section isn't assigned to a segment so you get a warning from the linker. Signed-off-by: Sean MacLennan Acked-by: Segher Boessenkool Signed-off-by: Benjamin Herrenschmidt commit cf50f447b22f540d738eb8ca09c3b3972a9ba0ac Author: Anton Vorontsov Date: Thu Oct 1 08:38:49 2009 +0000 powerpc/kgdb: Fix build failure caused by "kgdb.c: unused variable 'acc'" 'acc' isn't used anywhere and thus triggers gcc warning, which causes build error with CONFIG_PPC_DISABLE_WERROR=n (default): cc1: warnings being treated as errors arch/powerpc/kernel/kgdb.c: In function 'gdb_regs_to_pt_regs': arch/powerpc/kernel/kgdb.c:289: warning: unused variable 'acc' make[1]: *** [arch/powerpc/kernel/kgdb.o] Error 1 Signed-off-by: Anton Vorontsov Signed-off-by: Benjamin Herrenschmidt commit b6dcde5c74d1cbf16da37202a14fa187dce6e4c0 Author: Anton Blanchard Date: Sun Oct 11 21:47:34 2009 +0000 powerpc: Fix hypervisor TLB batching Profiling of a page fault scalability microbenchmark shows flush_hash_range is not calling the batch hpte invalidate hcall (H_BULK_REMOVE). It turns out we have a duplicate firmware feature for hcall-bulk and the current setup code stops after finding the first match. This meant we never batch and always do individual invalidates. The patch below removes the duplicate and shifts FW_FEATURE_CMO to close the gap. With the patch applied the single threaded page fault rate improves from 217169 to 238755 per second on a POWER5 test box, a 10% improvement. Signed-off-by: Anton Blanchard Signed-off-by: Benjamin Herrenschmidt commit 8d8997f34e66124577db52f6e7ee10ab5f869e07 Author: Benjamin Herrenschmidt Date: Mon Oct 12 20:43:47 2009 +0000 powerpc/mm: Fix hang accessing top of vmalloc space On pSeries, we always force the IO space to be mapped using 4K pages even with a 64K base page size to cope with some limitations in the HV interface to some devices. However, the SLB miss handler code to discriminate between vmalloc and ioremap space uses a CPU feature section such that the code is nop'ed out when the processor support large pages non-cachable mappings. Thus, we end up always using the ioremap page size for vmalloc segments on such processors, causing a discrepency between the segment and the hash table, and thus a hang continously hashing the page. It works for the first segment of the vmalloc space since that segment is "bolted" in by C code correctly, and thankfully we almost never use the vmalloc space beyond the first segment, but the new percpu code made the bug happen. This fixes it by removing the feature section from the assembly, we now always do the comparison between vmalloc and ioremap. Signed-off-by; Benjamin Herrenschmidt Signed-off-by: Benjamin Herrenschmidt commit aee7a283bb1e7d722f3431e0689c2c281ad0c1f6 Author: Michael Ellerman Date: Mon Oct 12 14:29:40 2009 +0000 powerpc: Fix memory leak in axon_msi.c cppcheck found a memory leak in axon_msi, if dcr_base or dcr_len are zero, we have already allocated msic, so we should free it in the error path. Signed-off-by: Eric Sesterhenn Acked-by: Michael Ellerman Acked-by: Arnd Bergmann Signed-off-by: Benjamin Herrenschmidt commit 11a50873ef2b3c1c3fe99a661c22c08f35d93553 Author: Benjamin Herrenschmidt Date: Fri Oct 9 11:27:54 2009 +0000 powerpc/pmac: Fix issues with sleep on some powerbooks Since the change of how interrupts are disabled during suspend, certain PowerBook models started exhibiting various issues during suspend or resume from sleep. I finally tracked it down to the code that runs various "platform" functions (kind of little scripts extracted from the device-tree), which uses our i2c and PMU drivers expecting interrutps to work, and at a time where with the new scheme, they have been disabled. This causes timeouts internally which for some reason results in the PMU being unable to see the trackpad, among other issues, really it depends on the machine. Most of the time, we fail to properly adjust some clocks for suspend/resume so the results are not always predictable. This patch fixes it by using IRQF_TIMER for both the PMU and the I2C interrupts. I prefer doing it this way than moving the call sites since I really want those platform functions to still be called after all drivers (and before sysdevs). We also do a slight cleanup to via-pmu.c driver to make sure the ADB autopoll mask is handled correctly when doing bus resets Signed-off-by: Benjamin Herrenschmidt commit be10ab109099f8bd8dd365677a9fe641584c1b5b Author: Steven Rostedt Date: Tue Sep 15 08:30:14 2009 -0700 powerpc64/ftrace: use PACA to retrieve TOC in mod_return_to_handler The mod_return_to_handler needs to switch to the kernel TOC before jumping to a the kernel code. It currently does this by looking at the kernel function data and retrieves the TOC that way. Not only is this inefficient, it also breaks with a relocatable kernel. The PACA contains the kernel TOC and we can easily retrieve it that way. Reported-by: Sachin Sant Signed-off-by: Steven Rostedt commit 9135c3cc5acf344eb28735681d8bebdb98a2c216 Author: Steven Rostedt Date: Tue Sep 15 08:20:15 2009 -0700 powerpc/ftrace: show real return addresses in modules When the function graph tracer is enabled, it replaces the return address with a hook back to the tracer. This makes back traces see the hook instead of the actual return address. The current code also shows the real address by checking if the return address jumps to the return_to_handler. If it is, is also prints out the saved real return address. On powerpc64, some modules may return to mod_return_to_handler, which is not checked. This patch will also show the real address if a return is to mod_return_to_handler as well. Signed-off-by: Steven Rostedt commit 0fe7463a35aadfaf22d1ca58325ab3851b8d757c Author: Sriram Date: Wed Oct 7 02:44:30 2009 +0000 TI DaVinci EMAC: Clear statistics register properly. The mechanism to clear the statistics register is dependent on the status of GMIIEN bit in MAC control register. If the GMIIEN bit is set, the stats registers are write to decrement. If the GMIIEN bit is cleared, the stats registers are plain read/write registers. The stats register clearing operation must take into account the current state of GMIIEN as it can be cleared when the interface is brought down. With existing implementation logic, querying for interface stats when the interface is down, can corrupt the statistics counters. This patch examines the GMIIEN bit status in MAC_CONTROL register before choosing an appropriate mask for clearing stats registers. Signed-off-by: Sriramakrishnan Acked-by: Chaithrika U S Signed-off-by: David S. Miller commit daf9df6d8d0f5a4a406632d4da027655d065d3ba Author: françois romieu Date: Wed Oct 7 12:44:20 2009 +0000 r8169: partial support and phy init for the 8168d Extracted from Realtek's 8.012.00 r8168 driver. Signed-off-by: Francois Romieu Tested-by: Simon Farnsworth Cc: Edward Hsu Signed-off-by: David S. Miller commit 417c5233dbe35ffd6fa9e53754773f73690e1ce3 Merge: 91cd175 c49de94 Author: David S. Miller Date: Tue Oct 13 11:41:34 2009 -0700 Merge branch 'master' of git://git.kernel.org/pub/scm/linux/kernel/git/linville/wireless-2.6 commit 0eda294dfc980c1cbe4f8a0564bf543f86a01ddb Author: Chris Mason Date: Tue Oct 13 13:50:18 2009 -0400 Btrfs: fix btrfs acl #ifdef checks The btrfs acl code was #ifdefing for a define that didn't exist. This correctly matches it to the values used by the Kconfig file. Signed-off-by: Chris Mason commit 690587d109ffe19d6743e4cc80c18b0906b7f9ff Author: Chris Mason Date: Tue Oct 13 13:29:19 2009 -0400 Btrfs: streamline tree-log btree block writeout Syncing the tree log is a 3 phase operation. 1) write and wait for all the tree log blocks for a given root. 2) write and wait for all the tree log blocks for the tree of tree log roots. 3) write and wait for the super blocks (barriers here) This isn't as efficient as it could be because there is no requirement to wait for the blocks from step one to hit the disk before we start writing the blocks from step two. This commit changes the sequence so that we don't start waiting until all the tree blocks from both steps one and two have been sent to disk. We do this by breaking up btrfs_write_wait_marked_extents into two functions, which is trivial because it was already broken up into two parts. Signed-off-by: Chris Mason commit 257c62e1bce03e5b9f3f069fd52ad73a56de71fd Author: Chris Mason Date: Tue Oct 13 13:21:08 2009 -0400 Btrfs: avoid tree log commit when there are no changes rpm has a habit of running fdatasync when the file hasn't changed. We already detect if a file hasn't been changed in the current transaction but it might have been sent to the tree-log in this transaction and not changed since the last call to fsync. In this case, we want to avoid a tree log sync, which includes a number of synchronous writes and barriers. This commit extends the existing tracking of the last transaction to change a file to also track the last sub-transaction. The end result is that rpm -ivh and -Uvh are roughly twice as fast, and on par with ext3. Signed-off-by: Chris Mason commit 4722607db6a78bd7748c51fa4c8d7371da797254 Author: Chris Mason Date: Tue Oct 13 12:55:09 2009 -0400 Btrfs: only write one super copy during fsync During a tree-log commit for fsync, we've been writing at least two copies of the super block and forcing them to disk. The other filesystems write only one, and this change brings us on par with them. A full transaction commit will write all the super copies, so we still have redundant info written on a regular basis. Signed-off-by: Chris Mason commit 80f506918fdaaca6b574ba931536a58ce015c7be Merge: a3bafbb 2ec24ff Author: Linus Torvalds Date: Tue Oct 13 10:21:33 2009 -0700 Merge branch 'for-linus' of git://git.kernel.dk/linux-2.6-block * 'for-linus' of git://git.kernel.dk/linux-2.6-block: cciss: Add cciss_allow_hpsa module parameter cciss: Fix multiple calls to pci_release_regions blk-settings: fix function parameter kernel-doc notation writeback: kill space in debugfs item name writeback: account IO throttling wait as iowait elv_iosched_store(): fix strstrip() misuse cfq-iosched: avoid probable slice overrun when idling cfq-iosched: apply bool value where we return 0/1 cfq-iosched: fix think time allowed for seekers cfq-iosched: fix the slice residual sign cfq-iosched: abstract out the 'may this cfqq dispatch' logic block: use proper BLK_RW_ASYNC in blk_queue_start_tag() block: Seperate read and write statistics of in_flight requests v2 block: get rid of kblock_schedule_delayed_work() cfq-iosched: fix possible problem with jiffies wraparound cfq-iosched: fix issue with rq-rq merging and fifo list ordering commit a3bafbbbb5ac49355aa35e6a722eac6ef1dff19a Merge: 25d5915 1a0c329 Author: Linus Torvalds Date: Tue Oct 13 10:21:12 2009 -0700 Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tj/percpu * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tj/percpu: percpu: fix compile warnings commit 25d591587d3b0676fb89c29e7e55fe4a08597ec1 Merge: 86ae13b 2331d1a Author: Linus Torvalds Date: Tue Oct 13 10:20:53 2009 -0700 Merge git://git.kernel.org/pub/scm/linux/kernel/git/sam/kbuild-fixes * git://git.kernel.org/pub/scm/linux/kernel/git/sam/kbuild-fixes: kbuild: revert "save ARCH & CROSS_COMPILE ..." warn about use of uninstalled kernel headers kbuild: mkcompile_h: trivial cleanups kbuild: fix warning when domainname is not available kbuild: Fix size_append issue for bzip2/lzma kernel kbuild,scripts: use non-builtin echo for '-e' kbuild: fix the binrpm-pkg target to work with KBUILD_OUTPUT set commit 86ae13b006e48959981248493efd3ff4b2828b3d Author: Ingo Molnar Date: Mon Oct 12 16:22:46 2009 +0200 headers: Fix build after removal Commit d43c36dc6b357fa1806800f18aa30123c747a6d1 ("headers: remove sched.h from interrupt.h") left some build errors in some configurations due to drivers having depended on getting header files "accidentally". Signed-off-by: Ingo Molnar [ Combined several one-liners from Ingo into one single patch - Linus ] Signed-off-by: Linus Torvalds commit 03266d28ca5bf1959ee91dc6554c01b790975352 Merge: ae445b9 b0e1495 Author: Linus Torvalds Date: Tue Oct 13 10:10:33 2009 -0700 Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jikos/hid * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jikos/hid: HID: fix possible deadlock in hidraw_read HID: fix kerneldoc comment for hid_input_report() HID: add __init/__exit macros to twinhan.c commit ae445b9134126314844ad9e84010bae5e6684103 Merge: 54753fd fb66ebd Author: Linus Torvalds Date: Tue Oct 13 10:10:18 2009 -0700 Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tiwai/sound-2.6 * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tiwai/sound-2.6: ALSA: hda - Allow all formats as default for Nvidia HDMI ALSA: aaci: ARM1176 aaci-pl041 AC97 register read timeout ALSA: hda - Fix volume-knob setup for Dell laptops with STAC9228 ALSA: hda - Fix mute sound with STAC9227/9228 codecs ALSA: bt87x - Add a whitelist for Pinnacle PCTV (11bd:0012) ALSA: hda - Fix overflow of spec->init_verbs in patch_realtek.c ALSA: ice1724 - Make call to set hw params succeed on ESI Juli@ ALSA: ice1724: Fix surround on Chaintech AV-710 ALSA: hda - Add full rates/formats support for Nvidia HDMI commit 54753fdb943ecd28a0666ee4ef105224407a5044 Merge: 1e103d1 6dbce52 Author: Linus Torvalds Date: Tue Oct 13 10:05:36 2009 -0700 Merge branch 'for_linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jack/linux-fs-2.6 * 'for_linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jack/linux-fs-2.6: ext3: Update documentation about ext3 quota mount options ext3: Don't update superblock write time when filesystem is read-only commit 1e103d198eb1effb43173412514ac3385ea6765f Merge: 80fa680 f8ebdff Author: Linus Torvalds Date: Tue Oct 13 10:05:04 2009 -0700 Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/sameo/mfd-2.6 * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/sameo/mfd-2.6: mfd: Fix twl4030 boot with twl4030 usb transceiver enabled commit 80fa680d22c11912a0be84b8139422eba1327322 Merge: 2caa731 9a821b2 Author: Linus Torvalds Date: Tue Oct 13 10:04:40 2009 -0700 Merge git://git.infradead.org/~dwmw2/iommu-2.6.32 * git://git.infradead.org/~dwmw2/iommu-2.6.32: x86: Move pci_iommu_init to rootfs_initcall() Run pci_apply_final_quirks() sooner. Mark pci_apply_final_quirks() __init rather than __devinit Rename pci_init() to pci_apply_final_quirks(), move it to quirks.c intel-iommu: Yet another BIOS workaround: Isoch DMAR unit with no TLB space intel-iommu: Decode (and ignore) RHSA entries intel-iommu: Make "Unknown DMAR structure" message more informative commit fb66ebd88471cd2cc1205536dfc781b2f4c1d6b5 Merge: 29a4f2d 491dc04 Author: Takashi Iwai Date: Tue Oct 13 16:09:56 2009 +0200 Merge branch 'fix/hda' into for-linus commit 491dc0437d4c56d11f78113eca3953cff87314f3 Author: Takashi Iwai Date: Tue Oct 13 16:07:59 2009 +0200 ALSA: hda - Allow all formats as default for Nvidia HDMI In the commit f0613d5752d8f7d1d02e6d40947f38877fdf9c90 ALSA: hda - Add full rates/formats support for Nvidia HDMI the flag LIMITIED_RATE_FMT_SUPPORT was set as default, as I forgot to clear before commit. Let's enable all formats/rates as default. Signed-off-by: Takashi Iwai commit 29a4f2d31c03756bf24883e567a8c3b4ee5df1f4 Author: Philby John Date: Tue Oct 13 16:30:22 2009 +0530 ALSA: aaci: ARM1176 aaci-pl041 AC97 register read timeout After a reboot on an ARM1176 which amounts to a softreset, it has been noted that the ALSA driver does not get registered and the probe fails with the error "aaci-pl041 fpga:04: ac97 read back fail". In the process of reading from a register the SL1TxBusy bit is set indicating that the transceiver is busy and remains so until the default timeout occurs. Set the Power down register 0x26 to an arbitrary value as specified in the PL041 manual (page: 3-18) so that AACISL1TX/AACISL2TX registers take their default state. Signed-off-by: Philby John Signed-off-by: Takashi Iwai commit ccca7cdc1b8dd2e7b67e9289a6abf117b11cbe6b Author: Takashi Iwai Date: Tue Oct 13 15:32:21 2009 +0200 ALSA: hda - Fix volume-knob setup for Dell laptops with STAC9228 The volume-knob widget needs to be set with 0x7f instead of 0xff for Dell laptops with STAC9228 codec, too, like the previous commit. Reference: Novell bnc#545013 http://bugzilla.novell.com/show_bug.cgi?id=545013 Signed-off-by: Takashi Iwai commit 54930531a00af5a1c33361a02e67dd1802110465 Author: Takashi Iwai Date: Sun Oct 11 17:38:29 2009 +0200 ALSA: hda - Fix mute sound with STAC9227/9228 codecs On FSC laptops, the sound gets muted gradually when the volume is chnaged. This is due to the wrong volume-knob widget setup. The delta bit (bit 7) shouldn't be set for these devices. This patch adds a new quirk to set the value 0x7f to the widget 0x24 instead of 0xff. Reference: Novell bnc#546006 http://bugzilla.novell.com/show_bug.cgi?id=546006 Signed-off-by: Takashi Iwai commit a003236c32706f3c1f74d4e3b98c58cf0d9a9d8f Author: Vincent Legoll Date: Tue Oct 13 14:48:14 2009 +0200 perf events: Update MAINTAINERS entry file patterns Add file patterns that match relevant files for this subsystem. Signed-off-by: Vincent Legoll Cc: Linus Torvalds Cc: paulus@samba.org Cc: a.p.zijlstra@chello.nl LKML-Reference: <4727185d0910130548p325f0185vf4e23b5491c730a0@mail.gmail.com> Signed-off-by: Ingo Molnar commit 91cd1756cbbe9ba8772e6a5908f20cee56019c0d Author: Dmitry Artamonow Date: Tue Oct 13 03:17:37 2009 -0700 irda/sa1100_ir: check return value of startup hook Signed-off-by: Dmitry Artamonow Signed-off-by: David S. Miller commit 85584672012ee0c3b7b8e033a1ecf7c11878e45f Author: Eric Dumazet Date: Fri Oct 9 04:43:40 2009 +0000 udp: Fix udp_poll() and ioctl() udp_poll() can in some circumstances drop frames with incorrect checksums. Problem is we now have to lock the socket while dropping frames, or risk sk_forward corruption. This bug is present since commit 95766fff6b9a78d1 ([UDP]: Add memory accounting.) While we are at it, we can correct ioctl(SIOCINQ) to also drop bad frames. Signed-off-by: Eric Dumazet Signed-off-by: David S. Miller commit 9652041da18a1a1d9a0b7ebd9eef16bd712be38a Author: Krzysztof Halasa Date: Fri Oct 9 06:16:10 2009 +0000 WAN: fix Cisco HDLC handshaking. Cisco HDLC uses keepalive packets and sequence numbers to determine link state. In rare cases both ends could transmit keepalive packets at the same time, causing the received sequence numbers to be treated as incorrect. Now we accept our current sequence number as well as the previous one. Signed-off-by: Krzysztof Hałasa Signed-off-by: David S. Miller commit 6d01a026b7d3009a418326bdcf313503a314f1ea Author: Willy Tarreau Date: Tue Oct 13 00:27:40 2009 -0700 tcp: fix tcp_defer_accept to consider the timeout I was trying to use TCP_DEFER_ACCEPT and noticed that if the client does not talk, the connection is never accepted and remains in SYN_RECV state until the retransmits expire, where it finally is deleted. This is bad when some firewall such as netfilter sits between the client and the server because the firewall sees the connection in ESTABLISHED state while the server will finally silently drop it without sending an RST. This behaviour contradicts the man page which says it should wait only for some time : TCP_DEFER_ACCEPT (since Linux 2.4) Allows a listener to be awakened only when data arrives on the socket. Takes an integer value (seconds), this can bound the maximum number of attempts TCP will make to complete the connection. This option should not be used in code intended to be portable. Also, looking at ipv4/tcp.c, a retransmit counter is correctly computed : case TCP_DEFER_ACCEPT: icsk->icsk_accept_queue.rskq_defer_accept = 0; if (val > 0) { /* Translate value in seconds to number of * retransmits */ while (icsk->icsk_accept_queue.rskq_defer_accept < 32 && val > ((TCP_TIMEOUT_INIT / HZ) << icsk->icsk_accept_queue.rskq_defer_accept)) icsk->icsk_accept_queue.rskq_defer_accept++; icsk->icsk_accept_queue.rskq_defer_accept++; } break; ==> rskq_defer_accept is used as a counter of retransmits. But in tcp_minisocks.c, this counter is only checked. And in fact, I have found no location which updates it. So I think that what was intended was to decrease it in tcp_minisocks whenever it is checked, which the trivial patch below does. Signed-off-by: Willy Tarreau Signed-off-by: David S. Miller commit c58543c869606532c2382f027d6466f4672ea756 Author: David S. Miller Date: Tue Oct 13 00:49:09 2009 -0700 sparc64: Set IRQF_DISABLED on LDC channel IRQs. With lots of virtual devices it's easy to generate a lot of events and chew up the kernel IRQ stack. Reported-by: hyl Signed-off-by: David S. Miller commit e3eef534c50ad39654e247f88dc01e6a3f76b6b4 Author: Ken Kawasaki Date: Tue Oct 13 00:32:55 2009 -0700 3c574_cs: spin_lock the set_multicast_list function 3c574_cs: spin_lock the set_multicast_list function. Signed-off-by: Ken Kawasaki Signed-off-by: David S. Miller commit ab854b24a2113ec0c17343e72d22b8876930d0a3 Author: Chris Rankin Date: Tue Oct 13 00:32:02 2009 -0700 net: Teach pegasus driver to ignore bluetoother adapters with clashing Vendor:Product IDs The Belkin F8T012xx1 bluetooth adaptor has the same vendor and product IDs as the Belkin F5D5050, so we need to teach the pegasus driver to ignore adaptors belonging to the "Wireless" class 0xE0. For this one case anyway, seeing as pegasus is a driver for "Wired" adaptors. Signed-off-by: Chris Rankin Signed-off-by: David S. Miller commit 9c6b8dcefe9a39f36ba11bdd523c0ac5246514c9 Author: Takashi Iwai Date: Tue Oct 13 09:34:28 2009 +0200 ALSA: bt87x - Add a whitelist for Pinnacle PCTV (11bd:0012) Signed-off-by: Takashi Iwai commit 71fb62fb6dd4ed95e6f0240a2c627df396d9d057 Author: Dhananjay Phadke Date: Tue Oct 13 00:26:04 2009 -0700 netxen: fix pci bar mapping Use resource_size_t for PCI resource remapping instead of unsigned long. Physical addresses can exceed range of long data type (e.g with PAE). Signed-off-by: Dhananjay Phadke Signed-off-by: David S. Miller commit 4ce22537a28eeb6a29a2b4d1049c703a80c25bd1 Author: Alan Cox Date: Mon Oct 12 05:27:55 2009 +0000 ethoc: fix warning from 32bit build drivers/net/ethoc.c: In function ‘ethoc_open’: drivers/net/ethoc.c:667: warning: comparison of distinct pointer types lacks a cast Signed-off-by: Alan Cox Signed-off-by: David S. Miller commit 767e366fc9e667c1ef71af588d33b7ec27c5ed1d Author: Alan Cox Date: Mon Oct 12 05:27:48 2009 +0000 libertas: fix build drivers/net/wireless/libertas/cmdresp.c: In function ‘lbs_process_event’: drivers/net/wireless/libertas/cmdresp.c:519: error: ‘TASK_INTERRUPTIBLE’ undeclared (first use in this function) drivers/net/wireless/libertas/cmdresp.c:519: error: (Each undeclared identifier is reported only once drivers/net/wireless/libertas/cmdresp.c:519: error: for each function it appears in.) Signed-off-by: Alan Cox Signed-off-by: David S. Miller commit 71999d9862e667f1fd14f8fbfa0cce6d855bad3f Author: Jeremy Fitzhardinge Date: Mon Oct 12 16:32:43 2009 -0700 x86/paravirt: Use normal calling sequences for irq enable/disable Bastian Blank reported a boot crash with stackprotector enabled, and debugged it back to edx register corruption. For historical reasons irq enable/disable/save/restore had special calling sequences to make them more efficient. With the more recent introduction of higher-level and more general optimisations this is no longer necessary so we can just use the normal PVOP_ macros. This fixes some residual bugs in the old implementations which left edx liable to inadvertent clobbering. Also, fix some bugs in __PVOP_VCALLEESAVE which were revealed by actual use. Reported-by: Bastian Blank Signed-off-by: Jeremy Fitzhardinge Cc: Stable Kernel Cc: Xen-devel LKML-Reference: <4AD3BC9B.7040501@goop.org> Signed-off-by: Ingo Molnar commit 2ec24ff1d1875defa742c76c9c7d74dca06b7e1f Author: Stephen M. Cameron Date: Tue Oct 13 09:18:22 2009 +0200 cciss: Add cciss_allow_hpsa module parameter Add cciss_allow_hpsa module parameter. This parameter causes the cciss driver to ignore any Smart Array devices known to be supported by the hpsa driver. Signed-off-by: Stephen M. Cameron Signed-off-by: Jens Axboe commit 2cfa948c9ea8681e831743a3bb61157f590fa8d8 Author: Stephen M. Cameron Date: Tue Oct 13 09:18:22 2009 +0200 cciss: Fix multiple calls to pci_release_regions Fix multiple calls to pci_release_regions. If cciss_pci_init fails, it already does any necessary call to pci_release_regions, so this does not need to be done again in cciss_init_one in that case. Signed-off-by: Stephen M. Cameron Signed-off-by: Jens Axboe commit d1a890fa37f27d6aca3abc6e25e4148efc3223a6 Author: Shreyas Bhatewara Date: Tue Oct 13 00:15:51 2009 -0700 net: VMware virtual Ethernet NIC driver: vmxnet3 Ethernet NIC driver for VMware's vmxnet3 From: Shreyas Bhatewara This patch adds driver support for VMware's virtual Ethernet NIC: vmxnet3 Guests running on VMware hypervisors supporting vmxnet3 device will thus have access to improved network functionalities and performance. Signed-off-by: Shreyas Bhatewara Signed-off-by: Bhavesh Davda Signed-off-by: Ronghua Zhang Signed-off-by: David S. Miller commit b9696ea32533b3353a5390e7c34a4719512fb2a1 Author: Vincent Sanders Date: Tue Oct 13 00:03:11 2009 -0700 net: Fix IXP 2000 network driver building. The IXP 2000 network driver was failing to build as it has its own statistics gathering which was not compatible with the recent network device operations changes. This patch fixes the driver in the obvious way and has been compile tested. I have been unable to get the ixp2000 maintainer to comment or test this fix. Signed-off-by: Vincent Sanders Signed-off-by: David S. Miller commit 2c907b72db4dd4e8af6dccb6e0ac122d78627b8d Author: Jesse Barnes Date: Wed Oct 7 14:39:46 2009 -0700 ACPI button: don't try to use a non-existent lid device If a call comes in to check the lid state but there's no lid device present, we should return -ENODEV. Signed-off-by: Jesse Barnes Signed-off-by: Len Brown commit 3a1151e3f124fd1a2c54b8153f510f1a7c715369 Author: Stefan Bader Date: Fri Aug 21 11:03:05 2009 +0200 ACPI: video: Loosen strictness of video bus detection code BugLink: http://bugs.launchpad.net/bugs/333386 Currently a video bus device must (beside other criteria) define _DOD and _DOS methods to be considered a video device. Some broken BIOSes prevented working backlight control by only defining both for one (non-existing bus) and only _DOD for the rest. With this patch in place the other bus definitions were considered too and backlight control started to work again. Signed-off-by: Stefan Bader Acked-by: Zhang Rui Signed-off-by: Len Brown commit 2d9c648295d7bc376305337d29f540a5e411f632 Author: Takashi Iwai Date: Tue Oct 13 08:06:55 2009 +0200 ALSA: hda - Fix overflow of spec->init_verbs in patch_realtek.c ALC861-VD lenovo model causes overflow of spec->init_verbs entries due to the recent changes. Simply increase the array size to avoid the overflow. Reported-by: Luca Tettamanti Signed-off-by: Takashi Iwai commit 8ad807318fcd62aba0e18c7c7fbfcc1af3fcdbab Author: Li Zefan Date: Tue Oct 13 09:28:57 2009 +0800 tracing/filters: Fix memory leak when setting a filter Every time we set a filter, we leak memory allocated by postfix_append_operand() and postfix_append_op(). Signed-off-by: Li Zefan Cc: Steven Rostedt Cc: Frederic Weisbecker Cc: Tom Zanussi Cc: # for v2.6.31.x LKML-Reference: <4AD3D7D9.4070400@cn.fujitsu.com> Signed-off-by: Ingo Molnar commit b56ab33d68638e6aafdbfc694025e8354a628f49 Author: Darren Salt Date: Tue Oct 13 00:13:33 2009 +0200 eeepc-laptop: Prevent a panic when disabling RT2860 wireless when associated This works around what I think is actually a bug in rt2860sta which is triggered when the hardware "disappears" from beneath the driver, i.e. when wireless is toggled off via ACPI. It does so by ensuring that the rfkill soft-block flag is set before the hardware is disabled. I do not know whether this patch is required if rt2800pci is in use instead of rt2860sta; at the time of submission of this patch, I've not been able to test this. (Ref. http://bugzilla.kernel.org/show_bug.cgi?id=13390) Signed-off-by: Darren Salt Signed-off-by: Len Brown commit dcb73eed70575c68f1389f7fac7cbd0feaeb50f3 Author: Rakib Mullick Date: Tue Oct 13 00:13:32 2009 +0200 eeepc-laptop: Properly annote eeepc_enable_camera(). Currently the annotation for function eeepc_enable_camera() is __init, and refers to a function eeepc_hotk_add() which is non-init. Use __devinit for both functions which is more appropriate and fixes a section mismatch warning. We were warned by the following warning: LD drivers/platform/x86/built-in.o WARNING: drivers/platform/x86/built-in.o(.text+0x12e1): Section mismatch in reference from the function eeepc_hotk_add() to the function .init.text:eeepc_enable_camera() The function eeepc_hotk_add() references the function __init eeepc_enable_camera(). This is often because eeepc_hotk_add lacks a __init annotation or the annotation of eeepc_enable_camera is wrong. Signed-off-by: Rakib Mullick Signed-off-by: Corentin Chary Signed-off-by: Len Brown commit 497fb54f578efd2b479727bc88d5ef942c0a1e2d Author: Rafael J. Wysocki Date: Tue Oct 13 01:01:57 2009 +0200 ACPI / PCI: Fix NULL pointer dereference in acpi_get_pci_dev() (rev. 2) acpi_get_pci_dev() may be called for a non-PCI device, in which case it should return NULL. However, it assumes that every handle it finds in the ACPI CA name space, between given device handle and the PCI root bridge handle, corresponds to a PCI-to-PCI bridge with an existing secondary bus. For this reason, when it finds a struct pci_dev object corresponding to one of them, it doesn't check if its 'subordinate' field is a valid pointer. This obviously leads to a NULL pointer dereference if acpi_get_pci_dev() is called for a non-PCI device with a PCI parent which is not a bridge. To fix this issue make acpi_get_pci_dev() check if pdev->subordinate is not NULL for every device it finds on the path between the root bridge and the device it's supposed to get to and return NULL if the "target" device cannot be found. http://bugzilla.kernel.org/show_bug.cgi?id=14129 (worked in 2.6.30, regression in 2.6.31) Signed-off-by: Rafael J. Wysocki Reported-by: Danny Feng Reviewed-by: Alex Chiang Tested-by: chepioq Signed-off-by: Len Brown commit 99222622422ac3398a846645f190109e218c743c Author: Paul Mundt Date: Tue Oct 13 12:42:48 2009 +0900 sh: ftrace: Fix up syscall tracepoint support. Sync up with latest core changes in the syscalls tracing area: - tracing: Map syscall name to number (syscall_name_to_nr()) - tracing: Call arch_init_ftrace_syscalls at boot - tracing: add support tracepoint ids (set_syscall_{enter,exit}_id()) Taken from the s390 change. Signed-off-by: Paul Mundt commit 964f7e5a56814b32c727821de77d22bd7ef782bc Author: Paul Mundt Date: Tue Oct 13 11:18:34 2009 +0900 sh: force dcache flush if dcache_dirty bit set. This too follows the ARM change, given that the issue at hand applies to all platforms that implement lazy D-cache writeback. This fixes up the case when a page mapping disappears between the flush_dcache_page() call (when PG_dcache_dirty is set for the page) and the update_mmu_cache() call -- such as in the case of swap cache being freed early. This kills off the mapping test in update_mmu_cache() and switches to simply testing for PG_dcache_dirty. Reported-by: Nitin Gupta Reported-by: Hugh Dickins Signed-off-by: Paul Mundt commit af67c3a9e68ee0a9e30ee8582577408adba0e299 Author: Paul Mundt Date: Tue Oct 13 10:57:52 2009 +0900 sh: update die() output. This follows the ARM change, as SH had all of the same issues: Make die() better match x86: - add printing of the last accessed sysfs file - ensure console_verbose() is called under the lock - ensure we panic outside of oops_exit() Signed-off-by: Paul Mundt commit 6dbce5218298c0c77a740b3ffe97cb8c304e1710 Author: Jan Kara Date: Thu Sep 17 17:37:12 2009 +0200 ext3: Update documentation about ext3 quota mount options Signed-off-by: Jan Kara commit 96ec2e0a719fd61791dd2b0dd01325c5d20e1233 Author: Theodore Ts'o Date: Wed Sep 16 11:21:13 2009 -0400 ext3: Don't update superblock write time when filesystem is read-only This avoids updating the superblock write time when we are mounting the root file system read/only but we need to replay the journal; at that point, for people who are east of GMT and who make their clock tick in localtime for Windows bug-for-bug compatibility, and this will cause e2fsck to complain and force a full file system check. Signed-off-by: "Theodore Ts'o" Signed-off-by: Jan Kara commit 2caa731819a633bec5a56736e64c562b7e193666 Merge: 589bf8d 30fc24b Author: Linus Torvalds Date: Mon Oct 12 14:38:34 2009 -0700 Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jbarnes/pci-2.6 * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jbarnes/pci-2.6: PCI: Prevent AER driver from being loaded on non-root port PCIE devices PCI: get larger bridge ranges when space is available PCI: pci.c: fix kernel-doc notation PCI quirk: TI XIO200a erroneously reports support for fast b2b transfers PCI PM: Read device power state from register after updating it PCI: remove pci_assign_resource_fixed() PCI: PCIe portdrv: remove "-driver" from driver name commit 589bf8d52b5bbb580962438ad9403ec6853bc12b Merge: e3c6f15 787b2fa Author: Linus Torvalds Date: Mon Oct 12 14:37:49 2009 -0700 Merge master.kernel.org:/home/rmk/linux-2.6-arm * master.kernel.org:/home/rmk/linux-2.6-arm: (24 commits) ARM: force dcache flush if dcache_dirty bit set [ARM] pxa: workaround errata #37 by not using half turbo switching [ARM] pxamci: fix printing gpio numbers in pxamci_probe [ARM] pxa/csb726: adjust duplicate structure field initialization ARM: Add kmap_atomic type debugging ARM: boolean bit testing ARM: update die() output ARM: Dump code/mem oops lines with the appropriate log level ARM: Dump memory and backtrace as one printk per line ARM: 5756/1: ep93xx: introduce clk parent ARM: 5754/1: ep93xx: update i2c support ARM: 5753/1: ep93xx: remove old EP93XX_GPIO_* defines ARM: 5729/1: ep93xx: define EP93XX_*_PHYS_BASE with macros ARM: 5751/1: ep93xx/micro9: Add Micro9-Slim ARM: 5750/1: ep93xx/micro9: Update platform code ARM: 5749/1: ep93xx/micro9: Update maintainer ARM: 5752/1: SA1100: fix building of h3100 ARM: 5748/1: bcmring: fix build warning messages ARM: 5747/1: Fix the start_pg value in free_memmap() ARM: 5746/1: Handle possible translation errors in ARMv6/v7 coherent_user_range ... commit e3c6f15fecee5aaa2dd1d0b83b17d09b64997e31 Author: Mike Frysinger Date: Mon Oct 12 09:49:56 2009 -0400 USB: musb: invert arch depend string The MUSB code relies on platform implementations that currently only exists for Arm and Blackfin processors, so have the MUSB Kconfig depend upon those arches. This should prevent other arches from building MUSB via randconfig. Reported-by: Ingo Molnar Signed-off-by: Mike Frysinger Signed-off-by: Linus Torvalds commit c7cedb125ba20cc531671dc667ad704baa667d97 Merge: 3365e77 c086893 Author: Ingo Molnar Date: Mon Oct 12 23:26:36 2009 +0200 Merge branch 'urgent' of git://git.kernel.org/pub/scm/linux/kernel/git/rric/oprofile into core/urgent commit 63c9e01e1a0dcecc982137d527d44b5ac808b607 Author: Ashwin Chaugule Date: Sun Oct 4 15:49:34 2009 -0700 perf tools: Remove static debugfs path from parse-events Timechart doesn't work if debugfs is not in /sys/kernel/debug/. Fixed by using global debugfs_path which is filled in by perf. Signed-off-by: Ashwin Chaugule Cc: "Arjan van de Ven" LKML-Reference: Signed-off-by: Ingo Molnar commit c49de94a56f02768fa881cd7cbf58907910ceb8e Author: Alan Cox Date: Mon Oct 12 16:27:48 2009 +0100 libertas: fix build drivers/net/wireless/libertas/cmdresp.c: In function ‘lbs_process_event’: drivers/net/wireless/libertas/cmdresp.c:519: error: ‘TASK_INTERRUPTIBLE’ undeclared (first use in this function) drivers/net/wireless/libertas/cmdresp.c:519: error: (Each undeclared identifier is reported only once drivers/net/wireless/libertas/cmdresp.c:519: error: for each function it appears in.) Signed-off-by: Alan Cox Signed-off-by: John W. Linville commit d20ef63d32461332958661df73e21c0ca42601b0 Author: Johannes Berg Date: Sun Oct 11 15:10:40 2009 +0200 mac80211: document ieee80211_rx() context requirement ieee80211_rx() must be called with softirqs disabled since the networking stack requires this for netif_rx() and some code in mac80211 can assume that it can not be processing its own tasklet and this call at the same time. It may be possible to remove this requirement after a careful audit of mac80211 and doing any needed locking improvements in it along with disabling softirqs around netif_rx(). An alternative might be to push all packet processing to process context in mac80211, instead of to the tasklet, and add other synchronisation. Signed-off-by: Johannes Berg Signed-off-by: John W. Linville commit edbfdcceb41c0cbfc1dd2cd28af2272190be47ad Author: Johannes Berg Date: Sun Oct 11 12:19:21 2009 +0200 b43: fix ieee80211_rx() context Due to the way it interacts with the networking stack and other parts of mac80211, ieee80211_rx() must be called with disabled softirqs. [1] http://thread.gmane.org/gmane.linux.kernel.wireless.general/39440/focus=40266 Reported-by: Dave Young Signed-off-by: Johannes Berg Signed-off-by: John W. Linville commit 51f98f1313d2fc4b1d3a3e1f4db7cf4925b29df6 Author: Johannes Berg Date: Sun Oct 11 11:47:57 2009 +0200 mac80211: fix ibss race When a scan completes, we call ieee80211_sta_find_ibss(), which is also called from other places. When the scan was done in software, there's no problem as both run from the single-threaded mac80211 workqueue and are thus serialised against each other, but with hardware scan the completion can be in a different context and race against callers of this function from the workqueue (e.g. due to beacon RX). So instead of calling ieee80211_sta_find_ibss() directly, just arm the timer and have it fire, scheduling the work, which will invoke ieee80211_sta_find_ibss() (if that is appropriate in the current state). Signed-off-by: Johannes Berg Signed-off-by: John W. Linville commit 5e4708bcb5d5360730e31b14e5e36429fc7d48b2 Author: Felix Fietkau Date: Sun Oct 11 05:21:10 2009 +0200 mac80211: fix logic error ibss merge bssid check Signed-off-by: Felix Fietkau Acked-by: Johannes Berg Signed-off-by: John W. Linville commit d7c76f4c50887a7d7279373c1138ac56a1d6db3b Author: Wey-Yi Guy Date: Fri Oct 9 13:20:17 2009 -0700 iwlwifi: change the order of freeing memory Need to free the dynamic allocated memory before ieee80211_free_hw(); once call ieee80211_free_hw(), should not reference to "priv" data structure. Signed-off-by: Wey-Yi Guy Signed-off-by: Reinette Chatre Signed-off-by: John W. Linville commit d1705c558c95418378b11a0be963fe1b3e2fa381 Author: H. Peter Anvin Date: Mon Oct 12 11:32:31 2009 -0700 x86: fix kernel panic on 32 bits when profiling Latest kernel has a kernel panic in booting on i386 machine when profile=2 setting in cmdline. It is due to 'sp' being incorrect in profile_pc(). BUG: unable to handle kernel NULL pointer dereference at 00000246 IP: [] profile_pc+0x2a/0x48 *pde = 00000000 Oops: 0000 [#1] SMP This differs from the original version by Alex Shi in that we use the kernel_stack_pointer() inline already defined in for this purpose, instead of #ifdef. Originally-by: Alex Shi Cc: "Chen, Tim C" Cc: "Rafael J. Wysocki" Cc: Andrew Morton Signed-off-by: H. Peter Anvin commit a1be9eee2996fd9969625e7b5e2f2bc2032fd3cb Author: Stefan Richter Date: Mon Oct 12 11:26:12 2009 -0400 NFS: suppress a build warning struct sockaddr_storage * can safely be used as struct sockaddr *. Suppress an "incompatible pointer type" warning. Signed-off-by: Stefan Richter Signed-off-by: Trond Myklebust Signed-off-by: Linus Torvalds commit eea7e17e0eb23729d58368420659f8e7c357d82e Author: Linus Torvalds Date: Mon Oct 12 19:13:54 2009 +0200 tty, serial: Fix race and NULL check in uart_close() Commit 46d57a449aa1 ("serial: use tty_port pointers in the core code") contained two bugs that causes (rare) crashes: - the rename typoed one site - a NULL check was missed Reported-and-tested-by: Ingo Molnar Cc: Greg KH Cc: Alan Cox Signed-off-by: Ingo Molnar Signed-off-by: Linus Torvalds commit 787b2faadc4356b6c2c71feb42fb944fece9a12f Author: Nitin Gupta Date: Mon Oct 12 14:20:23 2009 +0530 ARM: force dcache flush if dcache_dirty bit set On ARM, update_mmu_cache() does dcache flush for a page only if it has a kernel mapping (page_mapping(page) != NULL). The correct behavior would be to force the flush based on dcache_dirty bit only. One of the cases where present logic would be a problem is when a RAM based block device[1] is used as a swap disk. In this case, we would have in-memory data corruption as shown in steps below: do_swap_page() { - Allocate a new page (if not already in swap cache) - Issue read from swap disk - Block driver issues flush_dcache_page() - flush_dcache_page() simply sets PG_dcache_dirty bit and does not actually issue a flush since this page has no user space mapping yet. - Now, if swap disk is almost full, this newly read page is removed from swap cache and corrsponding swap slot is freed. - Map this page anonymously in user space. - update_mmu_cache() - Since this page does not have kernel mapping (its not in page/swap cache and is mapped anonymously), it does not issue dcache flush even if dcache_dirty bit is set by flush_dcache_page() above. } Same problem exists on mips too. [1] example: - brd (RAM based block device) - ramzswap (RAM based compressed swap device) Signed-off-by: Nitin Gupta Signed-off-by: Russell King commit 7a4b7e5e741fe0a72a517b0367a2659aa53f7c44 Author: Jan Beulich Date: Tue Oct 6 16:32:43 2009 +0100 x86: Fix Suspend to RAM freeze on Acer Aspire 1511Lmi laptop Move the trampoline and accessors back out of .cpuinit.* for the case of 64-bits+ACPI_SLEEP. This solves s2ram hangs reported in: http://bugzilla.kernel.org/show_bug.cgi?id=14279 Reported-and-bisected-by: Christian Casteyde Signed-off-by: Jan Beulich Cc: Cc: "Andrew Morton" Cc: "Rafael J. Wysocki" Signed-off-by: Ingo Molnar commit 9a821b231644028f8e2a853eb33d1184e925b183 Author: David Woodhouse Date: Mon Oct 12 12:59:29 2009 +0100 x86: Move pci_iommu_init to rootfs_initcall() We want this to happen after the PCI quirks, which are now running at the very end of the fs_initcalls. This works around the BIOS problems which were originally addressed by commit db8be50c4307dac2b37305fc59c8dc0f978d09ea ('USB: Work around BIOS bugs by quiescing USB controllers earlier'), which was reverted in commit d93a8f829fe1d2f3002f2c6ddb553d12db420412. Signed-off-by: David Woodhouse commit cf6f3bf7e587a00217d7509b440f694711c76b2e Author: David Woodhouse Date: Mon Oct 12 12:51:22 2009 +0100 Run pci_apply_final_quirks() sooner. Having this as a device_initcall() means that some real device drivers can actually initialise _before_ the quirks are run, which is wrong. We want it to run _before_ device_initcall(), but _after_ fs_initcall(), since some arch-specific PCI initialisation like pcibios_assign_resources() is done at fs_initcall(). We could use rootfs_initcall() but I actually want to use that for the IOMMU initialisation, which has to come after the quirks, but still before the real devices. So use fs_initcall_sync() instead -- since this is entirely synchronous, it doesn't hurt that it'll escape the synchronisation. Signed-off-by: David Woodhouse commit 00010268842bda320d43159324651c330e1e8136 Author: David Woodhouse Date: Mon Oct 12 12:50:34 2009 +0100 Mark pci_apply_final_quirks() __init rather than __devinit It doesn't get invoked on hotplug; it can be thrown away after init. Signed-off-by: David Woodhouse commit 8d86fb2c80ec376b35ae64ac858d406ae1d42a3f Author: David Woodhouse Date: Mon Oct 12 12:48:43 2009 +0100 Rename pci_init() to pci_apply_final_quirks(), move it to quirks.c This function may have done more in the past, but all it does now is apply the PCI_FIXUP_FINAL quirks. So name it sensibly and put it where it belongs. Signed-off-by: David Woodhouse commit edc72786d208e77db94f84dcb0d166c0d23d82f7 Merge: 6a5e293 4367216 Author: Russell King Date: Mon Oct 12 14:38:08 2009 +0100 Merge branch 'fix' of git://git.kernel.org/pub/scm/linux/kernel/git/ycmiao/pxa-linux-2.6 commit f8ebdff08740709a75e796f12cc5902e3b5b9dd6 Author: Roger Quadros Date: Wed Sep 30 18:26:37 2009 +0300 mfd: Fix twl4030 boot with twl4030 usb transceiver enabled The usb regulator supplies (usb1v5, usb1v8 & usb3v1) must be available before adding the twl4030_usb child, else twl4030_usb_ldo_init() will always fail thus causing boot lock-up. This patch fixes boot on OMAP systems using the twl4030 usb transceiver. CONFIG_TWL4030_USB=y Signed-off-by: Roger Quadros Signed-off-by: Samuel Ortiz commit 6c60e0c30c80fcd53e61701b7865a85283f8a341 Author: Ben Hutchings Date: Mon Oct 12 04:18:48 2009 -0700 acenic: Pass up error code from ace_load_firmware() If ace_load_firmware() fails, ace_init() cleans up but still returns 0, leading to an oops as seen in . It should pass the error code up. Signed-off-by: Ben Hutchings Signed-off-by: David S. Miller commit 1a78cedb998027ed46d8630b319db8fa678d38f0 Author: David S. Miller Date: Mon Oct 12 03:20:57 2009 -0700 sparc64: Fix D-cache flushing on swapin from SW devices. Thanks to tip form ARM folks and Russell King. If flush_dcache_page() occurs on a swapin it will have a mapping and we'll try to defer the flush by setting the dirty bit. But when it hits update_dcache_page() we won't flush because the page won't have a mapping any more. So remove the mapping requirement in flush_dcache(). Signed-off-by: David S. Miller commit b0e14951ee0f6c29abc64b92ec7075a159ede37c Author: Jiri Kosina Date: Mon Oct 12 11:25:56 2009 +0200 HID: fix possible deadlock in hidraw_read If the loop in hidraw_read() loops more than once, then we might end up trying to acquire already locked mutex, casuing a deadlock. Reported-by: iceberg Signed-off-by: Jiri Kosina commit e17b38bf9e70d74f3739a600db75240078ac1407 Author: Randy Dunlap Date: Sun Oct 11 19:12:00 2009 -0700 sched: Fix missing kernel-doc notation The following htmldocs warnings: Warning(kernel/sched.c:685): No description found for parameter 'cpu' Warning(kernel/sched.c:3676): No description found for parameter 'sd' Trigger because new parameters were added to update_rq_clock() and update_group_power() without updating the kernel-doc notation. Signed-off-by: Jaswinder Singh Rajput Signed-off-by: Randy Dunlap Cc: Andrew Morton Cc: Steven Rostedt Cc: Peter Zijlstra LKML-Reference: <4AD29070.7070002@oracle.com> Signed-off-by: Ingo Molnar commit 1a0c3298d6c6bfc357c38772e7f32d193c60c77d Author: Tejun Heo Date: Sun Oct 4 09:31:05 2009 +0900 percpu: fix compile warnings Fix the following two compile warnings which show up on i386. mm/percpu.c:1873: warning: comparison of distinct pointer types lacks a cast mm/percpu.c:1879: warning: format '%lx' expects type 'long unsigned int', but argument 2 has type 'size_t' Signed-off-by: Tejun Heo Reported-by: Randy Dunlap commit 55621ccf2b7a8afe39df8c80f55b28424fd07d13 Author: Ingo Molnar Date: Mon Oct 12 09:57:25 2009 +0200 perf tools: Fix the NO_64BIT build on pure 64-bit systems Randy Dunlap reported that 'make NO_64BIT=1' fails to build a pure 32-b it binary on 64-bit/64-bit x86 systems. The reason is that we dont pass in the -m32 and GCC defaults to -m64. So pass it in - and also extend the warning message about libelf dependencies - glibc-dev[el] is needed as well beyond the libelf library. Reported-by: Randy Dunlap Cc: Peter Zijlstra Cc: Frederic Weisbecker Cc: Mike Galbraith Cc: Paul Mackerras Cc: Arnaldo Carvalho de Melo LKML-Reference: Message-Id: <20091005131729.78444bfb.randy.dunlap@oracle.com> Signed-off-by: Ingo Molnar commit 4367216a099b4df3fa2c4f2b086cda1a1e9afc4e Author: Dennis O'Brien Date: Sat Oct 10 15:08:52 2009 +0800 [ARM] pxa: workaround errata #37 by not using half turbo switching PXA27x Errata #37 implies system will hang when switching into or out of half turbo (HT bit in CLKCFG) mode, workaround this by not using it. Signed-off-by: Dennis O'Brien Cc: stable-2.6.31 Signed-off-by: Eric Miao commit 48f029542f1219eb50ade5e24b1b2799bd057413 Author: Antonio Ospite Date: Fri Oct 2 16:24:02 2009 +0200 [ARM] pxamci: fix printing gpio numbers in pxamci_probe Signed-off-by: Antonio Ospite Reviewed-by: Robert Jarzmik Signed-off-by: Eric Miao commit c639ef431797813a9ab509e7cb5c77a080277a5b Author: Julia Lawall Date: Wed Sep 16 11:06:52 2009 +0200 [ARM] pxa/csb726: adjust duplicate structure field initialization Currently the irq_type field of the csb726_lan_config structure is initialized twice. The value in the first case, SMSC911X_IRQ_POLARITY_ACTIVE_LOW, is normally stored in the irq_polarity field, so I have renamed the field in the first initialization to that. Signed-off-by: Julia Lawall Signed-off-by: Eric Miao commit cbef79a82a64ec13e745ce2b0274154ae1e47243 Author: Randy Dunlap Date: Mon Oct 5 13:17:29 2009 -0700 perf tools: Fix const char type propagation The following perf build warnings/errors in function argument types: builtin-sched.c:1894: warning: passing argument 1 of 'sort_dimension__add' discards qualifiers from pointer target type util/trace-event-parse.c:685: warning: passing argument 2 of 'read_expected' discards qualifiers from pointer target type util/trace-event-parse.c:741: warning: passing argument 4 of 'test_type_token' discards qualifiers from pointer target type util/trace-event-parse.c:706: warning: passing argument 2 of 'read_expected_item' discards qualifiers from pointer target type ... trigger because older GCC is not able to prove that sort_dimension__add() does not change the string. Some goes for test_type_token(). Fix this by improving type consistency. Signed-off-by: Randy Dunlap Acked-by: Frederic Weisbecker Acked-by: Peter Zijlstra Cc: Paul Mackerras LKML-Reference: <20091005131729.78444bfb.randy.dunlap@oracle.com> [ Also remove ugly type cast now unnecessary. ] Signed-off-by: Ingo Molnar commit c7ebf0657b1f47d85aee8349ed6345d940d7232a Author: Randy Dunlap Date: Mon Oct 12 08:20:47 2009 +0200 blk-settings: fix function parameter kernel-doc notation Fix kernel-doc notation in blk-settings.c::blk_queue_max_discard_sectors(). Signed-off-by: Randy Dunlap Signed-off-by: Jens Axboe commit 5fdb9973c10c2d2e046da0976782ece25e78dc8b Author: Eric Dumazet Date: Thu Oct 8 22:50:25 2009 +0000 net: Fix struct sock bitfield annotation Since commit a98b65a3 (net: annotate struct sock bitfield), we lost 8 bytes in struct sock on 64bit arches because of kmemcheck_bitfield_end(flags) misplacement. Fix this by putting together sk_shutdown, sk_no_check, sk_userlocks, sk_protocol and sk_type in the 'flags' 32bits bitfield Signed-off-by: Eric Dumazet Signed-off-by: David S. Miller commit 53f7e35f8b7fc2f5620a863ac613bcf3080cb6ba Author: jamal Date: Sun Oct 11 04:21:38 2009 +0000 pkt_sched: pedit use proper struct This probably deserves to go into -stable. Pedit will reject a policy that is large because it uses the wrong structure in the policy validation. This fixes it. Signed-off-by: Jamal Hadi Salim Signed-off-by: David S. Miller commit d1f6803a58e827fda7b810dcb7cbdb490d32ab9e Author: Eric Dumazet Date: Sat Oct 10 21:40:54 2009 +0000 net: Add patchwork URL to MAINTAINERS Signed-off-by: David S. Miller commit d93a8f829fe1d2f3002f2c6ddb553d12db420412 Author: Linus Torvalds Date: Sun Oct 11 15:57:57 2009 -0700 Revert "USB: Work around BIOS bugs by quiescing USB controllers earlier" This reverts commit db8be50c4307dac2b37305fc59c8dc0f978d09ea, as per http://bugzilla.kernel.org/show_bug.cgi?id=14374 http://marc.info/?l=linux-kernel&m=125446885705223&w=4 We simply can't do the USB handoff at FIXUP_HEADER time, since it will often require us to have valid IO mappings etc. But that in turn requires a whole different approach, not this trivial one-liner. Maybe we could teach all the USB quirk handoff handlers to only do the quirk if the device has all its registers set up (since if it isn't initialized, it's unlikely to be active), but regardless that will need a whole lot more code than just saying "let's do it really early". The proper fix is almost certainly to just leave the legacy IOMMU mappings active until after all devices have been initialized. Reported-by: Nick Piggin Cc: David Woodhouse Cc: Greg Kroah-Hartman Signed-off-by: Linus Torvalds commit 2331d1a6cd3d6e580bc88b9a160066d9e1177fe1 Author: Sam Ravnborg Date: Sun Oct 11 23:22:58 2009 +0200 kbuild: revert "save ARCH & CROSS_COMPILE ..." Revert commit 575543347b5baed0ca927cb90ba8807396fe9cc9 It caused following issues: - On architectures where ARCH= setting is used to select between 32 and 64 bit this was no longer possible without "make mrproper" - If ARCH was changed then kbuild refused to run "make mrproper" because ARCH had changed - When CROSS_COMPILE was changed people were asked to run "make mrproper" but kbuild refused to run "make mrproper" because CROSS_COMPILE changed. - Spaces in CROSS_COMPILE was not 'supported' - If an non-existing ARCH= was used kbuild could get stuck Lessons learned: . Despite being simple and straghtforward people uses very different approaches when building the kernel. . CROSS_COMPILE is sometimes used for ccache despite cache being only a CC frontend so one would have expected CC to be used for this purpose. . And obviously this was not tested widely enough. Signed-off-by: Sam Ravnborg Cc: Pavel Machek Cc: Ingo Molnar Cc: Peter Zijlstra Cc: Andrew Morton commit c01226c3145d173a0d38f9d5b4f229cc23d99ae2 Author: Arnd Bergmann Date: Mon Sep 21 16:37:12 2009 +0200 warn about use of uninstalled kernel headers User applications frequently hit problems when they try to use the kernel headers directly, rather than the exported headers. This adds an explicit warning for this case, and points to a URL holding an explanation of why this is wrong and what to do about it. Signed-off-by: Arnd Bergmann Signed-off-by: Sam Ravnborg commit 17c5ca98833dc3d8f8dd4e85487da238c50cd8c9 Author: Felipe Contreras Date: Thu Sep 17 00:38:40 2009 +0300 kbuild: mkcompile_h: trivial cleanups UTS_TRUNCATTE is simpler this way, and now editors idetify this as a shell script. Signed-off-by: Felipe Contreras Acked-by: WANG Cong Signed-off-by: Sam Ravnborg commit 9c3049c02c6142e166c9472237f1f60d86153682 Author: Felipe Contreras Date: Thu Sep 17 00:38:39 2009 +0300 kbuild: fix warning when domainname is not available Otherwise we get: "dnsdomainname: Unknown host" Signed-off-by: Felipe Contreras Acked-by: WANG Cong Signed-off-by: Sam Ravnborg commit 58242b2b065557f8467a8630f7c9b2b4b2eb891f Author: Alek Du Date: Wed Aug 19 17:18:39 2009 +0800 kbuild: Fix size_append issue for bzip2/lzma kernel The Makefile.lib will call "echo -ne" to append uncompressed kernel size to bzip2/lzma kernel image. The "echo" here depends on the shell that /bin/sh pointing to. On Ubuntu system, the /bin/sh is pointing to dash, which does not support "echo -e" at all. Use /bin/echo instead of shell echo should always be safe. Signed-off-by: Alek Du Acked-by: WANG Cong Signed-off-by: Sam Ravnborg commit a3ee9470e6ccce28b5c2a1c098a5ee5aa053c668 Author: Amerigo Wang Date: Wed Aug 19 18:19:55 2009 +0800 kbuild,scripts: use non-builtin echo for '-e' Alek reported that on Ubuntu, where dash is used, 'echo -e' can't work, so let's use non-builtin echo in this case. Reported-by: Alek Du Signed-off-by: WANG Cong Signed-off-by: Sam Ravnborg commit db9038c89d129383a9db2afcb72b504fe54f6edf Author: Frans Pop Date: Tue Aug 25 22:15:39 2009 +0200 kbuild: fix the binrpm-pkg target to work with KBUILD_OUTPUT set The binrpm-pkg target (binary RPM only) fails when called with KBUILD_OUTPUT set. This patch makes it work. For the rpm-pkg target (source + binary RPM), building with KBUILD_OUTPUT set is not possible and also not needed as the actual build is done in a temporary directory anyway, so check that KBUILD_OUTPUT is not set in that case to avoid later errors. Signed-off-by: Frans Pop Signed-off-by: Sam Ravnborg commit bd3c200e6d5495343c91db66d2acf1853b57a141 Author: David Henningsson Date: Sun Oct 11 11:37:22 2009 +0200 ALSA: ice1724 - Make call to set hw params succeed on ESI Juli@ If two streams are started immediately after one another (such as a playback and a recording stream), the call to set hw params fails with EBUSY. This patch makes the call succeed, so playback and recording will work properly. Signed-off-by: David Henningsson Signed-off-by: Takashi Iwai commit 6a5e293f1b34920c69a932ce37b4a4714a428dc7 Author: Russell King Date: Sun Oct 11 16:29:48 2009 +0100 ARM: Add kmap_atomic type debugging Seemingly this support was missed when highmem was added, so DEBUG_HIGHMEM wouldn't have checked the kmap_atomic type. Signed-off-by: Russell King commit e9ac829185c5d17787d78c13c05a40c39d660239 Author: Johannes Weiner Date: Tue Jul 21 17:08:28 2009 +0200 ARM: boolean bit testing Bit testing (test, testset, testclear, testchange) for bit numbers known at compile time returns a word with the tested-for bit set. Change it to return a true boolean value so to make it consistent with the out-of-line path and all the other bitops implementations. Signed-off-by: Johannes Weiner Signed-off-by: Russell King commit 03a6e5bd5ba7d2a37b0bf4327b83d7c83311b0a1 Author: Russell King Date: Sun Oct 11 15:25:05 2009 +0100 ARM: update die() output Make die() better match x86: - add printing of the last accessed sysfs file - ensure console_verbose() is called under the lock - ensure we panic outside of oops_exit() Signed-off-by: Russell King commit e40c2ec6761d11043ad9f6352679049dbee836eb Author: Russell King Date: Sun Oct 11 15:17:53 2009 +0100 ARM: Dump code/mem oops lines with the appropriate log level Signed-off-by: Russell King commit d191fe093f4494e0220f11f4ef2068b9581357b5 Author: Russell King Date: Sun Oct 11 15:03:11 2009 +0100 ARM: Dump memory and backtrace as one printk per line dump_mem and dump_backtrace were both using multiple printk statements to print each line. With DEBUG_LL enabled, this causes OOPS to become very difficult to read. Solve this by only using one printk per line. Signed-off-by: Russell King commit ebd00c08e28a0ab4dcb715d222214625fff6d62a Author: Hartley Sweeten Date: Thu Oct 8 23:44:41 2009 +0100 ARM: 5756/1: ep93xx: introduce clk parent The clock generation system in the ep93xx uses two external oscillator's and two internal PLLs to derive all the internal clocks. Many of these internal clocks can be stopped to save power. This introduces a "parent" hierarchy for the clocks so that the users count can be correctly tracked for power management. The "parent" for the video clock can either be one of the PLL outputs or the external oscillator. In order to correctly track the "parent" for the video clock calc_clk_div() needed to be modified. It now returns an error code if the desired rate cannot be generated. Signed-off-by: H Hartley Sweeten Acked-by: Ryan Mallon Signed-off-by: Russell King commit 6531a991f95f2f34fc00cf0a030b1cdd5e19dc02 Author: Hartley Sweeten Date: Thu Oct 8 00:45:00 2009 +0100 ARM: 5754/1: ep93xx: update i2c support Update the ep93xx i2c support: 1) The platform init code passes the configuration data for the i2c-gpio driver. This allows any gpio pin do be used for the sda and scl pins. It also allows the platform to specify the udelay and timeout. 2) Program the gpio configuration register to enable/disable the open drain drivers. Note that this really only works if the sda and scl pins are set to EP93XX_GPIO_LINE_EEDAT and EP93XX_GPIO_LINE_EECLK. 3) Update the edb93xx.c platform init to use the new support. Signed-off-by: H Hartley Sweeten Acked-by: Ryan Mallon Signed-off-by: Russell King commit 03d38418a5a3361a757336cd87d64b35c1c7d658 Author: Hartley Sweeten Date: Wed Oct 7 23:43:26 2009 +0100 ARM: 5753/1: ep93xx: remove old EP93XX_GPIO_* defines Most of the EP93XX_GPIO_*_INT_* register defines in ep93xx-regs.h not required due to how the ep93xx core and gpiolib support handle gpio interrupts. Remove the defines to prevent future confusion. Signed-off-by: H Hartley Sweeten Acked-by: Ryan Mallon Signed-off-by: Russell King commit 43189a38dada053b820fafc47de8ba665dd3a618 Author: Robert Hancock Date: Fri Oct 9 22:08:58 2009 -0600 ALSA: ice1724: Fix surround on Chaintech AV-710 Fix the num_total_dacs setting for Chaintech AV710. The existing comment that only PSDOUT0 is connected is correct, but since the card is using packed AC97 mode to send 6 channels to the codec, num_total_dacs should be set to 6 and not 2. This allows 6-channel surround to work. Also clarify a comment regarding the additional WM8728 codec on this card (it's connected to the SPDIF output and always receives the same data). Signed-off-by: Robert Hancock Signed-off-by: Takashi Iwai commit 10c435f18b8cb78a5870c08d52955594f5ec9c31 Author: David S. Miller Date: Fri Oct 9 14:24:36 2009 -0700 net: Link in PHY drivers before others. We need PHY drivers to initialize in a static kernel before the MAC drivers that use them. So link them in first. Based upon a report by Felix Radensky. Signed-off-by: David S. Miller commit 2906206350b7e13e2047467cc29a0a2d78d71cb2 Author: Jonathan Woithe Date: Thu Oct 8 13:19:12 2009 +0930 fujitsu-laptop: address missed led-class ifdef fixup A follow-up 2.6.32-rc1's 1e384cb0f9a940f2a431d1708f963987e61d71e3 "fujitsu-laptop: support led-class as module" It's a trivial fix for one of the CONFIG_LEDS_CLASS ifdefs which was somehow missed in the original patch. Signed-off-by: Jonathan Woithe Signed-off-by: Len Brown commit c0868934e536e0ff508f2d359d006b25abc4970d Author: Robert Richter Date: Fri Oct 9 03:17:44 2009 +0200 oprofile: warn on freeing event buffer too early A race shouldn't happen since all workqueues or handlers are canceled or flushed before the event buffer is freed. A warning is triggered now if the buffer is freed too early. Also, this patch adds some comments about event buffer protection, reworks some code and adds code to clear buffer_pos during alloc and free of the event buffer. Cc: David Rientjes Cc: Stephane Eranian Signed-off-by: Robert Richter commit c4c4e2a58996d774429ded2fe386e88b47a10e98 Author: Jiri Slaby Date: Fri Oct 9 15:53:24 2009 +0200 ACPI: Kconfig, fix proc aggregator text Fix two typos in the Kconfig text about ACPI_PROCESSOR_AGGREGATOR. Signed-off-by: Jiri Slaby Signed-off-by: Len Brown commit 066b3aa8454bee3cdc665d86b5de812d8d0513b3 Author: David Rientjes Date: Wed Sep 9 15:02:33 2009 +0200 oprofile: fix race condition in event_buffer free Looking at the 2.6.31-rc9 code, it appears there is a race condition in the event_buffer cleanup code path (shutdown). This could lead to kernel panic as some CPUs may be operating on the event buffer AFTER it has been freed. The attached patch solves the problem and makes sure CPUs check if the buffer is not NULL before they access it as some may have been spinning on the mutex while the buffer was being freed. The race may happen if the buffer is freed during pending reads. But it is not clear why there are races in add_event_entry() since all workqueues or handlers are canceled or flushed before the event buffer is freed. Signed-off-by: David Rientjes Signed-off-by: Stephane Eranian Signed-off-by: Robert Richter commit f0613d5752d8f7d1d02e6d40947f38877fdf9c90 Author: Takashi Iwai Date: Fri Oct 9 17:44:08 2009 +0200 ALSA: hda - Add full rates/formats support for Nvidia HDMI Allow Nvidia HDMI to support more possible sample rates and formats. At best, the really supported rates and formats should be determined together with the negotiation with the HDMI receiver, but it's currently not implemented yet (Nvidia stuff seems incompatible with HDMI 1.3 standard in this regard). As a compromise, we enable all bits, assuming that all recent devices do support such rates/formats. Tested-by: Alan Alan Signed-off-by: Takashi Iwai commit e7ab0f7b50bc4688fb5cf65de5d42e3b882fb8d1 Author: Ingo Molnar Date: Fri Oct 9 15:58:20 2009 +0200 Revert "x86, timers: Check for pending timers after (device) interrupts" This reverts commit 9bcbdd9c58617f1301dd4f17c738bb9bc73aca70. The real bug producing LatencyTop latencies has been fixed in: f5dc375: sched: Update the clock of runqueue select_task_rq() selected And the commit being reverted here triggers local timer processing from every device IRQ. If device IRQs come in at a high frequency, this could cause a performance regression. The commit being reverted here purely 'fixed' the reported latency as a side effect, because CPUs were being moved out of idle more often. Acked-by: Peter Zijlstra Cc: Arjan van de Ven Cc: Frans Pop Cc: Linus Torvalds Cc: Mike Galbraith Cc: Thomas Gleixner LKML-Reference: <20091008064041.67219b13@infradead.org> Signed-off-by: Ingo Molnar commit f5dc37530ba8a35aae0f7f4f13781d1904f71e94 Author: Mike Galbraith Date: Fri Oct 9 08:35:03 2009 +0200 sched: Update the clock of runqueue select_task_rq() selected In try_to_wake_up(), we update the runqueue clock, but select_task_rq() may select a different runqueue than the one we updated, leaving the new runqueue's clock stale for a bit. This patch cures occasional huge latencies reported by latencytop when coming out of idle on a mostly idle NO_HZ box. Signed-off-by: Mike Galbraith Signed-off-by: Peter Zijlstra LKML-Reference: <1255070103.7639.30.camel@marge.simson.net> Signed-off-by: Ingo Molnar commit 3365e7798760dc6c190a9bbb0945a38f02625438 Author: Peter Zijlstra Date: Fri Oct 9 10:12:41 2009 +0200 lockdep: Use cpu_clock() for lockstat Some tracepoint magic (TRACE_EVENT(lock_acquired)) relies on the fact that lock hold times are positive and uses div64 on that. That triggered a build warning on MIPS, and probably causes bad output in certain circumstances as well. Make it truly positive. Reported-by: Andrew Morton Signed-off-by: Peter Zijlstra LKML-Reference: <1254818502.21044.112.camel@laptop> Signed-off-by: Ingo Molnar commit 961515f613f26b7958c56c5c71061a8231e02be7 Author: Wu Fengguang Date: Fri Oct 9 13:01:27 2009 +0200 writeback: kill space in debugfs item name The space is not script friendly, kill it. Signed-off-by: Wu Fengguang Signed-off-by: Jens Axboe commit d25105e8911bff1dbd68e387f12901c5b1a15fe8 Author: Wu Fengguang Date: Fri Oct 9 12:40:42 2009 +0200 writeback: account IO throttling wait as iowait It makes sense to do IOWAIT when someone is blocked due to IO throttle, as suggested by Kame and Peter. There is an old comment for not doing IOWAIT on throttle, however it has been mismatching the code for a long time. If we stop accounting IOWAIT for 2.6.32, it could be an undesirable behavior change. So restore the io_schedule. CC: KAMEZAWA Hiroyuki CC: Peter Zijlstra Signed-off-by: Wu Fengguang Signed-off-by: Jens Axboe commit de23cf3c42618998a7165364f987267ac9b298f0 Author: David S. Miller Date: Fri Oct 9 00:42:40 2009 -0700 sparc64: Fix niagara2 perf IRQ bits. Signed-off-by: David S. Miller commit 8c279598585e4992a41016bb973993ed15888cb3 Author: KOSAKI Motohiro Date: Fri Oct 9 08:48:08 2009 +0200 elv_iosched_store(): fix strstrip() misuse elv_iosched_store() ignore the return value of strstrip(). It makes small inconsistent behavior. This patch fixes it. ==================================== # cd /sys/block/{blockdev}/queue case1: # echo "anticipatory" > scheduler # cat scheduler noop [anticipatory] deadline cfq case2: # echo "anticipatory " > scheduler # cat scheduler noop [anticipatory] deadline cfq case3: # echo " anticipatory" > scheduler bash: echo: write error: Invalid argument ==================================== # cd /sys/block/{blockdev}/queue case1: # echo "anticipatory" > scheduler # cat scheduler noop [anticipatory] deadline cfq case2: # echo "anticipatory " > scheduler # cat scheduler noop [anticipatory] deadline cfq case3: # echo " anticipatory" > scheduler noop [anticipatory] deadline cfq Cc: Li Zefan Cc: Jens Axboe Signed-off-by: KOSAKI Motohiro Signed-off-by: Jens Axboe commit 3201fce0b2b12e4dc9e26dcf09bdb0652ff522db Author: Dave Mitchell Date: Thu Oct 8 06:32:21 2009 +0000 ibm_newemac: Added 16K Tx FIFO size support for EMAC4 Some of the EMAC V4 implementations support 16K Tx FIFOs. This patch adds support for this functionality and fixes typos in the Tx FIFO size error messages. Signed-off-by: Dave Mitchell Acked-by: Prodyut Hazarika Acked-by: Victor Gallardo Acked-by: Loc Ho Acked-by: Benjamin Herrenschmidt Signed-off-by: David S. Miller commit efd7d2619f2e5da222ad34fef3e8f47730cd8f2c Author: Ron Mercer Date: Thu Oct 8 09:54:43 2009 +0000 qlge: Add disable/enable firmare irqs to handler. This was accidentally omitted from one of the previous patches for firmware event handling. The handler needs to the enable firmware irq mask when it's done processing or it may not get any more events interrupts. Signed-off-by: Ron Mercer Signed-off-by: David S. Miller commit 2cd6dbaaf43ca9ec5607239c23c4e9793b702e1b Author: Ron Mercer Date: Thu Oct 8 09:54:42 2009 +0000 qlge: Restore rx mode after internal reset. Call set_multi API after reset recovery. This was exposed by tripping tx_timeout. Signed-off-by: Ron Mercer Signed-off-by: David S. Miller commit 84087f4d482c5d554e1b26a557d424761213e5dc Author: Ron Mercer Date: Thu Oct 8 09:54:41 2009 +0000 qlge: Fix chip reset process. Add wait for NIC fifo and MGMNT fifo to empty before applying reset. Otherwise broken frames can be processed by management processor and cause it to hang. Signed-off-by: Ron Mercer Signed-off-by: David S. Miller commit 76b26694cc9eb8c7ea1004b0601a5953cfa57b89 Author: Ron Mercer Date: Thu Oct 8 09:54:40 2009 +0000 qlge: Fix RX multicast filter settings. The addresses were being added to the filter properly, but were not being enabled. This adds enable bit to filter write. Signed-off-by: Ron Mercer Signed-off-by: David S. Miller commit e163d7f2775624fcd7d21a060e18171fe006106d Author: Ron Mercer Date: Thu Oct 8 09:54:39 2009 +0000 qlge: Fix frame routing for multicast frames. Broadcast/multicast should always be routed to the default (zeroeth) rx ring. Broadcast frames are already routed correctly. This fixes routing for multicast frames. Signed-off-by: Ron Mercer Signed-off-by: David S. Miller commit a3b71939a9c7a942323bfc0c8f97d0fd2bf22f95 Author: Ron Mercer Date: Thu Oct 8 09:54:38 2009 +0000 qlge: Fix frame routing issue related to bonding. Currently frames are routed based on their type and MAC address. This patch adds the port number on which the frame arrived to the routing. This prevents problems in the case where both interfaces have the same MAC address in a routing configuration. Signed-off-by: Ron Mercer Signed-off-by: David S. Miller commit 541ae28c2df91e805c6df924a8e8522c2602db47 Author: Ron Mercer Date: Thu Oct 8 09:54:37 2009 +0000 qlge: Fix RSS hashing values. Fix RX queue table size and change from random to default hash values. Signed-off-by: Ron Mercer Signed-off-by: David S. Miller commit a813a159766ee9d36aa1fc717c60d63325a6d077 Author: Steven Rostedt Date: Fri Oct 9 01:41:35 2009 -0400 tracing: fix trace_vprintk call The addition of trace_array_{v}printk used the wrong function for trace_vprintk to call. This broke trace_marker and trace_vprintk itself. Although trace_printk may not have been affected by those that end up calling trace_vbprintk. Signed-off-by: Steven Rostedt commit 67972e0c238fa802580b5919f11e1de3da5179da Merge: ad61df9 8a8e05e Author: David S. Miller Date: Thu Oct 8 15:55:21 2009 -0700 Merge branch 'master' of git://git.kernel.org/pub/scm/linux/kernel/git/linville/wireless-2.6 commit d0153ca35d344d9b640dc305031b0703ba3f30f0 Author: Alok Kataria Date: Tue Sep 29 10:25:24 2009 -0700 x86, vmi: Mark VMI deprecated and schedule it for removal Add text in feature-removal.txt indicating that VMI will be removed in the 2.6.37 timeframe. Signed-off-by: Alok N Kataria Acked-by: Chris Wright LKML-Reference: <1254193238.13456.48.camel@ank32.eng.vmware.com> [ removed a bogus Kconfig change, marked (DEPRECATED) in Kconfig ] Signed-off-by: H. Peter Anvin Signed-off-by: Ingo Molnar commit 8a8e05e5d8f6155788761961fc9845328863c16d Author: Johannes Berg Date: Thu Oct 8 21:02:02 2009 +0200 cfg80211: fix netns error unwinding bug The error unwinding code in set_netns has a bug that will make it run into a BUG_ON if passed a bad wiphy index, fix by not trying to unlock a wiphy that doesn't exist. Signed-off-by: Johannes Berg Signed-off-by: John W. Linville commit ad61df918c44316940404891d5082c63e79c256a Author: Jiri Pirko Date: Thu Oct 8 01:21:46 2009 -0700 netlink: fix typo in initialization Commit 9ef1d4c7c7aca1cd436612b6ca785b726ffb8ed8 ("[NETLINK]: Missing initializations in dumped data") introduced a typo in initialization. This patch fixes this. Signed-off-by: Jiri Pirko Signed-off-by: David S. Miller commit 355b659c87432a4e76160640625c47fcf9174e8d Author: Corrado Zoccolo Date: Thu Oct 8 08:43:32 2009 +0200 cfq-iosched: avoid probable slice overrun when idling If the average think time is larger than the remaining time slice for any given queue, don't allow it to idle. A succesful idle also means that we need to dispatch and complete a request, so if we don't even have time left for the idle process, we would overrun the slice in any case. Signed-off-by: Corrado Zoccolo Signed-off-by: Jens Axboe commit 879e9304134bb6214fb52377ac1e01e1910f4916 Author: David S. Miller Date: Wed Oct 7 22:15:23 2009 -0700 znet: Don't claim DMA lock around free_dma() calls. It's not necessary and it's illegal too. Reported-by: Alexander Strakh Signed-off-by: David S. Miller commit 544df55d6c1590bc21c86119b89a1689b1eb5e75 Author: Stefan Richter Date: Sat Oct 3 10:17:29 2009 +0200 ieee1394: add documentation entry to MAINTAINERS Add the file pattern of drivers/ieee1394/init_ohci1394_dma.c's documentation to the maintainers database. init_ohci1394_dma.c is not really part of the IEEE 1394 subsystem, but this maintainers contact seems to be better than none at all. Signed-off-by: Stefan Richter commit d308e38fa5467fbb523fc13e4b984375c2198c3d Author: Wolfram Sang Date: Wed Oct 7 13:53:11 2009 -0700 include/linux/netdevice.h: fix nanodoc mismatch nanodoc was missing an ndo_-prefix. Signed-off-by: Wolfram Sang Signed-off-by: David S. Miller commit 7e937c633f718e0916a294db7282c922c1bf3ce3 Author: Albert Herranz Date: Wed Oct 7 00:07:44 2009 +0200 b43: do not stack-allocate pio rx/tx header and tail buffers The DMA-API debugging facility complains about b43 mapping memory from stack for SDIO-based cards. Indeed, b43 currently allocates the PIO RX/TX header and tail buffers from stack. The solution here is to use heap-allocated buffers instead. Signed-off-by: Albert Herranz Signed-off-by: John W. Linville commit f5b4da21ba293220001b5fd36be75c859b18afc1 Author: Larry Finger Date: Fri Oct 2 12:54:34 2009 -0500 b43: Fix PPC crash in rfkill polling on unload In Bugzilla No. 14181, a PowerMac G4 crashes on ifdown or module unload because the rfkill polling has not been stopped. For the x86 architectures, the attempt to reach a now unmapped register is not fatal as it is on PPC. (Includes "b43: Fix locking problem when stopping rfkill polling". -- JWL) Signed-off-by: Larry Finger Signed-off-by: John W. Linville commit 0819663d164e090de315c5e619f4e23c27aaff88 Author: Roel Kluin Date: Tue Oct 6 15:52:35 2009 +0200 mac80211: use kfree_skb() to free struct sk_buff pointers kfree_skb() should be used to free struct sk_buff pointers. Signed-off-by: Roel Kluin Acked-by: Johannes Berg Cc: stable@kernel.org Signed-off-by: John W. Linville commit 9e7ba2465fd453429aa5849c2aadb526cda19034 Author: Roel Kluin Date: Tue Oct 6 14:33:14 2009 +0200 mac80211: fix ADM8211_SYNCTL_RFtype define A logical of shifts to the left doesn't make sense. Signed-off-by: Roel Kluin Signed-off-by: John W. Linville commit 0358bc293e4aceac51e0e09837830898e90d2552 Author: Bjorn Helgaas Date: Mon Oct 5 11:37:01 2009 -0600 iwlwifi: use %pM for formatted MAC addresses User-visible messages should use formatted MAC addresses ("00:01:...") rather than raw ("0001...") so they match other parts of the system. Signed-off-by: Bjorn Helgaas CC: ilw@linux.intel.com CC: linux-wireless@vger.kernel.org Acked-by: Reinette Chatre Signed-off-by: John W. Linville commit 49d965c8f7fcbf06da373468e091eb7d205f0bec Author: Michael Buesch Date: Sat Oct 3 00:57:58 2009 +0200 b43: Protect sanity check against physical device removal Fix IRQ mask sanity check for physically pulled device. Tested-by: Andrew Price Signed-off-by: Michael Buesch Signed-off-by: John W. Linville commit 886e71de1f889adadb1065b1a83b0e64625fb716 Author: Reinette Chatre Date: Fri Oct 2 13:44:07 2009 -0700 iwlagn: fix compile warning in iwl5000_gain_computation The return type of abs() was recently changed from int to long. With min()'s type checking we thus need to make sure that values of the same type are compared. This fixes: CC [M] drivers/net/wireless/iwlwifi/iwl-5000.o drivers/net/wireless/iwlwifi/iwl-5000.c: In function ‘iwl5000_gain_computation’: drivers/net/wireless/iwlwifi/iwl-5000.c:320: warning: comparison of distinct pointer types lacks a cast Signed-off-by: Reinette Chatre Reported-by: Marcel Holtmann Signed-off-by: John W. Linville commit 9024adf5c81c94f7b5c6fd26942b075e2a26e085 Author: Reinette Chatre Date: Fri Oct 2 13:43:57 2009 -0700 iwlwifi: fix compile warning Fixes following on big endian systems: CC [M] drivers/net/wireless/iwlwifi/iwl-rx.o drivers/net/wireless/iwlwifi/iwl-rx.c: In function ‘iwl_rx_reply_rx’: drivers/net/wireless/iwlwifi/iwl-rx.c:1029: warning: integer overflow in expression Signed-off-by: Reinette Chatre Reported-by: Marcel Holtmann Tested-by: Johannes Berg Signed-off-by: John W. Linville commit 722d9b1e1e52be46582fa8b01a082a7f79fb464d Author: Wey-Yi Guy Date: Fri Oct 2 13:43:56 2009 -0700 iwlwifi: fix EEPROM enhance tx power offset Set the correct EEPROM offset for enhance tx power for 6000 series Signed-off-by: Wey-Yi Guy Signed-off-by: Reinette Chatre Signed-off-by: John W. Linville commit 2facba769d7f9e563cf706de709074a2d20f1bba Author: Jay Sternberg Date: Fri Oct 2 13:43:55 2009 -0700 iwlwifi: incorrect method used for finding valid OTP blocks The address stored in the next link address is a word address but when reading the OTP blocks, a byte address is used. Also if the blocks are full and the last link pointer is not zero, then none of the blocks are valid so return an error. The algorithm is simply valid blocks have a next address and that address's contents is zero. Using the wrong address for the next link address gets arbitrary data, obviously. In cases seen, the first block is considered valid when it is not. If the block has in fact been invalidated there may be old data or there may be no data, bad data, or partial data, there is no way of telling. Without this patch it is possible that a device with valid OTP data is unable to work. Signed-off-by: Jay Sternberg Signed-off-by: Reinette Chatre CC: stable@kernel.org Signed-off-by: John W. Linville commit fbc44bf7177dfd61381da55405550b693943a432 Author: Johannes Berg Date: Thu Oct 1 22:06:29 2009 +0200 mac80211: fix vlan and optimise RX When receiving data frames, we can send them only to the interface they belong to based on transmitting station (this doesn't work for probe requests). Also, don't try to handle other frames for AP_VLAN at all since those interface should only receive data. Additionally, the transmit side must check that the station we're sending a frame to is actually on the interface we're transmitting on, and not transmit packets to functions that live on other interfaces, so validate that as well. Another bug fix is needed in sta_info.c where in the VLAN case when adding/removing stations we overwrite the sdata variable we still need. Signed-off-by: Johannes Berg Cc: stable@kernel.org Signed-off-by: John W. Linville commit 727c988593271599c9e5943699426afcce1a62d6 Author: Michael Buesch Date: Thu Oct 1 15:54:32 2009 +0200 b43: Don't use struct wldev after detach. Don't use struct wldev after detach. This fixes an oops on access. Signed-off-by: Michael Buesch Signed-off-by: John W. Linville commit a6151c3a5c8e1ff5a28450bc8d6a99a2a0add0a7 Author: Jens Axboe Date: Wed Oct 7 20:02:57 2009 +0200 cfq-iosched: apply bool value where we return 0/1 Saves 16 bytes of text, woohoo. But the more important point is that it makes the code more readable when returning bool for 0/1 cases. Signed-off-by: Jens Axboe commit ec60e4f6749daf535329dac571293cf19c627aff Author: Corrado Zoccolo Date: Wed Oct 7 19:51:54 2009 +0200 cfq-iosched: fix think time allowed for seekers CFQ enables idle only for processes that think less than the allowed idle time. Since idle time is lower for seeky queues, we should use the correct value in the comparison. Signed-off-by: Corrado Zoccolo Signed-off-by: Jens Axboe commit 30fc24b5cbc55f9e6c686e2710cc812419bddc0c Author: Kenji Kaneshige Date: Wed Oct 7 09:28:56 2009 -0700 PCI: Prevent AER driver from being loaded on non-root port PCIE devices A bug was seen on boards using a PLX 8518 switch device which advertises AER on each of it's transparent bridges. The AER driver was loaded for each bridge and this driver tried to access the AER source ID register whenever an interrupt occured on the shared PCI INTX lines. The source ID register does not exist on non root port PCIE device's which advertise AER and trying to access this register causes a unsupported request error on the bridge. Thus, when the next interrupt occurs, another error is found and the non existent source ID register is accessed again, and so it goes on. The result is a spammed dmesg with unsupported request PCI express errors on the bridge device that the AER driver is loaded against. Reported-by: Malcolm Crossley Signed-off-by: Kenji Kaneshige Tested-by: Malcolm Crossley Signed-off-by: Jesse Barnes commit 308cf8e13f42f476dfd6552aeff58fdc0788e566 Author: Yinghai Lu Date: Sun Sep 13 15:57:10 2009 -0700 PCI: get larger bridge ranges when space is available Found one system: [ 71.120590] pci 0000:40:05.0: scanning behind bridge, config 4f4a40, pass 0 [ 71.138283] PCI: Scanning bus 0000:4a [ 71.140341] pci 0000:4a:00.0: found [15b3:6278] class 000c06 header type 00 [ 71.157173] pci 0000:4a:00.0: reg 10 64bit mmio: [0x000000-0x0fffff] [ 71.161697] pci 0000:4a:00.0: reg 18 64bit mmio pref: [0x000000-0x7fffff] [ 71.179403] pci 0000:4a:00.0: reg 20 64bit mmio pref: [0x000000-0xfffffff] [ 71.185366] pci 0000:4a:00.0: calling quirk_resource_alignment+0x0/0x1dd [ 71.200846] pci 0000:4a:00.0: disabling ASPM on pre-1.1 PCIe device. You can enable it with 'pcie_aspm=force' [ 71.219623] PCI: Fixups for bus 0000:4a [ 71.222194] pci 0000:40:05.0: bridge 32bit mmio: [0xcf000000-0xcf0fffff] [ 71.238662] pci 0000:40:05.0: bridge 64bit mmio pref: [0xcd800000-0xcdffffff] [ 71.255793] PCI: Bus scan for 0000:4a returning with max=4a Device needs a big pref mmio, but BIOS doesn't allocate mmio to it aside from a small MMIO range. Later, the kernel will not allocate resources to that to the device: [ 99.574030] pci 0000:4a:00.0: BAR 4: can't allocate mem resource [0xd0000000-0xcdffffff] [ 99.580102] pci 0000:4a:00.0: BAR 2: got res [0xcd800000-0xcdffffff] bus [0xcd800000-0xcdffffff] flags 0x12120c [ 99.602307] pci 0000:4a:00.0: BAR 2: moved to bus [0xcd800000-0xcdffffff] flags 0x12120c [ 99.615991] pci 0000:4a:00.0: BAR 0: got res [0xcf000000-0xcf0fffff] bus [0xcf000000-0xcf0fffff] flags 0x120204 [ 99.634499] pci 0000:4a:00.0: BAR 0: moved to bus [0xcf000000-0xcf0fffff] flags 0x120204 [ 99.654318] pci 0000:40:05.0: PCI bridge, secondary bus 0000:4a [ 99.658766] pci 0000:40:05.0: IO window: disabled [ 99.675478] pci 0000:40:05.0: MEM window: 0xcf000000-0xcf0fffff [ 99.681663] pci 0000:40:05.0: PREFETCH window: 0x000000cd800000-0x000000cdffffff So try to get a big range in the pci bridge if there is no child using that range. With the patch we get: [ 99.104525] pci 0000:4a:00.0: BAR 4: got res [0xfc080000000-0xfc08fffffff] bus [0xfc080000000-0xfc08fffffff] flags 0x12120c [ 99.123624] pci 0000:4a:00.0: BAR 4: moved to bus [0xfc080000000-0xfc08fffffff] flags 0x12120c [ 99.131977] pci 0000:4a:00.0: BAR 2: got res [0xfc090000000-0xfc0907fffff] bus [0xfc090000000-0xfc0907fffff] flags 0x12120c [ 99.149788] pci 0000:4a:00.0: BAR 2: moved to bus [0xfc090000000-0xfc0907fffff] flags 0x12120c [ 99.169248] pci 0000:4a:00.0: BAR 0: got res [0xc0200000-0xc02fffff] bus [0xc0200000-0xc02fffff] flags 0x120204 [ 99.189508] pci 0000:4a:00.0: BAR 0: moved to bus [0xc0200000-0xc02fffff] flags 0x120204 [ 99.206402] pci 0000:40:05.0: PCI bridge, secondary bus 0000:4a [ 99.210637] pci 0000:40:05.0: IO window: disabled [ 99.224856] pci 0000:40:05.0: MEM window: 0xc0200000-0xc03fffff [ 99.230019] pci 0000:40:05.0: PREFETCH window: 0x000fc080000000-0x000fc097ffffff Signed-off-by: Yinghai Lu Signed-off-by: Jesse Barnes commit 19eea630f7c56038dd80fe2f6910c78655bf29c8 Author: Randy Dunlap Date: Thu Sep 17 15:28:22 2009 -0700 PCI: pci.c: fix kernel-doc notation Fix kernel-doc notation (& warnings) in pci/pci.c. Signed-off-by: Randy Dunlap Signed-off-by: Jesse Barnes commit 1f56f4a2b4d12c1c348cab23024024396ec7cddc Author: Gabe Black Date: Tue Oct 6 09:19:45 2009 -0500 PCI quirk: TI XIO200a erroneously reports support for fast b2b transfers This quirk will disable fast back to back transfer on the secondary bus segment of the TI Bridge. Signed-off-by: Gabe Black Signed-off-by: Jesse Barnes commit 591006f830bcc8edf2841750d7543c5c5a672f89 Author: Hartley Sweeten Date: Fri Sep 25 17:54:31 2009 +0100 ARM: 5729/1: ep93xx: define EP93XX_*_PHYS_BASE with macros Change the #define's for the EP93XX_*_PHYS_BASE addresses to use macros for easier readability. Signed-off-by: H Hartley Sweeten Acked-by: Ryan Mallon Signed-off-by: Russell King commit 7232344d49b88e8787f1842936867cd224da47e5 Author: Hubert Feurstein Date: Wed Oct 7 08:41:01 2009 +0100 ARM: 5751/1: ep93xx/micro9: Add Micro9-Slim Add Contec Micro9-Slim support Cc: Ryan Mallon Requires: 5750/1 Signed-off-by: Hubert Feurstein Acked-by: H Hartley Sweeten Signed-off-by: Russell King commit 14636005fff800d4131dfe89927207a564efcc17 Author: Hubert Feurstein Date: Wed Oct 7 08:39:09 2009 +0100 ARM: 5750/1: ep93xx/micro9: Update platform code Update Contec Micro9 platform code Cc: Ryan Mallon Requires: 5749/1 Signed-off-by: Hubert Feurstein Acked-by: H Hartley Sweeten Signed-off-by: Russell King commit 941500954470e04679ff6e3cff0f82d8dbd2b6c3 Author: Hubert Feurstein Date: Wed Oct 7 08:36:07 2009 +0100 ARM: 5749/1: ep93xx/micro9: Update maintainer Update Contec Micro9 maintainer and add entry in MAINTAINERS Cc: Ryan Mallon Requires: 5744/1 Signed-off-by: Hubert Feurstein Acked-by: H Hartley Sweeten Acked-by: Manfred Gruber Signed-off-by: Russell King commit 4918a01393a38db4346ae88f38c1fd8324bb5e63 Author: Dmitry Artamonow Date: Wed Oct 7 10:48:26 2009 +0100 ARM: 5752/1: SA1100: fix building of h3100 Both iPaqs h3100 and h3600 currently share the same source file - h3600.c But Makefile builds it only if CONFIG_SA1100_H3600 selected, so selecting just CONFIG_SA1100_H3100 results in "no machine record defined" message and aborted compilation. Fix it. Signed-off-by: Dmitry Artamonow Acked-by: Kristoffer Ericson Signed-off-by: Russell King commit b623438341b40ee78bdab7ab509889de519af2e7 Author: Leo Chen Date: Tue Oct 6 19:30:40 2009 +0100 ARM: 5748/1: bcmring: fix build warning messages Fix the warning messages during kernel build for bcmring. Signed-off-by: Leo Hao Chen Signed-off-by: Russell King commit 3257f43d9296ed7adcc84e48f6ddf5313cf29266 Author: Catalin Marinas Date: Tue Oct 6 17:57:22 2009 +0100 ARM: 5747/1: Fix the start_pg value in free_memmap() If sparsemem is enabled, the start_pfn passed to the free_memmap() function corresponds to an area of memory not known to the kernel and pfn_to_page returns a wrong value. The (start_pfn - 1), however, is known to the kernel. Signed-off-by: Catalin Marinas Signed-off-by: Russell King commit 32cfb1b16f2b68d2296536811cadfffe26a06c1b Author: Catalin Marinas Date: Tue Oct 6 17:57:09 2009 +0100 ARM: 5746/1: Handle possible translation errors in ARMv6/v7 coherent_user_range This is needed because applications using the sys_cacheflush system call can pass a memory range which isn't mapped yet even though the corresponding vma is valid. The patch also adds unwinding annotations for correct backtraces from the coherent_user_range() functions. Signed-off-by: Catalin Marinas Signed-off-by: Russell King commit cc1ad4a69667be885ac6036a315066854ef8c871 Author: Hartley Sweeten Date: Mon Oct 5 23:15:32 2009 +0100 ARM: 5745/1: Change ep93xx gpio_irq static inlines to macros From: Ryan Mallon Change the gpio_to_irq and irq_to_gpio static inline functions to macros so that they can be used in variable initialisers. Signed-off-by: Ryan Mallon Acked-by: H Hartley Sweeten Signed-off-by: Russell King commit 1f8db4fc1271a42496778c0ff18153da56f0f844 Author: Hartley Sweeten Date: Mon Oct 5 19:34:43 2009 +0100 ARM: 5744/1: ep93xx: add remaining phys offset selections This adds the missing Kconfig options for the first SDRAM bank address on ep93xx boards. Cc: Hubert Feurstein <(address hidden)> Signed-off-by: H Hartley Sweeten <(address hidden)> Acked-by: Ryan Mallon <(address hidden)> Signed-off-by: Russell King commit b9c8946b192397394a0ccd4fcecb31bc060f79f8 Author: Jens Axboe Date: Tue Oct 6 20:53:44 2009 +0200 cfq-iosched: fix the slice residual sign We should subtract the slice residual from the rb tree key, since a negative residual count indicates that the cfqq overran its slice the last time. Hence we want to add the overrun time, to position it a bit further away in the service tree. Reported-by: Corrado Zoccolo Signed-off-by: Jens Axboe commit 0b182d617eb50762b483658dd6dd9a9fbcb25758 Author: Jens Axboe Date: Tue Oct 6 20:49:37 2009 +0200 cfq-iosched: abstract out the 'may this cfqq dispatch' logic Makes the whole thing easier to read, cfq_dispatch_requests() was a bit messy before. Signed-off-by: Jens Axboe commit 1b59dd511b9a36d4be3c01d7c7024aeec36dc651 Author: Jens Axboe Date: Tue Oct 6 20:19:02 2009 +0200 block: use proper BLK_RW_ASYNC in blk_queue_start_tag() Makes it easier to read than the 0. Signed-off-by: Jens Axboe commit 316d315bffa4026f28085f6b24ebcebede370ac7 Author: Nikanth Karthikesan Date: Tue Oct 6 20:16:55 2009 +0200 block: Seperate read and write statistics of in_flight requests v2 Commit a9327cac440be4d8333bba975cbbf76045096275 added seperate read and write statistics of in_flight requests. And exported the number of read and write requests in progress seperately through sysfs. But Corrado Zoccolo reported getting strange output from "iostat -kx 2". Global values for service time and utilization were garbage. For interval values, utilization was always 100%, and service time is higher than normal. So this was reverted by commit 0f78ab9899e9d6acb09d5465def618704255963b The problem was in part_round_stats_single(), I missed the following: if (now == part->stamp) return; - if (part->in_flight) { + if (part_in_flight(part)) { __part_stat_add(cpu, part, time_in_queue, part_in_flight(part) * (now - part->stamp)); __part_stat_add(cpu, part, io_ticks, (now - part->stamp)); With this chunk included, the reported regression gets fixed. Signed-off-by: Nikanth Karthikesan -- Signed-off-by: Jens Axboe commit 68b92b567c0c5e6f4d0b264d438f97ee5ccbdccc Author: Mark Langsdorf Date: Tue Aug 11 15:15:42 2009 -0500 ACPI: add AC/DC notifier Add an ACPI event notifier for AC/DC connect/disconnect events. Signed-off-by: Mark Langsdorf Signed-off-by: Len Brown commit e13cdbd71fe12c4e191b737c4a3dbfdb4b2de03b Author: Rafael J. Wysocki Date: Mon Oct 5 00:48:40 2009 +0200 PCI PM: Read device power state from register after updating it After attempting to change the power state of a PCI device pci_raw_set_power_state() doesn't check if the value it wrote into the device's PCI_PM_CTRL register has been stored in there, but unconditionally modifies the device's current_state field to reflect the change. This may cause problems to happen if the power state of the device hasn't been changed in fact, because it will make the PCI PM core make a wrong assumption. To prevent such situations from happening modify pci_raw_set_power_state() so that it reads the device's PCI_PM_CTRL register after writing into it and uses the value read from the register to update the device's current_state field. Also make it print a message saying that the device refused to change its power state as requested (returning an error code in such cases would cause suspend regressions to appear on some systems, where device drivers' suspend routines return error codes if pci_set_power_state() fails). Reviewed-by: Alex Chiang Signed-off-by: Rafael J. Wysocki Signed-off-by: Jesse Barnes commit b812cca4e2efe9a05de20ccf3f8587e7ac6e12fa Author: Bjorn Helgaas Date: Mon Oct 5 16:38:13 2009 -0600 PCI: remove pci_assign_resource_fixed() Adrian commented out this function in 2baad5f96b49, but I don't think it's even worth cluttering the file with the unused code. Signed-off-by: Bjorn Helgaas Signed-off-by: Jesse Barnes commit e3fb20f9c8783d6e27cf84389a9606e410733eef Author: Bjorn Helgaas Date: Mon Oct 5 16:47:34 2009 -0600 PCI: PCIe portdrv: remove "-driver" from driver name No need to include "-driver" in the driver name. Signed-off-by: Bjorn Helgaas CC: Tom Long Nguyen Signed-off-by: Jesse Barnes commit 1d2127123db9b1821959c2b8b7473dd7ffcdf527 Author: Imre Deak Date: Mon Oct 5 13:40:44 2009 +0100 ARM: 5742/1: ARM: add debug check for invalid kernel page faults According to the following in arch/arm/mm/fault.c page faults from kernel mode are invalid if mmap_sem is already held and there is no exception handler defined for the faulting instruction: /* * As per x86, we may deadlock here. However, since the kernel only * validly references user space from well defined areas of the code, * we can bug out early if this is from code which shouldn't. */ if (!down_read_trylock(&mm->mmap_sem)) { if (!user_mode(regs) && !search_exception_tables(regs->ARM_pc)) goto no_context; Since mmap_sem can be held at arbitrary times by another thread this also means that any page faults from kernel mode are invalid if no exception handler is defined for them, regardless whether mmap_sem is held at the time of fault. To easier detect code that can trigger the above error, add a check also for the case where mmap_sem is acquired. As this has an overhead make it a VM debug check. Signed-off-by: Imre Deak Signed-off-by: Russell King commit e89e04fcdce6146cab3a34d4073f8a1714b457ec Author: Srinidhi Kasagar Date: Mon Oct 5 06:13:53 2009 +0100 ARM: 5741/1: pl022: fix peripheral id for ST vendor This fixes the wrong peripheral id being used in pl022 driver for ST derivative. Signed-off-by: srinidhi kasagar Signed-off-by: Russell King commit 23e018a1b083ecb4b8bb2fb43d58e7c19b5d7959 Author: Jens Axboe Date: Mon Oct 5 08:52:35 2009 +0200 block: get rid of kblock_schedule_delayed_work() It was briefly introduced to allow CFQ to to delayed scheduling, but we ended up removing that feature again. So lets kill the function and export, and just switch CFQ back to the normal work schedule since it is now passing in a '0' delay from all call sites. Signed-off-by: Jens Axboe commit 48e025e63ac908ed6ec5394a294f4ecd510a7476 Author: Corrado Zoccolo Date: Mon Oct 5 08:49:23 2009 +0200 cfq-iosched: fix possible problem with jiffies wraparound The RR service tree is indexed by a key that is relative to current jiffies. This can cause problems on jiffies wraparound. The patch fixes it using time_before comparison, and changing the add_front path to use a relative number, too. Signed-off-by: Corrado Zoccolo Signed-off-by: Jens Axboe commit 30996f40bffe73f05abb92a4cec254befa8cecf7 Author: Jens Axboe Date: Mon Oct 5 11:03:39 2009 +0200 cfq-iosched: fix issue with rq-rq merging and fifo list ordering cfq uses rq->start_time as the fifo indicator, but that field may get modified prior to cfq doing it's fifo list adjustment when a request gets merged with another request. This can cause the fifo list to become unordered. Reported-by: Corrado Zoccolo Signed-off-by: Jens Axboe commit 211a641770c2ae191c9589fee69a8fb67f67fffd Author: Justin P. Mattock Date: Tue Sep 29 15:13:58 2009 -0700 ieee1394: update URLs in debugging-via-ohci1394.txt Update URLs of the userspace tools to use ohci1394_dma=early for debugging. Seems the address ftp://ftp.suse.de/private/bk/firewire/tools/* is not very helpful. After a quick search, seems this was talked about: http://www.mail-archive.com/kgdb-bugreport@lists.sourceforge.net/msg02761.html (can't find the original thread). Signed-off-by: Justin P. Mattock Signed-off-by: Stefan Richter commit ff9b00a226ccea66e6ce70e9083c42f5b6001f73 Author: Jiri Kosina Date: Thu Oct 1 16:03:13 2009 +0200 HID: fix kerneldoc comment for hid_input_report() The kerneldoc comment for 'interrupt' has already confused a lot of people, as it is simply wrong. It doesn't carry the information about the context, but is used to distinguish between two fundamental types of low-level transport transfers -- interrupt vs. control. Make this clear in the comment. Signed-off-by: Jiri Kosina commit 6861f350785bf476c2d4e3b9cb69ee36b78df2fc Author: David Teigland Date: Thu Sep 24 15:58:23 2009 -0500 dlm: fix socket fd translation The code to set up sctp sockets was not using the sockfd_lookup() and sockfd_put() routines to translate an fd to a socket. The direct fget and fput calls were resulting in error messages from alloc_fd(). Also clean up two log messages and remove a third, related to setting up sctp associations. Signed-off-by: David Teigland commit 04bedd79a7037ee7af816b06c60c738144475c4a Author: David Teigland Date: Fri Sep 18 14:31:47 2009 -0500 dlm: fix lowcomms_connect_node for sctp The recently added dlm_lowcomms_connect_node() from 391fbdc5d527149578490db2f1619951d91f3561 does not work when using SCTP instead of TCP. The sctp connection code has nothing to do without data to send. Check for no data in the sctp connection code and do nothing instead of triggering a BUG. Also have connect_node() do nothing when the protocol is sctp. Signed-off-by: David Teigland commit e0fc7e0b4b5e69616f10a894ab9afff3c64be74e Author: David Woodhouse Date: Wed Sep 30 09:12:17 2009 -0700 intel-iommu: Yet another BIOS workaround: Isoch DMAR unit with no TLB space Asus decided to ship a BIOS which configures sound DMA to go via the dedicated IOMMU unit, but assigns precisely zero TLB entries to that unit. Which causes the whole thing to deadlock, including the DMA traffic on the _other_ IOMMU units. Nice one. Signed-off-by: David Woodhouse commit fa59530267e1006b7180e9ce1dee4136907b2b65 Author: Peter Huewe Date: Tue Sep 29 03:24:55 2009 +0200 HID: add __init/__exit macros to twinhan.c Trivial patch which adds the __init/__exit macros to the module_init/ module_exit functions of the twinhan driver in hid. Signed-off-by: Peter Huewe Signed-off-by: Jiri Kosina commit 17b6097753e926ca546189463070a7e94e7ea9fa Author: Roland Dreier Date: Thu Sep 24 12:14:00 2009 -0700 intel-iommu: Decode (and ignore) RHSA entries I recently got a system where the DMAR table included a couple of RHSA (remapping hardware static affinity) entries. Rather than printing a message about an "Unknown DMAR structure," it would probably be more useful to dump the RHSA structure (as other DMAR structures are dumped). Signed-off-by: Roland Dreier Signed-off-by: David Woodhouse commit 4de75cf9391b538bbfe7dc0a9782f1ebe8e242ad Author: Roland Dreier Date: Thu Sep 24 01:01:29 2009 +0100 intel-iommu: Make "Unknown DMAR structure" message more informative We might as well print the type of the DMAR structure we don't know how to handle when skipping it. Then someone getting this message has a chance of telling whether the structure is just bogus, or if there really is something valid that the kernel doesn't know how to handle. Signed-off-by: Roland Dreier Signed-off-by: David Woodhouse